/* The Violand Agency | home page */

/* hero globe */
#hero{height:270vh}
.hs{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:radial-gradient(90% 70% at 72% 40%,#FFFFFF 0%,#EEF6FC 55%,#E1EFF8 100%)}
.hs::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(0,85,140,.09) 1px,transparent 1.4px);background-size:26px 26px;mask-image:radial-gradient(70% 60% at 70% 45%,#000,transparent 75%);-webkit-mask-image:radial-gradient(70% 60% at 70% 45%,#000,transparent 75%);pointer-events:none}
.sky{position:absolute;inset:0;pointer-events:none;z-index:0}
.sky.am{background:radial-gradient(110% 80% at 0% 100%,rgba(255,186,128,.5),rgba(255,214,170,.2) 42%,rgba(255,255,255,0) 76%)}
/* the sun: a hot white core with a warm halo (normal blend, so it reads on the light sky) plus bloom, lens ghosts and soft beams (screen blend, so it lights the map) */
.sunx,.sunl{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;will-change:transform,opacity;transform-origin:0 0}
.sunx{z-index:2}
.sunl{z-index:2;mix-blend-mode:screen}
.sunx i,.sunl i{position:absolute;left:0;top:0;border-radius:50%;width:var(--s);height:var(--s);margin:calc(var(--s) / -2) 0 0 calc(var(--s) / -2)}
.sunx .halo{--s:min(60vmin,560px);background:radial-gradient(closest-side,rgba(255,240,205,.9),rgba(255,218,150,.55) 26%,rgba(255,190,120,.2) 56%,rgba(255,190,120,0) 100%)}
.sunx .core{--s:clamp(96px,17vmin,176px);background:radial-gradient(closest-side,#FFFFFF 0,#FFFFFF 52%,#FFF4D2 66%,rgba(255,226,160,.7) 80%,rgba(255,214,140,0) 100%);box-shadow:0 0 60px 20px rgba(255,236,190,.55)}
.sunl .bloom{--s:min(170vmin,1500px);background:radial-gradient(closest-side,rgba(255,196,130,.5),rgba(255,176,120,.2) 38%,rgba(255,170,120,0) 72%)}
.sunl .gh{background:radial-gradient(closest-side,rgba(255,226,180,.16),rgba(255,226,180,.08) 70%,rgba(255,226,180,.22) 86%,rgba(255,226,180,0) 100%)}
.sunl .g1{--s:9vmin}.sunl .g2{--s:5vmin;background:radial-gradient(closest-side,rgba(190,230,255,.2),rgba(190,230,255,0))}.sunl .g3{--s:14vmin}
.sunl .beams{border-radius:0;width:160vmax;height:70vmin;margin:-35vmin 0 0 0;transform-origin:0 50%;background:repeating-linear-gradient(90deg,transparent 0 0),linear-gradient(90deg,rgba(255,214,150,.42),rgba(255,214,150,0) 75%);
  -webkit-mask:repeating-linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.9) 7%,rgba(0,0,0,0) 15%,rgba(0,0,0,.4) 22%,rgba(0,0,0,0) 30%),linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);-webkit-mask-composite:source-in;mask:repeating-linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.9) 7%,rgba(0,0,0,0) 15%,rgba(0,0,0,.4) 22%,rgba(0,0,0,0) 30%) intersect,linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);filter:blur(14px);opacity:0}
