.full-home{overflow-x:hidden}
.full-home .hero{min-height:108svh}
.full-home .poster img,.teacher-photo img,.gallery-shot img,.gala-photo img{display:block;width:100%;height:100%;object-fit:cover}
.full-home .poster{position:relative}
.full-home .cut-card{min-width:0}
.hero-video-start{position:absolute;z-index:4;left:50%;bottom:26px;min-width:178px;min-height:52px;padding:0 20px;display:flex;align-items:center;justify-content:center;gap:13px;transform:translateX(-50%);border:1px solid rgba(224,190,98,.72);background:rgba(10,8,6,.76);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#f7f1e6;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));cursor:pointer;text-transform:uppercase;letter-spacing:.11em;font-size:10px}
.hero-video-start b{color:#dfbf68;font-size:14px}.hero-video-start.is-hidden{display:none}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.full-home .thread{opacity:.78}
.full-home .hero-copy{min-width:0}
.full-home .menu{color:#f7f1e6;border-color:rgba(201,168,76,.4)}
.subpage.light-deco .logo{filter:brightness(0);opacity:.92}
.full-home .links,.subpage .links{gap:16px;font-size:13px}
.full-home .nav>.reg,.subpage .nav>.reg{position:relative;isolation:isolate;min-width:188px;min-height:54px;padding:0 20px;gap:18px;border:0;background:linear-gradient(120deg,#8a6329,#e3c36c 52%,#8a6329);color:#f7f1e6;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));transition:filter .2s ease,transform .2s ease}
.full-home .nav>.reg:before,.subpage .nav>.reg:before{content:"";position:absolute;z-index:-1;inset:1px;background:rgba(9,9,8,.96);clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px))}
.full-home .nav>.reg b,.subpage .nav>.reg b{font:400 20px/1 Jost;color:#d6b45b}
.full-home .nav>.reg:hover,.subpage .nav>.reg:hover{filter:brightness(1.18);transform:translateY(-1px)}
.full-home .media-cta{padding-left:48px;padding-right:36px}
.full-home .wide-cta{padding-left:60px;padding-right:52px}

.passes{padding-top:90px}
.price-stage{display:grid;grid-template-columns:1fr 1fr;margin:58px 0 42px;background:linear-gradient(115deg,#17110d,#2a1c12);color:#f7f1e6;clip-path:polygon(0 0,97% 0,100% 28%,100% 100%,3% 100%,0 72%)}
.price-stage>div{padding:28px 36px}
.price-stage>div+div{border-left:1px solid rgba(201,168,76,.38)}
.price-stage small{display:block;margin-bottom:8px;color:#d7b65e;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.price-stage strong{font:600 clamp(22px,2.6vw,34px)/1.14 Playfair}
.pass-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:64px;align-items:stretch}
.pass-card{position:relative;min-height:390px;padding:42px 38px 34px;display:flex;flex-direction:column;background:rgba(255,250,241,.64);border:1px solid rgba(139,98,29,.32);clip-path:polygon(0 0,calc(100% - 32px) 0,100% 32px,100% 100%,32px 100%,0 calc(100% - 32px));box-shadow:0 24px 60px rgba(63,42,12,.08)}
.pass-card:before{content:"";position:absolute;inset:10px;border:1px solid rgba(139,98,29,.22);clip-path:inherit;pointer-events:none}
.pass-card.featured{background:linear-gradient(145deg,rgba(23,17,13,.96),rgba(68,42,24,.92));color:#f7f1e6;transform:translateY(-18px)}
.pass-card small{position:relative;color:#8b621d;text-transform:uppercase;letter-spacing:.16em;font-size:10px}
.pass-card.featured small{color:#dfc881}
.pass-card h3{position:relative;margin:20px 0 18px;font:600 clamp(31px,3vw,43px)/1 Playfair}
.pass-card p{position:relative;margin:0;color:#625747;line-height:1.65}
.pass-card.featured p{color:#d4c9b7}
.price{position:relative;margin-top:auto;padding-top:32px;font:600 clamp(28px,3vw,40px)/1 Playfair;color:#8b621d}
.featured .price{color:#e3c56e}
.pass-note{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:34px;padding-top:26px;border-top:1px solid rgba(126,91,30,.3)}
.pass-note p{max-width:820px;margin:0;color:#625747}
.fee-heading{margin-top:56px}
.fee-heading small{color:#8b621d;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.fee-heading h3{margin:6px 0 20px;font:600 clamp(30px,3.4vw,46px)/1 Playfair}
.fee-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fee-grid>div{padding:24px 26px;border:1px solid rgba(126,91,30,.28);background:rgba(255,250,241,.42);display:grid;grid-template-columns:1fr auto;gap:5px 20px;align-items:end}
.fee-grid strong{font:600 22px/1.1 Playfair}
.fee-grid span{font:600 22px/1 Jost;color:#8e621d}
.fee-grid small{grid-column:1/-1;color:#6b5f4e;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.price-link{max-width:760px;margin:28px 0 0 auto;padding:22px 38px 22px 52px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:#17110d;color:#f7f1e6;clip-path:polygon(0 0,94% 0,100% 32%,100% 100%,6% 100%,0 68%)}
.price-link strong,.price-link small{display:block}.price-link strong{font:600 24px/1.1 Playfair}.price-link small{margin-top:4px;color:#c9bfae;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.price-link b{color:#d7b65e;font:400 28px/1 Jost}
.special-terms{margin-top:70px}.special-terms h2{margin:0 0 26px;font:600 clamp(38px,5vw,64px)/.95 Playfair}.special-terms>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.special-terms article{min-height:170px;padding:28px;border:1px solid rgba(126,91,30,.28);background:rgba(255,250,241,.42);display:flex;flex-direction:column;justify-content:space-between}.special-terms small{color:#8b621d;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.special-terms strong{font:600 24px/1.15 Playfair}.register-price{margin-top:46px}

.teacher-section{padding-top:110px}
.teacher-layout{display:grid;grid-template-columns:.8fr 1.1fr;gap:8vw;align-items:center}
.cut-photo{height:670px;clip-path:polygon(10% 0,100% 0,100% 88%,88% 100%,0 100%,0 12%);filter:drop-shadow(0 28px 54px rgba(61,39,11,.18))}
.teacher-copy h2{font:600 clamp(48px,6.4vw,92px)/.88 Playfair;margin:0;letter-spacing:-.05em}
.teacher-copy h2 em{font-family:Cormorant;font-weight:600;color:#8e621d}
.name-cloud{display:flex;flex-wrap:wrap;gap:9px;margin-top:38px}
.name-cloud:before{content:"Pro/Am Routines";width:100%;margin-bottom:4px;color:#8b621d;font-size:10px;letter-spacing:.17em;text-transform:uppercase}
.name-cloud span{padding:9px 13px;border:1px solid rgba(126,91,30,.27);background:rgba(255,250,241,.32);font-size:12px}

.full-home .gallery-shot img{filter:saturate(.84) contrast(1.04)}
.full-home .deco-gallery-track{gap:0}
.full-home .gallery-group{gap:32px;padding-right:32px}
.full-home .gallery-shot figcaption{left:16px;bottom:16px;padding:7px 10px;background:rgba(23,17,13,.72);letter-spacing:.18em}
.full-home .gallery-shot:nth-child(2) img,.full-home .gallery-shot:nth-child(6) img{object-position:center 24%}
.full-home .gala-photo{clip-path:polygon(0 0,87% 0,100% 13%,100% 100%,12% 100%,0 88%)}
.full-home .gala-photo img{object-position:center 34%}

.competition{padding-top:100px}
.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:62px}
.route-grid a{position:relative;min-height:250px;padding:38px 42px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,250,241,.55);border:1px solid rgba(126,91,30,.34);clip-path:polygon(0 0,94% 0,100% 18%,100% 100%,6% 100%,0 82%);transition:transform .2s ease,background .2s ease}
.route-grid a:hover{transform:translateY(-4px);background:rgba(255,250,241,.82)}
.route-grid small,.route-grid span{color:#8b621d;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.route-grid strong{max-width:520px;font:600 clamp(27px,3.1vw,45px)/1.05 Playfair}

.lexicon{padding:150px 0}
.lexicon-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:9vw;align-items:center}
.lexicon h2{font-size:clamp(68px,8vw,118px)}
.lexicon .textlink{display:inline-block;margin-top:26px}
.term-card{position:relative;min-height:520px;padding:52px;display:flex;flex-direction:column;background:linear-gradient(145deg,rgba(20,16,13,.97),rgba(63,36,36,.94));color:#f7f1e6;clip-path:polygon(0 0,88% 0,100% 12%,100% 100%,12% 100%,0 88%);box-shadow:0 40px 90px rgba(62,35,23,.25)}
.term-card:before{content:"";position:absolute;inset:14px;border:1px solid rgba(218,184,96,.52);clip-path:inherit;pointer-events:none}
.term-meta{position:relative;display:flex;justify-content:space-between;color:#d7b65e;font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.term-question{position:relative;margin:auto 0 8px;color:#c9bead;text-transform:uppercase;letter-spacing:.16em;font-size:11px}
.term-card h3{position:relative;margin:0;font:600 clamp(48px,6vw,86px)/.92 Playfair;color:#e4c66f;letter-spacing:-.04em}
.term-answer{position:relative;max-width:640px;margin:24px 0 0;font-size:18px;line-height:1.55;color:#eee4d3}
.term-reveal{position:relative;align-self:flex-start;margin-top:34px;padding:13px 0;border:0;border-bottom:1px solid #c9a84c;background:none;color:#f7f1e6;font:500 11px Jost;text-transform:uppercase;letter-spacing:.14em;cursor:pointer}
.term-reveal span{color:#d7b65e;margin-left:8px}
.pulse-teaser{text-decoration:none}.pulse-teaser .term-answer{display:block}.lexicon-secondary{margin-top:18px}

.history-strip{padding:130px 0 170px}
.history-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid rgba(126,91,30,.4)}
.history-grid article{min-height:250px;padding:30px 26px;border-right:1px solid rgba(126,91,30,.25)}
.history-grid article:last-child{border-right:0}
.history-grid strong{font:600 52px/1 Playfair;color:#8e621d}
.history-grid p{margin-top:62px;color:#625747;line-height:1.55}

.faq{padding-top:150px}
.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}
.faq h2{font-size:clamp(52px,6.5vw,88px)}
.accordion details{border-top:1px solid rgba(126,91,30,.34)}
.accordion details:last-child{border-bottom:1px solid rgba(126,91,30,.34)}
.accordion summary{list-style:none;cursor:pointer;padding:25px 42px 25px 0;font:600 23px/1.2 Playfair;position:relative}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary:after{content:"＋";position:absolute;right:4px;color:#8e621d;font:300 25px Jost}
.accordion details[open] summary:after{content:"−"}
.accordion details p{max-width:720px;margin:0;padding:0 48px 26px 0;color:#625747;line-height:1.65}

.final-cta{padding:160px 0;overflow:hidden;background:radial-gradient(circle at 82% 18%,rgba(111,18,43,.32),transparent 28%),linear-gradient(145deg,#080706,#1b130e);color:#f7f1e6}
.final-cta h2{margin:0 0 50px;font:600 clamp(76px,11vw,168px)/.76 Playfair;letter-spacing:-.055em}
.final-cta .media-cta{max-width:680px}
.full-home .final-cta .media-cta{width:min(680px,100%);margin:0 auto;padding-left:64px;padding-right:48px}

.footer-grid{display:grid;grid-template-columns:1.25fr .8fr .65fr;gap:7vw;padding:72px 0;align-items:start}
.footer-logo{width:92px;height:70px;object-fit:contain}
.full-home .footer-logo{filter:brightness(0);opacity:.9}
.footer-grid p{color:#a99e8d;font-size:12px}
.footer-grid nav,.social{display:flex;flex-direction:column;gap:13px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.footer-grid nav a,.social a{width:max-content;border-bottom:1px solid transparent}
.footer-grid nav a:hover,.social a:hover{border-color:#c9a84c}

.subpage{min-height:100vh}
.subpage .site-head{position:sticky}
.subpage-main{padding:120px 0 150px}
.subpage-hero{padding:50px 0 86px;border-bottom:1px solid rgba(126,91,30,.3)}
.subpage-hero h1{max-width:1050px;margin:0;font:600 clamp(58px,8vw,118px)/.86 Playfair;letter-spacing:-.05em}
.subpage-hero .lead{max-width:850px}
.breadcrumbs{margin-bottom:32px;color:#806126;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.breadcrumbs a{border-bottom:1px solid rgba(128,97,38,.4)}
.content-grid{display:grid;grid-template-columns:.58fr 1.42fr;gap:8vw;margin-top:80px}
.content-aside{position:sticky;top:110px;align-self:start}
.content-aside nav{display:flex;flex-direction:column;gap:12px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.prose{max-width:880px}
.prose h2{margin:70px 0 20px;font:600 clamp(38px,5vw,64px)/.95 Playfair;letter-spacing:-.035em}
.prose h2:first-child{margin-top:0}
.prose h3{margin:38px 0 12px;font:600 28px/1.1 Playfair}
.prose p,.prose li{font-size:17px;line-height:1.72;color:#50483d}
.prose li+li{margin-top:10px}
.source-note{margin-top:70px;padding:24px;border:1px solid rgba(126,91,30,.3);background:rgba(255,250,241,.4);font-size:13px;color:#625747}
.official-rule-link{max-width:900px;margin-top:38px;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid rgba(126,91,30,.36);background:rgba(255,250,241,.4);clip-path:polygon(0 0,96% 0,100% 28%,100% 100%,4% 100%,0 72%)}
.official-rule-link small,.official-rule-link strong{display:block}.official-rule-link small{color:#8b621d;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.official-rule-link strong{margin-top:4px;font:600 22px/1.1 Playfair}.official-rule-link a{flex:none;padding:11px 15px;background:#17110d;color:#f7f1e6;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.rules-cards,.glossary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:60px;align-items:start}
.rules-cards a,.glossary-card{padding:34px;background:rgba(255,250,241,.55);border:1px solid rgba(126,91,30,.28);clip-path:polygon(0 0,93% 0,100% 18%,100% 100%,7% 100%,0 82%)}
.rules-cards strong,.glossary-card h2{display:block;margin:12px 0;font:600 31px/1.05 Playfair}
.rules-cards small,.glossary-card small{color:#8b621d;text-transform:uppercase;letter-spacing:.14em;font-size:10px}
.glossary-card p{color:#625747;line-height:1.6}
.glossary-card .pronunciation{margin:0;color:#8b621d;font-size:12px;letter-spacing:.04em}
.glossary-card details{margin-top:24px;padding-top:17px;border-top:1px solid rgba(126,91,30,.23)}
.glossary-card summary{list-style:none;cursor:pointer;color:#5d4c30;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.glossary-card summary::-webkit-details-marker{display:none}
.glossary-card summary:after{content:"＋";float:right;color:#8b621d;font-size:16px;line-height:.8}
.glossary-card details[open] summary:after{content:"−"}
.glossary-card details p{margin:15px 0 0;font-size:15px}
.glossary-after{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:34px;padding:24px;border-top:1px solid rgba(126,91,30,.3);color:#625747}.glossary-after p{margin:0}.glossary-after a{flex:none;color:#8b621d;font-size:10px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid rgba(139,98,29,.4)}
.glossary-tools{display:flex;gap:12px;margin:42px 0}
.glossary-tools input{flex:1;padding:15px 17px;border:1px solid rgba(126,91,30,.4);background:rgba(255,250,241,.68);font:400 16px Jost;color:#17120d}

/* Служебные подписи остаются лёгкими, но не мельче читаемого размера. */
.full-home .eyebrow,.subpage .eyebrow{font-size:12px;line-height:1.55}
.subpage .breadcrumbs{font-size:12px;line-height:1.5}
.full-home .pass-card small,.subpage .pass-card small,.full-home .fee-heading small,.subpage .fee-heading small,.full-home .fee-grid small,.subpage .fee-grid small{font-size:11px;line-height:1.45}
.full-home .route-grid small,.full-home .route-grid span,.full-home .term-meta,.full-home .term-question{font-size:12px;line-height:1.45}
.full-home .venue-metro small,.full-home .map-badge,.full-home .map-link{font-size:12px}
.subpage .official-rule-link small,.subpage .glossary-card small,.subpage .content-aside nav{font-size:12px;line-height:1.45}
.full-home .name-cloud:before{font-size:11px}

@media(max-width:1100px){
  .full-home .links,.subpage .links,.full-home .nav>.reg,.subpage .nav>.reg{display:none}
  .full-home .menu,.subpage .menu{display:block;margin-left:auto}
  .full-home .site-head.open .links,.subpage .site-head.open .links{display:flex;position:absolute;left:0;right:0;top:78px;padding:28px;flex-direction:column;gap:18px;border-bottom:1px solid rgba(201,168,76,.25);font-size:13px}
  .full-home .site-head.open .links{background:#090807f8;color:#f7f1e6}
  .subpage .site-head.open .links{background:#f7f0e3f7;color:#17120d}
}

@media(max-width:850px){
  .full-home .thread{opacity:.45}
  .full-home .nav{width:calc(100% - 30px)}
  .full-home .menu{display:block;position:fixed;z-index:32;right:15px;top:20px;margin:0;background:#090908}
  .full-home .hero .eyebrow{max-width:100%;font-size:9px;line-height:1.55;overflow-wrap:anywhere}
  .pass-grid,.teacher-layout,.route-grid,.lexicon-grid,.faq-grid,.content-grid,.footer-grid{grid-template-columns:1fr}
  .price-stage{grid-template-columns:1fr}
  .price-stage>div+div{border-left:0;border-top:1px solid rgba(201,168,76,.38)}
  .fee-grid{grid-template-columns:1fr}
  .special-terms>div{grid-template-columns:1fr}
  .price-link{margin-left:0}
  .full-home .gallery-group{gap:24px;padding-right:24px}
  .pass-card,.pass-card.featured{min-height:310px;transform:none}
  .pass-note{align-items:flex-start;flex-direction:column}
  .cut-photo{height:520px}
  .teacher-copy h2{font-size:clamp(48px,14vw,74px)}
  .term-card{min-height:440px;padding:42px 34px}
  .history-grid{grid-template-columns:1fr 1fr}
  .history-grid article:nth-child(2){border-right:0}
  .history-grid article{min-height:210px}
  .history-grid p{margin-top:36px}
  .content-aside{position:static}
  .official-rule-link{align-items:flex-start;flex-direction:column}
  .rules-cards,.glossary-grid{grid-template-columns:1fr}
  .glossary-after{align-items:flex-start;flex-direction:column}
  .subpage-main{padding-top:80px}
  .hero-video-start{display:flex}
}

@media(max-width:520px){
  .full-home .hero h1{font-size:clamp(54px,16.5vw,72px)}
  .full-home .media-cta{padding-left:34px;padding-right:26px}
  .full-home .wide-cta{padding-left:38px;padding-right:30px}
  .full-home .final-cta .media-cta{padding-left:38px;padding-right:30px}
  .price-link{padding-left:38px;padding-right:28px}
  .price-stage>div{padding:24px 22px}
  .price-stage strong{font-size:24px;overflow-wrap:normal}
  .pass-card{padding:36px 30px}
  .cut-photo{height:430px}
  .history-grid{grid-template-columns:1fr}
  .history-grid article{border-right:0}
  .history-grid strong{font-size:44px}
  .term-card h3{font-size:48px}
  .final-cta{padding:110px 0}
  .final-cta h2{font-size:22vw}
  .glossary-tools{flex-direction:column}
}

/* Content architecture pass: fuller copy without changing the approved visual language. */
.nowrap{white-space:nowrap}.fact>span{display:block;margin-top:5px;color:#b8aa98;font-size:12px;letter-spacing:.03em}.story-cards .cut-card{display:flex;flex-direction:column;min-height:470px}.story-cards .cut-card h4{margin:20px 0 10px;font:600 22px/1.15 Playfair}.story-cards .cut-card p{font-size:15px;line-height:1.62}.story-cards .cut-card>a{width:max-content;margin-top:auto;padding-top:24px;border-bottom:1px solid rgba(139,98,29,.45);color:#79591d;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.teacher-coming{position:relative;margin:34px 0 28px;padding:25px 82px 25px 26px;border:1px solid rgba(126,91,30,.32);clip-path:polygon(0 0,94% 0,100% 24%,100% 100%,6% 100%,0 76%)}.teacher-coming span,.teacher-coming strong{display:block}.teacher-coming span{color:#8b621d;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.teacher-coming strong{margin-top:8px;font:600 25px/1.1 Playfair}.teacher-coming b{position:absolute;right:26px;top:50%;transform:translateY(-50%);font:600 56px Playfair;color:#c9a84c}.route-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.person-card{min-height:360px;border:1px solid rgba(126,91,30,.3);background:rgba(255,250,241,.46);clip-path:polygon(0 0,95% 0,100% 10%,100% 100%,5% 100%,0 90%);overflow:hidden}.person-featured{grid-column:1/-1;display:grid;grid-template-columns:.92fr 1.08fr;min-height:610px}.person-featured>img{width:100%;height:100%;object-fit:cover}.person-card>div:not(.placeholder-mark){padding:48px}.person-card small,.role-grid small,.source-label{color:#8b621d;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.person-card h2{margin:16px 0 24px;font:600 clamp(36px,4.5vw,68px)/.92 Playfair}.person-card h2 em{font-family:Cormorant;font-style:italic;color:#9b7422}.person-card p{color:#5e5549;font-size:16px;line-height:1.68}.source-label{display:block;margin-top:26px;font-size:9px}.person-placeholder{display:grid;grid-template-columns:150px 1fr;align-items:stretch}.placeholder-mark{display:grid;place-items:center;background:linear-gradient(145deg,#15110e,#4b1524);color:#c9a84c;font:600 90px Playfair}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.role-grid article{min-height:230px;padding:34px;border:1px solid rgba(126,91,30,.3);background:rgba(255,250,241,.42)}.role-grid strong{display:block;margin:20px 0;font:600 30px/1.05 Playfair}.role-grid p{color:#625747;line-height:1.6}
.competition-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.competition-grid article{min-height:330px;padding:44px;border:1px solid rgba(126,91,30,.3);background:rgba(255,250,241,.5);clip-path:polygon(0 0,95% 0,100% 12%,100% 100%,5% 100%,0 88%)}.competition-grid small{color:#8b621d;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.competition-grid h2{margin:34px 0 18px;font:600 clamp(36px,4.5vw,61px)/.92 Playfair}.competition-grid p{color:#5a5145;line-height:1.68}.link-stack{display:grid;gap:14px}.link-stack .official-rule-link{margin-top:0}
.venue-page-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:22px}.venue-page-map{min-height:620px}.venue-page-map iframe{width:100%;height:100%;min-height:620px;border:0;filter:sepia(.22) saturate(.65) contrast(.94)}.venue-facts{display:grid;gap:16px}.venue-facts article{padding:40px;border:1px solid rgba(126,91,30,.32);background:rgba(255,250,241,.48)}.venue-facts small,.venue-facts strong{display:block}.venue-facts small{color:#8b621d;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.venue-facts strong{margin-top:20px;font:600 36px/1.02 Playfair}.venue-facts p{color:#625747}.venue-facts .official-rule-link{margin-top:0}.pass-grid-detailed .pass-card{min-height:480px}.next-price{display:block;margin-top:auto;padding-top:24px;border-top:1px solid rgba(126,91,30,.24);color:#79591d;font-size:12px;line-height:1.5}.fee-heading>p{max-width:720px;color:#625747;line-height:1.6}
@media(max-width:850px){.story-cards .cut-card{min-height:390px}.person-featured{grid-template-columns:1fr;min-height:auto}.person-featured>img{height:440px}.team-grid,.role-grid,.competition-grid,.venue-page-grid{grid-template-columns:1fr}.person-placeholder{grid-template-columns:105px 1fr}.person-card>div:not(.placeholder-mark){padding:34px 28px}.venue-page-map,.venue-page-map iframe{min-height:460px}}
@media(max-width:520px){.full-home .hero .sub br{display:block}.full-home .fact>span{font-size:11px}.person-featured>img{height:360px}.competition-grid article{padding:34px 28px;min-height:300px}.role-grid article{min-height:200px}.venue-page-map,.venue-page-map iframe{min-height:360px}}

/* Refinement 22.08: selected mobile hero B, diagonal teacher carousel and scalable history. */
.countdown-ring{z-index:6;left:-58px;right:auto;top:auto;bottom:8%;width:136px;height:136px;opacity:1;visibility:visible}.countdown-ring:before{display:block}.countdown-ring>svg{position:absolute;z-index:1;inset:0;width:100%;height:100%;overflow:visible}.countdown-ring>svg text{fill:#d7b65e;font:600 10px/1 Jost,sans-serif;letter-spacing:.01em;text-transform:uppercase}.countdown-ring>strong{position:relative;z-index:2;transform:translateY(-7px);font:600 50px/1 Playfair}.countdown-ring>span{display:none}
.story-cards .cut-card{min-width:0;min-height:440px}.story-cards .cut-card h3{max-width:100%;margin:24px 0 14px;font:600 clamp(25px,2vw,32px)/1.08 Playfair;text-wrap:balance;overflow-wrap:normal}.gallery-title{white-space:nowrap;font-size:clamp(43px,5.8vw,84px)!important}
.teacher-section{overflow:hidden}.teacher-stage{position:relative;padding-bottom:92px}.teacher-slide{position:relative;display:none;grid-template-columns:.8fr 1.1fr;gap:8vw;align-items:center;transition:opacity .56s ease,transform .56s cubic-bezier(.22,.8,.25,1),clip-path .56s cubic-bezier(.22,.8,.25,1)}.teacher-slide.is-active{display:grid;opacity:1;transform:translate(0,0);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.teacher-slide.is-entering{display:grid;opacity:0;transform:translate(12%,12%);clip-path:polygon(32% 0,100% 0,100% 68%,68% 100%,0 100%,0 32%)}.teacher-slide.is-leaving{position:absolute;z-index:2;inset:0 0 92px;display:grid;opacity:0;transform:translate(-12%,-12%);clip-path:polygon(0 0,68% 0,100% 32%,100% 100%,32% 100%,0 68%);pointer-events:none}.teacher-placeholder-visual{height:670px;display:grid;place-items:center;align-content:center;gap:12px;background:radial-gradient(circle at 72% 22%,rgba(201,168,76,.24),transparent 22%),linear-gradient(145deg,#0b0908,#3c1420);color:#d7b65e;clip-path:polygon(10% 0,100% 0,100% 88%,88% 100%,0 100%,0 12%)}.teacher-placeholder-visual span{font:600 180px/.8 Playfair}.teacher-placeholder-visual small{font-size:10px;letter-spacing:.18em;text-transform:uppercase}.teacher-controls{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:18px}.teacher-controls button{min-height:50px;padding:0 20px;border:1px solid rgba(126,91,30,.42);background:rgba(255,250,241,.46);color:#6d4c17;cursor:pointer;text-transform:uppercase;letter-spacing:.11em;font-size:10px}.teacher-controls button:last-child{min-width:190px;display:flex;align-items:center;justify-content:space-between;clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%,5% 50%);background:#17110d;color:#f7f1e6}.teacher-controls button b{color:#d7b65e;font-size:18px}.teacher-controls>span{font-size:11px;letter-spacing:.12em}.teacher-controls>span b{font-size:17px;color:#8b621d}
.route-grid a{min-height:290px;justify-content:flex-start}.route-grid span{margin-top:auto;padding-top:32px}
.history-timeline{margin-top:70px}.history-detail{min-height:230px;padding:42px 48px;display:grid;grid-template-columns:.45fr 1fr;gap:6vw;align-items:center;background:linear-gradient(120deg,#17110d,#351924);color:#f7f1e6;clip-path:polygon(0 0,97% 0,100% 20%,100% 100%,3% 100%,0 80%)}.history-detail strong{font:600 clamp(64px,9vw,132px)/.8 Playfair;color:#dfbd62}.history-detail p{max-width:680px;margin:0;font-size:clamp(18px,2vw,27px);line-height:1.5}.history-rail{position:relative;display:flex;overflow-x:auto;scrollbar-width:none;cursor:grab;user-select:none;touch-action:pan-y;border-top:1px solid rgba(126,91,30,.42);overscroll-behavior-x:contain;scroll-snap-type:x proximity}.history-rail.is-dragging{cursor:grabbing;scroll-snap-type:none}.history-rail::-webkit-scrollbar{display:none}.history-rail:before{content:"";position:absolute;left:0;right:0;top:33px;height:1px;background:rgba(126,91,30,.38);pointer-events:none}.history-rail button{position:relative;flex:0 0 clamp(250px,25vw,320px);min-height:150px;padding:54px 26px 24px;text-align:left;border:0;border-right:1px solid rgba(126,91,30,.2);background:transparent;color:#625747;cursor:pointer;scroll-snap-align:center}.history-rail button:before{content:"";position:absolute;top:27px;left:26px;width:12px;aspect-ratio:1;background:#f1e5cf;border:1px solid #8e621d;transform:rotate(45deg);transition:background .2s,transform .2s}.history-rail button b,.history-rail button span{display:block}.history-rail button b{font:600 38px/1 Playfair;color:#8e621d}.history-rail button span{margin-top:11px;font-size:11px;letter-spacing:.09em;text-transform:uppercase}.history-rail button.is-active:before{background:#c9a84c;transform:rotate(45deg) scale(1.35)}.history-rail button.is-active b{color:#17110d}.history-hint{margin:14px 0 0;color:#796b58;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:850px){.full-home .hero{padding-top:104px}.full-home .hero-grid{gap:22px;min-width:0}.full-home .hero-copy,.full-home .hero-side{min-width:0;max-width:100%}.full-home .hero-copy{order:0}.full-home .hero-side{order:1;width:100%;justify-self:stretch}.full-home .hero h1{font-size:clamp(58px,18vw,82px)}.full-home .hero h1 em{margin-left:1.05em}.full-home .hero .sub{margin-top:18px;font-size:16px;line-height:1.45}.full-home .hero .facts{margin:22px 0 0}.full-home .hero .fact{padding:14px 0}.full-home .hero .fact strong{font:600 24px/1.08 Playfair}.full-home .hero .fact:last-child strong{font-size:18px}.full-home .hero .actions{display:none}.full-home .hero-visual{width:100%;max-width:100%;min-width:0}.full-home .poster{width:100%;max-width:100%;aspect-ratio:1/1.02}.full-home .countdown-ring{left:-20px;right:auto;top:auto;bottom:8%;width:108px;height:108px;background:rgba(7,6,5,.88)}.full-home .countdown-ring>strong{font-size:34px}.full-home .media-cta{width:100%;margin-top:14px}.teacher-slide,.teacher-slide.is-active,.teacher-slide.is-entering,.teacher-slide.is-leaving{grid-template-columns:1fr;gap:34px}.teacher-slide.is-leaving{inset:0 0 92px}.teacher-placeholder-visual{height:430px}.teacher-controls{left:0;justify-content:space-between}.teacher-controls button:last-child{min-width:175px}.gallery-title{white-space:normal}.history-detail{grid-template-columns:1fr;gap:24px;padding:40px 30px}.history-rail button{flex-basis:180px}}
@media(max-width:520px){.story-cards .cut-card{min-height:360px}.story-cards .cut-card h3{font-size:30px}.teacher-placeholder-visual{height:380px}.history-detail{min-height:290px}.full-home .countdown-ring svg text{font-size:10.5px;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.teacher-slide{transition:none}}

/* Team and venue detail pages. */
.page-jump{display:flex;flex-wrap:wrap;gap:12px;margin-top:42px}.page-jump a{padding:13px 17px;border:1px solid rgba(126,91,30,.36);background:rgba(255,250,241,.35);color:#76531a;font-size:11px;letter-spacing:.11em;text-transform:uppercase}.pair-profile{display:grid;grid-template-columns:.82fr 1.18fr;margin-top:76px;border:1px solid rgba(126,91,30,.32);background:rgba(255,250,241,.48);clip-path:polygon(0 0,96% 0,100% 7%,100% 100%,4% 100%,0 93%);overflow:hidden}.pair-visual{position:relative;min-height:720px}.pair-visual img{width:100%;height:100%;object-fit:cover}.pair-visual>span{position:absolute;left:22px;bottom:22px;padding:10px 13px;background:#17110dd9;color:#f7f1e6;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.pair-copy{padding:60px 58px}.pair-copy>h2{margin:0 0 38px;font:600 clamp(48px,5.8vw,82px)/.88 Playfair}.pair-copy>h2 em{font-family:Cormorant;font-style:italic;color:#8e621d}.teacher-accordions details{border-top:1px solid rgba(126,91,30,.28)}.teacher-accordions details:last-child{border-bottom:1px solid rgba(126,91,30,.28)}.teacher-accordions summary{padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none}.teacher-accordions summary::-webkit-details-marker{display:none}.teacher-accordions summary small,.teacher-accordions summary strong{display:block}.teacher-accordions summary small{color:#8b621d;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.teacher-accordions summary strong{margin-top:5px;font:600 25px/1.1 Playfair}.teacher-accordions summary>b{color:#8b621d;font:300 22px Jost;transition:transform .2s}.teacher-accordions details[open] summary>b{transform:rotate(45deg)}.teacher-accordions details p{margin:0;padding:0 38px 25px 0;color:#5b5246;line-height:1.7}.teacher-videos{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.teacher-videos a{position:relative;height:320px;overflow:hidden;clip-path:polygon(0 0,94% 0,100% 12%,100% 100%,6% 100%,0 88%)}.teacher-videos img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.08)}.teacher-videos a:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 38%,#0b0908e8)}.teacher-videos span{position:absolute;z-index:2;left:28px;right:28px;bottom:24px;display:grid;grid-template-columns:1fr auto;align-items:end;color:#f7f1e6}.teacher-videos small,.teacher-videos strong{display:block}.teacher-videos small{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#d7b65e}.teacher-videos strong{margin-top:5px;font:600 26px Playfair}.teacher-videos b{grid-column:2;grid-row:1/3;align-self:center;display:grid;place-items:center;width:50px;aspect-ratio:1;border:1px solid #d7b65e;border-radius:50%;color:#d7b65e}.next-pair-card{display:grid;grid-template-columns:.55fr 1.45fr;margin-top:80px;min-height:430px;border:1px solid rgba(126,91,30,.3);background:rgba(255,250,241,.4);clip-path:polygon(0 0,96% 0,100% 12%,100% 100%,4% 100%,0 88%)}.next-pair-card>div{display:grid;place-items:center;align-content:center;gap:12px;background:linear-gradient(145deg,#0c0a09,#421522);color:#d7b65e}.next-pair-card>div span{font:600 130px/.8 Playfair}.next-pair-card>div small{font-size:9px;letter-spacing:.15em;text-transform:uppercase}.next-pair-card>section{padding:60px}.next-pair-card h2{margin:0 0 22px;font:600 clamp(42px,5vw,68px)/.92 Playfair}.next-pair-card p{max-width:650px;color:#625747;line-height:1.65}.team-djs{background:linear-gradient(145deg,#090807,#2d151d);color:#f7f1e6}.team-djs .lead{color:#d0c3b2}.dj-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:68px}.dj-grid article{position:relative;min-height:330px;padding:42px;border:1px solid rgba(201,168,76,.35);clip-path:polygon(0 0,94% 0,100% 14%,100% 100%,6% 100%,0 86%)}.dj-grid article>span{position:absolute;right:34px;top:18px;font:600 100px Playfair;color:#c9a84c18}.dj-grid small,.dj-grid strong{display:block}.dj-grid small{color:#d7b65e;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.dj-grid strong{margin-top:80px;font:600 36px Playfair}.dj-grid p{color:#cabdac}
.venue-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:68px}.venue-story-grid article{min-height:280px;padding:38px;border:1px solid rgba(126,91,30,.3);background:rgba(255,250,241,.48);clip-path:polygon(0 0,92% 0,100% 14%,100% 100%,8% 100%,0 86%)}.venue-story-grid small{color:#8b621d;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.venue-story-grid strong{display:block;margin:48px 0 18px;font:600 31px/1.08 Playfair}.venue-story-grid p{color:#625747;line-height:1.6}.route-method{margin:24px 0;padding:30px 34px;border:1px solid rgba(126,91,30,.28);background:rgba(255,250,241,.38)}.route-method small{color:#8b621d;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.route-method h3{margin:12px 0 8px}.route-method p{margin:0}.venue-important{margin:35px 0;padding:34px 38px;background:linear-gradient(120deg,#17110d,#3c1720);color:#f7f1e6;clip-path:polygon(0 0,96% 0,100% 20%,100% 100%,4% 100%,0 80%)}.venue-important small,.venue-important strong{display:block}.venue-important small{color:#d7b65e;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.venue-important strong{margin:12px 0;font:600 30px Playfair}.venue-important p{margin:0;color:#d6c9b8}
.venue-page-grid>*,.content-grid>*,.pair-profile>*,.next-pair-card>*{min-width:0}.subpage-main,.subpage-hero,.subpage .section{max-width:100%;overflow-wrap:break-word}
@media(max-width:850px){.pair-profile{grid-template-columns:1fr}.pair-visual{min-height:520px}.pair-copy{padding:42px 30px}.teacher-videos,.dj-grid,.venue-story-grid{grid-template-columns:1fr}.teacher-videos a{height:280px}.next-pair-card{grid-template-columns:1fr}.next-pair-card>div{min-height:300px}.next-pair-card>section{padding:42px 30px}.venue-story-grid article{min-height:240px}}
@media(max-width:520px){.page-jump{display:grid;grid-template-columns:1fr 1fr}.page-jump a{padding:12px 10px;font-size:9px}.pair-visual{min-height:420px}.teacher-videos a{height:240px}.teacher-videos strong{font-size:21px}.next-pair-card>div{min-height:250px}}
@media(max-width:850px){.full-home .wrap,.subpage .wrap{width:calc(100vw - 30px);max-width:650px}}
