@font-face{font-family:"Red Hat Display";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/red-hat-display-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Red Hat Display";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/red-hat-display-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Red Hat Display";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/red-hat-display-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Red Hat Display";font-style:normal;font-weight:800;font-display:swap;src:url(fonts/red-hat-display-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Red Hat Text";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/red-hat-text-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Red Hat Text";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/red-hat-text-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Red Hat Text";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/red-hat-text-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Caveat";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/caveat-latin-700-normal.woff2) format("woff2")}
html{scroll-padding-top:90px}body{margin:0}img{max-width:100%}[hidden]{display:none!important}
/* Layout: brochure-led but pared back — navy and white bands, 1120px column, ring motifs from the logo used sparingly. Single brand look (light), set explicitly. */
:root{
  --navy:#0c2b57; --navy-2:#13386b; --blue:#164d8f; --sky:#8fcde3; --sky-2:#c9e7f1; --mist:#eef5f9;
  --white:#ffffff; --ink:#14284a; --muted:#4d6280; --line:#d8e6ee; --teal:#2a7393; --soft:#d3e2f0;
  --note:#fff6df; --note-line:#d7b252;
  --display:"Red Hat Display", "Segoe UI", system-ui, sans-serif;
  --body:"Red Hat Text", "Segoe UI", system-ui, sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-padding-top:80px}
body{background:var(--white);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--navy)}
img{display:block;max-width:100%}
a{color:var(--blue)}
a:focus-visible,button:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{font-family:var(--display);margin:0;line-height:1.1;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(2.4rem,5vw,3.7rem);font-weight:700}
h2{font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:700;color:var(--blue)}
h3{font-size:1.25rem;font-weight:700}
p{margin:0;max-width:62ch}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.band{padding-block:clamp(44px,5.5vw,72px);position:relative;overflow:hidden}
.navy{background:var(--navy);color:var(--white)}
.navy h2{color:var(--white)}
.navy p{color:var(--soft)}
.mist{background:var(--mist)}
.eyebrow{font-family:var(--display);font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
.navy .eyebrow{color:var(--sky)}
.rule{width:58px;height:4px;border-radius:4px;background:var(--sky)}
.stack{display:flex;flex-direction:column;gap:18px}
.lede{font-size:1.15rem;color:var(--muted)}
.ring{position:absolute;border-radius:50%;pointer-events:none}

.draft{background:var(--note);border:1px dashed var(--note-line);border-radius:10px;padding:10px 14px;font-size:.88rem;color:var(--ink);max-width:70ch}
.navy .draft,.navy p.draft{color:var(--ink)}
.draft span{font-family:var(--display);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;color:#9a7417;margin-right:8px}

/* Header: navy, seamless with the brochure-style hero */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--navy);color:var(--white);transition:box-shadow .25s,background .25s}
header.scrolled{background:#0a2550;box-shadow:0 8px 28px rgba(5,20,45,.35)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:20px;transition:padding .25s}
header.scrolled .nav{padding-block:12px}
.hcontact{border-bottom:1px solid rgba(255,255,255,.10);font-size:.88rem;overflow:hidden;max-height:60px;transition:max-height .25s,opacity .2s}
header.scrolled .hcontact{max-height:0;opacity:0;border-bottom-color:transparent}
.hcontact .wrap{display:flex;justify-content:space-between;align-items:center;gap:8px 24px;padding-block:10px;flex-wrap:wrap}
.hc-left{color:#a9c3dc}
.hc-right{display:flex;gap:6px 24px;flex-wrap:wrap}
.hc{display:inline-flex;align-items:center;gap:8px;color:var(--white);text-decoration:none;font-family:var(--display);font-weight:600}
.hc:hover{color:var(--sky)}
.hc svg{width:16px;height:16px;color:var(--sky)}
.mob-contact{display:flex;align-items:center;gap:8px}
.mob-contact .ico{display:none;width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);color:var(--white);place-items:center}
.mob-contact .ico svg{width:18px;height:18px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--white)}
.brand .wm{display:flex;flex-direction:column;gap:8px;line-height:1.05}
.brand small{font-family:var(--display);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sky);white-space:nowrap}
.brand img{padding:5px;object-fit:contain;width:70px;height:70px;transition:width .25s,height .25s;border-radius:50%;background:var(--white);box-shadow:0 0 0 3px rgba(143,205,227,.45)}
header.scrolled .brand img{width:52px;height:52px}
.brand b{font-family:var(--display);font-size:1.55rem;font-weight:800;letter-spacing:-.01em}
.links{display:flex;align-items:center;gap:2px;font-family:var(--display);font-weight:600;font-size:1.02rem}
.links a{white-space:nowrap;color:var(--soft);text-decoration:none;padding:10px 11px;position:relative;transition:color .15s}
.links a:not(.btn)::after{content:"";position:absolute;left:13px;right:13px;bottom:4px;height:3px;border-radius:3px;background:var(--sky);transform:scaleX(0);transition:transform .2s}
.links a:not(.btn):hover{color:var(--white)}
.links a:not(.btn):hover::after,.links a[aria-current="page"]:not(.btn)::after{transform:scaleX(1)}
.links a[aria-current="page"]:not(.btn){color:var(--white)}
.tagnew{font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--sky);color:var(--navy);padding:2px 7px;border-radius:999px;margin-left:6px;vertical-align:2px}
.hright{display:flex;align-items:center;gap:18px}
.hphone{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;color:var(--white);user-select:all;white-space:nowrap}
.hphone svg{width:16px;height:16px;color:var(--sky)}
.links .btn{margin-left:10px}
.menu-btn{display:none;align-items:center;gap:8px;background:transparent;border:1.5px solid rgba(255,255,255,.35);border-radius:999px;padding:9px 16px;font-family:var(--display);font-weight:700;color:var(--white);cursor:pointer;font-size:.95rem}
.menu-btn svg{width:20px;height:20px}
.brand b{white-space:nowrap}

