@font-face{font-family:NunitoRoom;src:url(../assets/fonts/nunito-cyrillic-900-normal.woff2) format("woff2");font-style:normal;font-weight:900;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:NunitoRoom;src:url(../assets/fonts/nunito-latin-900-normal.woff2) format("woff2");font-style:normal;font-weight:900;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2212}
:root{--round:NunitoRoom,system-ui,sans-serif}
.room-page .hero h1,#offer-title{font:900 clamp(2.65rem,5vw,4.65rem)/1.02 var(--round);letter-spacing:-.045em;text-transform:none}
.room-page .hero h1 span,#offer-title span{display:block;color:#8b214c}
.room-page .hero h1 span{font-size:.62em;line-height:1.12;letter-spacing:-.037em;margin-top:6px;text-wrap:balance}
#offer-title{font-size:clamp(2.2rem,4vw,3.25rem)}
.head-phone{color:#62263e;font-size:.83rem;font-weight:800;white-space:nowrap}
.head-phone:hover{text-decoration:underline}
.room-page .head-inner .head-actions{gap:12px}
.courses-open{cursor:pointer;background:#fff6fabd;font-family:var(--round)}
.room-page .hero-buy .offer-strip{justify-content:center;gap:clamp(13px,4vw,32px)}
.room-page .hero-buy .offer-prices{text-align:center}
.room-page .hero-buy .offer-reference{justify-content:center}
.offer-notes{text-align:center;display:grid;gap:3px;margin-top:11px;color:#61263f;font-size:.76rem;line-height:1.3;font-weight:730}
.offer-notes p{margin:0}
.course-preview{display:flex;justify-content:center;align-items:center;gap:8px;width:max-content;max-width:100%;min-height:38px;margin:10px auto 0;padding:5px 19px;border-radius:99px;border:1px solid #fff;background:linear-gradient(158deg,#fffaffdb,#f5b8d2a6);box-shadow:inset 0 1px #fff,0 3px 0 #ae5f824f,0 7px 18px #722a5033;color:#662340;font:900 .81rem/1.1 var(--round)}
.course-preview svg,.lesson-play svg{fill:currentColor}
.course-preview:hover{background:#fff2f8}
.offer-badge{width:61px;height:53px;display:inline-grid;place-items:center;position:relative;isolation:isolate;padding:0;border:0;background:none;font:900 .68rem/1 var(--round);text-shadow:0 1px 2px #63223a;color:#fff;filter:drop-shadow(0 2px 1px #8c2d5452);animation:star-glow 3.3s ease-in-out infinite}
.offer-badge svg{position:absolute;inset:0;width:100%;height:100%;z-index:-1;fill:#ad3766;stroke:#ffdce9;stroke-width:2.5}
.offer-badge::after{content:"";position:absolute;z-index:-2;inset:8px;border-radius:50%;box-shadow:0 0 12px 4px #e674a3a6}
@keyframes star-glow{50%{filter:drop-shadow(0 0 8px #ed73a9)}}
.room-page .offer-strip .hero-price{margin-top:1px}
.room-page .buy{position:relative;isolation:isolate;overflow:hidden}
.room-page .buy::after{content:"";position:absolute;inset:-45% auto -45% -38%;width:27%;pointer-events:none;transform:skewX(-22deg);background:linear-gradient(90deg,transparent,#fff8,transparent);animation:button-glint 4.8s ease-in-out infinite}
@keyframes button-glint{0%,56%{left:-38%;opacity:0}64%{opacity:1}80%,100%{left:123%;opacity:0}}
.room-page .proof-grid{grid-template-columns:minmax(0,1fr);width:min(100%,680px);margin-inline:auto}
.lesson-poster{display:flex;align-items:center;position:relative;isolation:isolate;overflow:hidden;min-height:144px;aspect-ratio:2.5;border:2px solid #fff4fa;border-radius:19px;background:radial-gradient(ellipse at 81% 42%,#d95f9185,transparent 55%),linear-gradient(128deg,#54172f,#83254a 62%,#b9517d);box-shadow:0 4px 0 #b5668b6e,0 10px 22px #63274336;color:#fff9ef}
.lesson-poster::before{content:"";position:absolute;z-index:-1;right:6%;top:-29%;width:39%;aspect-ratio:1;border:1px solid #ffc2da80;border-radius:50%;box-shadow:0 0 0 12px #ffcae21c,0 0 0 24px #ffcae210}
.lesson-portrait{position:absolute;right:0;bottom:-1px;width:46%;height:106%;object-fit:contain;object-position:bottom center;z-index:-1}
.lesson-poster-copy{display:grid;justify-items:start;gap:9px;padding:12px 0 12px 6%;max-width:58%;font:900 clamp(1.4rem,4.6vw,2.9rem)/1 var(--round);letter-spacing:-.03em}
.lesson-play{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid #fff;background:linear-gradient(#fff9fd,#ffbed9);color:#7d2048;box-shadow:0 3px 0 #60173770;transition:transform .2s}
.lesson-poster:hover .lesson-play{transform:scale(1.09)}
.room-page .example-pair{height:auto;aspect-ratio:2.2}
.chat-reviews{min-width:0}
.chat-reviews h3{font:900 1.25rem/1.1 var(--round);margin-bottom:9px}
.chat-track{display:flex;width:100%;min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:15px;background:#fff3f952;align-items:center}
.chat-track::-webkit-scrollbar{display:none}
.chat-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start}
.chat-slide img{width:100%;height:auto;display:block;object-fit:contain}
.chat-dots{display:flex;justify-content:center;gap:3px;margin-top:4px}
.chat-dots button{display:grid;place-items:center;width:28px;height:25px;background:transparent;border:0;padding:0;cursor:pointer}
.chat-dots button::before{content:"";width:7px;height:7px;border-radius:50%;background:#9e557a;transition:width .2s}
.chat-dots button[aria-current="true"]::before{width:16px;border-radius:99px;background:#891f4d}
.room-dialog-open{overflow:hidden}
.room-dialog{max-width:calc(100% - 24px);max-height:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:14px;margin:auto;overflow:auto;border-radius:23px;border:1px solid #fff;background:linear-gradient(142deg,#fff9fb,#f6ccdf);color:#351427;box-shadow:0 25px 90px #2a10268c,inset 0 1px #fff}
.room-dialog::backdrop{background:#291126ab;backdrop-filter:blur(8px)}
.dialog-close{display:grid;place-items:center;width:36px;height:36px;flex:none;padding:0;border-radius:50%;border:1px solid #d5a0b5;background:#fff7fb;color:#642744;font-size:23px;line-height:1;cursor:pointer}
.film-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.film-head h2,.courses-dialog h2{font:900 1.28rem/1.1 var(--round);letter-spacing:-.02em;margin:0}
.film-dialog{width:max-content}
.film-shell{width:min(calc(100vw - 52px),calc((100vh - 125px) * (var(--film-ratio))),420px);width:min(calc(100vw - 52px),calc((100dvh - 125px) * (var(--film-ratio))),420px);aspect-ratio:var(--film-ratio);overflow:hidden;border-radius:11px;background:#231019}
.film-shell iframe{display:block;width:100%;height:100%;border:0}
.film-fallback{display:block;text-align:center;margin-top:6px;font-size:.69rem;text-decoration:underline;color:#742647}
.courses-dialog{width:min(calc(100% - 24px),438px);padding:21px}
.courses-dialog>.dialog-close{position:absolute;right:12px;top:11px}
.courses-dialog h2{padding-right:35px;margin-bottom:16px}
.course-links{display:grid;gap:8px}
.course-links a{display:grid;gap:2px;padding:11px 13px;background:#fff7fb;border:1px solid #dfb3c9;border-radius:13px}
.course-links a:hover{background:#fff}
.course-links a strong{font:900 1rem/1.15 var(--round);color:#76294d}
.course-links a span{font-size:.8rem}
@media(max-width:700px){
 .room-page .head-inner .head-actions{display:grid;grid-template-columns:auto auto;gap:3px 6px;align-items:center;justify-items:center}
 .room-page .head-phone{grid-column:1;grid-row:1;font-size:clamp(.59rem,2.55vw,.73rem);line-height:1}
 .room-page .courses-open{grid-column:1;grid-row:2;padding:3px 7px;font-size:clamp(.51rem,2.15vw,.63rem);line-height:1.15}
 .room-page .head-inner{height:49px;gap:6px}
 .room-page .wordmark{font-size:clamp(17px,5.6vw,22px)}
 .room-page .hero h1{font-size:clamp(2.02rem,9.6vw,3.55rem)}
 .room-page .hero h1 span{font-size:.64em}
 .room-page .hero-deck{margin-right:0}
 .room-page .hero-buy .offer-strip{gap:clamp(12px,6vw,25px)}
 .offer-badge{width:52px;height:45px}
 .room-page .hero-stage{height:auto;margin:13px 0 0}
 .room-page .hero-pair{position:relative;inset:auto;width:100%;transform:none;padding:5px;gap:5px}
 .room-page .hero-pair .shot{aspect-ratio:1.32}
 .room-page .hero-pair .shot img{object-position:center 42%}
 .room-page .star{display:none}
 .room-page .room-gap{height:clamp(43px,9svh,70px)}
 .room-page .proof-grid{grid-template-columns:minmax(0,1fr)}
 .room-page .example-pair{height:auto}
 .lesson-poster{min-height:122px;aspect-ratio:2.3}
 .lesson-play{width:34px;height:34px}
 .author-copy .chat-reviews{grid-column:1/-1;margin-top:5px}
 .room-page .program .section-title{display:grid;align-items:center}
 .offer-notes{font-size:.71rem}
}
@media(prefers-reduced-motion:reduce){.offer-badge,.room-page .buy::after{animation:none}}

/* Translucent glass above the fixed salon, with brighter rims and lighter shadows. */
.room-page{
 --room-face:linear-gradient(146deg,#fff9fbe3,#ffe5efad 59%,#f4b8d29e);
 --ink:#27121f;--quiet:#533141;
}
.room-panel{
 backdrop-filter:blur(9px) saturate(1.18);-webkit-backdrop-filter:blur(9px) saturate(1.18);
 box-shadow:inset 0 1px 2px #fff,inset 0 -1px 0 #fae1ed,3px 5px 0 #9a446844,0 22px 46px #511c3a32;
}
.room-page .purchase-card{background:linear-gradient(140deg,#fff5facf,#fad4e8a8)}
.room-page .included{background:#fff9fca8}
.room-page .head-inner{background:#fff6f9ad;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}

/* The two originals have different ratios. Proportional columns give them equal heights. */
.room-page .hero-grid{gap:0 clamp(22px,6vw,86px);grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);perspective:none}
.room-page .hero-stage{height:auto;align-self:center;align-items:center;justify-items:center;margin:0}
.room-page .hero-pair{
 position:relative;inset:auto;width:min(100%,520px);transform:none;
 grid-template-columns:minmax(0,9fr) minmax(0,12fr);padding:6px;gap:6px;
 background:linear-gradient(140deg,#fff8f0b8,#f3cbdec1);
 box-shadow:inset 0 1px 0 #fff,4px 7px 0 #83395556,0 21px 40px #35132145;
 -webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);
}
.room-page .hero-pair .shot,.room-page .example-pair .shot{aspect-ratio:auto;background:transparent}
.room-page .shot img{width:100%;height:auto;object-fit:initial}
.room-page .example-pair{height:auto;aspect-ratio:auto}
.room-page .example{background:linear-gradient(133deg,#fff9fce6,#f7d7e6ba)}
.room-page .star{left:auto;right:1%;bottom:-27px;width:55px}
.lesson-portrait{
 top:8px;right:9px;bottom:8px;width:47%;height:calc(100% - 16px);object-fit:cover;
 object-position:50% 34%;border-radius:12px;z-index:0;
}
.lesson-poster-copy{position:relative;z-index:1;max-width:53%}

/* The photo and its copy have their own row, independent of the active review. */
.room-page .author-grid{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(18px,4vw,42px);align-items:center;overflow-anchor:none}
.room-page .portrait-frame{
 min-height:0;height:auto;align-self:center;aspect-ratio:4 / 4.55;border-radius:36% 36% 18px 18px / 30% 30% 18px 18px;
}
.room-page .portrait-frame img{height:100%;max-height:none;object-fit:cover;object-position:50% 34%}
.room-page .author-copy{display:block;min-width:0}
.room-page .author-copy h2{margin:0}
.room-page .author-facts{
 margin:14px 0 0;gap:6px;font-size:clamp(.98rem,2vw,1.2rem);line-height:1.31;font-weight:620;color:#4e2137;
}
.room-page .author-facts li{
 position:relative;isolation:isolate;overflow:hidden;padding:.45em .55em .45em 1.45em;
 background:linear-gradient(120deg,#fffcfaba,#ffd9ea85);
 border:1px solid #fff9fb;border-radius:12px;
 box-shadow:inset 0 1px #fff,0 2px 0 #b65c813b,0 5px 12px #7c345416;
}
.room-page .author-facts li::before{
 position:absolute;left:.58em;top:.94em;width:.36em;height:.36em;margin:0;
 background:linear-gradient(135deg,#f6a0bd,#a02556);box-shadow:inset 1px 1px #ffedfb,0 0 7px #d76088b6;
}
.author-facts strong{color:#6f2248;font-weight:850}
.author-facts li::after{
 content:"";position:absolute;z-index:-1;inset:-50% auto -50% -42%;width:38%;pointer-events:none;
 background:linear-gradient(90deg,transparent,#fffbdcdd,transparent);transform:skewX(-23deg);opacity:0;
}
.author-facts .credential-lit::after{animation:credential-glint 1.35s .22s ease-out both}
@keyframes credential-glint{0%{transform:translateX(0) skewX(-23deg);opacity:0}24%{opacity:.89}100%{transform:translateX(390%) skewX(-23deg);opacity:0}}

.chat-reviews{grid-column:1 / -1;width:min(100%,680px);margin-inline:auto}
.chat-track{align-items:flex-start;overflow-y:hidden;border-radius:0;background:none;overflow-anchor:none}
.chat-slide{align-self:flex-start;overflow:hidden;border:2px solid #fff7fb;border-radius:14px}
.chat-slide img{display:block;width:100%;height:auto}
.chat-dots{margin-top:8px}

/* Reserve room for the mirror so it never overlaps the title or card rim. */
.room-page .purchase-card{
 display:grid;grid-template-columns:minmax(0,1fr) minmax(74px,34%);
 column-gap:4px;align-items:center;
}
.room-page .purchase-copy{grid-column:1;grid-row:1}
.room-page .purchase-prop{
 position:relative;inset:auto;grid-column:2;grid-row:1;
 width:100%;height:auto;transform:none;opacity:.78;align-self:start;margin-top:4px;
}
.room-page .purchase-card .offer-strip,.room-page .purchase-card .buy{grid-column:1 / -1;width:100%}

.room-media iframe{transition:opacity .42s ease-out}
/* The local scene still moves in mobile webviews that don't allow embedded autoplay. */
.room-dryer-fallback{
 position:absolute;inset:0 0 0 37%;z-index:0;overflow:hidden;opacity:0;pointer-events:none;
 transition:opacity .38s ease-out;
 -webkit-mask-image:radial-gradient(ellipse 57% 54% at 69% 52%,#000 38%,#000b 63%,transparent 100%);
 mask-image:radial-gradient(ellipse 57% 54% at 69% 52%,#000 38%,#000b 63%,transparent 100%);
}
.room-scene[data-motion="active"]:not([data-playing]) .room-dryer-fallback{opacity:.78}
.room-dryer-fallback::before{
 content:"";position:absolute;inset:0;
 background:70% 51% / min(72%,610px) auto no-repeat url(../assets/room/dryer-still.webp);
}
.room-dryer-fallback i{
 position:absolute;left:52%;top:47%;width:24%;height:8%;border-radius:50%;
 border-top:1px solid #fff8;opacity:0;transform:rotate(-15deg);pointer-events:none;
}
.room-dryer-fallback i+i{top:49%;margin-left:2%}
.room-scene[data-motion="active"]:not([data-playing]) .room-dryer-fallback::before{animation:dryer-drift 3.8s ease-in-out infinite alternate}
.room-scene[data-motion="active"]:not([data-playing]) .room-dryer-fallback i{animation:dryer-air 2.8s ease-out infinite}
.room-scene[data-motion="active"]:not([data-playing]) .room-dryer-fallback i+i{animation-delay:.6s}
@keyframes dryer-drift{to{transform:translate3d(0,-8px,0) scale(1.025)}}
@keyframes dryer-air{16%{opacity:.66}75%,100%{transform:translate3d(24px,-13px,0) rotate(-15deg);opacity:0}}
@keyframes button-glint{0%,56%{transform:translateX(0) skewX(-22deg);opacity:0}64%{opacity:1}80%,100%{transform:translateX(580%) skewX(-22deg);opacity:0}}

@media(max-width:900px) and (min-width:701px){
 .room-page .hero-grid{grid-template-columns:minmax(305px,1.06fr) minmax(0,.94fr)}
}
@media(max-width:700px){
 .room-page{--room-face:linear-gradient(146deg,#fff8fbd9,#ffe6efb3 59%,#efbdd2a8)}
 .room-page .head-inner .head-actions{grid-template-columns:auto}
 .room-page .hero-grid{grid-template-columns:minmax(0,1fr);gap:0}
 .room-page .hero-stage{margin:13px 0 0}
 .room-page .hero-pair{width:100%;padding:5px;gap:5px}
 .room-page .hero-pair .shot img{object-position:initial}
 .room-page .author-grid{grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr);gap:15px 12px}
 .room-page .author-facts{font-size:clamp(.76rem,3.6vw,.97rem);gap:4px;margin-top:8px}
 .room-page .author-facts li{padding-block:.37em;border-radius:8px}
 .room-page .author-facts li::before{top:.81em}
 .room-page .author-copy h2{font-size:clamp(1.49rem,6.5vw,2.3rem)}
 .chat-reviews h3{margin-bottom:8px}
 .chat-slide{border-radius:11px}
 .room-dryer-fallback{
   inset:0;
   -webkit-mask-image:radial-gradient(ellipse 65% 41% at 57% 54%,#000 36%,#000b 61%,transparent 100%);
   mask-image:radial-gradient(ellipse 65% 41% at 57% 54%,#000 36%,#000b 61%,transparent 100%);
 }
 .room-dryer-fallback::before{background-position:50% 56%;background-size:max(100%,360px) auto}
 .room-scene[data-motion="active"]:not([data-playing]) .room-dryer-fallback{opacity:.86}
 .room-dryer-fallback i{left:49%;top:52%;width:38%}
 .room-dryer-fallback i+i{top:54%}
 .room-scene::before{background:linear-gradient(166deg,#fff0f551 0%,#f6cedb16 62%,#e2a2ba25)}
}
@media(max-width:365px){
 .room-page .author-grid{grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr);column-gap:9px}
 .room-page .purchase-card{grid-template-columns:minmax(0,1fr) minmax(64px,30%)}
 #offer-title{font-size:1.9rem}
}
@media(prefers-reduced-motion:reduce){
 .room-dryer-fallback{display:none}
 .room-media iframe{transition:none}
 .author-facts .credential-lit::after{animation:none}
}

.lesson-poster{width:100%;min-width:0}
.offer-badge{animation:none}
.offer-badge::after{animation:badge-halo 3.3s ease-in-out infinite}
@keyframes badge-halo{0%,100%{opacity:.67;transform:scale(.91)}50%{opacity:1;transform:scale(1.13)}}
@media(prefers-reduced-motion:reduce){.offer-badge::after{animation:none}}
.lesson-portrait{width:44%}
@media(max-width:365px){
 .lesson-poster-copy{font-size:clamp(1.12rem,6vw,1.4rem)}
}
