/*
  CuratedPrep multipage UI system
  1. Mobile stacks content and media; desktop uses editorial two-column layouts.
  2. Spacing follows an 8px grid. Display serif type pairs with restrained sans-serif body text.
  3. Colors: paper #f4efe6, ink #171713, green #112f27, gold #856124.
  4. Focal point: a clear academic route for each student, supported by one coordinated team.
*/
*,*::before,*::after{box-sizing:border-box}
  *{margin:0}
  :root{
    color-scheme:light only;
    --paper:#f4efe6;
    --paper-deep:#e9dfcf;
    --ivory:#fbf8f1;
    --ink:#171713;
    --muted:#453f36;
    --line:rgba(23,23,19,.16);
    --strong-line:rgba(23,23,19,.28);
    --green:#112f27;
    --green-2:#183f34;
    --gold:#856124;
    --gold-soft:#c4a46b;
    --white-line:rgba(244,239,230,.18);
    --radius:8px;
    --ease:cubic-bezier(.16,1,.3,1);
  }

  html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
  body{
    font-family:"Inter",system-ui,sans-serif;
    background:var(--paper);
    color:var(--ink);
    line-height:1.55;
    overflow-x:hidden;
    font-kerning:normal;
    font-feature-settings:"kern" 1,"liga" 1;
  }
  .cp-site{
    position:relative;left:50%;right:50%;
    width:100vw;max-width:100vw;min-height:100vh;
    margin-left:-50vw;margin-right:-50vw;
    background:var(--paper);color:var(--ink);
    font-family:"Inter",system-ui,sans-serif;
    line-height:1.55;overflow-x:hidden;isolation:isolate;
    font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1;
  }
  .cp-site *,.cp-site *::before,.cp-site *::after{box-sizing:border-box}
  .cp-site :where(h1,h2,h3,p,a,div,span,section,article,aside,form,label,input,select,textarea,button){margin:0}
  body::before,.cp-site::before{
    content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.045;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");
    mix-blend-mode:multiply;
  }
  ::selection{background:var(--green);color:var(--paper)}
  a{color:inherit}
  img,svg{display:block;max-width:100%}
  .cp-site a:focus-visible,.cp-site button:focus-visible,.cp-site input:focus-visible,
  .cp-site select:focus-visible,.cp-site textarea:focus-visible{
    outline:2px solid var(--gold-soft);outline-offset:3px;
  }

  .shell{width:min(calc(100% - 48px),1320px);margin-inline:auto}
  .eyebrow{
    font-family:"IBM Plex Mono",monospace;
    font-size:11px;line-height:1;
    letter-spacing:.12em;text-transform:uppercase;
    color:var(--gold);
  }
  .section{padding:clamp(86px,11vw,150px) 0}
  .section-head{
    display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);
    gap:clamp(28px,6vw,86px);align-items:start;margin-bottom:clamp(42px,6vw,76px);
  }
  h1,h2,h3,.wordmark{font-family:"Source Serif 4",Georgia,serif;font-weight:500;letter-spacing:0}
  h2{font-size:clamp(38px,4.8vw,66px);line-height:1.1;max-width:16.5ch;text-wrap:balance}
  h2 span,h1 .accent{color:var(--gold);font-style:italic}
  .lead{font-size:clamp(18px,1.55vw,22px);line-height:1.72;color:var(--muted);max-width:62ch;text-wrap:pretty}
  .muted{color:var(--muted)}
  .lead,.hero-text,.brief-card p,.principle p,
  .programme p:not(.programme-meta),.seo-cluster p,.journey-sticky p,.stage p,
  .experience-panel p:not(.signature),.contact-row p,.form-note{
    text-align:justify;text-align-last:left;text-wrap:pretty;hyphens:none;-webkit-hyphens:none;
  }
  .roadmap-step p,.roadmap-note p{
    text-align:justify;text-align-last:left;text-justify:inter-word;text-wrap:pretty;hyphens:none;-webkit-hyphens:none;
  }
  .contact-row a,footer p{
    text-align:left;text-wrap:pretty;hyphens:none;-webkit-hyphens:none;
  }

  .nav{
    position:fixed;inset:0 0 auto 0;z-index:30;
    height:78px;border-bottom:1px solid transparent;
    transition:height .35s var(--ease),background .35s var(--ease),border-color .35s var(--ease);
  }
  .nav.scrolled{height:64px;background:rgba(244,239,230,.86);backdrop-filter:blur(18px) saturate(1.1);border-color:var(--line)}
  .nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}
  .brand{display:flex;align-items:center;gap:12px;text-decoration:none}
  .nav-toggle{
    display:none;width:44px;height:44px;border:1px solid var(--strong-line);border-radius:4px;
    background:rgba(251,248,241,.72);color:var(--ink);place-items:center;cursor:pointer;
  }
  .nav-toggle svg{width:20px;height:20px}
  .mobile-nav{
    display:none;position:absolute;top:100%;left:0;right:0;background:rgba(244,239,230,.97);
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 22px 44px -34px rgba(23,23,19,.72);
    backdrop-filter:blur(18px) saturate(1.1);
  }
  .mobile-nav.open{display:block}
  .mobile-nav-inner{display:grid;padding:12px 0 16px}
  .mobile-nav a{
    display:flex;align-items:center;min-height:46px;border-bottom:1px solid var(--line);
    color:var(--muted);font-size:14px;font-weight:700;text-decoration:none;
  }
  .mobile-nav a:last-child{border-bottom:0}
  .brand-mark{
    width:34px;height:34px;border:1.5px solid var(--ink);border-radius:50%;
    display:grid;place-items:center;color:var(--gold);font-family:"Source Serif 4",serif;font-size:20px;line-height:1;
  }
  .wordmark{font-size:24px;letter-spacing:0}
  .wordmark b{font-weight:400;color:var(--gold)}
  .nav-links{display:flex;align-items:center;gap:24px}
  .nav-links a{
    font-family:"Inter",system-ui,sans-serif;font-size:14px;font-weight:700;letter-spacing:0;text-transform:none;
    text-decoration:none;color:var(--muted);transition:color .2s var(--ease);
  }
  .nav-links a:hover{color:var(--ink)}
  .nav-cta{
    min-height:44px;display:inline-flex;align-items:center;justify-content:center;
    text-decoration:none;background:rgba(248,245,238,.66);color:var(--trust);
    padding:0 18px;border:1px solid rgba(16,50,74,.24);border-radius:999px;
    font-family:"Inter",system-ui,sans-serif;font-size:13.5px;font-weight:700;letter-spacing:0;text-transform:none;
    transition:color .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease);
  }
  .nav-cta:hover{background:rgba(16,50,74,.06);border-color:rgba(16,50,74,.42);color:var(--trust)}

  .hero{
    position:relative;min-height:auto;padding:124px 0 58px;
    display:grid;align-items:center;overflow:hidden;
  }
  .hero-grid{
    position:relative;z-index:1;
    display:grid;grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);
    gap:clamp(42px,6vw,92px);align-items:center;
  }
  .hero-copy{position:relative;top:-120px;padding-bottom:0}
  .hero-kicker{display:flex;align-items:center;gap:16px;margin-bottom:28px}
  .hero-kicker::before,.hero-kicker::after{content:"";width:56px;height:1px;background:var(--gold);flex:0 0 auto}
  h1{font-size:clamp(54px,7.15vw,100px);line-height:1.08;max-width:13.2ch;margin-bottom:32px;text-wrap:balance}
  .hero-wordmark{
    display:inline-block;font-family:"Source Serif 4",Georgia,serif;font-weight:500;
    color:var(--ink);font-style:normal;white-space:nowrap;
  }
  .hero-wordmark b{font-weight:400;color:var(--gold)}
  .hero-wordmark .brand-dot{color:var(--ink)}
  .hero-text{font-size:clamp(18px,1.45vw,21px);line-height:1.78;color:var(--muted);max-width:59ch;margin-bottom:34px}
  .hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
  .button{
    display:inline-flex;align-items:center;justify-content:center;gap:12px;
    min-height:52px;padding:0 23px;border:1px solid var(--ink);border-radius:2px;
    text-decoration:none;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
    white-space:normal;text-align:center;
    transition:transform .2s var(--ease),background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
  }
  .button:active{transform:translateY(1px) scale(.99)}
  .button.primary{background:var(--ink);color:var(--paper)}
  .button.primary:hover{background:var(--green);border-color:var(--green)}
  .button.secondary:hover{background:var(--paper-deep)}
  .arrow{width:15px;height:15px}

  .advisory-visual{
    position:relative;min-height:auto;
    display:grid;grid-template-rows:auto auto;gap:22px;
  }
  .roadmap-panel{
    position:relative;border-radius:var(--radius);overflow:hidden;
    min-height:438px;border:1px solid var(--strong-line);
    background:linear-gradient(145deg,var(--ivory),var(--paper-deep));
    box-shadow:0 34px 90px -58px rgba(23,23,19,.65);
    padding:28px;
    display:grid;grid-template-rows:auto 1fr auto;gap:24px;
  }
  .roadmap-top{
    display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
    padding-bottom:22px;border-bottom:1px solid var(--line);
  }
  .roadmap-title span{
    display:block;font-family:"Inter",system-ui,sans-serif;font-size:12px;font-weight:700;
    letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;
  }
  .roadmap-title h2{
    font-size:clamp(25px,2.25vw,32px);line-height:1.14;max-width:22ch;margin:0;
  }
  .roadmap-badge{
    border:1px solid var(--line);border-radius:999px;padding:9px 12px;
    font-family:"Inter",system-ui,sans-serif;font-size:12px;font-weight:700;color:var(--green);
    white-space:nowrap;background:rgba(255,255,255,.28);
  }
  .roadmap-flow{display:grid;grid-template-columns:1fr;gap:12px}
  .roadmap-step{
    display:grid;grid-template-columns:42px 1fr auto;gap:16px;align-items:center;
    padding:16px;border:1px solid var(--line);border-radius:7px;background:rgba(251,248,241,.66);
  }
  .roadmap-step strong{
    width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
    background:var(--green);color:var(--paper);font-family:"IBM Plex Mono",monospace;font-size:12px;
  }
  .roadmap-step h3{
    font-family:"Inter",system-ui,sans-serif;font-size:16px;font-weight:800;letter-spacing:0;line-height:1.2;margin-bottom:4px;
  }
  .roadmap-step p{
    color:var(--muted);font-size:14px;line-height:1.45;text-align:left;
  }
  .roadmap-step em{
    font-style:normal;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.08em;
    color:var(--gold);text-transform:uppercase;
  }
  .roadmap-note{
    display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--line);background:var(--line);border-radius:7px;overflow:hidden;
  }
  .roadmap-note div{background:rgba(251,248,241,.78);padding:16px}
  .roadmap-note span{
    display:block;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
    color:var(--gold);margin-bottom:8px;
  }
  .roadmap-note p{font-size:14px;line-height:1.55;color:var(--muted);text-align:left}
  .brief-card{
    position:relative;width:100%;
    background:rgba(251,248,241,.94);backdrop-filter:blur(10px);
    border:1px solid rgba(23,23,19,.18);border-radius:var(--radius);
    padding:24px 26px;box-shadow:0 18px 54px -42px rgba(23,23,19,.65);
  }
  .brief-card .eyebrow{font-family:"Inter",system-ui,sans-serif;font-size:12px;font-weight:800;letter-spacing:.08em;margin-bottom:16px}
  .brief-card h2{font-size:30px;line-height:1.08;max-width:none;margin-bottom:14px}
  .brief-card p{font-size:16px;line-height:1.72;color:var(--muted);max-width:62ch}
  /*
    Student review carousel
    1. Mobile: one card per swipe using scroll-snap. Desktop/tablet: horizontal review rail with multiple visible cards.
    2. Spacing: 8px grid, 18-24px card padding, 44px minimum swipe/focus target.
    3. Tokens: paper surface, muted ink, restrained gold metadata.
    4. Focal point: credible student voice without an auto-moving distraction.
  */
  .testimonial-marquee{
    border-block:1px solid var(--line);background:var(--paper-deep);overflow:hidden;padding:22px 0 24px;
  }
  .testimonial-head{
    width:min(calc(100% - 48px),1320px);margin:0 auto 15px;
    display:flex;align-items:end;justify-content:space-between;gap:18px;
  }
  .testimonial-marquee-title,.testimonial-hint{
    font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
  }
  .testimonial-hint{color:var(--muted);font-size:9.5px;opacity:.76}
  .review-track{
    display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;scroll-padding-inline:max(18px,calc((100vw - 1320px)/2 + 24px));
    padding:0 max(18px,calc((100vw - 1320px)/2 + 24px)) 6px;
    -webkit-overflow-scrolling:touch;
  }
  .review-track:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
  .review-track::-webkit-scrollbar{height:6px}
  .review-track::-webkit-scrollbar-thumb{background:rgba(133,97,36,.25);border-radius:999px}
  .review-card{
    width:min(390px,calc(100vw - 54px));min-height:246px;padding:18px;
    flex:0 0 min(390px,calc(100vw - 54px));scroll-snap-align:center;
    display:flex;flex-direction:column;justify-content:space-between;gap:15px;
    border:1px solid var(--line);border-radius:7px;background:rgba(251,248,241,.9);
    box-shadow:0 16px 42px -38px rgba(23,23,19,.76);white-space:normal;
  }
  .review-card-head{display:flex;align-items:center;gap:13px}
  .review-avatar{
    width:58px;height:58px;flex:0 0 auto;border:1px solid rgba(23,23,19,.14);
    border-radius:50%;overflow:hidden;background:var(--ivory);object-fit:cover;object-position:center;
  }
  .review-card h3{
    font-family:"Inter",system-ui,sans-serif;font-size:15px;font-weight:800;line-height:1.15;
  }
  .review-school{
    margin-top:5px;font-size:12px;line-height:1.25;color:var(--muted);font-weight:600;
  }
  .review-service{
    margin-top:5px;font-family:"IBM Plex Mono",monospace;font-size:8.8px;letter-spacing:.1em;
    text-transform:uppercase;color:var(--gold);
  }
  .review-card blockquote{
    color:var(--muted);font-size:15.5px;line-height:1.55;text-wrap:pretty;
  }
  .review-rating-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .review-stars{
    --rating:100%;position:relative;display:inline-block;color:rgba(133,97,36,.28);
    font-size:15px;line-height:1;letter-spacing:3px;
  }
  .review-stars::before,.review-stars::after{content:"★★★★★"}
  .review-stars::after{position:absolute;inset:0 auto 0 0;width:var(--rating);overflow:hidden;color:var(--gold);white-space:nowrap}
  .review-score{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.08em;color:var(--muted)}

  .manifesto{background:var(--green);color:var(--paper)}
  .manifesto .section-head{align-items:end}
  .manifesto .eyebrow{color:var(--gold-soft)}
  .manifesto h2{color:var(--paper);max-width:15.5ch}
  .manifesto .lead{color:rgba(244,239,230,.84)}
  .principles{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(34px,6vw,88px);align-items:start}
  .principle-copy{
    font-family:"Source Serif 4",Georgia,serif;font-size:clamp(30px,4vw,54px);
    line-height:1.18;letter-spacing:0;color:var(--paper);max-width:16ch;text-wrap:balance;
  }
  .principle-copy span{color:var(--gold-soft);font-style:italic}
  .principle-list{border-top:1px solid var(--white-line)}
  .principle{display:grid;grid-template-columns:72px 1fr;gap:22px;padding:26px 0;border-bottom:1px solid var(--white-line)}
  .principle b{font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--gold-soft);letter-spacing:.12em}
  .principle h3{font-size:27px;line-height:1.1;margin-bottom:10px;color:var(--paper)}
  .principle p{color:rgba(244,239,230,.82);font-size:15.8px;line-height:1.78;max-width:58ch}

  .programmes{background:var(--paper)}
  .programmes .section-head{
    grid-template-columns:.55fr minmax(0,1.35fr) .5fr;
    gap:clamp(24px,5vw,78px);
  }
  .programmes .section-head > div:last-child{grid-column:2/3}
  .programmes .section-head h2{max-width:18ch}
  .programmes .section-head h2 .line{display:block;color:var(--ink);font-style:normal}
  .programme-list{border-top:1px solid var(--strong-line)}
  .programme{
    display:grid;grid-template-columns:.55fr 1.35fr .5fr;gap:clamp(24px,5vw,78px);
    padding:clamp(34px,5vw,58px) 0;border-bottom:1px solid var(--line);align-items:start;
  }
  .programme-label{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
  .programme h3{font-size:clamp(31px,4vw,54px);line-height:1.02;margin-bottom:16px}
  .programme p:not(.programme-meta){color:var(--muted);font-size:17px;line-height:1.78;max-width:62ch}
  .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
  .chip{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--green);border:1px solid var(--line);padding:7px 10px;border-radius:999px}
  .programme-meta{font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.105em;text-transform:uppercase;color:var(--muted);line-height:1.85;text-align:justify;text-align-last:left;text-justify:inter-word}
  .seo-clusters{
    margin-top:clamp(42px,6vw,72px);display:grid;grid-template-columns:1fr 1fr;gap:1px;
    border:1px solid var(--line);background:var(--line);
  }
  .seo-cluster{background:rgba(251,248,241,.52);padding:clamp(24px,3vw,38px)}
  .seo-cluster h3{font-family:"Inter",system-ui,sans-serif;font-size:18px;font-weight:800;letter-spacing:0;margin-bottom:14px}
  .seo-cluster p{font-size:16px;line-height:1.75;color:var(--muted);text-wrap:pretty}

  .journey{background:linear-gradient(180deg,var(--paper-deep),var(--paper))}
  .journey-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(38px,7vw,94px)}
  .journey-sticky{position:sticky;top:100px;align-self:start}
  .journey-sticky h2{margin-top:18px}
  .journey-sticky p{margin-top:26px;color:var(--muted);font-size:17px;line-height:1.82;max-width:40ch}
  .timeline{border-left:1px solid var(--strong-line)}
  .stage{position:relative;padding:0 0 48px clamp(28px,4vw,56px)}
  .stage::before{content:"";position:absolute;left:-5px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 8px rgba(133,97,36,.1)}
  .stage:last-child{padding-bottom:0}
  .stage .eyebrow{margin-bottom:12px}
  .stage h3{font-size:clamp(28px,3.4vw,43px);line-height:1.08;margin-bottom:13px}
  .stage p{font-size:16.5px;line-height:1.8;color:var(--muted);max-width:62ch}

  .experience{background:var(--ivory)}
  .experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
  .experience-panel{background:var(--ivory);padding:clamp(30px,4vw,54px)}
  .experience-panel.wide{grid-column:span 2;display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(28px,6vw,80px);align-items:center}
  .experience-panel h3{font-size:clamp(28px,3.4vw,44px);line-height:1.08;margin-bottom:18px}
  .experience-panel p{color:var(--muted);line-height:1.8;font-size:16.5px;max-width:62ch}
  .signature{
    font-family:"Source Serif 4",serif;font-size:clamp(34px,4.7vw,66px);line-height:1.14;letter-spacing:0;color:var(--green);text-wrap:balance;
  }
  .signature span{color:var(--gold);font-style:italic}

  .contact{background:var(--green);color:var(--paper)}
  /*
    Contact anchor landing correction
    1. Mobile stacks the consultation copy above the form; desktop keeps copy and form side-by-side.
    2. Spacing scale: reduced top padding on the 8px grid so anchor jumps land with the form and heading slightly higher.
    3. Color tokens: existing Oxford navy/green contact field with ivory controls and brass labels.
    4. Focal point: the enquiry form appears immediately as the primary action after clicking Request a consultation.
  */
  .contact.section{padding-top:clamp(56px,7vw,112px)}
  .contact-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(40px,7vw,96px);align-items:start}
  .contact h2{color:var(--paper);max-width:11ch;margin:18px 0 24px}
  .contact .lead{color:rgba(244,239,230,.84)}
  .contact-details{margin-top:38px;border-top:1px solid var(--white-line)}
  .contact-row{padding:18px 0;border-bottom:1px solid var(--white-line);display:grid;grid-template-columns:120px 1fr;gap:18px}
  .contact-row span{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-soft)}
  .contact-row a,.contact-row p{color:rgba(244,239,230,.86);text-decoration:none;font-size:15.5px;line-height:1.72}
  /*
    Consultation form
    1. Mobile: one field per row. Desktop: three balanced two-field rows, followed by the full-width optional note.
    2. Spacing: 8px label gap, 18px field gap, and a consistent 52px control height.
    3. Tokens: green field surface, paper text, restrained gold labels.
    4. Focal point: a calm, complete enquiry form with equal visual weight across required fields.
  */
  .form{
    background:rgba(244,239,230,.07);border:1px solid var(--white-line);border-radius:var(--radius);
    padding:clamp(24px,4vw,42px);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  }
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .field{display:flex;flex-direction:column;gap:8px}
  .field.full{grid-column:1/-1}
  label{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-soft)}
  input,select,textarea{
    width:100%;border:1px solid rgba(244,239,230,.22);background:rgba(244,239,230,.08);
    color:var(--paper);border-radius:4px;padding:14px 14px;font:inherit;outline:none;
    transition:border-color .2s var(--ease),background .2s var(--ease);
  }
  input,select{height:55px}
  textarea{min-height:128px;resize:vertical}
  input:focus,select:focus,textarea:focus{border-color:var(--gold-soft);background:rgba(244,239,230,.12)}
  option{color:var(--ink)}
  .form-note{
    font-size:13.5px;color:rgba(244,239,230,.76);line-height:1.7;margin:14px auto 0;
    max-width:68ch;text-align:center;text-align-last:center;
  }
  .form-status{
    display:none;margin-top:16px;padding:13px 14px;border:1px solid var(--white-line);border-radius:6px;
    color:rgba(244,239,230,.9);font-size:14px;line-height:1.55;background:rgba(244,239,230,.08);
  }
  .form-status.show{display:block}
  .form-status.error{border-color:rgba(196,164,107,.7);color:#f4efe6}
  .submit{margin-top:20px;width:100%;background:var(--paper);color:var(--green);border-color:var(--paper)}
  .submit:hover{background:var(--gold-soft);border-color:var(--gold-soft)}
  .hidden-field{position:absolute;left:-9999px;opacity:0;pointer-events:none}
  .lead-dialog{
    position:fixed;inset:0;z-index:80;display:none;place-items:center;padding:24px;
    background:rgba(23,23,19,.42);backdrop-filter:blur(10px);
  }
  .lead-dialog.show{display:grid}
  .lead-dialog-card{
    width:min(440px,100%);background:var(--ivory);color:var(--ink);
    border:1px solid rgba(23,23,19,.18);border-radius:8px;padding:30px;
    box-shadow:0 28px 90px -48px rgba(23,23,19,.9);
  }
  .lead-dialog-card h3{font-size:30px;line-height:1.08;margin-bottom:12px}
  .lead-dialog-card p{font-size:16px;line-height:1.7;color:var(--muted);margin-bottom:22px}
  .lead-dialog-card .button{width:100%;background:var(--ink);color:var(--paper)}

  .home-page,.vision-page,.mentorship-page,.international-page,.testprep-page{
    opacity:1;
    transition:opacity .26s ease;
  }
  .cp-site.route-leaving .home-page,.cp-site.route-leaving .vision-page,.cp-site.route-leaving .mentorship-page,.cp-site.route-leaving .international-page,.cp-site.route-leaving .testprep-page{
    opacity:0;pointer-events:none;
  }
  .vision-page,.mentorship-page,.international-page,.testprep-page{display:none;padding-top:78px;background:var(--paper);min-height:100vh}
  .cp-site.vision-active .home-page{display:none}
  .cp-site.vision-active .vision-page{display:block}
  .cp-site.vision-active .nav-links a[href="#vision"],
  .cp-site.vision-active .mobile-nav a[href="#vision"]{color:var(--gold)}
  .cp-site.mentorship-active .home-page{display:none}
  .cp-site.mentorship-active .mentorship-page{display:block}
  .cp-site.mentorship-active .nav-links a[href="#academic-mentorship"],
  .cp-site.mentorship-active .mobile-nav a[href="#academic-mentorship"]{color:var(--gold)}
  .cp-site.international-active .home-page{display:none}
  .cp-site.international-active .international-page{display:block}
  .cp-site.international-active .nav-links a[href="#international-education"],
  .cp-site.international-active .mobile-nav a[href="#international-education"]{color:var(--gold)}
  .cp-site.testprep-active .home-page{display:none}
  .cp-site.testprep-active .testprep-page{display:block}
  .cp-site.testprep-active .nav-links a[href="#test-prep"],
  .cp-site.testprep-active .mobile-nav a[href="#test-prep"]{color:var(--gold)}
  .vision-editorial{padding:clamp(64px,6vw,88px) 0 clamp(72px,7vw,96px);border-bottom:1px solid var(--line)}
  .vision-editorial-grid{
    display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);
    gap:clamp(48px,7vw,96px);align-items:start;
  }
  .vision-editorial-grid > *,.vision-content-grid > *,.culture-grid > *{min-width:0}
  .vision-intro{max-width:700px;padding:clamp(12px,1.8vw,24px) 0 0 clamp(16px,2.4vw,36px)}
  .vision-intro::before{content:"";display:block;width:72px;height:1px;margin-bottom:26px;background:var(--gold)}
  .vision-intro h1{
    font-size:clamp(46px,4.7vw,68px);line-height:1.06;max-width:12ch;
    margin-bottom:22px;text-align:left;text-wrap:balance;
  }
  .vision-intro .vision-subhead{
    font-family:"Source Serif 4",Georgia,serif;font-size:clamp(25px,2vw,32px);
    line-height:1.25;color:var(--muted);max-width:23ch;margin-bottom:26px;text-align:left;
    hyphens:none;-webkit-hyphens:none;
  }
  .vision-intro p,.vision-text p{
    font-size:clamp(17px,1.15vw,19px);line-height:1.78;color:var(--muted);
    max-width:68ch;text-align:justify;text-align-last:left;text-wrap:pretty;
    hyphens:none;-webkit-hyphens:none;
  }
  .vision-image-card{
    position:relative;margin:0;justify-self:end;width:min(100%,520px);padding:12px;aspect-ratio:4/5;
    border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--ivory);
    box-shadow:0 34px 90px -58px rgba(23,23,19,.65);
  }
  .vision-image-card img{
    width:100%;height:100%;object-fit:cover;object-position:center 47%;background:var(--paper-deep);
    filter:saturate(.96) contrast(.97);
  }
  .mentorship-image-card img{object-position:center}
  .vision-image-card::after{
    content:"";position:absolute;inset:12px;background:linear-gradient(180deg,transparent 62%,rgba(17,47,39,.38));
    pointer-events:none;
  }
  .vision-image-caption{
    position:absolute;left:32px;right:32px;bottom:30px;z-index:1;
    padding-top:14px;border-top:1px solid rgba(244,239,230,.52);
    font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
    color:rgba(244,239,230,.92);
  }
  .vision-content{padding:clamp(68px,8vw,112px) 0}
  .vision-content-grid{
    display:grid;grid-template-columns:minmax(170px,.4fr) minmax(0,1.6fr);
    gap:clamp(34px,7vw,104px);align-items:start;
  }
  .vision-side{
    position:sticky;top:104px;border-top:1px solid var(--line);padding-top:22px;
    color:var(--gold);font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  }
  .vision-text{display:grid;gap:22px;max-width:800px}
  .culture-band{background:var(--green);color:var(--paper);padding:clamp(76px,10vw,136px) 0}
  .culture-band .eyebrow{color:var(--gold-soft)}
  .culture-grid{
    display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);
    gap:clamp(34px,7vw,100px);align-items:start;
  }
  .culture-band h2{color:var(--paper);max-width:11ch;margin-top:18px}
  .culture-copy{display:grid;gap:26px;min-width:0}
  .culture-copy p{
    font-size:clamp(17px,1.15vw,19px);line-height:1.78;color:rgba(244,239,230,.84);
    max-width:68ch;text-align:justify;text-align-last:left;text-wrap:pretty;
    hyphens:none;-webkit-hyphens:none;
  }
  .vision-return{margin-top:34px;max-width:260px}
  .international-stages{padding:clamp(72px,9vw,124px) 0;background:var(--ivory)}
  .international-stage-head{
    display:grid;grid-template-columns:minmax(170px,.4fr) minmax(0,1.6fr);
    gap:clamp(34px,7vw,104px);align-items:end;margin-bottom:clamp(38px,5vw,64px);
  }
  .international-stage-head h2{max-width:14ch}
  .international-stage-grid{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:clamp(34px,6vw,82px);row-gap:clamp(30px,4vw,48px);
  }
  .international-stage{
    display:grid;grid-template-columns:44px minmax(0,1fr);gap:18px;
    padding-top:22px;border-top:1px solid var(--line);
  }
  .international-stage b{
    font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:500;
    letter-spacing:.12em;color:var(--gold);
  }
  .international-stage h3{font-size:clamp(24px,2vw,30px);line-height:1.08;margin-bottom:12px}
  .international-stage p{
    color:var(--muted);font-size:16px;line-height:1.76;max-width:62ch;
    text-align:justify;text-align-last:left;text-wrap:pretty;
    hyphens:none;-webkit-hyphens:none;
  }
  .testprep-sections{padding:clamp(72px,9vw,124px) 0;background:var(--ivory)}
  .testprep-section-head{
    display:grid;grid-template-columns:minmax(170px,.4fr) minmax(0,1.6fr);
    gap:clamp(34px,7vw,104px);align-items:end;margin-bottom:clamp(38px,5vw,64px);
  }
  .testprep-section-head h2{max-width:14ch}
  .testprep-section-list{display:grid}
  .testprep-section{
    display:grid;grid-template-columns:minmax(190px,.42fr) minmax(0,1.58fr);
    gap:clamp(30px,6vw,84px);padding:clamp(32px,4vw,52px) 0;
    border-top:1px solid var(--line);
  }
  .testprep-section:last-child{border-bottom:1px solid var(--line)}
  .testprep-section-label{display:grid;align-content:start;gap:16px}
  .testprep-section h3{font-size:clamp(28px,2.8vw,40px);line-height:1.08;max-width:17ch}
  .testprep-copy{display:grid;gap:18px;max-width:860px}
  .testprep-copy p{
    color:var(--muted);font-size:clamp(16px,1.1vw,18px);line-height:1.78;
    text-align:justify;text-align-last:left;text-wrap:pretty;
    hyphens:none;-webkit-hyphens:none;
  }
  .testprep-copy strong{color:var(--ink);font-weight:700}

  @media(prefers-color-scheme:dark){
    :root{color-scheme:light only}
    html,body{background:var(--paper)!important;color:var(--ink)!important;color-scheme:light only}
    input,select,textarea{background:rgba(244,239,230,.08)!important;color:var(--paper)!important}
  }

  footer{background:var(--ink);color:var(--paper);padding:44px 0}
  .footer-grid{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
  footer p,footer a{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(244,239,230,.52);text-decoration:none}
  .footer-services{text-align:center;text-align-last:center}
  footer a:hover{color:var(--paper)}
  /*
    Footer social links
    1. Mobile: centred beneath footer text. Desktop: compact fourth footer item aligned with the existing row.
    2. Spacing: 4px visual gap with 44px tap targets.
    3. Tokens: muted paper icons with a restrained gold hover state.
    4. Focal point: quiet access to CuratedPrep social channels without competing with the footer content.
  */
  .footer-socials{display:flex;align-items:center;justify-content:center;gap:4px}
  .footer-socials a{
    width:44px;height:44px;display:grid;place-items:center;
    color:rgba(244,239,230,.58);font-size:14px;line-height:1;
    transition:color .2s var(--ease);
  }
  .footer-socials a:hover,.footer-socials a:focus-visible{color:var(--gold-soft)}
  .whatsapp-float{
    position:fixed;right:24px;bottom:24px;z-index:100;
    width:58px;height:58px;border-radius:50%;
    display:grid;place-items:center;background:#113f32;color:var(--paper);
    border:1px solid rgba(244,239,230,.36);box-shadow:0 18px 46px -20px rgba(17,47,39,.82);
    transition:transform .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease);
  }
  .whatsapp-float:hover{transform:translateY(-2px);background:#0b5d45;box-shadow:0 24px 56px -22px rgba(17,47,39,.92)}
  .whatsapp-float svg{width:28px;height:28px}

  .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
  .reveal.in{opacity:1;transform:translateY(0)}

  @media(max-width:1024px){
    .nav-links{display:none}
    .nav{height:70px}
    .nav-inner{gap:14px}
    .wordmark{font-size:21px}
    .brand-mark{width:31px;height:31px;font-size:20px}
    .nav-cta{display:inline-flex;margin-left:auto;min-height:40px;padding:0 14px;font-size:12.5px}
    .nav-toggle{display:grid;flex:0 0 auto}
    .hero{padding-top:108px;padding-bottom:46px}
    .hero-grid,.principles,.journey-grid,.contact-grid{grid-template-columns:1fr}
    h1{font-size:clamp(42px,9vw,70px);max-width:8.7ch;line-height:1.04}
    .hero,.hero-grid,.hero-copy,.hero-text,.advisory-visual,.roadmap-panel,.brief-card{width:100%;max-width:100%;min-width:0}
    .hero-grid{display:block}
    .hero-copy{top:0;width:min(calc(100% - 48px),720px);margin-inline:auto;padding-left:0;padding-right:0;transform:none;text-align:center}
    .hero-copy h1{margin-inline:auto;text-align:center}
    .hero-text{font-size:clamp(16px,2.5vw,19px);line-height:1.72;overflow-wrap:break-word;max-width:36ch;margin-inline:auto;text-align:justify;text-align-last:left;text-justify:inter-word}
    .hero-kicker{width:100%;gap:12px;margin-bottom:22px;justify-content:center;text-align:center}
    .hero-kicker::before,.hero-kicker::after{width:38px}
    .hero-actions{display:grid;grid-template-columns:1fr;gap:14px;width:min(100%,520px);max-width:100%;margin-inline:auto}
    .button{width:100%;min-width:0;padding-inline:12px;font-size:10px;letter-spacing:.075em}
    .advisory-visual{width:min(calc(100% - 48px),720px);margin-inline:auto;min-height:auto;padding-left:0;padding-right:0}
    .roadmap-panel{min-height:auto;padding:clamp(20px,4vw,28px)}
    .roadmap-top{display:grid;gap:14px;justify-items:center;text-align:center}
    .roadmap-title h2{margin-inline:auto;text-align:center}
    .roadmap-badge{justify-self:center}
    .roadmap-step{display:block;padding:18px;text-align:center}
    .roadmap-step strong{width:38px;height:38px;margin-inline:auto}
    .roadmap-step h3{margin-top:14px;text-align:center}
    .roadmap-step p{font-size:14.5px;line-height:1.58;max-width:42ch;margin-inline:auto;text-align:justify;text-align-last:left;text-justify:inter-word}
    .roadmap-step em{display:block;margin-top:12px;text-align:center}
    .roadmap-note{grid-template-columns:1fr;text-align:center}
    .roadmap-note p{max-width:42ch;margin-inline:auto;text-align:justify;text-align-last:left;text-justify:inter-word}
    .brief-card{position:relative;left:auto;bottom:auto;width:100%;margin-top:0;margin-right:0;text-align:center}
    .brief-card p{max-width:42ch;margin-inline:auto;text-align:justify;text-align-last:left;text-justify:inter-word}
    .section-head,.programmes .section-head{grid-template-columns:1fr}
    .programmes .section-head > div:last-child{grid-column:auto}
    .programme{grid-template-columns:1fr;gap:18px}
    .seo-clusters{grid-template-columns:1fr}
    .experience-grid{grid-template-columns:1fr}
    .experience-panel.wide{grid-column:auto;grid-template-columns:1fr}
    .journey-sticky{position:relative;top:auto}
    .vision-editorial-grid,.vision-content-grid,.culture-grid,.international-stage-head,.international-stage-grid,.testprep-section-head,.testprep-section{grid-template-columns:1fr}
    .vision-side{position:relative;top:auto;text-align:center}
    .vision-page .shell,.mentorship-page .shell,.international-page .shell,.testprep-page .shell{width:calc(100vw - 48px);max-width:calc(100vw - 48px);margin-inline:auto}
    .vision-intro{max-width:720px;margin-inline:auto;padding-inline-start:0;text-align:center}
    .vision-intro::before{margin-inline:auto}
    .vision-intro h1,.vision-intro .vision-subhead{margin-inline:auto;text-align:center}
    .vision-text h2{margin-inline:auto;text-align:center}
    .vision-image-card{justify-self:center;width:min(100%,560px);margin:12px auto 0}
    .section-head{gap:20px;text-align:center}
    .section-head h2,.section-head .lead{margin-inline:auto}
    .principle-copy{margin-inline:auto;text-align:center}
    .principle{grid-template-columns:1fr;gap:12px;text-align:center}
    .principle h3{text-align:center}
    .principle p{margin-inline:auto}
    .programme{text-align:center}
    .programme h3,.programme p:not(.programme-meta){margin-inline:auto}
    .chips{justify-content:center}
    .programme-meta{max-width:34ch;margin-inline:auto}
    .seo-cluster h3{text-align:center}
    .journey-sticky{text-align:center}
    .journey-sticky h2,.journey-sticky p{margin-inline:auto}
    .experience-panel{text-align:center}
    .experience-panel p:not(.signature){margin-inline:auto}
    .signature{text-align:center}
    .contact-grid > div:first-child{text-align:center}
    .contact h2{margin-inline:auto}
    .contact-details{text-align:center}
    .contact-row a,.contact-row p{margin-inline:auto}
  }
  @media(max-width:640px){
    html,body{width:100%;max-width:100%;overflow-x:hidden}
    .shell{width:calc(100% - 36px);padding-inline:0}
    h1{font-size:clamp(40px,11.7vw,48px);max-width:8.2ch;line-height:1.03}
    .hero-copy{width:calc(100% - 36px);margin-inline:auto;padding-left:0;padding-right:0}
    .hero .shell{width:100%;padding-inline:0}
    .advisory-visual{width:calc(100% - 36px);margin-inline:auto;padding-left:0;padding-right:0}
    .hero-text{font-size:16px;line-height:1.72;overflow-wrap:break-word;max-width:none;width:100%}
    .hero-actions{display:grid;grid-template-columns:1fr;gap:14px;width:100%;max-width:100%}
    .advisory-visual{margin-top:28px}
    .roadmap-panel,.brief-card{width:100%;max-width:100%}
    .testimonial-marquee{padding:18px 0 22px}
    .testimonial-head{width:calc(100% - 36px);margin-bottom:13px;display:block;text-align:center}
    .testimonial-hint{margin-top:7px}
    .review-track{
      gap:14px;padding-inline:18px;scroll-padding-inline:18px;
      scrollbar-width:none;
    }
    .review-track::-webkit-scrollbar{display:none}
    .review-card{width:calc(100vw - 36px);min-height:266px;padding:17px;flex-basis:calc(100vw - 36px)}
    .review-card blockquote{font-size:16px;line-height:1.52;text-align:center}
    .review-card-head{justify-content:center;text-align:center;align-items:center}
    .review-avatar{width:64px;height:64px}
    .review-rating-row{justify-content:center}
    .review-score{min-width:34px}
    .whatsapp-float{right:16px;bottom:16px;width:52px;height:52px}
    .whatsapp-float svg{width:24px;height:24px}
    .roadmap-panel{padding:20px}
    .roadmap-step p{max-width:28ch}
    .roadmap-note p{max-width:28ch}
    .brief-card p{max-width:30ch}
    .form-grid{grid-template-columns:1fr}
    .contact-row{grid-template-columns:1fr;gap:8px}
    .vision-page,.mentorship-page,.international-page,.testprep-page{padding-top:70px}
    .vision-page .shell,.mentorship-page .shell,.international-page .shell,.testprep-page .shell{width:calc(100vw - 36px);max-width:calc(100vw - 36px);margin-inline:auto}
    .vision-editorial{padding:42px 0 56px}
    .vision-intro::before{width:54px;margin-bottom:20px}
    .vision-intro h1{font-size:clamp(38px,10vw,46px);max-width:12ch;line-height:1.08}
    .vision-intro .vision-subhead{font-size:23px;line-height:1.28;max-width:19ch;margin-bottom:20px}
    .vision-intro p,.vision-text p,.culture-copy p{
      font-size:16px;line-height:1.72;text-align:left;hyphens:none;-webkit-hyphens:none;
    }
    .vision-intro{padding-top:0;padding-inline-start:0}
    .vision-image-card{width:min(100%,480px);margin-top:8px;padding:8px}
    .vision-image-card::after{inset:8px}
    .vision-image-caption{left:20px;right:20px;bottom:22px;font-size:9px;letter-spacing:.08em}
    .vision-content{padding:62px 0}
    .vision-side{padding-top:16px}
    .culture-band{padding:66px 0}
    .culture-band h2{font-size:40px;line-height:1.08;max-width:9ch}
    .culture-copy{gap:20px}
    .vision-return{max-width:none;margin-top:28px}
    .international-stages{padding:64px 0}
    .international-stage-head{gap:14px;margin-bottom:34px;text-align:center}
    .international-stage-head h2{margin-inline:auto}
    .international-stage-grid{gap:30px}
    .international-stage{display:block;padding-top:18px;text-align:center}
    .international-stage b{display:block;margin-bottom:11px}
    .international-stage h3{text-align:center}
    .testprep-sections{padding:64px 0}
    .testprep-section-head{gap:14px;margin-bottom:34px;text-align:center}
    .testprep-section-head h2{margin-inline:auto}
    .testprep-section{gap:16px;padding:30px 0;text-align:center}
    .testprep-section-label{justify-items:center;gap:12px}
    .testprep-section h3{margin-inline:auto;text-align:center}
    .testprep-copy{gap:15px}
    .hero-text,.lead,.principle p,.programme p:not(.programme-meta),
    .seo-cluster p,.journey-sticky p,.stage p,.experience-panel p:not(.signature),
    .vision-intro p:not(.vision-subhead),.vision-text p,.culture-copy p,.international-stage p,.testprep-copy p{
      margin-inline:auto;text-align:justify;text-align-last:left;text-justify:inter-word;
      hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:9 4 3;
      -webkit-hyphenate-limit-before:4;-webkit-hyphenate-limit-after:3;
      word-spacing:normal;letter-spacing:0;
    }
    .contact-row p,.form-note{margin-inline:auto;text-align:center;text-align-last:center}
    .hero-kicker{width:100%;gap:10px;justify-content:center;text-align:center;white-space:nowrap}
    .hero-kicker::before,.hero-kicker::after{width:auto;min-width:24px;flex:1 1 auto}
    .hero-copy h1{width:100%;max-width:none;margin-inline:auto;text-align:center;overflow-wrap:anywhere}
    .hero-wordmark{display:block;width:fit-content;max-width:100%;margin-inline:auto;text-align:center}
    .section-head{gap:18px;text-align:center}
    .section-head h2,.section-head .lead{margin-inline:auto}
    .roadmap-top{width:100%;grid-template-columns:minmax(0,1fr);justify-self:stretch;justify-items:center;text-align:center}
    .roadmap-title{width:auto;justify-self:stretch;text-align:center}
    .roadmap-title h2{width:100%;max-width:19ch;margin-inline:auto;text-align:center}
    .roadmap-badge{justify-self:center}
    .roadmap-step{text-align:center}
    .roadmap-step strong{margin-inline:auto}
    .roadmap-step h3{text-align:center}
    .roadmap-step p{max-width:none;text-align:left;text-align-last:left;hyphens:none;-webkit-hyphens:none}
    .roadmap-step em{text-align:center}
    .roadmap-note{text-align:center}
    .roadmap-note p{max-width:none;text-align:left;text-align-last:left;hyphens:none;-webkit-hyphens:none}
    .brief-card{text-align:center}
    .brief-card p{max-width:none;text-align:left;text-align-last:left;hyphens:none;-webkit-hyphens:none}
    .principle-copy{margin-inline:auto;text-align:center}
    .principle{grid-template-columns:1fr;gap:12px;text-align:center}
    .principle h3{text-align:center}
    .programme{gap:16px;text-align:center}
    .programme h3{margin-inline:auto;text-align:center}
    .programme p:not(.programme-meta){margin-inline:auto}
    .chips{justify-content:center}
    .programme-meta{max-width:32ch;margin-inline:auto;text-align:center;text-align-last:center;text-justify:auto;word-spacing:normal}
    .seo-cluster h3{text-align:center}
    .journey-sticky{text-align:center}
    .journey-sticky h2{margin-inline:auto}
    .timeline{border-left:0}
    .stage{padding:30px 0;border-top:1px solid var(--line);text-align:center}
    .stage::before{display:none}
    .stage .eyebrow,.stage h3{text-align:center}
    .experience-panel{text-align:center}
    .experience-panel p:not(.signature){margin-inline:auto}
    .signature{text-align:center}
    .contact-grid > div:first-child{text-align:center}
    .contact h2{margin-inline:auto}
    .contact-details{text-align:center}
    .contact-row span,.contact-row a{text-align:center}
    .mobile-nav a{justify-content:center;text-align:center}
    .form-status{text-align:center}
    .lead-dialog-card{text-align:center}
    .vision-intro{text-align:center}
    .vision-intro::before{margin-inline:auto}
    .vision-intro h1,.vision-intro .vision-subhead{margin-inline:auto;text-align:center}
    .vision-intro .vision-subhead{text-align-last:center;hyphens:none;-webkit-hyphens:none}
    .vision-image-card{justify-self:center;margin-inline:auto}
    .vision-image-caption{text-align:center}
    .vision-side{text-align:center}
    .culture-grid > div:first-child{text-align:center}
    .culture-band h2{margin-inline:auto}
    .vision-return{margin-inline:auto}
    .footer-grid{justify-content:center;text-align:center}
    .footer-grid > *{width:100%;text-align:center;text-align-last:center}
  }
  @media(max-width:420px){
    .nav-inner{gap:8px}
    .brand{gap:8px}
    .wordmark{font-size:20px}
    .nav .nav-cta{min-height:38px;padding:0 12px;font-size:12px}
    .nav-toggle{width:42px;height:42px}
  }
  @media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .home-page,.vision-page,.mentorship-page,.international-page,.testprep-page,.reveal,.nav,.button,.whatsapp-float,.footer-socials a,.motion-ring{transition:none!important;animation:none!important}
    .review-track{animation:none!important}
  }