@media (max-width:1090px){
  .menu-btn{display:inline-flex}
  .links{display:none;position:absolute;left:0;right:0;top:100%;background:#0a2550;box-shadow:0 16px 28px rgba(5,20,45,.35);flex-direction:column;align-items:stretch;gap:2px;padding:8px max(16px,env(safe-area-inset-right,0px)) 20px max(16px,env(safe-area-inset-left,0px))}
  .links.open{display:flex}
  .links a{padding:13px 4px;font-size:1.08rem;border-bottom:1px solid rgba(255,255,255,.08)}
  .links a:not(.btn)::after{display:none}
  .links a[aria-current="page"]:not(.btn){color:var(--sky)}
  .links .btn{margin:14px 0 0;justify-content:center;border-bottom:0}
}
@media (max-width:760px){.hcontact{display:none}.mob-contact .ico{display:grid}}
@media (max-width:480px){.brand b{font-size:1.1rem}.brand img,header.scrolled .brand img{width:46px;height:46px}.brand{gap:10px}.menu-btn{padding:0;width:42px;height:42px;justify-content:center}.menu-btn .lbl{display:none}.nav{padding-block:14px}}
@media (max-width:380px){.brand .wm{display:none}}
@media (max-width:480px){.brand small{font-size:.6rem;letter-spacing:.08em}.mob-contact .ico[href^="mailto"]{display:none}}
.btn{display:inline-flex;align-items:center;font-family:var(--display);font-weight:700;text-decoration:none;padding:12px 22px;border-radius:999px;border:2px solid transparent;font-size:1rem}
.btn.sky{background:var(--sky);color:var(--navy)}
.btn.sky:hover{background:var(--white)}
.btn.line{border-color:rgba(255,255,255,.5);color:var(--white)}
.btn.line:hover{border-color:var(--white)}
.btn.blue{background:var(--blue);color:var(--white)}
.links .btn{padding:9px 20px;font-size:.92rem}
.links .btn.sky,.links .btn.sky:hover{color:var(--navy)}

/* Hero */
.hero{display:grid;grid-template-columns:46% 54%;background:var(--navy);color:var(--white);position:relative;overflow:hidden}
.hero-copy{position:relative;z-index:1;padding-block:clamp(44px,5.5vw,76px);padding-left:max(16px,env(safe-area-inset-left,0px),calc((100vw - 1120px)/2 + 16px));padding-right:clamp(16px,4vw,56px);display:flex;flex-direction:column;gap:22px;justify-content:center}
.hero-copy p{color:var(--soft)}
.hero .eyebrow{color:var(--sky)}
.hero-copy .tag{font-family:var(--display);font-weight:600;font-size:1.3rem;color:var(--sky)}
.badges{display:flex;gap:12px;align-items:center;background:var(--white);border-radius:14px;padding:10px 14px;align-self:flex-start;box-shadow:0 0 0 4px rgba(143,205,227,.35);flex-wrap:wrap}
.badges img{height:52px;width:auto;border-radius:6px}
.hero-photo{position:relative;min-height:480px}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .ring.a{width:520px;height:520px;left:-200px;top:-140px;background:var(--navy-2)}
.hero .ring.b{width:620px;height:620px;left:-250px;top:-190px;border:1.5px solid rgba(143,205,227,.35)}

/* Intro */
.intro{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:center}
.intro>*{min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{background:var(--mist);color:var(--navy);font-family:var(--display);font-weight:600;padding:8px 16px;border-radius:999px;font-size:.95rem}
.keys{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--navy)}
.keys div{padding:20px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.keys div:nth-child(odd){padding-right:20px;border-right:1px solid var(--line)}
.keys div:nth-child(even){padding-left:20px}
.keys b{font-family:var(--display);font-size:clamp(1.9rem,3.5vw,2.6rem);font-weight:800;color:var(--blue);line-height:1;font-variant-numeric:tabular-nums}
.keys span{font-size:.93rem;color:var(--muted)}

/* Pathway */
.path-head{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end}
.path-head>*{min-width:0}
.chart-wrap{overflow-x:auto;margin-top:32px}
.chart{min-width:720px;display:grid;grid-template-columns:220px 1fr;row-gap:16px}
.axis{display:grid;grid-template-columns:repeat(9,1fr);font-family:var(--display);font-weight:600;font-size:.85rem;color:var(--sky);font-variant-numeric:tabular-nums}
.axis span:last-child{text-align:right}
.track{position:relative;height:38px;background-image:repeating-linear-gradient(to right,rgba(255,255,255,.12) 0 1px,transparent 1px calc(100%/8))}
.track .zone{position:absolute;top:-8px;bottom:-8px;left:calc(100%/8*4);width:calc(100%/8);background:rgba(143,205,227,.10);border-inline:1px dashed rgba(143,205,227,.5)}
.bar{position:absolute;top:0;bottom:0;border-radius:10px;display:flex;align-items:center;padding-left:14px;font-family:var(--display);font-weight:700;font-size:.9rem;color:var(--navy);white-space:nowrap}
.rowlabel h4{font-size:1.05rem}
.rowlabel small{color:#a9c3dc;font-size:.84rem}
.zone-label{position:relative;height:14px}
.zone-label span{position:absolute;left:calc(100%/8*4);width:calc(100%/8);text-align:center;font-family:var(--display);font-size:.7rem;letter-spacing:.16em;font-weight:700;color:var(--sky)}

/* Services */
.services{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:28px}
.svc{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:12px}
.svc .meta{display:flex;gap:8px;flex-wrap:wrap}
.pill{font-family:var(--display);font-size:.74rem;font-weight:700;background:var(--mist);color:var(--navy);padding:4px 11px;border-radius:999px}
.pill.reg{background:var(--navy);color:var(--white)}
.svc h3{color:var(--blue);font-size:1.4rem}
.svc p{color:var(--muted)}

/* PACE */
.pace-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:center}
.pace-grid>*{min-width:0}
.pace{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.pace div{background:var(--mist);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:6px}
.pace .l{width:50px;height:50px;border-radius:50%;background:var(--navy);color:var(--sky);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:1.45rem;box-shadow:0 0 0 5px var(--white),0 0 0 7px var(--sky-2);margin-bottom:8px}
.pace h3{color:var(--blue)}
.pace p{color:var(--muted);font-size:.96rem}

/* Academy */
.acad{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.acad>*{min-width:0}
.acad .photo{border-radius:24px;overflow:hidden;aspect-ratio:5/4}
.acad .photo img{width:100%;height:100%;object-fit:cover}
.acad-logo{width:260px;max-width:100%;height:auto;align-self:flex-start}
.lockup{display:inline-flex;align-items:center;gap:14px;align-self:flex-start}
.lockup img{width:92px;height:92px}
.lockup span{display:flex;flex-direction:column;line-height:.95;font-family:var(--display)}
.lockup b{font-weight:700;font-size:1.9rem;color:#1d4e8f;letter-spacing:0}
.lockup em{font-style:normal;font-weight:400;font-size:1.9rem;color:#8fcde3;letter-spacing:0}
.motto{font-family:var(--display);font-style:italic;font-weight:600;font-size:1.15rem;color:var(--teal)}

/* Referrals */
.refer{display:grid;grid-template-columns:1.4fr 1fr;background:var(--navy);color:var(--white)}
.refer-copy{padding-block:clamp(44px,5.5vw,76px);padding-left:max(16px,env(safe-area-inset-left,0px),calc((100vw - 1120px)/2 + 16px));padding-right:clamp(16px,4vw,56px);display:flex;flex-direction:column;gap:22px;min-width:0}
.refer-copy p{color:var(--soft)}
.refer-photo{position:relative;min-height:420px}
.refer-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.steps{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.st{background:var(--navy-2);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:18px;display:grid;grid-template-columns:28px 1fr;gap:10px}
.st b{font-family:var(--display);font-size:1.6rem;font-weight:800;color:var(--sky);line-height:1}
.st h4{font-size:1.05rem;margin-bottom:4px}
.st p{font-size:.92rem}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid rgba(255,255,255,.18);padding-top:24px}
.ci small{display:block;font-family:var(--display);font-weight:700;letter-spacing:.14em;font-size:.72rem;color:var(--sky);text-transform:uppercase}
.ci span{font-family:var(--display);font-weight:600;font-size:1.05rem;color:var(--white);user-select:all;overflow-wrap:anywhere}

/* Careers */
.careers{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}
.careers>*{min-width:0}

footer{background:var(--navy);color:var(--white);font-size:.93rem;position:relative;overflow:hidden}
footer h4{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sky);margin-bottom:16px}
footer p{color:var(--soft)}
footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
footer nav a{color:var(--soft);text-decoration:none;transition:color .15s}
footer nav a:hover{color:var(--white)}
.fcta{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-block:44px 0}
.fcard{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--white);background:var(--navy-2);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:28px 30px;transition:transform .2s,border-color .2s}
.fcard:hover{transform:translateY(-3px);border-color:var(--sky)}
.fcard h3{font-size:1.6rem;color:var(--white)}
.fcard p{font-size:.97rem}
.fcard .go{margin-top:8px;font-family:var(--display);font-weight:700;color:var(--sky)}
.fcard .go::after{content:" \2192"}
.fcard.light{background:var(--sky);border-color:var(--sky)}
.fcard.light h3,.fcard.light .go{color:var(--navy)}
.fcard.light p{color:var(--navy);opacity:.85}
.fcard .eyebrow{color:var(--sky)}
.fcard.light .eyebrow{color:var(--navy)}
.fmain{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:40px;padding-block:44px 32px}
.fmain>*{min-width:0}
.fbrand{display:flex;flex-direction:column;gap:16px}
.fbrand .brand img{width:64px;height:64px}
.fbrand p{max-width:40ch}
.freg{font-size:.85rem;color:#a9c3dc !important}
.fcontact{display:flex;flex-direction:column;gap:14px}
.fc{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:center;color:var(--white);text-decoration:none;font-family:var(--display);font-weight:600;overflow-wrap:anywhere}
.fc svg{width:36px;height:36px;padding:9px;border-radius:50%;background:rgba(143,205,227,.14);color:var(--sky)}
a.fc:hover span{color:var(--sky)}
div.fc{font-family:var(--body);font-weight:400;color:var(--soft);font-size:.9rem}
.legal{display:flex;justify-content:space-between;align-items:center;gap:10px 24px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);padding-block:20px;font-size:.84rem;color:#a9c3dc}
.llinks{display:flex;gap:6px 22px;flex-wrap:wrap}
.llinks a{color:#a9c3dc;text-decoration:none}
.llinks a:hover{color:var(--white)}
.totop{font-weight:600}

/* Pages */
.pagehead{padding-block:clamp(40px,5vw,68px);position:relative;overflow:hidden}
.pagehead p{color:var(--soft);font-size:1.15rem}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tile{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:26px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:10px;transition:transform .2s,box-shadow .2s}
.tile:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(12,43,87,.12)}
.tile h3{color:var(--blue);font-size:1.35rem}
.tile .go{font-family:var(--display);font-weight:700;color:var(--teal);margin-top:auto}
.tile .go::after{content:" →"}
.tile.dark{background:var(--navy);border-color:var(--navy)}
.tile.dark h3{color:var(--white)}.tile.dark .eyebrow,.tile.dark .go{color:var(--sky)}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 32px;margin-top:28px}
.why div{border-top:3px solid var(--sky);padding-top:16px;display:flex;flex-direction:column;gap:8px}
.why h3{color:var(--blue)}
.why p{color:var(--muted);font-size:.97rem}
.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.role-card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:10px}
.role-card .pill{align-self:flex-start}
.role-card h3{color:var(--blue)}
.role-card p{color:var(--muted);font-size:.95rem}
.apply{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.apply>*{min-width:0}
.st.light{background:var(--mist);border-color:var(--line)}
.st.light h4{color:var(--navy)}.st.light p{color:var(--muted)}.st.light b{color:var(--blue)}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.quotes figure{margin:0;background:var(--mist);border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:16px;position:relative}
.quotes figure::before{content:"\201C";font-family:var(--display);font-weight:800;font-size:4rem;line-height:.6;color:var(--sky)}
.quotes blockquote{margin:0;font-family:var(--display);font-weight:600;font-size:1.15rem;color:var(--navy);line-height:1.4}
.quotes figcaption{margin-top:auto;font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);font-family:var(--display)}
.outcomes{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:28px}
.outcomes div{background:var(--white);border-radius:16px;padding:20px;border-top:4px solid var(--sky);display:flex;flex-direction:column;gap:6px}
.outcomes h3{color:var(--blue);font-size:1.1rem}
.outcomes p{color:var(--muted);font-size:.93rem}
.paygrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.paycard{background:var(--navy-2);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:6px}
.paycard small{font-family:var(--display);font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sky)}
.paycard b{font-family:var(--display);font-size:2rem;font-weight:800;color:var(--white);font-variant-numeric:tabular-nums}
.paycard span{color:var(--soft);font-size:.92rem}
.perks{list-style:none;padding:0;margin:28px 0 24px;display:flex;flex-wrap:wrap;gap:10px}
.perks li{background:rgba(143,205,227,.14);border:1px solid rgba(143,205,227,.35);color:var(--white);font-family:var(--display);font-weight:600;font-size:.95rem;padding:8px 16px;border-radius:999px}
.legaltext{display:flex;flex-direction:column;gap:14px}
.legaltext h2{font-size:1.35rem;margin-top:18px}
.legaltext h2:first-child{margin-top:0}
.legaltext p,.legaltext li{color:var(--ink);max-width:68ch}
.legaltext ul{max-width:70ch;margin:0;padding-left:1.1em;display:flex;flex-direction:column;gap:10px}
.legaltext b{color:var(--navy)}
.check a{color:var(--blue)}
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;align-items:start}
.contact-grid>*{min-width:0}
.cform{display:flex;flex-direction:column;gap:18px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-family:var(--display);font-weight:700;font-size:.92rem;color:var(--navy)}
.opt{font-weight:500;color:var(--muted)}
.cform input,.cform select,.cform textarea{font:inherit;color:var(--ink);background:var(--white);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;width:100%}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--sky-2)}
.cform [aria-invalid="true"]{border-color:#b3261e}
.hint{color:var(--muted);font-size:.86rem}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.93rem;color:var(--ink)}
.check input{width:18px;height:18px;margin-top:3px;flex:none}
.err{color:#b3261e;font-size:.92rem}
.ok{background:var(--mist);border-left:4px solid var(--sky);padding:12px 14px;border-radius:8px;font-size:.93rem}
.cside{background:var(--mist);border-radius:20px;padding:26px}
.cside .ci small{color:var(--teal)}.cside .ci span{color:var(--navy)}
.cform button{border:0;cursor:pointer}
.btn svg{width:18px;height:18px}
.btn.line{gap:8px}
.hcall{font-size:.95rem}
.hcall a{color:var(--white);font-family:var(--display);font-weight:700;text-decoration:none;border-bottom:2px solid var(--sky)}
a.tel{color:var(--blue);font-weight:700;text-decoration:none;border-bottom:2px solid var(--sky)}
.callcard{display:flex;align-items:center;gap:18px;background:var(--navy);color:var(--white);text-decoration:none;border-radius:20px;padding:22px 24px;margin-top:6px;transition:transform .2s,box-shadow .2s}
.callcard:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(12,43,87,.2)}
.cc-ic{flex:none;width:58px;height:58px;border-radius:50%;background:var(--sky);color:var(--navy);display:grid;place-items:center}
.cc-ic svg{width:26px;height:26px}
.cc-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.cc-t small{font-family:var(--display);font-weight:700;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sky)}
.cc-t b{font-family:var(--display);font-size:1.9rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.cc-t em{font-style:normal;color:var(--soft);font-size:.9rem}
.glance{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.glance div{background:var(--navy-2);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:6px}
.glance b{font-family:var(--display);font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:800;color:var(--sky);line-height:1.1;font-variant-numeric:tabular-nums}
.glance span{color:var(--soft);font-size:.93rem}
.ladder{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;counter-reset:l}
.ladder li{background:var(--white);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:6px;position:relative}
.ladder li:last-child{background:var(--sky)}
.ladder small{font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--teal)}
.ladder li:last-child small{color:var(--navy)}
.ladder b{font-family:var(--display);font-size:1.5rem;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums;line-height:1.1}
.ladder span{color:var(--muted);font-size:.86rem}
.ladder li:last-child span{color:var(--navy)}
.pace-intro{display:grid;grid-template-columns:1fr 1.4fr;gap:24px 56px;align-items:start}
.pace-intro>*{min-width:0}
.pacewheel{display:grid;grid-template-columns:1fr minmax(300px,420px) 1fr;gap:24px;align-items:center;margin-top:32px}
.pw-col{display:flex;flex-direction:column;gap:120px;min-width:0}
.pw-item{display:flex;gap:14px;align-items:flex-start}
.pw-col.left .pw-item{flex-direction:row-reverse;text-align:right}
.pw-item h3{color:var(--blue);font-size:1.3rem;margin-bottom:6px}
.pw-item p{color:var(--muted);font-size:.98rem}
.pw-l{display:none}
.pw-svg{width:100%;height:auto;max-width:100%}
@media (max-width:960px){
  .pace-intro{grid-template-columns:1fr}
  .pacewheel{grid-template-columns:1fr;justify-items:center}
  .pw-mid{order:0;margin-bottom:8px}.pw-svg{max-width:360px}
  .pw-col{display:contents}
  .pacewheel{gap:16px}
  .pw-item{width:100%}
  .pw-col.left .pw-item:nth-child(1){order:1}.pw-col.right .pw-item:nth-child(1){order:2}
  .pw-col.left .pw-item:nth-child(2){order:3}.pw-col.right .pw-item:nth-child(2){order:4}
  .pw-col.left .pw-item{flex-direction:row;text-align:left}
  .pw-l{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--navy);color:var(--sky);font-family:var(--display);font-weight:800;font-size:1.2rem}
  .pw-item{background:var(--mist);border-radius:16px;padding:18px}
}
.pace-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50% !important;background:var(--navy) !important;color:var(--white);align-items:center;justify-content:center;text-align:center;padding:16px !important;box-shadow:0 0 0 10px var(--white),0 0 0 12px var(--sky-2);z-index:2}
.pace-hub img{width:52px;height:52px;border-radius:50%;background:var(--white);padding:3px}
.pace-hub span{font-family:var(--display);font-weight:700;font-size:.78rem;line-height:1.2;color:var(--sky)}
.pace>div:nth-child(2){padding-right:72px;padding-bottom:64px}
.pace>div:nth-child(3){padding-left:72px;padding-bottom:64px}
.pace>div:nth-child(4){padding-right:72px;padding-top:64px}
.pace>div:nth-child(5){padding-left:72px;padding-top:64px}
@media (max-width:620px){.pace-hub{position:static;transform:none;margin:0 auto 12px;grid-column:1/-1}.pace>div:not(.pace-hub){padding:22px !important}}
@media (max-width:960px){.ladder{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.ladder{grid-template-columns:1fr}}
.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.benefits div{background:var(--navy-2);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:22px}
.benefits h3{color:var(--sky);font-size:1.05rem;margin-bottom:10px}
.benefits ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.benefits li{color:var(--white);font-size:.95rem;padding-left:24px;position:relative}
.benefits li::before{content:"";position:absolute;left:0;top:5px;width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fcde3' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/contain no-repeat}
.vac-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap}
.vfilter{display:flex;gap:8px;flex-wrap:wrap}
.vf{font-family:var(--display);font-weight:700;font-size:.9rem;border:2px solid var(--line);background:var(--white);color:var(--navy);border-radius:999px;padding:8px 16px;cursor:pointer}
.vf.on{background:var(--navy);border-color:var(--navy);color:var(--white)}
.vacs{display:flex;flex-direction:column;gap:12px;margin-top:28px}
.vac{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:18px 20px;display:grid;grid-template-columns:1fr auto auto;gap:12px 20px;align-items:center}
.vac .vt{min-width:0}
.vac h3{color:var(--navy);font-size:1.12rem}
.vac p{color:var(--muted);font-size:.93rem;margin-top:4px}
.vac .btn{padding:10px 22px}
.vac-none{margin:22px 0 16px;color:var(--muted)}
.sel{user-select:all;font-weight:600;color:var(--navy)}
@media (max-width:960px){
  .glance,.benefits{grid-template-columns:1fr 1fr}
  .vac{grid-template-columns:1fr auto}
  .vac .pill{grid-row:2;justify-self:start}
  .contact-grid{grid-template-columns:1fr;gap:36px}
  .quotes{grid-template-columns:1fr}
  .outcomes{grid-template-columns:1fr 1fr}
  .paygrid{grid-template-columns:1fr 1fr}
  .tiles,.why,.roles{grid-template-columns:1fr 1fr}
  .apply{grid-template-columns:1fr;gap:36px}
  .hero{grid-template-columns:1fr}
  .hero-photo{min-height:0;height:min(70vw,460px)}
  .intro,.path-head,.pace-grid,.acad,.careers{grid-template-columns:1fr;gap:36px}
  .refer{grid-template-columns:1fr}
  .refer-photo{min-height:300px}
  .fmain{grid-template-columns:1fr 1fr}.fbrand{grid-column:1/-1}
}
@media (max-width:620px){
  .links{gap:4px 16px;font-size:.9rem}
  .glance,.benefits,.row2,.services,.pace,.steps,.contact,.tiles,.why,.roles,.outcomes,.paygrid{grid-template-columns:1fr}
  .fcta{grid-template-columns:1fr}.fmain{grid-template-columns:1fr 1fr;gap:32px 20px}.fcontact{grid-column:1/-1}.fcard{padding:24px}
  .badges img{height:42px}
}
/* v2: more designed touches */
.hand{font-family:"Caveat","Segoe Script","Bradley Hand",cursive;font-weight:700;font-size:clamp(1.9rem,3vw,2.4rem);line-height:1.1;color:var(--sky);display:inline-block;padding:0 .3em .1em 0}
.draw.slow{transition-duration:2.4s}
.hero-photo img{transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.hero:hover .hero-photo img{transform:scale(1.03)}
.pagehead{padding-block:clamp(48px,6vw,84px) clamp(84px,9vw,128px)}
.pagehead .wrap{position:relative;z-index:1}
.pagehead h1{max-width:15ch}
.pagehead p{max-width:44ch}
.leaves{position:absolute;right:max(-30px,calc((100vw - 1120px)/2 - 20px));bottom:-6px;width:clamp(250px,32vw,430px);height:auto;pointer-events:none;overflow:visible}
.bot-sw{position:absolute;left:0;bottom:-1px;width:100%;height:clamp(40px,6vw,70px);pointer-events:none;overflow:visible;z-index:2}
.bot-sw path.f{fill:var(--white)}
footer{padding-top:clamp(26px,4vw,46px)}
.m-age{display:none}
.svc-rows{display:flex;flex-direction:column}
.srow{display:grid;grid-template-columns:1.05fr 1.5fr 1.1fr;gap:20px 44px;padding-block:34px;border-top:1px solid var(--line);align-items:start}
.srow:first-child{border-top:0;padding-top:0}
.srow:last-child{padding-bottom:0}
.srow>*{min-width:0}
.srow h2{font-size:clamp(1.5rem,2.4vw,1.9rem)}
.srow .meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.srow p{color:var(--muted)}
.srow dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:.95rem}
.srow dt{font-family:var(--display);font-weight:700;color:var(--teal);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding-top:4px}
.srow dd{margin:0;color:var(--ink)}
.go-link{font-family:var(--display);font-weight:700;color:var(--blue);text-decoration:none;border-bottom:2px solid var(--sky);align-self:flex-start;padding-bottom:1px}
.go-link::after{content:" \2192"}
.go-link:hover{color:var(--navy);border-color:var(--blue)}
.pull{display:grid;grid-template-columns:1fr 1fr;gap:28px 64px;margin-top:32px}
.pull figure{margin:0;padding-left:28px;border-left:4px solid var(--sky);display:flex;flex-direction:column;gap:14px}
.pull blockquote{margin:0;font-family:var(--display);font-weight:700;font-size:clamp(1.4rem,2.5vw,1.95rem);line-height:1.25;color:var(--navy);text-wrap:balance}
.pull figcaption{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);font-family:var(--display)}
.outcomes div{background:none;border-radius:0;padding:16px 0 0;border-top:3px solid var(--sky)}
.acad2{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:start}
.acad2>*{min-width:0}
.why.one{grid-template-columns:1fr;margin-top:0;gap:22px}
.refcard{background:var(--navy);border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:16px;color:var(--white)}
.refcard h3{font-size:1.4rem}
.refcard p{color:var(--soft);font-size:.92rem}
.cside .fc{color:var(--navy)}
.cside .fc svg{background:var(--white);color:var(--blue)}
.cside div.fc{color:var(--muted)}
.cside a.fc:hover span{color:var(--blue)}
.legaltext a.tel,.nw{white-space:nowrap}
.rise{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.rise:nth-child(2){transition-delay:.08s}
.rise:nth-child(3){transition-delay:.16s}
.rise.pre{transform:translateY(26px);transition:none}
@media (min-width:1091px) and (max-width:1220px){.links{font-size:.95rem}.links a{padding:10px 8px}.brand b{font-size:1.35rem}.brand img{width:60px;height:60px}}
@media (max-width:960px){.srow{grid-template-columns:1fr;gap:14px}.acad2{grid-template-columns:1fr;gap:36px}}
@media (max-width:760px){
  .leaves{opacity:.22;right:-70px;width:230px}
  .pull{grid-template-columns:1fr}
  .chart-wrap{overflow:visible}
  .chart{min-width:0;grid-template-columns:1fr;row-gap:6px}
  .chart>div:empty{display:none}
  .rowlabel{margin-top:12px}
  .m-age{display:inline}
  .bar{font-size:0;padding:0}
  .track{height:26px}
  .axis{font-size:.72rem}
  .zone-label{margin-top:4px}
}
@media (prefers-reduced-motion:no-preference){.leaves .crown{animation:sway 9s ease-in-out infinite alternate;transform-origin:200px 300px}@keyframes sway{from{transform:rotate(-1.6deg)}to{transform:rotate(1.6deg)}}}
/* PACE wheel: interactive */
.pw-mid{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;width:100%}
.pw-say{text-align:center;min-height:5.6em;display:flex;flex-direction:column;align-items:center;gap:4px}
.pw-say small{font-family:var(--display);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
.pw-quote{font-family:"Caveat","Segoe Script","Bradley Hand",cursive;font-weight:700;font-size:1.8rem;line-height:1.12;color:var(--blue);max-width:26ch;transition:opacity .18s}
.pw-quote.out{opacity:0}
.pw-node{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:transform .45s cubic-bezier(.3,1.5,.5,1);outline:none}
.pw-node .halo{opacity:0;transition:opacity .3s}
.pw-node.on{transform:scale(1.16)}
.pw-node.on .halo,.pw-node:focus-visible .halo{opacity:1}
.pw-node:focus-visible .halo{stroke:var(--navy)}
.pw-link{stroke:var(--sky);stroke-width:2;stroke-dasharray:160;stroke-dashoffset:0;transition:stroke .3s,stroke-width .3s}
.pw-link.on{stroke:var(--blue);stroke-width:4}
.pw-arc{transform-origin:200px 200px;transition:transform .9s cubic-bezier(.3,.8,.2,1)}
.pw-item{cursor:pointer;transition:opacity .3s}
.pacewheel.live .pw-item:not(.on){opacity:.62}
.pw-item.on h3{color:var(--navy)}
.pw-pre .pw-node{transform:scale(0)}
.pw-pre .pw-link{stroke-dashoffset:160}
.pw-go .pw-node{animation:pwpop .6s cubic-bezier(.3,1.5,.5,1) backwards}
.pw-go .pw-node[data-k="p"]{animation-delay:.25s}.pw-go .pw-node[data-k="a"]{animation-delay:.4s}.pw-go .pw-node[data-k="c"]{animation-delay:.55s}.pw-go .pw-node[data-k="e"]{animation-delay:.7s}
.pw-go .pw-link{animation:pwdraw .7s ease backwards}
@keyframes pwpop{from{transform:scale(0)}}
@keyframes pwdraw{from{stroke-dashoffset:160}}
@media (prefers-reduced-motion:no-preference){
  .pw-spin{transform-origin:200px 200px;animation:pwspin 90s linear infinite}
  .pw-ripple{transform-origin:200px 200px;animation:pwripple 4.5s ease-out infinite}
  @keyframes pwspin{to{transform:rotate(360deg)}}
  @keyframes pwripple{from{transform:scale(.64);opacity:.55}to{transform:scale(1);opacity:0}}
}
@media (prefers-reduced-motion:reduce){.pw-ripple{display:none}}
@media (max-width:960px){.pacewheel.live .pw-item:not(.on){opacity:1}.pw-item.on{box-shadow:inset 0 0 0 2px var(--sky)}.pw-say{min-height:4.6em}}
/* v3: interactive pathway, shift timeline */
.top-sw path.f{fill:var(--prev,var(--white))}
.rowlabel,.track{cursor:pointer}
.rowlabel{outline:none;transition:opacity .25s}
.rowlabel h4{transition:color .25s}
.track{transition:background-color .25s}
.track .bar{transition:clip-path 1.1s cubic-bezier(.3,.7,.2,1) .2s,opacity .25s}
.chart.live .rowlabel:not(.on),.chart.live .track:not(.on) .bar{opacity:.38}
.rowlabel.on h4,.rowlabel:focus-visible h4{color:var(--sky)}
.track.on{background-color:rgba(143,205,227,.12)}
.path-info{margin-top:22px;background:var(--navy-2);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:18px 24px;min-height:92px;display:flex;align-items:center}
.pi{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr) auto;gap:8px 32px;align-items:center;width:100%}
.pi h3{color:var(--sky);font-size:1.2rem}
.navy .pi p{color:var(--soft);max-width:none;font-size:.98rem}
.navy .pi-hint{color:#a9c3dc}
.go-link.light{color:var(--white);white-space:nowrap}
.go-link.light:hover{color:var(--sky);border-color:var(--white)}
.shift{position:relative;margin-top:36px}
.shift-line{position:absolute;left:0;top:0;width:100%;height:40px;overflow:visible}
.shift-line path{stroke:var(--blue);opacity:.5}
.shift-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);position:relative}
.shift-steps li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding-inline:12px;min-width:0}
.shift-steps .dot{width:20px;height:20px;border-radius:50%;background:var(--white);border:4px solid var(--blue);margin:10px 0 14px;flex:none}
.shift-steps li:first-child .dot,.shift-steps li:last-child .dot{background:var(--blue);box-shadow:0 0 0 5px var(--sky-2)}
.shift-steps b{font-family:var(--display);font-weight:800;font-size:1.45rem;color:var(--blue);line-height:1.1}
.shift-steps h3{color:var(--navy);font-size:1.08rem}
.shift-steps p{color:var(--muted);font-size:.93rem}
.shift-note{margin-top:24px;font-size:.88rem;color:var(--muted)}
@media (max-width:760px){
  .path-info{min-height:176px;padding:18px}
  .pi{grid-template-columns:1fr}
  .shift-line{display:none}
  .shift-steps{grid-template-columns:1fr;border-left:3px solid var(--sky-2);margin-left:10px}
  .shift-steps li{align-items:flex-start;text-align:left;padding:0 0 22px 24px;position:relative}
  .shift-steps li:last-child{padding-bottom:0}
  .shift-steps .dot{position:absolute;left:-12px;top:4px;margin:0}
}
/* Swoosh details: lines that draw themselves, curved edges between navy and photo */
.sw{position:relative;display:inline-block;white-space:nowrap}
.sw-line{position:absolute;left:-2%;width:104%;bottom:-.24em;height:.36em;overflow:visible;pointer-events:none}
.sw-line path,.edge-line path,.top-line path{fill:none;stroke:var(--sky);stroke-linecap:round;vector-effect:non-scaling-stroke}
.sw-line path{stroke-width:5}
.edge-line path,.top-line path{stroke-width:3;opacity:.9}
.edge{position:absolute;z-index:1;pointer-events:none;overflow:visible}
.edge path.f{fill:var(--navy)}
.edge-v{left:-1px;top:0;height:100%;width:clamp(70px,9vw,120px)}
.edge-h{display:none;left:0;top:-1px;width:100%;height:56px}
.top-sw{position:absolute;left:0;top:-1px;width:100%;height:clamp(40px,6vw,70px);pointer-events:none;overflow:visible}
.top-sw path.f{fill:var(--white)}
.band.navy{padding-top:calc(clamp(44px,5.5vw,72px) + clamp(26px,4vw,46px))}
.draw{clip-path:inset(-12px -12px -12px -12px);transition:clip-path 1.4s cubic-bezier(.65,.05,.25,1) .25s}
.draw.pre{clip-path:inset(-12px 100% -12px -12px);transition:none}
.draw.down.pre{clip-path:inset(-12px -12px 100% -12px)}
.bar,.rule{clip-path:inset(0 0 0 0 round 10px);transition:clip-path 1.1s cubic-bezier(.3,.7,.2,1) .2s}
.bar.pre,.rule.pre{clip-path:inset(0 100% 0 0 round 10px);transition:none}
@media (max-width:960px){.edge-v{display:none}.edge-h{display:block}}
@media (prefers-reduced-motion:no-preference){.hero .ring.b{animation:drift 14s ease-in-out infinite alternate}@keyframes drift{to{transform:scale(1.06) translate(10px,8px)}}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

.rota{margin-top:34px;background:var(--white);border-radius:22px;padding:24px 26px}
.rota-top{display:flex;justify-content:space-between;align-items:center;gap:10px 24px;flex-wrap:wrap;margin-bottom:16px}
.rota-top h3{color:var(--navy);font-size:1.12rem}
.rota-key{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--muted)}
.rota-key .k{width:14px;height:14px;border-radius:50%;border:2px solid var(--sky);margin-left:10px}
.rota-key .k.on{background:var(--blue);border-color:var(--blue);margin-left:0}
.rota-days{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(28,1fr);gap:6px}
.rota-days li{aspect-ratio:1;border-radius:50%;border:2px solid var(--sky-2);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:.72rem;color:var(--muted);transition:transform .45s cubic-bezier(.2,1.4,.4,1),opacity .4s,background .3s;transition-delay:calc(var(--i)*28ms)}
.rota-days li.on{background:var(--blue);border-color:var(--blue);color:var(--white);box-shadow:0 0 0 3px var(--sky-2)}
.rota-days li:nth-child(7n+1):not(:first-child){margin-left:0}
.rota.wait .rota-days li{opacity:0;transform:scale(.3)}
@media (max-width:900px){.rota-days{grid-template-columns:repeat(14,1fr)}}
@media (max-width:560px){.rota{padding:20px 18px}.rota-days{grid-template-columns:repeat(7,1fr);gap:8px;max-width:340px}}
@media (min-width:961px){.ladder{align-items:stretch}.ladder li:nth-child(1){margin-top:64px}.ladder li:nth-child(2){margin-top:48px}.ladder li:nth-child(3){margin-top:32px}.ladder li:nth-child(4){margin-top:16px}}
.ladder li{transition:transform .25s,box-shadow .25s}
.ladder li:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(0,0,0,.25)}
.vac{transition:transform .2s,box-shadow .2s,border-color .2s}
.vac:hover{transform:translateY(-2px);border-color:var(--sky);box-shadow:0 10px 24px rgba(12,43,87,.1)}
.rsteps{list-style:none;margin:6px 0 0;padding:0;position:relative;display:grid;gap:4px}
.rsteps::before,.rsteps .prog{content:"";position:absolute;left:22px;top:34px;width:3px;border-radius:3px}
.rsteps::before{bottom:34px;background:var(--sky-2)}
.rsteps .prog{height:0;background:var(--blue);transition:height .55s ease}
.rsteps li{display:grid;grid-template-columns:47px 1fr;gap:18px;align-items:start;padding:12px 0;cursor:pointer;position:relative;transition:opacity .3s;outline-offset:4px}
.rsteps li>b{width:47px;height:47px;border-radius:50%;background:var(--white);border:3px solid var(--sky-2);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:1.1rem;color:var(--blue);position:relative;z-index:1;transition:background .3s,color .3s,border-color .3s,box-shadow .3s,transform .3s}
.rsteps h3{color:var(--navy);font-size:1.12rem;margin-top:2px}
.rsteps p{color:var(--muted);font-size:.96rem;margin-top:3px}
.rsteps.live li{opacity:.55}
.rsteps.live li.done{opacity:.8}
.rsteps.live li.on{opacity:1}
.rsteps li.done>b{border-color:var(--blue)}
.rsteps li.on>b{background:var(--blue);border-color:var(--blue);color:var(--white);box-shadow:0 0 0 6px var(--sky-2);transform:scale(1.06)}
.refcheck{display:flex;flex-wrap:wrap;gap:8px}
.rc{font:inherit;font-size:.93rem;border:1.5px solid var(--line);background:var(--white);color:var(--navy);border-radius:999px;padding:8px 15px 8px 9px;display:inline-flex;gap:9px;align-items:center;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.rc i{width:20px;height:20px;border-radius:50%;border:2px solid var(--sky);flex:none;position:relative;transition:background .2s,border-color .2s}
.rc i::after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid var(--navy);border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .2s}
.rc:hover{border-color:var(--sky)}
.rc[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--white)}
.rc[aria-pressed="true"] i{background:var(--sky);border-color:var(--sky)}
.rc[aria-pressed="true"] i::after{transform:rotate(45deg) scale(1)}
@media (prefers-reduced-motion:reduce){.rota-days li,.rsteps .prog,.ladder li,.vac{transition:none}}