#g3d{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}
.gfb{display:none;position:absolute;z-index:1;width:min(70vw,460px);right:6vw;top:50%;transform:translateY(-40%);filter:drop-shadow(0 30px 40px rgba(0,85,140,.25))}
.nogl .gfb{display:block}
.hshadow{position:absolute;left:0;top:0;z-index:0;border-radius:50%;background:radial-gradient(closest-side,rgba(0,63,105,.22),rgba(0,63,105,0));pointer-events:none}
.ha{position:absolute;inset:0;z-index:3;display:flex;align-items:flex-start;padding-top:calc(var(--nav) + 22px);pointer-events:none}
.ha .wrap{pointer-events:auto}
.badge{display:inline-flex;align-items:center;gap:9px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);background:#fff;border:1px solid var(--line);padding:8px 13px;border-radius:999px;margin-bottom:18px;box-shadow:var(--sh)}
.badge i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(49,155,66,.18)}
h1{font-size:clamp(2.4rem,9.6vw,4.6rem);letter-spacing:-.045em;line-height:1}
@media (min-width:900px){h1 .ln{white-space:nowrap}}
h1 .it{color:var(--blue);font-size:1.06em}
h1 .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.04em}
h1 .ln>span{display:block;transform:translateY(105%);animation:up 1.1s var(--ease) forwards}
h1 .ln:nth-child(2)>span{animation-delay:.1s}
@keyframes up{to{transform:none}}
.ha p{font-size:1.06rem;color:var(--ink2);max-width:31rem;margin:18px 0 24px;opacity:0;animation:fd 1s .55s forwards}
.ha .ctas{display:flex;flex-wrap:wrap;gap:10px;opacity:0;animation:fd 1s .75s forwards}
@keyframes fd{to{opacity:1}}
.hb,.hc{position:absolute;left:0;right:0;z-index:3;opacity:0;pointer-events:none}
.hb .wrap,.hc .wrap{display:block}
.hb{top:calc(var(--nav) + 18px)}
.hc{bottom:7svh}
.beat-t{font-size:clamp(2rem,8vw,4.4rem);font-weight:800;letter-spacing:-.04em;line-height:1}
.beat-t .it{color:var(--blue)}
.beat-s{display:block;margin-top:10px;font-size:1rem;color:var(--ink2);max-width:30rem}
.hc .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.hc .tags span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:.8rem;font-weight:700;color:var(--ink2);box-shadow:var(--sh)}
.gpin{position:absolute;left:0;top:0;z-index:3;white-space:nowrap;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 10px 30px -8px rgba(11,37,56,.35);opacity:0;transition:opacity .35s;pointer-events:none;display:flex;align-items:center;gap:8px}
.gpin i{width:10px;height:10px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px rgba(239,116,87,.2)}
.gpin.sm{font-size:.66rem;padding:7px 10px}
.gpin.sm i{width:8px;height:8px;background:var(--blue);box-shadow:0 0 0 3px rgba(0,85,140,.18)}
.gpin::after{content:"";position:absolute;left:18px;bottom:-6px;width:12px;height:12px;background:#fff;transform:rotate(45deg)}
.cue{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:3;font-size:.64rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);display:flex;flex-direction:column;align-items:center;gap:8px}
.cue::after{content:"";width:1.5px;height:28px;background:linear-gradient(var(--blue),transparent);animation:cue 1.8s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (min-width:900px){
  .ha{align-items:center;padding-top:var(--nav)}
  .ha p{font-size:1.15rem}
  .hb{top:auto;bottom:auto;top:50%;transform:translateY(-50%)}
  .hb .wrap>div{max-width:min(28rem,36vw);background:rgba(255,255,255,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:22px;padding:26px 28px;box-shadow:var(--sh)}
  .hc{bottom:auto;top:50%;transform:translateY(-50%)}
  .hc .wrap>div{max-width:min(30rem,38vw)}
  .hc .beat-t{font-size:clamp(2.4rem,4.4vw,4rem)}
}
@media (max-width:899px){
  .hb .wrap>div{background:rgba(255,255,255,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:18px;padding:14px 16px;box-shadow:var(--sh)}
  .hc .wrap>div{background:rgba(255,255,255,.86);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:18px;padding:14px 16px;box-shadow:var(--sh)}
}
@media (max-height:700px) and (max-width:899px){.ha p{display:none}.badge{margin-bottom:12px}}

/* strip */
.strip{background:var(--blue);color:#fff;overflow:hidden;padding:15px 0}
.strip .row{display:flex;width:max-content;animation:tk 34s linear infinite}
.strip span{display:flex;align-items:center;gap:22px;padding-right:22px;white-space:nowrap;font-weight:700;font-size:.95rem;letter-spacing:-.01em}
.strip span::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--coral)}
@keyframes tk{to{transform:translateX(-50%)}}

/* advantage */
.adv{display:grid;gap:40px;grid-template-columns:minmax(0,1fr);align-items:center}
.pts{display:grid;gap:12px;margin-top:28px}
.pt{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--sh)}
.pt .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--sky2);color:var(--blue)}
.pt .ic svg{width:22px;height:22px}
.pt:nth-child(2) .ic{background:#E5F3E7;color:var(--green-d)}
.pt:nth-child(3) .ic{background:#FCE7E1;color:var(--coral-d)}
.pt b{display:block;font-size:1.05rem;letter-spacing:-.02em;margin-bottom:2px}
.pt span{color:var(--mute);font-size:.95rem}
.stub{background:#fff;border-radius:26px;padding:24px;box-shadow:0 40px 80px -40px rgba(0,63,105,.35),0 0 0 1px var(--line);position:relative;overflow:hidden}
.stub::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--blue),var(--green))}
.stub .hd{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}
.stub .hd b{font-size:1rem;letter-spacing:-.01em}
.stub .hd small{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);background:var(--sky);padding:5px 9px;border-radius:999px}
.bars{display:grid;gap:16px}
.br{display:grid;gap:6px}
.br .l{display:flex;justify-content:space-between;font-size:.86rem;font-weight:700;color:var(--ink2);gap:8px}
.br .l em{font-style:normal;font-weight:600;color:var(--mute);font-size:.78rem}
.br .t{height:16px;border-radius:999px;background:var(--sky);overflow:hidden}
.br .t i{display:block;height:100%;border-radius:999px;width:0;transition:width 1.4s var(--ease)}
.stub.in .br:nth-child(1) .t i{width:100%;background:var(--blue)}
.stub.in .br:nth-child(2) .t i{width:22%;background:var(--green);transition-delay:.3s}
.stub.in .br:nth-child(3) .t i{width:78%;background:var(--coral);transition-delay:.6s}
.stub .note{margin-top:20px;padding-top:16px;border-top:1px dashed var(--line);font-size:.82rem;color:var(--mute)}
.stub .free{display:flex;gap:12px;align-items:center;margin-top:16px;background:var(--sand);border-radius:16px;padding:14px 16px}
.stub .free b{font-size:1.5rem;letter-spacing:-.03em;color:var(--ink)}
.stub .free span{font-size:.86rem;color:var(--ink2);line-height:1.35}
@media (min-width:960px){.adv{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:72px}.stub{padding:34px}}