/* Multipage overrides: each route is now a real document rather than a hidden in-page view. */
.multipage{left:auto;right:auto;width:100%;max-width:100%;margin-left:0;margin-right:0}
.multipage .home-page,
.multipage .vision-page,
.multipage .mentorship-page,
.multipage .international-page,
.multipage .testprep-page{display:block}
.standalone-page{padding-top:78px;background:var(--paper);min-height:100vh}
.nav-links a.active,.mobile-nav a.active{color:var(--gold)}
.nav-links a.active{border-bottom:1px solid var(--gold);padding-bottom:4px}
.skip-link{position:fixed;left:16px;top:12px;z-index:1000;transform:translateY(-160%);padding:10px 14px;background:var(--green);color:var(--paper);text-decoration:none}
.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.programme h3 a{color:inherit;text-decoration:none}
.programme h3 a:hover{color:var(--gold)}
.blogs-standalone .experience{padding-top:clamp(88px,11vw,152px);min-height:calc(100vh - 148px)}

/*
  CuratedPrep editorial blog library and article system
  1. Mobile: compact two-tile library and one-column article. Tablet: three-tile grid. Desktop: four-tile library and narrow article with sidebar.
  2. Spacing: 8px grid with 16px tile padding, 48px article rhythm, and restrained fluid serif display type.
  3. Tokens: paper background, ink text, green CTA, restrained gold metadata.
  4. Focal point: concise tile title in the library; article title and readable prose on the detail page.
*/
.blog-library{padding:clamp(56px,7vw,96px) 0 clamp(72px,9vw,120px)}
.blog-library-head{max-width:720px;margin:0 auto clamp(38px,5vw,56px);text-align:center}
.blog-library-head .eyebrow{margin-bottom:16px}
.blog-library-head h1{
  max-width:16ch;margin:0 auto 16px;
  font-size:clamp(40px,5.5vw,68px);line-height:1.04;text-wrap:balance;
}
.blog-library-head p{
  max-width:620px;margin-inline:auto;color:var(--muted);
  font-size:clamp(16px,1.35vw,19px);line-height:1.7;text-wrap:pretty;
}
.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.blog-card{
  display:block;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:4px;
  background:rgba(251,248,241,.68);color:inherit;text-decoration:none;
  transition:transform .24s var(--ease),border-color .24s var(--ease),background .24s var(--ease);
}
.blog-card:hover{transform:translateY(-4px);border-color:var(--gold-soft);background:var(--ivory)}
.blog-card:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.blog-card-image{aspect-ratio:1;overflow:hidden;background:var(--paper-deep)}
.blog-card-image img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .4s var(--ease),filter .3s var(--ease);
}
.blog-card:hover .blog-card-image img{transform:scale(1.025);filter:saturate(.92)}
.blog-card-copy{display:grid;gap:10px;padding:14px}
.blog-card-meta,.blog-card-link,.article-meta,.article-back{
  font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
}
.blog-card-meta{display:grid;gap:4px;color:var(--gold);font-size:9px;line-height:1.4}
.blog-card-copy h2{
  max-width:none;font-size:clamp(17px,1.75vw,23px);line-height:1.12;text-wrap:pretty;
}
.blog-card-copy p{display:none;color:var(--muted);font-size:14px;line-height:1.64;text-wrap:pretty}
.blog-card-link{display:flex;min-height:44px;align-items:center;gap:8px;color:var(--green);font-size:9px;font-weight:500}

