.page-hero{isolation:isolate;padding:calc(var(--header-h) + clamp(20px, 3vw, 44px)) 0 clamp(48px, 6vw, 100px);position:relative;overflow:clip}.page-hero-inner{gap:clamp(28px,4vw,64px);display:grid;position:relative}.page-hero.has-media{align-items:center;min-height:clamp(560px,68vh,780px);display:flex}.page-hero.has-media .page-hero-inner{width:min(100% - 2 * var(--gutter), var(--wrap))}.page-hero-copy{max-width:50rem}.page-hero-copy h1{font-size:var(--text-h1);letter-spacing:-.045em;font-weight:750;line-height:1.02}.page-hero-copy .grad{display:block}.page-hero-copy>p:not(.eyebrow){max-width:36rem;color:var(--ink-2);font-size:var(--text-lead);margin:clamp(22px,2.2vw,32px) 0 clamp(28px,2.8vw,40px);line-height:1.65}.page-hero-media{z-index:-1;inset:var(--header-h) 0 0 auto;-webkit-mask-composite:source-in;width:64%;position:absolute;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#0000004d 28%,#000 62%),linear-gradient(#0000 0%,#000 22% 78%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#0000004d 28%,#000 62%),linear-gradient(#0000 0%,#000 22% 78%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.page-hero-media>.media-shift{--pa:24px;position:absolute;inset:-4% 0}.page-hero-media img{object-fit:cover}.page-hero-media:after{content:"";background:radial-gradient(60% 70% at 70% 45%,#1464e629,#0000 70%);position:absolute;inset:0}.page-hero.no-media .page-hero-inner{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center}.page-hero-aside{justify-content:center;display:flex}.page-hero-aside .techbot-mascot{width:clamp(220px,24vw,420px)}@media (max-width:899px){.page-hero.has-media{min-height:0;padding-bottom:0;display:block}.page-hero-media{aspect-ratio:1.5;-webkit-mask-composite:source-over;width:100%;margin-top:34px;position:relative;inset:auto;-webkit-mask-image:linear-gradient(#0000 0%,#000 30% 100%);mask-image:linear-gradient(#0000 0%,#000 30% 100%);-webkit-mask-composite:source-over;mask-composite:add}.page-hero.no-media .page-hero-inner{grid-template-columns:1fr}.page-hero-aside{justify-content:flex-start}.page-hero-aside .techbot-mascot{width:200px}.page-hero-copy .button-row .button{flex:100%}}.bleed-split{grid-template-columns:var(--edge) minmax(0, 1fr) minmax(0, 1.15fr) 0;align-items:center;display:grid}.bleed-split-copy{grid-column:2;padding-right:clamp(20px,5vw,120px)}.bleed-split-media{grid-column:3/5}.bleed-split.reverse{grid-template-columns:0 minmax(0, 1.15fr) minmax(0, 1fr) var(--edge)}.bleed-split.reverse .bleed-split-copy{grid-area:1/3;padding:0 0 0 clamp(20px,5vw,120px)}.bleed-split.reverse .bleed-split-media{grid-area:1/1/auto/3}.bleed-split-copy h2{letter-spacing:-.04em;font-size:clamp(1.9rem,1.1rem + 2.1vw,3.2rem);line-height:1.06}.bleed-split-copy p{max-width:34rem;color:var(--ink-2);font-size:var(--text-lead);margin-top:24px;line-height:1.7}.bleed-split-copy .button-row,.bleed-split-copy .tech-list{margin-top:32px}.media-frame{aspect-ratio:1.42;border-radius:34px 0 0 34px;position:relative;overflow:hidden;box-shadow:0 50px 120px -40px #000000e6,inset 0 0 0 1px #82c3f021}.reverse .media-frame{border-radius:0 34px 34px 0}.media-frame img{object-fit:cover;transition:transform 1.2s var(--ease)}.media-frame:hover img{transform:scale(1.03)}.media-frame:after{content:"";pointer-events:none;background:linear-gradient(90deg,#03101b8c,#0000 30%);position:absolute;inset:0}.reverse .media-frame:after{background:linear-gradient(270deg,#03101b8c,#0000 30%)}.media-frame.is-diagram{background:linear-gradient(150deg,#071d30,#030f1a)}.media-frame.is-diagram:after{display:none}.media-frame.is-diagram img{object-fit:contain;padding:3%}@media (max-width:899px){.bleed-split,.bleed-split.reverse{grid-template-columns:var(--gutter) minmax(0, 1fr) var(--gutter);row-gap:36px}.bleed-split-copy,.bleed-split.reverse .bleed-split-copy{grid-area:1/2;padding:0}.bleed-split-media,.bleed-split.reverse .bleed-split-media{grid-area:2/1/auto/-1}.media-frame,.reverse .media-frame{aspect-ratio:1.5;border-radius:0}}.duo{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,8vw,160px);display:grid;position:relative}.duo:before{content:"";background:linear-gradient(#0000,#50beff57,#0000);width:1px;position:absolute;top:6%;bottom:6%;left:50%}.duo h2{font-size:var(--text-h2);letter-spacing:-.04em;line-height:1.06}.duo p:not(.eyebrow){max-width:32rem;color:var(--ink-2);font-size:var(--text-lead);margin-top:24px;line-height:1.7}.duo .status-pill,.duo .button-row,.duo .inline-note{margin-top:28px}@media (max-width:899px){.duo{grid-template-columns:minmax(0,1fr);gap:56px}.duo:before{display:none}}.inline-note{max-width:34rem;color:var(--ink-3);font-size:var(--text-small);line-height:1.7}.caps{counter-reset:cap;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.5vw,24px);margin:clamp(36px,4vw,64px) 0 0;padding:0;list-style:none;display:grid}.cap{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);counter-increment:cap;min-height:190px;transition:border-color .4s, box-shadow .5s, translate .5s var(--ease);background:linear-gradient(155deg,#143c6442,#05142273);border-radius:24px;flex-direction:column;justify-content:space-between;gap:40px;padding:clamp(24px,2.4vw,38px);display:flex;position:relative}.cap:before{content:"0" counter(cap);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:.16em}.cap:hover{border-color:color-mix(in srgb, var(--accent) 50%, transparent);box-shadow:0 0 44px -14px color-mix(in srgb, var(--accent) 40%, transparent);translate:0 -4px}.cap h3{letter-spacing:-.03em;font-size:clamp(1.2rem,1.05rem + .5vw,1.55rem);line-height:1.22}.caps-2{grid-template-columns:repeat(2,minmax(0,1fr))}.caps-2 .cap{min-height:150px}@media (max-width:899px){.caps,.caps-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:599px){.caps,.caps-2{grid-template-columns:1fr}.cap,.caps-2 .cap{gap:22px;min-height:0}}.spot{border:1px solid var(--line);background:radial-gradient(60% 90% at 88% 50%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 70%), linear-gradient(150deg, #082036a8, #030e1ab3);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:34px;position:relative;overflow:hidden}.spot-mascot{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:end;gap:24px;padding:clamp(32px,5vw,88px) clamp(28px,5vw,96px) 0;display:grid}.spot-mascot>div:first-child{align-self:center;padding-bottom:clamp(32px,5vw,88px)}.spot h2{font-size:var(--text-h2);letter-spacing:-.04em;line-height:1.06}.spot p:not(.eyebrow){max-width:34rem;color:var(--ink-2);font-size:var(--text-lead);margin-top:22px;line-height:1.65}.spot .techbot-mascot{justify-self:center;width:clamp(220px,26vw,460px)}.spotlight-tags{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.spotlight-tags span{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--ink);font-size:var(--text-small);border-radius:999px;padding:9px 16px;font-weight:600}.spot-network{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.connection-path{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:38px;display:grid;position:relative}.connection-path:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.6;height:2px;position:absolute;top:34px;left:12%;right:12%}.connection-path>div{color:var(--ink);font-size:var(--text-small);text-align:center;justify-items:center;gap:14px;font-weight:600;display:grid;position:relative}.connection-path svg{border:1px solid color-mix(in srgb, var(--accent) 50%, transparent);background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--accent) 25%, #06182a), #03101b);width:68px;height:68px;color:var(--accent);border-radius:50%;padding:18px;box-shadow:0 0 0 7px #030c16e6}.spot-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.spot-grid>div{padding:clamp(32px,4vw,70px) clamp(24px,3.4vw,64px);position:relative}.spot-grid>div+div:before{content:"";background:linear-gradient(#0000,#6ec8ff47,#0000);width:1px;position:absolute;top:12%;bottom:12%;left:0}.spot-grid svg{width:46px;height:46px;color:var(--accent);filter:drop-shadow(0 0 12px color-mix(in srgb, var(--accent) 45%, transparent));margin-bottom:26px}.spot-grid h3{font-size:var(--text-h3)}.spot-grid p{color:var(--ink-2);font-size:var(--text-body);margin-top:14px;line-height:1.7}.spot-security{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(32px,6vw,110px);padding:clamp(32px,5vw,88px);display:grid}.spot-security ol{gap:30px;margin:0;padding:0;list-style:none;display:grid}.spot-security li{align-items:flex-start;gap:22px;display:flex}.spot-security li svg{width:30px;height:30px;color:var(--accent);margin-top:2px}.spot-security li h3{font-size:var(--text-h3)}.spot-security li p{font-size:var(--text-body);margin-top:6px}.spot-questions{text-align:center;padding:clamp(32px,5vw,88px)}.spot-questions h2{max-width:20ch;margin-inline:auto}.spot-questions>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.5vw,24px);margin-top:clamp(32px,4vw,56px);display:grid}.spot-questions article{border:1px solid var(--line);background:#0516268c;border-radius:24px;justify-items:center;gap:22px;padding:clamp(28px,3vw,48px) 24px;display:grid}.spot-questions article svg{width:38px;height:38px;color:var(--accent)}.spot-questions article h3{font-size:var(--text-h3);line-height:1.2}.spot-plus{display:none}@media (max-width:899px){.spot-mascot,.spot-network{grid-template-columns:1fr}.spot-network .techbot-mascot{order:2}.spot-grid,.spot-security,.spot-questions>div{grid-template-columns:1fr}.spot-grid>div+div:before{background:linear-gradient(90deg,#0000,#6ec8ff47,#0000);width:auto;height:1px;inset:0 12% auto}.connection-path{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}.connection-path:before{display:none}}@media (min-width:1200px){.process-track.cols-6 .process-steps{grid-template-columns:repeat(6,minmax(0,1fr))}}.process-step .node-num{font-family:var(--font-mono);color:var(--cyan-soft);font-size:1.05rem}@media (min-width:900px) and (max-width:1199px){.process-track.cols-6 .process-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 0}.process-track.cols-6 .process-line,.process-track.cols-6 .process-rail{display:none}}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.5vw,24px);margin:clamp(36px,4vw,64px) 0 0;padding:0;list-style:none;display:grid}.module-card{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .4s, box-shadow .5s, translate .5s var(--ease);background:linear-gradient(155deg,#143c6442,#05142273);border-radius:22px;align-items:center;gap:22px;padding:clamp(22px,2.2vw,34px);display:flex}.module-card:hover{border-color:var(--line-strong);box-shadow:var(--glow);translate:0 -4px}.module-card h3{letter-spacing:-.02em;font-size:clamp(1.1rem,1rem + .4vw,1.4rem)}.module-card .icon-chip{flex-shrink:0}@media (max-width:899px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:519px){.module-grid{grid-template-columns:1fr}}.tech-list{flex-wrap:wrap;gap:12px;display:flex}.tech-list span{color:var(--ink);font-size:var(--text-small);background:#ffffff0a;border:1px solid #8ccdfa3d;border-radius:999px;align-items:center;gap:10px;padding:12px 20px;font-weight:600;display:inline-flex}.tech-list svg{color:var(--cyan)}.gallery-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(14px,1.5vw,24px);margin-top:clamp(28px,3vw,48px);display:grid}.gallery-item{border:1px solid var(--line);background:var(--bg-2);color:inherit;text-align:left;border-radius:26px;padding:0;transition:border-color .4s,box-shadow .5s;position:relative;overflow:hidden}.gallery-item:hover{border-color:var(--line-strong);box-shadow:var(--glow)}.gallery-item:first-child{grid-row:span 2}.gallery-image{aspect-ratio:1.7;display:block;position:relative;overflow:hidden}.gallery-item:first-child .gallery-image{aspect-ratio:auto;height:100%;min-height:460px}.gallery-image img{object-fit:cover;transition:transform 1s var(--ease)}.gallery-item:hover img{transform:scale(1.03)}.gallery-label{font-size:var(--text-small);background:linear-gradient(#0000,#020810f0);justify-content:space-between;align-items:center;gap:12px;padding:44px 24px 20px;font-weight:600;display:flex;position:absolute;inset:auto 0 0}.lightbox{border:1px solid var(--line-strong);background:var(--bg-2);width:min(1200px,94vw);max-height:94dvh;color:var(--ink);border-radius:26px;margin:auto;padding:24px;position:fixed;inset:0}.lightbox::backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#00060ce0}.lightbox-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;display:flex}.lightbox-header h2{font-size:1.2rem}.lightbox button{width:48px;height:48px;color:var(--ink);background:#ffffff0f;border:1px solid #bee1ff33;border-radius:14px;justify-content:center;align-items:center;transition:background .25s,border-color .25s;display:flex}.lightbox button:hover{border-color:var(--cyan);background:#2cc9ff1f}.lightbox-media{height:min(64vh,660px);position:relative}.lightbox-media img{object-fit:contain}.lightbox-controls{font-size:var(--text-small);justify-content:center;align-items:center;gap:26px;margin-top:16px;display:flex}@media (max-width:767px){.gallery-grid{grid-template-columns:1fr 1fr}.gallery-item:first-child{grid-area:auto/1/auto/-1}.gallery-item:first-child .gallery-image{aspect-ratio:1.6;height:auto;min-height:0}.gallery-label{font-size:var(--text-label);padding:34px 14px 14px}}@media (max-width:519px){.gallery-grid{grid-template-columns:1fr}}.project-tile{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(150deg,#08203699,#030e1ab3);border-radius:30px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);transition:border-color .5s,box-shadow .6s;display:grid;overflow:hidden}.project-tile:hover{border-color:var(--line-strong);box-shadow:var(--glow)}.project-tile-copy{flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;padding:clamp(28px,4vw,68px);display:flex}.project-tile-copy h3{font-size:var(--text-h2);letter-spacing:-.04em;line-height:1.05}.project-tile-copy p{max-width:28rem;color:var(--ink-2);font-size:var(--text-body);line-height:1.7}.project-tile-copy .button-row{margin-top:10px}.project-tile-media{min-height:340px;position:relative;overflow:hidden}.project-tile-media img{object-fit:cover;transition:transform 1.2s var(--ease)}.project-tile:hover .project-tile-media img{transform:scale(1.03)}.project-tile-media:after{content:"";background:linear-gradient(90deg,#041422d9,#0000 30%);position:absolute;inset:0}@media (max-width:899px){.project-tile{grid-template-columns:1fr}.project-tile-media{aspect-ratio:1.6;order:-1;min-height:0}.project-tile-media:after{background:linear-gradient(#0000 60%,#041422d9)}}.contact-page{padding:calc(var(--header-h) + clamp(20px, 3vw, 44px)) 0 var(--section-y)}.contact-grid{grid-template-columns:minmax(0,5fr) minmax(0,6.2fr);align-items:start;gap:clamp(40px,6vw,130px);display:grid}.contact-info{top:calc(var(--header-h) + 30px);position:sticky}.contact-info h1{font-size:var(--text-h1);letter-spacing:-.045em;font-weight:750;line-height:1.02}.contact-info h1 .grad{display:block}.contact-info>p:not(.eyebrow){max-width:30rem;color:var(--ink-2);font-size:var(--text-lead);margin-top:26px;line-height:1.65}.contact-benefits{gap:14px;margin:30px 0 0;padding:0;list-style:none;display:grid}.contact-benefits li{color:var(--ink);font-size:var(--text-body);align-items:center;gap:14px;font-weight:550;display:flex}.contact-benefits svg{width:22px;height:22px;color:var(--cyan)}.contact-details{gap:12px;margin-top:clamp(28px,3vw,46px);display:grid}.contact-detail{border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .3s, translate .4s var(--ease);background:#081e3273;border-radius:18px;align-items:center;gap:18px;padding:18px 22px;display:flex}a.contact-detail:hover{border-color:var(--line-strong);translate:4px}.contact-detail>svg{width:26px;height:26px;color:var(--cyan)}.contact-detail:first-child>svg{color:#45e58e}.contact-detail strong{font-size:var(--text-body);overflow-wrap:anywhere;font-weight:650;display:block}.contact-detail small{color:var(--ink-3);font-size:var(--text-small);margin-top:2px;display:block}.contact-form{border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:radial-gradient(70% 40% at 100% 0,#1e78ff29,#0000 70%),linear-gradient(155deg,#092036c7,#030e1adb);border-radius:32px;padding:clamp(24px,3.4vw,56px);box-shadow:0 50px 120px -50px #000000e6}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.form-field.full{grid-column:1/-1}.form-field label{color:var(--ink);font-size:var(--text-small);margin-bottom:9px;font-weight:600;display:block}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:54px;color:var(--ink);background:#020c1699;border:1px solid #96c8f038;border-radius:14px;padding:14px 16px;font-size:1rem;transition:border-color .25s,box-shadow .25s,background .25s}.form-field textarea{resize:vertical;min-height:150px}.form-field input::placeholder,.form-field textarea::placeholder{color:#7f97ad}.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:#96d2fa6b}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--cyan);background:#031220d9;outline:none;box-shadow:0 0 0 4px #2cc9ff29}.form-field [aria-invalid=true]{border-color:#ff8f99;box-shadow:0 0 0 3px #ff78821f}.form-field select option{background:var(--bg-2)}.field-error{color:#ffadb4;font-size:var(--text-small);margin-top:8px;line-height:1.5}.consent{color:var(--ink-2);font-size:var(--text-small);align-items:flex-start;gap:12px;margin-top:26px;line-height:1.65;display:flex}.consent input{accent-color:#1a7dff;flex-shrink:0;width:20px;height:20px;margin-top:2px}.consent a{color:var(--cyan-soft);text-underline-offset:3px;text-decoration:underline}.form-actions{justify-content:space-between;align-items:center;gap:22px;margin-top:30px;display:flex}.form-actions small{max-width:17rem;color:var(--ink-3);font-size:var(--text-label);line-height:1.6}.form-status>svg{color:#61e3a4;width:46px;height:46px;margin-bottom:22px}.form-status h2{font-size:var(--text-h3);margin-bottom:16px}.form-status h2:focus{outline:none}.form-status>p{color:var(--ink-2);margin-bottom:26px;line-height:1.7}.form-status .button-row{margin-top:28px}.form-summary{border:1px solid var(--line);overflow-wrap:anywhere;background:#020c1680;border-radius:18px;gap:8px;padding:22px;display:grid}.form-summary dt{color:var(--ink-3);font-size:var(--text-label);letter-spacing:.1em;text-transform:uppercase}.form-summary dd{white-space:pre-wrap;margin:0 0 8px}@media (max-width:1023px){.contact-grid{grid-template-columns:1fr}.contact-info{position:static}}@media (max-width:599px){.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions small{max-width:none}.form-actions .button,.form-status .button{width:100%}}.legal-page{padding:calc(var(--header-h) + clamp(20px, 3vw, 44px)) 0 var(--section-y)}.legal-content{max-width:46rem}.legal-content h1{font-size:var(--text-h1);letter-spacing:-.045em;margin:4px 0 clamp(28px,3vw,48px);font-weight:750}.legal-content h2{font-size:var(--text-h3);margin:42px 0 14px}.legal-content p:not(.eyebrow){color:var(--ink-2);margin-bottom:14px;font-size:1.0625rem;line-height:1.85}.legal-content a{color:var(--cyan-soft);text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.empty-state{padding:calc(var(--header-h) + 8vh) 0 12vh;justify-items:start;display:grid}.empty-state .big-code{font-family:var(--font-mono);letter-spacing:-.06em;background:linear-gradient(#7ee6ffe6,#2a79ff26);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(5rem,16vw,14rem);line-height:.9}.empty-state h1{font-size:var(--text-h2);margin:12px 0 18px}.empty-state p:not(.eyebrow){color:var(--ink-2);font-size:var(--text-lead);margin-bottom:30px}.spot-head{padding:clamp(32px,4.5vw,72px) clamp(24px,3.6vw,72px) 0}.spot-head h2{max-width:22ch}.page-hero+.services-section,.page-hero+.showcases{margin-top:calc(var(--section-y) * -.35)}.page-hero.no-media{padding-bottom:clamp(32px,4vw,64px)}