.progress{position:absolute;left:0;right:0;bottom:-3px;height:3px;background:linear-gradient(90deg,var(--sky),var(--white));transform:scaleX(0);transform-origin:0 50%;z-index:2;pointer-events:none}
.btn{position:relative;overflow:hidden;transition:transform .15s,background .2s,border-color .2s,box-shadow .2s}
.btn::before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);pointer-events:none}
.btn:active{transform:scale(.97)}
.spot{position:relative;overflow:hidden}
.spot::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(143,205,227,.28),transparent 70%)}
.spot:hover::after{opacity:1}
@media (hover:hover){
  .btn:hover{box-shadow:0 8px 20px rgba(5,20,45,.22);transform:translateY(-1px)}
  .btn:hover::before{left:120%;transition:left .6s ease}
  .brand:hover img{animation:logosway 1.1s ease-in-out}
}
@keyframes logosway{0%,100%{transform:rotate(0)}30%{transform:rotate(-7deg)}65%{transform:rotate(5deg)}}
@media (min-width:961px) and (hover:hover){
  .srow{position:relative;transition:padding-left .3s}
  .srow::before{content:"";position:absolute;left:0;top:34px;bottom:34px;width:4px;border-radius:4px;background:var(--sky);transform:scaleY(0);transform-origin:50% 0;transition:transform .35s}
  .srow:hover{padding-left:22px}
  .srow:hover::before{transform:scaleY(1)}
}
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  .view:not([hidden])>section:first-child .hero-copy>*,.view:not([hidden])>.pagehead>.wrap>*{animation:upin .7s cubic-bezier(.2,.7,.2,1) backwards}
  .hero-copy>*:nth-child(2),.pagehead>.wrap>*:nth-child(2){animation-delay:.08s}
  .hero-copy>*:nth-child(3),.pagehead>.wrap>*:nth-child(3){animation-delay:.16s}
  .hero-copy>*:nth-child(4){animation-delay:.24s}
  .hero-copy>*:nth-child(5){animation-delay:.32s}
  .hero-copy>*:nth-child(6){animation-delay:.4s}
  .view:not([hidden]) .hero-photo img{animation:zoomin 1.8s cubic-bezier(.2,.7,.2,1) backwards}
  .hero .ring.a{transition:transform .5s ease-out;transform:translate(calc(var(--px,0)*18px),calc(var(--py,0)*18px))}
  @keyframes upin{from{opacity:0;transform:translateY(18px)}}
  @keyframes zoomin{from{transform:scale(1.1);opacity:.4}}
}

