:root {
--bg:#080c0f;
--surface:#111a1d;
--text:#f2f6f4;
--muted:#becbd0;
--soft:#a5b6bd;
--mint:#a4f3d4;
--line:rgba(210,239,234,.14);
--sans:"Inter",Arial,sans-serif;
--radius:24px;
--wrap:1320px;
--space-1:8px;
--space-2:16px;
--space-3:24px;
--space-4:32px;
--control-height:48px;
--control-radius:12px;
color-scheme:dark
}

/* Public business identity, shared by the footer and contact page. */
.business-details {
display:grid;
grid-template-columns:1fr 1fr;
gap:48px;
padding:48px 0 64px;
border-top:1px solid var(--line);
scroll-margin-top:120px;
}
.business-details h2 { font-size:30px; margin:16px 0; }
.business-details p { color:var(--muted); max-width:40ch; }
.business-details dl { margin:0; }
.business-details dl>div { padding:16px 0; border-bottom:1px solid var(--line); }
.business-details dt { font-size:13px; color:var(--soft); }
.business-details dd { margin:6px 0 0; overflow-wrap:anywhere; }
@media(max-width:700px) {
.business-details { grid-template-columns:1fr; gap:20px; padding-top:32px; }
}

* {
box-sizing:border-box
}

html {
scroll-behavior:smooth;
scroll-padding-top:120px
}

body {
margin:0;
background:var(--bg);
color:var(--text);
font:400 18px/1.65 var(--sans);
-webkit-font-smoothing:antialiased;
font-synthesis:none
}

h1,h2,h3,p,figure {
margin:0
}

h1,h2,h3 {
font-weight:500;
line-height:1.1;
letter-spacing:-.045em
}

h1 span,h2 span {
color:var(--muted)
}

a {
color:inherit;
text-decoration:none
}

button,input,select,textarea {
font:inherit
}

button,a,input,select,textarea,summary {
-webkit-tap-highlight-color:transparent
}

button {
cursor:pointer
}

img {
max-width:100%;
display:block
}

svg {
display:block;
flex-shrink:0
}

button svg,a svg {
width:22px;
height:22px
}

::selection {
background:var(--mint);
color:var(--bg)
}

:focus-visible {
outline:2px solid var(--mint);
outline-offset:6px
}

button:disabled {
cursor:default
}

main {
padding-top:104px;
overflow:clip
}

