:root{--bg:#eef1f7;--bg-2:#dee4ef;--paper:#f7f9fc;--ink:#0b1a3d;--ink-2:#1e2b53;--muted:#5c6786;--line:#0b1a3d12;--line-2:#0b1a3d26;--accent:oklch(0.55 0.19 25);--accent-soft:oklch(0.93 0.05 25);--warn:oklch(0.62 0.16 35);--serif:"Instrument Serif","Times New Roman",serif;--sans:"IBM Plex Sans",-apple-system,system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.container{margin:0 auto;max-width:1240px;padding:0 32px}.eyebrow{align-items:center;color:var(--muted);display:inline-flex;font-family:var(--mono);font-size:11px;gap:10px;letter-spacing:.14em;text-transform:uppercase}.eyebrow:before{background:var(--ink);content:"";display:inline-block;height:1px;opacity:.35;width:22px}.display{font-size:clamp(48px,7.2vw,116px);letter-spacing:-.035em;line-height:.98;margin:0}.display,.display em{font-family:var(--sans);font-weight:600}.display em{color:var(--accent);font-style:normal}.h2{font-size:clamp(36px,4.4vw,64px);letter-spacing:-.035em;line-height:1.02;margin:0}.h2,.h2 em{font-family:var(--sans);font-weight:600}.h2 em{color:var(--accent);font-style:normal}.lede{color:var(--ink-2);font-size:19px;line-height:1.5;max-width:56ch}.mono{font-family:var(--mono)}.section{border-top:1px solid var(--line);padding:120px 0;position:relative}.section--paper{background:var(--paper)}.section--ink{background:var(--ink);border-top:0;color:var(--bg)}.section--ink .eyebrow{color:#ffffff99}.section--ink .eyebrow:before{background:#fff;opacity:.35}.section--ink .lede{color:#ffffffcc}.btn{align-items:center;border:1px solid transparent;border-radius:999px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:10px;height:48px;padding:0 22px;transition:transform .15s ease,background .2s ease,color .2s ease}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--ink);color:var(--bg)}.btn--primary:hover{background:var(--accent);color:#fff}.btn--ghost{background:transparent;border-color:var(--line-2);color:var(--ink)}.btn--ghost:hover{background:var(--ink);color:var(--bg)}.btn .arrow{transition:transform .2s ease}.btn:hover .arrow{transform:translateX(3px)}.tag{align-items:center;background:#ffffff80;border:1px solid var(--line-2);border-radius:999px;color:var(--ink-2);display:inline-flex;font-family:var(--mono);font-size:11px;gap:6px;height:26px;letter-spacing:.04em;padding:0 10px}.tag .dot{background:oklch(.65 .16 145);border-radius:50%;height:6px;width:6px}.nav{backdrop-filter:blur(14px);background:color-mix(in oklab,var(--bg) 78%,transparent);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.nav__row{height:68px;justify-content:space-between}.brand,.nav__row{align-items:center;display:flex}.brand{font-family:var(--sans);font-size:18px;font-weight:600;gap:10px;letter-spacing:-.025em}.brand__mark{background:radial-gradient(circle at 30% 30%,#fff 0 2px,transparent 3px),conic-gradient(from 210deg,var(--accent),var(--ink) 60%,var(--accent));border-radius:50%;box-shadow:inset 0 0 0 1px var(--ink);height:22px;width:22px}.nav__links{color:var(--ink-2);display:flex;font-size:14px;gap:28px}.nav__links a:hover{color:var(--accent)}.nav__cta{align-items:center;display:flex;gap:10px}@media (max-width:720px){.nav__links{display:none}}.hero{overflow:hidden;padding:90px 0 120px;position:relative}.hero__top{align-items:flex-start;gap:24px;justify-content:space-between;margin-bottom:56px}.hero__badges,.hero__top{display:flex;flex-wrap:wrap}.hero__badges{gap:8px}.hero__title{max-width:16ch}.hero__sub{align-items:end;display:grid;gap:48px;grid-template-columns:1fr 1fr;margin-top:36px}@media (max-width:820px){.hero__sub{grid-template-columns:1fr}}.hero__actions{display:flex;flex-wrap:wrap;gap:10px}.services__head{align-items:end;display:grid;gap:64px;grid-template-columns:1.1fr 1fr;margin-bottom:56px}@media (max-width:820px){.services__head{grid-template-columns:1fr}}.services__grid{background:var(--line-2);border:1px solid var(--line-2);border-radius:14px;display:grid;gap:1px;grid-template-columns:repeat(2,1fr);overflow:hidden}@media (max-width:720px){.services__grid{grid-template-columns:1fr}}.service{background:var(--paper);display:flex;flex-direction:column;gap:18px;min-height:340px;padding:36px 32px 40px;position:relative;transition:background .2s ease}.service:hover{background:#fff}.service__num{color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.12em}.service__title{font-family:var(--sans);font-size:26px;font-weight:600;letter-spacing:-.025em;line-height:1.1;margin:0}.service__desc{color:var(--ink-2);flex:1;font-size:15px}.service__stack{border-top:1px dashed var(--line-2);display:flex;flex-wrap:wrap;gap:6px;padding-top:14px}.service__stack span{background:var(--bg-2);border-radius:4px;color:var(--ink-2);font-family:var(--mono);font-size:11px;padding:4px 8px}.mapdemo{align-items:stretch;display:grid;gap:48px;grid-template-columns:1.05fr 1fr}@media (max-width:980px){.mapdemo{grid-template-columns:1fr}}.mapdemo__panel{display:flex;flex-direction:column;gap:22px}.mapdemo__searchbox{align-items:center;background:var(--paper);border:1px solid var(--line-2);border-radius:12px;display:flex;gap:8px;padding:8px}.mapdemo__searchbox svg{color:var(--muted);flex-shrink:0;margin-left:8px}.mapdemo__searchbox input{background:transparent;border:0;color:var(--ink);flex:1;font-family:var(--sans);font-size:16px;outline:none;padding:12px}.mapdemo__searchbox button{background:var(--ink);border:0;border-radius:8px;color:var(--bg);font-size:13px;font-weight:500;height:40px;padding:0 18px}.mapdemo__searchbox button:disabled{cursor:wait;opacity:.6}.mapdemo__results{background:var(--paper);border:1px solid var(--line-2);border-radius:12px;min-height:80px;overflow:hidden}.mapdemo__results__row{border-bottom:1px solid var(--line);cursor:pointer;display:grid;gap:12px;grid-template-columns:auto 1fr auto;padding:14px 16px;transition:background .15s ease}.mapdemo__results__row:last-child{border-bottom:0}.mapdemo__results__row:hover{background:var(--bg-2)}.mapdemo__results__row.active{background:var(--accent-soft)}.mapdemo__results__row .idx{align-self:center;color:var(--muted);font-family:var(--mono);font-size:11px}.mapdemo__results__row .name{color:var(--ink);font-size:14px}.mapdemo__results__row .name small{color:var(--muted);display:block;font-size:12px;margin-top:2px}.mapdemo__results__row .coords{align-self:center;color:var(--muted);font-family:var(--mono);font-size:11px;text-align:right;white-space:nowrap}.mapdemo__results__empty{color:var(--muted);font-size:13px;padding:18px 16px;text-align:center}.mapdemo__map{background:#1a1d28;border:1px solid var(--line-2);border-radius:14px;min-height:520px;overflow:hidden;position:relative}.mapdemo__map .maplibregl-ctrl-attrib{background:#ffffffd0}.mapdemo__map__canvas{inset:0;position:absolute}.mapdemo__map__overlay{display:flex;gap:6px;inset:12px 12px auto auto;position:absolute;z-index:5}.mapdemo__map__chip{backdrop-filter:blur(6px);background:#ffffffe6;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-family:var(--mono);font-size:11px;padding:6px 10px}.mapdemo__map__chip .live{animation:pulse 1.6s ease-in-out infinite;background:oklch(.65 .16 145);border-radius:50%;display:inline-block;height:6px;margin-right:6px;width:6px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.mapdemo__map__loading{align-items:center;background:var(--ink);color:var(--bg);display:flex;font-family:var(--mono);font-size:12px;inset:0;justify-content:center;letter-spacing:.1em;pointer-events:none;position:absolute;transition:opacity .4s ease;z-index:3}.mapdemo__map__loading.hidden{opacity:0}.mapdemo__meta{color:var(--muted);display:flex;flex-wrap:wrap;font-family:var(--mono);font-size:11px;gap:20px;letter-spacing:.04em}.mapdemo__meta strong{color:var(--ink);font-weight:500}.mapdemo__presets{display:flex;flex-wrap:wrap;gap:8px}.mapdemo__marker{align-items:center;background:#fff;border:2px solid var(--ink);border-radius:50%;box-shadow:0 4px 12px rgba(11,26,61,.3);color:var(--ink);cursor:pointer;display:flex;font-family:var(--mono);font-size:12px;font-weight:600;height:28px;justify-content:center;width:28px}.mapdemo__marker--active{background:var(--accent);border-color:var(--accent);color:#fff}.cdn{align-items:center;display:grid;gap:80px;grid-template-columns:1fr 1.15fr}@media (max-width:980px){.cdn{gap:56px;grid-template-columns:1fr}}.cdn__copy{display:flex;flex-direction:column;gap:28px}.cdn__title{margin-top:10px}.cdn__lede{margin:0;max-width:46ch}.cdn__feats{border-top:1px solid var(--line);display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.cdn__feats li{border-bottom:1px solid var(--line);column-gap:16px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;padding:18px 0;row-gap:2px}.cdn__feats__dot{border-radius:50%;grid-row:1/3;height:12px;margin-top:7px;width:12px}.cdn__feats li strong{color:var(--ink);font-family:var(--sans);font-size:16px;font-weight:600;letter-spacing:-.01em}.cdn__feats li span:last-child{color:var(--ink-2);font-size:14px;line-height:1.5}.cdn__cta{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.cdn__cta__note{color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.08em}.cdn__gallery{aspect-ratio:1/1;margin:0 auto;max-width:600px;position:relative;width:100%}.cdn__source-tag{align-items:center;background:#fff;border:1px solid var(--line-2);border-radius:999px;color:var(--ink);display:inline-flex;font-family:var(--mono);font-size:10.5px;gap:8px;left:0;letter-spacing:.12em;padding:6px 12px;position:absolute;text-transform:uppercase;top:-14px;z-index:5}.cdn__source-tag__dot{background:oklch(.65 .16 145);border-radius:50%;box-shadow:0 0 0 3px oklch(.65 .16 145/.2);height:6px;width:6px}.cdn__photo{background:var(--paper);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 24px 50px -28px rgba(11,26,61,.32),0 6px 14px -10px rgba(11,26,61,.18);display:flex;flex-direction:column;gap:10px;padding:10px 10px 12px;position:absolute;transition:transform .25s ease,box-shadow .25s ease;z-index:2}.cdn__photo:hover{box-shadow:0 30px 60px -24px rgba(11,26,61,.4);transform:translate(-4px,-6px) rotate(0deg)!important;z-index:10}.cdn__photo__img{background:var(--ink);border-radius:8px;display:block;object-fit:cover;overflow:hidden;position:relative;width:100%}.cdn__photo__img--landscape{aspect-ratio:16/10}.cdn__photo__img--portrait{aspect-ratio:3/4}.cdn__photo__img--square{aspect-ratio:1}.cdn__photo__img--thumb{aspect-ratio:4/3}.cdn__photo--hero{left:0;top:0;transform:rotate(-1.5deg);width:62%;z-index:4}.cdn__photo--portrait{right:0;top:8%;transform:rotate(3deg);width:30%;z-index:3}.cdn__photo--square{bottom:12%;left:8%;transform:rotate(2.5deg);width:32%;z-index:5}.cdn__photo--thumb{bottom:4%;right:10%;transform:rotate(-3.5deg);width:26%;z-index:6}.cdn__photo__meta{align-items:baseline;display:grid;font-family:var(--mono);gap:10px;grid-template-columns:auto 1fr auto;padding:0 4px 2px}.cdn__photo__fmt{color:var(--accent);font-size:10px;font-weight:600;letter-spacing:.1em}.cdn__photo__dim{color:var(--muted);font-size:10px;letter-spacing:.06em}.cdn__photo__w{color:var(--ink);font-family:var(--serif);font-size:16px;letter-spacing:-.01em;line-height:1}.cdn__savings{background:var(--ink);border-radius:14px;bottom:26%;box-shadow:0 18px 40px -18px rgba(11,26,61,.55);color:#fff;display:flex;flex-direction:column;gap:2px;padding:16px 18px;position:absolute;right:-8px;transform:rotate(-4deg);z-index:9}.cdn__savings__big{font-family:var(--sans);font-size:38px;font-weight:600;letter-spacing:-.045em;line-height:.9}.cdn__savings__big em{color:oklch(.78 .16 80);font-size:.5em;font-style:normal;margin-left:1px;vertical-align:.5em}.cdn__savings__lbl{color:#ffffff99;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;line-height:1.3;text-transform:uppercase}@media (max-width:980px){.cdn__gallery{max-width:500px}}.sov__head{margin:0 0 64px;max-width:720px}.sov__grid{background:#ffffff1a;border:1px solid #ffffff1a;border-radius:14px;display:grid;gap:1px;grid-template-columns:repeat(3,1fr);overflow:hidden}@media (max-width:820px){.sov__grid{grid-template-columns:1fr}}.sov__cell{background:var(--ink);display:flex;flex-direction:column;gap:14px;min-height:240px;padding:36px 28px}.sov__cell h3{color:#fff;font-family:var(--sans);font-size:24px;font-weight:600;letter-spacing:-.025em;line-height:1.1;margin:0}.sov__cell p{color:#ffffffaa;font-size:14px;line-height:1.55;margin:0}.sov__cell .num{color:#ffffff66;font-family:var(--mono);font-size:11px;letter-spacing:.14em}.sov__cell mark{background:transparent;color:oklch(.78 .16 80)}.sov__steps{margin-top:96px}.sov__steps__head{border-bottom:1px solid #ffffff1a;display:flex;flex-direction:column;gap:16px;margin-bottom:32px;padding-bottom:28px}.sov__steps__title{color:#fff;font-family:var(--sans);font-size:clamp(28px,3.2vw,42px);font-weight:600;letter-spacing:-.03em;line-height:1.05;margin:0;max-width:28ch}.sov__steps__grid{display:grid;gap:0;grid-template-columns:repeat(3,1fr)}@media (max-width:820px){.sov__steps__grid{grid-template-columns:1fr}}.sov__step{border-right:1px solid #ffffff1a;display:flex;flex-direction:column;gap:14px;padding:28px 28px 28px 0;position:relative}.sov__step+.sov__step{padding-left:28px}.sov__step:last-child{border-right:0;padding-right:0}@media (max-width:820px){.sov__step{border-bottom:1px solid #ffffff1a;border-right:0;padding:28px 0}.sov__step+.sov__step{padding-left:0}.sov__step:last-child{border-bottom:0}}.sov__step__hd{align-items:baseline;display:flex;gap:16px;justify-content:space-between;padding-bottom:10px}.sov__step__num{color:#fff;font-family:var(--serif);font-size:56px;letter-spacing:-.02em;line-height:1}.sov__step__dur{border:1px solid #ffffff26;border-radius:999px;color:#ffffff66;font-family:var(--mono);font-size:11px;letter-spacing:.12em;padding:5px 10px;text-transform:uppercase;white-space:nowrap}.sov__step h4{color:#fff;font-family:var(--sans);font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.15;margin:0}.sov__step p{color:#ffffffaa;font-size:14px;line-height:1.55;margin:0}.stack__row{display:grid;gap:12px;grid-template-columns:repeat(6,1fr)}@media (max-width:820px){.stack__row{grid-template-columns:repeat(3,1fr)}}@media (max-width:480px){.stack__row{grid-template-columns:repeat(2,1fr)}}.stack__card{background:var(--paper);border:1px solid var(--line-2);border-radius:10px;display:flex;flex-direction:column;gap:8px;min-height:100px;padding:18px 16px;transition:transform .15s ease,border-color .2s ease}.stack__card:hover{border-color:var(--ink);transform:translateY(-2px)}.stack__card .k{color:var(--muted);font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.stack__card .v{font-family:var(--sans);font-size:18px;font-weight:600;letter-spacing:-.02em;line-height:1.1}.contact--solo{display:block;margin:0 auto;max-width:760px}.form{background:var(--paper);border:1px solid var(--line-2);border-radius:16px;display:grid;gap:18px;padding:32px}.form__row{display:grid;gap:14px;grid-template-columns:1fr 1fr}@media (max-width:560px){.form__row{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:6px}.field label{color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.field input,.field select,.field textarea{background:#fff;border:1px solid var(--line-2);border-radius:9px;color:var(--ink);font-family:var(--sans);font-size:15px;outline:none;padding:14px;resize:vertical;transition:border .15s ease,box-shadow .15s ease;width:100%}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 4px #0b1a3d15}.field--error input,.field--error textarea{border-color:var(--accent)}.field__error{color:var(--accent);font-family:var(--mono);font-size:11px;letter-spacing:.06em}.field--honeypot{height:1px;left:-9999px;overflow:hidden;position:absolute;width:1px}.chip{background:#fff;border:1px solid var(--line-2);border-radius:999px;cursor:pointer;font-size:13px;padding:8px 14px;transition:all .15s ease}.chip.active,.chip:hover{border-color:var(--ink)}.chip.active{background:var(--ink);color:var(--bg)}.form__submit{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-top:6px}.form__legal{color:var(--muted);font-size:12px;max-width:38ch}.form__success{align-items:center;display:flex;flex-direction:column;gap:16px;padding:48px 16px;text-align:center}.form__success__check{align-items:center;background:oklch(.92 .08 145);border-radius:50%;color:oklch(.45 .16 145);display:flex;height:64px;justify-content:center;width:64px}.form__success h3{font-family:var(--sans);font-size:24px;font-weight:600;letter-spacing:-.025em;margin:0}.form__success p{color:var(--muted);margin:0;max-width:40ch}.footer{background:var(--ink);color:#ffffffb0;padding:80px 0 36px}.footer__grid{display:grid;gap:48px;grid-template-columns:2fr 1fr;margin-bottom:64px}@media (max-width:720px){.footer__grid{grid-template-columns:1fr}}.footer h5{color:#ffffff66;font-family:var(--mono);font-size:11px;letter-spacing:.14em;margin:0 0 18px;text-transform:uppercase}.footer ul{display:grid;font-size:14px;gap:10px;list-style:none;margin:0;padding:0}.footer a:hover{color:#fff}.footer__brand{color:#fff;font-family:var(--sans);font-size:32px;font-weight:600;letter-spacing:-.04em;line-height:1;margin-bottom:18px}.footer__brand em{color:var(--accent);font-style:normal}.footer__legal{color:#ffffff80;font-size:13px;line-height:1.55;max-width:36ch}.footer__bottom{border-top:1px solid #ffffff1a;color:#ffffff66;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;letter-spacing:.06em;padding-top:24px}.footer__bottom,.footer__flag{font-family:var(--mono);font-size:11px}.footer__flag{align-items:center;color:#ffffffb0;display:inline-flex;gap:8px;letter-spacing:.08em}.footer__flag .stripes{border-radius:2px;box-shadow:0 0 0 1px #ffffff22;display:inline-grid;grid-template-columns:1fr 1fr 1fr;height:12px;overflow:hidden;width:18px}.footer__flag .stripes i:first-child{background:#1a4ea8}.footer__flag .stripes i:nth-child(2){background:#fff}.footer__flag .stripes i:nth-child(3){background:#c8243a}.nav__cta .footer__flag{background:#ffffff80;border:1px solid var(--line-2);border-radius:999px;color:var(--ink-2);padding:6px 10px}