.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hand .wd{display:inline-block;white-space:nowrap}
.hand .l{display:inline-block;clip-path:inset(-30% 105% -30% -10%)}
.hand.go .l{animation:penl .34s cubic-bezier(.4,0,.5,1) forwards;animation-delay:calc(var(--i)*125ms + .5s)}
@keyframes penl{to{clip-path:inset(-30% -12% -30% -10%)}}
.agepick{background:var(--mist);border-radius:22px;padding:22px 26px;display:grid;grid-template-columns:auto 1fr;gap:8px 28px;align-items:center}
.ap-l{display:flex;flex-direction:column;gap:2px}
.agepick label{font-family:var(--display);font-weight:700;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.agepick output{font-family:var(--display);font-weight:800;font-size:1.7rem;color:var(--blue);line-height:1.1;min-width:5.2em;font-variant-numeric:tabular-nums}
.agepick input{width:100%;accent-color:var(--blue);height:28px;cursor:pointer}
.agepick p{grid-column:1/-1;font-size:.9rem;color:var(--muted)}
.age-reset{font:inherit;font-weight:700;color:var(--blue);background:none;border:0;border-bottom:2px solid var(--sky);padding:0;cursor:pointer;margin-left:6px}
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.svc{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:26px 28px 28px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s,opacity .3s,border-color .3s}
.svc::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--c)}
.svc-top{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap}
.svc-ic{width:54px;height:54px;border-radius:50%;background:var(--mist);color:var(--blue);display:grid;place-items:center;flex:none;transition:background .3s,color .3s,transform .4s}
.svc-ic svg{width:28px;height:28px}
.svc .meta{display:flex;gap:8px;flex-wrap:wrap}
.svc h2{font-size:clamp(1.45rem,2.2vw,1.8rem)}
.svc>p{color:var(--muted)}
.svc dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:.95rem}
.svc dt{font-family:var(--display);font-weight:700;color:var(--teal);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding-top:4px}
.svc dd{margin:0;color:var(--ink)}
.svc .go-link{margin-top:auto}
.svc-age{position:relative;height:10px;border-radius:10px;background:var(--mist);margin:4px 0 22px}
.svc-bar{position:absolute;top:0;bottom:0;border-radius:10px;background:var(--c);transform-origin:0 50%;transition:transform 1s cubic-bezier(.3,.7,.2,1) .2s}
.pre>.svc .svc-bar,.svc.pre .svc-bar{transform:scaleX(0)}
.svc-mark{position:absolute;top:-6px;bottom:-6px;width:3px;margin-left:-1.5px;border-radius:3px;background:var(--navy);left:var(--m,0%);opacity:0;transition:left .25s,opacity .2s}
.svc-grid.live .svc-mark{opacity:1}
.svc-sc{position:absolute;left:0;right:0;top:15px;font-size:.7rem;color:var(--muted);font-family:var(--display);font-weight:600}
.svc-sc i{position:absolute;font-style:normal;transform:translateX(-50%)}
.svc-sc i:nth-child(1){left:0;transform:none}.svc-sc i:nth-child(2){left:44.44%}.svc-sc i:nth-child(3){left:55.56%}.svc-sc i:nth-child(4){right:0;transform:none}
.pill.fit{background:var(--sky);color:var(--navy);display:none}
.svc.fit{border-color:var(--blue);box-shadow:0 14px 34px rgba(12,43,87,.14);transform:translateY(-4px)}
.svc.fit .pill.fit{display:inline-block}
.svc.fit .svc-ic{background:var(--blue);color:var(--white)}
.svc.nofit{opacity:.45}
@media (hover:hover){.svc:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(12,43,87,.14)}.svc:hover .svc-ic{background:var(--blue);color:var(--white);transform:rotate(-8deg) scale(1.06)}}
@media (max-width:820px){.svc-grid{grid-template-columns:1fr}.agepick{grid-template-columns:1fr;padding:20px}.svc{padding:24px 22px}}
.branch{position:relative;margin-top:44px;padding-top:14px}
.branch-line{position:absolute;left:0;top:14px;width:100%;height:40px;overflow:visible}
.branch-line path{stroke:var(--blue);opacity:.45}
.outs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);position:relative}
.outs li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding-inline:12px;min-width:0;transition:opacity .3s;outline-offset:6px;border-radius:12px}
.leafb{width:62px;height:62px;margin:-12px 0 18px;border-radius:0 50% 50% 50%;background:#c9e7f1;color:var(--navy);display:grid;place-items:center;flex:none;transform:rotate(45deg);box-shadow:0 6px 14px rgba(12,43,87,.12);transition:scale .45s cubic-bezier(.2,1.5,.4,1) calc(var(--i)*140ms + .3s),background .3s,color .3s}
.outs li:nth-child(3n+2) .leafb{background:var(--sky)}
.outs li:nth-child(3n) .leafb{background:#2f6fb5;color:var(--white)}
.leafb svg{width:28px;height:28px;transform:rotate(-45deg)}
.outs h3{color:var(--blue);font-size:1.1rem}
.outs p{color:var(--muted);font-size:.93rem}
.branch.wait .leafb{scale:0}
.outs:hover li:not(:hover){opacity:.5}
.outs li:hover .leafb,.outs li:focus-visible .leafb{background:var(--navy);color:var(--white);scale:1.14;transition-delay:0s}
@media (prefers-reduced-motion:no-preference){.leafb{animation:leafsway 4.6s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-1.1s)}@keyframes leafsway{from{transform:rotate(40deg)}to{transform:rotate(50deg)}}}
@media (max-width:760px){
  .branch-line{display:none}.branch{padding-top:0;margin-top:30px}
  .outs{grid-template-columns:1fr;gap:22px}
  .outs li{display:grid;grid-template-columns:62px 1fr;column-gap:20px;text-align:left;align-items:start;padding:0}
  .leafb{margin:2px 0 0;grid-row:1/3}
  .outs h3{align-self:end}
}

.afwrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px 56px;align-items:start}
.afcard{background:var(--white);border-radius:22px;padding:30px;box-shadow:0 14px 34px rgba(12,43,87,.08)}
.afcard input[type=file]{padding:9px 10px;font-size:.92rem}
.afcard.flash{animation:afflash 1.2s ease}
@keyframes afflash{30%{box-shadow:0 0 0 5px var(--sky)}}
.vac-none a{color:var(--blue);font-weight:700}
@media (max-width:960px){.afwrap{grid-template-columns:1fr}.afcard{padding:22px}}


