
/* Layout: the Showcase look carried across a lean multi-page site. Oversized Bricolage type, royal-blue "conversation" bands with speech-bubble corners, white and ice sections. Workplaces/Sport flip is global. Light-only to match the Talk Buddy brand. */
:root{
  --white:#FFFFFF; --ice:#EDF3FF; --ink:#0B1A3A; --muted:#4F5F7E; --line:#DCE5F4;
  --royal:#1D19C0; --royal-deep:#110E86; --sky:#9CC3FF; --glow:#C9DCFF;
  --display:"Bricolage Grotesque", "Arial Black", "Helvetica Neue", sans-serif;
  --body:"Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
body{background:var(--white);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;overflow-x:hidden}
.wrap{max-width:1240px;margin:0 auto;padding-left:max(20px, env(safe-area-inset-left, 0px));padding-right:max(20px, env(safe-area-inset-right, 0px))}
h1,h2,h3{font-family:var(--display);line-height:.98;letter-spacing:-.035em;text-wrap:balance;margin:0;font-weight:800}
h1{font-size:clamp(2.8rem,8vw,6.6rem)}
h2{font-size:clamp(2.1rem,5.2vw,4.2rem)}
h3{font-size:1.45rem;letter-spacing:-.02em;font-weight:700;line-height:1.1}
p{margin:0}
a{color:inherit}
img,video{display:block;max-width:100%}
.kicker{font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--royal)}
.lede{font-size:clamp(1.08rem,1.5vw,1.25rem);max-width:56ch;color:var(--muted)}
.muted{color:var(--muted)}
.hl{color:var(--royal)}
section{padding-block:clamp(64px,9vw,128px);scroll-margin-top:76px}
.tight{padding-top:0}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:999px;font-weight:600;text-decoration:none;font-size:1rem;border:2px solid transparent;cursor:pointer;font-family:var(--body);transition:transform .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn svg{width:18px;height:18px}
.btn-white{background:#fff;color:var(--royal-deep)}
.btn-ghost-w{border-color:rgba(255,255,255,.55);color:#fff}
.btn-royal{background:var(--royal);color:#fff}
.btn-line{border-color:var(--royal);color:var(--royal)}
.actions{display:flex;flex-wrap:wrap;gap:12px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.head{display:grid;gap:16px;margin-bottom:52px;max-width:860px}
.note{font-size:.84rem;color:var(--muted)}

:root[data-mode="work"] .s{display:none!important}
:root[data-mode="sport"] .w{display:none!important}

.blue{background:var(--royal);color:#fff}
.blue .kicker{color:var(--sky)}
.blue .lede,.blue .muted{color:#fff;opacity:.88}
.deep{background:var(--royal-deep);color:#fff}
.deep .kicker{color:var(--sky)}
.deep .lede,.deep .muted{color:#fff;opacity:.86}
.ice{background:var(--ice)}
.r-bl{border-bottom-left-radius:clamp(40px,8vw,120px)}
.r-tr{border-top-right-radius:clamp(40px,8vw,120px)}
.r-tl{border-top-left-radius:clamp(40px,8vw,120px)}
.r-br{border-bottom-right-radius:clamp(40px,8vw,120px)}

header{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:#fff;border-bottom:1px solid var(--line)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:#fff}
.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:10px;position:relative}
.logo{flex:none}
.logo img{height:46px;width:auto}
.menu{display:flex;gap:2px;list-style:none;margin:0;padding:0;font-size:.94rem;font-weight:500}
.menu a{display:block;padding:9px 12px;border-radius:999px;text-decoration:none;white-space:nowrap}
.menu a:hover{background:var(--ice)}
.menu a[aria-current="page"]{color:var(--royal);font-weight:600;background:var(--ice)}
.right{display:flex;align-items:center;gap:10px}
.mode{display:flex;background:var(--ice);border-radius:999px;padding:4px;gap:2px}
.mode button{font:inherit;font-weight:600;font-size:.86rem;color:var(--ink);background:none;border:0;padding:8px 15px;border-radius:999px;cursor:pointer}
.mode button[aria-pressed="true"]{background:var(--royal);color:#fff}
.nav .cta{padding:10px 18px;font-size:.88rem}
.menu-btn{display:none;background:none;border:1.5px solid var(--line);border-radius:12px;padding:8px 12px;font:inherit;font-weight:600;color:var(--ink);cursor:pointer}
@media (max-width:1200px){
  .menu-btn{display:inline-flex}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;background:#fff;border-bottom:1px solid var(--line);padding-block:8px 16px;padding-left:max(20px, env(safe-area-inset-left, 0px));padding-right:max(20px, env(safe-area-inset-right, 0px))}
  .menu.open{display:flex}
  .menu a{padding:12px 10px;font-size:1.05rem}
}
@media (max-width:720px){.nav .cta{display:none}.logo img{height:36px}.mode button{padding:7px 11px;font-size:.8rem}}

.hero{position:relative;overflow:hidden;padding-block:clamp(56px,8vw,112px) clamp(80px,11vw,150px)}
.hero::before{content:"";position:absolute;width:min(900px,120vw);aspect-ratio:1;right:-25%;top:-40%;border-radius:50%;background:radial-gradient(circle at 40% 40%, rgba(156,195,255,.5), rgba(156,195,255,0) 62%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,5vw,64px);align-items:center}
.hero .copy{display:grid;gap:26px;min-width:0}
.hero h1{max-width:12ch}
.rot-line{display:block;color:var(--sky);min-height:1em}
.rot{display:inline-block;transition:opacity .35s ease, transform .35s ease}
.rot.out{opacity:0;transform:translateY(.25em)}
.meta{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:.92rem;opacity:.88}
.meta span{display:inline-flex;gap:8px;align-items:center}
.meta span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sky)}
.vcard{position:relative;border-radius:40px 40px 40px 10px;overflow:hidden;aspect-ratio:4/5;background:var(--royal-deep);box-shadow:0 40px 80px -40px rgba(0,0,0,.5);min-width:0}
.vcard video{width:100%;height:100%;object-fit:cover}
.vcard button{position:absolute;right:14px;bottom:14px;background:rgba(10,20,60,.55);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:7px 13px;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}.vcard{aspect-ratio:16/10;max-width:560px}}

.phead{padding-block:clamp(48px,7vw,100px) clamp(64px,9vw,120px)}
.phead .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,5vw,64px);align-items:center}
.phead .wrap > div{display:grid;gap:24px;min-width:0}
.phead h1{font-size:clamp(2.6rem,6.4vw,5.2rem)}
.phead.solo .wrap{grid-template-columns:1fr}
.phead.solo h1{max-width:16ch}
@media (max-width:900px){.phead .wrap{grid-template-columns:1fr}}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:center}
.split > div{min-width:0;display:grid;gap:22px}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.grid100{display:grid;grid-template-columns:repeat(10,1fr);gap:clamp(6px,1.1vw,12px);max-width:460px;width:100%;justify-self:center}
.grid100 i{aspect-ratio:1;border-radius:50% 50% 50% 18%;background:var(--line);display:block}
.grid100 i.on{background:var(--royal)}
.big-stat{font-family:var(--display);font-weight:800;font-size:clamp(3.6rem,9vw,7rem);line-height:.9;letter-spacing:-.05em;color:var(--royal)}
.stack{display:grid;gap:4px}
.stack span{font-family:var(--display);font-weight:800;font-size:clamp(2.2rem,5.4vw,4.2rem);line-height:1;letter-spacing:-.045em}
.stack span:nth-child(2){color:var(--royal)}
.stack span:nth-child(3){color:#6D86E8}

.choose{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}
.options{display:grid;gap:10px;min-width:0}
.opt{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;border-radius:22px 22px 22px 6px;background:#fff;border:1.5px solid var(--line);font-family:var(--display);font-weight:700;font-size:clamp(1.05rem,1.8vw,1.3rem);letter-spacing:-.02em;line-height:1.2}
.opt:hover{border-color:var(--royal)}
.opt:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.opt[aria-selected="true"]{background:var(--royal);border-color:var(--royal);color:#fff}
.opt .q{opacity:.55}
.panel{background:var(--royal-deep);color:#fff;border-radius:34px 34px 34px 8px;padding:clamp(28px,4vw,48px);display:grid;gap:18px;position:relative;overflow:hidden;min-width:0}
.panel::after{content:"";position:absolute;width:320px;height:320px;right:-110px;bottom:-130px;border-radius:50%;background:radial-gradient(circle,rgba(156,195,255,.45),transparent 65%)}
.panel > *{position:relative}
.panel .kicker{color:var(--sky)}
.panel h3{font-size:clamp(2rem,4vw,3.2rem);font-weight:800;letter-spacing:-.04em}
.panel p{opacity:.9;max-width:52ch}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;list-style:none;margin:4px 0 0;padding:0}
.facts li{background:rgba(255,255,255,.08);border-radius:16px;padding:14px 16px;font-size:.95rem}
.facts b{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sky);font-weight:600}
@media (prefers-reduced-motion:no-preference){.panel.swap > *{animation:rise .45s ease both}@keyframes rise{from{transform:translateY(12px);opacity:.3}to{transform:none;opacity:1}}}
@media (max-width:900px){.choose{grid-template-columns:1fr}}
@media (max-width:480px){.facts{grid-template-columns:1fr}}

.statement .wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:end}
.quote{font-family:var(--display);font-weight:800;font-size:clamp(2.4rem,6.6vw,5.6rem);line-height:.95;letter-spacing:-.045em}
.quote em{font-style:normal;color:var(--sky)}
.statement .side{display:grid;gap:18px}
.statement .side p{font-size:1.1rem;opacity:.9}
.statement .side p.strong{opacity:1;font-weight:600}
@media (max-width:860px){.statement .wrap{grid-template-columns:1fr}}

.switch{display:inline-flex;align-items:center;gap:14px;cursor:pointer;font:inherit;font-weight:600;background:none;border:0;color:var(--ink);padding:0;justify-self:start}
.switch .track{width:64px;height:36px;border-radius:999px;background:var(--line);position:relative;transition:background .2s ease;flex:none}
.switch .track::after{content:"";position:absolute;top:4px;left:4px;width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:transform .25s ease}
.switch[aria-checked="true"] .track{background:var(--royal)}
.switch[aria-checked="true"] .track::after{transform:translateX(28px)}
.screen{border-radius:30px 30px 30px 8px;border:1.5px solid var(--line);padding:clamp(24px,3.5vw,40px);display:grid;gap:14px;background:#fff;box-shadow:0 40px 80px -50px rgba(17,14,134,.45)}
.screen .bar{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.screen .bar i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.screen .bar i:first-child{background:var(--royal)}
.screen h3{font-size:1.6rem}
.screen ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.screen li{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:16px;background:var(--ice);font-weight:500}
.screen li svg{flex:none;width:22px;height:22px}
.screen.never li{background:transparent;border:1.5px dashed var(--line);color:var(--muted);text-decoration:line-through;text-decoration-color:var(--royal);text-decoration-thickness:2px}

.cols{display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:0;border-top:2px solid var(--ink)}
.cols > div{padding:26px 24px 0 0;display:grid;gap:8px;align-content:start}
.cols h3{font-size:1.3rem}
.cols p{color:var(--muted);font-size:.97rem}
.blue .cols,.deep .cols{border-color:rgba(255,255,255,.5)}
.blue .cols p,.deep .cols p{color:#fff;opacity:.84}
.cols b.n{font-family:var(--display);font-weight:800;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em;line-height:1;color:var(--royal);font-variant-numeric:tabular-nums}
@media (max-width:960px){.cols{grid-template-columns:1fr 1fr;row-gap:28px}}
@media (max-width:480px){.cols{grid-template-columns:1fr}}

.track-line{position:relative;display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:24px;list-style:none;margin:0;padding:0}
.track-line::before{content:"";position:absolute;left:0;right:0;top:27px;height:2px;background:linear-gradient(90deg,var(--royal),var(--sky))}
.track-line li{position:relative;display:grid;gap:12px;align-content:start}
.track-line .node{width:56px;height:56px;border-radius:50% 50% 50% 12px;background:var(--royal);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:1.2rem}
.track-line li:last-child .node{background:var(--white);color:var(--royal);border:2px solid var(--royal)}
.track-line p{color:var(--muted);font-size:.97rem}
.track-line .when{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--royal)}
@media (max-width:900px){.track-line{grid-template-columns:1fr;gap:28px}.track-line::before{left:27px;right:auto;top:0;bottom:0;width:2px;height:auto;background:linear-gradient(180deg,var(--royal),var(--sky))}.track-line li{grid-template-columns:56px 1fr;column-gap:18px}.track-line li > :not(.node){grid-column:2}.track-line .node{grid-row:1 / span 3}}

.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc-grid.five{grid-template-columns:repeat(6,1fr)}
.svc-grid.five > *{grid-column:span 2}
.svc-grid.five > *:nth-child(4),.svc-grid.five > *:nth-child(5){grid-column:span 3}
.svc{display:grid;gap:14px;align-content:start;padding:30px;border-radius:30px 30px 30px 8px;background:#fff;border:1.5px solid var(--line);text-decoration:none;transition:border-color .2s ease, transform .2s ease;min-width:0}
a.svc:hover{border-color:var(--royal);transform:translateY(-3px)}
.svc .kicker{font-size:.74rem}
.svc h3{font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:800;letter-spacing:-.035em}
.svc p{color:var(--muted)}
.svc .go{font-weight:600;color:var(--royal);display:inline-flex;gap:8px;align-items:center}
.svc .go svg{width:18px;height:18px}
.svc.feature{background:var(--royal);border-color:var(--royal);color:#fff}
.svc.feature .kicker{color:var(--sky)}
.svc.feature p{color:#fff;opacity:.88}
.svc.feature .go{color:#fff}
@media (max-width:960px){.svc-grid,.svc-grid.five{grid-template-columns:1fr}.svc-grid.five > *,.svc-grid.five > *:nth-child(4),.svc-grid.five > *:nth-child(5){grid-column:auto}}

.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips span{padding:12px 20px;border-radius:999px 999px 999px 6px;background:#fff;border:1.5px solid var(--line);font-family:var(--display);font-weight:700;font-size:1.05rem;letter-spacing:-.01em}
.talk{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.talk > div{background:var(--ice);border-radius:24px 24px 24px 6px;padding:24px;display:grid;gap:6px;align-content:start}
.talk b{font-family:var(--display);font-weight:800;font-size:1.5rem;letter-spacing:-.03em}
.talk span{color:var(--muted)}
@media (max-width:860px){.talk{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.talk{grid-template-columns:1fr}}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.ticks li{display:flex;gap:12px;align-items:flex-start;font-size:1.08rem;font-weight:500}
.ticks li::before{content:"";flex:none;width:22px;height:22px;margin-top:3px;border-radius:50% 50% 50% 4px;background:var(--royal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/14px no-repeat}

.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.chip{font:inherit;font-weight:600;font-size:.92rem;padding:10px 18px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--royal);border-color:var(--royal);color:#fff}
.cat{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.item{background:#fff;border:1.5px solid var(--line);border-radius:26px 26px 26px 8px;padding:26px;display:grid;gap:12px;align-content:start}
.item .tags{display:flex;flex-wrap:wrap;gap:6px}
.item .tags span{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:var(--ice);color:var(--muted)}
.item h3{font-size:1.5rem}
.item p{color:var(--muted);font-size:.97rem}
@media (max-width:960px){.cat{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.cat{grid-template-columns:1fr}}

.photo{border-radius:40px 40px 40px 10px;overflow:hidden;aspect-ratio:4/4.4;min-width:0;background:var(--ice)}
.photo img,.photo video{width:100%;height:100%;object-fit:cover}
.photo.wide{aspect-ratio:16/8}
.polaroid{transform:rotate(-2deg);border-radius:6px;box-shadow:0 30px 60px -30px rgba(0,0,0,.5)}

.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tier{border:1.5px solid var(--line);border-radius:28px 28px 28px 8px;padding:30px;display:grid;gap:12px;align-content:start;background:#fff}
.tier.featured{background:var(--royal);border-color:var(--royal);color:#fff}
.price{font-family:var(--display);font-weight:800;font-size:2.6rem;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.price small{font-family:var(--body);font-weight:400;font-size:.88rem;opacity:.8;letter-spacing:0}
.tier ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.96rem}
.tier li{display:flex;gap:10px}
.tier li::before{content:"✓";color:var(--royal);font-weight:700}
.tier.featured li::before{color:#fff}
.tier .min{font-size:.86rem;opacity:.8}
@media (max-width:900px){.tiers{grid-template-columns:1fr}}

.team{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.member{background:#fff;border:1.5px solid var(--line);border-radius:28px 28px 28px 8px;padding:28px;display:grid;gap:10px;align-content:start}
.avatar{width:72px;height:72px;border-radius:50% 50% 50% 14px;background:var(--royal);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:1.5rem}
.member .role{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--royal)}
.member p{color:var(--muted);font-size:.97rem}
.member.ph{border-style:dashed}
@media (max-width:900px){.team{grid-template-columns:1fr}}
.founder{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,64px);align-items:center}
.founder > div{display:grid;gap:16px;min-width:0}
.founder .photo{aspect-ratio:4/4.6}
.founder .photo img{object-position:50% 25%}
@media (max-width:860px){.founder{grid-template-columns:1fr}.founder .photo{max-width:420px}}

.faq{display:grid;border-top:1px solid var(--line);min-width:0}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:22px 44px 22px 0;font-family:var(--display);font-weight:700;font-size:1.2rem;letter-spacing:-.02em;display:block;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:20px;font-size:1.6rem;line-height:1;color:var(--royal)}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--muted);padding-bottom:22px;max-width:68ch}
.two{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,80px);align-items:start}
.two > div{min-width:0;display:grid;gap:18px}
@media (max-width:860px){.two{grid-template-columns:1fr}}

.crisis{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:20px;align-items:center;background:var(--ice);border-radius:30px 30px 30px 8px;padding:clamp(24px,4vw,40px)}
.crisis > div{display:grid;gap:6px}
.crisis .num{font-family:var(--display);font-weight:800;font-size:1.8rem;letter-spacing:-.03em;color:var(--royal);user-select:all}
.crisis span{color:var(--muted);font-size:.92rem}
@media (max-width:860px){.crisis{grid-template-columns:1fr 1fr}.crisis > div:first-child{grid-column:1/-1}}

.final-card{background:var(--royal);color:#fff;border-radius:48px 48px 48px 12px;padding:clamp(40px,7vw,96px);display:grid;gap:26px;position:relative;overflow:hidden}
.final-card::before{content:"";position:absolute;width:520px;height:520px;right:-160px;top:-200px;border-radius:50%;background:radial-gradient(circle,rgba(156,195,255,.55),transparent 65%)}
.final-card > *{position:relative}
.final-card h2{font-size:clamp(2.4rem,6vw,5rem);max-width:14ch}
.final-card p{opacity:.88;max-width:52ch;font-size:1.1rem}
.final-card .kicker{color:var(--sky)}

form{background:var(--ice);border-radius:30px 30px 30px 8px;padding:clamp(22px,3.5vw,36px);display:grid;gap:16px;min-width:0}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label.f{display:grid;gap:6px;font-weight:600;font-size:.92rem}
input,select,textarea{font:inherit;font-weight:400;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink);width:100%}
textarea{min-height:100px;resize:vertical}
fieldset{border:0;padding:0;margin:0;display:grid;gap:8px}
legend{font-weight:600;font-size:.92rem;margin-bottom:6px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.checks label{display:flex;gap:10px;align-items:center;font-size:.95rem}
.checks input,.consent input{width:18px;height:18px;flex:none;accent-color:var(--royal)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;color:var(--muted)}
.form-msg{background:var(--glow);padding:14px 16px;border-radius:12px;font-weight:600}
@media (max-width:520px){.frow,.checks{grid-template-columns:1fr}}

footer{background:var(--royal-deep);color:#fff;padding-block:56px 32px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.fgrid h4{font-family:var(--display);font-weight:700;font-size:1.05rem;margin:0 0 12px}
.fgrid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;opacity:.82;font-size:.94rem}
.fgrid a{text-decoration:none}
.fgrid a:hover{text-decoration:underline}
.legal{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);font-size:.85rem;opacity:.75;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
@media (max-width:860px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.fgrid{grid-template-columns:1fr}}

.vhero{background:var(--royal-deep);color:#fff;min-height:min(86vh,820px);display:flex;align-items:center}
.vhero .bgv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vhero::before{inset:0;width:auto;height:auto;aspect-ratio:auto;right:0;top:0;border-radius:0;z-index:1;background:linear-gradient(90deg,rgba(17,14,134,.94) 0%,rgba(29,25,192,.74) 48%,rgba(29,25,192,.18) 100%)}
.vhero .wrap{z-index:2;grid-template-columns:1fr;width:100%}
.vhero .kicker{color:var(--sky)}
.vhero .lede{color:#fff;opacity:.92}
.vctl{position:absolute;z-index:3;right:max(20px, env(safe-area-inset-right, 0px));bottom:22px;background:rgba(10,20,60,.5);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:8px 14px;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer}
.panel .ph{aspect-ratio:16/7;border-radius:22px;overflow:hidden}
.panel .ph img{width:100%;height:100%;object-fit:cover}
.ptiles{display:grid;gap:18px;grid-template-columns:repeat(var(--n,3),1fr)}
.pt{display:grid;gap:10px;align-content:start}
.pi{aspect-ratio:4/3.2;border-radius:28px 28px 28px 8px;overflow:hidden;background:var(--ice)}
.pi img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.pt:hover .pi img{transform:scale(1.04)}
.pt p{color:var(--muted);font-size:.97rem}
.pt b{font-family:var(--display);font-weight:800;font-size:1.4rem;letter-spacing:-.03em;line-height:1.1}
.strip3{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:14px}
.strip3 > div{border-radius:32px 32px 32px 8px;overflow:hidden;aspect-ratio:4/3.4}
.strip3 > div:first-child{aspect-ratio:auto}
.strip3 img{width:100%;height:100%;object-fit:cover}
.svc .sp,.item .sp{aspect-ratio:16/10;border-radius:20px;overflow:hidden;margin:-8px -8px 4px}
.svc .sp img,.item .sp img{width:100%;height:100%;object-fit:cover}
@media (max-width:960px){.ptiles{grid-template-columns:1fr 1fr}.strip3{grid-template-columns:1fr 1fr}.strip3 > div:first-child{grid-column:1/-1;aspect-ratio:16/9}}
@media (max-width:520px){.ptiles{grid-template-columns:1fr}}

/* v5 */
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.nav .right{justify-self:end}
.menu-btn{display:inline-flex!important;align-items:center;gap:8px;border-radius:999px;padding:9px 14px}
.menu-btn svg{width:20px;height:20px}
.menu{display:none!important;position:absolute;right:max(20px, env(safe-area-inset-right, 0px));left:auto;top:calc(100% + 8px);flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:24px 24px 24px 8px;padding:10px;min-width:260px;box-shadow:0 30px 60px -30px rgba(17,14,134,.45)}
.menu.open{display:flex!important}
.menu a{padding:12px 16px;font-size:1.02rem}
.nav .cta{padding:11px 20px}
@media (max-width:720px){.nav{grid-template-columns:auto 1fr auto}.nav .mode{justify-self:center}.menu-btn .lbl{display:none}}
.vhero{position:relative;overflow:hidden}
.vhero .bgv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vhero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(17,14,134,.78) 0%,rgba(17,14,134,.42) 42%,rgba(17,14,134,0) 72%)!important}
.vhero .wrap{position:relative;z-index:2}
.vhero h1,.vhero .lede{text-shadow:0 2px 24px rgba(10,10,60,.35)}
.phead.vhero{background:var(--royal-deep);color:#fff;min-height:min(74vh,700px);display:flex;align-items:center}
.phead.vhero .wrap{grid-template-columns:1fr;width:100%}
.phead.vhero .wrap > div{max-width:760px}
.phead.vhero .kicker{color:var(--sky)}
.phead.vhero .lede{color:#fff;opacity:.94}
@media (max-width:720px){.vhero::before{background:linear-gradient(180deg,rgba(17,14,134,.55),rgba(17,14,134,.8))!important}}
.pull{margin:8px 0 0;padding:0;display:grid;gap:10px;max-width:640px}
.pull .qm{font-family:var(--display);font-weight:800;font-size:4rem;line-height:.6;color:var(--royal);height:.5em}
.pull p{font-family:var(--display);font-weight:500;font-size:clamp(1.3rem,2.4vw,1.75rem);letter-spacing:-.02em;line-height:1.2}
.pull p.hl{font-weight:800}
.photo.short{aspect-ratio:16/5.5}
.wide-video{border-radius:40px 40px 40px 10px;overflow:hidden;aspect-ratio:16/7;background:var(--ice)}
.wide-video video{width:100%;height:100%;object-fit:cover}
.lede.strong{color:var(--royal);font-weight:600;opacity:1}
.phead.vhero .lede.strong{color:#fff;font-weight:700}

.strips{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr)}
.strips img{width:100%;height:100%;object-fit:cover}
.strips img + img{border-left:3px solid rgba(255,255,255,.85)}
.phead.vhero.strip-hero::before{background:linear-gradient(90deg,rgba(17,14,134,.82) 0%,rgba(17,14,134,.5) 45%,rgba(17,14,134,.05) 80%)!important}
.lcards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.lcard{display:grid;gap:14px;align-content:start}
.lcard .art{aspect-ratio:4/3;border-radius:30px 30px 30px 8px;display:grid;place-items:center}
.lcard .art svg{width:34%;height:auto}
.lcard .a1{background:linear-gradient(140deg,var(--royal),#0B1A3A);color:#fff}
.lcard .a2{background:linear-gradient(140deg,#7FAEFF,var(--royal));color:#fff}
.lcard .a3{background:linear-gradient(140deg,#D6E5FF,#8FB8FF);color:var(--ink)}
.lcard p{color:var(--muted)}
.lcard h3{font-size:1.45rem}
.gblob{aspect-ratio:1;width:100%;max-width:420px;justify-self:end;border-radius:58% 42% 47% 53% / 46% 55% 45% 54%;background:radial-gradient(120% 120% at 20% 15%,#9CC3FF 0%,var(--royal) 55%,#0B1A3A 100%);position:relative;overflow:hidden}
.gblob::after{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 70% 75%,rgba(255,255,255,.08) 0 2px,transparent 2px 22px)}
@media (prefers-reduced-motion:no-preference){.gblob{animation:morph 16s ease-in-out infinite alternate}@keyframes morph{to{border-radius:44% 56% 56% 44% / 56% 44% 56% 44%}}}
@media (max-width:900px){.lcards{grid-template-columns:1fr}.gblob{display:none}}

.item h4{margin:4px 0 0;font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--royal)}
.item ul{margin:0;padding-left:18px;color:var(--muted);font-size:.94rem;display:grid;gap:4px}
.hero-facts{display:flex;flex-wrap:wrap;gap:10px}
.hero-facts span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:10px 14px;font-size:.92rem}
.hero-facts b{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sky);font-weight:600}

/* contact heading */
h1.cj .serif{display:block;font-family:"Instrument Serif", Georgia, serif;font-style:italic;font-weight:400;letter-spacing:-.02em;color:var(--sky);line-height:1.05}
/* contact v2 */
.contact2{background:#0B1F44;color:#fff;padding-block:clamp(56px,8vw,110px)}
.contact2 .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
.contact2 .wrap > div{min-width:0}
.contact2 .kick{font-size:.82rem;letter-spacing:.24em;text-transform:uppercase;color:#C9D6F0;font-weight:500}
.contact2 h1{font-size:clamp(2.8rem,6.4vw,5.4rem);margin:22px 0 28px;color:#fff}
.contact2 h1 .serif{display:block;font-family:"Instrument Serif", Georgia, serif;font-style:italic;font-weight:400;letter-spacing:-.02em;color:#B9C8FF;line-height:1.05}
.contact2 .intro{font-size:1.2rem;opacity:.9;max-width:40ch;margin-bottom:36px}
.csteps{list-style:none;margin:0;padding:0;display:grid;gap:22px}
.csteps li{display:grid;grid-template-columns:44px 1fr;gap:18px;align-items:center;font-size:1.05rem;opacity:.92}
.csteps li span{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);display:grid;place-items:center;font-size:.95rem}
.ccard{background:#fff;color:var(--ink);border-radius:36px;padding:clamp(26px,4vw,48px);display:grid;gap:20px}
.ccard .frow{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ccard label.f{display:grid;gap:10px;font-weight:600;font-size:1rem}
.ccard input,.ccard select,.ccard textarea{background:#F4F6FB;border:1.5px solid #E2E8F3;border-radius:16px;padding:15px 16px;font:inherit;font-weight:400;color:var(--ink);width:100%}
.ccard textarea{min-height:150px;resize:vertical}
.ccard .btn{justify-content:center;width:100%;padding:19px 26px;font-size:1.08rem;background:#1210A8}
.ccard .fine{font-size:.85rem;color:var(--muted)}
@media (max-width:900px){.contact2 .wrap{grid-template-columns:1fr}}
@media (max-width:520px){.ccard .frow{grid-template-columns:1fr}}
/* pricing */
.calc{display:grid;grid-template-columns:1fr auto;gap:16px 28px;align-items:center;background:var(--ice);border-radius:28px 28px 28px 8px;padding:26px 30px;margin-bottom:24px}
.calc label{font-weight:600}
.calc output{font-family:var(--display);font-weight:800;font-size:1.8rem;letter-spacing:-.03em;color:var(--royal);font-variant-numeric:tabular-nums}
.calc input[type=range]{grid-column:1/-1;width:100%;accent-color:var(--royal)}
.calc .chk{grid-column:1/-1;display:flex;gap:10px;align-items:center;font-weight:500}
.calc .chk input{width:20px;height:20px;accent-color:var(--royal)}
.est{font-family:var(--display);font-weight:700;font-size:1.1rem;padding:12px 14px;border-radius:14px;background:var(--ice);font-variant-numeric:tabular-nums}
.tier.featured .est{background:rgba(255,255,255,.14)}
.tablewrap{overflow-x:auto}
.ptable{border-collapse:collapse;width:100%;min-width:560px;font-size:.98rem}
.ptable th,.ptable td{text-align:left;padding:16px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.ptable th{font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ptable td:first-child{font-weight:600}
.ptable td.num{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap;color:var(--royal)}
.ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ladder > div{background:#fff;border-radius:24px 24px 24px 8px;padding:26px;display:grid;gap:10px;align-content:start;border-top:5px solid var(--royal)}
.ladder > div:nth-child(2){border-top-color:#4A44D6}.ladder > div:nth-child(3){border-top-color:#7F9CF0}.ladder > div:nth-child(4){border-top-color:var(--sky)}
.ladder p{color:var(--muted);font-size:.96rem}
.ladder ul{margin:0;padding-left:18px;color:var(--muted);font-size:.93rem;display:grid;gap:4px}
@media (max-width:960px){.ladder{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ladder{grid-template-columns:1fr}}

.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:99;background:#fff;padding:10px 14px;border-radius:10px}

/* counselling video fix */
body[data-page="counselling"] .vhero .bgv{transform:scaleX(-1)}
body[data-page="counselling"] .vhero::before{background:linear-gradient(90deg,rgba(17,14,134,.82) 0%,rgba(17,14,134,.5) 40%,rgba(17,14,134,.08) 66%,rgba(17,14,134,0) 100%)!important}

/* polaroids over photo */
.pstage{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:5/4;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.pstage .pbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pstage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,14,134,.05),rgba(17,14,134,.35))}
.pstage .pcut{position:absolute;left:9%;right:9%;top:50%;transform:translateY(-50%) rotate(-3deg);z-index:1;filter:drop-shadow(0 22px 26px rgba(0,0,0,.5))}
.pstage .pcut img{display:block;width:100%;height:auto;clip-path:polygon(0.2% 14.4%,61.6% 0.8%,64.0% 21.7%,98.6% 30.5%,90.5% 99.2%,46.6% 87.8%,46.9% 86.6%,8.2% 95.0%)}

/* SOP enquiry form */
#enquiry .fsec{margin:18px 0 0;font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--royal)}
#enquiry .fsec small{text-transform:none;letter-spacing:0;font-weight:500;color:var(--muted)}
#enquiry .fsec:first-child{margin-top:0}
#enquiry .note{margin:2px 0 6px}
#enquiry label[hidden]{display:none}.tier .tier-cta{display:inline-flex;margin-top:14px;font-weight:600;color:var(--royal);text-decoration:none}
.tier .tier-cta:hover{text-decoration:underline}
.tier.featured .tier-cta{color:inherit}

/* radio and checkbox fix: never stretch like text inputs */
input[type=radio],input[type=checkbox]{width:18px;height:18px;padding:0;margin:0;flex:none;accent-color:var(--royal)}
.radios label{display:flex;gap:8px;align-items:center}

/* polaroids, individual */
.pstage .pol{position:absolute;z-index:2;width:36%;height:auto;box-shadow:0 18px 40px -14px rgba(0,0,0,.6);border-radius:3px}
.pstage .p1{top:6%;left:5%;transform:rotate(-7deg)}
.pstage .p2{top:5%;right:8%;width:30%;transform:rotate(6deg)}
.pstage .p3{bottom:6%;left:12%;width:32%;transform:rotate(4deg)}
.pstage .p4{bottom:8%;right:10%;width:33%;transform:rotate(-5deg);z-index:3}

/* two polaroids on homepage */
.pstage .p1{top:8%;left:6%;width:47%;transform:rotate(-6deg)}
.pstage .p4{top:auto;bottom:8%;right:7%;width:45%;transform:rotate(5deg);z-index:3}
/* about hero polaroids */
.apols{position:relative;width:100%;max-width:500px;aspect-ratio:1/1.05;justify-self:end}
.apols img{position:absolute;box-shadow:0 26px 50px -20px rgba(0,0,0,.55);border-radius:3px;height:auto}
.apols .a1{width:62%;top:0;left:0;transform:rotate(-5deg)}
.apols .a2{width:56%;bottom:0;right:2%;transform:rotate(6deg)}
@media (max-width:900px){.apols{max-width:420px;justify-self:center;margin-top:20px}}

/* one polaroid, centred */
.pstage .pbg{filter:blur(2px) brightness(.82);transform:scale(1.04)}
.pstage .p1{top:50%;left:50%;width:56%;transform:translate(-50%,-50%) rotate(-4deg)}

/* polaroid to the side so the people behind are visible */
.pstage .pbg{filter:blur(1px) brightness(.88);object-position:center 30%}
.pstage .p1{top:auto;left:5%;bottom:6%;width:42%;transform:rotate(-5deg)}


/* bigger homepage polaroid */
.pstage .p1{width:54%}