.blog-article-hero{padding:clamp(50px,6vw,80px) 0 clamp(42px,5vw,64px)}
.article-shell{max-width:900px;text-align:center}
.article-back{
  display:inline-flex;min-height:44px;align-items:center;margin-bottom:22px;
  color:var(--muted);text-decoration:none;transition:color .2s var(--ease);
}
.article-back:hover{color:var(--gold)}
.article-shell .eyebrow{margin-bottom:16px}
.article-shell h1{
  max-width:22ch;margin:0 auto 18px;
  font-size:clamp(36px,4.4vw,62px);line-height:1.06;text-wrap:balance;
}
.article-summary{
  max-width:700px;margin:0 auto 14px;color:var(--muted);
  font-size:clamp(16px,1.45vw,19px);line-height:1.68;text-wrap:pretty;
}
.article-meta{margin-bottom:26px;color:var(--gold)}
.article-hero-media{
  width:min(100%,760px);margin-inline:auto;overflow:hidden;aspect-ratio:16/9;border:8px solid rgba(251,248,241,.84);
  outline:1px solid var(--line);background:var(--paper-deep);
}
.article-hero-media img{width:100%;height:100%;object-fit:cover}
.blog-article-content{padding:0 0 clamp(72px,9vw,120px)}
.article-layout{display:grid;gap:42px;max-width:980px}
.article-prose{min-width:0;max-width:720px;margin-inline:auto}
.article-prose h2{
  max-width:none;margin:46px 0 14px;
  font-size:clamp(29px,3vw,39px);line-height:1.13;text-wrap:balance;
}
.article-prose h3{
  margin:26px 0 8px;font-family:"Inter",system-ui,sans-serif;
  color:var(--green);font-size:17px;font-weight:700;line-height:1.45;text-wrap:pretty;
}
.article-prose p,.article-prose blockquote{
  margin:0 0 18px;color:var(--muted);font-size:clamp(16px,1.25vw,18px);line-height:1.76;text-wrap:pretty;
}
.article-prose p{
  text-align:justify;text-align-last:left;text-justify:inter-word;
  hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word;
}
.article-prose .article-lede{color:var(--ink);font-size:clamp(17px,1.55vw,20px);line-height:1.72}
.article-prose blockquote{
  margin:32px 0;padding:6px 0 6px 18px;border-left:2px solid var(--gold);
  color:var(--ink);font-family:"Source Serif 4",Georgia,serif;font-size:clamp(23px,2.4vw,30px);line-height:1.3;
}
.article-cta{
  align-self:start;padding:22px;border:1px solid var(--line);
  background:rgba(251,248,241,.68);
}
.article-cta .eyebrow{margin-bottom:16px}
.article-cta h2{max-width:11ch;margin-bottom:14px;font-size:30px;line-height:1.08}
.article-cta p{margin-bottom:22px;color:var(--muted);font-size:15px;line-height:1.7;text-wrap:pretty}
.article-cta .button{width:100%;min-height:52px;padding-inline:14px}