.leaves .lf{transform-origin:200px 172px;transform-box:view-box}
.float-leaf{position:absolute;width:var(--s,54px);height:auto;left:var(--x);top:var(--y);opacity:.16;pointer-events:none;z-index:0}
.hero-copy{position:relative;z-index:1}
.why:not(.one)>div{position:relative;transition:transform .25s}
.why-ic{width:46px;height:46px;border-radius:0 50% 50% 50%;background:var(--mist);color:var(--blue);display:grid;place-items:center;transform:rotate(45deg);margin:6px 0 8px 8px;transition:background .3s,color .3s,scale .3s}
.why-ic svg{width:22px;height:22px;transform:rotate(-45deg)}
@media (hover:hover){.why:not(.one)>div:hover{transform:translateY(-4px)}.why:not(.one)>div:hover .why-ic{background:var(--blue);color:var(--white);scale:1.1}}
.pull figure{position:relative;padding-top:34px}
.pull figure::before{content:"\201C";position:absolute;left:24px;top:-14px;font-family:var(--display);font-weight:800;font-size:5.2rem;line-height:1;color:var(--sky)}
@media (prefers-reduced-motion:no-preference){
  .view:not([hidden]) .leaves .trunk{stroke-dasharray:1;animation:trunkgrow 1s ease-out .2s backwards}
  .view:not([hidden]) .leaves .lf{animation:leafgrow .7s cubic-bezier(.2,1.5,.4,1) backwards;animation-delay:calc(.9s + var(--i)*110ms)}
  @keyframes trunkgrow{from{stroke-dashoffset:1}}
  @keyframes leafgrow{from{transform:scale(0);opacity:0}}
  .float-leaf{animation:leafdrift var(--d,16s) ease-in-out infinite alternate;animation-delay:var(--dl,0s)}
  @keyframes leafdrift{from{transform:translate(0,0) rotate(var(--r,0deg))}to{transform:translate(26px,-34px) rotate(calc(var(--r,0deg) + 38deg))}}
  .tagnew{animation:tagpulse 2.6s ease-out infinite}
  @keyframes tagpulse{0%{box-shadow:0 0 0 0 rgba(143,205,227,.55)}70%,100%{box-shadow:0 0 0 9px rgba(143,205,227,0)}}
}
@media (max-width:760px){.float-leaf{display:none}}
