
/* Layout: global-firm overview — full-bleed midnight hero with a moving fan of fine lines, narrow reading column, grey quote band, ruled figure row, centered uppercase section labels, midnight footer. */
:root{
  --paper:#FFFFFF;
  --band:#F0F0F0;
  --ink:#051C2C;
  --ink-2:#4B5A68;
  --rule:#B3B3B3;
  --rule-soft:#E0E3E7;
  --night:#051C2C;
  --night-fg:#FFFFFF;
  --night-mute:#B8C4D0;
  --electric:#007F7A;
  --btn:#007F7A;
  --opt-bg:#E6F4F3;
  --opt-line:#9FD3CF;
  --opt-ink:#005F5B;
  --link:#007F7A;
  --glow:rgba(0,149,143,.09);
  --err:#B3261E;
  --ok:#1E7A46;
  --display:"Source Serif 4",Georgia,"Times New Roman",serif;
  --body:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.45,0,.25,1);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#071725;--band:#0D2233;--ink:#EEF2F6;--ink-2:#A9B6C3;--rule:#3A4B5B;--rule-soft:#1C3042;
  --electric:#3CC8BF;--link:#5ED6CE;--opt-bg:rgba(60,200,191,.10);--opt-line:rgba(60,200,191,.40);--opt-ink:#9FE3DD;--err:#FF8A80;--ok:#7BD39B;color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#071725;--band:#0D2233;--ink:#EEF2F6;--ink-2:#A9B6C3;--rule:#3A4B5B;--rule-soft:#1C3042;
  --electric:#3CC8BF;--link:#5ED6CE;--opt-bg:rgba(60,200,191,.10);--opt-line:rgba(60,200,191,.40);--opt-ink:#9FE3DD;--err:#FF8A80;--ok:#7BD39B;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:40;background:var(--night)}
a{color:inherit}
:focus-visible{outline:2px solid var(--electric);outline-offset:3px}
.wrap{max-width:1240px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.narrow{max-width:760px}

/* header */
header.top{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:30;color:var(--night-fg);transition:background-color .4s var(--ease),transform .4s var(--ease),box-shadow .4s var(--ease)}
header.top.solid{background:var(--night);box-shadow:0 1px 0 rgba(255,255,255,.08)}
header.top.away{transform:translateY(-110%)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:10px}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}
.brand img{display:block;height:128px;width:auto;transition:height .4s var(--ease)}
header.top.solid .brand img{height:80px}
@media (max-width:980px){.brand img{height:96px}header.top.solid .brand img{height:72px}}
@media (max-width:680px){.brand img,header.top.solid .brand img{height:58px}}
.curtain img{display:block;height:clamp(44px,7vw,72px);width:auto}
footer .wrap img{display:block;height:96px;width:auto}
@media (max-width:680px){footer .wrap img{height:64px}}
nav.links{display:flex;gap:26px;font-size:15px}
nav.links a{text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:3px;transition:background-size .3s var(--ease)}
nav.links a:hover{background-size:100% 1px}
.lang{display:flex;gap:2px;font-size:13px}
.lang button{all:unset;cursor:pointer;padding:6px 8px;opacity:.7;border-bottom:1px solid transparent;transition:opacity .2s}
.lang button[aria-pressed="true"]{opacity:1;border-color:currentColor}
.lang button:focus-visible{outline:2px solid var(--electric)}
.hact{display:flex;align-items:center;gap:18px}
.burger{display:none;position:relative;width:44px;height:44px;border:0;background:transparent;color:inherit;cursor:pointer;padding:0}
.burger i{position:absolute;left:10px;right:10px;height:2px;background:currentColor;transition:transform .3s var(--ease),opacity .2s}
.burger i:nth-child(1){top:15px}.burger i:nth-child(2){top:21px}.burger i:nth-child(3){top:27px}
.burger[aria-expanded="true"] i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] i:nth-child(2){opacity:0}
.burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* mobile menu: a midnight panel under the header, links set large */
.mnav{position:fixed;inset:0;z-index:25;background:var(--night);color:var(--night-fg);display:flex;flex-direction:column;padding:calc(175px + env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) 40px max(24px,env(safe-area-inset-left,0px));overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-12px);transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s}
.mnav.open{visibility:visible;opacity:1;transform:none}
.mnav .ml{font-family:var(--display);font-weight:600;font-size:clamp(28px,7vw,40px);line-height:1.2;text-decoration:none;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.mnav .lang{margin-top:28px;font-size:15px}
nav.links a{white-space:nowrap}
@media (min-width:1301px){.mnav{display:none}}
@media (max-width:1300px){nav.links,.top .lang{display:none}.burger{display:block}}
.brand{flex-shrink:0}
@media (max-width:680px){.mnav{padding-top:calc(110px + env(safe-area-inset-top,0px))}}

/* section-to-section transition: a midnight curtain sweeps up, the page jumps, the curtain leaves upward */
.curtain{position:fixed;inset:0;z-index:50;background:var(--night);color:var(--night-fg);display:grid;place-items:center;pointer-events:none;clip-path:inset(100% 0 0 0)}
.curtain span{font-family:var(--display);font-weight:600;font-size:clamp(28px,4vw,44px);letter-spacing:-.01em;opacity:0;transform:translateY(18px);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.curtain::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--electric);transform:scaleX(0);transform-origin:left}
.curtain.cover{animation:cIn .55s var(--ease) forwards}
.curtain.cover span{opacity:1;transform:none;transition-delay:.2s}
.curtain.cover::after{animation:bar .55s .1s var(--ease) forwards}
.curtain.leave{clip-path:inset(0 0 0 0);animation:cOut .6s var(--ease) forwards}
@keyframes cIn{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes cOut{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 100% 0)}}
@keyframes bar{to{transform:scaleX(1)}}

/* headings rise out of a mask as their section arrives */
.mask{display:block;overflow:hidden;padding-bottom:.08em}
.mask > span{display:block;transition:transform .9s var(--ease)}
.pre-h .mask > span{transform:translateY(105%)}

