:root{--black:#171918;--charcoal:#292c2b;--stone:#777b78;--mist:#d9dcda;--snow:#f7f7f5;--ice:#aebcc0;--blue:#5f7f8c;--red:#c7463b;--white:#fff;--line:rgba(23,25,24,.13);--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--snow);color:var(--black);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{display:block;width:100%;height:auto}.container{width:min(var(--max),calc(100% - 48px));margin:auto}.eyebrow{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--stone);font-weight:750}.eyebrow.light{color:#dfe7e8}h1,h2,h3{line-height:1.05;margin:0;font-weight:500;letter-spacing:-.025em}h1{font-size:clamp(3rem,7vw,6.5rem)}h2{font-size:clamp(2.2rem,4.5vw,4.1rem)}h3{font-size:1.3rem}p{color:#555b58}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--black);color:#fff;padding:14px 21px;border:1px solid var(--black);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:750;transition:.2s;cursor:pointer}.btn:hover{background:#303433;transform:translateY(-1px)}.btn.light{background:#fff;color:var(--black);border-color:#fff}.btn.ghost{background:transparent;color:var(--black)}.btn.ghost:hover{background:var(--mist)}.btn.ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}.btn.ghost-light:hover{background:rgba(255,255,255,.12)}
header{position:absolute;z-index:20;top:0;left:0;width:100%;color:#fff}.site-header.solid{position:sticky;background:rgba(247,247,245,.96);color:var(--black);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand img{width:160px;height:64px;object-fit:contain;object-position:left center}.brand .dark-logo{display:block}.solid .brand .dark-logo{display:block}.nav-right{display:flex;align-items:center;gap:23px}.nav-links{display:flex;gap:25px;align-items:center}.nav-links a{font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.9)}.solid .nav-links a{color:#303433}.nav-links a:hover{color:#fff}.solid .nav-links a:hover{color:#000}.language{display:flex;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:3px;gap:2px}.solid .language{border-color:rgba(23,25,24,.2)}.language button{border:0;background:transparent;color:inherit;border-radius:999px;padding:5px 8px;font-size:.62rem;font-weight:800;cursor:pointer}.language button.active{background:#fff;color:var(--black)}.solid .language button.active{background:var(--black);color:#fff}.menu-toggle{display:none;background:none;border:0;color:inherit;font-size:1.5rem}
.hero{min-height:94vh;position:relative;display:flex;align-items:end;overflow:hidden;background:#23333b}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,12,14,.08),rgba(7,12,14,.02) 45%,rgba(7,12,14,.55) 78%,rgba(7,12,14,.68)),linear-gradient(0deg,rgba(7,12,14,.55),transparent 48%)}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-content{position:relative;z-index:2;color:#fff;padding:165px 0 78px;display:flex;flex-direction:column;align-items:flex-end;text-align:right}.hero-copy{max-width:650px}.hero .eyebrow{color:#e5ecee;margin-bottom:20px}.hero h1{font-weight:400;text-shadow:0 2px 18px rgba(0,0,0,.16)}.hero h1 strong{font-weight:700}.hero-sub{font-size:1.05rem;max-width:590px;color:rgba(255,255,255,.93);margin:22px 0 30px}.hero-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.hero-meta{margin-top:38px;display:flex;justify-content:flex-end;gap:26px;flex-wrap:wrap;color:rgba(255,255,255,.9);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase}.hero-meta span{display:inline-flex;align-items:center;gap:8px}.hero-meta span:before{content:"";width:5px;height:5px;border-radius:50%;background:#fff}
.section{padding:105px 0}.section.dark{background:var(--black);color:#fff}.section.dark p{color:#c7ccca}.section.dark h2{color:#fff}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.copy p{max-width:590px;margin:22px 0}.image-card{overflow:hidden;background:#ddd}.image-card img{aspect-ratio:4/3;object-fit:cover}.split-image{position:relative}.badge{position:absolute;right:-20px;bottom:22px;background:var(--snow);padding:21px 24px;box-shadow:0 15px 40px rgba(0,0,0,.14);max-width:270px}.badge strong{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.badge span{display:block;color:var(--stone);font-size:.77rem;margin-top:6px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:46px}.card{background:#232725;color:#fff;padding:32px 29px;min-height:260px;border:1px solid rgba(255,255,255,.1)}.card .card-num{font-size:.65rem;letter-spacing:.18em;color:var(--ice);margin-bottom:50px}.card h3{color:#fff}.card p{color:#c3c8c6}.card:hover{background:#2c302e}.language-note{margin-top:32px;padding:20px 22px;border-left:3px solid var(--ice);background:rgba(174,188,192,.1);max-width:680px}.language-note strong{display:block;color:#fff;margin-bottom:5px}.language-note p{margin:0;font-size:.9rem}.credential{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.checks{display:grid;gap:0;margin:30px 0}.check{display:flex;gap:13px;align-items:flex-start;border-top:1px solid var(--line);padding:16px 0}.check span{font-weight:900;color:#5f6b68}.check b{font-size:.86rem;font-weight:650}.qualification-card{border:1px solid var(--line);background:#fff;padding:34px;box-shadow:0 20px 50px rgba(0,0,0,.08)}.qualification-mark{width:62px;height:62px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;margin-bottom:25px;font-weight:900}.qualification-card h3{font-size:1.65rem;margin-bottom:10px}.qualification-card p{margin:0 0 18px}.qualification-card small{display:block;color:var(--stone);font-size:.72rem;line-height:1.5}.calendar-wrap{margin-top:44px;border:1px solid var(--line);background:#fff}.cal-top{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.cal-top strong{font-size:.78rem;letter-spacing:.15em;text-transform:uppercase}.cal-nav{display:flex;gap:6px}.cal-nav button{border:1px solid var(--line);background:#fff;padding:7px 10px;cursor:pointer}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekday{padding:12px 10px;border-right:1px solid var(--line);font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);font-weight:700}.weekday:nth-child(7){border-right:0}.day{min-height:105px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:11px;cursor:pointer;transition:.15s}.day:nth-child(7n){border-right:0}.day.muted{background:#fafaf9;color:#c0c3c1;cursor:default}.day:not(.muted):hover{background:#f0f3f2}.day.selected{outline:2px solid var(--black);outline-offset:-2px;background:#eef2f1}.day-number{font-size:.76rem;font-weight:700}.day-status{display:block;margin-top:21px;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}.day.available .day-status{color:#50645e}.day.booked .day-status{color:#a16a6a}.day.available{background:linear-gradient(180deg,#fff,#fbfcfb)}.slot-panel{border-top:1px solid var(--line);padding:24px;background:#fafaf8;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.slot-panel h3{font-size:1.05rem}.slots{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.slot{border:1px solid var(--line);background:#fff;padding:8px 12px;font-size:.7rem;cursor:pointer}.slot:hover,.slot.chosen{background:var(--black);color:#fff}.availability-note{color:var(--stone);font-size:.72rem;margin-top:12px}.gallery-preview{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-top:48px}.gallery-preview .main{min-height:540px}.gallery-preview img{height:100%;object-fit:cover}.gallery-preview .side{display:grid;gap:12px}.gallery-preview .side img{min-height:264px}.gallery-link{margin-top:25px}.cta{padding:95px 0;text-align:center;background:linear-gradient(135deg,var(--mist),var(--snow))}.cta p{max-width:600px;margin:20px auto 28px}.booking-card{max-width:800px;margin:40px auto 0;background:#fff;border:1px solid var(--line);padding:30px;text-align:left}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;font-weight:750}.field input,.field textarea{border:1px solid var(--line);padding:11px 12px;background:#fff;outline:none}.field input:focus,.field textarea:focus{border-color:#657a81}.field textarea{min-height:100px;resize:vertical}.booking-summary{background:#f1f3f1;padding:12px 14px;margin-bottom:18px;font-size:.82rem}.form-actions{display:flex;justify-content:flex-end;margin-top:18px}footer{background:var(--black);color:#fff;padding:55px 0 28px}.footer-grid{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}.footer-logo{width:170px}.footer-grid p{color:#9da3a0;font-size:.8rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:42px;padding-top:18px;color:#777d79;font-size:.68rem;display:flex;justify-content:space-between;gap:20px}.gallery-page{padding-top:125px}.gallery-intro{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end;padding:35px 0 70px}.gallery-intro p{max-width:520px}.student-block{padding:70px 0;border-top:1px solid var(--line)}.student-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}.student-head p{max-width:480px;margin:0}.photo-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.photo{overflow:hidden;background:#ddd}.photo img{width:100%;height:100%;object-fit:cover}.photo.tall{grid-column:span 5;min-height:520px}.photo.wide{grid-column:span 7;min-height:255px}.photo.square{grid-column:span 7;min-height:255px}.student-permission{font-size:.7rem;color:var(--stone);margin-top:18px}.utility-strip{background:#eef2f1;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.utility-strip .container{display:flex;justify-content:space-between;gap:20px;align-items:center}.utility-strip span{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#59635f}
@media(max-width:900px){.nav-links{display:none}.menu-toggle{display:block}.nav-right{gap:12px}.hero-content{align-items:flex-start;text-align:left}.hero-copy{max-width:720px}.hero-actions,.hero-meta{justify-content:flex-start}.hero:after{background:linear-gradient(90deg,rgba(7,12,14,.62),rgba(7,12,14,.25) 70%,rgba(7,12,14,.08)),linear-gradient(0deg,rgba(7,12,14,.55),transparent 60%)}.two-col,.credential,.gallery-intro{grid-template-columns:1fr;gap:42px}.cards{grid-template-columns:1fr}.gallery-preview{grid-template-columns:1fr}.gallery-preview .main{min-height:380px}.gallery-preview .side{grid-template-columns:1fr 1fr}.gallery-preview .side img{min-height:190px}.photo.tall,.photo.wide,.photo.square{grid-column:span 12;min-height:360px}.slot-panel{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:620px){.container{width:min(var(--max),calc(100% - 30px))}.nav{height:74px}.brand img{width:140px}.hero{min-height:88vh}.hero-content{padding:125px 0 55px}.hero-sub{font-size:.95rem}.hero-meta{display:grid;gap:9px}.section{padding:78px 0}.day{min-height:76px;padding:8px}.day-status{display:none}.weekday{font-size:.52rem;padding:9px 4px}.slot-panel{padding:18px}.student-head{display:block}.student-head p{margin-top:12px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:5px}}

/* V7 refinements: persistent home navigation, larger brand mark, balanced photo grids and lightbox */
.site-header.home-header{position:fixed;transition:background .25s ease,color .25s ease,box-shadow .25s ease}.site-header.home-header.is-scrolled{background:rgba(247,247,245,.96);color:var(--black);border-bottom:1px solid var(--line);backdrop-filter:blur(10px);box-shadow:0 8px 30px rgba(0,0,0,.06)}
.site-header.home-header.is-scrolled .nav-links a{color:#303433}.site-header.home-header.is-scrolled .nav-links a:hover{color:#000}.site-header.home-header.is-scrolled .language{border-color:rgba(23,25,24,.2)}.site-header.home-header.is-scrolled .language button.active{background:var(--black);color:#fff} .site-header.home-header .brand img{width:205px;height:76px}
.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;grid-auto-flow:row}.photo{min-height:0!important;aspect-ratio:4/3}.photo.tall,.photo.wide,.photo.square{grid-column:auto;min-height:0!important}.photo img{height:100%;width:100%;object-fit:cover;transition:transform .35s ease}.photo:hover img{transform:scale(1.025)}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(8,11,11,.92);display:none;align-items:center;justify-content:center;padding:34px}.lightbox.open{display:flex}.lightbox img{width:auto;max-width:min(94vw,1500px);max-height:88vh;object-fit:contain}.lightbox-close{position:absolute;top:18px;right:24px;border:0;background:transparent;color:#fff;font-size:2.2rem;line-height:1;cursor:pointer}.lightbox-caption{position:absolute;left:24px;bottom:18px;color:rgba(255,255,255,.72);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1000px){.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-header.home-header .brand img{width:185px;height:72px}}
@media(max-width:720px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.site-header.home-header .brand img{width:160px;height:66px}.lightbox{padding:20px}.lightbox img{max-width:96vw;max-height:82vh}}
@media(max-width:480px){.photo-grid{grid-template-columns:1fr}.site-header.home-header .brand img{width:150px;height:62px}}

@media(max-width:900px){.nav-links.open{display:flex;position:absolute;top:74px;left:15px;right:15px;flex-direction:column;gap:0;padding:10px;background:var(--alpine-white,#f7f7f2);border-radius:0 0 12px 12px;box-shadow:0 12px 30px rgba(0,0,0,.14);z-index:50}.nav-links.open a{padding:13px 14px;color:var(--ink,#172126);text-decoration:none}.home-header:not(.is-scrolled) .nav-links.open a{color:var(--ink,#172126)}}

/* V12: restore the soft light hero logo while keeping the dark logo for the
   scrolled header and footer. The oversized hero mark stays lower without
   moving the navigation. */
.site-header.home-header .brand .light-logo{display:block}.site-header.home-header .brand .dark-logo{display:none}
.site-header.home-header.is-scrolled .brand .light-logo{display:none}.site-header.home-header.is-scrolled .brand .dark-logo{display:block}
@media(min-width:1201px){
  .home-header:not(.is-scrolled) .brand{transform:translateY(145px)}
  .home-header:not(.is-scrolled) .brand img{width:500px;height:auto;object-fit:contain;object-position:left center}
  .home-header.is-scrolled .brand{transform:none}
}
@media(min-width:901px) and (max-width:1200px){
  .home-header:not(.is-scrolled) .brand{transform:translateY(118px)}
  .home-header:not(.is-scrolled) .brand img{width:430px;height:auto;object-fit:contain;object-position:left center}
  .home-header.is-scrolled .brand{transform:none}
}

/* Learning page */
.learning-page{background:var(--snow)}
.learning-hero{position:relative;min-height:620px;display:flex;align-items:flex-end;overflow:hidden;background:var(--black);color:#fff}
.learning-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}
.learning-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,17,20,.78) 0%,rgba(10,17,20,.48) 48%,rgba(10,17,20,.08) 100%)}
.learning-hero .container{position:relative;z-index:2;padding-bottom:90px}
.learning-hero-copy{max-width:760px}
.learning-hero-copy h1{margin-top:12px;color:#fff;max-width:780px}
.learning-hero-copy p{max-width:690px;color:#e5e9e8;font-size:1.1rem;margin:28px 0 0}
.learning-intro-grid{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:end}
.learning-intro-grid h2{max-width:650px}
.learning-intro-grid p{font-size:1.02rem;max-width:650px}
.text-link{display:inline-block;margin-top:10px;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:750;border-bottom:1px solid currentColor;padding-bottom:5px}
.framework-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:70px;border:1px solid var(--line)}
.framework-grid article{background:var(--snow);padding:38px 34px 42px;min-height:250px}
.framework-index{display:block;font-size:.68rem;letter-spacing:.16em;color:var(--stone);margin-bottom:55px}
.framework-grid h3{font-size:1.45rem;margin-bottom:14px}
.framework-grid p{margin:0}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.16);margin-top:65px}
.process-grid>div{padding:30px 26px 34px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}
.process-grid span{font-size:.7rem;letter-spacing:.16em;color:#aebcc0;font-weight:750}
.process-grid h3{color:#fff;margin:42px 0 12px;font-size:1.45rem}
.process-grid p{margin:0;color:#c7ccca}
.variation-grid{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:center}
.variation-grid>div:first-child p{max-width:650px}
.variation-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);margin-top:40px;border:1px solid var(--line)}
.variation-list div{background:var(--snow);padding:20px 22px;display:flex;flex-direction:column;gap:4px}
.variation-list strong{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.variation-list span{font-size:.9rem;color:var(--stone)}
.source-visual{background:#eceeed;padding:18px;border:1px solid var(--line)}
.source-visual img{width:100%;max-height:560px;object-fit:contain;background:#fff}
.source-visual>span{display:block;font-size:.7rem;color:var(--stone);margin:12px 4px 0}
.age-section{background:#eef0ee}
.section-lead{max-width:760px;font-size:1.02rem;margin:24px 0 55px}
.age-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.age-card{background:var(--snow);border:1px solid var(--line);display:grid;grid-template-columns:42% 58%;min-height:290px}
.age-card-wide{grid-column:1/-1;grid-template-columns:32% 68%}
.age-image{background:#dfe5e5;min-height:100%;overflow:hidden}
.age-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.age-content{padding:30px 32px 34px}
.age-label{font-size:.68rem;letter-spacing:.16em;font-weight:750;color:var(--blue);margin-bottom:22px}
.age-content h3{font-size:1.55rem;margin-bottom:12px}
.age-content p{margin:0}
.age-content ul{columns:2;margin:18px 0 0;padding-left:18px;color:#555b58}
.source-note{margin-top:26px;font-size:.78rem;color:var(--stone);max-width:900px}
.safety-section{background:#f1f2ef}
.safety-grid{display:grid;grid-template-columns:1.1fr .8fr;gap:80px;align-items:start}
.safety-grid>div:first-child h2{max-width:720px}
.safety-list{margin:38px 0 0;padding-left:28px;max-width:800px}
.safety-list li{padding:10px 0 10px 10px;border-bottom:1px solid var(--line);color:#4e5552}
.safety-visual{position:sticky;top:120px}
.learning-close{background:var(--white)}
.learning-close .two-col{align-items:end}
.learning-close p{max-width:650px;font-size:1.05rem}
@media(max-width:1000px){
 .learning-hero{min-height:560px}.learning-hero .container{padding-bottom:70px}
 .learning-intro-grid,.variation-grid,.safety-grid{grid-template-columns:1fr;gap:42px}
 .framework-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:repeat(2,1fr)}
 .safety-visual{position:static}.age-grid{grid-template-columns:1fr}.age-card-wide{grid-column:auto;grid-template-columns:42% 58%}
}
@media(max-width:720px){
 .learning-hero{min-height:560px}.learning-hero>img{object-position:center}.learning-hero-overlay{background:linear-gradient(90deg,rgba(10,17,20,.82),rgba(10,17,20,.42))}
 .learning-hero-copy p{font-size:1rem}.process-grid{grid-template-columns:1fr}.variation-list{grid-template-columns:1fr}
 .age-card,.age-card-wide{grid-template-columns:1fr}.age-image{height:230px}.age-content ul{columns:1}
}
@media(max-width:480px){
 .learning-hero .container{padding-bottom:54px}.learning-hero-copy h1{font-size:clamp(2.8rem,14vw,4rem)}
 .framework-grid article{padding:30px 24px}.process-grid>div{padding:25px 22px}.age-content{padding:26px 24px}
}

/* V14 learning page: concise, experience-led structure */
.learning-anchor{padding-top:90px;padding-bottom:100px}
.learning-anchor-head{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:end}
.learning-anchor-head h2{max-width:620px;margin-top:12px}
.learning-anchor-head>p{max-width:560px;margin:0;font-size:1.02rem}
.learning-anchor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:55px}
.learning-anchor-grid a{background:var(--snow);padding:32px 30px 30px;min-height:285px;display:flex;flex-direction:column;transition:.2s}
.learning-anchor-grid a:hover{background:#fff;transform:translateY(-2px)}
.learning-anchor-grid span{font-size:.65rem;letter-spacing:.16em;color:var(--stone);font-weight:750}
.learning-anchor-grid h3{font-size:1.55rem;margin-top:48px;color:var(--black)}
.learning-anchor-grid p{margin:14px 0 0;max-width:360px}
.learning-anchor-grid b{margin-top:auto;font-size:1rem;font-weight:500;color:var(--stone)}
.learning-detail{scroll-margin-top:88px}
.learning-detail-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px;align-items:start}
.learning-detail h2{margin-top:12px;max-width:560px}
.detail-lead{font-size:1.08rem;max-width:610px;margin:28px 0 0}
.detail-process{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.private-copy{border-top:1px solid var(--line);padding-top:26px}
.private-copy p{margin:0;max-width:720px;font-size:1.08rem;line-height:1.8}
.detail-process article{background:var(--snow);padding:28px 26px 30px;min-height:220px}
.detail-process article span,.detail-point>span,.mountain-point>span{font-size:.68rem;letter-spacing:.16em;color:var(--blue);font-weight:750}
.detail-process h3{font-size:1.35rem;margin:40px 0 12px}
.detail-process p{margin:0}
.dark .detail-process{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.14)}
.dark .detail-process article{background:#202321;border-color:rgba(255,255,255,.08)}
.dark .detail-process article span,.dark .detail-point>span{color:var(--ice)}
.dark .detail-process h3,.dark .detail-point h3{color:#fff}
.detail-copy{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.14)}
.detail-point{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:27px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.detail-point h3,.mountain-point h3{margin:0 0 8px;font-size:1.35rem}
.detail-point p,.mountain-point p{margin:0}
.mountain-detail{background:#eef0ee}
.mountain-detail .btn{margin-top:30px}
.mountain-points{border-top:1px solid var(--line)}
.mountain-point{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:27px 0;border-bottom:1px solid var(--line)}
.learning-close-grid{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:end}
.learning-close-grid h2{max-width:650px}
.learning-close-grid p{max-width:560px;font-size:1.05rem;margin:0 0 28px}
@media(max-width:1000px){.learning-anchor-head,.learning-detail-grid,.learning-close-grid{grid-template-columns:1fr;gap:42px}.learning-anchor-grid{grid-template-columns:1fr}.learning-anchor-grid a{min-height:220px}.detail-process{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.learning-anchor{padding-top:72px;padding-bottom:78px}.learning-anchor-grid{margin-top:40px}.learning-detail-grid{gap:38px}.detail-process{grid-template-columns:1fr}.detail-process article{min-height:0}.learning-close-grid{gap:30px}}

/* Homepage lesson cards link directly to the relevant Learning sections. */
.cards .card {
  display: block;
  position: relative;
  color: inherit;
  text-decoration: none;
}

.cards .card-arrow {
  display: inline-block;
  margin-top: 1.5rem;
  font-size: 1.25rem;
  transition: transform .2s ease;
}

.cards .card:hover .card-arrow {
  transform: translateY(4px);
}

/* V18 — booking and pricing */
.pricing-block{margin-top:58px;border-top:1px solid rgba(255,255,255,.12);padding-top:48px}
.pricing-heading{display:grid;grid-template-columns:1fr .8fr;gap:50px;align-items:end}
.pricing-heading h3{color:#fff;font-size:1.55rem;margin:8px 0 0}
.pricing-heading p{color:#c3c8c6;margin:0;max-width:520px}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}
.price-card{border:1px solid rgba(255,255,255,.13);background:#202422;padding:27px 24px;min-height:190px}
.price-kicker{font-size:.62rem;letter-spacing:.16em;color:var(--ice);font-weight:750}
.price-main{font-size:2rem;font-weight:800;letter-spacing:-.04em;margin:16px 0 10px;color:#fff}
.price-card p{font-size:.82rem;color:#c3c8c6;margin:0;line-height:1.6}
.price-table-wrap{margin-top:16px;overflow-x:auto}
.price-table{width:100%;border-collapse:collapse;font-size:.78rem;background:#181b19}
.price-table th,.price-table td{padding:13px 14px;border:1px solid rgba(255,255,255,.1);text-align:center;white-space:nowrap}
.price-table thead th{font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;color:#aebcc0;font-weight:750}
.price-table tbody th{text-align:left;color:#fff;font-weight:650}
.price-table td{color:#e7eae8}
.price-note{font-size:.68rem!important;color:#929995!important;margin:11px 0 0!important}
.booking-options{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:15px;margin-top:35px;align-items:end}
.booking-options>div{display:grid;gap:7px}
.booking-options label{font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;font-weight:750}
.booking-options select{width:100%;border:1px solid var(--line);padding:12px;background:#fff;font:inherit;font-size:.8rem;outline:none}
.booking-options select:focus{border-color:#657a81}
.booking-price{background:var(--black);color:#fff;padding:12px 15px;min-height:45px;display:flex!important;justify-content:space-between;align-items:center;gap:15px}
.booking-price span{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#aebcc0}
.booking-price strong{font-size:1.1rem}
.slot-heading{display:flex;justify-content:space-between;gap:20px;align-items:start}
.slot-heading h3{margin:0 0 5px}
.slot-heading p{margin:0;color:var(--stone);font-size:.76rem}
.slot-duration{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);white-space:nowrap}
.booking-note{margin-top:18px;color:var(--stone);font-size:.72rem;max-width:760px}
.field select{border:1px solid var(--line);padding:11px 12px;background:#fff;outline:none;font:inherit}
@media(max-width:900px){.pricing-heading{grid-template-columns:1fr;gap:15px}.price-grid{grid-template-columns:1fr}.booking-options{grid-template-columns:1fr}.booking-price{min-height:0}}


/* V19: pricing and booking split */
.page-shell{padding-top:88px}.page-intro{display:grid;grid-template-columns:1fr .72fr;gap:80px;align-items:end;padding:70px 0 75px}.page-intro h1{max-width:760px;margin-top:14px}.page-intro p{max-width:560px;font-size:1.05rem;margin:0}.pricing-feature{padding:0 0 85px}.pricing-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.pricing-feature-grid article{background:#fff;padding:38px 34px 42px;min-height:230px}.pricing-feature-grid .price-kicker{display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);font-weight:750}.pricing-feature-grid strong{display:block;font-size:3.1rem;line-height:1;margin:35px 0 12px;font-weight:500}.pricing-feature-grid p{margin:0;font-size:.82rem}.pricing-table-section{padding-top:0;padding-bottom:90px}.pricing-note{background:var(--black);color:#fff;padding:90px 0}.pricing-note h2{color:#fff}.pricing-note p{color:#c7ccca;max-width:600px}.lesson-actions{display:flex;gap:10px;margin-top:34px;flex-wrap:wrap}.availability-preview{background:#eef2f1}.availability-preview .two-col{align-items:start}.availability-preview h2{max-width:650px}.availability-preview p{max-width:620px;margin:22px 0 28px}.availability-mini{background:#fff;border:1px solid var(--line)}.availability-mini-head{display:flex;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:750}.availability-mini-head span:last-child{color:var(--stone)}.availability-mini-list{display:grid}.availability-mini-date{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}.availability-mini-date:last-child{border-bottom:0}.availability-mini-date strong{font-size:.85rem}.availability-mini-date span{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#50645e}.booking-controls-section{padding-bottom:70px}.duration-note,.booking-note{font-size:.75rem;color:var(--stone);margin:18px 0 0}.booking-form-section{padding-top:70px}.booking-form-section .booking-card{margin-top:0;max-width:900px}.booking-form-section h2{margin:10px 0 25px}.booking-price{display:flex;flex-direction:column;justify-content:center;background:var(--black);color:#fff;padding:15px 18px}.booking-price span{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#c7ccca}.booking-price strong{font-size:1.45rem;margin-top:3px;font-weight:500}.site-header.solid{z-index:50}.site-header.home-header{z-index:50}.site-header.home-header .brand{transition:transform .25s ease}.site-header.home-header .light-logo,.site-header.home-header .dark-logo{transition:opacity .2s ease}.site-header.home-header:not(.is-scrolled) .dark-logo{display:none}.site-header.home-header.is-scrolled .light-logo{display:none}.site-header.home-header.is-scrolled .dark-logo{display:block}.site-header.home-header.is-scrolled .brand{transform:none}.site-header.home-header.is-scrolled{background:rgba(247,247,245,.97);color:var(--black);border-bottom:1px solid var(--line);backdrop-filter:blur(10px);box-shadow:0 8px 30px rgba(0,0,0,.06)}
@media(max-width:900px){.page-intro{grid-template-columns:1fr;gap:30px}.pricing-feature-grid{grid-template-columns:1fr}.availability-preview .two-col{grid-template-columns:1fr}.booking-price{min-height:80px}.lesson-actions{margin-top:28px}}
@media(max-width:620px){.page-shell{padding-top:74px}.page-intro{padding:55px 0 55px}.page-intro h1{font-size:clamp(2.8rem,13vw,4.5rem)}.pricing-feature-grid article{padding:30px 25px}.pricing-feature-grid strong{font-size:2.7rem}.availability-mini-head{display:block}.availability-mini-head span{display:block}.availability-mini-head span:last-child{margin-top:5px}.booking-controls-section{padding-bottom:45px}}
