@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/raleway-400.ttf) format('truetype')}
@font-face{font-family:Raleway;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/raleway-500.ttf) format('truetype')}
@font-face{font-family:Raleway;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/raleway-700.ttf) format('truetype')}
@font-face{font-family:Raleway;font-style:normal;font-weight:800;font-display:swap;src:url(fonts/raleway-800.ttf) format('truetype')}
:root{--paper:#F3F2EE;--ink:#181B1E;--muted:#626966;--dark:#000000;--white:#F8F7F3;--yellow:#FFB000;--rule:#D5D8D3;--gutter:clamp(24px,5vw,96px);--header:104px;--ease:cubic-bezier(.16,1,.3,1);--motion-time:600ms}
html.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:hidden}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable;scroll-padding-top:var(--header);scrollbar-color:#757D78 var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 Raleway,Arial,sans-serif;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:800;line-height:1.05;letter-spacing:-.04em}p{max-width:46ch;text-wrap:pretty}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.55}button{border:0;background:none;padding:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}::selection{background:var(--yellow);color:var(--ink)}:focus-visible{outline:2px solid var(--yellow);outline-offset:6px}input,textarea{caret-color:var(--ink)}.symbol-library{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;left:24px;top:-100px;z-index:100;background:var(--yellow);padding:10px 18px;color:var(--ink)}.skip-link:focus{top:12px}.punctuation{color:inherit}
.site-header{height:var(--header);position:fixed;inset:0 0 auto;z-index:20;padding:20px var(--gutter);display:flex;align-items:center;justify-content:space-between;background:var(--paper);color:var(--ink);transition:background-color 200ms,color 200ms}.brand{position:relative;width:108px;aspect-ratio:1401/916;flex-shrink:0}.brand img{position:absolute;inset:0;width:100%;transition:opacity 200ms}.logo-dark{opacity:0}.site-header[data-theme=dark]{background:var(--dark);color:var(--white)}.site-header[data-theme=dark] .logo-light{opacity:0}.site-header[data-theme=dark] .logo-dark{opacity:1}.site-header nav{display:flex;align-items:center;gap:clamp(26px,3.5vw,68px);font-size:14px;line-height:1.4}.site-header nav>a{position:relative;padding:12px 0}.site-header nav>a:after{content:'';position:absolute;bottom:7px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 250ms var(--ease)}.site-header nav>a:hover:after{transform:scaleX(1)}.text-link{display:inline-flex;align-items:center;gap:28px;position:relative;font-size:16px;line-height:1.4;padding:10px 0}.text-link:after{content:'';height:1px;background:currentColor;position:absolute;left:0;right:52px;bottom:4px;transform-origin:left;transition:transform 250ms var(--ease)}.text-link:hover:after{transform:scaleX(.7)}.text-link .arrow{width:18px;height:18px;transition:transform 250ms var(--ease)}.text-link:hover .arrow{transform:translate(3px,-3px)}.nav-contact{font-size:14px}.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;min-height:1160px;padding:224px var(--gutter) 0;background:var(--paper);display:grid;grid-template-columns:40% 60%;overflow:clip}.hero-copy{position:relative;z-index:3;padding-top:52px}.hero h1{font-size:clamp(58px,5.2vw,82px);line-height:1.08;letter-spacing:-.04em;white-space:normal}.hero h1>span{display:block}.hero-copy p{font-size:18px;line-height:1.7;margin-top:44px;color:#505955}.hero-copy>.text-link{margin-top:28px}.hero-stage{position:relative;margin-left:-10vw;width:calc(100% + 10vw);height:700px;z-index:2}.app-shot{position:absolute}.hero-portfolio{top:0;right:0;width:min(56vw,940px);z-index:2}.hero-cardgo{top:510px;left:0;width:min(37vw,680px);z-index:3}.image-button{display:block;width:100%;position:relative;line-height:0}.app-shot .image-button{box-shadow:0 16px 38px -14px rgb(17 27 23/.16);transition:box-shadow 400ms var(--ease),transform 400ms var(--ease)}.app-shot .image-button:hover{box-shadow:0 20px 40px -16px rgb(17 27 23/.2)}.app-shot img{width:100%}.app-shot figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:13px;line-height:1.5;padding-top:17px;color:#4D5852}.app-shot figcaption span:first-child{font-size:16px;font-weight:500}.hero-cardgo figcaption{color:var(--ink)}.scroll-hint{position:absolute;right:var(--gutter);bottom:48px;z-index:3;color:var(--ink);display:flex;align-items:center;gap:38px;font-size:22px;letter-spacing:-.02em}.scroll-hint svg{width:18px;height:18px;transition:transform 250ms var(--ease)}.scroll-hint:hover svg{transform:translateY(5px)}
.showcase{height:280svh;position:relative;--ui:0;--kit:1;--card:0;--industry:0;--transport:0;--portfolio-copy:1;--cardgo-copy:0;--kit-scale:1;--screen-scale:.94;--progress:0}.showcase-stage{position:sticky;top:var(--header);height:calc(100svh - var(--header));min-height:570px;overflow:clip;background:var(--paper);isolation:isolate}.scene-background{position:absolute;inset:0;background:var(--dark);clip-path:inset(calc((1 - var(--industry))*100%) 0 0);z-index:-1}.scene-background:after{content:'';position:absolute;inset:0;background:rgb(13 20 23/.57)}.scene-background img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.transport-background{clip-path:inset(0 calc((1 - var(--transport))*100%) 0 0)}.showcase-copy{position:absolute;left:var(--gutter);top:20%;max-width:35%;z-index:3}.showcase-copy h2{font-size:clamp(38px,4vw,68px);line-height:1.09}.showcase-copy p{margin-top:36px;font-size:17px;line-height:1.8}.portfolio-copy{opacity:var(--portfolio-copy)}.cardgo-copy{opacity:var(--cardgo-copy);color:var(--white);pointer-events:none}.cardgo-copy p{color:#D7DEDE}.product-name{display:block;font-size:15px;font-weight:500;line-height:1.4;margin-top:40px}.view-controls{display:flex;align-items:center;gap:24px;margin-top:15px}.view-toggle{font-size:14px;padding:10px 0;position:relative;display:flex;align-items:center;gap:9px}.view-toggle svg{width:12px;height:12px}.view-toggle:after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 200ms}.view-toggle.is-active:after{transform:scaleX(1)}.cardgo-copy>.text-link{margin-top:15px}.showcase-visual{position:absolute;left:43%;right:var(--gutter);top:50%;transform:translateY(-50%);aspect-ratio:16/10}.showcase-visual>.kit-render{width:100%;height:100%;object-fit:contain;opacity:var(--kit);transform:scale(var(--kit-scale));transform-origin:50% 65%}.portfolio-interface,.cardgo-interface{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%) scale(var(--screen-scale));box-shadow:0 22px 60px -20px rgb(10 20 20/.24)}.portfolio-interface{clip-path:inset(0 calc((1 - var(--ui))*100%) 0 0);opacity:var(--portfolio-copy)}.cardgo-interface{opacity:var(--card);clip-path:inset(0 0 calc((1 - var(--card))*100%) 0);pointer-events:none}.portfolio-interface img,.cardgo-interface img{width:100%}.showcase.cardgo-active .portfolio-copy,.showcase.cardgo-active .portfolio-interface{pointer-events:none}.showcase.cardgo-active .cardgo-copy,.showcase.cardgo-active .cardgo-interface{pointer-events:auto}.scene-navigation{position:absolute;left:var(--gutter);bottom:42px;display:flex;align-items:center;gap:20px;z-index:5;font-size:14px;color:var(--ink)}.scene-navigation button{padding:10px 0;color:inherit;opacity:.68;transition:opacity 150ms}.scene-navigation button.is-active{opacity:1}.scene-track{width:130px;height:1px;background:rgb(98 105 102/.4)}.scene-track span{display:block;height:2px;transform:scaleX(var(--progress));transform-origin:left;background:var(--yellow)}.showcase.cardgo-active .scene-navigation,.showcase.cardgo-active .scene-context{color:var(--white)}.scene-context{position:absolute;bottom:50px;right:var(--gutter);font-size:13px;color:var(--muted);line-height:1.4}
.custom-section{padding:150px var(--gutter) 110px}.custom-intro{display:grid;grid-template-columns:55% 45%;align-items:baseline;gap:0}.custom-intro h2{font-size:clamp(44px,5vw,76px)}.custom-intro p{font-size:21px;max-width:33ch;line-height:1.6}.custom-workspace{margin-top:94px;display:grid;grid-template-columns:28% 40% 32%;position:relative;min-height:315px;gap:0;border-top:1px solid var(--rule);padding-top:40px}.module-selector{padding-right:56px}.module-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:19px 0;border-bottom:1px solid var(--rule);font-size:18px;color:var(--muted);transition:color 200ms}.module-option.is-active{color:var(--ink)}.module-option svg{width:14px;height:14px;opacity:0;transform:translate(-4px,4px);transition:transform 250ms var(--ease),opacity 250ms}.module-option.is-active svg,.module-option:hover svg{opacity:1;transform:translate(0,0)}.module-detail h3{font-size:clamp(27px,2.4vw,39px);line-height:1.2;letter-spacing:-.03em}.module-detail p{font-size:16px;line-height:1.8;max-width:37ch;color:var(--muted);margin:22px 0}.module-detail .text-link{font-size:15px}
.studio-section{display:grid;grid-template-columns:55% 45%;padding:70px var(--gutter) 160px;gap:0}.studio-section h2{font-size:clamp(40px,4.1vw,62px);line-height:1.13}.studio-section p{font-size:18px;line-height:1.8;max-width:41ch;margin-bottom:24px}.studio-section p+p{font-size:16px;color:var(--muted)}.studio-section .text-link{margin-top:16px}
footer{padding:106px var(--gutter) 30px;min-height:810px;background:var(--dark);color:var(--white)}.footer-invitation{display:grid;grid-template-columns:65% 35%;gap:0;align-items:center}.footer-invitation h2{font-size:clamp(62px,7.8vw,112px);line-height:1.1;letter-spacing:-.04em}.footer-invitation>div{padding-left:35px}.footer-invitation p{font-size:21px;line-height:1.75;color:#D4DBDF}.footer-invitation .text-link{margin-top:26px;font-size:18px}.footer-bottom{display:grid;grid-template-columns:50% 22% 22% 6%;border-top:1px solid #485259;margin-top:124px;padding-top:44px;align-items:start}.footer-brand{display:block}.footer-brand img{width:182px}.footer-brand span{display:block;font-size:13px;color:#B9C4CB;line-height:1.6;margin-top:13px}.footer-bottom nav{display:flex;align-items:flex-start;flex-direction:column;gap:12px;font-size:16px;line-height:1.5}.footer-bottom nav>span{font-size:13px;color:#AEBCC5;margin-bottom:7px}.footer-bottom nav a,.footer-bottom nav button{text-align:left;transition:color 150ms}.footer-bottom nav a:hover,.footer-bottom nav button:hover{color:var(--yellow)}.back-top{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:19;display:grid;place-items:center;width:48px;height:48px;padding:12px;border:1px solid currentColor;border-radius:50%;background:transparent;color:#fff;mix-blend-mode:difference}.back-top[hidden],body.menu-is-open .back-top,body:has(dialog[open]) .back-top{display:none}.back-top svg{width:20px;height:20px}.footer-note{display:flex;align-items:center;justify-content:space-between;font-size:11px;line-height:1.6;color:#B2BEC6;margin-top:58px}.motion-control{padding:10px 0;font-size:12px}.motion-control:hover{text-decoration:underline;text-underline-offset:5px}
dialog{border:0;color:var(--ink);background:var(--paper);padding:0;max-width:none;max-height:calc(100svh - 48px);overscroll-behavior:contain}dialog::backdrop{background:rgb(10 16 20/.72);backdrop-filter:blur(5px)}.preview-dialog{width:min(1400px,calc(100vw - 64px));padding:24px;border-radius:6px;box-shadow:0 30px 100px rgb(0 0 0/.2)}.preview-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.preview-header h2{font-size:24px;letter-spacing:-.03em;font-weight:500}.preview-dialog>img{width:100%;max-height:calc(100svh - 200px);object-fit:contain}.preview-dialog>p{font-size:12px;margin-top:15px;color:var(--muted)}.close-button{width:44px;height:44px;display:grid;place-items:center;border-radius:50%}.close-button:hover{background:rgb(100 110 100/.1)}.close-button svg{width:20px;height:20px}.contact-dialog{margin:0 0 0 auto;width:min(680px,100vw);height:100svh;max-height:100svh;padding:74px 64px 48px;box-shadow:-30px 0 100px rgb(0 0 0/.2)}.contact-dialog>.close-button{position:absolute;top:22px;right:24px}.contact-dialog h2{font-size:52px;line-height:1.12}.contact-lead{font-size:16px;color:var(--muted);margin-top:24px}#brief-form{margin-top:42px}#brief-form label{display:block;font-size:14px;margin-top:26px}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #8F9992;background:transparent;padding:14px 0;border-radius:0;color:var(--ink);font-size:16px}textarea{resize:vertical;min-height:110px;line-height:1.7}input::placeholder,textarea::placeholder{color:#65716A;opacity:1}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:4px}.brief-submit{margin-top:30px;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--white);padding:17px 22px;width:100%;font-size:16px;border-radius:4px}.brief-submit:hover{background:#313936}.brief-submit svg{width:17px;height:17px}.brief-result{margin-top:38px}.brief-result h3{font-size:28px;line-height:1.2}.brief-result p{margin-top:16px;font-size:16px;color:var(--muted)}.brief-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:400 15px/1.8 Raleway,Arial,sans-serif;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:24px 0;margin:24px 0}.brief-result>div{display:flex;gap:32px}.brief-result .text-link:after{right:0}
html.reduce-motion{scroll-behavior:auto}.reduce-motion *, .reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important}.reduce-motion .showcase{height:180svh}.reduce-motion .kit-render,.reduce-motion .portfolio-interface,.reduce-motion .cardgo-interface{transform:translateY(-50%)!important}.reduce-motion .kit-render{transform:none!important}.reduce-motion .hero .image-button:hover{transform:none}
@media(min-width:1800px){.hero{min-height:1330px;padding-top:244px}.hero-copy{padding-top:68px}.hero-cardgo{top:600px}.hero-stage{height:1010px}.hero h1{font-size:96px}.hero-portfolio{right:0}.hero-cardgo figcaption{padding-top:20px}.hero-copy p{font-size:20px}}
@media(max-width:1100px){.site-header nav{gap:24px}.hero h1{font-size:clamp(56px,7vw,76px)}.hero-copy p{font-size:16px}.app-shot figcaption{display:block}.app-shot figcaption span+span{display:block;font-size:12px;margin-top:4px}.hero-cardgo{top:410px}.hero{min-height:1040px}.hero-stage{height:770px}.showcase-copy{max-width:38%;top:18%}.showcase-copy h2{font-size:39px}.showcase-visual{left:45%;right:4vw}.showcase-copy p{font-size:16px}.scene-context{font-size:12px}.custom-workspace{grid-template-columns:32% 45% 23%}.module-selector{padding-right:32px}.module-drawing{padding-left:16px}.footer-invitation h2{font-size:78px}.footer-invitation>div{padding-left:22px}.footer-invitation p{font-size:18px}}
@media(max-width:800px){:root{--header:88px;--gutter:24px}.site-header{padding:14px 24px}.brand{width:92px}.menu-toggle{display:flex;align-items:center;gap:15px;font-size:14px;padding:12px 0}.site-header nav{display:none;position:fixed;inset:var(--header) 0 0;background:inherit;color:inherit;flex-direction:column;align-items:flex-start;justify-content:center;padding:32px;gap:18px;font-size:32px}.site-header.menu-open nav{display:flex}.site-header nav>a{padding:8px 0}.site-header .nav-contact{font-size:24px;margin-top:24px}.hero{display:block;min-height:0;padding:176px 24px 166px}.hero-copy{padding:0}.hero h1{font-size:clamp(54px,12.5vw,80px);line-height:1.08;white-space:normal}.hero-copy p{font-size:17px;margin-top:28px;line-height:1.7}.hero-copy>.text-link{margin-top:24px;font-size:15px}.hero-stage{height:auto;margin:70px 0 0;width:100%;display:flex;flex-direction:column;gap:74px}.app-shot{position:relative;top:auto;left:auto;right:auto;width:100%}.hero-cardgo{width:92%;align-self:flex-end}.app-shot figcaption{display:flex;gap:16px;line-height:1.5;padding-top:17px}.app-shot figcaption span:first-child{font-size:15px}.app-shot figcaption span+span{font-size:12px;max-width:18ch;text-align:right;margin-top:0}.scroll-hint{left:24px;right:24px;bottom:52px;justify-content:space-between;font-size:19px}.showcase{height:260svh}.showcase-stage{min-height:625px}.showcase-copy{left:24px;right:24px;top:55px;max-width:none}.showcase-copy h2{font-size:clamp(35px,8vw,52px);line-height:1.1}.showcase-copy p{font-size:16px;line-height:1.7;margin-top:20px}.product-name{margin-top:24px;font-size:14px}.view-controls{margin-top:8px}.cardgo-copy>.text-link{margin-top:8px}.showcase-visual{left:24px;right:24px;top:auto;bottom:83px;transform:none;aspect-ratio:16/10;max-height:260px}.showcase-visual .kit-render{object-fit:contain}.scene-navigation{left:24px;bottom:24px;gap:14px;font-size:12px}.scene-track{width:76px}.scene-context{display:none}.custom-section{padding:88px 24px 50px}.custom-intro{display:block}.custom-intro h2{font-size:48px}.custom-intro p{font-size:19px;margin-top:28px}.custom-workspace{margin-top:45px;display:block;padding-top:0;min-height:0}.module-selector{display:flex;padding:0;gap:20px;justify-content:space-between;overflow-x:auto}.module-option{white-space:nowrap;font-size:14px;width:auto;gap:8px;padding:19px 0;border-bottom:0}.module-option svg{width:11px;height:11px}.module-detail{padding-top:40px}.module-detail h3{font-size:33px}.module-detail p{max-width:36ch}.module-drawing{padding:32px 0 0;margin:0 auto;max-width:460px}.studio-section{display:block;padding:55px 24px 90px}.studio-section h2{font-size:40px;margin-bottom:34px}.studio-section p{font-size:17px}.studio-section p+p{font-size:16px}.studio-section .text-link{margin-top:6px}footer{padding:74px 24px 25px;min-height:900px}.footer-invitation{display:block}.footer-invitation h2{font-size:clamp(54px,12vw,76px);line-height:1.12}.footer-invitation>div{padding:36px 0 0}.footer-invitation p{font-size:18px}.footer-invitation .text-link{font-size:16px;margin-top:20px}.footer-bottom{grid-template-columns:1fr 1fr;gap:45px 18px;margin-top:66px;padding-top:34px}.footer-brand{grid-column:1 / -1;grid-row:2}.footer-brand img{width:156px}.footer-brand span{font-size:12px}.footer-bottom nav{font-size:15px;gap:13px}.footer-note{margin-top:42px;align-items:flex-start;flex-wrap:wrap;gap:12px;font-size:11px}.footer-note>span:last-child{width:100%}.motion-control{padding:0}.preview-dialog{width:calc(100vw - 24px);padding:16px}.preview-header h2{font-size:20px}.preview-dialog>img{max-height:calc(100svh - 190px)}.contact-dialog{padding:76px 24px 40px}.contact-dialog h2{font-size:42px}.contact-lead{font-size:15px}#brief-form{margin-top:30px}.reduce-motion .showcase{height:180svh}}
@media(max-width:390px){.hero h1{font-size:51px}.module-selector{gap:14px}.module-option{font-size:13px;gap:5px}.footer-invitation h2{font-size:51px}.showcase-copy{top:40px}.showcase-copy h2{font-size:35px}.showcase-copy p{font-size:15px}.showcase-visual{bottom:80px}.scene-navigation{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important;scroll-behavior:auto!important}}

@media(min-width:801px){.hero-portfolio figcaption{position:absolute;top:-43px;left:0;right:0;padding-top:0}.site-header.menu-open~main{pointer-events:none}}

/* Expanded masthead → compact sticky navigation. Fixed position preserves page geometry. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{--nav-height:152px;height:var(--nav-height);gap:36px;transition:background-color 200ms,color 200ms}
.site-header .brand{position:absolute;left:var(--gutter);top:20px;width:360px}
.site-header nav{margin-left:auto;font-size:18px}
.site-header .nav-contact{font-size:18px}
.site-header.is-compact{--nav-height:104px}
.site-header.is-compact .brand{width:108px}
.site-header.is-compact nav,.site-header.is-compact .nav-contact{font-size:14px}
.site-header.has-motion-surface{isolation:isolate;background:transparent;--header-surface:var(--paper)}
.site-header.has-motion-surface[data-theme=dark]{--header-surface:var(--dark)}
.header-motion-surface{position:absolute;inset:0;z-index:-1;background:var(--header-surface);transform-origin:top left;transition:background-color 200ms}
.menu-mark{width:20px;height:10px;position:relative}
.menu-mark:before,.menu-mark:after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:currentColor;transition:transform 200ms}
.menu-mark:before{transform:translateY(-4.5px)}
.menu-mark:after{transform:translateY(4.5px)}
.menu-toggle[aria-expanded=true] .menu-mark:before,.menu-toggle[aria-expanded=true] .menu-mark:after{transform:translateY(0)}
@media(max-width:1000px){.site-header.has-motion-surface #navigation{background:var(--header-surface)}}
.language-control{display:flex;align-items:center;gap:5px;position:relative;flex-shrink:0}
body.menu-is-open{overflow:hidden}
.preview-header h2{font-weight:700}
@media(min-width:801px){.hero-stage{height:870px}.hero-cardgo{top:510px}.hero-copy{max-width:100%}.hero-copy p{max-width:32ch}.hero-portfolio{width:min(54vw,940px)}.hero-stage{margin-left:-8vw;width:calc(100% + 8vw)}}
@media(min-width:1800px){.hero-cardgo{top:600px}.hero-stage{height:1010px}}
@media(min-width:801px) and (max-width:1100px){.site-header{gap:16px}.site-header .brand{width:clamp(160px,calc(60vw - 320px),260px)}.site-header nav{gap:16px;font-size:16px}.site-header .nav-contact{font-size:16px}.hero h1{font-size:clamp(52px,5.2vw,70px)}.hero-cardgo{top:410px}.hero-stage{height:770px}}
@media(max-width:800px){.site-header{--nav-height:112px;gap:12px}.site-header .brand{top:14px;width:clamp(132px,calc(100vw - 186px),220px)}.site-header.is-compact{--nav-height:88px}.site-header.is-compact .brand{width:92px}.menu-toggle{margin-left:auto}.site-header nav{top:var(--nav-height);margin:0;font-size:32px}.site-header.is-compact nav{font-size:32px}.site-header .nav-contact,.site-header.is-compact .nav-contact{font-size:24px}.hero h1{font-size:clamp(49px,10.7vw,76px)}.hero-portfolio,.hero-cardgo{top:auto}.app-shot figcaption span+span{max-width:20ch}.showcase-copy h2{font-size:clamp(32px,7.6vw,48px)}.footer-invitation h2{font-size:clamp(48px,10.4vw,70px)}.footer-invitation .text-link{gap:22px}.studio-section h2{font-size:38px}}
@media(max-width:390px){.site-header{gap:12px}.hero h1{font-size:44px}.footer-invitation h2{font-size:44px}.showcase-copy h2{font-size:32px}}
/* Both screens share one bounded composition, so wide viewports cannot pull them apart.
   Their native 16:10 ratio leaves a 20% vertical overlap at every desktop size. */
@media(min-width:1101px){
 .hero-stage{--hero-screen-width:min(54vw,940px);width:calc(var(--hero-screen-width)*1.12);margin-left:0;min-width:0;justify-self:end}
 .hero-portfolio{width:var(--hero-screen-width)}
 .hero-cardgo{top:calc(var(--hero-screen-width)*.5)}
}

/* Keep the product caption separate from the right-hand scroll invitation. */
@media(min-width:801px){.hero-cardgo figcaption{justify-content:flex-start;gap:24px}}

/* Native solution disclosure; its surface follows the masthead theme. */
.nav-solutions{position:relative}.solutions-entry{display:flex;align-items:center;gap:3px}.solutions-entry>a{padding:12px 0}.solutions-entry>a:hover{text-decoration:underline;text-underline-offset:7px}.solutions-toggle{display:grid;place-items:center;width:36px;height:44px}.solutions-toggle svg{width:14px;height:14px;transition:transform 150ms}.solutions-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.solutions-subnav{position:absolute;top:100%;left:-22px;width:260px;padding:12px 22px 18px;background:var(--paper);color:var(--ink);box-shadow:0 18px 30px -22px rgb(10 20 20/.25);font-size:15px}.solutions-subnav[hidden]{display:none}.solutions-subnav a{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:14px 0}.solutions-subnav a:hover{text-decoration:underline;text-underline-offset:5px}.solutions-subnav svg{width:14px;height:14px}.site-header[data-theme=dark] .solutions-subnav{background:var(--dark);color:var(--white)}
.portfolio-interface,.cardgo-interface{aspect-ratio:16/10}
@media(max-width:800px){.nav-solutions{width:100%}.solutions-entry{gap:14px}.solutions-entry>a{padding:8px 0}.solutions-toggle{width:44px}.solutions-toggle svg{width:18px;height:18px}.solutions-subnav{position:static;width:100%;padding:4px 0 8px 18px;border-left:1px solid currentColor;box-shadow:none;font-size:18px}.solutions-subnav a{justify-content:flex-start;gap:24px;padding:12px 0}.site-header.menu-open #navigation{overflow-y:auto;justify-content:safe center}}


/* Full photographic environments; native scroll owns the four scene states. */
.portfolio-background img{width:100%;height:100%;object-fit:cover;object-position:left center}
.portfolio-background{position:absolute;inset:0;z-index:-2;pointer-events:none}
.portfolio-background:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,var(--paper) 0%,rgb(243 242 238/.5) 40%,transparent 76%)}
.scene-background{clip-path:none;opacity:var(--industry);transition:opacity 180ms linear}
.transport-background{clip-path:none;opacity:var(--transport);transition:opacity 180ms linear}
.portfolio-interface,.cardgo-interface{aspect-ratio:16/10;clip-path:none;transition:opacity 160ms linear}
.portfolio-interface img,.cardgo-interface img{position:absolute;inset:0;height:100%;object-fit:contain;opacity:0;transition:opacity 160ms linear}
.portfolio-interface img.is-active,.cardgo-interface img.is-active{opacity:1}
.portfolio-copy,.cardgo-copy{transition:opacity 160ms linear}
.app-shot .image-button{transition:box-shadow 160ms var(--ease)}
.hero .app-shot{transform:translate3d(var(--exit-x,0px),0,0);opacity:var(--exit-opacity,1)}
@media(max-width:800px){.portfolio-background img{object-position:12% center}.view-controls{gap:16px;flex-wrap:wrap}.view-toggle{font-size:13px}}

/* Compact language control, with locally drawn circular flags. */
.language-control{--language-surface:#FCFBF8;--language-border:#DDE0DB;--language-hover:rgb(24 27 30/.055);--language-shadow:0 20px 48px -14px rgb(17 27 23/.18)}
.site-header[data-theme=dark] .language-control{--language-surface:#20252A;--language-border:#363D43;--language-hover:rgb(248 247 243/.075);--language-shadow:0 20px 48px -14px rgb(0 0 0/.45)}
.language-trigger{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:8px 6px;font-size:14px;font-weight:500;line-height:1;white-space:nowrap;border-radius:24px;transition:background-color 160ms}
.language-trigger:hover,.language-trigger[aria-expanded=true]{background:var(--language-hover)}
.language-flag{width:24px;height:24px;flex-shrink:0;border-radius:50%;box-shadow:0 0 0 1px rgb(24 27 30/.1);object-fit:cover}
.language-chevron{width:12px;height:12px;margin-left:2px;transition:transform 180ms var(--ease)}
.language-trigger[aria-expanded=true] .language-chevron{transform:rotate(180deg)}
.language-menu{position:absolute;top:calc(100% + 12px);right:0;width:232px;padding:8px;background:var(--language-surface);border:1px solid var(--language-border);border-radius:16px;box-shadow:var(--language-shadow);transform-origin:top right;animation:language-reveal 200ms var(--ease)}
.language-menu[hidden]{display:none}
.language-option{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 12px;border-radius:9px;line-height:1.4;text-align:left;transition:background-color 140ms}
.language-option:hover,.language-option:focus-visible,.language-option[aria-checked=true]{background:var(--language-hover)}
.language-option:focus-visible{outline:1px solid currentColor;outline-offset:-2px}
.language-name{font-size:14px;font-weight:500}
.language-code{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.04em;opacity:.65}
.language-check{width:14px;height:14px;opacity:0;stroke-width:1.8}
.language-option[aria-checked=true] .language-check{opacity:1}
.site-header.is-compact .language-trigger{font-size:12px}
.site-header.is-compact .language-trigger>.language-flag{width:22px;height:22px}
@keyframes language-reveal{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:800px){.language-trigger,.site-header.is-compact .language-trigger{font-size:12px;gap:8px}.language-menu{top:calc(100% + 10px);width:min(232px,calc(100vw - 48px))}}
@media(max-width:390px){.site-header{gap:8px}.site-header .brand{width:clamp(92px,calc(100vw - 210px),132px)}.language-current{display:none}}


/* Show a business gap, then the specific solution that can complete it. */
.custom-workspace{grid-template-columns:32% 68%;row-gap:66px}
.module-selector{max-width:330px}
.module-detail{max-width:630px;padding-left:16px}
.module-detail p{max-width:49ch}
.module-drawing{grid-column:1 / -1;align-self:stretch;padding:0;width:100%;max-width:1160px;margin:0 auto;contain:layout paint}
.process-lane{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 230px minmax(0,1fr);align-items:center;gap:78px;min-height:180px;padding:34px 24px;border-bottom:1px solid var(--rule)}
.process-lane:last-child{border-bottom:0}
.gap-input,.gap-output{position:relative;font-size:18px;line-height:1.5;max-width:21ch;background:var(--paper)}
.gap-output{font-weight:700;justify-self:end;width:100%;max-width:22ch;padding-left:14px}
.gap-input{padding-right:14px}
.gap-centre{position:relative}
.gap-problem{position:absolute;bottom:calc(100% + 13px);left:50%;transform:translateX(-50%);width:300px;text-align:center;font-size:14px;font-weight:400;line-height:1.4;color:var(--muted);background:var(--paper);padding:0 6px}
.gap-slot{position:relative;width:100%;height:76px;display:grid;place-items:center;border:1px dashed #87918B;border-radius:12px;background:var(--paper)}
.gap-empty{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;color:var(--muted);opacity:0;transition:opacity 180ms}
.gap-bridge{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;width:calc(100% - 12px);height:64px;background:var(--ink);color:var(--white);border-radius:9px;font-size:16px;font-weight:700;line-height:1.3;text-align:center;padding:10px;transition:opacity 200ms,transform 250ms var(--ease)}
.gap-app-mark{width:23px;height:23px;flex:0 0 23px;stroke:var(--yellow);stroke-width:1.35;stroke-linejoin:round;stroke-linecap:round}
.gap-app-icon{width:32px;height:32px;flex:0 0 32px;object-fit:contain}
.gap-app-logo{display:block;object-fit:contain;max-width:100%}
.gap-app-logo--cardgo{width:104px;height:auto}
.gap-app-logo--dystil{width:92px;height:auto}
.gap-bridge-custom{background:#FFF2D5;color:var(--ink);border:1px solid #D1AA55}
.gap-bridge-custom .gap-app-mark{stroke:var(--ink)}
.gap-future{position:absolute;top:calc(100% + 11px);width:100%;text-align:center;font-size:12px;line-height:1.4;color:var(--muted);background:var(--paper)}
.module-drawing svg.gap-wire-wide,.module-drawing svg.gap-wire-mobile{position:absolute;inset:0;width:100%;height:100%;stroke:none;overflow:visible;pointer-events:none}
.module-drawing .gap-wire-mobile{display:none!important}
.gap-wire{stroke:#AEB7B0;stroke-width:1.3;fill:none;vector-effect:non-scaling-stroke}
.gap-arrow{stroke:var(--ink);stroke-width:1.2;fill:none;vector-effect:non-scaling-stroke}
.gap-terminal{fill:var(--ink);stroke:none}
.gap-signal{stroke:var(--yellow);stroke-width:3;stroke-linecap:round;stroke-dasharray:5 95;fill:none;vector-effect:non-scaling-stroke;opacity:0}
.process-lane.is-active .gap-slot{border-color:var(--ink)}
.process-lane.is-gap-revealed .gap-problem{color:var(--ink)}
.module-drawing.has-gap-interaction .process-lane:not(.is-gap-revealed) .gap-bridge{opacity:0;transform:translateY(-12px)}
.module-drawing.has-gap-interaction .process-lane:not(.is-gap-revealed) .gap-empty{opacity:1}
.module-drawing.is-running .process-lane.is-gap-revealed .gap-signal{animation:gap-flow 3.4s linear infinite both}
@keyframes gap-flow{0%{stroke-dashoffset:0;opacity:0}8%,92%{opacity:1}100%{stroke-dashoffset:-100;opacity:0}}
.reduce-motion .gap-bridge,.reduce-motion .gap-empty{transition:none}
.reduce-motion .gap-signal{display:none}
@media(prefers-reduced-motion:reduce){.gap-bridge,.gap-empty{transition:none}.gap-signal{display:none}}
@media(max-width:1100px) and (min-width:801px){.custom-workspace{grid-template-columns:32% 68%}.module-detail{padding-left:24px}.module-drawing{padding:0}.process-lane{grid-template-columns:minmax(0,1fr) 214px minmax(0,1fr);gap:46px;padding-inline:0}.gap-input,.gap-output{font-size:16px}.gap-problem{width:250px;font-size:13px}}
@media(max-width:800px){.custom-workspace{display:block}.module-selector{max-width:none;flex-wrap:wrap;justify-content:flex-start;gap:4px 24px;overflow:visible}.module-option{font-size:14px;min-height:44px;padding:10px 0}.module-detail{padding:32px 0 0}.module-detail h3{font-size:31px}.module-drawing{padding:32px 0 0;max-width:460px}.process-lane{display:none;min-height:370px;height:370px;padding:0;border:0;grid-template-columns:none}.process-lane.is-active{display:block}.module-drawing .gap-wire-wide{display:none!important}.module-drawing .gap-wire-mobile{display:block!important}.gap-input,.gap-output{position:absolute;left:50%;transform:translateX(-50%);width:100%;max-width:28ch;text-align:center;padding:0;font-size:17px;line-height:1.5}.gap-input{top:0}.gap-output{top:306px}.gap-centre{position:absolute;top:150px;left:50%;transform:translateX(-50%);width:230px}.gap-problem{width:min(300px,calc(100vw - 48px));font-size:14px}.gap-future{font-size:12px}}

/* Document navigation: a product name and one clear sentence per destination. */
.solutions-subnav{width:360px;padding:10px 22px 14px}
.solutions-subnav a{gap:22px;align-items:center;padding:18px 0;text-decoration:none}
.solutions-subnav a+a{border-top:1px solid var(--rule)}
.solutions-subnav a>span{display:grid;gap:7px}
.solutions-subnav strong{font-size:16px;font-weight:700}
.solutions-subnav small{font-size:13px;line-height:1.55;max-width:32ch;color:var(--muted)}
.solutions-subnav a:hover strong,.solutions-subnav a[aria-current=page] strong{text-decoration:underline;text-underline-offset:5px}
.site-header[data-theme=dark] .solutions-subnav small{color:var(--white);opacity:.78}
.site-header[data-theme=dark] .solutions-subnav a+a{border-color:rgb(248 247 243/.18)}
.solution-discover{display:flex;width:max-content;max-width:100%;margin-top:18px;font-size:14px}
.solution-page{overflow-x:clip}
.solution-page[data-solution=cardgo]{background:var(--dark);color:var(--white)}
.solution-intro{position:relative;max-width:1920px;margin-inline:auto;padding:284px var(--gutter) 106px;display:grid;grid-template-columns:minmax(0,36fr) minmax(0,64fr);gap:40px;align-items:start}
.solution-intro h1{font-size:clamp(64px,6.5vw,96px);line-height:1.02}
.solution-intro-copy{padding-top:28px;z-index:1}
.solution-intro-copy>.solution-thesis{font-size:25px;line-height:1.4;font-weight:500;max-width:25ch;margin-top:32px}
.solution-intro-copy>p:not(.solution-thesis){font-size:17px;line-height:1.75;max-width:35ch;margin-top:24px}
.solution-intro-copy>.text-link{margin-top:30px}
.solution-demo{min-width:0;transform:translateY(var(--solution-shift,0px))}
.solution-demo .view-controls{margin:0 0 18px;flex-wrap:wrap;gap:12px 24px}
.solution-screen[hidden]{display:none}
.solution-screen{box-shadow:0 22px 46px -18px rgb(17 27 23/.18)}
.solution-page[data-solution=cardgo] .solution-screen{box-shadow:0 26px 50px -18px rgb(0 0 0/.4)}
.solution-screen-note{font-size:12px;line-height:1.6;margin-top:18px;max-width:none}
.solution-scroll{grid-column:1/-1;justify-self:end;margin-top:32px}
.solution-feature{padding:100px var(--gutter) 112px;position:relative;background:var(--paper);overflow:clip}
.solution-feature-copy{max-width:1440px;margin:0 auto 66px;display:flex;align-items:end;justify-content:space-between;gap:56px}
.solution-feature h2{font-size:clamp(44px,4.7vw,72px);max-width:15ch}
.solution-feature-copy p{font-size:18px;line-height:1.7;max-width:34ch}
.solution-feature figure{width:min(100%,1160px);margin-left:auto;position:relative}
.solution-feature .image-button{box-shadow:0 28px 64px -28px rgb(17 27 23/.24)}
.solution-feature figcaption{font-size:14px;margin-top:22px}
.solution-page[data-solution=portfolio] .solution-feature{background-image:url(assets/portfolio-studio-offwhite.jpg);background-size:cover;background-position:center}
.solution-page[data-solution=cardgo] .solution-feature{background:var(--dark);border-top:1px solid rgb(248 247 243/.18)}
.solution-page[data-solution=cardgo] .solution-feature figure{margin:0 auto 0 0}
.solution-tail{max-width:1440px;margin:auto;padding:110px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:60px}
.solution-tail h2{font-size:clamp(44px,4vw,64px)}
.solution-tail p{font-size:20px;line-height:1.7;max-width:35ch}
.solution-tail .text-link{margin-top:24px}
.solution-related{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--rule);padding-top:34px;margin-top:28px;font-size:22px}
.solution-page[data-solution=cardgo] .solution-related{border-color:rgb(248 247 243/.18)}
@media(max-width:1100px) and (min-width:801px){.solution-intro{gap:24px;grid-template-columns:minmax(0,37fr) minmax(0,63fr);padding-top:254px}.solution-intro h1{font-size:64px}.solution-intro-copy>.solution-thesis{font-size:22px}.solution-intro-copy>p:not(.solution-thesis){font-size:16px}.solution-feature-copy{gap:32px}.solution-feature h2{font-size:52px}}
@media(max-width:800px){
 .solutions-subnav{width:100%;padding:4px 0 8px 18px}.solutions-subnav a{padding:16px 0;justify-content:space-between}.solutions-subnav small{font-size:14px;max-width:30ch}.solutions-subnav strong{font-size:18px}
 .solution-intro{display:block;padding:178px 24px 68px}.solution-intro-copy{padding:0}.solution-intro h1{font-size:clamp(62px,12vw,88px)}.solution-intro-copy>.solution-thesis{font-size:23px;margin-top:26px}.solution-intro-copy>p:not(.solution-thesis){font-size:16px;max-width:36ch;margin-top:20px}.solution-intro-copy>.text-link{margin-top:22px}.solution-demo{margin-top:52px;transform:none}.solution-demo .view-controls{gap:12px 18px}.solution-demo .view-toggle{font-size:12px}.solution-screen-note{font-size:11px}.solution-scroll{margin-top:38px}
 .solution-feature{padding:68px 24px}.solution-feature-copy{display:block;margin-bottom:38px}.solution-feature h2{font-size:42px}.solution-feature-copy p{font-size:16px;margin-top:26px}.solution-feature figure{width:100%}.solution-feature figcaption{font-size:13px;margin-top:18px}
 .solution-tail{display:block;padding:74px 24px}.solution-tail h2{font-size:44px}.solution-tail p{font-size:18px;margin-top:28px}.solution-related{font-size:19px;margin-top:52px;padding-top:24px}
}
/* Dedicated solution narratives: native UI evidence and functional copy. */
.product-story{padding:104px var(--gutter);max-width:1920px;margin:auto;position:relative}
.story-copy{max-width:1440px;margin:0 auto 54px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.story-copy h2{font-size:clamp(44px,4.4vw,68px);max-width:18ch;text-wrap:balance}
.story-copy>p{font-size:18px;line-height:1.8;max-width:64ch}
.ui-capture{width:min(100%,1160px);margin:0 0 0 auto}
.ui-capture .image-button{box-shadow:0 24px 50px -28px rgb(17 27 23/.26)}
.ui-capture img{width:100%}
.product-story figcaption{font-size:14px;line-height:1.6;margin-top:18px;color:var(--muted)}
.story-organise{border-top:1px solid var(--rule)}
.story-world{background:var(--dark);color:var(--white)}
.story-world .ui-capture{margin:0 auto 0 0}
.story-world figcaption{color:#BFC5C2}
.story-publish{background:url(assets/portfolio-studio-offwhite.jpg) center/cover}
.solution-page[data-solution=cardgo] .product-story{border-top:1px solid rgb(248 247 243/.18)}
.solution-page[data-solution=cardgo] .product-story figcaption{color:#BFC5C2}
.rfq-audiences{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-top:22px}
.rfq-audiences h3{font-size:22px;letter-spacing:-.02em;margin-bottom:16px}
.rfq-audiences p{font-size:16px;line-height:1.8;max-width:64ch;color:#C4CBC8}
.rfq-composition{position:relative;padding-bottom:100px;max-width:1440px;margin:auto}
.rfq-composition .ui-capture{width:84%;margin:0 auto 0 0}
.rfq-composition .ui-capture img{aspect-ratio:16/6;object-fit:cover;object-position:top}
.rfq-composition .ui-fragment{width:68%;position:relative;margin:-60px 0 0 auto}
.rfq-composition .ui-fragment img{width:100%}
.rfq-composition .ui-fragment .image-button{box-shadow:0 26px 50px -20px rgb(0 0 0/.6)}
.story-production .ui-capture{margin:0 auto 0 0}
.solution-tail>.text-link{grid-column:2;align-self:start}
.custom-page-link{padding:0 var(--gutter) 72px;max-width:1728px;margin:auto}
.custom-page-intro{padding:276px var(--gutter) 100px;max-width:1728px;margin:auto}
.custom-page-intro h1{font-size:clamp(54px,5.6vw,88px);max-width:20ch;line-height:1.08}
.custom-page-intro p{margin:38px 0 28px;font-size:21px;line-height:1.75;max-width:64ch}
.custom-architecture{padding:12px var(--gutter) 108px;max-width:1728px;margin:auto}
.architecture-tabs{display:flex;gap:28px;border-bottom:1px solid var(--rule);padding-bottom:20px;flex-wrap:wrap}
.integration-stage{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;gap:80px;align-items:center;min-height:330px;margin:32px 0 8px}
.integration-routes{position:absolute;inset:0;width:100%;height:100%;color:#BFC4BE;stroke-width:1}
.integration-routes .integration-signal{stroke:var(--yellow);stroke-width:3;stroke-dasharray:28 180;animation:integration-flow 4s linear infinite}
.integration-node{background:var(--paper);padding:24px 12px;position:relative;text-align:center;min-width:0}
.integration-node .node-title{font-weight:800;font-size:20px;line-height:1.3;letter-spacing:-.02em}
.integration-node span{display:block;font-size:14px;margin-top:14px;color:var(--muted)}
.integration-core{background:var(--ink);color:var(--white);padding:38px 20px;box-shadow:0 28px 40px -28px rgb(17 27 23/.3)}
.integration-core span{color:#C4CBC8}
.integration-core>svg{width:40px;height:40px;margin:0 auto 24px;stroke:var(--yellow)}
.integration-stage[data-architecture=standalone] .integration-edge,.integration-stage[data-architecture=standalone] .integration-routes{visibility:hidden}
.integration-stage[data-architecture=extend] .integration-node:last-child{visibility:hidden}
.integration-stage[data-architecture=extend] .integration-routes{clip-path:inset(0 50% 0 0)}
.architecture-caption{font-size:14px;color:var(--muted);max-width:100%;text-align:center}
.architecture-description{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:70px;min-height:255px}
.architecture-description h2{font-size:clamp(40px,4vw,60px)}
.architecture-description p{max-width:64ch;font-size:18px;line-height:1.8}
.api-section{background:var(--dark);color:var(--white);padding:104px var(--gutter)}
.api-intro,.api-details{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:64px}
.api-intro h2{font-size:clamp(46px,4.4vw,68px)}
.api-intro p{font-size:20px;line-height:1.8;max-width:64ch}
.api-protocols{max-width:1440px;margin:70px auto;display:flex;gap:24px;flex-wrap:wrap;font-size:clamp(22px,2.9vw,42px);font-weight:700;letter-spacing:-.02em;padding:32px 0;border-block:1px solid #4B5357;justify-content:space-between}
.api-details h3{font-size:26px;line-height:1.25;margin-bottom:22px;letter-spacing:-.02em}
.api-details p{max-width:64ch;line-height:1.8;color:#C4CBC8}



.custom-examples,.custom-method{padding:104px var(--gutter);max-width:1728px;margin:auto}
.custom-examples h2,.custom-method h2{font-size:clamp(44px,4.4vw,64px)}
.custom-examples>p{margin-top:28px;max-width:64ch}
.service-rows{display:grid;grid-template-columns:1fr 1.5fr;margin:62px 0 0;gap:0 64px}
.service-rows dt,.service-rows dd{border-top:1px solid var(--rule);padding:26px 0;margin:0}
.service-rows dt{font-size:23px;font-weight:700;line-height:1.4;letter-spacing:-.02em}
.service-rows dd{font-size:18px;line-height:1.8;max-width:64ch}
.custom-method{padding-top:28px}.custom-method>.text-link{margin-top:34px}
@keyframes integration-flow{to{stroke-dashoffset:-416}}
.reduce-motion .integration-signal{animation:none}
@media(prefers-reduced-motion:reduce){.integration-signal{animation:none}}
@media(max-width:800px){
 .product-story{padding:68px 24px}.story-copy{display:block;margin-bottom:34px}.story-copy h2{font-size:42px}.story-copy>p{font-size:16px;margin-top:28px}.ui-capture{width:100%}.product-story figcaption{font-size:13px}
 .rfq-audiences{display:block;padding-top:12px}.rfq-audiences>div{margin-top:30px}.rfq-audiences p{font-size:16px}.rfq-audiences h3{font-size:21px}
 .rfq-composition{padding-bottom:0}.rfq-composition .ui-capture{width:100%}.rfq-composition .ui-capture img{aspect-ratio:16/9;object-position:100% 0}.rfq-composition .ui-fragment{width:100%;margin:28px 0 0}
 .custom-page-intro{padding:188px 24px 64px}.custom-page-intro h1{font-size:52px}.custom-page-intro p{font-size:18px;margin-top:30px}.custom-architecture{padding:0 24px 68px}
 .architecture-tabs{gap:14px;flex-direction:column;align-items:start}.architecture-tabs .view-toggle{font-size:16px}
 .integration-stage{gap:12px;min-height:246px;margin:24px 0 8px}.integration-node{padding:15px 3px}.integration-node .node-title{font-weight:800;font-size:14px}.integration-node span{font-size:12px;margin-top:10px}.integration-core{padding:28px 8px}.integration-core>svg{width:30px;height:30px;margin-bottom:18px}.integration-core span{display:none}
 .architecture-caption{font-size:12px;line-height:1.6}.architecture-description{display:block;margin-top:46px;min-height:0}.architecture-description h2{font-size:40px}.architecture-description p{font-size:16px;margin-top:26px}
 .api-section{padding:68px 24px}.api-intro,.api-details{display:block}.api-intro h2{font-size:44px}.api-intro p{font-size:18px;margin-top:28px}.api-protocols{margin:40px 0;gap:22px;justify-content:start;font-size:24px}.api-details>div+div{margin-top:38px}.api-details h3{font-size:24px}.api-details p{font-size:16px}
 .custom-examples,.custom-method{padding:68px 24px}
.custom-examples h2,.custom-method h2{font-size:40px}
.service-rows{display:block;margin-top:38px}.service-rows dt{font-size:21px;padding:24px 0 10px}.service-rows dd{border:0;padding:0 0 26px;font-size:16px}.custom-method{padding-top:0}.custom-page-link{padding:0 24px 56px}
}
.story-production .approval-fragment{width:64%;margin:-72px 0 0 auto;position:relative;padding-bottom:16px}.approval-fragment .image-button{box-shadow:0 24px 52px -18px rgb(0 0 0/.65)}.approval-fragment img{aspect-ratio:16/8;object-fit:cover;object-position:right top}
@media(max-width:800px){.story-production .approval-fragment{width:100%;margin:28px 0 0}}
/* Upcoming solutions: development status and an explicit invitation. */
.development-status{display:flex;align-items:center;gap:10px;font-size:13px!important;font-weight:600;line-height:1.5!important;color:var(--muted);letter-spacing:.01em}
.development-status::before{content:"";width:7px;height:7px;background:var(--yellow,#E6AA35);border-radius:50%;flex:none}
.solution-intro-copy>.development-status{margin-top:26px!important}
.waitlist-cta{font-size:15px;gap:18px}
.showcase-copy>.waitlist-cta{display:flex;width:max-content;max-width:100%;margin-top:18px;font-size:14px}
.early-access-section{padding:82px var(--gutter) 104px;max-width:1920px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:34px 64px;border-top:1px solid var(--rule)}
.early-access-section>.development-status{grid-column:1/-1}
.early-access-section h2{font-size:clamp(38px,4vw,64px);line-height:1.1;letter-spacing:-.04em}
.early-access-section>div>p{font-size:17px;line-height:1.8;max-width:52ch}
.early-access-section .waitlist-cta{margin-top:30px}
.solution-page[data-solution=cardgo] .early-access-section{border-color:rgb(248 247 243/.18)}
.solution-page[data-solution=cardgo] .development-status{color:#BFC5C2}
#waitlist-form{margin-top:30px}#waitlist-form label{display:block;font-size:14px;margin-top:24px}
.waitlist-privacy{font-size:12px;line-height:1.7;color:var(--muted);margin-top:24px}
.waitlist-dialog .brief-result>div{flex-direction:column;align-items:flex-start;gap:22px}
.waitlist-dialog .brief-result pre{font-size:14px;line-height:1.65}
@media(max-width:800px){.early-access-section{padding:60px 24px 76px;display:block}.early-access-section h2{font-size:38px;margin-top:24px}.early-access-section>div>p{font-size:16px;margin-top:28px}.early-access-section .waitlist-cta{font-size:14px}.showcase-copy>.waitlist-cta{margin-top:10px;font-size:13px}.development-status{font-size:12px!important}}
.hero-copy>.development-status{margin-top:22px;font-size:13px;line-height:1.5}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 32px;margin-top:32px}
.hero-actions>.text-link{margin-top:0;font-size:15px}
@media(max-width:800px){.hero-copy>.development-status{margin-top:22px;font-size:12px}.hero-actions{gap:18px 26px;margin-top:26px}.hero-actions>.text-link{font-size:13px}}
/* Clear reading space within each scene; the setting remains visible around the UI. */
.portfolio-background::after{background:linear-gradient(90deg,var(--paper) 0%,rgb(243 242 238/.99) 36%,rgb(243 242 238/.88) 47%,rgb(243 242 238/.25) 67%,transparent 85%)}
.scene-background::after{background:linear-gradient(90deg,var(--dark) 0%,rgb(0 0 0/.99) 36%,rgb(0 0 0/.9) 47%,rgb(0 0 0/.28) 70%,transparent 100%)}
.showcase-copy p{color:#424C47}.cardgo-copy p{color:#F0F2F1}
.pill-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;padding:12px 22px;border:1px solid transparent;border-radius:999px;background:var(--ink);color:var(--paper);font-size:14px;font-weight:600;line-height:1.4;text-decoration:none;transition:background-color 180ms,color 180ms,border-color 180ms}
.pill-button::after{display:none}.pill-button svg{width:16px;height:16px;flex:none}.pill-button:hover{background:#343E38}.pill-button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
footer .pill-button,.cardgo-copy .pill-button,.solution-page[data-solution=cardgo] .pill-button,.site-header[data-theme=dark] .pill-button{background:var(--paper);color:var(--ink)}
.pill-button.is-secondary{background:transparent;color:inherit;border-color:currentColor}.pill-button.is-secondary:hover{background:rgb(125 130 125/.12)}
.waitlist-cta.pill-button{background:#F4B942;color:#15191D;border-color:#F4B942}.waitlist-cta.pill-button:hover{background:#FFD172;border-color:#FFD172}
.pill-button.brief-submit{width:100%;font-size:15px}.site-header .nav-contact.pill-button{font-size:13px;padding:10px 18px;min-height:42px}
.showcase-copy>.pill-button{font-size:13px;margin-top:14px}.showcase-copy>.waitlist-cta{margin-top:12px}
.hero-actions>.pill-button{font-size:14px}.footer-invitation .pill-button{font-size:16px}
@media(max-width:800px){
 .portfolio-background::after{background:linear-gradient(180deg,var(--paper) 0%,rgb(243 242 238/.99) 55%,rgb(243 242 238/.65) 73%,transparent 100%)}
 .scene-background::after{background:linear-gradient(180deg,var(--dark) 0%,rgb(0 0 0/.99) 55%,rgb(0 0 0/.65) 73%,transparent 100%)}
 .showcase-stage{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) 64px;height:calc(100svh - var(--header));min-height:640px;align-items:start}
 .showcase-copy{position:relative;grid-area:1/1;left:auto;right:auto;top:auto;margin:32px 24px 22px;max-width:none;width:calc(100% - 48px)}
 .showcase-copy h2{font-size:clamp(28px,7vw,44px)}
 .showcase-copy p{font-size:14px;line-height:1.6;margin-top:18px}
 .showcase-copy .product-name{margin-top:18px;font-size:13px}.showcase-copy .view-controls{margin-top:5px}
 .showcase-copy>.pill-button{font-size:12px;min-height:42px;padding:10px 17px;margin-top:10px;display:inline-flex}
 .showcase-copy>.waitlist-cta{margin-left:6px}
 .showcase-visual{position:relative;grid-area:2/1;left:auto;right:auto;top:auto;bottom:auto;width:calc(100% - 48px);height:100%;max-height:260px;aspect-ratio:auto;transform:none;margin:0 24px;align-self:stretch}
 .showcase-visual>.image-button{inset:0;width:100%;height:100%;aspect-ratio:auto;transform:none;background:transparent;box-shadow:none}
 .showcase-visual>.image-button img{object-fit:contain}
 .scene-navigation{bottom:16px}
 .hero-actions{gap:12px}.hero-actions>.pill-button{font-size:13px;padding:12px 18px}
 .solution-intro-copy>.pill-button,.early-access-section .pill-button{font-size:14px}
 .site-header .nav-contact.pill-button{font-size:16px}
}

/* Copy, interface and navigation reserve separate space, including short desktop windows. */
.showcase-stage{display:grid;grid-template-columns:minmax(0,40fr) minmax(0,60fr);grid-template-rows:minmax(min-content,1fr) auto;gap:24px 5%;padding:clamp(24px,4svh,48px) var(--gutter) 24px;height:auto;min-height:calc(100svh - var(--header));top:var(--showcase-top,var(--header))}
.showcase-copy{position:relative;grid-area:1/1;inset:auto;width:100%;max-width:none;margin:0;align-self:center}
.showcase-copy h2{font-size:clamp(30px,min(4vw,6.4svh),64px);line-height:1.1}
.showcase-copy p{margin-top:clamp(16px,2.5svh,28px);font-size:16px;line-height:1.65}
.showcase-copy .product-name{margin-top:clamp(16px,2.5svh,28px);font-size:14px}
.showcase-copy .view-controls{margin-top:8px;gap:18px;flex-wrap:wrap}
.showcase-copy>.pill-button{margin-top:12px;max-width:100%;font-size:13px}
.showcase-copy>.waitlist-cta{display:flex;width:max-content;margin-top:12px}
.showcase-visual{position:relative;grid-area:1/2;inset:auto;width:100%;height:auto;max-height:none;aspect-ratio:16/10;transform:none;margin:0;align-self:center}
.scene-navigation{position:relative;grid-area:2/1;inset:auto;margin:0;gap:16px;align-self:end;font-size:13px;white-space:nowrap}
.scene-track{width:clamp(36px,7vw,130px);flex-shrink:1;min-width:24px}
.scene-context{position:relative;grid-area:2/2;inset:auto;align-self:center;justify-self:end}
@media(max-width:1100px) and (min-width:801px){.showcase-stage{grid-template-columns:minmax(0,44fr) minmax(0,56fr);column-gap:4%}.showcase-copy h2{font-size:clamp(30px,min(4vw,6svh),44px)}.showcase-copy p{font-size:15px}.view-toggle{font-size:12px}}
@media(max-width:800px){
 .showcase-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(180px,1fr) auto;gap:22px;padding:28px 24px 18px;min-height:calc(100svh - var(--header))}
 .showcase-copy{grid-area:1/1;margin:0;width:100%;align-self:start}
 .showcase-copy h2{font-size:clamp(28px,7vw,44px)}
 .showcase-copy p{font-size:14px;line-height:1.6;margin-top:18px}
 .showcase-copy .product-name{margin-top:18px;font-size:13px}.showcase-copy .view-controls{margin-top:5px;gap:18px}
 .showcase-copy>.pill-button{font-size:12px;min-height:42px;padding:10px 17px;margin-top:10px;display:inline-flex}
 .showcase-copy>.waitlist-cta{margin-left:0;display:flex}
 .showcase-visual{grid-area:2/1;width:100%;height:100%;max-height:260px;aspect-ratio:auto;margin:0;align-self:stretch}
 .scene-navigation{grid-area:3/1;font-size:12px;gap:14px;align-self:end}
 .scene-context{display:none}
}

.showcase-flow{display:none}


 .showcase-flow-panel{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,40fr) minmax(0,60fr);align-items:center;gap:32px 5%;padding:48px var(--gutter);scroll-margin-top:var(--header);background:var(--paper)}
 .showcase-flow-panel.is-dark{background:var(--dark);color:var(--white)}
 .flow-background{position:absolute;inset:0;z-index:-1;overflow:hidden}.flow-background img{width:100%;height:100%;object-fit:cover}
 .flow-background::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgb(243 242 238/.98) 40%,rgb(243 242 238/.3) 75%,transparent)}
 .is-dark .flow-background::after{background:linear-gradient(90deg,var(--dark) 0%,rgb(0 0 0/.98) 40%,rgb(0 0 0/.3) 75%,transparent)}
 .flow-copy h2{font-size:clamp(30px,4vw,48px);line-height:1.1}.flow-copy p{font-size:16px;line-height:1.65;margin-top:24px;color:#424C47}.is-dark .flow-copy p{color:#F0F2F1}
 .flow-copy .product-name{margin-top:24px}.flow-copy>.pill-button{margin-top:16px;font-size:13px}.flow-copy>.waitlist-cta{display:flex;width:max-content;max-width:100%;margin-top:12px}
 .flow-screen img{width:100%;height:auto}

.showcase.is-flow{height:auto!important}.showcase.is-flow .showcase-stage{display:none}.showcase.is-flow .showcase-flow{display:block}
@media(max-height:620px){ .showcase{height:auto!important}.showcase-stage{display:none}.showcase-flow{display:block}}

@media(max-width:800px){.showcase-flow-panel{grid-template-columns:minmax(0,1fr);padding:32px 24px}.flow-copy h2{font-size:32px}.flow-screen{max-width:600px}.flow-background::after{background:rgb(243 242 238/.95)}.is-dark .flow-background::after{background:rgb(0 0 0/.95)}}
/* Switch the masthead to its menu before translated desktop links reach the logo. */
@media(min-width:801px) and (max-width:1000px){
 :root{--header:88px}
 .site-header{--nav-height:112px;gap:12px;padding:14px var(--gutter)}.site-header.is-compact{--nav-height:88px}
 .site-header .brand{top:14px;width:220px}.site-header.is-compact .brand{width:92px}
 .menu-toggle{display:flex;align-items:center;gap:15px;margin-left:auto;font-size:14px;padding:12px 0}
 .site-header nav{display:none;position:fixed;inset:var(--nav-height) 0 0;margin:0;background:inherit;color:inherit;flex-direction:column;align-items:flex-start;justify-content:center;padding:32px;gap:18px;font-size:32px}
 .site-header.menu-open nav{display:flex;overflow-y:auto;justify-content:safe center}.site-header.is-compact nav{font-size:32px}.site-header nav>a{padding:8px 0}
 .site-header .nav-contact.pill-button{font-size:16px;margin-top:24px}
 .nav-solutions{width:100%}.solutions-entry{gap:14px}.solutions-entry>a{padding:8px 0}.solutions-toggle{width:44px}.solutions-toggle svg{width:18px;height:18px}
 .solutions-subnav{position:static;width:100%;padding:4px 0 8px 18px;border-left:1px solid currentColor;box-shadow:none;font-size:18px}.solutions-subnav a{justify-content:flex-start;gap:24px;padding:12px 0}
}

.hero-actions{flex-direction:column;align-items:flex-start;gap:12px}

/* Shared title/body columns align adjacent editorial sections. */
@media(min-width:801px){
 .custom-section,.early-access-section,.studio-section{max-width:1920px;margin-inline:auto}
 .custom-intro,.early-access-section,.studio-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:64px;align-items:start}
}

/* Fast gestures advance to the next reading boundary without timed holds. */
html.home-page{scroll-behavior:auto}

.cardgo-connectors{position:relative;padding:104px var(--gutter) 68px;background:var(--paper);color:var(--ink)}
.connector-intro{max-width:1440px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.connector-intro h2{font-size:clamp(42px,4.4vw,68px);line-height:1.1;text-wrap:balance}
.connector-intro p{font-size:18px;line-height:1.8;max-width:54ch;color:#424C47}
.connector-intro .pill-button{margin-top:28px}
.connector-ribbon{overflow:hidden;margin:64px calc(-1 * var(--gutter)) 0;border-block:1px solid var(--rule);padding:36px 0;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.connector-logo-track{display:flex;width:max-content;animation:connector-drift 32s linear infinite;animation-play-state:paused}
.connector-ribbon.is-in-view .connector-logo-track{animation-play-state:running}
.connector-ribbon:hover .connector-logo-track,.cardgo-connectors:focus-within .connector-logo-track,.connector-ribbon.is-paused .connector-logo-track{animation-play-state:paused}
.connector-logo-group{display:flex;align-items:center;gap:clamp(64px,6vw,112px);padding-inline:48px;flex-shrink:0}
.connector-logo{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:180px;height:72px}
.connector-logo img{width:100%;height:56px;object-fit:contain}
.connector-odoo{width:220px}.connector-odoo img{height:96px}
.connector-zoho{width:150px}
.connector-business{width:270px;gap:12px;justify-content:flex-start}
.connector-business img{width:46px;height:46px}
.connector-business>span{font-family:Raleway,Arial,sans-serif;font-size:11px;line-height:1.5;color:#424C47}
.connector-business strong{display:block;font-size:21px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.connector-motion{display:grid;place-items:center;width:40px;height:40px;border:1px solid #65716A;border-radius:50%;margin:20px 0 0 auto;color:var(--ink)}
.connector-motion:hover{background:var(--ink);color:var(--paper)}
.connector-motion svg{width:18px;height:18px}
.connector-play{display:none}.connector-motion[aria-pressed=true] .connector-pause{display:none}.connector-motion[aria-pressed=true] .connector-play{display:block}
@keyframes connector-drift{to{transform:translateX(-50%)}}
.reduce-motion .connector-ribbon{mask-image:none}
.reduce-motion .connector-logo-track{animation:none;width:auto;transform:none}
.reduce-motion .connector-logo-group{width:100%;flex-wrap:wrap;justify-content:center;gap:32px 56px}
.reduce-motion .connector-logo-group[aria-hidden=true],.reduce-motion .connector-motion{display:none}
@media(prefers-reduced-motion:reduce){.connector-ribbon{mask-image:none}.connector-logo-track{animation:none;width:auto;transform:none}.connector-logo-group{width:100%;flex-wrap:wrap;justify-content:center;gap:32px 56px}.connector-logo-group[aria-hidden=true],.connector-motion{display:none}}
@media(max-width:800px){.cardgo-connectors{padding:68px 24px 48px}.connector-intro{display:block}.connector-intro h2{font-size:40px}.connector-intro p{font-size:16px;margin-top:28px}.connector-ribbon{margin-top:44px;padding:24px 0}.connector-logo-group{gap:54px;padding-inline:27px}.connector-logo{width:148px}.connector-odoo{width:190px}.connector-zoho{width:128px}.connector-business{width:240px}.connector-business strong{font-size:19px}}
.solution-page[data-solution=cardgo] .cardgo-connectors .pill-button{background:var(--ink);color:var(--paper)}
.solution-page[data-solution=cardgo] .cardgo-connectors .pill-button:hover{background:#343E38}
.solution-page[data-solution=cardgo] .site-header[data-theme=light] .nav-contact.pill-button{background:var(--ink);color:var(--paper)}

/* Natural multilingual composition: headings share one balanced phrase. */
h1,h2,h3{ text-wrap:balance;hyphens:none;word-break:normal }
.hero h1>span{display:inline}
.gap-input,.gap-output,.gap-problem,.integration-node .node-title,figcaption{ text-wrap:balance }
@media(max-width:800px){
 
 .custom-intro h2,.early-access-section h2,.solution-tail h2,.story-copy h2,.connector-intro h2,.architecture-description h2,.api-intro h2,.custom-examples h2,.custom-method h2{font-size:clamp(30px,8.2vw,40px);line-height:1.12}
.hero h1,.custom-page-intro h1{font-size:clamp(36px,10.5vw,54px)}
 .app-shot figcaption{display:block}.app-shot figcaption span+span{max-width:none;text-align:left;margin-top:5px}
}
/* The narrowest displays keep complete phrases without scaling the whole page. */
@media(min-width:801px){.hero h1{font-size:clamp(40px,4vw,72px)}}
@media(max-width:800px){
 
 .custom-intro h2,.early-access-section h2,.solution-tail h2,.story-copy h2,.connector-intro h2,.architecture-description h2,.api-intro h2,.custom-examples h2,.custom-method h2{font-size:clamp(25px,8.2vw,40px)}
.hero h1{font-size:clamp(28px,9.4vw,48px)}
 .custom-page-intro h1{font-size:clamp(28px,8.3vw,46px)}
 .studio-section h2{font-size:clamp(28px,8vw,40px)}
 .footer-invitation h2{font-size:clamp(32px,9.6vw,70px)}
}
@media(max-width:600px){
 .integration-stage{grid-template-columns:minmax(0,1fr);gap:28px;min-height:0;isolation:isolate}
 .integration-stage:before{content:'';position:absolute;inset:32px auto 32px 50%;border-left:1px solid #BFC4BE;z-index:-1}
 .integration-routes{display:none}
 .integration-node{width:100%;padding:20px 12px}.integration-node .node-title{font-size:18px}
 .integration-node span{font-size:14px}.integration-core{padding:28px 20px}
 .integration-stage[data-architecture=standalone] .integration-edge,.integration-stage[data-architecture=extend] .integration-node:last-child{display:none}
}
@media(min-width:801px){.gap-input,.gap-output{max-width:none;font-size:16px}}
.showcase-copy h2,.flow-copy h2{font-size:clamp(25px,min(3.6vw,6.4svh),64px)}
@media(max-width:800px){
 .showcase-copy h2,.flow-copy h2{font-size:clamp(25px,7vw,44px)}
 .module-detail h3{font-size:clamp(25px,7.2vw,31px)}
 .contact-dialog h2{font-size:clamp(26px,8.2vw,40px)}
 .brief-result h3{font-size:26px}
}

/* Product names remain proper nouns in copy and read as navigation labels in caps. */
strong{font-weight:700}
 .footer-bottom nav a[href="vernis.html"],.footer-bottom nav a[href="cardgo.html"],.solutions-subnav strong{text-transform:uppercase;font-weight:700}

/* Mobile plates occupy their own grid row, including reduced motion. */
@media(max-width:800px){.reduce-motion .showcase-visual>.portfolio-interface,.reduce-motion .showcase-visual>.cardgo-interface{transform:none!important}}

/* V50 — native UI inspection: source, unfolding connection, reticle. */
.scroll-narrative{padding:100px var(--gutter) 80px;background:var(--paper);color:var(--ink)}
.scroll-narrative[data-theme=dark],.interface-details[data-theme=dark],.solution-discovery[data-theme=dark]{background:var(--dark);color:var(--white)}
.narrative-intro{max-width:1680px;margin:0 auto 64px}
.narrative-intro h2{font-size:clamp(64px,8vw,96px);font-weight:800;line-height:1;letter-spacing:-.04em}
.narrative-intro strong{font-weight:800}.narrative-intro p{font-size:clamp(20px,2vw,28px);margin-top:22px;line-height:1.5;max-width:40ch}
.narrative-layout{max-width:1680px;margin:auto;position:relative}
.narrative-chapter{padding:72px 0 100px;border-top:1px solid var(--rule);scroll-margin-top:104px;position:relative}
.scroll-narrative[data-theme=dark] .narrative-chapter{border-color:rgb(248 247 243/.18)}
.chapter-copy :is(h2,h3){font-size:clamp(32px,4vw,54px);font-weight:800;line-height:1.12;letter-spacing:-.035em;max-width:22ch;text-wrap:balance}
.chapter-copy p{font-size:18px;line-height:1.8;max-width:62ch;margin-top:28px}
.chapter-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.chapter-actions:empty{display:none}.chapter-actions .pill-button{max-width:100%}
.scroll-narrative[data-theme=dark] .pill-button.is-secondary,.solution-discovery[data-theme=dark] .pill-button.is-secondary{background:transparent;border-color:var(--white);color:var(--white)}
.chapter-static{margin-top:48px}
.narrative-screen,.reticle-source,.discovery-screen{display:block;width:100%;overflow:hidden;border:1px solid rgb(40 48 44/.16);border-radius:10px;background:#F5F6F7;box-shadow:0 20px 48px -28px rgb(10 20 20/.28)}
.narrative-screen img,.reticle-source img,.discovery-screen img{width:100%;height:auto}
.narrative-navigation,.discovery-navigation{display:flex;gap:8px;flex-wrap:wrap;margin:32px 0 0;position:relative;z-index:4;max-width:100%}
.narrative-navigation button,.discovery-navigation button{font-size:12px;line-height:1.4;padding:9px 13px;border:1px solid var(--rule);border-radius:999px;transition:color 160ms,background-color 160ms;max-width:100%}
.narrative-navigation button[aria-pressed=true],.discovery-navigation button[aria-pressed=true]{font-weight:700;background:var(--ink);color:var(--paper);border-color:var(--ink)}
[data-theme=dark] .narrative-navigation button,[data-theme=dark] .discovery-navigation button{border-color:rgb(248 247 243/.3)}
[data-theme=dark] .narrative-navigation button[aria-pressed=true],[data-theme=dark] .discovery-navigation button[aria-pressed=true]{background:var(--paper);color:var(--ink)}
/* UI pixels are never enlarged: max width is the original native crop width. */
.reticle-scene{--wire-progress:1;--frame-progress:1;--content-progress:1;--mark-progress:1;position:relative;min-width:0;isolation:isolate}
.reticle-scene.standalone{height:600px;width:100%}
.reticle-source{position:absolute;left:0;bottom:22px;width:82%;opacity:calc(1 - .24*var(--content-progress))}
.reticle-window{position:absolute;right:12px;top:24px;width:min(var(--native-width),48%,320px,calc((var(--scene-height,600px) - 56px) * var(--crop-ratio)));z-index:3;opacity:var(--frame-progress)}
.reticle-window .native-detail{display:block;position:relative;overflow:hidden;aspect-ratio:auto;width:100%;border-radius:3px;background:#F5F6F7;box-shadow:0 12px 32px -18px rgb(10 20 20/.4);opacity:var(--content-progress);clip-path:inset(0 calc((1 - var(--content-progress))*100%) 0 0)}
.native-detail img{position:absolute;max-width:none!important;width:var(--crop-width)!important;height:auto!important;left:var(--crop-left);top:var(--crop-top)}
[data-theme=dark] .native-detail{background:#111316}
.reticle-frame{position:absolute;inset:-12px;width:calc(100% + 24px);height:calc(100% + 24px);stroke:currentColor;stroke-width:1.2;opacity:.8;pointer-events:none;z-index:4}
.reticle-frame path{fill:none;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--frame-progress));vector-effect:non-scaling-stroke}
.reticle-link{position:absolute;inset:0;width:100%;height:100%;overflow:visible;stroke:currentColor;stroke-width:1.1;pointer-events:none;z-index:2}
.reticle-zone{stroke-dasharray:3 5;opacity:calc(.45*var(--mark-progress));rx:3}
.reticle-wire{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--wire-progress));opacity:.62}
.reticle-origin{opacity:var(--mark-progress);stroke:var(--yellow);stroke-width:1.4}.reticle-origin circle{fill:var(--paper)}
[data-theme=dark] .reticle-origin circle{fill:var(--dark)}
.reticle-scene.attached{position:absolute;inset:0;pointer-events:none}.attached .reticle-window{top:auto;bottom:28px;right:12px;width:min(var(--native-width),32%,300px,calc((var(--scene-height,500px) - 56px) * var(--crop-ratio)))}
.standalone.is-wide .reticle-source{bottom:auto;top:34px;width:90%}.standalone.is-wide .reticle-window{top:auto;bottom:24px;width:min(var(--native-width),88%,610px)}
.reticle-scene:focus-within{--wire-progress:1!important;--frame-progress:1!important;--content-progress:1!important;--mark-progress:1!important}
.reticle-window:focus-within{opacity:1}.reticle-window:focus-within .native-detail{opacity:1;clip-path:none}
.interface-details{padding:104px var(--gutter) 140px;background:var(--paper);color:var(--ink)}
.interface-details>h2{font-size:clamp(38px,5vw,76px);font-weight:800;line-height:1.1;letter-spacing:-.04em;margin:0 auto 80px;max-width:1680px}
.focus-layout{max-width:1440px;margin:auto}.interface-focus{display:grid;grid-template-columns:minmax(0,40fr) minmax(0,60fr);gap:7%;align-items:center;padding:64px 0;scroll-margin-top:160px}
.interface-focus:nth-child(even){grid-template-columns:minmax(0,60fr) minmax(0,40fr)}.interface-focus:nth-child(even) .focus-copy{grid-column:2;grid-row:1}.interface-focus:nth-child(even) .focus-stage{grid-column:1;grid-row:1}
.focus-copy h3{font-size:clamp(30px,3.5vw,48px);font-weight:800;line-height:1.12;letter-spacing:-.035em;text-wrap:balance}.focus-copy p{font-size:17px;line-height:1.8;margin-top:28px;max-width:54ch}.focus-stage{min-width:0}
.solution-discovery{padding:0 var(--gutter);background:var(--paper);color:var(--ink)}
.discovery-stage{max-width:1680px;margin:auto;padding:80px 0 100px;display:grid;grid-template-columns:minmax(0,37fr) minmax(0,63fr);gap:5%;align-items:center}
.discovery-copy h2{font-size:clamp(52px,6vw,80px);line-height:1;margin-bottom:28px;min-height:110px;display:flex;align-items:center}
.solution-home-logo{display:block;width:275px;height:auto;max-width:100%}
[data-product="dystil"] .solution-home-logo{width:225px}
@media(max-width:600px){.discovery-copy h2{min-height:88px}.solution-home-logo{width:220px}[data-product="dystil"] .solution-home-logo{width:180px}}.discovery-copy strong{font-weight:800}
.discovery-copy h3{font-size:clamp(30px,3vw,44px);font-weight:800;line-height:1.12;letter-spacing:-.035em;text-wrap:balance;max-width:20ch}
.discovery-copy p{font-size:17px;line-height:1.7;margin-top:24px;max-width:43ch}.discovery-actions{display:flex;align-items:flex-start;flex-direction:column;gap:12px;margin-top:28px}
.discovery-actions .pill-button{font-size:14px;padding:14px 22px;max-width:100%}.discovery-media{min-width:0}
.discovery-frames{display:grid;gap:32px}.discovery-frame{position:relative}.discovery-navigation{display:none}
.solution-discovery.is-enhanced{height:250svh}.is-enhanced .discovery-stage{position:sticky;top:104px;height:calc(100svh - 104px);padding:32px 0}
.is-enhanced .discovery-frames{display:block;position:relative;aspect-ratio:16/10}.is-enhanced .discovery-frame{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 260ms ease}.is-enhanced .discovery-frame.is-active{opacity:1;pointer-events:auto;z-index:1}.is-enhanced .discovery-navigation{display:flex;margin-top:24px}
.rfq-audience-section{padding:60px var(--gutter) 100px;max-width:1680px;margin:auto}.rfq-detail-copy{font-size:18px;line-height:1.8;max-width:72ch;margin:0 0 64px}
.reduce-motion .discovery-frame{transition:none!important}
@media(max-width:999px), (max-height:719px){.scroll-narrative{padding-top:64px}.narrative-intro{margin-bottom:32px}.narrative-chapter{padding:56px 0 72px}.chapter-copy{max-width:760px}.chapter-copy p{font-size:16px}.chapter-copy :is(h2,h3){font-size:clamp(30px,5vw,48px)}.chapter-static{margin-top:36px}.interface-details{padding-top:72px;padding-bottom:80px}.interface-details>h2{margin-bottom:36px}.interface-focus{gap:32px;padding:48px 0}.focus-copy p{font-size:16px}.discovery-stage{padding:72px 0 80px}.discovery-copy p{font-size:16px}}
@media(max-width:600px){.narrative-intro h2{font-size:64px}.narrative-intro p{font-size:20px}.chapter-copy :is(h2,h3){font-size:clamp(27px,8vw,38px)}.chapter-copy p{line-height:1.75}.chapter-actions{flex-direction:column;align-items:flex-start}.chapter-actions .pill-button{font-size:13px;padding:12px 18px}.interface-focus,.interface-focus:nth-child(even){display:flex;flex-direction:column;align-items:stretch;gap:28px;padding:44px 0}.focus-copy h3{font-size:30px}.interface-details>h2{font-size:clamp(30px,8vw,42px)}.reticle-scene.standalone{height:650px}.reticle-source{top:16px;bottom:auto;width:100%}.standalone .reticle-window{top:auto;bottom:24px;width:min(var(--native-width),calc(100% - 24px));right:12px}.standalone.is-wide{height:520px}.standalone.is-wide .reticle-source{width:100%;top:16px}.standalone.is-wide .reticle-window{width:min(var(--native-width),calc(100% - 24px))}.discovery-stage{display:flex;flex-direction:column;align-items:stretch;gap:40px}.discovery-copy h2{font-size:64px}.discovery-copy h3{font-size:32px}.discovery-copy p{line-height:1.75}.rfq-audience-section{padding:36px 24px 70px}.rfq-audiences{display:block}.rfq-audiences>div+div{margin-top:44px}.rfq-detail-copy{font-size:16px;margin-bottom:40px}}
@media(prefers-reduced-motion:reduce){.discovery-frame{transition:none}}


/* V51 — one editorial grid, paired reading scenes and native-size floating details. */
.solution-intro,.early-access-section,.solution-tail,.custom-section,.studio-section,.product-story,.custom-page-intro,.custom-architecture,.custom-examples,.custom-method,.custom-page-link,.rfq-audience-section{max-width:none;margin-inline:0}
.narrative-intro,.narrative-layout,.focus-layout,.interface-details>h2,.connector-intro,.story-copy,.api-intro,.api-details,.api-protocols,.solution-feature-copy,.rfq-composition,.discovery-stage{max-width:none}
.solution-tail,.early-access-section,.studio-section,.custom-intro,.connector-intro,.story-copy,.api-intro,.api-details,.architecture-description,.footer-invitation{column-gap:64px;align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.footer-invitation>div{padding-left:0}
@media(min-width:801px){
 .footer-bottom{grid-template-columns:minmax(0,1fr) 64px minmax(0,.5fr) minmax(0,.5fr)}
 .footer-bottom>nav:first-of-type{grid-column:3}
 .footer-bottom>nav:last-of-type{grid-column:4}
}
.scroll-narrative{padding-top:64px}.narrative-intro{display:flex;align-items:baseline;gap:40px;margin-bottom:28px}.narrative-intro h2{font-size:64px}.narrative-intro p{font-size:20px;margin-top:0}
.narrative-chapter{display:grid;grid-template-columns:minmax(0,34fr) minmax(0,66fr);gap:6%;align-items:start;padding:64px 0 80px}.chapter-static{margin:0;min-width:0}
.narrative-navigation{margin-top:24px}.narrative-navigation button{padding:8px 11px}
.reticle-scene.standalone,.reticle-scene.attached,.reticle-scene.is-wide{position:relative;inset:auto;display:block;width:100%;height:auto;min-height:max(560px,calc(var(--native-height) + 72px));padding:24px 24px 32px;pointer-events:auto}
.reticle-source,.standalone.is-wide .reticle-source{position:relative;inset:auto;width:94%;opacity:1;margin:0;z-index:1}
.reticle-window,.attached .reticle-window,.standalone.is-wide .reticle-window{position:absolute;right:24px;top:auto;bottom:32px;width:min(var(--native-width),calc(100% - 48px));max-width:var(--native-width);z-index:3}
.reticle-window .native-detail{border:1px solid rgb(40 48 44/.18);border-radius:14px;box-shadow:0 24px 44px -20px rgb(10 20 20/.38)}
[data-theme=dark] .reticle-window .native-detail{border-color:rgb(248 247 243/.22);box-shadow:0 24px 44px -20px rgb(0 0 0/.75)}
.native-detail img{position:static;max-width:100%!important;width:100%!important;height:auto!important;inset:auto;display:block}
.reticle-frame{opacity:.55}.reticle-link{z-index:2}
.interface-focus,.interface-focus:nth-child(even){display:block;padding:0;margin-bottom:64px}
.focus-pin{display:grid;grid-template-columns:minmax(0,34fr) minmax(0,66fr);gap:6%;align-items:center;padding:64px 0}
.interface-focus:nth-child(even) .focus-pin{grid-template-columns:minmax(0,66fr) minmax(0,34fr)}
.interface-focus.is-enhanced{height:280svh}.is-enhanced>.focus-pin{position:sticky;top:104px;height:calc(100svh - 104px);padding:24px 0}
.solution-discovery.is-enhanced{height:430svh}
.reduce-motion .reticle-scene{--wire-progress:1!important;--frame-progress:1!important;--content-progress:1!important;--mark-progress:1!important}
@media(max-width:999px),(max-height:719px){.focus-pin,.interface-focus:nth-child(even) .focus-pin{grid-template-columns:minmax(0,35fr) minmax(0,65fr);gap:40px;padding:48px 0}.interface-focus:nth-child(even) .focus-copy{grid-column:1}.interface-focus:nth-child(even) .focus-stage{grid-column:2}}
@media(max-width:800px){
 .narrative-intro{display:block;margin-bottom:28px}.narrative-intro p{margin-top:16px}
 .narrative-chapter{display:block;padding:44px 0 64px}.chapter-static{margin-top:36px}
 .focus-pin,.interface-focus:nth-child(even) .focus-pin{display:flex;flex-direction:column;align-items:stretch;gap:36px;padding:44px 0}
 .reticle-scene.standalone,.reticle-scene.attached,.reticle-scene.is-wide{height:auto;display:flex;flex-direction:column;gap:40px;padding:12px 12px 24px}
 .reticle-source,.standalone.is-wide .reticle-source{width:100%;flex:none}
 .reticle-window,.attached .reticle-window,.standalone.is-wide .reticle-window{position:relative;inset:auto;width:min(var(--native-width),100%);align-self:center;flex:none}
 .reticle-frame{inset:-10px;width:calc(100% + 20px);height:calc(100% + 20px)}.interface-focus{margin-bottom:28px}.focus-copy h3{font-size:30px}
}

@media(max-width:800px){.reticle-scene.standalone,.reticle-scene.attached,.reticle-scene.is-wide{min-height:0}}

.native-detail .native-fragment{display:block;border:0;width:100%;position:absolute;inset:0;pointer-events:none;opacity:0;background:#fff}
.native-detail.has-native-fragment .native-fragment{opacity:1}.native-detail.has-native-fragment img{visibility:hidden}
[data-theme=dark] .native-detail .native-fragment{background:#111316}

.focus-copy h3{font-size:clamp(30px,3.1vw,44px)}
@media(max-width:800px){.focus-copy h3{font-size:30px}}
/* Native gestures and anchor moves stay immediate; authored product tabs retain their explicit transition. */
html{scroll-behavior:auto}

/* V52 — edge-to-edge image heroes; the navigation belongs to the same visual surface. */
.page-hero{position:relative;isolation:isolate;overflow:clip;min-height:900px;height:92svh;max-height:1080px;padding:270px var(--gutter) 80px;display:flex;align-items:center;background:var(--dark);color:var(--white)}
.page-hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.page-hero-media img{width:100%;height:100%;object-fit:cover}
.page-hero:after{content:'';position:absolute;inset:0;z-index:-1;--hero-shade:linear-gradient(90deg,var(--dark) 0%,rgb(0 0 0/.97) 23%,rgb(0 0 0/.8) 39%,rgb(0 0 0/.15) 65%,transparent 85%);pointer-events:none;background:linear-gradient(180deg,transparent,rgb(0 0 0/.55) 55%,var(--dark)) bottom/100% 160px no-repeat,var(--hero-shade)}
.page-hero-copy{width:42%;max-width:620px;min-width:0}
.page-hero h1{font-size:clamp(64px,6.7vw,96px);line-height:1.06;text-wrap:balance}
.page-hero-thesis{font-size:clamp(24px,2.2vw,34px);line-height:1.45;margin-top:24px;max-width:24ch;color:var(--white)}
.page-hero .development-status{margin-top:32px;color:var(--white)}
.page-hero .pill-button{margin-top:28px;background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.page-hero-scroll,.page-hero .scroll-hint{position:absolute;bottom:32px;left:var(--gutter);right:auto;display:flex;align-items:center;gap:20px;font-size:14px;font-weight:600;padding:10px 0}
.page-hero-scroll svg{width:16px;height:16px}
.page-hero--vernis{background:#000}.page-hero--vernis:after{--hero-shade:linear-gradient(90deg,#000 0%,#000 23%,rgb(0 0 0/.86) 37%,transparent 63%)}
.page-hero--vernis .page-hero-media{left:35%;top:100px;bottom:60px;right:3%}.page-hero--vernis .page-hero-media img{object-fit:contain}
.page-hero--cardgo .page-hero-media{left:27%}.page-hero--cardgo .page-hero-media img{object-position:65% 54%}
.page-hero--custom{background:var(--paper);color:var(--ink)}
.page-hero--custom:after{--hero-shade:linear-gradient(90deg,var(--paper) 0%,rgb(243 242 238/.97) 23%,rgb(243 242 238/.8) 39%,rgb(243 242 238/.08) 62%,transparent 80%)}
.page-hero--custom h1{font-size:clamp(48px,5.2vw,80px)}
.page-hero--custom .page-hero-media img{object-position:65% 55%}
.site-header.in-page-hero .header-motion-surface{background:transparent}
.page-hero~.solution-intro{padding-top:88px;grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:64px}
.page-hero~.solution-intro .solution-intro-copy{padding-top:0}
.page-hero~.solution-intro .solution-intro-copy>p:first-child{margin-top:0;max-width:48ch;font-size:20px}
.page-hero~.solution-intro .solution-scroll{display:none}
.page-hero~.custom-page-intro{padding-top:96px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}
.custom-page-intro h2{font-size:clamp(40px,4vw,64px)}.page-hero~.custom-page-intro p{margin-top:0;font-size:20px}
@media(max-width:1000px){.page-hero-copy{width:48%}.page-hero{padding-top:210px;min-height:860px}.page-hero h1{font-size:64px}.page-hero--custom h1{font-size:50px}.page-hero-thesis{font-size:24px}.page-hero~.solution-intro{gap:40px}}
@media(max-width:800px){
 .page-hero{height:92svh;max-height:none;min-height:872px;padding:160px 24px 272px;align-items:start}
 .page-hero-copy{width:100%;max-width:560px}.page-hero h1{font-size:60px}.page-hero--custom h1{font-size:46px}
 .page-hero-thesis{font-size:24px;max-width:27ch}.page-hero .development-status{margin-top:20px}.page-hero .pill-button{margin-top:20px}
 .page-hero-media,.page-hero--vernis .page-hero-media,.page-hero--cardgo .page-hero-media{inset:auto 0 0;height:252px}
 .page-hero-media img{object-fit:cover;object-position:right center}.page-hero--vernis .page-hero-media img{object-fit:contain;object-position:center}
 .page-hero:after,.page-hero--vernis:after{--hero-shade:linear-gradient(180deg,var(--dark) 0%,var(--dark) calc(100% - 252px),rgb(0 0 0/.4) calc(100% - 182px),transparent calc(100% - 82px))}
 .page-hero--vernis:after{--hero-shade:linear-gradient(180deg,#000 0%,#000 calc(100% - 252px),transparent calc(100% - 122px))}
 .page-hero--custom:after{--hero-shade:linear-gradient(180deg,var(--paper) 0%,var(--paper) calc(100% - 252px),rgb(243 242 238/.4) calc(100% - 172px),transparent calc(100% - 62px))}
 .page-hero-scroll,.page-hero .scroll-hint{bottom:18px;left:24px;background:var(--dark);padding:8px 12px;border-radius:24px;font-size:12px}.page-hero--custom .page-hero-scroll{background:var(--paper)}
 .page-hero~.solution-intro{display:block;padding:64px 24px}.page-hero~.solution-intro .solution-demo{margin-top:36px}
 .page-hero~.custom-page-intro{display:block;padding:64px 24px}.custom-page-intro h2{font-size:38px}.page-hero~.custom-page-intro p{margin-top:32px;font-size:18px}
}
/* The photographic composition already reserves space for copy and navigation. */
@media(min-width:801px){.page-hero--vernis .page-hero-media,.page-hero--cardgo .page-hero-media{inset:0}.page-hero--vernis .page-hero-media img{object-fit:cover;object-position:65% center}}
.page-hero:before{content:'';position:absolute;inset:0 0 auto;height:230px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgb(0 0 0/.94),rgb(0 0 0/.65) 55%,transparent)}
.page-hero--vernis:before{background:linear-gradient(180deg,rgb(0 0 0/.9),rgb(0 0 0/.55) 55%,transparent)}
.page-hero--custom:before{background:linear-gradient(180deg,rgb(243 242 238/.98),rgb(243 242 238/.9) 58%,transparent)}

/* V53 — Graphite owns the site; Paper is reserved for selected reading interludes. */
body{background:var(--dark);color:var(--white)}
html{scrollbar-color:#89938D var(--dark)}
dialog{scrollbar-color:var(--muted) var(--paper)}
html:has(.contact-dialog[open]){scrollbar-gutter:auto}
main section[data-theme=dark]{background:var(--dark);color:var(--white);--rule:#41484D;--muted:#B9C1BD}
main section[data-theme=light]{background:var(--paper);color:var(--ink);--rule:#D5D8D3;--muted:#626966}
main section[data-theme=dark] p{color:#DCE1DD}
main section[data-theme=dark] .development-status{color:#BCC5C0}
main section[data-theme=dark] .pill-button:not(.is-secondary){background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
main section[data-theme=dark] .pill-button:not(.is-secondary):hover{background:#FFD172;border-color:#FFD172}
main section[data-theme=dark] .pill-button.is-secondary{background:transparent;color:var(--white);border-color:rgb(248 247 243/.7)}
main section[data-theme=dark] .pill-button.is-secondary:hover{background:rgb(248 247 243/.1)}
main section[data-theme=light] .development-status{color:var(--muted)}
.solution-intro[data-theme=dark] .solution-intro-copy>p,.studio-section[data-theme=dark] p{color:#DCE1DD}
.solution-intro[data-theme=dark] .view-toggle{color:var(--white)}
.interface-details[data-theme=light] .focus-copy p{color:#424C47}
.interface-details[data-theme=light] .native-detail{background:#fff}
.interface-details[data-theme=light] .reticle-origin circle{fill:var(--paper)}
.page-hero--custom{color:var(--white)}
.page-hero--custom:after{--hero-shade:linear-gradient(90deg,var(--dark) 0%,rgb(0 0 0/.98) 25%,rgb(0 0 0/.9) 42%,rgb(0 0 0/.18) 69%,transparent 90%)}
.page-hero--custom:before{background:linear-gradient(180deg,rgb(0 0 0/.96),rgb(0 0 0/.8) 58%,transparent)}
.hero.page-hero--home{grid-template-columns:none}
.page-hero--home .hero-copy{padding:0;width:43%;max-width:640px}
.page-hero--home h1{font-size:clamp(48px,4.4vw,72px);line-height:1.08;text-wrap:balance}
.page-hero--home .hero-copy>p:not(.development-status){font-size:18px;line-height:1.65;margin-top:28px;max-width:42ch}
.page-hero--home .hero-actions{margin-top:28px;gap:12px}
.page-hero--home .hero-actions .pill-button{margin-top:0;font-size:14px}
.page-hero--home .scroll-hint{color:var(--white)}
.page-hero--home .page-hero-media img{object-position:67% center}
.page-hero--home:after{--hero-shade:linear-gradient(90deg,var(--dark) 0%,rgb(0 0 0/.94) 20%,rgb(0 0 0/.83) 35%,transparent 67%)}
@media(max-width:1000px){.page-hero--home .hero-copy{width:48%}.page-hero--home h1{font-size:48px}.page-hero--home .hero-copy>p:not(.development-status){font-size:16px}}
@media(max-width:800px){
 .page-hero--home .hero-copy{width:100%;max-width:560px}.page-hero--home h1{font-size:clamp(36px,9.4vw,48px)}
 .page-hero--home .hero-copy>p:not(.development-status){font-size:16px;line-height:1.6;margin-top:22px}
 .page-hero--home .hero-copy>.development-status{margin-top:20px!important}.page-hero--home .hero-actions{margin-top:22px}
 .page-hero--home .hero-actions .pill-button{font-size:13px;padding:12px 20px}
 .page-hero--home .page-hero-media img{object-position:85% center}
 .page-hero--home:after{--hero-shade:linear-gradient(180deg,var(--dark) 0%,var(--dark) calc(100% - 252px),rgb(0 0 0/.2) calc(100% - 152px),transparent calc(100% - 90px))}
 .page-hero--custom:after{--hero-shade:linear-gradient(180deg,var(--dark) 0%,var(--dark) calc(100% - 252px),rgb(0 0 0/.4) calc(100% - 172px),transparent calc(100% - 62px))}
 .page-hero--custom .page-hero-scroll{background:var(--dark)}
}
/* Continuation cues leave before the compact masthead can cross them. */
.site-header.is-compact~main .page-hero-scroll,.site-header.is-compact~main .page-hero .scroll-hint{visibility:hidden}

/* V54 — the studio manifesto replaces the former duplicate native preview band. */
.studio-manifest,.studio-listen{padding:104px var(--gutter) 120px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.studio-manifest h2,.studio-listen h2{font-size:clamp(38px,4.3vw,64px);line-height:1.1;text-wrap:balance}
.studio-manifest p,.studio-listen p{font-size:20px;line-height:1.75;max-width:48ch}
.studio-manifest .pill-button,.studio-listen .pill-button{margin-top:32px}
.page-hero--studio h1{font-size:clamp(48px,5.2vw,80px)}
.page-hero--studio .page-hero-media img{object-position:67% center}
.page-hero--studio:after{--hero-shade:linear-gradient(90deg,var(--dark) 0%,rgb(0 0 0/.94) 20%,rgb(0 0 0/.85) 38%,transparent 67%)}
.studio-editorial{padding:100px var(--gutter)}
.studio-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.studio-copy h2{font-size:clamp(34px,3.4vw,52px);line-height:1.12;text-wrap:balance}
.studio-copy p{font-size:18px;line-height:1.8;margin-top:28px;max-width:55ch}
.studio-photo{min-width:0}.studio-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% center}
.studio-split.is-reversed .studio-copy{grid-column:2;grid-row:1}.studio-split.is-reversed .studio-photo{grid-column:1;grid-row:1}
.studio-solution-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.studio-journey{padding:80px var(--gutter) 120px}
.studio-journey>h2{font-size:clamp(36px,4vw,58px);max-width:24ch;text-wrap:balance}
.studio-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:64px}
.studio-stages article{border-top:1px solid var(--rule);padding-top:28px}.studio-stages h3{font-size:24px;line-height:1.25;letter-spacing:-.02em;text-wrap:balance}.studio-stages p{font-size:17px;line-height:1.8;margin-top:18px}
@media(min-width:801px){
 .discovery-copy{width:100%;max-width:43ch;justify-self:end}
 .solution-discovery[data-product=cardgo] .discovery-stage{grid-template-columns:minmax(0,63fr) minmax(0,37fr)}
 .solution-discovery[data-product=cardgo] .discovery-copy{grid-column:2;grid-row:1;justify-self:start}.solution-discovery[data-product=cardgo] .discovery-media{grid-column:1;grid-row:1}
 .scroll-narrative:not(.is-enhanced) .chapter-copy{padding-top:24px}
}
@media(max-width:1000px){.studio-split{gap:40px}.studio-copy h2{font-size:36px}.studio-copy p{font-size:17px}}
@media(max-width:800px){
 .studio-manifest,.studio-listen{display:block;padding:64px 24px 80px}.studio-manifest h2,.studio-listen h2{font-size:36px}
 .studio-manifest p,.studio-listen p{font-size:17px;margin-top:28px}
 .page-hero--studio h1{font-size:46px}.page-hero--studio .page-hero-media img{object-position:85% center}
 .page-hero--studio:after{--hero-shade:linear-gradient(180deg,var(--dark) 0%,var(--dark) calc(100% - 370px),rgb(0 0 0/.35) calc(100% - 270px),transparent calc(100% - 170px))}
 .studio-editorial{padding:64px 24px}.studio-split{display:flex;flex-direction:column;align-items:stretch;gap:36px}.studio-copy h2{font-size:34px}.studio-copy p{font-size:17px}
 .studio-photo img{aspect-ratio:4/3}.studio-journey{padding:48px 24px 80px}.studio-journey>h2{font-size:34px}.studio-stages{display:block;margin-top:40px}.studio-stages article+article{margin-top:32px}
 .discovery-stage{display:flex;flex-direction:column;align-items:stretch;gap:36px}
}

/* V54 — one focused Vernis walkthrough, immediately below its photographic hero. */
[data-product=portfolio].scroll-narrative{padding-top:64px}

.page-hero--dystil .page-hero-media img{object-position:70% center}
.page-hero h1:has(.solution-hero-logo){line-height:0}
.solution-hero-logo{display:block;width:clamp(240px,25vw,360px);height:auto;max-width:100%}
.solution-hero-body{max-width:42ch;margin-top:20px;font-size:16px;line-height:1.65;color:var(--graphite-copy)}
@media(max-width:800px){.solution-hero-logo{width:240px}.solution-hero-body{font-size:15px;margin-top:18px}.page-hero--dystil .page-hero-media img{object-position:right center}}

/* V58 — a short Studio headline clears the expanded mark at every size. */
.page-hero--studio .page-hero-copy{width:46%;max-width:680px}
.page-hero--studio h1{font-size:clamp(48px,4.6vw,72px);line-height:1.08}
.studio-page .studio-copy h2,.studio-page .studio-listen h2{font-size:clamp(34px,3.1vw,48px);line-height:1.12}
.studio-page .studio-journey>h2{max-width:none;font-size:clamp(36px,3.8vw,56px);line-height:1.12}
@media(min-width:801px) and (max-width:1000px){.page-hero--studio .page-hero-copy{width:50%}.page-hero--studio h1{font-size:44px}.studio-page .studio-copy h2,.studio-page .studio-listen h2{font-size:32px}}
@media(max-width:800px){
 .page-hero--studio .page-hero-copy{width:100%}.page-hero--studio h1{font-size:clamp(30px,9.2vw,42px)}
 .studio-page .studio-copy h2,.studio-page .studio-listen h2,.studio-page .studio-journey>h2,.studio-page .footer-invitation h2{font-size:clamp(28px,8.2vw,34px);line-height:1.12}
}

/* A detail emerges along its locator, then rests above the capture without scaling. */
.reticle-window .native-detail{transform:translateY(calc((1 - var(--content-progress))*18px));clip-path:inset(0 calc((1 - var(--content-progress))*100%) 0 0 round 14px)}
.reticle-window:focus-within .native-detail{transform:none}
.reduce-motion .reticle-window .native-detail{transform:none;clip-path:none}
@media(prefers-reduced-motion:reduce){.reticle-window .native-detail{transform:none;clip-path:none}}

/* Three architectural paths, with real input, intervention and output semantics. */
.custom-architecture{padding-top:64px}
.integration-stage{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);gap:clamp(40px,6vw,104px);align-items:center;min-height:480px;margin:48px 0 28px;isolation:isolate}
.integration-bank{min-width:0;position:relative;z-index:1}
.integration-bank h3{font-size:20px;line-height:1.3;font-weight:800;letter-spacing:-.02em;text-wrap:balance;margin-bottom:24px}
.integration-endpoints{display:grid;gap:18px}
.integration-endpoint{position:relative;display:flex;align-items:center;gap:16px;min-height:86px;padding:16px 0;background:var(--paper);border-bottom:1px solid #B4BCB5}
.integration-endpoint>svg{width:24px;height:24px;flex:none;stroke:#4E5953;stroke-width:1.4;fill:none}
.integration-endpoint>div{min-width:0}.integration-endpoint strong{display:block;font-size:16px;line-height:1.4;font-weight:700;letter-spacing:-.02em;overflow-wrap:break-word}
.integration-endpoint span{display:block;color:#526058;font-size:13px;line-height:1.5;margin-top:5px}
.graph-port{position:absolute;right:-5px;top:50%;width:8px;height:8px;border-radius:50%;border:1px solid #687A6E;background:var(--paper);transform:translateY(-50%)}
.integration-bank--output .graph-port{right:auto;left:-5px}
.integration-bank--output .integration-endpoint{padding-left:18px}
.integration-core{position:relative;z-index:1;border-radius:18px;padding:30px;background:var(--dark);color:var(--white);box-shadow:0 32px 52px -32px rgb(0 0 0/.5);min-width:0}
.integration-core-brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
.integration-core-brand img{width:88px;height:auto}.integration-core-brand svg{width:34px;height:34px;stroke:var(--yellow);stroke-width:1.2;fill:none}
.integration-core .node-title{font-size:clamp(24px,2vw,30px);font-weight:800;line-height:1.12;letter-spacing:-.025em;text-wrap:balance}
.integration-core .integration-core-description{font-size:14px;line-height:1.7;color:#DCE1DD;margin-top:16px}
.integration-capabilities{list-style:none;display:grid;gap:0;margin-top:24px;padding:0}
.integration-capabilities li{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #41484D;font-size:12px;line-height:1.45;color:#E7ECE8}
.integration-capabilities li:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--yellow);flex:none}
.graph-core-ports i{position:absolute;width:7px;height:7px;background:var(--yellow);border-radius:50%;left:-3px;top:30%}.graph-core-ports i:nth-child(2){top:50%}.graph-core-ports i:nth-child(3){top:70%}.graph-core-ports i:nth-child(n+4){left:auto;right:-3px}.graph-core-ports i:nth-child(5){top:50%}.graph-core-ports i:nth-child(6){top:70%}
.integration-stage .integration-routes{inset:0;clip-path:none!important;visibility:visible!important;overflow:visible;stroke:#AAB7AE;stroke-width:1.3;fill:none;pointer-events:none;z-index:0}
.graph-route,.graph-pulse{vector-effect:non-scaling-stroke}.graph-pulse{stroke:#B57900;stroke-width:2.5;stroke-dasharray:.07 .93;opacity:0}
.architecture-caption{font-size:13px;line-height:1.65;text-align:left;max-width:75ch;color:#526058}
.architecture-description{margin-top:64px}
.reduce-motion .graph-pulse{display:none}
@media(max-width:1000px) and (min-width:801px){.integration-stage{gap:32px}.integration-core{padding:24px}.integration-endpoint{gap:10px}.integration-endpoint strong{font-size:14px}.integration-endpoint span{font-size:12px}.integration-bank h3{font-size:18px}}
@media(max-width:800px){
 .custom-architecture{padding:40px 24px 72px}.architecture-tabs{gap:12px}
 .integration-stage{display:grid!important;grid-template-columns:minmax(0,1fr);gap:56px;min-height:0;height:auto;margin:40px 0 30px}
 .integration-bank h3{font-size:20px;margin-bottom:16px}.integration-endpoints{gap:0}.integration-endpoint{min-height:76px;padding:16px 0;gap:16px}.integration-bank--output .integration-endpoint{padding-left:0}
 .integration-core{max-width:520px;width:100%;margin:auto;padding:28px}.integration-core .node-title{font-size:28px}
 .graph-port{right:20px;top:auto;bottom:-4px;transform:none}.integration-bank--output .graph-port{left:auto;right:20px;top:-4px;bottom:auto}
 .graph-core-ports i{top:-3px;left:25%}.graph-core-ports i:nth-child(2){top:-3px;left:50%}.graph-core-ports i:nth-child(3){top:-3px;left:75%}
 .graph-core-ports i:nth-child(n+4){top:auto;bottom:-3px;right:auto;left:25%}.graph-core-ports i:nth-child(5){top:auto;left:50%}.graph-core-ports i:nth-child(6){top:auto;left:75%}
 .architecture-description{margin-top:48px}.architecture-description h2{font-size:clamp(28px,8.2vw,38px)}
}
@media(prefers-reduced-motion:reduce){.graph-pulse{display:none}}


/* Source-aware ink keeps Vernis connector strokes readable on the native light UI. */

@media(max-width:360px){.page-hero{min-height:960px}.studio-page .page-hero h1{font-size:27px}}

/* A single scroll clock draws each inspection, with depth confined to the lens. */
.reticle-link{z-index:5!important;fill:none}

.reticle-window{opacity:1!important;perspective:1100px;transform:translate3d(0,var(--lens-y,0px),0);transition:none;isolation:isolate}
.reticle-window .native-detail{opacity:var(--content-progress);clip-path:none;transform:translateY(calc((1 - var(--content-progress))*20px)) rotateX(var(--lens-pitch,0deg)) rotateY(var(--lens-yaw,0deg));transform-origin:center;backface-visibility:hidden;transition:none}
.reticle-window .native-detail:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(118deg,transparent 30%,rgb(255 255 255/.65) 47%,transparent 64%);background-position:var(--lens-light-x,50%) center;background-size:150% 100%;opacity:var(--lens-light,.025);z-index:2}
.reticle-window .reticle-frame{z-index:1}
.reticle-window:focus-within .native-detail{transform:none;opacity:1}
.reduce-motion .reticle-window,.reduce-motion .reticle-window .native-detail{transform:none!important;opacity:1;clip-path:none}
.reduce-motion .native-detail:after{display:none}
@media(prefers-reduced-motion:reduce){.reticle-window,.reticle-window .native-detail{transform:none!important;opacity:1;clip-path:none}.reticle-window .native-detail:after{display:none}}
.integration-stage .integration-routes{display:block}
@media(max-width:800px){.integration-stage:before{content:none}}

/* Keep both active Studio displays inside the photographic hero crop. */
.page-hero--studio .page-hero-media img{object-position:right center}
@media(max-width:800px){.page-hero--studio .page-hero-media img{object-fit:contain;object-position:right bottom}}

/* The same curtain runs on every document, including restored history entries. */
html.page-entering:after,html.page-revealing:after,html.page-leaving:after{content:'';position:fixed;inset:0;background:var(--dark);z-index:2147483647;pointer-events:none;transform:translateX(0);will-change:transform}
html.page-leaving:after{pointer-events:auto;animation:curtain-cover 240ms cubic-bezier(.4,0,.2,1) both}
html.page-revealing:after{animation:curtain-uncover 480ms cubic-bezier(.16,1,.3,1) both}
@keyframes curtain-cover{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@keyframes curtain-uncover{from{transform:translateX(0)}to{transform:translateX(100%)}}
html.reduce-motion:after{animation:none;content:none}
@media(prefers-reduced-motion:reduce){html.page-entering:after,html.page-revealing:after,html.page-leaving:after{content:none;animation:none}}

/* A frosted perimeter adds glass depth without blurring or cropping the native UI. */
.reticle-window .native-detail,[data-theme=dark] .reticle-window .native-detail{border-color:rgb(219 235 247/.25);box-shadow:0 0 0 6px rgb(190 212 230/.18),0 0 0 7px rgb(238 248 255/.22),0 28px 56px -16px rgb(0 0 0/.58)}
body[data-solution=portfolio] .reticle-window .native-detail{border-color:rgb(58 73 86/.12);box-shadow:0 0 0 6px rgb(209 226 239/.22),0 0 0 7px rgb(243 249 255/.28),0 28px 56px -16px rgb(0 0 0/.5)}

/* Invert the wire against the actual pixels, including dark artwork inside a light UI. */
.reticle-link{mix-blend-mode:difference;stroke:#fff;stroke-width:1.6}
.reticle-wire{opacity:1}
.reticle-marker{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;pointer-events:none;z-index:6}
body[data-solution=portfolio] .reticle-window .native-detail{border:0;box-shadow:0 0 0 6px rgb(209 226 239/.22),0 0 0 7px rgb(243 249 255/.28),0 8px 22px -10px rgb(0 0 0/.22),0 24px 46px -18px rgb(0 0 0/.28)}

.site-header nav>a[aria-current=page],.nav-solutions:has(.solutions-subnav a[aria-current=page]) .solutions-entry>a,.view-toggle[aria-pressed=true]{font-weight:700}
.solutions-subnav a[aria-current=page] strong{font-weight:800}

.solutions-subnav strong{display:block;min-height:30px;font-size:22px;line-height:1}
.solution-nav-brand{display:inline-block;min-height:24px;line-height:1;border-bottom:2px solid transparent}
.solution-nav-logo{display:block;width:auto;height:18px;max-width:100%}
/* Dystil's descender is part of the asset, so its canvas is taller at equal letter size. */
[data-brand=dystil] .solution-nav-logo{height:22px}
.solutions-subnav .solution-nav-logo{height:22px}
.solutions-subnav [data-brand=dystil] .solution-nav-logo{height:27px}
.solution-nav-logo--dark{display:none}
.site-header[data-theme=dark] .solution-nav-logo--light,.footer-bottom .solution-nav-logo--light{display:none}
.site-header[data-theme=dark] .solution-nav-logo--dark,.footer-bottom .solution-nav-logo--dark{display:block}
.solutions-subnav a[aria-current=page] .solution-nav-brand{border-bottom-color:currentColor}
/* Equal footer rows avoid the inline-image baseline gap; Dystil keeps its optical shift. */
.footer-bottom>nav:first-of-type>a{display:flex;align-items:center;min-height:24px;line-height:1}
.footer-bottom>nav:first-of-type>a>strong{display:flex;align-items:center;min-height:0;height:24px;line-height:1;border-bottom:0}


/* One viewport canvas keeps the dot field slower than the document without tall bitmaps. */
.dot-grid-background{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
main{position:relative;z-index:1}
main section.dot-grid-section[data-theme],main footer.dot-grid-section{background:transparent}

/* Each alternating product pair keeps its columns in normal document flow. */
.narrative-chapter{scroll-margin-top:0}
.narrative-navigation{margin:24px 0 56px}
.narrative-navigation button{font-weight:700}
.chapter-static .reticle-source{width:100%}
@media(min-width:801px){.scroll-narrative .chapter-copy{width:100%;max-width:43ch;justify-self:end;padding-top:24px}}
@media(min-width:801px){
 .narrative-chapter:nth-child(even){grid-template-columns:minmax(0,66fr) minmax(0,34fr)}
 .narrative-chapter:nth-child(even) .chapter-copy{grid-column:2;grid-row:1;justify-self:start}
 .narrative-chapter:nth-child(even) .chapter-static{grid-column:1;grid-row:1}
}

/* Centre the main lettering (y=204–567), keeping the y descender intact.
   Its optical centre is 97/591 above the SVG canvas centre. */
.dystil-logo{translate:0 16.41286%}
/* Reserve the optical shift before the hero caption. */
.page-hero h1:has(.dystil-logo){padding-bottom:clamp(17.03px,1.774vw,25.55px)}
@media(max-width:800px){.page-hero h1:has(.dystil-logo){padding-bottom:17.03px}}

/* The zoom pause remains visibly part of a continuing page. */
.scroll-continue{position:fixed;z-index:45;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;padding:12px 20px;border:1px solid rgb(255 255 255/.22);border-radius:32px;background:rgb(0 0 0/.92);color:var(--white);font:600 13px/1.4 Raleway,Arial,sans-serif;white-space:nowrap;box-shadow:0 4px 24px rgb(0 0 0/.16);animation:scroll-cue-enter .25s ease-out both;cursor:pointer}
.scroll-continue[hidden]{display:none}
.discovery-continue{display:none;position:static;transform:none;width:max-content;margin:24px auto 0;animation:none}
.solution-discovery.is-enhanced .discovery-continue{display:flex}
.scroll-continue svg{width:16px;height:16px;fill:none;stroke:var(--yellow);stroke-width:1.5}
.scroll-continue:hover{border-color:var(--yellow)}
.scroll-continue:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}
@keyframes scroll-cue-enter{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%,0)}}
.reduce-motion .scroll-continue{display:none}
@media(prefers-reduced-motion:reduce){.scroll-continue{animation:none}}

/* Shorter heroes keep their photographs and copy within one shared surface. */
.page-hero{height:64.4svh;min-height:630px;max-height:756px;padding-top:290px;padding-bottom:64px}
.page-hero h1{font-size:clamp(45px,4.69vw,67.2px)}
.page-hero-thesis{font-size:clamp(20px,1.54vw,25px);line-height:1.35;margin-top:17px}
.page-hero .development-status{margin-top:18px;font-size:12px}
.page-hero .pill-button{margin-top:20px;font-size:13px;padding:12px 20px}
.solution-hero-logo{width:clamp(168px,17.5vw,252px)}
.solution-hero-body{max-width:none;font-size:15px;line-height:1.5;margin-top:14px}
.page-hero--home h1,.page-hero--studio h1,.page-hero--custom h1{font-size:clamp(34px,3.08vw,50.4px)}
.page-hero--home .hero-copy>p:not(.development-status){font-size:16px;line-height:1.5;margin-top:18px}
.page-hero--home .hero-actions{flex-direction:row;gap:10px;margin-top:18px}
.page-hero--home .hero-actions .pill-button{font-size:12px;padding:12px 16px}
.page-hero-scroll,.page-hero .scroll-hint{left:auto;right:var(--gutter);bottom:20px}
@media(min-width:801px) and (max-width:1000px){.page-hero{min-height:602px;padding-top:180px}.page-hero-copy{width:48%}.page-hero--studio .page-hero-copy{width:50%}.page-hero--home h1{font-size:34px}.page-hero--home .hero-copy>p:not(.development-status){font-size:14px}.page-hero--home .hero-actions{flex-direction:column}}
@media(max-width:800px){
 .page-hero{height:64.4svh;min-height:610.4px;max-height:none;padding:112px 24px 196px;align-items:start}
 .page-hero h1{font-size:42px}.page-hero--home h1{font-size:30px}.page-hero--studio h1,.page-hero--custom h1{font-size:30px}
 .page-hero-copy,.page-hero--home .hero-copy,.page-hero--studio .page-hero-copy{width:100%}
 .page-hero-thesis{font-size:20px;margin-top:17px}.page-hero .development-status{margin-top:14px}.page-hero .pill-button{margin-top:14px}
 .page-hero--home .hero-copy>p:not(.development-status){font-size:13px;line-height:1.5;margin-top:14px}
 .page-hero--home .hero-copy>.development-status{margin-top:12px!important}
 .page-hero--home .hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
 .page-hero--home .hero-actions .pill-button{font-size:11px;padding:10px 12px;white-space:normal;line-height:1.4;gap:8px;height:100%}
 .page-hero--home .hero-actions svg{width:16px;height:16px}
 .solution-hero-logo{width:168px}.solution-hero-body{font-size:13px;line-height:1.5;margin-top:13px}
 .page-hero-media,.page-hero--vernis .page-hero-media,.page-hero--cardgo .page-hero-media{inset:auto 0 0;height:176.4px}
 .page-hero:after,.page-hero--vernis:after,.page-hero--home:after,.page-hero--custom:after,.page-hero--studio:after{--hero-shade:linear-gradient(180deg,var(--dark) 0%,var(--dark) calc(100% - 176.4px),rgb(0 0 0/.3) calc(100% - 106px),transparent calc(100% - 40px))}
 .page-hero-scroll,.page-hero .scroll-hint{left:24px;right:auto;bottom:18px}
 .page-hero h1:has(.dystil-logo){padding-bottom:12px}
}
@media(max-width:360px){.page-hero{min-height:672px}.page-hero--home h1{font-size:28px}.page-hero--home .hero-copy>p:not(.development-status){font-size:12.5px}}

.discovery-frame-actions{margin-top:20px}.solution-discovery.is-enhanced .discovery-frame-actions{display:none}
@media(min-width:801px){.page-hero h1:has(.dystil-logo){padding-bottom:clamp(12px,1.24vw,17.9px)}.page-hero--dystil .page-hero-thesis{max-width:none}}
@media(min-width:801px) and (max-height:1000px){.page-hero:has(.solution-hero-body) .page-hero-thesis{margin-top:12px}.page-hero:has(.solution-hero-body) .solution-hero-body{font-size:14px;margin-top:10px}.page-hero:has(.solution-hero-body) .development-status{margin-top:12px}.page-hero:has(.solution-hero-body) .pill-button{margin-top:14px}}
/* Locator strokes stay inside the viewport without creating a scroll container. */
html{overflow-x:clip}
