:root{
    --cream:#FBF8F2;--cream-2:#F5EFE3;--cream-3:#EFE6D3;
    --navy:#0E2A4F;--navy-2:#163A66;
    --gold:#C9A45C;--gold-2:#B08A3E;--gold-soft:#F4EAD2;--gold-line:#E6D5AA;
    --ink:#132B4C;--ink-soft:#4F5E73;--line:#E6DFD1;
    --r:18px;--max:1180px;
    --serif:'Playfair Display',Georgia,serif;--sans:'Montserrat',system-ui,sans-serif;--script:'Caveat',cursive;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
  body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
  h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;color:var(--navy);letter-spacing:-0.005em}
  h1{font-size:clamp(2.2rem,4.8vw,3.6rem)}
  h2{font-size:clamp(1.9rem,3.4vw,2.8rem);margin-bottom:10px}
  h3{font-size:1.35rem;margin-bottom:6px}
  p{max-width:62ch}
  .eyebrow{font-size:0.78rem;font-weight:600;color:var(--gold-2);letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}
  .sub{color:var(--ink-soft);font-size:1.05rem;max-width:58ch;margin-bottom:32px}
  .script{font-family:var(--script);color:var(--gold-2);font-size:1.7rem;line-height:1.1;transform:rotate(-8deg);display:inline-block}
  section{padding:84px 0}
  .bg-2{background:var(--cream-2)}
  .photo{width:100%;height:100%;object-fit:cover;display:block}
  :focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
  .ico{width:22px;height:22px;stroke:var(--gold-2);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
  .badge{width:52px;height:52px;border-radius:50%;background:var(--gold-soft);display:flex;align-items:center;justify-content:center;flex:none}
  .badge .ico{width:24px;height:24px}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 28px;border-radius:999px;font-weight:600;font-size:0.95rem;border:2px solid transparent;cursor:pointer;transition:background .18s,border-color .18s,color .18s,transform .18s;font-family:var(--sans)}
  .btn:hover{transform:translateY(-1px)}
  .btn-gold{background:var(--gold);color:var(--navy);border-color:var(--gold)}
  .btn-gold:hover{background:var(--gold-2);border-color:var(--gold-2);color:#fff}
  .btn-navy{background:var(--navy);color:#fff;border-color:var(--navy)}
  .btn-navy:hover{background:var(--navy-2)}
  .btn-line{background:#fff;border-color:var(--navy);color:var(--navy)}
  .btn-line:hover{background:var(--navy);color:#fff}
  .btn-wa{background:#fff;border-color:var(--line);color:var(--navy)}
  .btn-wa:hover{border-color:var(--gold)}
  .btn svg.ico{width:18px;height:18px;stroke:currentColor}
  .arrow::after{content:"→";font-weight:500}

  /* header */
  header{position:sticky;top:0;z-index:30;background:var(--navy);border-bottom:2px solid var(--gold)}
  .nav{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:16px}
  .brand{flex:none}
  .brand img{height:52px;width:auto;display:block}
  .nav-links{display:flex;align-items:center;justify-content:center;gap:18px;font-weight:500;font-size:0.9rem;color:#fff;flex:1;min-width:0}
  .nav-links a{padding:6px 0;border-bottom:2px solid transparent;white-space:nowrap;line-height:1.15;flex:none}
  .nav-links a:hover{color:var(--gold);border-color:var(--gold)}
  .nav .btn{padding:10px 18px;white-space:nowrap;flex:none;font-size:0.92rem}
  @media (max-width:1240px){.nav{gap:12px}.brand img{height:48px}.nav-links{gap:14px;font-size:0.84rem}.nav .btn{padding:9px 14px;font-size:0.86rem}}
  @media (max-width:980px){.nav-links{display:none}.brand img{height:46px}}
  @media (max-width:700px){.nav .btn{display:none}.nav{min-height:70px}}

  /* hero */
  .hero{padding:72px 0 56px;position:relative;overflow:hidden}
  .hero::before{content:"";position:absolute;right:-140px;top:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(closest-side,rgba(201,164,92,.18),transparent)}
  .hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:center;position:relative}
  .hero h1{margin-bottom:14px}
  .hero .tag{font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.35rem;color:var(--navy);margin-bottom:16px;display:inline-block;border-bottom:2px solid var(--gold);padding-bottom:4px}
  .hero .lead{color:var(--ink-soft);font-size:1.05rem;max-width:50ch}
  .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 12px}
  .hero-note{font-size:0.9rem;color:var(--ink-soft);font-weight:500}
  .hero-visual{position:relative}
  .hero-visual .main{aspect-ratio:5/4;border-radius:28px;overflow:hidden;box-shadow:0 24px 60px rgba(14,42,79,.18)}
  .hero-visual .script{position:absolute;right:18px;top:16px;background:rgba(251,248,242,.9);padding:10px 16px;border-radius:14px;font-size:1.55rem;text-align:center}
  .hero-stats{position:absolute;left:-24px;right:28px;bottom:-34px;background:#fff;border-radius:18px;padding:18px 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;box-shadow:0 16px 40px rgba(14,42,79,.14);border:1px solid var(--line)}
  .hero-stats div{text-align:center;padding:0 8px;border-right:1px solid var(--line)}
  .hero-stats div:last-child{border:none}
  .hero-stats .ico{margin:0 auto 6px;width:26px;height:26px}
  .hero-stats b{display:block;font-size:0.9rem;color:var(--navy)}
  .hero-stats span{font-size:0.75rem;color:var(--ink-soft);line-height:1.35;display:block}
  @media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-stats{position:static;margin-top:16px}.hero-visual .main{aspect-ratio:4/3}}

  .trust{background:var(--navy);color:#fff;padding:20px 0;margin-top:48px}
  .trust .wrap{display:flex;flex-wrap:wrap;gap:12px 44px;justify-content:center;font-size:0.9rem;font-weight:500}
  .trust b{color:var(--gold);font-weight:700;font-size:1.05rem}

  /* worry chooser */
  .chooser{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px 32px;position:relative;box-shadow:0 10px 30px rgba(14,42,79,.05)}
  .chooser h2{font-size:1.55rem;margin-bottom:18px}
  .chooser .script{position:absolute;right:40px;top:50%;transform:translateY(-50%) rotate(-10deg);font-size:2rem;line-height:1}
  .chips{display:flex;flex-wrap:wrap;gap:12px;max-width:calc(100% - 190px)}
  .chip{display:flex;align-items:center;gap:12px;background:var(--cream-2);border:2px solid transparent;border-radius:14px;padding:13px 18px;font:inherit;font-weight:500;font-size:0.93rem;cursor:pointer;color:var(--navy);text-align:left;line-height:1.3;transition:border-color .15s,background .15s}
  .chip:hover{border-color:var(--gold-line)}
  .chip[aria-pressed="true"]{border-color:var(--gold);background:var(--gold-soft)}
  .chooser-answer{margin-top:18px;padding:16px 20px;background:var(--gold-soft);border-radius:14px;border-left:4px solid var(--gold);display:none;align-items:center;gap:18px;flex-wrap:wrap;justify-content:space-between}
  .chooser-answer.show{display:flex}
  .chooser-answer strong{display:block;color:var(--navy);font-family:var(--serif);font-size:1.1rem}
  .chooser-answer p{font-size:0.92rem;color:var(--ink-soft);margin:0}
  .chooser-answer .btn{padding:11px 20px;font-size:0.9rem;white-space:nowrap}
  @media (max-width:900px){.chooser .script{position:static;transform:rotate(-6deg);margin-top:10px}.chips{max-width:100%}}

  /* who we help */
  .who{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .who-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;position:relative}
  .who-card .img{aspect-ratio:4/3;overflow:hidden}
  .who-card .img img{transition:transform .5s}
  .who-card:hover .img img{transform:scale(1.04)}
  .who-card .badge{position:absolute;left:20px;top:calc(75% - 26px);border:4px solid #fff;width:60px;height:60px}
  .who-card .body{padding:34px 22px 22px 96px;min-height:150px}
  .who-card p{font-size:0.93rem;color:var(--ink-soft);margin-bottom:10px}
  .who-card a{font-weight:600;font-size:0.9rem;color:var(--navy);border-bottom:2px solid var(--gold)}
  @media (max-width:900px){.who{grid-template-columns:1fr}}

  /* services */
  .svc-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:34px;position:relative}
  .svc-head .intro{color:var(--ink-soft);border-left:2px solid var(--gold-line);padding-left:22px;font-size:1.02rem}
  .svc-head .script{position:absolute;right:0;top:-34px;font-size:1.6rem;text-align:center}
  .svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .svc{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden}
  .svc .top{position:relative;aspect-ratio:16/10;overflow:hidden;color:#fff}
  .svc .top img{position:absolute;inset:0}
  .svc .top::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,42,79,.86) 0%,rgba(14,42,79,.55) 48%,rgba(14,42,79,.05) 100%)}
  .svc .top .txt{position:absolute;inset:0;padding:28px;display:flex;flex-direction:column;justify-content:center;z-index:1;max-width:60%}
  .svc .num{display:inline-flex;align-items:center;gap:10px;font-size:0.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-bottom:14px}
  .svc .num span{background:var(--gold);color:var(--navy);border-radius:999px;padding:4px 10px;letter-spacing:0}
  .svc h3{color:#fff;font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.1;margin-bottom:10px}
  .svc .top p{font-size:0.9rem;color:#E6ECF4;max-width:34ch}
  .svc .feats{display:grid;grid-template-columns:repeat(4,1fr);padding:22px 10px 8px}
  .svc .feat{padding:6px 14px;border-right:1px solid var(--line)}
  .svc .feat:last-child{border:none}
  .svc .feat .badge{width:44px;height:44px;margin-bottom:10px}
  .svc .feat b{display:block;font-size:0.9rem;color:var(--navy);line-height:1.25;margin-bottom:4px}
  .svc .feat span{font-size:0.8rem;color:var(--ink-soft);line-height:1.4;display:block}
  .svc .cta{padding:12px 24px 26px}
  .svc .cta .btn{padding:12px 22px;font-size:0.9rem}
  .values{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .values > div{display:flex;gap:12px;align-items:flex-start;border-right:1px solid var(--line);padding-right:14px}
  .values > div:last-child{border:none}
  .values b{display:block;font-size:0.9rem;color:var(--navy)}
  .values span{font-size:0.8rem;color:var(--ink-soft);line-height:1.4}
  @media (max-width:980px){.svc-grid{grid-template-columns:1fr}.svc .feats{grid-template-columns:1fr 1fr}.svc .feat{border:none}.values{grid-template-columns:1fr 1fr}.values div{border:none}.svc-head{grid-template-columns:1fr}.svc-head .script{position:static}}
  @media (max-width:560px){.svc .top .txt{max-width:100%}.svc .top{aspect-ratio:4/3}.values{grid-template-columns:1fr}}

  /* how it works */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
  .step{counter-increment:s;position:relative}
  .step .n{display:flex;align-items:center;gap:10px;margin-bottom:14px}
  .step .n::before{content:counter(s);width:42px;height:42px;border-radius:50%;background:var(--gold);color:var(--navy);display:inline-flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:1.1rem;flex:none;border:3px solid #fff;box-shadow:0 0 0 1px var(--gold-line)}
  .step .n::after{content:"";flex:1;height:1px;background:var(--gold-line)}
  .step:last-child .n::after{display:none}
  .step .card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;height:calc(100% - 56px);display:flex;flex-direction:column}
  .step .img{aspect-ratio:4/3;overflow:hidden;position:relative}
  .step .badge{position:absolute;left:50%;bottom:-26px;transform:translateX(-50%);border:4px solid #fff;z-index:2}
  .step .img{margin-bottom:0}
  .step .body{padding:36px 20px 20px;text-align:center;flex:1;display:flex;flex-direction:column}
  .step h3{font-size:1.25rem}
  .step .body > p{font-size:0.9rem;color:var(--ink-soft);margin:0 auto 12px}
  .step ul{list-style:none;text-align:left;margin:4px 0 16px;flex:1}
  .step li{font-size:0.85rem;color:var(--ink-soft);padding:4px 0 4px 24px;position:relative}
  .step li::before{content:"";position:absolute;left:0;top:9px;width:14px;height:14px;border-radius:50%;background:var(--gold);box-shadow:inset 0 0 0 3px #fff,0 0 0 1px var(--gold)}
  .step .pill{display:inline-block;background:var(--gold-soft);color:var(--gold-2);font-weight:700;border-radius:999px;padding:8px 20px;font-size:0.9rem;align-self:center}
  @media (max-width:980px){.steps{grid-template-columns:1fr 1fr}.step .n::after{display:none}}
  @media (max-width:560px){.steps{grid-template-columns:1fr}}

  /* schools */
  .sch{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:start}
  .sch h2{font-size:clamp(1.7rem,3vw,2.4rem)}
  .sch h2 u{text-decoration:none;background:linear-gradient(transparent 70%,var(--gold-line) 70%)}
  .sch .lead{color:var(--ink-soft);margin:14px 0 24px}
  .sch-feats{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-bottom:26px}
  .sch-feats > div{display:flex;gap:12px;align-items:flex-start}
  .sch-feats b{display:block;font-size:0.95rem;color:var(--navy);line-height:1.3;margin-bottom:2px}
  .sch-feats span{font-size:0.85rem;color:var(--ink-soft);line-height:1.45}
  .sch-actions{display:flex;flex-wrap:wrap;gap:12px}
  .sch-right .img{position:relative;aspect-ratio:16/9;border-radius:22px 22px 0 0;overflow:hidden}
  .sch-right .quote{position:absolute;left:22px;top:22px;background:rgba(251,248,242,.94);border-radius:14px;padding:16px 18px;max-width:230px;font-size:0.85rem;color:var(--ink);line-height:1.45}
  .sch-right .quote::before{content:"\201C";font-family:var(--serif);font-size:2rem;color:var(--gold);line-height:.6;display:block;margin-bottom:6px}
  .sch-right .quote small{display:block;margin-top:8px;color:var(--ink-soft)}
  .sch-right .list{background:#fff;border:1px solid var(--line);border-top:none;border-radius:0 0 22px 22px;padding:22px 26px}
  .sch-right .list .hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
  .sch-right .list .hd h3{margin:0}
  .sch-right .list .hd span{font-size:0.75rem;background:var(--gold-soft);color:var(--gold-2);font-weight:600;padding:5px 12px;border-radius:999px}
  .sch-right ul{list-style:none}
  .sch-right li{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:0.92rem}
  .sch-right li:last-child{border:none}
  .sch-right li b{color:var(--gold-2);font-weight:700;white-space:nowrap}
  .benefits{margin-top:24px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .benefits > div{display:flex;gap:12px;align-items:flex-start;border-right:1px solid var(--line);padding-right:14px}
  .benefits > div:last-child{border:none}
  .benefits b{display:block;font-size:0.9rem;color:var(--navy)}
  .benefits span{font-size:0.8rem;color:var(--ink-soft);line-height:1.4}
  @media (max-width:980px){.sch{grid-template-columns:1fr}.benefits{grid-template-columns:1fr 1fr}.benefits div{border:none}}
  @media (max-width:560px){.sch-feats,.benefits{grid-template-columns:1fr}}

  /* counsellor + testimonials */
  .about{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:stretch}
  .about-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:center}
  .portrait{aspect-ratio:4/5;border-radius:18px;background:linear-gradient(160deg,var(--gold-soft),var(--cream-2));border:1px solid var(--gold-line);display:flex;align-items:flex-end;padding:16px;color:var(--ink-soft);font-size:0.8rem}
  .about-card h2{font-size:clamp(1.5rem,2.4vw,2rem)}
  .about-card p{font-size:0.93rem;color:var(--ink-soft);margin-bottom:12px}
  .creds{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
  .creds span{background:var(--gold-soft);color:var(--navy);border:1px solid var(--gold-line);border-radius:999px;padding:6px 12px;font-size:0.78rem;font-weight:500}
  .testi{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;display:flex;flex-direction:column}
  .testi .mark{font-family:var(--serif);font-size:3.5rem;color:var(--gold);line-height:.6;margin:10px 0 18px}
  .testi blockquote{font-family:var(--serif);font-style:italic;font-size:1.15rem;line-height:1.5;color:var(--navy);flex:1}
  .testi cite{display:block;font-style:normal;font-size:0.85rem;color:var(--ink-soft);margin-top:14px}
  .testi .ctrls{display:flex;justify-content:space-between;align-items:center;margin-top:18px}
  .dots{display:flex;gap:8px}
  .dots i{width:8px;height:8px;border-radius:50%;background:var(--line)}
  .dots i.on{background:var(--gold)}
  .arrows button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--navy);font-size:1rem;margin-left:8px}
  .arrows button:hover{border-color:var(--gold)}
  @media (max-width:980px){.about{grid-template-columns:1fr}.about-card{grid-template-columns:1fr}.portrait{max-width:240px}}

  /* faq */
  .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:26px;overflow:hidden;border:1px solid var(--line);background:#fff}
  .faq-left{padding:40px 36px}
  .faq-left .sub{margin-bottom:22px}
  details{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:#fff;overflow:hidden}
  details[open]{background:var(--cream)}
  summary{cursor:pointer;font-weight:600;padding:14px 48px 14px 14px;list-style:none;position:relative;color:var(--navy);display:flex;align-items:center;gap:14px;font-size:0.95rem}
  summary::-webkit-details-marker{display:none}
  summary .badge{width:38px;height:38px}
  summary .badge .ico{width:18px;height:18px}
  summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--gold-2);font-weight:400}
  details[open] summary::after{content:"−"}
  details p{padding:0 16px 16px 66px;color:var(--ink-soft);font-size:0.92rem}
  .faq-right{position:relative;min-height:520px}
  .faq-right img{position:absolute;inset:0}
  .faq-right .q{position:absolute;right:28px;top:34px;max-width:220px;font-family:var(--serif);font-style:italic;color:var(--navy);background:rgba(251,248,242,.9);padding:14px 16px;border-left:3px solid var(--gold);font-size:1rem;line-height:1.4}
  .faq-right .q small{display:block;font-family:var(--sans);font-style:normal;font-size:0.7rem;letter-spacing:.14em;margin-top:8px;color:var(--ink-soft)}
  .faq-right .still{position:absolute;left:28px;right:28px;bottom:28px;background:#fff;border-radius:18px;padding:18px 20px;display:flex;align-items:center;gap:16px;box-shadow:0 14px 34px rgba(14,42,79,.18)}
  .faq-right .still b{display:block;color:var(--navy);font-family:var(--serif);font-size:1.1rem}
  .faq-right .still span{font-size:0.82rem;color:var(--ink-soft)}
  .faq-right .still .btn{margin-left:auto;padding:12px 20px;font-size:0.9rem;white-space:nowrap}
  @media (max-width:980px){.faq-grid{grid-template-columns:1fr}.faq-right{min-height:420px}.faq-right .still{flex-wrap:wrap}.faq-right .still .btn{margin-left:0}}

  /* booking */
  .book{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}
  .book-left{display:flex;flex-direction:column}
  .book-left .pts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 24px}
  .book-left .pts > div{display:flex;gap:10px;align-items:flex-start}
  .book-left .pts b{display:block;font-size:0.88rem;color:var(--navy)}
  .book-left .pts span{font-size:0.78rem;color:var(--ink-soft);line-height:1.4}
  .book-left .img{border-radius:22px;overflow:hidden;flex:1;min-height:260px}
  .form{background:#fff;border-radius:22px;padding:30px;border:1px solid var(--line);display:grid;gap:14px;box-shadow:0 16px 44px rgba(14,42,79,.08)}
  .form label{font-size:0.85rem;font-weight:600;display:grid;gap:6px;color:var(--navy)}
  .form input,.form select,.form textarea{font:inherit;font-size:0.95rem;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);width:100%}
  .form input:focus,.form select:focus,.form textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px var(--gold-soft)}
  .form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .form .privacy{font-size:0.78rem;color:var(--ink-soft);text-align:center}
  .form .btn{width:100%}
  .form .foot{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid var(--line);padding-top:16px;margin-top:4px}
  .form .foot > div{display:flex;gap:8px;align-items:center;font-size:0.75rem;color:var(--ink-soft);line-height:1.3}
  .confirm{display:none;background:var(--gold-soft);border-radius:12px;padding:16px;font-weight:500;color:var(--navy)}
  @media (max-width:900px){.book{grid-template-columns:1fr}.form .row{grid-template-columns:1fr}.book-left .pts{grid-template-columns:1fr}}

  /* final cta */
  .final{position:relative;overflow:hidden;padding:0;background:#fff}
  .final .grid{display:grid;grid-template-columns:1fr 1fr;min-height:440px}
  .final .txt{padding:64px 24px 64px max(24px,calc((100vw - var(--max))/2 + 24px));display:flex;flex-direction:column;justify-content:center}
  .final h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.1}
  .final h2 span{color:var(--gold)}
  .final p{color:var(--ink-soft);font-size:1.05rem;margin:12px 0 24px}
  .final .acts{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}
  .final .pts{display:flex;flex-wrap:wrap;gap:10px 0}
  .final .pts > div{display:flex;gap:10px;align-items:center;padding:0 18px 0 0;margin-right:18px;border-right:1px solid var(--line);font-size:0.82rem}
  .final .pts > div:last-child{border:none}
  .final .pts b{display:block;color:var(--navy);font-size:0.85rem}
  .final .pts span{color:var(--ink-soft)}
  .final .img{position:relative;min-height:320px}
  .final .img img{position:absolute;inset:0}
  .final .img::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,0) 30%);z-index:1}
  @media (max-width:900px){.final .grid{grid-template-columns:1fr}.final .txt{padding:48px 24px}}

  /* footer */
  footer{background:var(--cream-2);padding:52px 0 28px;font-size:0.9rem;color:var(--ink-soft);border-top:1px solid var(--line)}
  .foot{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:28px;margin-bottom:36px}
  .foot-logo{height:62px;width:auto;mix-blend-mode:multiply;margin-bottom:12px}
  .foot h4{font-family:var(--serif);font-size:1.05rem;font-weight:600;color:var(--navy);margin-bottom:10px}
  .foot a{display:block;padding:3px 0;font-size:0.88rem}
  .foot a:hover{color:var(--gold-2)}
  .foot .col{border-left:1px solid var(--line);padding-left:22px}
  .social{display:flex;gap:10px;margin-top:14px}
  .social a{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;padding:0}
  .social .ico{width:18px;height:18px}
  .foot-bottom{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:0.8rem}
  .foot-bottom a{display:inline;margin-left:14px}
  @media (max-width:980px){.foot{grid-template-columns:1fr 1fr 1fr}.foot > div:first-child{grid-column:1/-1}.foot .col{border:none;padding:0}}
  @media (max-width:560px){.foot{grid-template-columns:1fr 1fr}}

  .sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;padding:12px 16px;background:#fff;border-top:2px solid var(--gold);z-index:40}
  .sticky-cta .btn{width:100%}
  @media (max-width:700px){.sticky-cta{display:block}body{padding-bottom:76px}}

  /* booking tabs + slot picker */
  .tabs{display:flex;gap:6px;background:var(--cream-2);padding:6px;border-radius:999px;margin-bottom:18px}
  .tabs button{flex:1;border:0;background:transparent;padding:10px 12px;border-radius:999px;font:inherit;font-weight:600;color:var(--ink-soft);cursor:pointer}
  .tabs button[aria-selected="true"]{background:#fff;color:var(--navy);box-shadow:0 2px 8px rgba(14,42,79,.08)}
  .slots{display:flex;flex-wrap:wrap;gap:8px;min-height:40px}
  .slots button{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font:inherit;font-size:0.88rem;cursor:pointer;color:var(--navy)}
  .slots button[aria-pressed="true"]{background:var(--gold);border-color:var(--gold)}
  .slots .none{font-size:0.85rem;color:var(--ink-soft)}
  .price-line{display:flex;justify-content:space-between;align-items:center;background:var(--gold-soft);border-radius:12px;padding:12px 16px;font-size:0.9rem}
  .price-line b{font-family:var(--serif);font-size:1.3rem;color:var(--navy)}
  .msg{display:none;border-radius:12px;padding:16px;font-weight:500}
  .msg.ok{display:block;background:var(--gold-soft);color:var(--navy)}
  .msg.err{display:block;background:#fde8e8;color:#8a1f1f}
  .msg a.btn{margin-top:10px}
  .hidden{display:none!important}

/* Career Clarity mini quiz */
.quiz-section{background:linear-gradient(135deg,#fff 0%,var(--cream-2) 100%)}
.quiz-wrap{display:grid;grid-template-columns:.82fr 1.18fr;gap:54px;align-items:center}
.quiz-intro h2 span{color:var(--gold-2)}
.quiz-trust{display:flex;flex-direction:column;gap:8px;margin-top:22px;color:var(--ink-soft);font-size:.88rem}
.quiz-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 18px 48px rgba(14,42,79,.1);min-height:390px}
.quiz-progress{display:flex;align-items:center;gap:14px;margin-bottom:28px;color:var(--ink-soft);font-size:.78rem;font-weight:600}
.quiz-progress>div{height:7px;background:var(--cream-3);border-radius:999px;flex:1;overflow:hidden}.quiz-progress i{display:block;height:100%;width:0;background:var(--gold);border-radius:999px;transition:width .25s}
#quiz-question h3{font-size:1.6rem;margin-bottom:22px}
.quiz-options{display:grid;gap:11px}.quiz-options button{display:flex;align-items:center;text-align:left;gap:13px;border:1.5px solid var(--line);background:#fff;color:var(--ink);border-radius:14px;padding:14px 16px;font:inherit;cursor:pointer;transition:.18s}
.quiz-options button:hover{border-color:var(--gold);background:var(--gold-soft);transform:translateY(-1px)}.quiz-options button span{width:30px;height:30px;border-radius:50%;background:var(--cream-2);display:grid;place-items:center;color:var(--navy);font-weight:700;flex:none}
.quiz-result{text-align:center;padding:6px 4px}.quiz-result-icon{width:62px;height:62px;border-radius:50%;background:var(--gold-soft);color:var(--gold-2);display:grid;place-items:center;font-size:2rem;margin:0 auto 14px}.quiz-result h3{font-size:2rem}.quiz-result>p{margin-left:auto;margin-right:auto}.quiz-disclaimer{margin-top:14px;font-size:.82rem;color:var(--ink-soft)}.quiz-result-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}
@media(max-width:900px){.quiz-wrap{grid-template-columns:1fr}.quiz-card{min-height:0}}

/* Career Canvas AI assistant */
.cc-chat{position:fixed;right:24px;bottom:24px;z-index:60;font-family:var(--sans)}
.cc-chat-launch{border:0;border-radius:999px;background:var(--navy);color:#fff;box-shadow:0 12px 32px rgba(14,42,79,.28);padding:13px 18px;display:flex;align-items:center;gap:9px;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.cc-chat-launch .ico{stroke:var(--gold);width:20px;height:20px}
.cc-chat-panel{position:absolute;right:0;bottom:60px;width:min(390px,calc(100vw - 32px));max-height:min(610px,78vh);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 70px rgba(14,42,79,.25);overflow:hidden}
.cc-chat-head{background:var(--navy);color:#fff;padding:15px 16px;display:flex;justify-content:space-between;align-items:center}.cc-chat-head b{display:block}.cc-chat-head span{display:block;color:#d9e1ec;font-size:.72rem;margin-top:1px}.cc-chat-head button{border:0;background:transparent;color:#fff;font-size:1.65rem;line-height:1;cursor:pointer}
.cc-chat-audience{padding:10px 12px 0;display:flex;gap:7px}.cc-chat-audience button,.cc-chat-quick button{border:1px solid var(--line);background:var(--cream);border-radius:999px;padding:7px 10px;font:inherit;font-size:.72rem;color:var(--navy);cursor:pointer}.cc-chat-audience button.on{background:var(--gold-soft);border-color:var(--gold)}
.cc-chat-messages{padding:14px;height:260px;overflow:auto;background:#fbfcfd;display:flex;flex-direction:column;gap:9px}.cc-bubble{max-width:88%;padding:10px 12px;border-radius:14px;font-size:.82rem;line-height:1.5;white-space:pre-wrap}.cc-bubble.bot{background:var(--cream-2);align-self:flex-start}.cc-bubble.user{background:var(--navy);color:#fff;align-self:flex-end}.cc-bubble.wait{opacity:.65}
.cc-chat-quick{padding:0 12px 9px;display:flex;gap:6px;overflow-x:auto}.cc-chat-quick button{white-space:nowrap}
#cc-chat-form{display:flex;border-top:1px solid var(--line);padding:10px;gap:8px}#cc-chat-form input{flex:1;border:1px solid var(--line);border-radius:999px;padding:10px 13px;font:inherit;font-size:.82rem;min-width:0}#cc-chat-form button{width:40px;height:40px;border:0;border-radius:50%;background:var(--gold);color:var(--navy);font-size:1.1rem;cursor:pointer}
.cc-chat-note{font-size:.66rem!important;line-height:1.35!important;color:var(--ink-soft)!important;padding:0 14px 12px;margin:0!important}
@media(max-width:700px){.cc-chat{right:14px;bottom:88px}.cc-chat-launch span{display:none}.cc-chat-launch{width:48px;height:48px;padding:0;justify-content:center}.cc-chat-panel{bottom:58px}.cc-chat-messages{height:235px}}

/* Guidance videos */
.video-section{padding-top:78px;padding-bottom:78px}
.video-head{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:end;margin-bottom:30px}
.video-head h2{margin-bottom:0}.video-head .sub{margin:0}
.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.video-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 12px 36px rgba(14,42,79,.06)}
.video-frame{position:relative;aspect-ratio:16/9;background:#0b1728;overflow:hidden}
.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.video-body{padding:18px 18px 20px}.video-body h3{font-size:1.08rem;margin:8px 0 7px;color:var(--navy)}.video-body p{font-size:.88rem;color:var(--ink-soft);margin:0;line-height:1.6}
.video-cat{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--navy);background:var(--gold-soft);padding:5px 9px;border-radius:999px}
@media(max-width:900px){.video-head{grid-template-columns:1fr}.video-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.video-grid{grid-template-columns:1fr}.video-section{padding-top:56px;padding-bottom:56px}}
.notify-consent{display:flex!important;align-items:flex-start;gap:9px!important;font-size:.76rem!important;font-weight:500!important;line-height:1.45;color:var(--ink-soft)!important;margin:0!important}.notify-consent input{margin-top:3px;flex:0 0 auto}
