:root{--night:#050d1f;--night2:#0b1a36;--navy:#0b2a5b;--teal:#19d3c5;--teal-d:#05766f;--amber:#ffc454;--paper:#f6f4ee;--paper2:#ebe8df;--ink:#0a1428;--muted:#566177;--line:rgba(10,20,40,.14);--line-d:rgba(255,255,255,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;font:400 17px/1.6 'Instrument Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);overflow-x:clip}
h1,h2,h3{margin:0;font-weight:500;letter-spacing:-.035em;line-height:1.02}
h1{font-size:clamp(3rem,8.2vw,7.4rem)}h2{font-size:clamp(2.3rem,5.4vw,4.8rem)}h3{font-size:clamp(1.3rem,2vw,1.7rem);letter-spacing:-.02em;line-height:1.15}
i.s{font-style:normal;font-weight:600;color:var(--teal-d)}.dark i.s{color:var(--teal)}
p{margin:0 0 1em}a{color:inherit}img{max-width:100%;display:block}
.wrap{width:min(1320px,100% - 56px);margin-inline:auto}
.kick{font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-d);display:flex;align-items:center;gap:10px;margin-bottom:22px}
.kick::before{content:"";width:26px;height:1px;background:currentColor}
.dark .kick{color:var(--teal)}
.dark{background:var(--night);color:#c6d1e2}.dark h1,.dark h2,.dark h3{color:#fff}
section{padding:clamp(72px,10vw,150px) 0}
/* nav */
.top{position:fixed;top:14px;left:0;right:0;z-index:50}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border-radius:14px;padding:9px 10px 9px 16px;box-shadow:0 8px 34px rgba(5,13,31,.16)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--night)}
.brand img{height:38px;width:auto}.brand b{display:block;font-weight:600;font-size:1.03rem;letter-spacing:-.01em;line-height:1.1}.brand small{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-d);font-weight:600}
nav ul{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
nav a{text-decoration:none;font-size:.95rem;font-weight:500;color:var(--ink)}nav a:hover,nav a[aria-current]{color:var(--teal-d)}
.menu-btn{display:none;background:var(--paper);border:0;border-radius:9px;padding:10px 15px;font:600 .9rem 'Instrument Sans',sans-serif;color:var(--ink);cursor:pointer}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:10px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;font:600 1rem 'Instrument Sans',sans-serif;transition:background .2s,color .2s,transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn.pri{background:var(--teal);color:var(--night)}.btn.pri:hover{background:#fff}
.btn.ink{background:var(--night);color:#fff}.btn.ink:hover{background:var(--teal-d)}
.btn.line{border-color:var(--line-d);color:#fff}.btn.line:hover{border-color:#fff}
.btn.line2{border-color:var(--ink);color:var(--ink)}.btn.line2:hover{background:var(--ink);color:#fff}
nav .btn{padding:10px 18px;font-size:.92rem;background:var(--night);color:#fff}nav .btn:hover{color:#fff;background:var(--teal-d)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
/* hero */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:130px 0 0;overflow:hidden}
.hero .wrap{position:relative;z-index:2}
#globe{position:absolute;z-index:1;right:max(-14vw,-220px);top:50%;transform:translateY(-52%);width:min(70vw,960px);aspect-ratio:1}
.hero h1{max-width:9.5em}.hero h1 i.s{color:var(--teal)}
.hero .sub{font-size:clamp(1.05rem,1.5vw,1.28rem);max-width:540px;margin-top:28px;color:#d4dcea}
.strip{position:relative;z-index:2;border-top:1px solid var(--line-d);margin-top:clamp(40px,7vh,84px);background:rgba(5,13,31,.72)}
.strip ul{display:grid;grid-template-columns:repeat(6,1fr);list-style:none;margin:0;padding:0}
.strip li{padding:20px 0;font-size:.92rem;color:#fff;font-weight:500}
.strip span{display:block;color:var(--teal);font-size:.74rem;margin-bottom:3px;font-weight:600}
/* marquee */
.mq{overflow:hidden;background:var(--teal);color:var(--night);padding:17px 0;white-space:nowrap}
.mq div{display:inline-block;animation:mq 46s linear infinite;font-size:1.1rem;font-weight:500}
.mq span{margin:0 22px}.mq span::after{content:"\2726";margin-left:44px;font-size:.8em}
@keyframes mq{to{transform:translateX(-50%)}}
/* statement */
.state{font-size:clamp(1.9rem,4.3vw,3.9rem);line-height:1.1;letter-spacing:-.03em;font-weight:500;max-width:21em}
.state i.s{color:var(--teal-d)}
/* capabilities */
.caps{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(30px,5vw,80px)}
.caps .side{position:sticky;top:120px;align-self:start}
.cgroup{border-top:1px solid var(--line);padding:30px 0 20px}
.cgroup>h3{color:var(--teal-d);font-size:.84rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-bottom:12px}
.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:18px 0;transition:padding .25s}
.row+.row{border-top:1px solid var(--line)}
.row:hover{padding-left:12px}
.row h4{margin:0;font-size:clamp(1.15rem,1.8vw,1.5rem);font-weight:500;letter-spacing:-.02em;line-height:1.2}
.row p{margin:0;color:var(--muted);font-size:.98rem}
/* brands */
.brandgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:56px}
.bcard{--c:var(--teal);position:relative;display:flex;flex-direction:column;min-height:480px;padding:30px;border-radius:18px;background:var(--night2);text-decoration:none;color:#c6d1e2;overflow:hidden;transition:transform .3s}
.bcard:hover{transform:translateY(-6px)}
.bcard::before{content:"";position:absolute;right:-80px;top:-80px;width:210px;height:210px;border-radius:50%;border:24px solid var(--c);box-shadow:0 0 0 24px rgba(255,255,255,.05)}
.bcard small{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--c)}
.bcard h3{color:#fff;font-size:clamp(2rem,3.1vw,2.9rem);letter-spacing:-.035em;margin:auto 0 14px;padding-top:150px}
.bcard .go{margin-top:14px;font-weight:600;color:#fff}.bcard .go::after{content:" \2197"}
/* bento */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;margin-top:56px}
.bt{background:#fff;border-radius:18px;padding:30px;grid-column:span 4;min-height:250px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--line)}
.bt.w{grid-column:span 8}.bt.n{background:var(--night);color:#c6d1e2;border:0}.bt.n h3{color:#fff}.bt.t{background:var(--teal);border:0}.bt.t p{color:var(--night)}
.bt p{margin:10px 0 0;color:var(--muted)}.bt.n p{color:#c6d1e2}
/* global */
.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:56px;border-top:1px solid var(--line-d)}
.steps div{padding:26px 26px 0 0}.steps b{color:var(--teal);font-size:.8rem;font-weight:600;display:block;margin-bottom:34px}
.steps p{margin:10px 0 0;font-size:.98rem}
.light .steps{border-color:var(--line)}.light .steps b{color:var(--teal-d)}.light .steps p{color:var(--muted)}
/* page head */
.phead{padding:clamp(150px,20vw,230px) 0 clamp(60px,8vw,110px);position:relative;overflow:hidden}
.phead h1{font-size:clamp(2.8rem,7vw,6.4rem);max-width:12em;position:relative;z-index:1}.phead h1 i.s{color:var(--teal)}
.phead .sub{font-size:1.2rem;max-width:620px;margin:26px 0 0;position:relative;z-index:1}
.phead::after{content:"";position:absolute;right:-180px;bottom:-280px;width:640px;height:640px;border-radius:50%;border:60px solid rgba(25,211,197,.3);box-shadow:0 0 0 60px rgba(25,211,197,.1),0 0 0 120px rgba(25,211,197,.05)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:start}
.lead{font-size:clamp(1.1rem,1.6vw,1.3rem)}
.ft{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ft .bt{grid-column:auto;min-height:340px}
.ft small{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--teal-d);margin-bottom:auto}
.note{font-size:.92rem;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:40px;max-width:820px}
.brow{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,6vw,80px);padding:clamp(40px,6vw,76px) 0;border-top:1px solid var(--line)}
.brow h2{font-size:clamp(2.4rem,5.4vw,4.6rem)}.brow small{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--teal-d);display:block;margin-bottom:14px}
.brow ul{padding:0;list-style:none;margin:0 0 26px}.brow li{padding:11px 0;border-bottom:1px solid var(--line)}
/* cta */
.cta h2{font-size:clamp(2.8rem,8vw,7.2rem)}.cta h2 i.s{color:var(--teal)}
/* contact */
.clist{list-style:none;padding:0;margin:0}.clist li{padding:20px 0;border-bottom:1px solid var(--line)}.clist small{display:block;color:var(--muted);font-size:.84rem;margin-bottom:3px}.clist a,.clist span{font-size:clamp(1.15rem,1.9vw,1.5rem);letter-spacing:-.015em;text-decoration:none;font-weight:500}.clist a:hover{color:var(--teal-d)}
.fcard{background:#fff;border-radius:18px;padding:clamp(24px,3vw,40px);border:1px solid var(--line)}
form label{display:block;font-weight:600;font-size:.92rem;margin-bottom:16px}
input,select,textarea{display:block;width:100%;margin-top:6px;padding:13px 14px;border:1px solid #b6bdc9;border-radius:9px;font:400 1rem 'Instrument Sans',sans-serif;color:var(--ink);background:#fff}
input:focus,select:focus,textarea:focus,a:focus-visible,button:focus-visible{outline:2px solid var(--teal-d);outline-offset:2px}
.legal{max-width:780px}.legal h2{font-size:1.5rem;margin:1.8em 0 .5em;letter-spacing:-.02em}.legal a{color:var(--teal-d)}
/* footer */
footer{background:var(--night);color:#aab6c9;padding:80px 0 26px;font-size:.96rem;overflow:hidden}
footer a{text-decoration:none;color:#dfe6f1}footer a:hover{color:var(--teal)}
footer h3{color:#fff;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-bottom:16px}footer ul{list-style:none;padding:0;margin:0}footer li{margin-bottom:9px}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:40px}
.flogo{background:#fff;border-radius:12px;padding:10px;width:140px;margin-bottom:18px}
.huge{font-size:clamp(3rem,14.3vw,15.5rem);font-weight:500;letter-spacing:-.055em;line-height:.9;color:#fff;margin-top:70px;white-space:nowrap}
.copy{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px solid var(--line-d);margin-top:30px;padding-top:20px;font-size:.85rem}
.wa{position:fixed;right:18px;bottom:18px;z-index:40;background:#128c4b;color:#fff;border-radius:30px;padding:11px 18px;font-weight:600;text-decoration:none;font-size:.9rem;box-shadow:0 6px 18px rgba(0,0,0,.3)}
/* reveal */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}.mq div{animation:none}html{scroll-behavior:auto}}
@media(max-width:1020px){.menu-btn{display:block}nav ul{display:none;position:absolute;left:28px;right:28px;top:72px;background:#fff;border-radius:14px;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 20px;box-shadow:0 14px 34px rgba(5,13,31,.2)}nav ul.open{display:flex}nav li{padding:11px 0}nav .btn{display:flex;justify-content:center}
.caps,.split,.brow{grid-template-columns:1fr}.caps .side{position:static}.brandgrid,.ft{grid-template-columns:1fr}.bcard{min-height:380px}.bcard h3{padding-top:110px}.ft .bt{min-height:240px}
.steps{grid-template-columns:1fr 1fr}.strip ul{grid-template-columns:repeat(3,1fr)}.fgrid{grid-template-columns:1fr 1fr}
.hero{justify-content:flex-start;padding-top:130px}#globe{order:2;position:relative;right:auto;top:auto;transform:none;width:min(112vw,680px);margin:10px 0 -40px;left:50%;translate:-50%}.hero .wrap{order:1}.hero .strip{order:3}.hero .strip .wrap{order:0}.bt,.bt.w{grid-column:span 12;min-height:200px}}
@media(max-width:600px){.wrap{width:calc(100% - 32px)}nav ul{left:16px;right:16px}.row{grid-template-columns:1fr;gap:6px}.steps{grid-template-columns:1fr}.steps b{margin-bottom:12px}.strip ul{grid-template-columns:1fr 1fr}.fgrid{grid-template-columns:1fr}.actions .btn{width:100%;justify-content:center}.strip li{padding:14px 0}}

.mbar{display:none}
@media(hover:none){.row:hover{padding-left:0}.bcard:hover,.btn:hover{transform:none}}
@media(max-width:1020px){.menu-btn{min-height:44px;min-width:72px}nav ul{max-height:calc(100svh - 100px);overflow:auto}.hero{min-height:0}}
@media(max-width:600px){
body{font-size:16px;padding-bottom:calc(58px + env(safe-area-inset-bottom))}
.top{top:8px}nav ul{top:64px}.bar{padding:6px 7px 6px 12px}.brand img{height:34px;width:auto}
section{padding:56px 0}h2{font-size:clamp(2rem,9vw,2.6rem)}.kick{margin-bottom:14px;font-size:.74rem}
.hero{padding-top:100px}.hero h1{font-size:clamp(2.6rem,12.5vw,3.5rem)}.hero .sub{margin-top:18px;font-size:1.05rem}.hero .actions{margin-top:24px}
#globe{width:92vw;margin:18px 0 -6px}.strip{display:none}
.mq{padding:12px 0}.mq div{font-size:.95rem}
.state{font-size:1.65rem;line-height:1.18}
.phead{padding:104px 0 48px}.phead h1{font-size:clamp(2.3rem,11vw,3.1rem)}.phead .sub{font-size:1.05rem;margin-top:16px}.phead::after{width:300px;height:300px;right:-150px;bottom:-170px;border-width:30px;box-shadow:0 0 0 30px rgba(25,211,197,.1)}
.brandgrid{display:flex;gap:12px;margin:32px -16px 0;padding:0 16px 6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.brandgrid::-webkit-scrollbar{display:none}
.bcard{flex:0 0 84%;scroll-snap-align:center;min-height:340px;padding:22px}.bcard::before{width:120px;height:120px;right:-46px;top:-46px;border-width:16px;box-shadow:0 0 0 16px rgba(255,255,255,.05)}.bcard h3{padding-top:90px;font-size:2rem}
.homecaps .row p{display:none}.homecaps .row{padding:13px 0}.homecaps .cgroup{padding:18px 0 8px}.caps{gap:22px}.caps .actions{margin-top:18px}
.row h4{font-size:1.1rem}.cgroup{padding:22px 0 10px}
.bento,.ft{margin-top:30px;gap:10px}.bt,.bt.w,.ft .bt{min-height:0;padding:22px}.ft small{margin-bottom:26px}
.steps{margin-top:30px}.steps div{padding:18px 0;border-bottom:1px solid var(--line-d)}.light .steps div{border-color:var(--line)}.steps div:last-child{border:0}.steps b{margin-bottom:6px}
.cta h2{font-size:clamp(2.3rem,11vw,3.1rem)}
.brow{padding:34px 0;gap:14px}.brow h2{font-size:2.3rem}
.clist a,.clist span{font-size:1.1rem;overflow-wrap:anywhere}.clist a{display:inline-block;padding:6px 0}.fcard{padding:20px}
.legal h2{font-size:1.25rem}
footer{padding:44px 0 20px}.fgrid{grid-template-columns:1fr 1fr;gap:26px 16px}.fgrid>div:first-child,.fgrid>div:last-child{grid-column:1/-1}.flogo{width:112px}
footer li{margin:0}footer li a{display:block;padding:9px 0}footer p a{display:inline-block;padding:7px 0;overflow-wrap:anywhere}.copy a{display:inline-block;padding:8px 0}.huge{margin-top:30px}
.wa{display:none}
.mbar{display:grid;grid-template-columns:1fr 1.25fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;box-shadow:0 -4px 18px rgba(5,13,31,.16);padding-bottom:env(safe-area-inset-bottom)}
.mbar a{display:flex;align-items:center;justify-content:center;min-height:58px;text-decoration:none;font-weight:600;font-size:.95rem;color:var(--ink)}.mbar a.w{background:#128c4b;color:#fff}
.js .rv{transform:translateY(14px);transition-duration:.45s}
}
@media(max-width:340px){.brand small{display:none}.bcard{flex-basis:90%}}

.state{font-weight:600;font-size:clamp(2.6rem,6.6vw,6rem);line-height:1.02;letter-spacing:-.04em;margin:0}
.state2{font-size:clamp(1.15rem,1.9vw,1.6rem);line-height:1.4;max-width:760px;margin:26px 0 0;color:var(--muted)}
.blogo{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;height:84px;min-width:84px;padding:12px;background:#fff;border-radius:16px;position:relative;z-index:1;margin-bottom:auto}
.blogo img{height:60px;width:auto;max-width:150px;object-fit:contain}
.bcard small{margin-top:70px}.bcard h3{margin:8px 0 12px;padding-top:0}
.bcard::before{width:170px;height:170px;right:-70px;top:-70px;border-width:18px;opacity:.5;box-shadow:none}
.brlogo{height:64px;width:auto;max-width:170px;object-fit:contain;margin-bottom:20px;background:#fff;border-radius:12px}
.brow small{margin-bottom:8px}
@media(max-width:600px){.state{font-size:2.5rem}.state2{margin-top:16px}.bcard{min-height:320px}.blogo{height:72px;min-width:72px}.blogo img{height:50px}.bcard small{margin-top:44px}.bcard h3{font-size:1.8rem;padding-top:0}.bcard::before{width:110px;height:110px;right:-44px;top:-44px;border-width:13px}.brlogo{height:54px}}

details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;padding:18px 0;font-weight:500;font-size:clamp(1.02rem,1.5vw,1.2rem);color:var(--ink);list-style-position:outside}
details p{color:var(--muted);margin:0 0 18px}

.gmap{display:block;width:100%;height:320px;border:0;border-radius:14px;margin-top:24px;background:var(--paper2)}