/* hero */
.hero{position:relative;overflow:hidden;color:var(--night-fg);background:
  radial-gradient(120% 90% at 100% 100%,#00706B 0%,rgba(0,112,107,.55) 30%,rgba(5,28,44,0) 65%),var(--night)}
.reel{position:absolute;inset:0;overflow:hidden}
.reel .shot{position:absolute;inset:-4%;background-size:cover;background-position:center;opacity:0;will-change:transform,opacity}
.reel .shot.on{opacity:1}
.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,28,44,.82) 0%,rgba(5,28,44,.45) 45%,rgba(5,28,44,.78) 100%),radial-gradient(120% 90% at 100% 100%,rgba(0,112,107,.55) 0%,rgba(0,112,107,0) 60%)}
.hero:not(.has-reel) .shade{display:none}
#lines{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero .wrap{position:relative;display:grid;grid-template-columns:1fr 1fr;padding-block:calc(120px + env(safe-area-inset-top,0px)) 96px;min-height:min(720px,92vh)}
.hero-text{grid-column:2;align-self:end;min-width:0}
.welcome{font-size:15px;color:var(--night-mute);opacity:0;transform:translateY(16px);animation:up .9s .15s var(--ease) forwards}
h1{font-family:var(--display);font-weight:600;font-size:clamp(40px,5.6vw,72px);line-height:1.06;letter-spacing:-.015em;margin:10px 0 24px;text-wrap:balance}
h1 .w{display:block;opacity:0;transform:translateY(24px);animation:up 1s var(--ease) forwards}
h1 .w:nth-child(1){animation-delay:.3s}
h1 .w:nth-child(2){animation-delay:.48s;color:#7FE0D8}
.lead{font-size:18px;color:#DCE4EE;max-width:44ch;margin:0 0 34px;opacity:0;animation:up .9s .7s var(--ease) forwards}
.cta{display:flex;flex-wrap:wrap;gap:14px 30px;align-items:center;opacity:0;animation:up .9s .85s var(--ease) forwards}
@keyframes up{from{opacity:.0;transform:translateY(20px)}to{opacity:1;transform:none}}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--body);font-weight:600;font-size:16px;padding:14px 26px;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:0;transition:background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.btn .arr{display:inline-block;transition:transform .3s var(--ease)}
.btn:hover .arr{transform:translateX(5px)}
.hero .btn.primary{background:var(--night-fg);color:var(--night)}
.hero .btn.primary:hover{background:var(--btn);color:#fff}
.link{background:none;border:0;padding:0;color:inherit;font-weight:600}
.link span:first-child{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:3px}

/* sections */
section.block{padding-block:clamp(72px,9vw,120px) 0}
main > section:last-child{padding-bottom:clamp(72px,9vw,120px)}
#check{padding-top:clamp(40px,4.5vw,64px)}
#terms{padding-top:clamp(40px,4.5vw,64px)}
.label{font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-align:center;margin:0 0 18px}
h2{font-family:var(--display);font-weight:600;font-size:clamp(30px,3.8vw,48px);line-height:1.12;letter-spacing:-.01em;margin:0 auto;text-align:center;text-wrap:balance;max-width:22ch}
.sub{color:var(--ink-2);text-align:center;max-width:56ch;margin:18px auto 0}

.intro{padding-block:clamp(64px,8vw,104px)}
.intro.narrow{max-width:1032px}
.intro h2{text-align:center;margin:0 auto 30px;max-width:730px;font-size:clamp(28px,3.4vw,42px)}
.intro-p{display:grid;gap:20px;color:var(--ink);text-align:center;max-width:1000px;margin:0 auto}
.intro-p p{margin:0}

.quote-band{background:var(--band);padding-block:clamp(64px,8vw,104px)}
.quote{display:grid;justify-items:center;gap:30px;margin:0 auto}
.avatar{width:150px;height:150px;max-width:100%;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 0 0 1px var(--rule-soft)}
.avatar img{width:72%;height:auto;display:block}
blockquote{margin:0;text-align:center;font-family:var(--display);font-weight:600;font-size:clamp(22px,2.7vw,34px);line-height:1.3;letter-spacing:-.005em;max-width:34ch;text-wrap:pretty}
blockquote::before{content:"“"}blockquote::after{content:"”"}
.qby{max-width:64ch;margin:0 auto;text-align:center;font-size:15px;color:var(--ink-2)}
.qby b{color:var(--ink);font-weight:600;background:linear-gradient(var(--link),var(--link)) 0 100%/100% 1px no-repeat;padding-bottom:2px}
.qby::before{content:"— "}
.sf-p{display:grid;gap:18px;max-width:1000px;margin:0 auto;text-align:center;color:var(--ink-2)}
.sf-p p{margin:0}
.quote h2{max-width:none}
.sf-end{margin:6px auto 0;max-width:820px;text-align:center;font-family:var(--display);font-weight:600;font-size:clamp(20px,2.2vw,26px);line-height:1.35;color:var(--ink)}

.stats{display:grid;grid-template-columns:repeat(3,1fr);padding-block:clamp(56px,7vw,96px)}
.pf{text-align:center;padding:22px 24px;min-width:0}
.pf + .pf{border-left:1px solid var(--rule)}
.pv{font-family:var(--display);font-weight:600;font-size:clamp(42px,5vw,68px);line-height:1.05;color:var(--electric);font-variant-numeric:tabular-nums;white-space:nowrap}
.pl{color:var(--ink-2);font-size:15px;margin:12px auto 0;max-width:28ch}

.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
/* a lone seventh card sits in the middle column */
.svc .card:nth-child(7):last-child{grid-column:2}
.card{position:relative;background:var(--paper);border-top:1px solid var(--rule);padding:30px 4px 34px;min-width:0}
.card::after{content:"";position:absolute;left:0;top:-1px;height:3px;width:0;background:var(--electric);transition:width .5s var(--ease)}
.card:hover::after{width:100%}
.card .ico{margin-bottom:18px}
.card .ico svg{width:30px;height:30px;stroke:var(--electric);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.card h3{font-family:var(--display);font-weight:600;font-size:25px;line-height:1.2;margin:0 0 14px;text-wrap:balance}
.card ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.card li{color:var(--ink-2);font-size:16px;line-height:1.5}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:56px;counter-reset:s}
.step{border-top:1px solid var(--rule);padding-top:24px;min-width:0}
.step .n{font-family:var(--display);font-weight:600;font-size:40px;line-height:1;color:var(--electric)}
.step h3{font-family:var(--display);font-weight:600;font-size:24px;margin:16px 0 8px}
.step p{color:var(--ink-2);margin:0;font-size:16px}
.pr-res{max-width:900px;margin:48px auto 0;padding:22px 28px;background:var(--band);border-left:3px solid var(--electric);font-size:17px;line-height:1.6}
.pr-res b{font-weight:600}

.inds{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:44px}
.chip{font-size:16px;padding:12px 20px;border:1px solid var(--rule);transition:background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.chip:hover{background:var(--night);color:var(--night-fg);border-color:var(--night)}

/* quick check: numbered questions, options as toggle chips, contacts last */
.brief{display:block;max-width:900px;margin:48px auto 0}
.bq{display:grid;grid-template-columns:56px 1fr;gap:12px 20px;border-top:1px solid var(--rule);padding:26px 0}
.bq .bn{font-family:var(--display);font-weight:600;font-size:26px;line-height:1.2;color:var(--electric)}
.bb{min-width:0}
.bq h3{font-family:var(--display);font-weight:600;font-size:22px;line-height:1.3;margin:0 0 14px}
.bq .bh{margin:-6px 0 14px;color:var(--ink-2);font-size:15px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts.col{flex-direction:column;align-items:flex-start}
.opt{position:relative;cursor:pointer;font-size:15px;color:var(--opt-ink)}
.opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0;border:0}
.opt span{display:inline-block;background:var(--opt-bg);border:1px solid var(--opt-line);padding:9px 16px;line-height:1.4;transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
.opt:hover span{border-color:var(--btn)}
.opt input:checked+span{background:var(--btn);border-color:var(--btn);color:#fff}
.opt input:focus-visible+span{outline:2px solid var(--electric);outline-offset:2px}
.opt input:disabled+span{opacity:.4;cursor:not-allowed}
.brief .other,.brief textarea,.brief .f input{color:var(--ink);border-bottom:1px solid var(--rule)}
.brief .other{margin-top:12px;max-width:440px}
.brief textarea{min-height:110px}
.brief textarea::placeholder,.brief input::placeholder{color:var(--ink-2);opacity:.75}
.brief .other:focus,.brief textarea:focus,.brief .f input:focus{border-bottom-color:var(--electric)}
.brief label{color:var(--ink-2)}
.bfields{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}
.brief .err{color:var(--err);margin-top:16px}
.brief .btn.primary{background:var(--btn);color:#fff;margin-top:24px}
.brief .btn.primary:hover{background:var(--night);color:#fff}
.brief-res{margin-top:28px;background:var(--band);border-left:3px solid var(--electric);padding:24px clamp(20px,4vw,32px)}
.brief-res h4{font-family:var(--display);font-weight:600;font-size:22px;margin:0 0 6px}
.brief-res p{margin:0 0 14px;color:var(--ink-2);font-size:15px}
.brief-res pre{white-space:pre-wrap;font-family:ui-monospace,Menlo,monospace;font-size:13px;color:var(--ink);background:var(--paper);border:1px solid var(--rule-soft);padding:14px;margin:0 0 14px;overflow-x:auto}
.brief-res .ba{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.brief-res .btn.primary{margin-top:0}
.brief-res .btn.link{padding:0}

.cases{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:56px}
.case{position:relative;border-top:1px solid var(--rule);padding:28px 4px 32px;min-width:0;display:grid;gap:12px;align-content:start}
.case::after{content:"";position:absolute;left:0;top:-1px;height:3px;width:0;background:var(--electric);transition:width .5s var(--ease)}
.case:hover::after{width:100%}
.case .tag{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--electric)}
.case h3{font-family:var(--display);font-weight:600;font-size:26px;line-height:1.2;margin:0;text-wrap:balance}
.case p{margin:0;color:var(--ink-2);font-size:16px;line-height:1.6}
.case .res{color:var(--ink);font-weight:500;border-left:2px solid var(--electric);padding-left:14px}

.team-band{background:var(--band);margin-top:clamp(72px,9vw,120px);padding-block:clamp(64px,8vw,104px)}
.team{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;margin-top:48px}
.role{border-top:1px solid var(--rule);padding-top:20px;min-width:0}
.role h3{font-family:var(--display);font-weight:600;font-size:21px;line-height:1.25;margin:0 0 8px}
.role p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.5}

.terms{display:grid;grid-template-columns:1fr 1fr;gap:24px 56px;margin-top:56px}
.terms > div{min-width:0;border-top:1px solid var(--rule);padding-top:24px}
.terms h3{font-family:var(--display);font-weight:600;font-size:25px;margin:0 0 16px}
.terms ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.terms li{position:relative;padding-left:26px;font-size:16px;line-height:1.5}
.terms .yes li::before{content:"";position:absolute;left:2px;top:.45em;width:10px;height:10px;background:var(--electric)}
.terms .nope li::before{content:"";position:absolute;left:0;top:.72em;width:14px;height:2px;background:var(--err)}
.terms .note{margin:16px 0 0;color:var(--ink-2);font-size:15px}
.extra{max-width:62ch;margin:40px auto 0;text-align:center;color:var(--ink-2);font-size:15px}
footer .credit{font-size:12px;opacity:.75}

.cta-band{position:relative;overflow:hidden;color:var(--night-fg);margin-top:clamp(72px,9vw,120px);background:radial-gradient(80% 120% at 0% 100%,#00706B 0%,rgba(0,112,107,0) 60%),var(--night)}
.cta-band .wrap{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;padding-block:clamp(64px,8vw,104px)}
.cta-band .wrap > *{min-width:0}
.cta-band .label{text-align:left;color:var(--night-mute)}
.cta-band h2{text-align:left;margin:0;max-width:14ch}
.cta-band .side p{color:#DCE4EE;margin:20px 0 0;max-width:40ch}
.cta-band .side .mono{font-size:13px;font-weight:600;letter-spacing:.12em;margin-top:30px;color:var(--night-mute)}
form{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.f{display:grid;gap:4px;min-width:0}
.f.full{grid-column:1/-1}
label{font-size:13px;color:var(--night-mute)}
input,select,textarea{width:100%;font:inherit;font-size:17px;color:var(--night-fg);background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.45);border-radius:0;padding:10px 0;transition:border-color .3s var(--ease)}
select option{color:#051C2C;background:#fff}
textarea{min-height:96px;resize:vertical}
input::placeholder{color:rgba(255,255,255,.45)}
input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:#7FE0D8}
.cta-band .btn.primary{background:var(--night-fg);color:var(--night)}
.cta-band .btn.primary:hover{background:var(--btn);color:#fff}
.err{color:#FFB4AB;font-size:14px;grid-column:1/-1}
.result{grid-column:1/-1;border-left:3px solid #7BD39B;padding:16px 20px;background:rgba(255,255,255,.06)}
.result h4{font-family:var(--display);font-weight:600;font-size:20px;margin:0 0 6px;color:#9BE3B4}
.result p{margin:0 0 12px;color:#DCE4EE;font-size:15px}
.result pre{white-space:pre-wrap;font-family:ui-monospace,Menlo,monospace;font-size:13px;background:rgba(0,0,0,.25);padding:14px;margin:0 0 12px;overflow-x:auto;color:#fff}
.result .btn{padding:0;color:#fff;background:none}

footer{background:var(--night);color:var(--night-mute);border-top:1px solid rgba(255,255,255,.1)}
footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:34px;font-size:14px}
footer b{font-family:var(--display);font-weight:600;font-size:22px;color:var(--night-fg)}

/* scroll reveal: elements start visible; ones below the fold get a short rise */
.reveal{transition:transform .7s var(--ease),opacity .7s var(--ease)}
.reveal.pre{transform:translateY(28px);opacity:.25}
.reveal.pre.in{transform:none;opacity:1}


/* ---- motion layer ---- */
.progress{position:fixed;left:0;right:0;top:env(safe-area-inset-top,0px);height:2px;z-index:45;pointer-events:none;background:var(--electric);transform-origin:0 50%;transform:scaleX(0)}
.reel,.hero-text{will-change:transform}
.card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s var(--ease);background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),var(--glow),transparent 70%)}
.card:hover::before{opacity:1}
.card > *{position:relative}
.step{position:relative}
.step::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:100%;background:var(--electric);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease)}
.step.in::before{transform:scaleX(1)}
.step:nth-child(2)::before{transition-delay:.15s}.step:nth-child(3)::before{transition-delay:.3s}.step:nth-child(4)::before{transition-delay:.45s}
blockquote .wd{transition:opacity .35s linear}
.btn.primary{will-change:transform}
.ghost{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:60;mix-blend-mode:normal}
.cursor-dot{display:none;position:fixed;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid var(--electric);border-radius:50%;pointer-events:none;z-index:60;opacity:0;transition:opacity .3s,width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease),background-color .3s}
.cursor-dot.show{opacity:.9}
.cursor-dot.big{width:70px;height:70px;margin:-35px 0 0 -35px;background:rgba(0,149,143,.12)}
@media (prefers-reduced-motion:reduce){.progress,.cursor-dot,.ghost{display:none}.step::before{transform:scaleX(1)}}

@media (max-width:980px){
  .hero .wrap{grid-template-columns:1fr;min-height:0;padding-block:calc(150px + env(safe-area-inset-top,0px)) 72px}
  .hero-text{grid-column:1}
  .svc{grid-template-columns:repeat(2,1fr)}
  .svc .card:nth-child(7):last-child{grid-column:1/-1}
  .steps{grid-template-columns:1fr 1fr}
  .team{grid-template-columns:repeat(3,1fr)}
  .cta-band .wrap{grid-template-columns:1fr;gap:36px}
}
@media (max-width:680px){
  .svc,.steps,.cases,.terms{grid-template-columns:1fr}
  .svc .card:nth-child(7):last-child{grid-column:auto}
  .bq{grid-template-columns:1fr;gap:6px}
  .bfields{grid-template-columns:1fr}
  .team{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr}
  .pf + .pf{border-left:0;border-top:1px solid var(--rule)}
  form{grid-template-columns:1fr}
  .avatar{width:112px;height:112px;font-size:36px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .welcome,h1 .w,.lead,.cta{opacity:1;transform:none}
  .reveal.pre{transform:none;opacity:1}
}

/* ---- multi-page: burger on every screen size ---- */
.mnav{z-index:25}
#mnavLinks{display:grid;max-width:1240px;width:100%;margin:0 auto}
.mnav .ml{display:flex;align-items:baseline;gap:18px;opacity:0;transform:translateY(18px);transition:opacity .45s var(--ease),transform .5s var(--ease),color .25s}
.mnav .ml .mn{font-family:var(--body);font-size:14px;font-weight:500;color:var(--night-mute);min-width:2ch}
.mnav .ml:hover,.mnav .ml[aria-current="page"]{color:#7FE0D8}
.mnav.open .ml{opacity:1;transform:none}
.mnav.open .ml:nth-child(1){transition-delay:.08s}.mnav.open .ml:nth-child(2){transition-delay:.13s}.mnav.open .ml:nth-child(3){transition-delay:.18s}.mnav.open .ml:nth-child(4){transition-delay:.23s}.mnav.open .ml:nth-child(5){transition-delay:.28s}
.mnav > .lang{max-width:1240px;width:100%;margin-left:auto;margin-right:auto;margin-top:28px}
@media (min-width:1301px){.mnav .ml{font-size:clamp(36px,3.6vw,52px)}}

/* floating consultation button, always on screen */
.fab{position:fixed;z-index:35;right:max(20px,calc(env(safe-area-inset-right,0px) + 20px));bottom:calc(20px + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;gap:12px;padding:15px 22px 15px 18px;background:var(--btn);color:#fff;text-decoration:none;font-weight:600;font-size:15px;border-radius:999px;box-shadow:0 14px 34px -12px rgba(0,60,58,.7),0 2px 6px rgba(5,28,44,.25);opacity:0;transform:translateY(24px) scale(.96);transition:opacity .5s var(--ease),transform .5s var(--ease),background-color .25s,translate .25s var(--ease)}
.fab.show{opacity:1;transform:none}
.fab:hover{background:#00665F}
.fab .pulse{position:relative;width:10px;height:10px;border-radius:50%;background:#fff;flex:none}
.fab .pulse::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid #fff;animation:fping 2.2s var(--ease) infinite}
@keyframes fping{from{transform:scale(.6);opacity:.9}to{transform:scale(1.9);opacity:0}}
.fab .arr{transition:transform .3s var(--ease)}
.fab:hover .arr{transform:translateX(4px)}
body:has(.burger[aria-expanded="true"]) .fab{opacity:0;pointer-events:none}
@media (max-width:680px){.fab{left:max(16px,calc(env(safe-area-inset-left,0px) + 16px));right:max(16px,calc(env(safe-area-inset-right,0px) + 16px));bottom:calc(14px + env(safe-area-inset-bottom,0px));justify-content:center;padding:16px 20px}}
footer .wrap{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
footer .fnav{display:flex;flex-wrap:wrap;gap:8px 24px}
footer .fnav a{text-decoration:none;color:var(--night-fg);font-size:14px}
footer .fnav a:hover{color:#7FE0D8}

/* page-to-page curtain */
.curtain.hold{clip-path:inset(0 0 0 0)}
.curtain.hold span{opacity:1;transform:none;transition:none}

/* inner pages: a shorter midnight opener */
.page-hero{background:radial-gradient(120% 90% at 100% 100%,#00706B 0%,rgba(0,112,107,.5) 30%,rgba(5,28,44,0) 65%),var(--night)}
.page-hero .wrap{min-height:0;padding-block:calc(190px + env(safe-area-inset-top,0px)) clamp(64px,8vw,104px)}
.page-hero .hero-text{grid-column:1/-1;max-width:880px;align-self:start}
.page-hero h1{max-width:22ch;opacity:0;transform:translateY(24px);animation:up 1s .3s var(--ease) forwards}
@media (max-width:980px){.page-hero .wrap{padding-block:calc(150px + env(safe-area-inset-top,0px)) 64px}}
@media (max-width:680px){.page-hero .wrap{padding-block:calc(110px + env(safe-area-inset-top,0px)) 56px}}
.page-hero + section.block{padding-top:clamp(56px,7vw,96px)}

/* home: section links */
.gos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}
.go{position:relative;display:grid;align-content:start;gap:12px;text-decoration:none;border-top:1px solid var(--rule);padding:28px 4px 40px;min-width:0}
.go::after{content:"";position:absolute;left:0;top:-1px;height:3px;width:0;background:var(--electric);transition:width .5s var(--ease)}
.go:hover::after{width:100%}
.go .gn{font-size:14px;font-weight:600;color:var(--electric)}
.go h3{font-family:var(--display);font-weight:600;font-size:clamp(24px,2.4vw,30px);line-height:1.15;margin:0;transition:color .25s}
.go:hover h3{color:var(--electric)}
.go p{color:var(--ink-2);margin:0;font-size:16px}
.go .garr{font-size:22px;color:var(--electric);transition:transform .35s var(--ease)}
.go:hover .garr{transform:translateX(8px)}
.end-band{position:relative;overflow:hidden;color:var(--night-fg);margin-top:clamp(72px,9vw,120px);background:radial-gradient(80% 120% at 0% 100%,#00706B 0%,rgba(0,112,107,0) 60%),var(--night)}
.end-band .wrap{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap;padding-block:clamp(64px,8vw,104px)}
.end-band .wrap > div{min-width:0;flex:1 1 420px}
.end-band h2{text-align:left;margin:0;max-width:20ch;color:var(--night-fg)}
.end-band p{color:#DCE4EE;max-width:52ch;margin:16px 0 0}
.end-band .btn.primary{background:var(--night-fg);color:var(--night)}
.end-band .btn.primary:hover{background:var(--btn);color:#fff}
main > section.end-band:last-child{padding-bottom:0}
.contact-main #check{padding-top:clamp(48px,6vw,80px)}
.contact-main .brief{margin-top:0}
@media (max-width:980px){.gos{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.mnav .ml{opacity:1;transform:none}.page-hero h1{opacity:1;transform:none}.fab{opacity:1;transform:none}}

/* ---- header: page links pinned at the top on wide screens, burger below 1100px ---- */
nav.links{gap:28px;font-size:15px;align-items:center}
nav.links a[aria-current="page"]{background-size:100% 1px}
nav.links a.nav-cta{border:1px solid currentColor;padding:8px 16px;background:none}
nav.links a.nav-cta:hover,nav.links a.nav-cta[aria-current="page"]{background:var(--btn);border-color:var(--btn);color:#fff}
@media (min-width:1101px){
  nav.links{display:flex!important}.top .lang{display:flex!important}.burger{display:none!important}.mnav{display:none!important}
  .top .wrap{gap:28px}
  .brand img{height:84px}header.top.solid .brand img{height:62px}
  .top .hact{gap:22px}
}
@media (max-width:1100px){nav.links{display:none!important}.burger{display:block!important}}

/* ---- photo backgrounds: desktop and portrait-phone versions, slow drone-like drift ---- */
.bgl{position:absolute;inset:-5%;background-size:cover;background-position:center;background-repeat:no-repeat;will-change:transform}
@keyframes drift{from{transform:scale(1.04) translate(-1.4%,.9%)}to{transform:scale(1.13) translate(1.3%,-1.1%)}}
.bgl{animation:drift 26s ease-in-out infinite alternate}
.reel .shot.bgl{opacity:1}
@media (prefers-reduced-motion:reduce){.bgl{animation:none;transform:scale(1.04)}}
.bg-home{background-image:url('media/bg-home.jpg'),url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA4KCw0LCQ4NDA0QDw4RFiQXFhQUFiwgIRokNC43NjMuMjI6QVNGOj1OPjIySGJJTlZYXV5dOEVmbWVabFNbXVn/2wBDAQ8QEBYTFioXFypZOzI7WVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVn/wAARCAASACADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDhRTlGTiowasW+0sNzAexFddzmsSxWkj87TgdTVsWgEpi2/vAcYJ71a8s/Kq7MK4XCkDPXnNLexyxSGcwyBlk7Fe/IpOqkLkbZzIpw60UUItlmFmyOT19a0b53LxZZjwnU/wCyKKKp7oxZ/9k=')}
.bg-services{background-image:url('media/bg-services.jpg'),url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA4KCw0LCQ4NDA0QDw4RFiQXFhQUFiwgIRokNC43NjMuMjI6QVNGOj1OPjIySGJJTlZYXV5dOEVmbWVabFNbXVn/2wBDAQ8QEBYTFioXFypZOzI7WVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVn/wAARCAASACADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDifNzTHIYVCGpc10XOflsSOQzwg9gAPzrcWyzOoweR6e9YxXiJgM4HI9evNaMAPnxtPNjdycckc0lcTSsjDFSRDLUUUjRjrgkBSCQalhZiiksSfc0UULcT2P/Z')}
.bg-experience{background-image:url('media/bg-experience.jpg'),url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA4KCw0LCQ4NDA0QDw4RFiQXFhQUFiwgIRokNC43NjMuMjI6QVNGOj1OPjIySGJJTlZYXV5dOEVmbWVabFNbXVn/2wBDAQ8QEBYTFioXFypZOzI7WVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVn/wAARCAASACADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDgxTgKVQv94VLGI88nNdNzCw1VzSlMgjOOPWr9vHDIrHHQevNNVPMEu+3ZAmfmGTnkf41Lmg5TIFPU0UUDLUBOG59P51cyfJm5P8f8xRRUsl7o/9k=')}
.bg-approach{background-image:url('media/bg-approach.jpg'),url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA4KCw0LCQ4NDA0QDw4RFiQXFhQUFiwgIRokNC43NjMuMjI6QVNGOj1OPjIySGJJTlZYXV5dOEVmbWVabFNbXVn/2wBDAQ8QEBYTFioXFypZOzI7WVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVn/wAARCAASACADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0UcjIOaawGPTNIMg/eFKWJHUUxFO7gjmYbyR8uPrzWbc6baBC7lggBJPpWrPEWUYc9P61zWoWeo+ZmO62x5JAJI+XI4qkZyudKnWpAeaKKzZsV70kRcHHH9ayrh2GAGPQ96KK0hsY1Nz/2Q==')}
.bg-contact{background-image:url('media/bg-contact.jpg'),url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA4KCw0LCQ4NDA0QDw4RFiQXFhQUFiwgIRokNC43NjMuMjI6QVNGOj1OPjIySGJJTlZYXV5dOEVmbWVabFNbXVn/2wBDAQ8QEBYTFioXFypZOzI7WVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVn/wAARCAASACADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0DecUbwRzkVEJB/F+dObKrn16HtQGpn3unW7J5jFlVAWJHPPr/n1rm73SrN7KWGOeXZcSebycEsPbv1rqbkTSRlAQQfQ4NeY+IJprjXyhEsAQ4QnKlQOrUJIV2epVNByrA9KKKTKID96qHieGKTR2keNGdR8rFQSPoaKKQPY//9k=')}
.bg-band{background-image:url('media/bg-band.jpg'),url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA4KCw0LCQ4NDA0QDw4RFiQXFhQUFiwgIRokNC43NjMuMjI6QVNGOj1OPjIySGJJTlZYXV5dOEVmbWVabFNbXVn/2wBDAQ8QEBYTFioXFypZOzI7WVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVn/wAARCAASACADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDuba1jj3cZ+YnmreKp6fJI8AaTAJzVosPWgS2Bgo61l6jHHJFJKjBii4Iz93nNX3Jx8rL+Jqm0PkRyZw5lU5z06U9A1JbcnJ57mpTyaKKQ0RP3qpeEiBsE9D/KiigTP//Z')}
@media (max-aspect-ratio:4/5){
  .bg-home{background-image:url('media/bg-home-m.jpg'),url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA4KCw0LCQ4NDA0QDw4RFiQXFhQUFiwgIRokNC43NjMuMjI6QVNGOj1OPjIySGJJTlZYXV5dOEVmbWVabFNbXVn/2wBDAQ8QEBYTFioXFypZOzI7WVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVn/wAARCAAgABIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDhhS0KMmpY4ix713o5G7ENFXPsjf3TRTsLmEs7YyOu4Nj2Ga1sII5I0URj5QC3BOTXPQ3LwvuRiCPStK11mSNJFY7tygc9sYrFuXRlteQplQHDSQbu+cUVny3TSSu7HJZiTRReXcLLsf/Z')}
  .bg-services{background-image:url('media/bg-services-m.jpg'),url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA4KCw0LCQ4NDA0QDw4RFiQXFhQUFiwgIRokNC43NjMuMjI6QVNGOj1OPjIySGJJTlZYXV5dOEVmbWVabFNbXVn/2wBDAQ8QEBYTFioXFypZOzI7WVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVn/wAARCAAgABIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDi3ff1qu60u6k3A11N3OZKxHtoqTiipsVcYDmr9rEs8lwTgYUHms9ATVwTQiZ9zbQR0HGTilcbRsrpiMoO9eRnt/jRUMepWixqPKQ4AH3jRTu+5Fj/2Q==')}
  .bg-experience{background-image:url('media/bg-experience-m.jpg'),url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA4KCw0LCQ4NDA0QDw4RFiQXFhQUFiwgIRokNC43NjMuMjI6QVNGOj1OPjIySGJJTlZYXV5dOEVmbWVabFNbXVn/2wBDAQ8QEBYTFioXFypZOzI7WVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVn/wAARCAAgABIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDgxThSCnAV1nMFFFFMRLFAz9BU5tHCg4Az0yRzVRLphxuP51eF1FMkayoG2nPX6/8A1qycpdDWyKxtWyf3bflRUkt1GZXwhxuP8RoqOafYrlj3P//Z')}
  .bg-approach{background-image:url('media/bg-approach-m.jpg'),url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA4KCw0LCQ4NDA0QDw4RFiQXFhQUFiwgIRokNC43NjMuMjI6QVNGOj1OPjIySGJJTlZYXV5dOEVmbWVabFNbXVn/2wBDAQ8QEBYTFioXFypZOzI7WVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVn/wAARCAAgABIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0Y81E6ZqX+dIzDHPFUhMr+XRSG7gBIMqfnRVXZnZE8jYHOfrWddhZt2+R1G3oDjNXWCOvcj61Q1C2gmh8pkJXGfkPNSn0KknuZTWtkGILTkg9hRVNtMsQxAWbAPfNFaWZif/Z')}
  .bg-contact{background-image:url('media/bg-contact-m.jpg'),url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA4KCw0LCQ4NDA0QDw4RFiQXFhQUFiwgIRokNC43NjMuMjI6QVNGOj1OPjIySGJJTlZYXV5dOEVmbWVabFNbXVn/2wBDAQ8QEBYTFioXFypZOzI7WVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVn/wAARCAAgABIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0XOeDUci8cfl60ucjjrUcsqxqWf7oqRkeP9k0Vjv4g2yMBBIQCQDtPNFK4zcfCjOcfSqV1eYULGVkzkP24q4kof5WOG9fWua8a2l7LpmzTrQyFj++aM/Nt9AO9XfuQ12M2TSdsjLFGTGCQpM/OO3aiueWZolEb3Gp70G1tp4yPSilZDuf/9k=')}
  .bg-band{background-image:url('media/bg-band-m.jpg'),url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA4KCw0LCQ4NDA0QDw4RFiQXFhQUFiwgIRokNC43NjMuMjI6QVNGOj1OPjIySGJJTlZYXV5dOEVmbWVabFNbXVn/2wBDAQ8QEBYTFioXFypZOzI7WVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVn/wAARCAAgABIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0Jk7dqhZKnt5kuIElT7rDIpWXNUmS1cp+XRUpdASCwyPeir5iOUfapHDAqx8L160lxdxwR73ztzjIqKz2LaoqnOBjJNMm8ssDLHnB7nIrNbmmtiH7DE3IVSDzkjJoqEzKCQJZAB29KKCbn//Z')}
}

/* home hero: text on the left over the empty sky, city on the right */
.hero.has-reel .shade{background:linear-gradient(90deg,rgba(5,28,44,.72) 0%,rgba(5,28,44,.35) 42%,rgba(5,28,44,0) 70%),linear-gradient(0deg,rgba(5,28,44,.45) 0%,rgba(5,28,44,0) 30%)}
.hero.has-reel .hero-text{grid-column:1;align-self:center}
.hero.has-reel .wrap{min-height:min(820px,100vh);align-items:center}

/* inner page openers: full photo, text left on desktop, at the top on phones */
.page-hero{background:var(--night)}
.page-hero .ph-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,28,44,.7) 0%,rgba(5,28,44,.3) 45%,rgba(5,28,44,0) 72%)}
.page-hero .wrap{min-height:min(640px,82vh);align-items:center}
.page-hero .hero-text{align-self:center;max-width:640px}
.page-hero.light{background:#EEF3F6;color:#051C2C}
.page-hero.light .ph-shade{background:linear-gradient(90deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.45) 42%,rgba(255,255,255,0) 70%)}
.page-hero.light .welcome{color:#4B5A68}
.page-hero.light h1{color:#051C2C}
.page-hero.light .lead{color:#2E4152}
.page-hero.light #lines{opacity:.45}
@media (max-aspect-ratio:4/5){
  .hero.has-reel .wrap,.page-hero .wrap{min-height:88svh;align-items:start}
  .hero.has-reel .hero-text,.page-hero .hero-text{align-self:start}
  .hero.has-reel .shade{background:linear-gradient(180deg,rgba(5,28,44,.7) 0%,rgba(5,28,44,.35) 40%,rgba(5,28,44,0) 62%)}
  .page-hero .ph-shade{background:linear-gradient(180deg,rgba(5,28,44,.72) 0%,rgba(5,28,44,.3) 40%,rgba(5,28,44,0) 62%)}
  .page-hero.light .ph-shade{background:linear-gradient(180deg,rgba(255,255,255,.8) 0%,rgba(255,255,255,.4) 40%,rgba(255,255,255,0) 62%)}
}

/* home: the "grow without extra staff" band sits on the light glass-and-sphere photo */
.quote-band.photo{position:relative;overflow:hidden;background:#F3F6F8;color:#051C2C}
.quote-band.photo::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.74);z-index:1}
.quote-band.photo .wrap{position:relative;z-index:2}
.quote-band.photo h2,.quote-band.photo .sf-end{color:#051C2C}
.quote-band.photo .sf-p{color:#33475A}

/* ---- brand type and colour spec (28.10) ----
   light backgrounds: text #102C3B · dark backgrounds: #F5F7F6 · teal only for short accents and buttons
   headings Noto Serif 500 (60 / 40) · body Noto Sans 400, 18 / 1.6 · menu and buttons Noto Sans 600, 15 · no thin weights over photos */
:root{
  --display:"Noto Serif",Georgia,"Times New Roman",serif;
  --body:"Noto Sans","Helvetica Neue",Arial,sans-serif;
  --ink:#102C3B;--ink-2:#3D5664;--night-fg:#F5F7F6;--night-mute:rgba(245,247,246,.78);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ink:#F5F7F6;--ink-2:rgba(245,247,246,.78)}}
:root[data-theme="dark"]{--ink:#F5F7F6;--ink-2:rgba(245,247,246,.78)}
body{font-size:18px;line-height:1.6}
p,li,.lead,.sub,.pl,.cd{line-height:1.6}
h1,.ct-h{font-family:var(--display);font-weight:500;font-size:clamp(38px,5vw,60px);line-height:1.1;letter-spacing:-.01em}
h2{font-family:var(--display);font-weight:500;font-size:clamp(30px,3.4vw,40px);line-height:1.2;letter-spacing:-.005em}
h3,.card h3,.case h3,.step h3,.terms h3,.go h3,.bq h3,.pr h3,.fmt h3,.role h3,.brief-res h4,.result h4{font-family:var(--display);font-weight:500}
blockquote,.sf-end,.cco{font-weight:500}
.pv,.step .n,.bq .bn{font-weight:500}
/* menu and buttons */
nav.links,nav.links a,.btn,.fab,.lang button,.burger,.link,.opt span,footer .fnav a{font-family:var(--body);font-weight:600;font-size:15px}
.lang button{font-size:14px}
.mnav .ml{font-family:var(--body);font-weight:600;font-size:clamp(22px,5.5vw,28px);line-height:1.3}
@media (min-width:1101px){.mnav .ml{font-size:28px}}
/* text on dark backgrounds and photos */
.hero,.page-hero,.end-band,.cta-band,footer,.mnav,.curtain{color:#F5F7F6}
.hero .lead,.page-hero .lead,.end-band p,.cta-band .side p,.result p{color:#F5F7F6;font-weight:400}
.hero .welcome,.page-hero .welcome{color:#F5F7F6;font-weight:500}
.end-band h2,.cta-band h2,footer b{color:#F5F7F6}
footer,footer .credit{color:rgba(245,247,246,.78)}
footer .fnav a{color:#F5F7F6}
header.top{color:#F5F7F6}
.hero .btn.primary,.end-band .btn.primary,.cta-band .btn.primary{background:var(--btn);color:#F5F7F6}
.hero .btn.primary:hover,.end-band .btn.primary:hover,.cta-band .btn.primary:hover{background:#00665F;color:#F5F7F6}
/* text on light photos */
.page-hero.light,.page-hero.light h1,.page-hero.light .welcome,.page-hero.light .lead{color:#102C3B}
.quote-band.photo,.quote-band.photo h2,.quote-band.photo .sf-end,.quote-band.photo .sf-p{color:#102C3B}
/* teal stays on short accents: labels, numbers, icons, buttons */
.label{color:var(--electric)}

/* header links spaced further apart; an odd last case spans the row */
@media (min-width:1101px){nav.links{gap:clamp(36px,3.6vw,56px)}}
.cases .case:last-child:nth-child(odd){grid-column:1/-1;max-width:calc(50% - 12px)}
@media (max-width:680px){.cases .case:last-child:nth-child(odd){max-width:none}}

/* home: compact section links above the closing band */
.mini-go{padding-block:clamp(40px,5vw,64px) 0}
.gos.mini{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;border-top:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft)}
.gos.mini .go{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:14px;row-gap:2px;align-items:center;padding:18px 20px;border-top:0}
.gos.mini .go + .go{border-left:1px solid var(--rule-soft)}
.gos.mini .go::after{top:auto;bottom:-1px;height:2px}
.gos.mini .gn{grid-row:1/3;font-size:13px;font-weight:600;color:var(--electric);align-self:start;padding-top:3px}
.gos.mini h3{font-size:19px;line-height:1.25;margin:0}
.gos.mini p{grid-column:2;font-size:14px;line-height:1.45;color:var(--ink-2)}
.gos.mini .garr{grid-column:3;grid-row:1/3;font-size:18px}
@media (max-width:860px){.gos.mini{grid-template-columns:1fr}.gos.mini .go + .go{border-left:0;border-top:1px solid var(--rule-soft)}}

/* contacts page */
.clist{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px;max-width:1000px}
.ci{border-top:1px solid var(--rule-soft);padding:22px 0 26px;min-width:0}
.ci .cl{display:block;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--electric);margin-bottom:8px}
.ci .cv{display:block;margin:0;font-family:var(--display);font-weight:500;font-size:clamp(20px,2vw,26px);line-height:1.3;color:var(--ink);text-decoration:none;overflow-wrap:anywhere;user-select:text}
.ci a.cv:hover{color:var(--electric)}
.ci .cv.soon{font-family:var(--body);font-weight:400;font-size:16px;color:var(--ink-2);font-style:italic}
.cts-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;max-width:1000px;margin-top:48px;padding:28px clamp(20px,3vw,36px);background:var(--band);border-left:3px solid var(--electric)}
.cts-cta p{margin:0;max-width:52ch}
.cts-cta .btn.primary{background:var(--btn);color:#F5F7F6}
.cts-cta .btn.primary:hover{background:#00665F}
@media (max-width:680px){.clist{grid-template-columns:1fr}}
.gos.mini{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.gos.mini{grid-template-columns:repeat(2,1fr)}.gos.mini .go:nth-child(3){border-left:0}.gos.mini .go:nth-child(n+3){border-top:1px solid var(--rule-soft)}}
@media (max-width:680px){.gos.mini{grid-template-columns:1fr}.gos.mini .go + .go{border-left:0;border-top:1px solid var(--rule-soft)}}

/* experience: each case sits on its own photo */
.case.photo{position:relative;isolation:isolate;overflow:hidden;border-top:0;padding:clamp(28px,3vw,40px);min-height:400px;align-content:end;color:#F5F7F6;background:#0B2232}
.case.photo::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--img) center/cover no-repeat;transform:scale(1.02);transition:transform 1.2s var(--ease)}
.case.photo:hover::before{transform:scale(1.07)}
.case.photo .case-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,28,44,.25) 0%,rgba(5,28,44,.62) 38%,rgba(5,28,44,.92) 100%)}
.case.photo::after{top:auto;bottom:0;height:3px;z-index:1}
.case.photo .tag{color:#7FE0D8}
.case.photo h3{color:#F5F7F6}
.case.photo p{color:rgba(245,247,246,.9)}
.case.photo .res{color:#F5F7F6;border-left-color:#7FE0D8}
.cases .case.photo:last-child:nth-child(odd){max-width:none}
.cases{gap:20px}

/* faster page transitions */
.curtain.cover{animation:cIn .26s cubic-bezier(.3,0,.2,1) forwards}
.curtain.cover span{transition-delay:.04s;transition-duration:.18s}
.curtain.cover::after{animation:bar .26s var(--ease) forwards}
.curtain.leave{animation:cOut .36s cubic-bezier(.3,0,.2,1) forwards}

/* fastest transitions: quick sweep out, the next page lifts its curtain at once */
.curtain.cover{animation-duration:.14s}
.curtain.cover span{transition-delay:0s;transition-duration:.1s}
.curtain.cover::after{animation-duration:.14s}
.curtain.leave{animation-duration:.24s}

/* home slogan: main line large, the teal line a calmer second level */
.hero.has-reel h1{max-width:20ch}
.hero.has-reel .hero-text{max-width:720px}
.hero.has-reel h1 .w:nth-child(2){font-size:.6em;line-height:1.25;margin-top:.45em}

/* logo: globe turns slowly around its own centre */
.brand .logo{position:relative;display:block}
.brand .logo .globe{position:absolute;left:0;top:0;transform-origin:81.2% 52.88%;animation:wwt-globe 30s linear infinite;will-change:transform}
@keyframes wwt-globe{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.brand .logo .globe{animation:none}}
/* logo: larger sizes */
.brand img{height:132px}header.top.solid .brand img{height:88px}
@media (max-width:980px){.brand img{height:116px}header.top.solid .brand img{height:84px}}
@media (max-width:680px){.brand img,header.top.solid .brand img{height:76px}}
@media (min-width:1101px){.brand img{height:124px}header.top.solid .brand img{height:88px}}
.sf-end{font-weight:700}
/* quote band: let the Expo sphere show through, keep a soft light area behind the text */
.quote-band.photo::before{background:radial-gradient(ellipse 50% 64% at 47% 50%,rgba(255,255,255,.76) 0%,rgba(255,255,255,.52) 58%,rgba(255,255,255,.06) 100%)}
.quote-band.photo .bg-band{filter:saturate(1.35) contrast(1.12)}
@media (max-width:680px){.quote-band.photo::before{background:linear-gradient(180deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.62) 60%,rgba(255,255,255,.2) 100%)}}
/* globe badge in the quote band turns like the header globe */
.avatar img{animation:wwt-globe 30s linear infinite}
@media (prefers-reduced-motion:reduce){.avatar img{animation:none}}
/* hero title: first sentence on exactly two lines */
.hero.has-reel h1{max-width:none}
h1 .w .ln{display:block;white-space:nowrap}
.hero.has-reel h1 .w:nth-child(1){font-size:min(1em,calc((100vw - 40px) / 11.5))}
h1 .w:nth-child(n+2) .ln{white-space:normal}