@media(min-width:768px){
  .blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .blog-card-copy{gap:12px;padding:18px}
  .blog-card-copy p{display:block}
  .article-hero-media{border-width:10px}
}
@media(min-width:1024px){
  .blog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
  .article-layout{grid-template-columns:minmax(0,1fr) 236px;gap:48px}
  .article-prose{margin-inline:0}
  .article-cta{position:sticky;top:96px}
}
@view-transition{navigation:auto}
html{
  background:var(--paper);
}
html.page-ready body{
  animation:cp-page-in .22s ease-out both;
}
html.page-leaving body{
  opacity:0;
  transform:translateY(-5px);
  transition:opacity .16s ease,transform .16s ease;
}
::view-transition-old(root){animation:cp-page-out .14s ease both}
::view-transition-new(root){animation:cp-page-in .22s ease-out both}
@keyframes cp-page-in{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes cp-page-out{
  from{opacity:1;transform:translateY(0)}
  to{opacity:0;transform:translateY(-4px)}
}

@media(prefers-reduced-motion:reduce){
  body,::view-transition-old(root),::view-transition-new(root){animation:none!important}
}

/*
  CuratedPrep premium homepage final cut
  1. Mobile stacks: hero copy, consultation preview, proof cards, programme cards, process infographic. Desktop pairs hero copy with the consultation preview.
  2. Spacing uses the existing 8px rhythm with tighter vertical sections and fewer competing frameworks.
  3. Tokens shift the first fold to academic navy/teal with restrained gold, then return to paper for clarity.
  4. Focal point: the private consultation CTA and the high-value signals families recognise immediately: IGCSE, IBDP, SAT, IELTS, UCAT and UCAS.
*/
.nav{
  background:rgba(248,245,238,.92);border-bottom-color:rgba(16,50,74,.14);
  backdrop-filter:blur(18px) saturate(1.08);
}
.nav.scrolled{background:rgba(248,245,238,.96);border-color:rgba(16,50,74,.16)}
.nav .brand-mark{border-color:#10324a;color:var(--gold)}
.nav .wordmark{color:var(--ink)}
.nav .nav-links a{color:rgba(23,23,19,.72)}
.nav .nav-links a:hover,.nav-links a.active{color:#10324a}
.nav-links a.active{border-bottom-color:#10324a}
.nav .nav-cta{background:rgba(248,245,238,.66);color:#10324a;border:1px solid rgba(16,50,74,.24)}
.nav .nav-cta:hover{background:rgba(16,50,74,.06);border-color:rgba(16,50,74,.42);color:#10324a}
.nav-toggle{background:rgba(16,50,74,.04);border-color:rgba(16,50,74,.26);color:#10324a}
.mobile-nav{background:rgba(248,245,238,.98);border-color:rgba(16,50,74,.14)}
.mobile-nav a{color:rgba(23,23,19,.78);border-color:rgba(16,50,74,.1)}
.mobile-nav a:hover,.mobile-nav a.active{color:#10324a}

.premium-home{background:var(--paper);color:var(--ink)}
.premium-home .section{padding:clamp(68px,8vw,112px) 0}
.premium-hero{
  min-height:100vh;padding:clamp(112px,10vw,148px) 0 clamp(58px,7vw,88px);
  background:
    radial-gradient(circle at 16% 14%,rgba(46,98,137,.16),transparent 34%),
    radial-gradient(circle at 84% 18%,rgba(170,122,42,.12),transparent 28%),
    linear-gradient(135deg,#fbf8f1 0%,#edf3f2 48%,#dde9e4 100%);
  color:var(--ink);display:grid;align-items:center;
}
.premium-hero-grid{
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr);
  gap:clamp(28px,5vw,72px);align-items:center;
}
.premium-hero-copy{top:0;max-width:820px}
.premium-hero .hero-kicker{margin-bottom:22px;color:var(--gold)}
.premium-hero .hero-kicker::before,.premium-hero .hero-kicker::after{background:var(--gold);opacity:.78}
.premium-hero h1{
  max-width:11.4ch;margin-bottom:24px;
  color:var(--ink);font-size:clamp(50px,7.3vw,112px);line-height:.98;letter-spacing:-.01em;
}
.premium-hero .hero-text{
  max-width:58ch;margin-bottom:28px;color:rgba(69,63,54,.9);
  font-size:clamp(17px,1.35vw,20px);line-height:1.7;
}
.hero-signal-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 28px;
}
.hero-signal-grid span{
  min-height:82px;padding:14px;border:1px solid rgba(16,50,74,.14);
  background:rgba(255,255,255,.38);border-radius:6px;display:grid;align-content:space-between;
}
.hero-signal-grid b{
  font-family:"Source Serif 4",Georgia,serif;font-weight:500;font-size:clamp(23px,2vw,32px);line-height:1;color:#10324a;
}
.hero-signal-grid em{
  font-style:normal;font-family:"IBM Plex Mono",monospace;font-size:9px;line-height:1.45;
  letter-spacing:.08em;text-transform:uppercase;color:rgba(69,63,54,.62);
}
.premium-hero .button.primary{background:#10324a;border-color:#10324a;color:var(--paper)}
.premium-hero .button.primary:hover{background:#174765;border-color:#174765}
.premium-hero .button.secondary{border-color:rgba(16,50,74,.44);color:#10324a}
.premium-hero .button.secondary:hover{background:rgba(16,50,74,.06)}
.consultation-card{
  padding:clamp(22px,3vw,34px);border:1px solid rgba(16,50,74,.16);
  border-radius:10px;background:rgba(255,255,255,.46);color:var(--ink);
  box-shadow:0 24px 70px -54px rgba(16,50,74,.55);
}
.consultation-card .eyebrow{color:var(--gold);margin-bottom:18px}
.consultation-card h2{max-width:9.8ch;margin-bottom:18px;color:#10324a;font-size:clamp(34px,3.6vw,54px);line-height:1.02}
.consultation-card p{color:var(--muted);font-size:16px;line-height:1.75;text-align:left;max-width:42ch}
.consultation-points{display:grid;gap:1px;margin:24px 0;background:rgba(16,50,74,.14);border:1px solid rgba(16,50,74,.14)}
.consultation-points span{
  min-height:54px;display:flex;align-items:center;gap:14px;padding:12px 14px;
  background:rgba(251,248,241,.88);color:var(--muted);font-size:14px;
}
.consultation-points b{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.1em;color:#10324a}
.consultation-button{width:100%}

.premium-proof{
  background:#10324a;border-block:1px solid rgba(244,239,230,.12);padding:0;color:var(--paper);
}
.proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-inline:1px solid rgba(244,239,230,.12)}
.proof-grid div{padding:clamp(22px,3vw,34px);border-right:1px solid rgba(244,239,230,.12)}
.proof-grid div:last-child{border-right:0}
.proof-grid span{display:block;margin-bottom:10px;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft)}
.proof-grid strong{display:block;margin-bottom:10px;font-family:"Source Serif 4",Georgia,serif;font-size:clamp(27px,2.5vw,38px);line-height:1.04;font-weight:500}
.proof-grid p{color:rgba(244,239,230,.68);font-size:14.5px;line-height:1.7;text-align:left}

.premium-programmes,.premium-system,.compact-guidance{background:var(--paper);color:var(--ink)}
.premium-section-head{max-width:800px;margin:0 auto clamp(34px,5vw,58px);text-align:center}
.premium-section-head .eyebrow{margin-bottom:15px}
.premium-section-head h2{
  max-width:14ch;margin:0 auto 18px;font-size:clamp(40px,5.5vw,76px);line-height:1;
}
.premium-section-head p{
  max-width:660px;margin:0 auto;color:var(--muted);font-size:clamp(16px,1.35vw,19px);line-height:1.72;
  text-align:center;text-align-last:center;
}
.premium-section-head .button{margin-top:24px;width:auto}
.premium-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.premium-service-card{
  display:grid;grid-template-rows:auto auto 1fr auto;gap:18px;min-height:390px;
  padding:clamp(22px,3vw,34px);border:1px solid var(--line);border-radius:10px;
  background:rgba(251,248,241,.72);text-decoration:none;color:inherit;
  transition:transform .24s var(--ease),border-color .24s var(--ease),background .24s var(--ease);
}
.premium-service-card:hover{transform:translateY(-4px);border-color:rgba(133,97,36,.46);background:var(--ivory)}
.card-number{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;color:var(--gold)}
.premium-service-card h3{font-size:clamp(31px,3.1vw,44px);line-height:1.03;max-width:10ch}
.premium-service-card p{color:var(--muted);font-size:16px;line-height:1.72;text-align:left}
.mini-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.mini-tags span{
  font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--green);border:1px solid var(--line);border-radius:999px;padding:7px 9px;
}
.system-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(32px,6vw,86px);align-items:center}
.system-grid .premium-section-head{margin:0;text-align:left}
.system-grid .premium-section-head h2,.system-grid .premium-section-head p{margin-inline:0;text-align:left;text-align-last:left}
.route-diagram{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid var(--line);background:var(--line);border-radius:10px;overflow:hidden}
.route-diagram article{min-height:210px;background:var(--ivory);padding:clamp(22px,3vw,32px);display:grid;align-content:start;gap:16px}
.route-diagram b{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;color:var(--gold)}
.route-diagram h3{font-size:clamp(28px,3vw,43px);line-height:1}
.route-diagram p{color:var(--muted);font-size:15.5px;line-height:1.68;text-align:left}
/*
  Academic motion scene
  1. Mobile: single centered animated object scene below copy. Desktop: text sits left, motion stage sits right.
  2. Spacing: 8px grid with 24/32px internal padding and stable min-heights to prevent layout shift.
  3. Tokens: warm limestone background, Oxford navy books, quiet brass labels, ivory paper faces.
  4. Focal point: premium rotating academic modules replacing the static process grid.
*/
.academic-motion{
  position:relative;
  min-height:430px;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(255,253,247,.82),rgba(235,227,212,.72)),
    repeating-linear-gradient(90deg,rgba(17,47,70,.045) 0 1px,transparent 1px 56px);
  box-shadow:0 28px 74px -58px rgba(17,47,70,.58);
}
.academic-motion::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(180deg,transparent,rgba(17,47,70,.08));
  pointer-events:none;
}
.motion-stage{
  --book-w:clamp(86px,8vw,126px);
  --book-h:clamp(122px,11.2vw,174px);
  --orbit-depth:clamp(122px,16vw,218px);
  position:relative;
  height:380px;
  display:grid;
  place-items:center;
  perspective:1050px;
  isolation:isolate;
}
.motion-core{
  position:relative;
  z-index:3;
  width:clamp(118px,11vw,156px);
  min-height:clamp(118px,11vw,156px);
  display:grid;
  place-items:center;
  align-content:center;
  gap:4px;
  border:1px solid rgba(151,104,23,.34);
  border-radius:10px;
  background:rgba(255,253,247,.86);
  box-shadow:0 26px 66px -44px rgba(17,47,70,.62);
  transform:rotateX(0deg) rotateZ(-2deg);
}
.motion-core span{
  font-family:"IBM Plex Mono",monospace;
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold);
}
.motion-core strong{
  font-family:"Source Serif 4",Georgia,serif;
  font-size:clamp(30px,3.1vw,44px);
  line-height:.92;
  font-weight:500;
  color:var(--trust);
}
.motion-ring{
  position:absolute;
  inset:0;
  transform-style:preserve-3d;
  animation:cp-book-orbit 24s linear infinite;
}
.motion-book{
  position:absolute;
  left:50%;
  top:50%;
  width:var(--book-w);
  height:var(--book-h);
  margin-left:calc(var(--book-w) / -2);
  margin-top:calc(var(--book-h) / -2);
  display:grid;
  align-content:end;
  gap:6px;
  padding:14px 12px;
  border:1px solid rgba(255,253,247,.28);
  border-radius:7px;
  color:var(--ivory);
  background:linear-gradient(135deg,#102c41,#174765);
  box-shadow:0 24px 50px -34px rgba(17,47,70,.9);
  transform-style:preserve-3d;
  backface-visibility:hidden;
}
.motion-book::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:16%;
  border-radius:7px 0 0 7px;
  background:rgba(0,0,0,.16);
  border-right:1px solid rgba(255,253,247,.24);
}
.motion-book::after{
  content:"";
  position:absolute;
  inset:10px 10px auto 24%;
  height:3px;
  border-radius:999px;
  background:rgba(255,253,247,.44);
  box-shadow:0 12px 0 rgba(255,253,247,.25),0 24px 0 rgba(255,253,247,.16);
}
.motion-book span{
  position:relative;
  z-index:1;
  font-family:"Source Serif 4",Georgia,serif;
  font-size:clamp(22px,2.2vw,31px);
  line-height:.95;
  font-weight:500;
}
.motion-book small{
  position:relative;
  z-index:1;
  font-family:"IBM Plex Mono",monospace;
  font-size:8px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,253,247,.78);
}
.motion-book.physics{transform:rotateY(0deg) translateZ(var(--orbit-depth));}
.motion-book.math{transform:rotateY(60deg) translateZ(var(--orbit-depth));background:linear-gradient(135deg,#8d641f,#b08437)}
.motion-book.ielts{transform:rotateY(120deg) translateZ(var(--orbit-depth));background:linear-gradient(135deg,#fffdf7,#e8decc);color:var(--trust);border-color:rgba(17,47,70,.16)}
.motion-book.ielts small{color:rgba(17,47,70,.68)}
.motion-book.ielts::before{background:rgba(151,104,23,.16);border-right-color:rgba(17,47,70,.14)}
.motion-book.ielts::after{background:rgba(17,47,70,.24);box-shadow:0 12px 0 rgba(17,47,70,.16),0 24px 0 rgba(17,47,70,.12)}
.motion-book.sat{transform:rotateY(180deg) translateZ(var(--orbit-depth));background:linear-gradient(135deg,#173f5c,#112f46)}
.motion-book.ucat{transform:rotateY(240deg) translateZ(var(--orbit-depth));background:linear-gradient(135deg,#6f4c18,#976817)}
.motion-book.ucas{transform:rotateY(300deg) translateZ(var(--orbit-depth));background:linear-gradient(135deg,#f8f4ec,#d9c7a5);color:var(--trust);border-color:rgba(17,47,70,.15)}
.motion-book.ucas small{color:rgba(17,47,70,.68)}
.motion-book.ucas::before{background:rgba(17,47,70,.12);border-right-color:rgba(17,47,70,.12)}
.motion-book.ucas::after{background:rgba(17,47,70,.22);box-shadow:0 12px 0 rgba(17,47,70,.14),0 24px 0 rgba(17,47,70,.1)}
.motion-caption{
  position:relative;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  padding:0 22px 22px;
}
.motion-caption span{
  min-height:31px;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(17,47,70,.16);
  border-radius:999px;
  padding:8px 11px;
  background:rgba(255,253,247,.62);
  color:var(--trust);
  font-family:"IBM Plex Mono",monospace;
  font-size:9px;
  line-height:1;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.academic-motion.is-rendered{
  background:
    radial-gradient(circle at 50% 32%,rgba(255,253,247,.72),transparent 36%),
    linear-gradient(135deg,rgba(255,253,247,.9),rgba(235,227,212,.72));
}
.academic-motion.is-rendered .motion-stage{
  height:clamp(350px,34vw,520px);
  display:block;
  perspective:none;
}
.motion-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}
.motion-fallback{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  padding:28px;
}
.motion-fallback span{
  display:inline-flex;
  min-height:40px;
  align-items:center;
  border:1px solid rgba(17,47,70,.16);
  border-radius:999px;
  padding:10px 13px;
  background:rgba(255,253,247,.72);
  color:var(--trust);
  font-family:"IBM Plex Mono",monospace;
  font-size:10px;
  line-height:1;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.academic-motion.is-rendered .motion-fallback{
  display:none;
}
@keyframes cp-book-orbit{
  from{transform:rotateX(-8deg) rotateY(0deg)}
  to{transform:rotateX(-8deg) rotateY(-360deg)}
}
.compact-guidance{border-top:1px solid var(--line)}
.compact-guidance .premium-section-head{margin-bottom:0}

@media(max-width:1024px){
  .premium-hero{padding-top:110px;min-height:auto}
  .premium-hero-grid{grid-template-columns:1fr}
  .premium-hero-copy{text-align:center;margin-inline:auto}
  .premium-hero h1{max-width:10.8ch;margin-inline:auto;text-align:center}
  .premium-hero .hero-text{margin-inline:auto;text-align:center;text-align-last:center}
  .hero-signal-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:680px;margin-inline:auto;margin-bottom:24px}
  .consultation-card{max-width:640px;margin-inline:auto;text-align:center}
  .consultation-card h2,.consultation-card p{margin-inline:auto;text-align:center;text-align-last:center}
  .proof-grid{grid-template-columns:1fr;border-inline:0}
  .proof-grid div{border-right:0;border-bottom:1px solid rgba(244,239,230,.12);text-align:center}
  .proof-grid div:last-child{border-bottom:0}
  .proof-grid p{text-align:center;text-align-last:center;margin-inline:auto;max-width:46ch}
  .premium-card-grid,.system-grid{grid-template-columns:1fr}
  .premium-service-card{min-height:auto}
  .premium-service-card h3,.premium-service-card p{margin-inline:auto;text-align:center;text-align-last:center}
  .mini-tags{justify-content:center}
  .system-grid .premium-section-head{text-align:center;margin-inline:auto}
  .system-grid .premium-section-head h2,.system-grid .premium-section-head p{margin-inline:auto;text-align:center;text-align-last:center}
  .academic-motion{max-width:720px;margin-inline:auto}
  .academic-motion.is-rendered .motion-stage{height:420px}
}
@media(max-width:640px){
  .premium-home .section{padding:58px 0}
  .premium-hero{padding:82px 0 40px}
  .premium-hero .hero-kicker{margin-bottom:16px;font-size:9px}
  .premium-hero h1{font-size:clamp(38px,11.2vw,49px);margin-bottom:18px}
  .premium-hero .hero-text{font-size:15.5px;line-height:1.62;margin-bottom:18px}
  .hero-signal-grid{
    display:flex;gap:8px;overflow-x:auto;max-width:none;margin-inline:-18px;padding:0 18px 4px;margin-bottom:18px;
    scroll-snap-type:x mandatory;scrollbar-width:none;
  }
  .hero-signal-grid::-webkit-scrollbar{display:none}
  .hero-signal-grid span{min-height:56px;min-width:122px;padding:10px;text-align:center;scroll-snap-align:center}
  .hero-signal-grid b{font-size:21px}
  .hero-signal-grid em{font-size:7px;line-height:1.25}
  .premium-hero .hero-actions{gap:10px}
  .premium-hero .button{min-height:48px}
  .consultation-card{padding:22px}
  .consultation-card h2{max-width:10ch;font-size:36px}
  .consultation-points span{justify-content:center}
  .premium-section-head h2{font-size:clamp(38px,10vw,50px)}
  .premium-section-head p{font-size:16px;text-align:center;text-align-last:center}
  .premium-card-grid{gap:10px}
  .premium-service-card{padding:22px;text-align:center}
  .academic-motion{min-height:360px}
  .motion-stage{
    --book-w:74px;
    --book-h:108px;
    --orbit-depth:112px;
    height:300px;
  }
  .academic-motion.is-rendered .motion-stage{height:330px}
  .motion-core{width:112px;min-height:112px}
  .motion-caption{padding:0 14px 18px}
  .motion-caption span{font-size:8px;padding:7px 9px}
}

.premium-hero .shell.premium-hero-grid{
  width:min(calc(100vw - 48px),1320px);
  max-width:1320px;
  min-width:0;
  margin-inline:auto;
}
.premium-hero-copy,.premium-hero .hero-actions{
  width:100%;
  min-width:0;
}

@media(max-width:1024px){
  .premium-hero .shell.premium-hero-grid{
    width:min(calc(100vw - 48px),760px);
    max-width:760px;
  }
}

@media(max-width:640px){
  .premium-hero .shell.premium-hero-grid{
    width:calc(100vw - 36px);
    max-width:calc(100vw - 36px);
  }
}

/*
  CuratedPrep unified education-trust system
  1. Mobile: content stacks into warm, centered scan blocks; desktop uses side-by-side editorial maps.
  2. Spacing follows the existing 8px rhythm: 24/32/48 section internals and compact card gaps.
  3. Color tokens: warm limestone foundation, Oxford navy for trust, quiet brass as the only accent.
  4. Focal point: faster comprehension through visual routes for grades, tests and university decisions.
*/
:root{
  --paper:#f5f1e8;
  --paper-deep:#ebe3d4;
  --ivory:#fffdf7;
  --ink:#151713;
  --muted:#403b34;
  --trust:#112f46;
  --trust-2:#173f5c;
  --trust-soft:#efe7d9;
  --green:#112f46;
  --green-2:#173f5c;
  --gold:#976817;
  --gold-soft:#c7a268;
  --line:rgba(17,47,70,.15);
  --strong-line:rgba(17,47,70,.28);
  --white-line:rgba(245,241,232,.24);
}

body,.cp-site{
  background:var(--paper);
}

.premium-hero,
.vision-editorial,
.international-stages,
.testprep-sections,
.premium-programmes,
.premium-system,
.compact-guidance{
  background:
    radial-gradient(circle at 12% 10%,rgba(151,104,23,.07),transparent 30%),
    linear-gradient(180deg,var(--paper),#f0e8da);
}

.nav{background:rgba(245,241,232,.95)}
.nav.scrolled{background:rgba(245,241,232,.98)}
.mobile-nav{background:rgba(245,241,232,.98)}

.premium-hero{
  background:
    radial-gradient(circle at 12% 10%,rgba(151,104,23,.08),transparent 28%),
    radial-gradient(circle at 82% 14%,rgba(17,47,70,.055),transparent 28%),
    linear-gradient(135deg,#f8f4ec 0%,#f4eee3 50%,#ebe1d1 100%);
}

.premium-proof,.culture-band,.contact,footer{
  background:var(--trust);
  color:var(--paper);
}

.premium-hero .button.primary,
.button.primary{
  background:var(--trust);
  border-color:var(--trust);
  color:var(--paper);
}

.premium-hero .button.primary:hover,
.button.primary:hover{
  background:var(--trust-2);
  border-color:var(--trust-2);
  color:var(--paper);
}

/*
  Header login refinement
  1. Mobile keeps a compact Login pill beside the hamburger; desktop shows the same secondary action.
  2. Spacing scale: 44px minimum tap target, 18px horizontal padding, pill radius.
  3. Color tokens: paper surface, Oxford navy text, restrained navy border.
  4. Focal point: Login remains available without competing with the consultation CTA.
*/
.nav .nav-cta{
  min-height:44px;
  padding:0 18px;
  border-radius:999px;
  background:rgba(248,245,238,.7);
  border:1px solid rgba(16,50,74,.24);
  color:var(--trust);
  font-family:"Inter",system-ui,sans-serif;
  font-size:13.5px;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
  box-shadow:none;
}
.nav .nav-cta:hover{
  background:rgba(16,50,74,.06);
  border-color:rgba(16,50,74,.38);
  color:var(--trust);
}

.premium-hero h1,
.consultation-card h2,
.hero-signal-grid b,
.premium-service-card h3,
.route-diagram h3,
.trust-infographic h2,
.trust-map h3,
.vision-intro h1,
.vision-text h2,
.international-stage h3,
.testprep-section h3{
  color:var(--trust);
}

.vision-image-card::after{
  background:linear-gradient(180deg,transparent 62%,rgba(16,50,74,.4));
}

.trust-infographic{
  padding:clamp(58px,7vw,96px) 0;
  background:linear-gradient(180deg,#f7f2e9 0%,var(--trust-soft) 100%);
  border-block:1px solid var(--line);
}

.trust-infographic-grid{
  display:grid;
  grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);
  gap:clamp(28px,6vw,84px);
  align-items:center;
}

.trust-infographic-copy{
  max-width:520px;
}

.trust-infographic-copy .eyebrow{
  margin-bottom:14px;
}

.trust-infographic-copy h2{
  max-width:12ch;
  font-size:clamp(38px,4.7vw,66px);
  line-height:1.02;
  margin-bottom:18px;
}

.trust-infographic-copy p{
  color:var(--muted);
  font-size:clamp(16px,1.2vw,18px);
  line-height:1.72;
  max-width:42ch;
}

.trust-map{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:var(--line);
  box-shadow:0 28px 74px -58px rgba(17,47,70,.52);
}

.trust-map article{
  min-height:250px;
  padding:clamp(18px,2.5vw,28px);
  background:rgba(255,253,247,.9);
  display:grid;
  align-content:start;
  gap:14px;
}

.trust-map b{
  display:none;
}

.trust-map h3{
  font-size:clamp(24px,2.25vw,32px);
  line-height:1;
  max-width:none;
  overflow-wrap:normal;
}

.trust-map p{
  color:var(--muted);
  font-size:14.5px;
  line-height:1.6;
  text-align:left;
}

.international-stage,.testprep-section{
  background:rgba(255,253,247,.76);
  border:1px solid var(--line);
  border-radius:12px;
  padding:clamp(22px,3vw,34px);
  margin-bottom:18px;
}

.international-stage{
  grid-template-columns:1fr;
  gap:13px;
}

.international-stage b,
.route-diagram b{
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:6px 10px;
  border:1px solid rgba(151,104,23,.28);
  border-radius:999px;
  background:rgba(151,104,23,.065);
  color:var(--gold);
  font-family:"IBM Plex Mono",monospace;
  font-size:9px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.international-stage b::before,
.route-diagram b::before{
  content:"Step ";
}

.consultation-points b{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:999px;
  background:var(--gold);
  color:transparent!important;
  font-size:0!important;
  letter-spacing:0!important;
}

.card-number,
.blog-card-meta span:first-child{
  display:none;
}

.premium-service-card{
  grid-template-rows:auto 1fr auto;
}

.testprep-section{
  grid-template-columns:minmax(180px,.38fr) minmax(0,1.62fr);
}

.testprep-section:last-child{
  border-bottom:1px solid var(--line);
}

.testprep-copy p{
  max-width:74ch;
}

.testprep-copy p:has(strong){
  padding:14px 16px;
  border-left:2px solid var(--gold);
  background:rgba(16,50,74,.04);
  text-align:left;
  text-align-last:left;
}

.whatsapp-float{
  right:24px;
  bottom:24px;
  background:var(--trust);
  border-color:rgba(248,250,247,.5);
  box-shadow:0 18px 46px -20px rgba(16,50,74,.86);
}

.whatsapp-float:hover{
  background:var(--trust-2);
  box-shadow:0 24px 56px -22px rgba(16,50,74,.92);
}

@keyframes cp-page-in{
  from{opacity:0}
  to{opacity:1}
}

@keyframes cp-page-out{
  from{opacity:1}
  to{opacity:0}
}

@media(max-width:1024px){
  .trust-infographic-grid{
    grid-template-columns:1fr;
    text-align:center;
  }
  .trust-infographic-copy,
  .trust-infographic-copy h2,
  .trust-infographic-copy p{
    margin-inline:auto;
    text-align:center;
    text-align-last:center;
  }
  .trust-map{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .trust-map article{
    min-height:190px;
    text-align:center;
    justify-items:center;
  }
  .trust-map h3,.trust-map p{
    text-align:center;
    text-align-last:center;
  }
  .international-stage,.testprep-section{
    grid-template-columns:1fr;
    text-align:center;
  }
}

@media(max-width:640px){
  .trust-infographic{
    padding:52px 0;
  }
  .trust-infographic-copy h2{
    font-size:clamp(36px,9.6vw,46px);
  }
  .trust-map{
    grid-template-columns:1fr;
  }
  .trust-map article{
    min-height:auto;
    gap:18px;
  }
  .international-stage,.testprep-section{
    padding:22px;
  }
  .testprep-copy p:has(strong){
    text-align:left;
    text-align-last:left;
  }
  .whatsapp-float{
    right:16px;
    bottom:16px;
  }
}

/*
  CuratedPrep premium interaction pass
  1. Mobile stacks: route board becomes a vertical sequence, reviews become one-card swipe, process cards become tap-first panels. Desktop uses a two-column editorial system with interactive cards.
  2. Spacing: 8px grid with 16/24/32px card rhythm and clamp() type.
  3. Color tokens: limestone paper, Oxford navy, ivory panels, brass micro-accent only.
  4. Focal point: a clear CuratedPrep route from grades to university, supported by calm interactive proof.
*/
.hero-brand-word{
  display:inline-block;
  white-space:nowrap;
  color:var(--trust);
}
.hero-brand-word b{
  color:var(--gold);
  font-weight:500;
}

.route-console{
  position:relative;
  border:1px solid rgba(17,47,70,.18);
  border-radius:16px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 5%,rgba(255,253,247,.95),transparent 32%),
    linear-gradient(140deg,rgba(255,253,247,.88),rgba(235,227,212,.82));
  box-shadow:0 34px 90px -64px rgba(17,47,70,.68);
}
.route-console::before{
  content:none;
}
.route-console-header{
  position:relative;
  z-index:1;
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 22px;
  border-bottom:1px solid rgba(17,47,70,.13);
}
.route-console-header span,
.route-console-panel span,
.route-node span{
  font-family:"IBM Plex Mono",monospace;
  font-size:10px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.route-console-header span,
.route-console-panel span{color:var(--gold)}
.route-console-header strong{
  color:var(--trust);
  font-size:14px;
  font-weight:600;
}
.route-console-stage{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  padding:clamp(18px,3vw,32px);
}
.route-line{
  position:absolute;
  left:calc(clamp(18px,3vw,32px) + 8%);
  right:calc(clamp(18px,3vw,32px) + 8%);
  top:50%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(151,104,23,.45),transparent);
}
.route-node{
  position:relative;
  z-index:1;
  min-height:188px;
  display:grid;
  align-content:space-between;
  gap:12px;
  padding:20px;
  border:1px solid rgba(17,47,70,.16);
  border-radius:12px;
  background:rgba(255,253,247,.74);
  color:var(--trust);
  text-align:left;
  cursor:pointer;
  transition:transform .24s var(--ease),background .24s var(--ease),border-color .24s var(--ease),box-shadow .24s var(--ease);
}
.route-node:hover,
.route-node:focus-visible,
.route-node.is-active{
  transform:translateY(-4px);
  border-color:rgba(151,104,23,.42);
  background:var(--ivory);
  box-shadow:0 22px 52px -42px rgba(17,47,70,.75);
}
.route-node:focus-visible{
  outline:2px solid rgba(151,104,23,.58);
  outline-offset:3px;
}
.route-node span{color:var(--gold)}
.route-node strong{
  display:block;
  font-family:"Source Serif 4",Georgia,serif;
  font-size:clamp(27px,2.25vw,36px);
  line-height:1;
  font-weight:560;
  overflow-wrap:normal;
}
.route-node em{
  font-style:normal;
  color:rgba(64,59,52,.76);
  font-size:14px;
  line-height:1.45;
}
.route-node.is-active{
  background:linear-gradient(140deg,var(--trust),var(--trust-2));
  color:var(--paper);
}
.route-node.is-active span,
.route-node.is-active em{color:rgba(245,241,232,.72)}
.route-node.is-active strong{color:var(--paper)}
.route-console-panel{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:auto minmax(160px,.32fr) minmax(0,1fr);
  align-items:center;
  gap:18px;
  padding:20px 24px 24px;
  border-top:1px solid rgba(17,47,70,.13);
  background:rgba(255,253,247,.45);
}
.route-console-panel strong{
  font-family:"Source Serif 4",Georgia,serif;
  font-size:clamp(28px,3vw,42px);
  line-height:1;
  color:var(--trust);
  font-weight:560;
}
.route-console-panel p{
  margin:0;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.65;
  text-align:left;
}

.trust-map article{
  position:relative;
  cursor:pointer;
  overflow:hidden;
  transition:transform .24s var(--ease),background .24s var(--ease),color .24s var(--ease),box-shadow .24s var(--ease);
}
.trust-map article::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(17,47,70,.08),transparent 42%);
  opacity:0;
  transition:opacity .24s var(--ease);
}
.trust-map article::after{
  content:"Explore";
  width:max-content;
  margin-top:14px;
  padding:7px 10px;
  border:1px solid rgba(151,104,23,.28);
  border-radius:999px;
  font-family:"IBM Plex Mono",monospace;
  font-size:8px;
  line-height:1;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gold);
}
.trust-map article:hover,
.trust-map article:focus-visible,
.trust-map article.is-active{
  z-index:2;
  transform:translateY(-4px);
  background:linear-gradient(145deg,var(--trust),var(--trust-2));
  color:var(--paper);
  box-shadow:0 24px 68px -48px rgba(17,47,70,.78);
}
.trust-map article:hover::before,
.trust-map article:focus-visible::before,
.trust-map article.is-active::before{opacity:1}
.trust-map article:focus-visible{
  outline:2px solid rgba(151,104,23,.64);
  outline-offset:-4px;
}
.trust-map article:hover h3,
.trust-map article:focus-visible h3,
.trust-map article.is-active h3{color:var(--paper)}
.trust-map article:hover p,
.trust-map article:focus-visible p,
.trust-map article.is-active p{color:rgba(245,241,232,.78)}
.trust-map article:hover::after,
.trust-map article:focus-visible::after,
.trust-map article.is-active::after{
  content:"Selected";
  color:var(--paper);
  border-color:rgba(245,241,232,.28);
  background:rgba(245,241,232,.08);
}

.review-card{
  border-radius:10px;
  background:rgba(255,253,247,.92);
}
.review-avatar{
  width:84px;
  height:84px;
  border-radius:999px;
  border:1px solid rgba(17,47,70,.18);
  background:var(--ivory);
  object-fit:cover;
  object-position:center 20%;
  box-shadow:0 12px 28px -22px rgba(17,47,70,.62);
}
.review-card-head{
  align-items:flex-start;
}

@media(max-width:1024px){
  .route-console{
    max-width:760px;
    margin-inline:auto;
  }
  .route-console-stage{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .route-line{
    left:50%;
    right:auto;
    top:32px;
    bottom:32px;
    width:1px;
    height:auto;
    background:linear-gradient(180deg,transparent,rgba(151,104,23,.42),transparent);
  }
  .route-console-panel{
    grid-template-columns:1fr;
    text-align:center;
  }
  .route-console-panel p{
    text-align:center;
    text-align-last:center;
    max-width:52ch;
    margin-inline:auto;
  }
}

@media(max-width:640px){
  .hero-brand-word{
    display:inline-block;
  }
  .route-console-header{
    min-height:56px;
    padding:16px 18px;
  }
  .route-console-stage{
    grid-template-columns:1fr;
    padding:18px;
  }
  .route-line{
    left:34px;
    top:38px;
    bottom:38px;
  }
  .route-node{
    min-height:126px;
    padding:18px 18px 18px 46px;
  }
  .route-node strong{
    font-size:31px;
  }
  .vision-intro p:not(.vision-subhead),
  .vision-text p,
  .culture-copy p,
  .international-stage p,
  .testprep-copy p,
  .trust-infographic-copy p{
    text-align:center;
    text-align-last:center;
    word-spacing:normal;
    hyphens:none;
  }
  .route-console-panel{
    padding:18px;
  }
  .trust-map article{
    transform:none!important;
  }
  .review-avatar{
    width:92px;
    height:92px;
  }
  .review-card-head{
    align-items:center;
  }
}

@media(prefers-reduced-motion:reduce){
  .route-node,
  .trust-map article{
    transition:none!important;
    transform:none!important;
  }
}

/*
  Unified route-board interaction pass
  1. Mobile: route nodes stack as large tap targets with the live explanation below; tablet uses two columns; desktop uses four columns.
  2. Spacing scale: 8px grid, 18/24/32px board padding, min 126px mobile nodes and 44px+ tap targets.
  3. Color tokens: ivory panels, Oxford navy active states, brass labels only.
  4. Focal point: one selected route step and its explanation, without faint grid lines behind the cards.
*/
.page-route-console{
  width:100%;
  max-width:none;
}

.trust-infographic .route-console{
  box-shadow:0 28px 74px -58px rgba(17,47,70,.52);
}

.trust-infographic .route-console-stage{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.trust-infographic .route-node{
  min-height:240px;
}

.trust-infographic .route-console-panel{
  background:rgba(255,253,247,.62);
}

@media(max-width:1024px){
  .trust-infographic .route-console{
    max-width:none;
  }
  .trust-infographic .route-console-stage{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .trust-infographic .route-node{
    min-height:170px;
  }
}

@media(max-width:640px){
  .trust-infographic .route-console-stage{
    grid-template-columns:1fr;
  }
  .trust-infographic .route-node{
    min-height:126px;
  }
}

/*
  WhatsApp floating CTA contrast fix
  1. Mobile and desktop: fixed circular button remains in the lower-right corner across all pages and blog articles.
  2. Spacing: 52px mobile / 58px desktop tap target with a visible 2px light ring.
  3. Color tokens: distinct WhatsApp emerald so it separates from both navy footer and light paper backgrounds.
  4. Focal point: always-visible contact action without blending into dark brand sections.
*/
.whatsapp-float{
  background:#128c7e!important;
  color:#fffdf7!important;
  border:2px solid rgba(255,253,247,.9)!important;
  box-shadow:
    0 0 0 5px rgba(18,140,126,.14),
    0 22px 54px -24px rgba(6,40,35,.78)!important;
}
.whatsapp-float:hover,
.whatsapp-float:focus-visible{
  background:#0a6f64!important;
  color:#fffdf7!important;
  border-color:#fffdf7!important;
  box-shadow:
    0 0 0 6px rgba(18,140,126,.2),
    0 28px 64px -26px rgba(6,40,35,.88)!important;
}
.whatsapp-float:focus-visible{
  outline:2px solid var(--gold-soft);
  outline-offset:4px;
}
.whatsapp-float svg{
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));
}

/*
  Final consultation anchor offset
  1. Mobile keeps copy above form; desktop keeps the two-column contact layout.
  2. Spacing scale: 40/56/76px top padding so Request a consultation lands with the section slightly higher.
  3. Color tokens: existing Oxford navy contact band with ivory form controls and brass labels.
  4. Focal point: consultation form and heading appear promptly after the CTA jump.
*/
.premium-home .contact.section{
  padding-top:clamp(40px,5vw,76px);
}

/*
  Compact route and programme card correction
  1. Mobile stacks route cards and programme cards in a compact centered flow; tablet uses two-column route boards; desktop uses controlled 3/4-column layouts.
  2. Spacing scale: 8px grid with 12/16/24px card gaps, compact vertical rhythm, and minimum 44px tap targets.
  3. Color tokens: limestone paper, ivory panels, Oxford navy active state, brass accent only.
  4. Focal point: readable route/programme choices without stretched empty boxes or connector lines running behind text.
*/
.route-line{
  display:none!important;
}

.trust-infographic .route-console{
  overflow:hidden;
}

.trust-infographic .route-console-stage{
  gap:clamp(10px,1.25vw,16px);
  padding:clamp(16px,2.2vw,24px);
}

.trust-infographic .route-node{
  min-height:clamp(128px,12.6vw,168px);
  padding:clamp(14px,1.45vw,18px);
  align-content:center;
  gap:clamp(12px,1.5vw,18px);
}

.trust-infographic .route-node span{
  align-self:start;
}

.trust-infographic .route-node strong{
  font-size:clamp(23px,1.55vw,28px);
  line-height:1.04;
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:balance;
}

.trust-infographic .route-node em{
  font-size:clamp(13px,1vw,15px);
  line-height:1.38;
}

.trust-infographic .route-console-panel{
  grid-template-columns:auto minmax(128px,210px) minmax(0,1fr);
  gap:clamp(12px,2vw,24px);
  padding:clamp(16px,2vw,22px) clamp(18px,2.8vw,30px);
}

.trust-infographic .route-console-panel strong{
  font-size:clamp(28px,2.35vw,38px);
  line-height:1.02;
  max-width:100%;
  overflow-wrap:anywhere;
  text-wrap:balance;
}

.trust-infographic .route-console-panel p{
  max-width:62ch;
  font-size:clamp(14.5px,1.04vw,16px);
  line-height:1.56;
  word-spacing:normal;
}

.premium-card-grid{
  align-items:stretch;
}

.premium-service-card{
  min-height:clamp(272px,22vw,316px);
  grid-template-rows:auto auto auto;
  gap:clamp(16px,1.8vw,22px);
  padding:clamp(22px,2.4vw,30px);
  align-content:start;
}

.premium-service-card h3{
  max-width:11ch;
  font-size:clamp(33px,2.8vw,42px);
  line-height:1.02;
  text-wrap:balance;
}

.premium-service-card p{
  max-width:42ch;
  font-size:clamp(15.5px,1.05vw,16.5px);
  line-height:1.62;
}

.premium-service-card .mini-tags{
  margin-top:auto;
}

@media(max-width:1024px){
  .trust-infographic .route-console-stage{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .trust-infographic .route-node{
    min-height:124px;
  }

  .trust-infographic .route-console-panel{
    grid-template-columns:1fr;
    text-align:center;
  }

  .trust-infographic .route-console-panel strong,
  .trust-infographic .route-console-panel p{
    margin-inline:auto;
    text-align:center;
    text-align-last:center;
  }

  .premium-service-card{
    min-height:0;
  }
}

@media(max-width:640px){
  .trust-infographic .route-console-stage{
    grid-template-columns:1fr;
  }

  .trust-infographic .route-node{
    min-height:104px;
    padding:16px 18px;
    text-align:center;
  }

  .trust-infographic .route-node span,
  .trust-infographic .route-node strong,
  .trust-infographic .route-node em{
    margin-inline:auto;
  }

  .trust-infographic .route-node strong{
    font-size:clamp(25px,7vw,30px);
  }

  .trust-infographic .route-console-panel{
    padding:18px;
  }

  .premium-service-card{
    padding:22px;
    gap:16px;
  }
}