/* enrollment day: TV screen + chairs */
#enroll{height:185vh;background:var(--sky)}
.es{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-top:var(--nav)}
.es .wrap{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.etop{display:flex;justify-content:space-between;align-items:flex-end;gap:14px}
.etop .kick{margin-bottom:8px}
.etop h2{font-size:clamp(1.75rem,6vw,3.4rem);margin-bottom:0}
.clock{flex:none;text-align:right;background:#fff;border-radius:16px;padding:9px 13px;box-shadow:var(--sh);border:1px solid var(--line)}
.clock b{display:block;font-size:clamp(1.35rem,4.6vw,2.3rem);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.clock small{font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.tv{position:relative;background:var(--ink);border-radius:26px;padding:10px 10px 0;box-shadow:0 40px 70px -40px rgba(11,37,56,.6),inset 0 0 0 1px rgba(255,255,255,.06)}
.tv::after{content:"";position:absolute;left:50%;bottom:-12px;width:30%;height:12px;transform:translateX(-50%);background:linear-gradient(#173B55,#0B2538);border-radius:0 0 14px 14px;z-index:-1}
.scr{position:relative;overflow:hidden;border-radius:18px;background:radial-gradient(120% 90% at 20% 0%,#FFFFFF,#EAF4FB 60%,#DCEDF8);padding:14px 14px 12px;display:grid;gap:10px}
.glare{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 32%,rgba(255,255,255,0) 70%,rgba(255,255,255,.18) 100%);mix-blend-mode:screen}
.live{display:inline-flex;align-items:center;gap:8px;justify-self:start;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--ink2);padding:6px 11px;border-radius:999px}
.live i{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 3px rgba(239,116,87,.3);animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.35}}
.tvmain{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px 14px;align-items:center}
.tvill{aspect-ratio:4/3;border-radius:14px;background:#EEF6FC;display:grid;place-items:end center;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.tvill svg{width:88%;height:auto}
.tv.all .tvill{grid-template-columns:repeat(3,1fr);gap:2px;place-items:end center;padding:4px}
.tv.all .tvill span{display:block;width:100%}
.tv.all .tvill svg{width:100%}
.tvtx{display:grid;gap:6px;min-width:0;justify-items:start}
.tvname{font-size:1.3rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;color:var(--ink)}
.mode{font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.mode svg{width:1em;height:1em;flex:none}
.mode.big{font-size:1rem;padding:6px 12px;background:var(--blue);color:#fff}
.tv.all .mode.big{background:var(--green)}
.ecap{grid-column:1/-1;color:var(--ink);font-size:1rem;font-weight:600;line-height:1.45;min-height:2.9em}
.tv.chg .tvmain{animation:chg .45s var(--ease)}
@keyframes chg{0%{opacity:0;transform:translateY(8px) scale(.985);filter:brightness(1.4)}100%{opacity:1;transform:none;filter:none}}
.seats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-items:end;padding-top:2px;max-width:380px;width:100%;justify-self:center}
.seat{position:relative;display:block;aspect-ratio:80/104}
.seat svg{position:absolute;inset:0;width:100%;height:100%}
.seat .pp{transform-box:fill-box;transform-origin:50% 100%;transform:translateY(30%) scale(.25);opacity:0;transition:transform .55s cubic-bezier(.34,1.75,.5,1),opacity .2s;transition-delay:calc(var(--i)*25ms)}
.seat.on .pp{transform:none;opacity:1}
.eprog{height:10px;margin:0 -10px;border-radius:0 0 26px 26px;overflow:hidden;background:var(--ink)}
.eprog i{display:block;height:4px;margin:3px 18px 0;border-radius:999px;background:linear-gradient(90deg,var(--blue-l),var(--green));transform-origin:0 50%;transform:scaleX(0)}
.wps{display:grid;gap:6px;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:16px}
.wp{position:relative;background:#fff;border:2px solid var(--line);border-radius:14px;padding:5px;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;cursor:pointer;transition:border-color .3s,box-shadow .3s,transform .4s var(--ease);text-align:center}
.wp:hover{border-color:var(--blue-l)}
.wp .ill{display:block;width:100%;aspect-ratio:4/3;border-radius:9px;background:var(--sky);overflow:hidden}
.wp .ill svg{width:100%;height:100%}
.wp .wpt{display:none}
.wp.act{border-color:var(--blue);box-shadow:0 14px 30px -14px rgba(0,85,140,.55);transform:translateY(-3px)}
.wp.done{border-color:#9FD3A8}
.wp.done .ill{background:#E8F5EA}
.wp .ok{position:absolute;top:-7px;right:-7px;width:20px;height:20px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;transform:scale(0);transition:transform .4s cubic-bezier(.34,1.75,.5,1);z-index:1}
.wp .ok svg{width:12px;height:12px}
.wp.done .ok{transform:scale(1)}
.enote{font-size:.82rem;font-weight:600;color:var(--mute)}
@media (max-width:759px){
  .tvmain{grid-template-columns:104px minmax(0,1fr);grid-template-areas:"ill name" "ill mode" "cap cap";row-gap:8px}
  .tvill{grid-area:ill}.tvtx{display:contents}.tvname{grid-area:name;align-self:end}.mode.big{grid-area:mode;align-self:start;justify-self:start}.ecap{grid-area:cap}
}
@media (min-width:760px){
  .es .wrap{gap:16px}
  .tv{padding:14px 14px 0;border-radius:32px}
  .scr{padding:22px 24px 16px;gap:14px;border-radius:22px}
  .scr{grid-template-columns:minmax(0,.62fr) minmax(0,1fr);grid-template-areas:"live live" "ill tx" "ill seats";column-gap:28px;align-items:center}
  .live{grid-area:live}.tvmain{display:contents}.tvill{grid-area:ill}.tvtx{grid-area:tx;align-self:end}.seats{grid-area:seats;align-self:start}
  .tv.chg .tvill,.tv.chg .tvtx{animation:chg .45s var(--ease)}
  .tvill{border-radius:18px}
  .tvname{font-size:clamp(1.7rem,2.8vw,2.4rem)}
  .mode.big{font-size:1.02rem;padding:8px 14px}
  .ecap{grid-column:auto;font-size:1.18rem;min-height:3em}
  .seats{gap:16px;max-width:560px;justify-self:start}
  .eprog{margin:0 -14px;border-radius:0 0 32px 32px}
  .wps{gap:12px}
  .wp{padding:8px 8px 10px;border-radius:16px}
  .wp .wpt{display:grid;gap:4px;justify-items:center}
  .wp .wpt b{font-size:1rem;letter-spacing:-.02em;line-height:1.15}
  .wp .mode{font-size:.86rem;color:var(--mute)}
  .wp.act .mode{color:var(--blue)}
}
@media (min-width:1100px){.scr{grid-template-columns:320px minmax(0,1fr)}}
@media (min-width:760px) and (max-height:820px){.scr{grid-template-columns:250px minmax(0,1fr)}.wp .ill{display:none}.wp{padding:10px 8px}.seats{max-width:470px}}
@media (max-width:759px) and (max-height:740px){.etop .kick{display:none}.enote{display:none}.ecap{min-height:0}}

/* coverage: bigger, bolder cards */
.covs{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);margin-top:40px}
.cv{position:relative;background:#fff;border:1.5px solid var(--line);border-radius:24px;padding:28px 24px 24px;box-shadow:0 2px 4px rgba(11,37,56,.04),0 22px 44px -22px rgba(11,37,56,.28);display:flex;flex-direction:column;gap:14px;min-width:0;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s}
.cv::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--blue)}
.cv.g::before{background:var(--green)}.cv.c::before{background:var(--coral)}
.cv:hover{transform:translateY(-4px);box-shadow:0 30px 60px -26px rgba(0,63,105,.42)}
.cv .ic{width:68px;height:68px;border-radius:20px;display:grid;place-items:center;background:var(--sky2);color:var(--blue)}
.cv .ic svg{width:36px;height:36px;stroke-width:2.2}
.cv.g .ic{background:#E1F2E4;color:var(--green-d)}
.cv.c .ic{background:#FCE3DB;color:var(--coral-d)}
.cv h3{font-size:clamp(1.55rem,5.6vw,1.9rem);font-weight:800;letter-spacing:-.035em;line-height:1.08;color:var(--ink)}
.cv p{color:var(--ink2);font-size:1.06rem;line-height:1.55}
.cv .who{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:6px}
.cv .who span{font-size:.86rem;font-weight:800;padding:7px 12px;border-radius:999px;background:var(--sky2);color:var(--ink)}
.cv.fam{background:linear-gradient(140deg,var(--blue),#0A6CA8);color:#fff;border:0}
.cv.fam::before{background:var(--coral)}
.cv.fam h3{color:#fff}.cv.fam p{color:#E2EFF8}.cv.fam .ic{background:rgba(255,255,255,.16);color:#fff}
.cv.fam .who span{background:rgba(255,255,255,.18);color:#fff}
.fine{font-size:.85rem;color:var(--mute);margin-top:24px;max-width:52rem}
@media (min-width:700px){.covs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.covs{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cv{padding:34px 30px 30px;min-height:330px}.cv h3{font-size:2rem}.cv p{font-size:1.1rem}}

/* who we serve */
.serve{display:grid;gap:36px;grid-template-columns:minmax(0,1fr);align-items:center}
.aud{display:grid;gap:12px;margin-top:28px}
.au{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;padding:20px;border-radius:var(--r);background:#fff;border:1px solid var(--line2)}
.au .n{font-family:var(--ser);font-style:italic;font-size:2rem;line-height:1;color:var(--coral)}
.au b{display:block;font-size:1.12rem;letter-spacing:-.02em;margin-bottom:4px}
.au span{color:var(--mute);font-size:.95rem}
.fl{position:relative;background:#fff;border-radius:28px;padding:18px;box-shadow:0 40px 80px -46px rgba(0,63,105,.4),0 0 0 1px var(--line2)}
.fl svg{width:100%;height:auto}
.fl .state{fill:#E8F3FA;stroke:var(--blue);stroke-width:3;stroke-linejoin:round}
.fl .arc{fill:none;stroke:var(--green);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset 1.6s var(--ease)}
.fl.in .arc{stroke-dashoffset:0}
.fl .dot{fill:var(--green)}
.fl .cl{font:700 17px var(--sans);fill:var(--ink2);paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.fl .hqr{fill:none;stroke:var(--coral);stroke-width:3;transform-origin:482px 335px;animation:pr 2.2s ease-out infinite}
@keyframes pr{from{transform:scale(.4);opacity:1}to{transform:scale(2.6);opacity:0}}
.fl .off{fill:var(--blue);filter:drop-shadow(0 4px 6px rgba(11,37,56,.25))}
.fl .off.main{fill:var(--coral)}
.fl .olink{fill:none;stroke:var(--coral);stroke-width:3;stroke-dasharray:7 7;stroke-linecap:round;opacity:.85}
.fl .ol{font:800 28px var(--sans);fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:6px;stroke-linejoin:round}
.fl .ol.main{font-size:30px;fill:var(--coral-d)}
.fl .fsun circle{fill:#FFC94D;filter:drop-shadow(0 0 10px rgba(255,190,80,.7))}
.fl .fsun path{stroke:#FFB547;stroke-width:4;stroke-linecap:round}
.fl .fr{transform-origin:676px 40px;animation:fspin 24s linear infinite}
@keyframes fspin{to{transform:rotate(360deg)}}
.fl .cap{display:block;margin:4px 0 0 6px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
@media (min-width:960px){.serve{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}}

/* steps */
.steps{display:grid;gap:14px;grid-template-columns:minmax(0,1fr);margin-top:40px;counter-reset:s}
.st{position:relative;background:#fff;border-radius:var(--r);padding:26px 22px;border:1px solid var(--line);box-shadow:var(--sh);min-width:0}
.st .no{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;font-size:1rem;margin-bottom:16px}
.st:nth-child(2) .no{background:var(--green)}.st:nth-child(3) .no{background:var(--coral)}.st:nth-child(4) .no{background:var(--ink)}
.st h3{font-size:1.2rem;letter-spacing:-.03em;margin-bottom:8px}
.st p{color:var(--mute);font-size:.95rem}
@media (min-width:700px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}.st:not(:last-child)::after{content:"";position:absolute;top:46px;right:-14px;width:14px;height:2px;background:var(--line)}}

/* payroll + portability */
.duo{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);margin-top:40px}
.pan{border-radius:26px;padding:30px 24px;position:relative;overflow:hidden;min-width:0}
.pan.a{background:#fff;border:1px solid var(--line);box-shadow:var(--sh)}
.pan.b{background:var(--ink);color:#fff}
.pan h3{font-size:clamp(1.5rem,4vw,2.1rem);letter-spacing:-.035em;margin-bottom:10px}
.pan.b h3{color:#fff}
.pan h3 .it{color:var(--blue)}
.pan.b h3 .it{color:#8CC8F0}
.pan>p{color:var(--mute);max-width:32rem}
.pan.b>p{color:#B9CAD7}
.chk{list-style:none;display:grid;gap:12px;margin-top:22px}
.chk li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start}
.chk li i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#E5F3E7;color:var(--green-d)}
.chk li i svg{width:15px;height:15px}
.pan.b .chk li i{background:rgba(140,200,240,.16);color:#8CC8F0}
.chk b{display:block;letter-spacing:-.01em}
.chk span{font-size:.92rem;color:var(--mute)}
.pan.b .chk span{color:#B9CAD7}
.path{margin-top:24px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.path span{font-size:.76rem;font-weight:700;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;white-space:nowrap}
.path em{font-style:normal;color:#8CC8F0;font-weight:800}
@media (min-width:900px){.duo{grid-template-columns:repeat(2,minmax(0,1fr))}.pan{padding:40px}}

/* amanda */
.meet{display:grid;gap:36px;grid-template-columns:minmax(0,1fr);align-items:center}
.arch{position:relative;border-radius:240px 240px 28px 28px;background:linear-gradient(180deg,#DCEEF9 0%,var(--sand) 100%);min-height:440px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;max-width:460px;width:100%;margin:0 auto}
.arch::before{content:"";position:absolute;width:150%;aspect-ratio:1;left:-25%;top:18%;border-radius:50%;border:1.5px dashed rgba(0,85,140,.18)}
.arch img{position:relative;height:420px;width:auto;max-width:none}
.arch .tag{position:absolute;left:16px;bottom:16px;background:#fff;border-radius:14px;padding:10px 14px;box-shadow:var(--sh);font-size:.8rem;line-height:1.3}
.arch .tag b{display:block;font-size:.95rem;letter-spacing:-.02em}
.arch .tag span{color:var(--mute)}
.meet h2 .it{color:var(--coral-d)}
.meet .bio p{color:var(--ink2);margin-bottom:14px;max-width:36rem}
.meet .q{font-family:var(--ser);font-style:italic;font-size:clamp(1.3rem,3vw,1.7rem);line-height:1.3;color:var(--blue);border-left:3px solid var(--coral);padding-left:18px;margin:22px 0;max-width:34rem}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chips span{font-size:.82rem;font-weight:700;padding:8px 13px;border-radius:999px;background:#fff;border:1px solid var(--line2);color:var(--ink2)}
@media (min-width:960px){.meet{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:72px}.arch{min-height:560px}.arch img{height:540px}}

/* globe life */
.facts{display:grid;gap:14px;grid-template-columns:minmax(0,1fr);margin-top:40px}
.fact{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;min-width:0;box-shadow:var(--sh)}
.fact .k{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--green-d)}
.fact b{display:block;font-size:clamp(2.2rem,6vw,3.4rem);letter-spacing:-.05em;line-height:1;margin:12px 0 10px;color:var(--blue)}
.fact p{color:var(--ink2);font-size:.98rem}
.fact.big{background:linear-gradient(150deg,#003F69,var(--blue));color:#fff;border:0;position:relative;overflow:hidden}
.fact.big::after{content:"";position:absolute;right:-70px;bottom:-70px;width:260px;height:260px;border-radius:50%;background:url(/globe-logo.png) center/cover;opacity:.2}
.fact.big .k{color:#9FE0AA}.fact.big b{color:#fff}.fact.big p{color:#D4E7F5;position:relative;z-index:1;max-width:30rem}
@media (min-width:900px){.facts{grid-template-columns:1.4fr 1fr 1fr}.fact.big{grid-row:span 1}}

/* service */
.svc{display:grid;gap:20px;grid-template-columns:minmax(0,1fr);align-items:center;background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px 24px;box-shadow:var(--sh)}
.svc h3{font-size:clamp(1.5rem,4vw,2rem);letter-spacing:-.035em}
.svc p{color:var(--mute);margin-top:6px}
.svc .tel{display:block;font-size:clamp(1.8rem,6vw,2.6rem);font-weight:800;letter-spacing:-.04em;color:var(--blue);text-decoration:none;line-height:1}
.svc .links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.svc .links a{font-size:.88rem;font-weight:700;color:var(--ink2);text-decoration:none;padding:9px 13px;border-radius:12px;background:var(--sky)}
.svc .links a:hover{background:var(--sky2)}
@media (min-width:900px){.svc{grid-template-columns:minmax(0,1.2fr) auto;padding:40px}}

/* careers band */
.cband{display:grid;gap:22px;grid-template-columns:minmax(0,1fr);align-items:center;background:var(--sand);border-radius:28px;padding:32px 24px;position:relative;overflow:hidden;text-decoration:none}
.cband::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(closest-side,rgba(239,116,87,.28),rgba(239,116,87,0))}
.cband small{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--coral-d)}
.cband h3{font-size:clamp(1.7rem,5vw,2.8rem);letter-spacing:-.04em;margin:8px 0 8px}
.cband h3 .it{color:var(--blue)}
.cband p{color:var(--ink2);max-width:34rem}
.cband .btn{justify-self:start;position:relative;z-index:1}
@media (min-width:900px){.cband{grid-template-columns:minmax(0,1fr) auto;padding:48px}}

/* contact */
.contact{display:grid;gap:22px;grid-template-columns:minmax(0,1fr);margin-top:36px}
.cform{background:#fff;border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:var(--sh)}
.cform h3{font-size:1.35rem;letter-spacing:-.03em;margin-bottom:4px}
.cform>p{color:var(--mute);font-size:.94rem;margin-bottom:20px}
.cinfo{display:grid;gap:14px;align-content:start}
.ci{background:var(--sky);border-radius:20px;padding:20px 22px}
.ci small{display:block;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.ci a,.ci address{font-style:normal;font-weight:700;color:var(--ink);text-decoration:none;font-size:1.05rem;line-height:1.45;overflow-wrap:anywhere}
.ci a.big{font-size:clamp(1.6rem,6vw,2.1rem);letter-spacing:-.04em;color:var(--blue)}
.map{border-radius:20px;overflow:hidden;border:1px solid var(--line);min-height:280px;background:var(--sky)}
.map iframe{display:block;width:100%;height:100%;min-height:280px;border:0}
@media (min-width:960px){.contact{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}.cform{padding:36px}}
.ci .also{margin-top:8px;font-size:.95rem;font-weight:700;color:var(--blue)}

/* employer value strip under the four steps */
.ev{margin-top:28px;border-radius:26px;background:linear-gradient(135deg,#FFF4EA,#FDE7DA);border:1px solid #F6D2BE;padding:26px 22px;display:grid;gap:18px}
.ev .kick{color:var(--coral-d)}
.ev h3{font-size:clamp(1.6rem,6vw,2.3rem);letter-spacing:-.04em;line-height:1.05}
.ev h3 .it{color:var(--blue)}
.evg{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.evi{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:start;background:#fff;border-radius:18px;padding:16px;box-shadow:0 10px 26px -18px rgba(150,70,40,.45)}
.evi .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#FCE3DB;color:var(--coral-d)}
.evi .ic svg{width:24px;height:24px}
.evi b{display:block;font-size:1.08rem;letter-spacing:-.02em;margin-bottom:3px}
.evi span{color:var(--ink2);font-size:1rem;line-height:1.5}
@media (min-width:900px){.ev{grid-template-columns:minmax(0,.8fr) minmax(0,2.2fr);align-items:center;padding:36px}.evg{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* leadership trading cards (render only when leaders.js has entries) */
.lcards{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);margin-top:34px}
.lcard{--c:var(--blue);background:#fff;border-radius:24px;padding:10px;box-shadow:0 26px 50px -30px rgba(11,37,56,.45);border:2px solid var(--c);display:flex;flex-direction:column;min-width:0}
.lcard.t-c{--c:var(--coral)}.lcard.t-g{--c:var(--green)}
.lph{position:relative;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:linear-gradient(160deg,#DCEEF9,var(--sand))}
.lph img{width:100%;height:100%;object-fit:cover;object-position:50% 15%}
.loff{position:absolute;left:10px;top:10px;background:var(--c);color:#fff;font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.lbody{padding:16px 10px 12px;display:grid;gap:8px}
.lbody h3{font-size:1.45rem;letter-spacing:-.03em}
.lt{font-weight:700;color:var(--c)}
.lfacts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lfacts div{background:var(--sky);border-radius:12px;padding:8px 10px}
.lfacts dt{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.lfacts dd{font-weight:700;font-size:.95rem}
.lbody blockquote{font-family:var(--ser);font-style:italic;font-size:1.12rem;line-height:1.4;color:var(--ink2);border-left:3px solid var(--c);padding-left:12px;margin-top:4px}
@media (min-width:640px){.lcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.lcards{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* mobile polish: body copy at 16px, roomier taps, tidy rhythm */
@media (max-width:759px){
  .pt span,.au span,.st p,.chk span,.fact p,.cform>p,.ci .also,.lfacts dd{font-size:1rem}
  .pt b,.au b{font-size:1.1rem}
  .st h3{font-size:1.25rem}
  .stub .free span,.br .l{font-size:.95rem}
  .stub .note,.fine,.enote{font-size:.9rem}
  .chips span,.hc .tags span,.cv .who span{font-size:.9rem;padding:9px 13px}
  .svc .links a{font-size:1rem;padding:12px 16px;min-height:44px;display:inline-flex;align-items:center}
  .path span{font-size:.85rem}
  .sec{padding:72px 0}
  h2{font-size:clamp(2.05rem,9.4vw,2.6rem)}
  .lede{font-size:1.06rem}
  .covs{gap:14px}
  .cv{padding:24px 20px 22px}
  .gpin{font-size:.74rem;padding:8px 12px}.gpin.sm{font-size:.7rem}
  .hb .beat-s{font-size:1rem}
  .fl{padding:12px}
  .fl .cap{font-size:.78rem}
  .arch{min-height:400px}.arch img{height:380px}
}
@media (max-width:380px){.badge{font-size:.66rem;letter-spacing:.1em}h1{font-size:2.3rem}}
@media (max-width:759px){.svc .tel{display:inline-block;padding:8px 0}.ci a,.ci address{display:inline-block;padding:6px 0}.mail a.e{display:inline-block;padding:8px 0}}