/* A single continuous light field belongs to the page, not individual sections. */
body:not(.editorial-page){background:#102322;isolation:isolate;--footer-surface:linear-gradient(180deg,#0c1e1b00,#0817188c)}
body:not(.editorial-page)::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(100deg,#0d20266b,#0c1b2444 55%,#17252866),url('/assets/atmosphere-v1.jpg') center/cover no-repeat;opacity:.85}
body:not(.editorial-page)::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 15%,transparent 20%,#09151f55 100%);opacity:.8}
body:not(.editorial-page) main{background:transparent}

[hidden] {
display:none!important
}

.container,.wrap {
width:min(var(--wrap),calc(100% - 96px));
margin-inline:auto
}

.section {
padding-block:clamp(48px,5.5vw,76px)
}

.section-tight {
padding-top:24px
}

.eyebrow {
font-size:13px;
line-height:1.5;
font-weight:600;
letter-spacing:.12em;
color:var(--muted);
display:flex;
align-items:center;
gap:10px
}

.status-dot {
width:6px;
height:6px;
border-radius:50%;
display:inline-block;
flex-shrink:0;
background:var(--mint);
box-shadow:0 0 14px #a4f3d455
}

.pill {
display:inline-flex;
align-items:center;
gap:10px;
border:1px solid var(--line);
border-radius:99px;
padding:9px 14px;
background:#16222280;
color:#d4e7df;
font-size:13px;
font-weight:500;
letter-spacing:.1em;
backdrop-filter:blur(12px)
}

.glass-panel {
background:radial-gradient(600px circle at var(--light-x,30%) var(--light-y,0%),#9bdfd00a,transparent 65%),linear-gradient(140deg,#1b292ddb,#101a20f5);
border:1px solid var(--line);
border-radius:var(--radius);
box-shadow:inset 0 1px 0 #ffffff08,0 16px 60px #00000018;
position:relative;
transition:border-color .35s,box-shadow .35s,transform .35s
}

.button {
position:relative;
isolation:isolate;
display:inline-flex;
align-items:center;
justify-content:center;
gap:12px;
min-height:var(--control-height);
max-width:100%;
padding:12px 20px;
border:1px solid transparent;
border-radius:var(--control-radius);
font-size:15px;
line-height:1.4;
font-weight:500;
text-align:center;
overflow:hidden;
transition:transform .25s,background .25s,border-color .25s,box-shadow .25s
}

.button::before {
content:"";
position:absolute;
z-index:-1;
inset:0;
background:linear-gradient(115deg,transparent 25%,#ffffff30 50%,transparent 70%);
transform:translateX(-110%);
transition:transform .6s
}

.button:hover::before {
transform:translateX(110%)
}

.button:hover {
transform:translateY(-2px)
}

.button-primary,.button-dark {
background:linear-gradient(125deg,#d8ffee,#a4f3d4 60%,#95dfd7);
color:#10251d;
box-shadow:inset 0 1px 1px #fff,0 0 0 4px #a4f3d408,0 8px 32px #a4f3d421
}

.button-primary:hover,.button-dark:hover {
box-shadow:inset 0 1px 1px #fff,0 0 0 4px #a4f3d40e,0 8px 36px #a4f3d44a
}

.button-glass,.button-outline {
color:var(--text);
background:linear-gradient(120deg,#ffffff0d,#ffffff03);
border-color:#d2efe428;
backdrop-filter:blur(12px)
}

.button-glass:hover,.button-outline:hover {
border-color:#a4f3d46b;
background:#a4f3d40c
}

.button-small {
min-height:44px;
padding:10px 16px;
font-size:14px;
gap:12px
}

.actions {
display:flex;
align-items:center;
flex-wrap:wrap;
gap:var(--space-2) var(--space-3)
}

.text-link {
display:inline-flex;
align-items:center;
gap:14px;
font-size:16px;
line-height:1.5;
font-weight:500;
min-height:44px;
color:var(--text)
}

.text-link svg {
width:19px;
transition:transform .25s
}

.text-link:hover {
color:var(--mint)
}

.text-link:hover svg {
transform:translateX(4px)
}

.lead {
font-size:21px;
line-height:1.75;
color:var(--muted);
max-width:58ch
}

.icon-tile {
display:inline-flex;
width:48px;
height:48px;
align-items:center;
justify-content:center;
border:1px solid #b2e8db24;
border-radius:13px;
background:linear-gradient(135deg,#c0ffe712,#c0ffe702);
color:var(--mint);
box-shadow:inset 0 1px 0 #ffffff08
}

.icon-tile svg {
width:23px;
height:23px
}

.skip-link {
position:fixed;
top:8px;
left:20px;
z-index:100;
padding:10px 20px;
background:var(--mint);
color:var(--bg);
transform:translateY(-160%)
}

.skip-link:focus {
transform:translateY(0)
}

.site-header {
position:fixed;
z-index:50;
top:16px;
left:0;
width:100%;
padding-inline:24px
}

.nav-shell {
position:relative;
width:min(1368px,100%);
height:68px;
margin:auto;
padding:14px 20px;
display:flex;
align-items:center;
justify-content:space-between;
gap:22px;
border:1px solid #c8efe51f;
border-radius:18px;
background:linear-gradient(115deg,#18262be8,#0c161deb);
backdrop-filter:blur(22px);
box-shadow:inset 0 1px 0 #ffffff10,0 12px 44px #0004
}

.brand {
display:flex;
align-items:center;
gap:12px;
font-size:21px;
font-weight:500;
line-height:1.12;
letter-spacing:-.055em;
white-space:nowrap
}

.brand-symbol {
position:relative;
display:flex;
align-items:center;
justify-content:center;
width:47px;
height:42px;
color:var(--mint)
}

.brand-symbol svg {
width:32px;
height:36px
}
.brand-object{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;filter:drop-shadow(1px 3px 2px #0007)}
.brand-object-ready .brand-object{opacity:1}
.brand-object-ready>svg{visibility:hidden}

.brand-sub {
display:block;
margin-top:7px;
font-size:9px;
letter-spacing:.09em;
font-weight:400;
color:var(--muted)
}

/* Both lines retain their final dimensions throughout the terminal sequence. */
.brand-lockup{display:block}
.brand-wordmark{position:relative;display:table;padding-right:5px}
.brand-name{display:block}
.brand-sub{position:relative;display:table;padding-right:3px}
.brand-sub-text{display:block}
.brand-cursor,.brand-sub-cursor{position:absolute;left:0;top:.08em;height:1em;width:2px;background:var(--mint);opacity:0}
.brand-sub-cursor{width:1px}
.brand-boot .brand-name{animation:brand-type 1.1s steps(10,end) both}
.brand-boot .brand-cursor{animation:brand-caret 1.1s steps(10,end) both}
.brand-boot .brand-sub-text{animation:brand-sub-type .95s steps(23,end) 1.1s both}
.brand-boot .brand-sub-cursor{animation:brand-caret .95s steps(23,end) 1.1s both}
@keyframes brand-type{0%{clip-path:inset(0 100% 0 0)}90%,100%{clip-path:inset(0 0 0 0)}}
@keyframes brand-sub-type{0%{clip-path:inset(0 100% 0 0)}96%,100%{clip-path:inset(0 0 0 0)}}
@keyframes brand-caret{0%{left:0;opacity:1}90%{opacity:1}99%{left:calc(100% - 2px);opacity:1}100%{left:calc(100% - 2px);opacity:0}}
.motion-paused :is(.brand-name,.brand-sub-text),.document-hidden :is(.brand-name,.brand-sub-text){animation:none!important;clip-path:none!important;opacity:1!important}
.motion-paused :is(.brand-cursor,.brand-sub-cursor),.document-hidden :is(.brand-cursor,.brand-sub-cursor){animation:none!important;opacity:0}
@media(prefers-reduced-motion:reduce){.brand-name,.brand-sub-text{animation:none!important;clip-path:none!important}.brand-cursor,.brand-sub-cursor{animation:none!important;opacity:0}.brand-cursor{display:none}}

.desktop-nav {
display:flex;
align-items:center;
gap:27px
}

.desktop-nav a {
font-size:16px;
color:#b9c6c7;
min-height:44px;
display:flex;
align-items:center;
position:relative
}

.desktop-nav a:hover,.desktop-nav a[aria-current] {
color:var(--mint)
}

.desktop-nav a[aria-current]::after {
content:"";
position:absolute;
bottom:3px;
left:0;
width:16px;
height:2px;
background:var(--mint)
}

.mobile-menu {
display:none
}

.mobile-calculator {display:none}
@media(max-width:380px){.mobile-calculator span,.mobile-menu>summary>span{display:none}.mobile-calculator,.mobile-menu>summary{width:44px;flex-shrink:0}}
.service-calculators {display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:18px}
.investment-panel .text-link {font-size:15px}
.estimate-next {display:grid;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #1b49302e;color:#39594b}
.estimate-next p {margin:0;font-size:12px;color:#39594b}
.estimate-next a {font-size:13px;line-height:1.5;min-height:44px;display:flex;align-items:center;color:#173f30;text-underline-offset:4px}
.estimate-next a:hover {text-decoration:underline}
.estimate-next small {font-size:12px;line-height:1.6;color:#39594b}

.mobile-menu summary {
list-style:none
}

.mobile-menu summary::-webkit-details-marker {
display:none
}

.section-heading {
display:flex;
align-items:flex-end;
justify-content:space-between;
gap:30px;
border-top:1px solid var(--line);
padding-top:24px;
margin-bottom:34px
}

.section-heading h2 {
font-size:clamp(36px,3.7vw,58px);
margin-top:16px;
max-width:22ch
}

.section-heading p {
color:var(--muted);
font-size:20px;
max-width:55ch;
margin-top:18px;
line-height:1.7
}

.section-heading>.text-link {
flex-shrink:0;
margin-bottom:3px
}

.projects-grid {
display:grid;
grid-template-columns:1fr 1fr;
gap:28px
}

.project-card {
overflow:hidden;
transition:border-color .35s,transform .35s
}

.project-card:hover {
border-color:#a4f3d447;
transform:translateY(-4px)
}

.project-cover {
display:block;
position:relative;
overflow:hidden;
padding:22px 24px 0;
background:radial-gradient(ellipse at 40% 100%,#85cdb834,transparent 75%)
}

.project-cover-1 {
background:radial-gradient(ellipse at 40% 100%,#759bc533,transparent 75%)
}

.project-cover-label {
display:flex;
justify-content:space-between;
align-items:center;
font-size:12px;
letter-spacing:.12em;
color:var(--muted);
margin-bottom:28px
}

.circle-arrow {
width:30px;
height:30px;
display:flex;
align-items:center;
justify-content:center;
border:1px solid var(--line);
border-radius:50%;
color:var(--text)
}

.circle-arrow svg {
width:17px
}

.browser-frame {
border:1px solid #b5d0cd29;
border-radius:11px 11px 0 0;
background:#141f23;
overflow:hidden;
box-shadow:0 22px 46px #00000030
}

.browser-bar {
height:26px;
display:flex;
align-items:center;
gap:4px;
padding:0 11px;
color:var(--soft);
font-size:12px
}

.browser-bar i {
width:4px;
height:4px;
border-radius:50%;
background:#526264
}

.browser-bar span {
margin:auto
}

.project-cover img {
height:auto;
aspect-ratio:1.8;
object-fit:cover;
object-position:top;
width:100%;
transition:transform .8s
}

.project-card:hover img {
transform:scale(1.025)
}

.project-info {
padding:32px 34px;
border-top:1px solid var(--line)
}

.tags {
display:flex;
flex-wrap:wrap;
gap:7px;
margin-bottom:17px
}

.tags span {
font-size:12px;
padding:4px 8px;
border:1px solid #d2efe417;
border-radius:5px;
color:var(--muted)
}

.project-info :is(h2,h3) {
font-size:38px
}

.project-info p {
font-size:19px;
color:var(--muted);
max-width:47ch;
line-height:1.8;
margin-top:12px
}

.services-grid {
display:grid;
grid-template-columns:1fr 1fr;
gap:22px
}

.service-feature {
grid-column:1/-1;
padding:34px 38px 24px;
overflow:hidden;
position:relative
}

.feature-layout {
display:grid;
grid-template-columns:1fr 1fr;
align-items:center;
gap:70px;
padding:24px 0 32px
}

.service-feature :is(h2,h3) {
font-size:52px;
margin-top:23px;
max-width:16ch
}

.service-feature p {
font-size:19px;
line-height:1.85;
color:var(--muted);
max-width:43ch;
margin-top:20px
}

.service-feature .text-link {
margin-top:18px
}

.feature-bottom {
display:flex;
justify-content:space-between;
gap:20px;
padding-top:20px;
border-top:1px solid var(--line);
font-size:14px;
color:var(--soft)
}

.feature-bottom span:last-child {
font-size:13px;
letter-spacing:.1em
}

.system-visual {
position:relative;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
min-height:305px;
perspective:1000px;
background:radial-gradient(ellipse,#9bfbd511,transparent 65%)
}

.system-layer {
width:290px;
max-width:90%;
height:68px;
display:flex;
align-items:center;
gap:16px;
padding:16px 24px;
border:1px solid #b9e8dc3a;
border-radius:13px;
background:linear-gradient(140deg,#3c565390,#16282bba);
box-shadow:inset 0 1px 0 #ffffff17,0 18px 26px #00000038;
transform:rotateY(-13deg) rotateX(12deg) rotateZ(-8deg);
font-size:19px;
color:#d4e7df;
animation:layer-float 9s ease-in-out infinite
}

.system-layer>svg {
width:22px;
height:22px;
color:var(--mint)
}

.system-layer>i {
margin-left:auto;
width:5px;
height:5px;
border-radius:50%;
background:var(--mint);
box-shadow:0 0 13px var(--mint)
}

.layer-middle {
width:320px;
background:linear-gradient(130deg,#24443fa6,#142024);
animation-delay:-3s
}

.layer-bottom {
width:350px;
background:linear-gradient(130deg,#273a3e8f,#121c21);
animation-delay:-6s
}

.system-wire {
height:31px;
width:1px;
background:linear-gradient(0deg,#a4f3d433,#a4f3d4bb,#a4f3d433)
}

.service-card {
padding:34px 36px;
position:relative;
overflow:hidden;
transition:border-color .3s
}

.service-card:hover {
border-color:#a4f3d44d
}

.service-card::after {
content:"";
position:absolute;
width:210px;
height:210px;
right:-100px;
top:-100px;
background:radial-gradient(circle,#a4f3d40c,transparent 65%);
pointer-events:none
}

.service-card :is(h2,h3) {
font-size:31px;
margin-top:25px
}

.service-card p {
margin-top:17px;
max-width:43ch;
font-size:19px;
color:var(--muted)
}

.service-card .text-link {
margin-top:23px
}

.sales-strip {
grid-column:1/-1;
display:grid;
grid-template-columns:auto 1fr auto;
align-items:center;
gap:24px;
padding:27px 34px
}

.sales-strip :is(h2,h3) {
font-size:23px;
margin:8px 0
}

.sales-strip p {
color:var(--muted);
font-size:16px
}

.studio-banner {
padding-block:28px
}

.studio-banner-inner {
display:flex;
align-items:center;
gap:40px;
padding:38px 44px;
background:linear-gradient(105deg,#16302a80,#0f181d)
}

.experience-number {
font-size:77px;
line-height:1;
letter-spacing:-.08em;
color:var(--mint);
flex-shrink:0
}

.studio-banner-inner>div {
max-width:56ch
}

.studio-banner h2 {
font-size:36px;
margin-bottom:12px
}

.studio-banner p {
font-size:19px;
color:var(--muted)
}

.studio-banner .text-link {
margin-left:auto;
white-space:nowrap
}

.process-grid {
display:grid;
grid-template-columns:repeat(4,1fr);
gap:0;
padding:0;
list-style:none;
margin:0;
border:1px solid #a4f3d433;
border-radius:var(--radius);
background:linear-gradient(135deg,#15231f,#10191d);
overflow:hidden
}

.process-grid li {
position:relative;
padding:28px 24px
}

.process-grid li+li {border-left:1px solid var(--line)}
.process-grid li::before {content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--mint);opacity:.65;transform-origin:left}
.process-grid li.is-revealed::before {animation:process-line .65s ease-out both}
.process-grid li:nth-child(2)::before {animation-delay:.1s}
.process-grid li:nth-child(3)::before {animation-delay:.2s}
.process-grid li:nth-child(4)::before {animation-delay:.3s}
.process-grid .step-number {display:grid;place-items:center;width:38px;height:38px;border:1px solid #a4f3d440;border-radius:50%;background:#a4f3d409;font-size:13px}
@keyframes process-line {from{transform:scaleX(0)}to{transform:scaleX(1)}}

.step-number {
font-size:16px;
font-weight:500;
color:var(--mint);
letter-spacing:.08em;
display:block
}

.process-grid h3 {
font-size:22px;
line-height:1.25;
letter-spacing:-.035em;
margin-top:26px;
max-width:18ch
}

.process-grid p {
color:var(--muted);
font-size:17px;
line-height:1.75;
margin-top:16px
}

.journal-grid {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:22px
}

.journal-grid-two {
grid-template-columns:repeat(2,1fr)
}

.journal-card {
overflow:hidden;
transition:border-color .35s,transform .35s
}

.journal-card:hover {
border-color:#a4f3d44d;
transform:translateY(-4px)
}

.journal-card>a {
display:flex;
height:100%;
flex-direction:column
}

.journal-art {
height:200px;
position:relative;
overflow:hidden;
border-bottom:1px solid var(--line);
display:grid;
place-items:center;
background:radial-gradient(ellipse at 50% 70%,#34605355,transparent 65%),#101a1f
}

.art-orbit {
position:absolute;
border:1px solid #a4f3d423;
width:250px;
height:130px;
border-radius:50%;
transform:rotate(-28deg)
}

.art-orbit::before,.art-orbit::after {
content:"";
position:absolute;
inset:15px -15px;
border:1px solid #a4f3d413;
border-radius:50%
}

.art-orbit::after {
inset:30px -30px
}

.art-object {
position:relative;
display:grid;
place-items:center;
width:94px;
height:94px;
transform:rotate(-14deg) skew(4deg);
border-radius:22px;
border:1px solid #cdfbe759;
background:linear-gradient(125deg,#82e8bf45,#1a333abb);
box-shadow:inset 1px 1px 0 #ffffff30,9px 12px 0 #0c181d80,12px 18px 28px #00000066;
transition:transform .5s
}

.art-object svg {
width:42px;
height:42px;
color:#b5f1d9
}

.journal-card:hover .art-object {
transform:rotate(-6deg) skew(1deg) translateY(-5px)
}

.art-ai {
background:radial-gradient(ellipse at 50% 70%,#3c5c7b65,transparent 65%),#111a22
}

.art-ai .art-object {
border-radius:50%;
background:linear-gradient(125deg,#7ca7d447,#172b3a);
border-color:#a8d3f366;
color:#b8ddff
}

.art-ai .art-object svg {
color:#b8ddff
}

.art-integration {
background:radial-gradient(ellipse at 50% 70%,#6b674642,transparent 65%),#191c19
}

.art-integration .art-object {
background:linear-gradient(125deg,#d8dca639,#29362d);
border-color:#d4dfb056
}

.art-integration .art-object svg {
color:#d2e2b9
}

.art-label {
position:absolute;
left:20px;
bottom:17px;
font-size:12px;
letter-spacing:.15em;
color:var(--soft)
}

.journal-card-copy {
padding:25px 24px 22px;
display:flex;
flex-direction:column;
flex:1
}

.article-meta {
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
font-size:13px;
color:var(--muted)
}

.journal-card :is(h2,h3) {
font-size:24px;
line-height:1.24;
letter-spacing:-.035em;
margin-top:20px
}

.journal-card p {
font-size:16px;
color:var(--muted);
line-height:1.8;
margin-top:13px
}

.journal-card .text-link {
margin-top:auto;
padding-top:20px;
font-size:16px
}

.cta-section {
padding-block:50px 90px
}

.cta-panel {
position:relative;
isolation:isolate;
padding:56px;
overflow:hidden;
display:grid;
grid-template-columns:1.6fr 1fr;
gap:50px;
align-items:center
}

.cta-light {
position:absolute;
inset:-15%;
z-index:-1;
pointer-events:none;
background:radial-gradient(ellipse at 80% 70%,#a4f3d42b,transparent 60%)
}

.motion-ready .cta-light {animation:ambient-drift 22s ease-in-out infinite alternate}

.cta-copy h2 {
font-size:clamp(34px,3.7vw,56px);
margin:20px 0
}

.cta-copy p {
font-size:20px;
color:var(--muted);
max-width:45ch;
line-height:1.7
}

.cta-copy .actions {
margin-top:28px
}

.cta-emblem {
display:flex;
flex-direction:column;
align-items:center;
gap:22px;
color:var(--mint);
transform:none;
filter:none
}

.cta-emblem svg {
width:200px;
height:140px
}

.cta-emblem span {
font-size:12px;
letter-spacing:.2em;
color:var(--soft)
}










.site-footer{border-top:1px solid var(--line);background:var(--footer-surface,#0a1013);padding:38px 0 18px}
.footer-heading{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-bottom:30px}
.footer-heading .brand{font-size:23px}
.footer-heading .brand-symbol,.footer-heading .brand-symbol svg{width:34px;height:38px}
.footer-heading .brand-sub{display:table;font-size:8px}
.footer-signature p{max-width:32ch;color:var(--soft);font-size:13px;line-height:1.6;margin:12px 0 0}
.footer-connect{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.footer-email{display:flex;align-items:center;gap:16px;min-height:44px;font-size:22px;letter-spacing:-.04em;color:var(--text)}
.footer-email svg{width:19px;height:19px;color:var(--mint)}
.footer-contact-links{display:flex;flex-wrap:wrap;gap:4px 22px;justify-content:flex-end;font-size:13px;color:var(--muted)}
.footer-contact-links a{display:inline-flex;align-items:center;min-height:36px}
.footer-folds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;border-block:1px solid var(--line);align-items:start}
.footer-fold summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;list-style:none;cursor:pointer;color:var(--muted);font-size:14px;font-weight:500}
.footer-fold summary::-webkit-details-marker{display:none}
.footer-fold summary::marker{content:''}
.footer-fold-symbol{position:relative;width:16px;height:16px;flex:0 0 16px;color:var(--soft)}
.footer-fold-symbol::before,.footer-fold-symbol::after{content:'';position:absolute;left:2px;right:2px;top:7px;height:1px;background:currentColor;transition:transform .2s}
.footer-fold-symbol::after{transform:rotate(90deg)}
.footer-fold[open] .footer-fold-symbol::after{transform:rotate(0)}
.footer-fold[open] summary{color:var(--text)}
.footer-fold-body{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:0 0 20px;color:var(--soft);font-size:13px;line-height:1.6}
.footer-fold-body>a{display:flex;align-items:center;min-height:36px}
.footer-requisites{margin-top:12px;padding-top:15px;border-top:1px solid var(--line);width:100%;font-size:12px}
.footer-requisites p{margin:0 0 9px;color:var(--muted)}
.footer-requisites dl{margin:0 0 7px}
.footer-requisites dl>div{display:grid;grid-template-columns:62px 1fr;gap:8px;padding:3px 0}
.footer-requisites dt{color:var(--soft)}
.footer-requisites dd{margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.footer-requisites>a{display:inline-flex;align-items:center;min-height:36px}
.footer-fold-body .motion-switch{margin-top:9px;text-align:left}
.footer-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;font-size:12px;line-height:1.5;color:var(--soft)}
.footer-meta>div{display:flex;align-items:center;gap:24px}
.footer-meta a,.footer-meta button{display:inline-flex;align-items:center;min-height:40px;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}
.site-footer a:hover,.footer-fold summary:hover,.footer-meta button:hover{color:var(--mint)}
.footer-fold summary:focus-visible,.footer-meta button:focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-radius:4px}
@media(max-width:700px){
.site-footer{padding-top:28px}
.footer-heading{flex-direction:column;align-items:flex-start;gap:20px;padding-bottom:22px}
.footer-connect{align-items:flex-start;gap:0}
.footer-email{font-size:21px;gap:14px}
.footer-contact-links{justify-content:flex-start;gap:4px 20px}
.footer-contact-links a{min-height:44px}
.footer-folds{grid-template-columns:1fr;gap:0}
.footer-fold:not(:last-child){border-bottom:1px solid var(--line)}
.footer-fold summary{min-height:54px}
.footer-fold-body>a,.footer-requisites>a,.footer-fold-body .motion-switch{min-height:44px}
.footer-fold-body{padding-bottom:14px}
.footer-meta{font-size:11px;gap:8px}
.footer-meta>div{gap:18px}
.footer-meta a,.footer-meta button{min-height:44px}
}

.motion-switch {
border:0;
background:none;
padding:8px 0;
color:var(--muted);
font-size:13px;
min-height:36px
}

.motion-switch:hover {
color:var(--mint)
}

.breadcrumbs {
display:flex;
align-items:center;
flex-wrap:wrap;
gap:10px;
font-size:13px;
color:var(--soft);
margin-bottom:48px;
line-height:1.8
}

.breadcrumbs a:hover {
color:var(--mint)
}

.breadcrumbs [aria-current] {
color:var(--muted)
}

.page-intro {
padding-block:34px 52px;
border-bottom:1px solid var(--line);
margin-bottom:28px
}

.intro-heading {
max-width:960px
}

.intro-heading h1 {
font-size:clamp(44px,5vw,70px);
margin-top:24px;
max-width:23ch
}

.intro-heading>.lead {
margin-top:25px;
max-width:60ch;
font-size:17px
}

.intro-heading>.actions {
margin-top:30px
}

.page-intro+.section {
padding-top:20px
}

.service-detail {
display:grid;
grid-template-columns:1.1fr 1fr;
gap:70px;
align-items:center
}

.service-story h2 {
font-size:37px;
max-width:22ch;
margin-top:20px
}

.service-story>.lead {
font-size:19px;
line-height:1.9;
margin-top:24px
}

.service-architecture {
padding:30px;
overflow:hidden
}

.architecture-caption {
font-size:13px;
letter-spacing:.1em;
display:block;
text-align:center;
color:var(--soft);
margin-top:25px
}

.capability-grid {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:22px
}

.capability {
padding:32px
}

.capability h2 {
font-size:25px;
line-height:1.2;
margin-top:26px
}

.capability p {
margin-top:18px;
font-size:19px;
line-height:1.9;
color:var(--muted)
}

/* Platform choices use the same rhythm, with actions aligned after the copy. */
.platform-grid {
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:var(--space-3);
}
.platform-card {
min-width:0;
display:flex;
flex-direction:column;
padding:var(--space-4);
}
.platform-card h3 {font-size:26px;line-height:1.25;letter-spacing:-.03em}
.platform-copy {margin-top:var(--space-2)}
.platform-copy p {font-size:17px;line-height:1.65;color:var(--muted);max-width:52ch}
.platform-copy .platform-note {margin-top:var(--space-2);font-size:14px;color:var(--soft)}
.platform-card .card-actions {display:flex;padding-top:var(--space-3);margin-top:auto}
@media(max-width:700px){
.platform-grid {grid-template-columns:1fr;gap:var(--space-2)}
.platform-card {padding:var(--space-3)}
.platform-card h3 {font-size:24px}
.platform-copy p {font-size:16px}
.platform-copy .platform-note {font-size:14px}
.platform-card .button {width:100%;justify-content:space-between}
}

.scope-panel {
display:grid;
grid-template-columns:.9fr 1.2fr;
gap:70px;
padding:46px
}

.scope-panel h2 {
font-size:36px;
margin-top:18px
}

.scope-panel .lead {
font-size:19px
}

.scope-panel .actions {margin-top:var(--space-3)}

.check-list {
list-style:none;
padding:0;
margin:0;
display:flex;
flex-direction:column;
gap:17px
}

.check-list li {
display:flex;
align-items:flex-start;
gap:14px;
font-size:19px;
line-height:1.8;
color:var(--muted)
}

.check-list svg {
width:18px;
height:18px;
margin-top:4px;
color:var(--mint)
}

.investment-panel {
display:grid;
grid-template-columns:1fr 1fr;
gap:50px;
padding:44px;
margin-top:24px;
background:linear-gradient(125deg,#1b302b80,#121b21)
}

.investment-panel h2 {
font-size:36px;
line-height:1.2;
margin:18px 0
}

.investment-panel h3 {
font-size:23px;
margin:16px 0
}

.investment-panel p {
font-size:19px;
color:var(--muted);
max-width:55ch
}

.investment-panel strong {
color:var(--text);
font-weight:500
}

.investment-panel small {
display:block;
font-size:16px;
color:var(--soft);
line-height:1.8;
margin-top:18px
}

.investment-panel .actions {
margin-top:var(--space-3)
}

.investment-panel .budget-actions {align-items:flex-start;flex-direction:column;gap:var(--space-2)}

.addon-panel {
display:grid;
grid-template-columns:auto 1fr;
gap:26px;
padding:40px
}

.addon-panel h2 {
font-size:32px;
max-width:30ch;
margin:17px 0
}

.addon-panel p {
font-size:19px;
line-height:1.9;
color:var(--muted);
max-width:75ch
}

.addon-bottom {
display:flex;
align-items:center;
gap:34px;
margin-top:24px
}

.addon-bottom strong {
font-size:21px;
font-weight:500;
color:var(--mint)
}

.related-panel {
padding:35px
}

.related-panel h2 {
font-size:30px;
margin:17px 0
}

.related-panel p {
color:var(--muted);
font-size:19px;
max-width:70ch
}

.related-panel .text-link {
margin-top:15px
}

.small-project-note {
font-size:19px;
color:var(--muted);
margin-top:25px;
max-width:80ch
}

.small-project-note a {
color:var(--mint);
text-decoration:underline;
text-underline-offset:4px
}

.related-line {
display:flex;
gap:26px;
align-items:center;
padding-block:15px 40px;
border-bottom:1px solid var(--line);
font-size:19px;
color:var(--muted)
}

.sales-packages {
display:flex;
flex-direction:column;
gap:28px
}

.sales-package {
display:grid;
grid-template-columns:.9fr 1.2fr;
gap:60px;
padding:44px;
scroll-margin-top:16px
}

.sales-package-heading h2 {
font-size:37px;
margin-top:26px
}

.sales-package-heading>p {
font-size:19px;
line-height:1.9;
color:var(--muted);
margin-top:18px;
max-width:40ch
}

.offer-price {
font-size:31px;
letter-spacing:-.04em;
margin-block:30px 24px;
color:var(--mint)
}

.offer-price span {
display:block;
color:var(--muted);
font-size:16px;
letter-spacing:0;
margin-top:4px
}

.sales-package-detail>.eyebrow {
margin-bottom:22px
}

.sales-package-detail h3 {
font-size:22px;
margin-top:30px
}

.sales-package-detail p {
font-size:19px;
line-height:1.9;
color:var(--muted);
margin-top:15px
}

.sales-package-detail .package-terms {
font-size:16px;
color:var(--soft);
padding-top:18px;
border-top:1px solid var(--line);
margin-top:22px
}

.note-panel {
padding:36px;
display:flex;
align-items:flex-start;
gap:26px
}

.note-panel h2 {
font-size:28px;
margin-bottom:16px
}

.note-panel p {
color:var(--muted);
font-size:19px;
max-width:70ch
}

.note-panel .text-link {margin-top:var(--space-3)}

.faq-section {
padding-bottom:45px
}

.faq-list {
max-width:880px
}

.faq-list details {
border-top:1px solid var(--line);
padding:0 4px
}

.faq-list details:last-child {
border-bottom:1px solid var(--line)
}

.faq-list summary {
cursor:pointer;
font-size:18px;
line-height:1.5;
padding:24px 30px 24px 0;
list-style:none;
position:relative
}

.faq-list summary::after {
content:"+";
position:absolute;
right:4px;
top:24px;
color:var(--mint)
}

.faq-list details[open] summary::after {
content:"−"
}

.faq-list details p {
font-size:19px;
color:var(--muted);
padding:0 35px 25px 0;
max-width:75ch
}

.case-intro-layout {
display:grid;
grid-template-columns:1.35fr 1fr;
gap:80px;
align-items:center
}

.case-intro-layout>div {min-width:0}

.case-intro-layout h1 {
font-size:88px;
margin-top:22px
}

.title-dot {
color:var(--mint)
}

.case-intro-layout .lead {
font-size:17px;
margin-top:22px
}

.case-intro-layout .button {
margin-top:28px
}

.project-passport {
margin:0;
padding:28px 32px
}

.project-passport>div+div {
border-top:1px solid var(--line);
margin-top:19px;
padding-top:19px
}

.project-passport dt {
font-size:13px;
letter-spacing:.1em;
color:var(--soft)
}

.project-passport dd {
font-size:19px;
margin:8px 0 0;
color:var(--text)
}

.case-image .browser-frame {
border-radius:16px
}

.case-image .browser-bar {
height:36px;
font-size:13px
}

.case-image img {
width:100%;
height:auto
}

.case-image figcaption {
font-size:13px;
color:var(--soft);
margin-top:14px
}

.next-project {
display:flex;
justify-content:space-between;
gap:20px;
align-items:center;
border-top:1px solid var(--line);
padding-top:30px
}

.next-project>span {
font-size:13px;
color:var(--soft);
letter-spacing:.1em
}

.next-project a {
display:flex;
align-items:center;
gap:28px;
font-size:38px;
letter-spacing:-.045em
}

.next-project a svg {
width:32px;
height:32px;
color:var(--mint)
}

.studio-feature {
position:relative;
isolation:isolate;
overflow:hidden;
min-height:530px;
padding:56px
}

.studio-feature-art {
position:absolute;
inset:0;
z-index:-2
}

.studio-feature-art img {
width:100%;
height:100%;
object-fit:cover
}

.studio-feature-art::after {
content:"";
position:absolute;
inset:0;
background:linear-gradient(90deg,#0c151af5,#0c151aaa 40%,transparent 75%)
}

.studio-feature-copy {
max-width:47%
}

.studio-feature h2 {
font-size:62px;
margin:22px 0
}

.studio-feature-copy p {
font-size:19px;
color:var(--muted);
line-height:1.9;
margin-top:17px
}

.studio-feature-copy .text-link {
margin-top:20px
}

.journal-controls {
display:flex;
justify-content:space-between;
align-items:center;
gap:24px;
flex-wrap:wrap;
border-block:1px solid var(--line);
padding-block:21px
}

.filter-buttons {
display:flex;
gap:8px;
flex-wrap:wrap
}

.filter-buttons button {
background:transparent;
border:1px solid var(--line);
border-radius:9px;
color:var(--muted);
font-size:16px;
min-height:44px;
padding:10px 16px;
transition:background .2s,color .2s
}

.filter-buttons button[aria-pressed="true"] {
background:#a4f3d415;
color:var(--mint);
border-color:#a4f3d44f
}

.journal-search input {
width:230px;
background:#ffffff04;
border:1px solid var(--line);
border-radius:9px;
padding:10px 14px;
font-size:16px;
min-height:42px;
color:var(--text)
}

.journal-search input::placeholder {
color:var(--soft)
}

.filter-status {
font-size:13px;
min-height:18px;
color:var(--soft);
margin-block:18px
}

.journal-empty {
padding:44px;
text-align:center;
color:var(--muted)
}

.journal-empty h2 {
font-size:25px;
color:var(--text);
margin-bottom:15px
}

.visually-hidden {
position:absolute;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0
}

.reading-progress {
position:fixed;
z-index:60;
top:0;
left:0;
right:0;
height:2px;
background:var(--mint);
transform:scaleX(0);
transform-origin:left;
box-shadow:0 0 10px #a4f3d466
}

.article-page {
padding-top:34px
}

.article-header {
max-width:1050px;
padding-bottom:50px
}

.article-header .breadcrumbs {
margin-bottom:38px
}

.article-header h1 {
font-size:clamp(42px,4.7vw,65px);
line-height:1.12;
max-width:24ch;
margin-top:26px
}

.article-header>.lead {
font-size:21px;
line-height:1.8;
max-width:68ch;
margin-top:26px
}

.article-byline {
display:flex;
align-items:center;
flex-wrap:wrap;
gap:14px;
margin-top:28px;
color:var(--muted);
font-size:13px
}

.author-mark {
width:40px;
height:40px;
border:0;
border-radius:0;
display:grid;
place-items:center;
color:var(--mint)
}

.author-mark svg {
width:22px;
height:25px
}

.article-layout {
display:grid;
grid-template-columns:240px minmax(0,780px);
gap:70px;
border-top:1px solid var(--line);
padding-top:44px;
justify-content:center
}

.article-toc {
align-self:start;
position:sticky;
top:130px
}

.article-toc summary {
font-size:13px;
letter-spacing:.1em;
color:var(--soft);
margin-bottom:20px;
cursor:pointer;
list-style:none
}

.article-toc nav {
list-style:none;
padding:0;
margin:0;
display:flex;
flex-direction:column;
gap:6px
}

.article-toc a {
display:block;
font-size:16px;
line-height:1.65;
color:var(--muted);
padding:7px 0 7px 15px;
border-left:1px solid var(--line)
}

.article-toc a:hover {
color:var(--mint);
border-color:var(--mint)
}

.article-body {
min-width:0;
max-width:68ch
}

.article-body section {
scroll-margin-top:16px;
margin-bottom:44px
}

.article-body h2 {
font-size:30px;
line-height:1.25;
margin-bottom:23px;
letter-spacing:-.035em
}

.article-body p {
font-size:21px;
line-height:1.8;
color:#bbc8c9;
margin-block:17px
}

.article-body p a {
color:var(--mint);
text-decoration:underline;
text-decoration-color:#a4f3d455;
text-underline-offset:4px;
overflow-wrap:anywhere
}

.article-body strong {
font-weight:500;
color:var(--text)
}

.article-takeaway {
padding:30px;
display:flex;
gap:22px;
margin-block:38px
}

.article-takeaway p {
margin:0;
font-size:19px
}

.article-next-step {
padding-block:30px;
border-block:1px solid var(--line)
}

.article-next-step h2 {
font-size:29px
}

.article-next-step .actions {
margin-top:var(--space-3)
}

.article-next-step>.text-link {
display:inline-flex;
margin-top:var(--space-2)
}

.contact-layout {
display:grid;
grid-template-columns:minmax(290px,.72fr) minmax(0,1.5fr);
gap:40px;
align-items:start;
margin-bottom:90px
}

.contact-options {
display:flex;
flex-direction:column;
gap:16px
}

.contact-channel {
display:block;
padding:25px 28px;
transition:border-color .25s,transform .25s
}

.contact-channel:hover {
border-color:#a4f3d456;
transform:translateY(-2px)
}

.contact-channel strong {
display:block;
font-size:26px;
font-weight:500;
letter-spacing:-.04em;
margin-top:16px
}

.contact-channel>span:last-child {
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
color:var(--muted);
font-size:16px;
margin-top:12px;
overflow-wrap:anywhere
}

.contact-channel svg {
width:18px;
color:var(--mint)
}

.contact-note {
padding:24px 8px;
display:flex;
gap:18px;
align-items:flex-start
}

.contact-note p {
font-size:16px;
line-height:1.9;
color:var(--soft)
}

.contact-note .icon-tile {
width:34px;
height:34px;
flex-shrink:0;
border-radius:9px
}

.contact-note svg {
width:18px
}

.contact-form-panel {
padding:34px
}

.brief-disclosure>summary {
list-style:none;
cursor:pointer;
display:flex;
align-items:flex-start;
flex-direction:column;
gap:15px;
font-size:26px;
line-height:1.25;
letter-spacing:-.035em
}

.brief-disclosure>summary::-webkit-details-marker {
display:none
}

.summary-action {
display:flex;
justify-content:space-between;
align-items:center;
width:100%;
font-size:16px;
letter-spacing:0;
color:var(--muted);
padding-bottom:20px;
border-bottom:1px solid var(--line)
}

.summary-action>span {
font-size:20px;
color:var(--mint)
}

.brief-disclosure[open] .summary-action>span {
transform:rotate(45deg)
}

.brief-disclosure>summary h2 {
font:inherit;
letter-spacing:inherit
}

.brief-card {
margin-top:26px
}

.form-row {
display:grid;
grid-template-columns:1fr 1fr;
gap:18px
}

.field {
display:flex;
flex-direction:column;
gap:9px;
margin-bottom:23px;
min-width:0
}

.field label {
font-size:16px;
color:#c5d2d1
}

.field input,.field select,.field textarea {
width:100%;
min-width:0;
background:#0a1116;
border:1px solid #c3e2d922;
border-radius:9px;
color:var(--text);
font-size:16px;
padding:13px 14px;
min-height:48px;
line-height:1.7
}

.field textarea {
resize:vertical;
min-height:145px
}

.field textarea::placeholder {
color:#819194
}

.field-hint {
font-size:13px;
color:var(--soft);
line-height:1.7
}

.form-notice {
font-size:13px;
color:var(--soft);
line-height:1.8;
margin-top:15px;
max-width:65ch
}

.brief-addon {
border:1px solid #a4f3d42e;
border-radius:10px;
padding:15px;
margin-bottom:24px;
background:#a4f3d407
}

.brief-addon label {
display:flex;
align-items:flex-start;
gap:12px;
cursor:pointer;
font-size:16px;
color:var(--text)
}

.brief-addon input {
width:16px;
height:16px;
flex-shrink:0;
accent-color:var(--mint);
margin:3px 0 0
}

.brief-addon label>span>span {
display:block;
color:var(--muted);
font-size:13px;
line-height:1.8;
margin-top:6px
}

.brief-output {
border-top:1px solid var(--line);
padding-top:28px;
margin-top:30px
}

.brief-output h3 {
font-size:29px;
line-height:1.2;
margin:15px 0
}

.brief-output>p {
font-size:16px;
color:var(--muted)
}

.brief-output pre {
white-space:pre-wrap;
overflow-wrap:anywhere;
font:12px/1.9 var(--sans);
padding:20px;
background:#060d11;
border:1px solid var(--line);
border-radius:9px;
margin-block:22px;
color:#c2d1cd
}

.output-actions {
display:flex;
flex-wrap:wrap;
align-items:center;
gap:10px
}

.output-actions .button {
font-size:16px;
min-height:44px;
padding:10px 17px
}

.output-status {
min-height:18px;
font-size:13px!important;
color:var(--mint)!important;
margin-top:18px
}

.not-found {
padding-block:160px 100px
}

.not-found h1 {
font-size:80px;
margin:25px 0
}

.not-found em {
font-style:normal;
color:var(--muted)
}

.not-found p {
font-size:19px;
color:var(--muted);
max-width:55ch;
margin-bottom:28px
}

@keyframes core-float {
0%,100% {
transform:translate3d(0,0,0) scale(1.02)
}

50% {
transform:translate3d(0,-10px,0) scale(1.04)
}
}


@keyframes layer-float {
0%,100% {
transform:rotateY(-13deg) rotateX(12deg) rotateZ(-8deg) translateY(0)
}

50% {
transform:rotateY(-9deg) rotateX(9deg) rotateZ(-6deg) translateY(-5px)
}
}

@keyframes reveal {
from {
opacity:.3;
transform:translate3d(0,18px,0)
}

to {
opacity:1;
transform:translate3d(0,0,0)
}
}

.is-revealed {
animation:reveal .65s ease backwards
}

.motion-paused *,.motion-paused *::before,.motion-paused *::after,.document-hidden *,.document-hidden *::before,.document-hidden *::after {
animation-play-state:paused!important
}

html.motion-paused {
scroll-behavior:auto
}

.motion-paused .is-revealed {
animation:none
}

@media(min-width:1500px) {

}

@media(max-width:1100px) {
.container,.wrap {
width:calc(100% - 64px)
}

.desktop-nav {
gap:22px
}

.brand {
font-size:21px
}

.studio-banner-inner {
padding:32px;
gap:28px
}

.studio-banner .text-link {
font-size:16px
}

.studio-banner h2 {
font-size:23px
}

.experience-number {
font-size:66px
}

.process-grid {
gap:0
}

.process-grid h3 {
font-size:20px
}

.journal-card-copy {
padding:23px 20px
}

.journal-card :is(h2,h3) {
font-size:22px
}

.cta-panel {
padding:42px;
gap:24px
}





.service-detail {
gap:40px
}

.capability {
padding:27px
}

.capability h2 {
font-size:22px
}

.scope-panel,.sales-package {
padding:36px;
gap:40px
}

.article-layout {
grid-template-columns:200px minmax(0,1fr);
gap:45px
}

.contact-layout {
grid-template-columns:290px minmax(0,1fr);
gap:24px
}

.contact-form-panel {
padding:28px
}

.form-row {
grid-template-columns:1fr;
gap:0
}

.case-intro-layout {
gap:40px
}

.case-intro-layout h1 {
font-size:76px
}
}

@media(max-width:1020px) {
.site-header {
padding-inline:20px
}

.nav-shell {
height:70px;
padding-inline:17px
}

.desktop-nav,.header-contact {
display:none
}

.mobile-menu {
display:block
}

.mobile-calculator {display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;color:var(--mint);font-size:13px;white-space:nowrap;margin-left:auto}
.mobile-calculator svg {width:18px;height:18px}

.mobile-menu>summary {
display:flex;
align-items:center;
justify-content:center;
gap:14px;
min-height:44px;
padding:0 12px;
font-size:16px;
border:1px solid var(--line);
border-radius:10px;
cursor:pointer
}

.mobile-menu summary i {
display:block;
position:relative;
width:17px;
height:10px;
border-block:1px solid #c6dad3;
transition:transform .25s
}

.mobile-menu[open] summary i {
border:0
}

.mobile-menu[open] summary i::before,.mobile-menu[open] summary i::after {
content:"";
position:absolute;
left:0;
top:5px;
width:17px;
height:1px;
background:#c6dad3;
transform:rotate(45deg)
}

.mobile-menu[open] summary i::after {
transform:rotate(-45deg)
}

.mobile-menu nav {
position:absolute;
top:79px;
left:0;
right:0;
max-height:calc(100dvh - 115px);
overflow:auto;
display:flex;
flex-direction:column;
padding:20px 26px;
background:#101b20f5;
backdrop-filter:blur(25px);
border:1px solid #a4f3d42e;
border-radius:18px;
box-shadow:0 20px 70px #00000066
}

.mobile-menu nav>a {
font-size:23px;
letter-spacing:-.035em;
min-height:59px;
padding-block:12px;
border-bottom:1px solid var(--line);
display:flex;
align-items:center;
justify-content:space-between
}

.mobile-menu nav>a[aria-current] {
color:var(--mint)
}

.mobile-menu nav p {
font-size:16px;
color:var(--muted);
margin-top:23px
}

.mobile-menu nav>.mobile-email {
font-size:19px;
letter-spacing:0;
border:0;
min-height:48px;
color:var(--mint);
padding-top:15px
}

.section {
padding-block:65px
}

.section-tight {
padding-top:20px
}

.section-heading h2 {
font-size:38px
}

.section-heading>.text-link {
font-size:16px
}

.project-info {
padding:23px
}

.project-cover {
padding-inline:18px
}

.project-cover-label {
font-size:12px;
margin-bottom:22px
}

.project-info :is(h2,h3) {
font-size:28px
}

.project-info p {
font-size:16px
}

.projects-grid {
gap:16px
}

.feature-layout {
gap:22px
}

.service-feature {
padding:28px
}

.service-feature :is(h2,h3) {
font-size:40px
}

.service-feature p {
font-size:19px
}

.system-layer {
max-width:95%;
padding:13px 17px;
font-size:16px
}

.system-layer svg {
width:18px
}

.system-visual {
min-height:280px
}

.service-card {
padding:28px
}

.service-card :is(h2,h3) {
font-size:28px
}

.sales-strip {
padding:26px;
grid-template-columns:auto 1fr;
gap:20px
}

.sales-strip>.text-link {
grid-column:2
}

.sales-strip :is(h2,h3) {
font-size:22px
}

.studio-banner-inner {
display:grid;
grid-template-columns:auto 1fr;
gap:18px 26px
}

.studio-banner .text-link {
grid-column:2;
margin-left:0
}

.process-grid {
grid-template-columns:1fr 1fr;
gap:0
}

.process-grid li:nth-child(3) {border-left:0}
.process-grid li:nth-child(n+3) {border-top:1px solid var(--line)}

.process-grid h3 {
margin-top:18px
}

.journal-grid {
gap:16px
}

.journal-art {
height:165px
}

.art-object {
width:72px;
height:72px;
border-radius:17px
}

.art-ai .art-object {
border-radius:50%
}

.art-object svg {
width:34px;
height:34px
}

.journal-card-copy {
padding:20px 17px
}

.journal-card :is(h2,h3) {
font-size:20px
}

.article-meta {
font-size:12px
}

.journal-card p {
font-size:16px
}

.cta-copy h2 {
font-size:37px
}

.cta-panel {
grid-template-columns:1fr 160px;
padding:34px
}

.cta-emblem svg {
width:145px;
height:100px
}

.cta-emblem span {
font-size:10px
}







.page-intro {
padding-bottom:48px
}

.intro-heading h1 {
font-size:54px
}

.service-detail {
grid-template-columns:1fr;
gap:32px
}

.service-story h2 {
font-size:34px
}

.service-architecture {
display:none
}

.capability-grid {
grid-template-columns:1fr;
gap:16px
}

.capability {
padding:28px;
display:grid;
grid-template-columns:48px 1fr;
gap:0 22px
}

.capability h2 {
margin-top:0;
font-size:25px;
align-self:center
}

.capability p {
grid-column:2;
margin-top:14px
}

.scope-panel,.investment-panel {
gap:28px;
padding:32px
}

.scope-panel h2,.investment-panel h2 {
font-size:30px
}

.addon-panel {
padding:30px
}

.addon-panel h2 {
font-size:29px
}

.sales-package {
grid-template-columns:1fr;
gap:32px
}

.sales-package-heading>p {
max-width:65ch
}

.sales-package-heading h2 {
font-size:35px
}

.sales-package-detail {
border-top:1px solid var(--line);
padding-top:28px
}

.case-intro-layout {
grid-template-columns:1fr;
gap:32px
}

.project-passport {
display:grid;
grid-template-columns:1fr 1fr 1fr;
gap:22px;
padding:25px
}

.project-passport>div+div {
border:0;
margin:0;
padding:0
}

.project-passport dd {
font-size:16px
}

.studio-feature {
padding:38px;
min-height:530px
}

.studio-feature-copy {
max-width:62%
}

.studio-feature h2 {
font-size:53px
}

.studio-feature-art img {
object-position:60% center
}

.journal-controls {
align-items:stretch
}

.journal-search {
width:100%
}

.journal-search input {
width:100%
}

.article-layout {
grid-template-columns:1fr;
gap:30px
}

.article-toc {
position:static;
border:1px solid var(--line);
border-radius:12px;
padding:20px
}

.article-toc summary {
margin:0;
display:flex;
justify-content:space-between
}

.article-toc summary::after {
content:"+";
color:var(--mint)
}

.article-toc details[open] summary::after {
content:"−"
}

.article-toc nav {
margin-top:16px
}

.article-body {
max-width:100%
}

.contact-layout {
grid-template-columns:1fr
}

.contact-options {
display:grid;
grid-template-columns:1fr 1fr 1fr;
gap:12px
}

.contact-channel {
padding:20px 17px
}

.contact-channel strong {
font-size:22px
}

.contact-channel .eyebrow {
font-size:12px
}

.contact-channel>span:last-child {
font-size:13px
}

.contact-note {
grid-column:1/-1;
padding:14px 8px
}

.contact-form-panel {
padding:32px
}

.form-row {
grid-template-columns:1fr 1fr;
gap:18px
}

.hero-inner {
grid-template-columns:1.15fr 1fr
}

.hero h1 {
font-size:60px
}

.hero-copy>p {
font-size:18px
}

.hero .pill {
font-size:11px
}







.price-grid {
grid-template-columns:1fr 1fr
}

.price-grid>.price-card:last-child:nth-child(odd) {
grid-column:1/-1
}

.journey-panel {
grid-template-columns:1fr 1.1fr
}

.journey-step {
padding:17px;gap:5px 10px
}

.journey-step strong {
font-size:20px
}

.journey-steps {
padding:16px
}

.service-feature,.scope-panel,.investment-panel {
padding:32px
}

.article-header {
max-width:100%
}
}

@media(max-width:600px) {
.container,.wrap {
width:calc(100% - 36px)
}

main {
padding-top:94px
}

.site-header {
top:12px;
padding-inline:12px
}

.nav-shell {
height:64px;
padding:10px 12px;
border-radius:14px;
gap:12px;
background:linear-gradient(115deg,#18262bf2,#0c161df2);
backdrop-filter:blur(8px)
}

.brand {
font-size:19px;
gap:8px
}

.brand-symbol,.brand-symbol svg {
width:36px
}

.brand-sub {
font-size:10px;
margin-top:6px
}

.mobile-menu>summary {
font-size:13px;
padding-inline:10px;
gap:10px;
min-height:44px
}

.mobile-menu nav {
top:73px;
padding:17px 24px
}

.section {
padding-block:45px
}

.section-tight {
padding-top:10px
}

.section-heading {
margin-bottom:25px;
align-items:flex-start;
flex-direction:column;
gap:16px
}

.section-heading h2 {
font-size:34px;
margin-top:14px;
line-height:1.13
}

.section-heading p {
font-size:16px;
line-height:1.85;
margin-top:17px
}

.eyebrow {
font-size:12px;
letter-spacing:.1em
}

.section-heading>.text-link {
font-size:14px;
min-height:32px
}

.projects-grid {
grid-template-columns:1fr;
gap:20px
}

.project-cover {
padding:20px 20px 0
}

.project-cover-label {
font-size:12px;
margin-bottom:24px
}

.project-info {
padding:24px
}

.project-info :is(h2,h3) {
font-size:30px
}

.project-info p {
font-size:16px
}

.tags span {
font-size:12px
}

.services-grid {
grid-template-columns:1fr;
gap:17px
}

.service-feature {
padding:26px 24px 20px
}

.feature-layout {
grid-template-columns:1fr;
gap:22px;
padding-bottom:20px
}

.service-feature :is(h2,h3) {
font-size:35px;
margin-top:21px
}

.service-feature p {
font-size:16px
}

.feature-layout .system-visual {
min-height:264px;
margin-top:0;
overflow:hidden
}

.system-layer {
max-width:88%;
font-size:14px;
height:62px
}

.system-wire {
height:25px
}

.feature-bottom {
flex-direction:column;
gap:6px;
font-size:13px
}

.feature-bottom span:last-child {
font-size:12px
}

.service-card {
padding:27px 24px
}

.service-card :is(h2,h3) {
font-size:29px
}

.service-card p {
font-size:16px
}

.service-card .text-link {
margin-top:18px
}

.sales-strip {
grid-template-columns:1fr;
padding:26px 24px;
gap:17px
}

.sales-strip>.text-link {
grid-column:1
}

.sales-strip .eyebrow {
font-size:12px
}

.sales-strip :is(h2,h3) {
font-size:26px;
line-height:1.2;
margin-top:12px
}

.sales-strip p {
font-size:14px;
line-height:1.9;
margin-top:12px
}

.studio-banner {
padding-block:10px 20px
}

.studio-banner-inner {
padding:27px 25px;
grid-template-columns:1fr;
gap:22px
}

.experience-number {
font-size:73px
}

.studio-banner h2 {
font-size:26px
}

.studio-banner p {
font-size:16px
}

.studio-banner .text-link {
grid-column:1;
font-size:14px
}

.process-grid {
grid-template-columns:1fr;
gap:0
}

.process-grid li {
padding:24px 20px;
display:grid;
grid-template-columns:38px 1fr;
gap:0 14px
}

.process-grid li+li {border-left:0;border-top:1px solid var(--line)}
.process-grid li::before {inset:0 auto 0 0;width:2px;height:auto;transform-origin:top}

.process-grid h3 {
font-size:23px;
max-width:none;
margin-top:0
}

.process-grid .step-number {
padding-top:0
}

.process-grid p {
grid-column:2;
font-size:16px;
margin-top:13px
}

.journal-grid,.journal-grid-two {
grid-template-columns:1fr;
gap:20px
}

.journal-art {
height:195px
}

.art-object {
width:86px;
height:86px
}

.journal-card-copy {
padding:25px
}

.article-meta {
font-size:13px
}

.journal-card :is(h2,h3) {
font-size:27px
}

.journal-card p {
font-size:16px
}

.journal-card .text-link {
font-size:14px;
padding-top:25px
}

.cta-section {
padding-block:20px 58px
}

.cta-panel {
padding:31px 26px;
display:block
}

.cta-copy h2 {
font-size:34px;
line-height:1.15;
margin:19px 0
}

.cta-copy p {
font-size:16px;
line-height:1.9
}

.cta-copy .actions {
gap:14px;
align-items:stretch;
flex-direction:column
}

.cta-copy .button {
justify-content:space-between;
font-size:14px
}

.cta-copy .text-link {
font-size:14px
}

.cta-emblem {
position:absolute;
right:-20px;
bottom:-35px;
opacity:.07;
z-index:-1
}

.cta-emblem svg {
width:260px;
height:170px
}

.cta-emblem span {
display:none
}













.motion-switch {
font-size:12px
}

.page-intro {
padding-block:17px 38px
}

.breadcrumbs {
font-size:12px;
gap:8px;
margin-bottom:34px
}

.intro-heading h1 {
font-size:40px;
line-height:1.12;
margin-top:19px
}

.intro-heading>.lead {
font-size:16px;
line-height:1.9;
margin-top:22px
}

.intro-heading>.actions {
margin-top:25px;
align-items:flex-start;
flex-direction:column;
gap:var(--space-2)
}

.intro-heading .button {
font-size:14px;
min-height:var(--control-height);
width:100%;
justify-content:space-between
}

.lead {
font-size:16px
}

.service-detail {
gap:24px
}

.service-story h2 {
font-size:31px;
line-height:1.16
}

.service-story>.lead {
font-size:16px
}

.capability {
display:block;
padding:27px 25px
}

.capability h2 {
font-size:26px;
margin-top:23px
}

.capability p {
font-size:16px;
margin-top:17px
}

.scope-panel,.investment-panel {
grid-template-columns:1fr;
gap:28px;
padding:28px 25px
}

.scope-panel h2,.investment-panel h2 {
font-size:30px
}

.scope-panel .lead {
font-size:16px
}

.check-list li {
font-size:16px;
gap:12px
}

.check-list {
gap:18px
}

.investment-panel p {
font-size:16px
}

.investment-panel h3 {
font-size:24px
}

.addon-panel {
grid-template-columns:1fr;
padding:28px 25px;
gap:21px
}

.addon-panel h2 {
font-size:28px;
line-height:1.18;
margin-block:18px
}

.addon-panel p {
font-size:16px
}

.addon-bottom {
align-items:flex-start;
flex-direction:column;
gap:12px
}

.addon-bottom strong {
font-size:24px
}

.small-project-note {
font-size:14px;
line-height:1.9
}

.related-line {
align-items:flex-start;
flex-direction:column;
gap:8px;
font-size:14px
}

.related-panel {
padding:28px 25px
}

.related-panel h2 {
font-size:28px
}

.related-panel p {
font-size:16px
}

.sales-package {
padding:28px 25px;
gap:27px
}

.sales-package-heading h2 {
font-size:34px;
margin-top:22px
}

.sales-package-heading>p {
font-size:16px
}

.offer-price {
font-size:31px
}

.sales-package .button {
font-size:14px;
width:100%;
justify-content:space-between
}

.sales-package-detail p {
font-size:16px
}

.sales-package-detail .package-terms {
font-size:14px
}

.note-panel {
padding:27px 25px;
flex-direction:column;
gap:20px
}

.note-panel h2 {
font-size:27px;
line-height:1.2
}

.note-panel p {
font-size:16px
}

.faq-list summary {
font-size:16px
}

.faq-list details p {
font-size:16px;
padding-right:10px
}

.case-intro-layout h1 {
font-size:61px;
margin-top:18px
}

.case-intro-layout .lead {
font-size:16px;
line-height:1.9
}

.project-passport {
grid-template-columns:1fr;
padding:25px;
gap:20px
}

.project-passport>div+div {
border-top:1px solid var(--line);
padding-top:20px
}

.project-passport dd {
font-size:16px
}

.case-image .browser-bar {
height:27px;
font-size:12px
}

.case-image figcaption {
font-size:12px
}

.next-project a {
font-size:30px;
gap:18px
}

.next-project>span {
font-size:12px
}

.studio-feature {
min-height:0;
padding:30px 26px
}

.studio-feature-copy {
max-width:100%
}

.studio-feature h2 {
font-size:clamp(28px,8.5vw,34px);line-height:1.18
}

.studio-feature-copy p {
font-size:16px
}

.studio-feature-copy .text-link {
font-size:14px
}

.studio-feature-art {
display:none
}

.studio-feature-art::after {
background:linear-gradient(180deg,#101b20,transparent 62%)
}

.studio-feature-art img {
object-position:75% center
}

.filter-buttons {
gap:7px
}

.filter-buttons button {
font-size:13px;
padding-inline:12px
}

.journal-controls {
gap:17px;
padding-block:18px
}

.journal-search input {
font-size:16px;
min-height:46px
}

.article-page {
padding-top:17px
}

.article-header {
padding-bottom:30px
}

.article-header h1 {
font-size:38px;
line-height:1.16;
letter-spacing:-.04em;
margin-top:23px
}

.article-header>.lead {
font-size:16px;
line-height:1.9;
margin-top:22px
}

.article-header .breadcrumbs {
margin-bottom:27px
}

.article-header .pill {
font-size:13px
}

.article-byline {
font-size:13px;
gap:10px;
margin-top:23px
}

.article-layout {
padding-top:27px;
gap:32px
}

.article-body h2 {
font-size:28px;
margin-bottom:20px;
line-height:1.23
}

.article-body p {
font-size:16px;
line-height:1.9;
margin-block:17px
}

.article-body section {
margin-bottom:35px
}

.article-takeaway {
padding:25px;
flex-direction:column;
gap:18px;
margin-block:30px
}

.article-takeaway p {
font-size:16px;
margin:0
}

.article-next-step h2 {
font-size:28px
}

.article-next-step .button {
width:100%;
font-size:14px
}

.article-next-step>.text-link {
margin:14px 0 0;
font-size:14px
}

.contact-layout {
gap:25px;
margin-bottom:55px
}

.contact-options {
grid-template-columns:1fr;
gap:13px
}

.contact-channel {
padding:23px 25px
}

.contact-channel strong {
font-size:26px
}

.contact-channel .eyebrow {
font-size:12px
}

.contact-channel>span:last-child {
font-size:16px
}

.contact-note {
padding:18px 5px 0
}

.contact-form-panel {
padding:27px 23px
}

.brief-disclosure>summary {
font-size:26px;
line-height:1.22
}

.form-row {
grid-template-columns:1fr;
gap:0
}

.field select,.field textarea {
font-size:16px;
padding:12px;
line-height:1.6
}

.field label {
font-size:14px
}

.field-hint {
font-size:13px
}

.brief-addon label {
font-size:14px
}

.brief-card {
margin-top:25px
}

.brief-card form>.button {
font-size:14px;
width:100%;
padding-inline:16px;
gap:10px
}

.form-notice {
font-size:13px
}

.brief-output pre {
padding:15px;
font-size:14px
}

.not-found {
padding-block:130px 70px
}

.not-found h1 {
font-size:56px
}

.not-found p {
font-size:16px
}

.experience-number small {
font-size:13px;
margin-top:9px
}

.related-line h2 {
font-size:25px
}
}

@media(prefers-reduced-motion:reduce) {
html {
scroll-behavior:auto
}

*,*::before,*::after {
animation:none!important;
transition:none!important
}

.button:hover,.project-card:hover,.journal-card:hover,.contact-channel:hover {
transform:none
}

.project-card:hover img {
transform:none
}


.demo-flow i::after {
animation:none
}
}

.experience-number small {
display:block;
font-size:13px;
letter-spacing:.12em;
line-height:1.6;
margin-top:14px;
color:var(--muted)
}

.experience-number>span {
font-size:.55em;
vertical-align:top;
display:inline-block;
margin-top:9px
}

.studio-banner-inner>.experience-number {
min-width:110px;
max-width:none
}

.investment-panel+.addon-panel,.investment-panel+.related-panel {
margin-top:24px
}

.investment-panel p+p {
margin-top:18px
}

.related-line h2 {
font-size:24px;
margin-bottom:12px
}

.related-actions {display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}

.related-line h2 a {
display:inline-flex;
align-items:center;
gap:16px;
min-height:40px
}

.related-line h2 svg {
width:20px;
color:var(--mint)
}

.related-line p {
max-width:75ch;
line-height:1.85
}

.article-takeaway>.icon-tile {
flex-shrink:0
}

.article-toc a>span {
margin-right:8px;
color:var(--soft)
}

.article-byline small {
display:block;
font-size:13px;
color:var(--soft);
margin-top:3px
}

.hero {
position:relative;isolation:isolate;border-bottom:1px solid #a4f3d42e
}

.hero-atmosphere {position:absolute;inset:-104px 0 0;overflow:hidden;z-index:-1;pointer-events:none;background:transparent}
.hero-atmosphere::before {content:"";position:absolute;width:1100px;height:900px;max-width:120vw;right:-12%;top:-250px;background:radial-gradient(ellipse,#a4f3d42b 0%,#72d4bd10 42%,transparent 70%)}
.hero-atmosphere::after {content:"";position:absolute;inset:0;background-image:linear-gradient(#a4f3d409 1px,transparent 1px),linear-gradient(90deg,#a4f3d409 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent 35%,#000 100%)}
.motion-ready .hero-atmosphere::before {animation:ambient-drift 24s ease-in-out infinite alternate}
@keyframes ambient-drift {from{transform:translate3d(-4%,2%,0) scale(.96);opacity:.72}to{transform:translate3d(5%,6%,0) scale(1.04);opacity:1}}

.hero-inner {
display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:40px;min-height:0;padding-block:clamp(32px,5svh,64px)
}

.hero-copy {
position:relative;z-index:2;min-width:0
}

.hero h1 {
font-size:clamp(48px,5vw,76px);line-height:1.07;letter-spacing:-.055em;margin-top:24px
}

.hero h1 span {
color:var(--mint)
}

.hero-copy>p {
max-width:46ch;font-size:19px;line-height:1.65;margin-top:24px;color:var(--muted)
}

.hero .actions {
margin-top:26px;gap:var(--space-2)
}

.hero .button {
min-height:52px;font-size:15px
}

.hero-caption {
display:flex;align-items:center;gap:14px;font-size:13px;line-height:1.6;margin-top:22px;color:var(--muted)
}

.tiny-mark svg {
width:32px;height:24px;color:var(--mint)
}

.hero-bottom {
display:flex;align-items:center;gap:24px;border-top:1px solid var(--line);padding-block:24px;font-size:14px;color:var(--muted)
}

.hero-bottom i {
width:3px;height:3px;border-radius:50%;background:var(--mint)
}

.hero-bottom a {
margin-left:auto;display:grid;place-items:center;border:1px solid var(--line);width:44px;height:44px;border-radius:50%;transform:rotate(90deg)
}

.business-scene {
--scene-accent:#a4f3d4;--scene-paper:#f2f6f4;
--wire-width:56px;--wire-y:84px;--wire-bend:calc(var(--wire-width)*.361111);
min-width:0;position:relative;padding:24px;
border:1px solid #a4f3d440;border-radius:24px;
background:linear-gradient(145deg,#172822f5,#0e181bf5);
box-shadow:inset 0 1px 0 #e4fff212,0 24px 60px #0003
}

.scene-heading {
display:flex;justify-content:space-between;align-items:flex-start;gap:12px;min-height:66px
}

.scene-kicker {
display:block;font-size:10px;letter-spacing:.13em;line-height:1.5;color:var(--scene-accent)
}

.scene-heading h2 {
margin-top:10px;font-size:25px;line-height:1.2;letter-spacing:-.035em
}

.scene-heading h2 span {color:var(--text)}

.scene-pause {
flex-shrink:0;min-height:44px;min-width:66px;padding:8px 10px;border:1px solid var(--line);
background:transparent;border-radius:6px;color:var(--muted);font-size:12px;line-height:1.3
}

.scene-pause:disabled {cursor:default;color:var(--soft);max-width:82px}
.scene-pause[hidden] {display:block;visibility:hidden}
.scene-pause:hover:not(:disabled) {border-color:var(--scene-accent);color:var(--scene-accent)}
.scene-invitation {font-size:13px;line-height:1.6;color:var(--soft);margin-top:6px}

.scene-drawing {
display:grid;grid-template-columns:minmax(160px,.95fr) 56px minmax(0,1.2fr);align-items:start;margin-top:24px
}

.scene-choices {
padding:0;margin:0;border:0;min-width:0;display:grid;grid-auto-rows:56px
}

.scene-choice {
position:relative;display:flex;align-items:center;gap:10px;min-width:0;padding:7px 10px;
border-bottom:1px solid var(--line);border-left:2px solid transparent;cursor:pointer
}

.scene-choice input {
position:absolute;width:1px;height:1px;margin:0;padding:0;border:0;clip-path:inset(50%);overflow:hidden
}

.scene-choice:has(input:checked) {
color:var(--scene-accent);background:#a4f3d414;border-left-color:var(--scene-accent)
}

.scene-choice:has(input:focus-visible) {outline:2px solid var(--scene-accent);outline-offset:4px;z-index:2}
.scene-choice:hover {background:#a4f3d40a}
.scene-index {font-size:10px;color:var(--soft);font-variant-numeric:tabular-nums}
.scene-choice-copy {min-width:0}
.scene-choice-copy strong {display:block;font-size:14px;font-weight:500;line-height:1.5}
.scene-choice-copy>span {display:block;font-size:12px;line-height:1.6;color:var(--soft)}
.scene-port {position:absolute;width:5px;height:5px;right:0;border:1px solid #717c79;background:var(--bg);border-radius:50%}
.scene-choice:has(input:checked) .scene-port {background:var(--scene-accent);border-color:var(--scene-accent)}

.scene-routes {position:relative;width:100%;height:336px;overflow:visible}
.scene-routes svg {width:100%;height:100%}
.scene-track {stroke:#b4bbae24;stroke-width:1;vector-effect:non-scaling-stroke}
.scene-route {opacity:0;stroke:var(--scene-accent);stroke-width:1.5;vector-effect:non-scaling-stroke}
.scene-pulse {position:absolute;left:-2px;top:-2px;width:4px;height:4px;background:#dcfff0;border-radius:50%;box-shadow:0 0 7px #a4f3d480;opacity:0;pointer-events:none}
.scene-enhanced .scene-pulse {animation:scene-trace 5s linear infinite;will-change:transform,opacity}

.scene-solutions {display:grid;min-width:0}
.scene-solution {grid-area:1/1;visibility:hidden;min-width:0;display:flex;flex-direction:column}
.scene-product {
position:relative;display:flex;flex-direction:column;min-height:336px;padding:19px 20px 14px;
background:var(--scene-paper);color:#263932;border-radius:12px;
border-top:3px solid #77bda1
}

.scene-product::before {
content:"";position:absolute;left:-4px;top:163px;width:7px;height:7px;border:1px solid var(--scene-accent);background:var(--bg)
}

.scene-product-meta {display:flex;justify-content:space-between;gap:8px;font-size:8px;letter-spacing:.055em;line-height:1.5;color:#4d6056}
.scene-product-meta>span:last-child {white-space:nowrap;font-variant-numeric:tabular-nums}
.scene-selected-pain {display:none}
.scene-product-kind {font-size:9px;letter-spacing:.08em;line-height:1.5;margin-top:24px;color:#4e6257}
.scene-product h3 {font-size:25px;letter-spacing:-.045em;line-height:1.14;margin-top:8px;color:#1b3428}
.scene-steps {list-style:none;counter-reset:scene-step;padding:0;margin:22px 0;display:grid;gap:0}
.scene-steps li {counter-increment:scene-step;position:relative;display:flex;align-items:center;gap:10px;min-height:35px;font-size:14px;line-height:1.5}
.scene-steps li>span {min-width:0;overflow-wrap:anywhere}
.scene-steps li::before {content:counter(scene-step);display:grid;place-items:center;width:20px;height:20px;border:1px solid #809587;border-radius:50%;font-size:10px;flex-shrink:0;position:relative;background:var(--scene-paper);z-index:1}
.scene-steps li:not(:last-child)::after {content:"";position:absolute;left:10px;top:25px;height:22px;border-left:1px solid #809587}
.scene-product-foot {margin-top:auto;padding-top:11px;border-top:1px solid #80958760;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:8px;line-height:1.5;color:#4d6056}
.scene-product-mark {font-size:20px;letter-spacing:-.08em;line-height:1}
.scene-product-mark svg {width:24px;height:27px;display:block}

.scene-benefit {position:relative;padding:16px 0 0 14px;margin-top:18px;border-left:2px solid #a4f3d440}
.scene-benefit-label {font-size:9px;letter-spacing:.12em;color:var(--scene-accent)}
.scene-benefit p {font-size:14px;line-height:1.6;color:var(--text);margin-top:5px}
.scene-benefit a {display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;font-size:13px;color:var(--scene-accent);text-underline-offset:4px}
.scene-benefit a:hover {text-decoration:underline}
.scene-benefit a svg {width:17px;height:17px}
.scene-footnote {display:flex;align-items:center;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:10px;line-height:1.6;color:var(--soft)}
.scene-drawing-key {width:22px;height:1px;background:var(--scene-accent);flex-shrink:0}

.business-scene:has(#scene-marketing:checked) .solution-marketing,
.business-scene:has(#scene-sales:checked) .solution-sales,
.business-scene:has(#scene-service:checked) .solution-service,
.business-scene:has(#scene-ai:checked) .solution-ai,
.business-scene:has(#scene-operations:checked) .solution-operations,
.business-scene:has(#scene-data:checked) .solution-data {visibility:visible}

.motion-ready:not(.motion-paused) .business-scene:has(#scene-marketing:checked) .solution-marketing,
.motion-ready:not(.motion-paused) .business-scene:has(#scene-sales:checked) .solution-sales,
.motion-ready:not(.motion-paused) .business-scene:has(#scene-service:checked) .solution-service,
.motion-ready:not(.motion-paused) .business-scene:has(#scene-ai:checked) .solution-ai,
.motion-ready:not(.motion-paused) .business-scene:has(#scene-operations:checked) .solution-operations,
.motion-ready:not(.motion-paused) .business-scene:has(#scene-data:checked) .solution-data {animation:scene-solution-in .28s ease-out}
@keyframes scene-solution-in {from{opacity:.55;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

.business-scene:has(#scene-marketing:checked) .route-marketing,
.business-scene:has(#scene-sales:checked) .route-sales,
.business-scene:has(#scene-service:checked) .route-service,
.business-scene:has(#scene-ai:checked) .route-ai,
.business-scene:has(#scene-operations:checked) .route-operations,
.business-scene:has(#scene-data:checked) .route-data {opacity:1}

.business-scene:has(#scene-marketing:checked) {--wire-y:28px;--wire-bend:calc(var(--wire-width)*.305556)}
.business-scene:has(#scene-sales:checked) {--wire-y:84px;--wire-bend:calc(var(--wire-width)*.361111)}
.business-scene:has(#scene-service:checked) {--wire-y:140px;--wire-bend:calc(var(--wire-width)*.416667)}
.business-scene:has(#scene-ai:checked) {--wire-y:196px;--wire-bend:calc(var(--wire-width)*.472222)}
.business-scene:has(#scene-operations:checked) {--wire-y:252px;--wire-bend:calc(var(--wire-width)*.527778)}
.business-scene:has(#scene-data:checked) {--wire-y:308px;--wire-bend:calc(var(--wire-width)*.583333)}

@keyframes scene-trace {
0%,8% {opacity:0;transform:translate3d(0,var(--wire-y),0)}
12% {opacity:1;transform:translate3d(0,var(--wire-y),0)}
35% {opacity:1;transform:translate3d(var(--wire-bend),var(--wire-y),0)}
65% {opacity:1;transform:translate3d(var(--wire-bend),168px,0)}
90% {opacity:1;transform:translate3d(var(--wire-width),168px,0)}
96%,100% {opacity:0;transform:translate3d(var(--wire-width),168px,0)}
}

@media(min-width:1001px) and (max-width:1200px) {
.business-scene {--wire-width:30px;padding:20px}
.scene-drawing {grid-template-columns:minmax(145px,.9fr) 30px minmax(0,1.1fr)}
.scene-choice {gap:6px;padding-inline:7px}
.scene-choice-copy strong {font-size:12px}
.scene-choice-copy>span {font-size:11px}
.scene-product {padding-inline:14px}
.scene-product h3 {font-size:23px}
}

@media(min-width:701px) and (max-width:1000px) {
.hero .hero-inner {grid-template-columns:1fr;gap:36px}
.hero-copy {max-width:720px}
.business-scene {--wire-width:72px;width:100%;max-width:740px;justify-self:center}
.scene-drawing {grid-template-columns:minmax(200px,1fr) 72px minmax(0,1.3fr)}
}

@media(max-width:700px) {
.business-scene {width:100%;margin-top:32px;padding:20px 16px;border-radius:20px}
.scene-heading {min-height:62px}
.scene-heading h2 {font-size:22px;max-width:230px}
.scene-heading h2 span {display:block}
.scene-kicker {font-size:9px;letter-spacing:.1em}
.scene-invitation {font-size:12px;margin-top:9px}
.scene-drawing {grid-template-columns:1fr;margin-top:16px;gap:18px}
.scene-choices {grid-template-columns:1fr 1fr;grid-auto-rows:minmax(46px,auto);gap:0 12px}
.scene-choice {gap:7px;padding:8px 6px}
.scene-choice-copy strong {font-size:13px}
.scene-choice-copy>span {position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.scene-port,.scene-routes {display:none}
.scene-product {min-height:0;padding:14px}
.scene-product::before {left:26px;top:-5px;transform:rotate(45deg)}
.scene-product-meta,.scene-product-kind,.scene-product-foot {display:none}
.scene-selected-pain {display:block;font-size:12px;color:#4e6257;line-height:1.5}
.scene-product h3 {font-size:23px;max-width:100%}
.scene-product h3 br {display:none}
.scene-steps {grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 0}
.scene-steps li {flex-direction:column;align-items:flex-start;gap:7px;font-size:12px}
.scene-steps li:not(:last-child)::after {left:24px;right:0;top:10px;height:1px;border:0;background:#809587}
.scene-benefit {padding-top:14px}
.scene-benefit p {font-size:13px;max-width:44ch}
.scene-footnote {margin-top:8px;font-size:10px}
}

.glass-panel:hover {
border-color:#b7e9e43d
}

.button:active {
transform:translateY(1px)
}

.service-feature,.scope-panel,.investment-panel {
padding:46px
}

.price-grid {
display:grid;grid-template-columns:repeat(var(--price-columns,3),minmax(0,1fr));gap:20px;margin-top:24px
}

.price-grid-compact {--price-columns:3}

.price-card {
padding:32px;display:flex;flex-direction:column;min-width:0
}

.price-card :is(h2,h3) {
font-size:25px;line-height:1.2;min-height:2.4em;max-width:20ch
}

.price-card>strong {
font-size:30px;font-weight:500;letter-spacing:-.045em;line-height:1.25;color:var(--mint);margin-top:24px
}

.price-period {
font-size:14px;color:var(--soft);margin-top:6px
}

.price-card p {
font-size:17px;line-height:1.75;color:var(--muted);margin-block:24px
}

.price-card .text-link {
margin-top:auto;font-size:16px
}

.flagship-offer {
display:grid;grid-template-columns:1.3fr 1fr;gap:64px;padding:48px;background:radial-gradient(ellipse at 0% 0%,#375b5959,transparent 65%),linear-gradient(130deg,#18272de8,#0e171df5);border-color:#b7f8db45
}

.flagship-offer :is(h2,h3) {
font-size:clamp(34px,3vw,48px);margin-block:24px;max-width:19ch;line-height:1.14
}

.flagship-offer :is(h2,h3) span {
color:var(--mint)
}

.flagship-offer p {
font-size:19px;line-height:1.75;color:var(--muted);max-width:52ch
}

.flagship-offer .actions {
margin-top:28px
}

.flagship-budget {
border-left:1px solid #d4fff133;padding-left:48px;display:flex;flex-direction:column;justify-content:center
}

.flagship-budget>strong {
font-size:48px;line-height:1.1;font-weight:400;letter-spacing:-.05em;margin-block:24px;color:#dbfff1
}

.flagship-budget>strong span {
display:block
}

.discovery-results {
list-style:none;padding:0;margin:20px 0 0;display:grid;gap:12px
}

.discovery-results li {
display:flex;gap:12px;align-items:baseline;font-size:16px;line-height:1.5;color:var(--text)
}

.discovery-results li span {
flex-shrink:0;font-size:12px;color:var(--mint);font-variant-numeric:tabular-nums
}

.brief-intro {
max-width:60ch;margin:20px 0 28px;font-size:17px;line-height:1.7;color:var(--muted)
}

.flagship-budget p {
font-size:17px;max-width:43ch
}

.budget-note {
font-size:14px;color:var(--mint);margin-top:20px
}

.pricing-followup {
display:flex;justify-content:space-between;align-items:center;gap:40px;padding-top:26px
}

.pricing-followup p {
font-size:17px;color:var(--muted);max-width:66ch
}

.pricing-followup .text-link {
flex-shrink:0
}

.price-disclaimer {
max-width:90ch;font-size:14px;line-height:1.8;color:var(--soft);margin-top:24px
}

.journey-panel {
display:grid;grid-template-columns:1fr 1.2fr;overflow:hidden
}

.journey-steps {
padding:24px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:12px
}

.journey-step {
position:relative;text-align:left;display:grid;grid-template-columns:30px 1fr;gap:5px 16px;padding:24px;color:var(--muted);border:1px solid transparent;border-radius:14px;background:transparent;transition:background .3s,border-color .3s
}

.journey-panel:has(.journey-steps[hidden]) {
grid-template-columns:1fr
}

.journey-fallback h3 {
margin-top:32px
}

.journey-step>span {
grid-row:span 2;font-size:14px;color:var(--soft);padding-top:4px
}

.journey-step strong {
font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-.03em
}

.journey-step small {
font-size:15px
}

.journey-step[aria-pressed="true"] {
color:var(--text);background:linear-gradient(120deg,#b2ffd917,#b2ffd904);border-color:#b2ffd93a
}

.journey-step[aria-pressed="true"]>span {
color:var(--mint)
}

.journey-demo {
min-height:400px;padding:38px 46px;position:relative;background:radial-gradient(ellipse at 60% 0%,#2b7b6b21,transparent 70%)
}

.demo-heading {
display:flex;justify-content:space-between;align-items:center;gap:15px
}

.demo-status {
font-size:12px;letter-spacing:.04em;color:var(--mint);display:flex;align-items:center;gap:8px
}

.demo-flow {
display:flex;align-items:center;gap:14px;margin-block:45px 32px
}

.demo-flow>span {
position:relative;width:66px;height:66px;display:grid;place-items:center;border-radius:16px;border:1px solid #c0ffeb37;background:#a4f3d40b;color:var(--mint);box-shadow:inset 0 1px #fff1
}

.demo-flow svg {
width:28px;height:28px
}

.demo-flow i {
position:relative;flex:1;height:1px;background:#a4f3d437;overflow:visible
}

.demo-flow i::after {
content:"";position:absolute;width:26px;height:3px;top:-1px;left:0;background:linear-gradient(90deg,transparent,var(--mint));box-shadow:0 0 12px #a4f3d4;animation:signal-travel 3s ease-in-out infinite
}

.demo-flow i:nth-of-type(2)::after {
animation-delay:1.4s
}

.journey-demo h3 {
font-size:30px;line-height:1.2;max-width:24ch
}

.journey-demo p {
font-size:18px;line-height:1.7;color:var(--muted);margin-top:18px;max-width:52ch
}

.demo-boundary {
display:block;font-size:13px;color:var(--soft);margin-top:26px
}

.experience-number svg {
width:110px;height:75px;color:var(--mint)
}

.contact-channel .eyebrow {
font-size:12px
}

.privacy-copy {
max-width:800px;padding-bottom:90px
}

.privacy-copy section {
margin-bottom:44px
}

.privacy-copy h2 {
font-size:30px;margin-bottom:20px
}

.privacy-copy p {
font-size:19px;color:var(--muted);line-height:1.8;margin-block:16px
}

.privacy-copy a {
text-decoration:underline;text-underline-offset:4px;color:var(--mint)
}










.consent-panel{position:fixed;z-index:80;left:20px;right:20px;bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:36px;max-width:1400px;margin-inline:auto;max-height:calc(100dvh - 32px);overflow:auto;padding:26px 30px;border:1px solid #a4f3d45c;border-radius:22px;background:linear-gradient(125deg,#1c3934f9,#101e25fc);box-shadow:0 16px 56px #0009;backdrop-filter:blur(18px);animation:consent-appear .22s ease-out}
.consent-copy{max-width:780px}
.consent-panel h2{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:550;letter-spacing:-.02em;line-height:1.3;margin:0}
.consent-dot{width:6px;height:6px;border-radius:50%;background:var(--mint);flex:0 0 6px;box-shadow:0 0 10px #a4f3d444}
.consent-panel p{font-size:14px;line-height:1.6;margin:10px 0 0;color:var(--muted)}
.consent-panel p a{color:var(--text);text-decoration:underline;text-underline-offset:3px}
.consent-actions{display:flex;flex-direction:column;flex:0 0 230px;gap:10px}
.consent-actions .button{min-height:48px;padding:12px 18px;font-size:14px;border-radius:12px;white-space:nowrap;justify-content:center}
@keyframes consent-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.motion-paused .consent-panel{animation:none}
@media(prefers-reduced-motion:reduce){.consent-panel{animation:none}.footer-fold-symbol::after{transition:none}}
@media(max-width:700px){.consent-panel{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));padding:22px 20px;display:block;border-radius:20px}.consent-panel h2{font-size:19px}.consent-panel p{font-size:13px}.consent-actions{margin-top:18px;gap:9px}.consent-actions .button{width:100%;min-height:46px}}

@keyframes signal-travel {
0%,10% {
transform:translateX(0);opacity:0
}

35% {
opacity:1
}

90%,100% {
transform:translateX(var(--signal-travel,0px));opacity:0
}
}

@media(min-width:1800px) {
.hero-inner {
min-height:0;gap:36px
}

.hero-copy>p {
font-size:20px
}

.hero .button {
font-size:16px;min-height:54px
}

.hero-caption {
font-size:14px
}

.hero h1 {
font-size:80px
}


}

@media(max-width:1200px) {
.hero-inner {
gap:28px;min-height:0
}

.hero h1 {
font-size:clamp(44px,5.2vw,62px)
}

.hero-copy>p {
font-size:19px
}

.hero .actions {
align-items:center;flex-direction:row
}






.flagship-offer {
gap:35px;padding:36px
}

.flagship-budget {
padding-left:35px
}

.price-card {
padding:25px
}

.price-card>strong {
font-size:27px
}

.journey-demo {
padding:32px
}

.demo-heading {
flex-wrap:wrap
}
}

@media(max-width:700px) {
html {
scroll-padding-top:90px
}

.site-header {
top:max(8px,env(safe-area-inset-top));padding-inline:12px;transition:transform .24s ease
}

.site-header.header-away:not(:has(:focus-visible)):not(:has(.mobile-menu[open])) {
transform:translateY(calc(-100% - 16px - env(safe-area-inset-top)))
}

.motion-paused .site-header {
transition:none
}

.nav-shell {
height:58px;padding:6px 12px;border-radius:14px
}

.nav-shell {gap:8px}
.site-header .brand {min-width:0}
.mobile-calculator {padding-inline:8px;gap:5px}
.mobile-menu>summary {padding-inline:8px;gap:7px}

.site-header .brand-sub {
display:none
}

.site-header .brand {
font-size:19px
}

.mobile-menu nav {
top:66px;max-height:calc(100dvh - 90px - env(safe-area-inset-top) - env(safe-area-inset-bottom))
}

main {
padding-top:82px
}

.hero-inner {
display:flex;flex-direction:column;gap:0;padding-top:20px;padding-bottom:16px;min-height:0;align-items:stretch
}

.hero h1 {
font-size:clamp(36px,8.8vw,48px);margin-top:18px;line-height:1.08
}

.hero-copy>p {
font-size:17px;line-height:1.6;max-width:48ch;margin-top:18px
}

.hero .actions {
display:grid;grid-template-columns:1fr;width:100%;margin-top:22px;gap:var(--space-2)
}

.hero .button {
justify-content:space-between;font-size:15px;min-height:50px;padding-block:12px
}

.hero-caption {
font-size:12px;margin-top:18px
}







.hero-bottom {
flex-wrap:wrap;font-size:12px;gap:12px;padding-block:18px
}

.hero-bottom span:last-of-type,.hero-bottom i:nth-of-type(2) {
display:none
}

.hero-bottom a {
width:36px;height:36px
}

.projects-grid {
grid-template-columns:1fr
}

.project-info {
padding:26px
}

.project-info p {
font-size:17px
}

.section-heading p {
font-size:18px
}

.section {
padding-block:44px
}

.section-tight {
padding-top:18px
}

.scope-panel,.investment-panel {
padding:28px
}

.service-feature {
padding:24px
}

.feature-layout {
grid-template-columns:1fr;gap:24px;padding-top:16px
}

.feature-layout .icon-tile {
display:none
}

.service-feature :is(h2,h3) {
margin-top:0;font-size:34px
}

.service-feature p {
font-size:17px;line-height:1.65;margin-top:16px
}

.feature-layout .system-visual {
display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:0;margin:0;perspective:none;overflow:visible
}

.feature-layout .system-layer {
width:100%;max-width:none;height:106px;padding:12px 8px;gap:9px;flex-direction:column;justify-content:center;text-align:center;font-size:13px;line-height:1.35;transform:none;animation:none;border-radius:10px;box-shadow:inset 0 1px #ffffff17
}

.feature-layout .system-layer>svg {
flex-shrink:0;width:20px;height:20px
}

.feature-layout .system-wire,.feature-layout .system-layer>i {
display:none
}

.flagship-offer {
grid-template-columns:1fr;padding:24px;gap:26px
}

.flagship-offer :is(h2,h3) {
font-size:36px
}

.flagship-offer p {
font-size:17px
}

.flagship-offer .button {
width:100%;justify-content:space-between
}

.flagship-budget {
border-left:0;border-top:1px solid var(--line);padding:28px 0 0
}

.flagship-budget>strong {
font-size:34px;margin-block:18px;letter-spacing:-.035em
}

.flagship-budget>strong span {
display:inline
}

.flagship-budget p {
font-size:16px
}

.price-grid {
grid-template-columns:1fr;gap:14px;margin-top:14px
}

.price-card {
padding:24px 22px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:none
}

.price-card :is(h2,h3) {
min-height:0;font-size:25px
}

.price-card>strong {
font-size:30px;margin-top:16px
}

.price-card p {
font-size:17px;margin-block:16px
}

.pricing-followup {
align-items:flex-start;flex-direction:column;gap:var(--space-2)
}

.price-disclaimer {
font-size:13px
}

.journey-panel {
grid-template-columns:1fr
}

.journey-steps {
border-right:0;border-bottom:1px solid var(--line);gap:4px;padding:12px
}

.journey-step {
padding:15px;grid-template-columns:25px 1fr
}

.journey-step strong {
font-size:20px
}

.journey-step small {
font-size:14px
}

.journey-demo {
padding:28px;min-height:0
}

.journey-demo h3 {
font-size:28px
}

.journey-demo p {
font-size:17px
}

.demo-flow {
margin-block:30px
}

.demo-flow>span {
width:54px;height:54px
}

.demo-heading {
gap:10px
}

.demo-heading .eyebrow,.demo-status {
font-size:10px
}

.studio-banner h2 {
font-size:29px
}

.studio-banner p {
font-size:17px
}

.experience-number svg {
width:78px;height:55px
}

.cta-copy p {
font-size:18px
}

.cta-copy h2 {
font-size:36px
}

.cta-copy .button {
font-size:16px
}

.article-body p {
font-size:18px;line-height:1.8
}

.privacy-copy p {
font-size:17px
}

.contact-channel .eyebrow {
font-size:11px
}






.brand-sub {
font-size:8px
}





.motion-switch {
font-size:12px
}
}


.motion-paused .demo-flow i::after {
opacity:0
}

.offscreen-motion,.offscreen-motion::before,.offscreen-motion::after,.offscreen-motion *,.offscreen-motion *::before,.offscreen-motion *::after {
animation-play-state:paused!important
}

.page-scrolling .hero-atmosphere::before,.page-scrolling .cta-light,.page-scrolling .scene-pulse,.page-scrolling .demo-flow i::after {
animation-play-state:paused
}

.header-actions{display:flex;align-items:center;gap:18px;flex-shrink:0}.header-callback{font-size:12px;color:var(--mint);white-space:nowrap;min-height:44px;display:flex;align-items:center;text-underline-offset:5px}.header-callback:hover{text-decoration:underline}.first-project-offer{font-size:13px!important;color:var(--mint)!important;margin-top:22px!important}.footer-contact-links{gap:20px;flex-wrap:wrap}.conversation-offer{position:fixed;z-index:44;left:24px;bottom:24px;width:min(370px,calc(100vw - 32px));padding:28px;border:1px solid #a5e7cf55;border-radius:24px;background:radial-gradient(ellipse at 0 0,#28534a 0,transparent 65%),#101f24;box-shadow:0 16px 64px #0009,inset 0 1px #dcfff322}.conversation-offer[hidden]{display:none}.conversation-offer .eyebrow{font-size:10px;letter-spacing:.13em;padding-right:26px}.conversation-offer h2{font-size:29px;font-weight:500;line-height:1.13;letter-spacing:-.045em;margin:16px 0}.conversation-offer h2 span{color:var(--mint)}.conversation-offer>p{font-size:13px;line-height:1.65;color:var(--muted);margin:0}.offer-close{position:absolute;right:9px;top:9px;border:0;background:transparent;color:#d3e9df;font:300 28px/1 var(--sans);width:44px;height:44px;cursor:pointer;border-radius:50%}.offer-close:hover{background:#c4f5df12}.conversation-offer .offer-benefit{display:flex;align-items:center;gap:14px;border-block:1px solid var(--line);padding:16px 0;margin:20px 0}.offer-benefit strong{font-size:38px;line-height:1;color:#d3ffee;font-weight:400;letter-spacing:-.06em}.offer-benefit span{font-size:12px;line-height:1.4}.offer-actions{display:grid;gap:10px}.offer-actions .button{font-size:13px;min-height:48px;justify-content:space-between;padding:12px 17px}.offer-actions .text-link{font-size:12px;justify-content:center;min-height:40px}
.hero-callback{margin-top:12px;min-height:44px;font-size:13px}.hero-callback+.hero-caption{margin-top:14px}
@media(max-width:700px){.hero-callback{display:flex;justify-content:center}}
@media(min-width:1001px) and (max-width:1200px){.desktop-nav{gap:16px}.header-actions{gap:12px}.header-contact{padding-inline:14px;font-size:12px}.brand-sub{font-size:8px}}
@media(max-width:1000px){.header-actions{display:none}.mobile-menu nav{background:#101e24;backdrop-filter:none}.mobile-menu nav>.menu-callback-link{color:var(--mint);font-size:19px}.mobile-menu nav{max-height:calc(100dvh - 110px)}}
@media(max-width:700px){.hero-copy,.intro-heading,.section-heading,.cta-copy{text-align:center}.hero-copy>p,.intro-heading>.lead,.section-heading p,.cta-copy>p{margin-inline:auto}.hero-copy h1{font-size:clamp(38px,10.8vw,66px)}.hero-copy .actions,.intro-heading .actions,.cta-copy .actions{justify-content:center;align-items:center}.hero-copy .hero-note{justify-content:center}.eyebrow{max-width:100%}.section-heading{align-items:center;flex-direction:column;gap:20px}.page-intro .breadcrumbs{justify-content:center;flex-wrap:wrap}.conversation-offer{left:16px;bottom:88px;padding:22px;border-radius:20px}.conversation-offer h2{font-size:26px}.conversation-offer .offer-benefit{margin:14px 0;padding:12px 0}.conversation-offer>p{font-size:12px}.conversation-offer .eyebrow{font-size:9px}.hero-copy>p{max-width:36ch}.cta-copy .text-link{justify-content:center}.contact-intro .intro-heading{text-align:center}.mobile-menu nav>a{font-size:21px;min-height:51px}.mobile-menu nav>p{font-size:16px;line-height:1.55}.mobile-menu nav{background:#101e24!important}}

.price-details{border:1px solid var(--line);border-radius:18px;background:#11232255;margin-bottom:20px}.price-details>summary{cursor:pointer;padding:23px 28px;font-size:17px;line-height:1.5}.price-details>.pricing-section{width:auto;padding:22px 28px 30px;margin:0;max-width:none}.price-details .price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-details .flagship-offer{display:none}@media(max-width:700px){.price-details>summary{font-size:15px;padding:20px}.price-details>.pricing-section{padding:10px 20px 22px}.price-details .price-grid{grid-template-columns:1fr}}

.intent-entry-price{margin-top:16px;font-size:14px;color:var(--muted)}
