:root{--paper:#f3f1e8;--paper-strong:#e8e5d9;--ink:#0b1d2a;--ink-soft:#3e4d56;--line:#0b1d2a2e;--acid:#b9ff66;--acid-dark:#70a837;--white:#fffef8;--sans:var(--font-manrope);--mono:var(--font-jetbrains-mono);--shell:min(1180px, calc(100vw - 48px))}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.65}a{color:inherit}svg{max-width:100%;display:block}::selection{background:var(--acid);color:var(--ink)}.shell{width:var(--shell);margin-inline:auto}.skip-link{z-index:100;background:var(--acid);color:var(--ink);padding:10px 14px;font-weight:800;transition:transform .2s;position:fixed;top:12px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--acid-dark);outline-offset:4px}.site-header{z-index:50;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 88%, transparent);backdrop-filter:blur(14px);position:sticky;top:0}.header-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;min-height:74px;display:grid}.wordmark{align-items:center;gap:12px;width:fit-content;text-decoration:none;display:inline-flex}.wordmark span{background:var(--ink);width:36px;height:36px;color:var(--acid);font:800 12px/1 var(--mono);letter-spacing:-.04em;border-radius:9px;place-items:center;display:grid}.wordmark strong{letter-spacing:-.02em;font-size:14px}.main-nav{align-items:center;gap:30px;display:flex}.main-nav a,.language-link{font:600 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;text-decoration:none}.main-nav a{position:relative}.main-nav a:after{content:"";background:var(--ink);height:2px;transition:right .2s;position:absolute;bottom:-8px;left:0;right:100%}.main-nav a:hover:after{right:0}.language-link{border:1px solid var(--line);border-radius:999px;justify-self:end;align-items:center;gap:8px;padding:10px 12px;display:flex}.language-link:hover{background:var(--ink);color:var(--white)}.hero{grid-template-columns:1.03fr .97fr;align-items:center;gap:70px;min-height:720px;padding-block:94px 82px;display:grid}.hero-copy,.hero-visual{animation:.65s both enter}.hero-visual{min-width:0;animation-delay:.12s}.eyebrow,.card-eyebrow,.section-number{color:var(--ink-soft);font:600 11px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 22px}.hero h1{letter-spacing:-.065em;max-width:720px;margin:0;font-size:clamp(48px,5.4vw,78px);line-height:.98}.hero-intro{max-width:680px;color:var(--ink-soft);margin:30px 0 24px;font-size:18px;line-height:1.68}.availability{border:1px solid var(--line);width:fit-content;font:600 11px/1.35 var(--mono);border-radius:999px;align-items:center;gap:10px;margin:0 0 30px;padding:9px 14px 9px 11px;display:flex}.availability span{background:var(--acid-dark);width:8px;height:8px;box-shadow:0 0 0 5px color-mix(in srgb, var(--acid) 30%, transparent);border-radius:50%}.button-row{flex-wrap:wrap;gap:12px;display:flex}.button{border:1px solid var(--ink);min-height:50px;font:700 12px/1 var(--mono);border-radius:4px;justify-content:space-between;align-items:center;gap:24px;padding:0 19px;text-decoration:none;transition:transform .2s,background .2s,color .2s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button.primary{background:var(--ink);color:var(--white)}.button.primary:hover{background:#183346}.button.secondary{background:0 0}.button.secondary:hover{background:var(--white)}.social-row{gap:24px;margin-top:28px;display:flex}.social-row a,.text-link,.back-link{font:650 12px/1.3 var(--mono);text-underline-offset:5px;align-items:center;gap:8px;text-decoration-thickness:1px;display:inline-flex}.visual-label{color:var(--ink-soft);font:500 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;grid-template-columns:repeat(3,1fr);padding:0 16px 12px;display:grid}.visual-label span:nth-child(2){text-align:center}.visual-label span:last-child{text-align:right}.cluster-diagram{color:var(--ink);border:1px solid var(--line);background:color-mix(in srgb, var(--white) 68%, transparent);border-radius:23px;overflow:hidden;box-shadow:0 24px 80px #0b1d2a17}.cluster-diagram svg{width:100%;height:auto}.flow-line{fill:none;stroke:var(--ink);stroke-width:2px;stroke-dasharray:5 5}.flow-line.faint{stroke-opacity:.25}.diagram-node rect{fill:var(--white);stroke:var(--ink);stroke-width:1.5px}.diagram-node.accent rect{fill:var(--acid)}.diagram-node.source rect{fill:var(--ink)}.diagram-node .node-kicker{fill:var(--ink-soft);font:600 8px var(--mono);letter-spacing:.08em}.diagram-node .node-title{fill:var(--ink);font:750 18px var(--sans)}.diagram-node.source .node-kicker{fill:var(--acid)}.diagram-node.source .node-title{fill:var(--white)}.cluster-frame>rect{fill:var(--paper);stroke:var(--ink);stroke-width:1.5px}.cluster-label{fill:var(--ink);font:700 9px var(--mono);letter-spacing:.08em}.diagram-chip rect{fill:var(--ink)}.diagram-chip text{fill:var(--white);text-anchor:middle;font:600 9px var(--mono)}.metrics-band{border-block:1px solid var(--line);background:var(--paper-strong)}.metrics-grid{grid-template-columns:repeat(4,1fr);display:grid}.metric{border-left:1px solid var(--line);min-height:220px;padding:34px 30px;position:relative}.metric:last-child{border-right:1px solid var(--line)}.metric-index{color:var(--ink-soft);font:500 10px var(--mono);position:absolute;top:26px;right:24px}.metric strong{letter-spacing:-.055em;margin:50px 0 14px;font-size:clamp(30px,3.2vw,46px);line-height:1;display:block}.metric p{max-width:200px;color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}.section{padding-block:120px}.section-heading{grid-template-columns:.7fr 1.3fr 1fr;align-items:start;gap:34px;margin-bottom:58px;display:grid}.section-heading h2,.case-section h2,.contact-inner h2,.case-close h2{letter-spacing:-.055em;margin:0;font-size:clamp(38px,5vw,66px);line-height:1.02}.section-heading>p:last-child{max-width:460px;color:var(--ink-soft);margin:4px 0 0}.project-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.project-card{border:1px solid var(--line);background:var(--white);flex-direction:column;justify-content:space-between;min-height:420px;padding:34px;display:flex}.project-card.featured{background:var(--ink);min-height:480px;color:var(--white);grid-column:1/-1;grid-template-columns:1fr .8fr;gap:48px;display:grid}.project-card h3{letter-spacing:-.045em;margin:0 0 18px;font-size:clamp(30px,3vw,44px);line-height:1.05}.project-card p:not(.card-eyebrow){max-width:610px;color:var(--ink-soft);margin:0;font-size:15px}.project-card.featured p:not(.card-eyebrow),.project-card.featured .card-eyebrow{color:#b9c3c9}.tag-list{flex-wrap:wrap;gap:8px;margin:28px 0 0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);font:550 10px/1 var(--mono);border-radius:999px;padding:7px 10px}.featured .tag-list li{border-color:#ffffff38}.card-links{flex-wrap:wrap;gap:24px;margin-top:34px;display:flex}.featured .text-link{color:var(--acid)}.featured .text-link.muted{color:var(--white)}.text-link:hover{text-decoration-thickness:2px}.project-flow{background:#ffffff0a;border:1px solid #ffffff2e;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-self:center;align-items:center;gap:10px;padding:24px;display:grid}.project-flow span{width:56px;height:56px;font:600 10px var(--mono);border:1px solid #ffffff40;border-radius:50%;place-items:center;display:grid}.project-flow span:last-child{background:var(--acid);border-color:var(--acid);color:var(--ink)}.project-flow i{background:#ffffff52;height:1px}.section-dark{background:var(--ink);color:var(--white)}.section-dark .eyebrow{color:var(--acid)}.experience-layout{grid-template-columns:.72fr 1.28fr;gap:80px;display:grid}.experience-layout .section-heading{margin:0;display:block}.sticky-heading{align-self:start;position:sticky;top:130px}.timeline{border-top:1px solid #fff3}.timeline-item{border-bottom:1px solid #fff3;padding:34px 0 46px 54px;position:relative}.timeline-number{color:var(--acid);font:500 10px var(--mono);position:absolute;top:42px;left:0}.timeline-head{grid-template-columns:1fr auto;gap:24px;display:grid}.timeline-head h3{letter-spacing:-.03em;margin:0 0 3px;font-size:24px}.timeline-head p{color:#b9c3c9;margin:0;font-size:14px}.timeline-meta{text-align:right;flex-direction:column;align-items:flex-end;gap:9px;display:flex}.timeline-meta time,.timeline-meta span{font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.06em}.timeline-meta span{background:var(--acid);color:var(--ink);padding:5px 8px}.timeline-item ul{margin:26px 0 0;padding:0;list-style:none}.timeline-item li{color:#cbd2d6;margin-top:13px;padding-left:22px;font-size:14px;position:relative}.timeline-item li:before{content:"↳";color:var(--acid);font-family:var(--mono);position:absolute;left:0}.section-heading.narrow{grid-template-columns:.7fr 1.6fr}.skills-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.skill-group{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:210px;padding:30px}.skill-group>span{color:var(--ink-soft);font:500 10px var(--mono)}.skill-group h3{letter-spacing:-.03em;margin:34px 0 12px;font-size:20px}.skill-group p{color:var(--ink-soft);margin:0;font-size:14px}.credentials-grid{grid-template-columns:1.4fr 1fr 1fr;gap:16px;margin-top:56px;display:grid}.credential{border:1px solid var(--line);min-height:250px;padding:28px;position:relative;overflow:hidden}.credential.accent-card{background:var(--acid)}.credential>p{font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.08em;margin:0 0 54px}.credential h3{letter-spacing:-.035em;max-width:390px;margin:0 0 12px;font-size:24px;line-height:1.15}.credential>span{color:var(--ink-soft);font-size:12px}.credential[data-watermark]:after{content:attr(data-watermark);color:#0b1d2a1a;letter-spacing:-.08em;pointer-events:none;font-size:88px;font-weight:700;position:absolute;bottom:-32px;right:-12px}.error-page{place-items:center;min-height:100vh;padding-block:64px;display:grid}.error-card{max-width:760px}.error-code{color:var(--acid-dark);font:700 13px var(--mono);letter-spacing:.1em;margin:0 0 20px}.error-card h1{letter-spacing:-.06em;margin:0;font-size:clamp(48px,8vw,88px);line-height:1}.error-card>p:not(.error-code){max-width:600px;color:var(--ink-soft);margin:28px 0 36px;font-size:18px}.contact-section{background:var(--acid);padding-block:112px}.contact-inner h2{max-width:850px}.contact-inner>p:not(.eyebrow){color:#2f4333;max-width:630px;margin:28px 0 36px;font-size:17px}.button.light{background:var(--white)}.button.ghost{background:0 0}.site-footer{background:var(--ink);color:var(--white);border-top:1px solid #ffffff26;padding-block:28px}.footer-inner{justify-content:space-between;align-items:center;gap:24px;display:flex}.footer-inner p{color:#aeb8be;margin:0;font-size:12px}.footer-inner div{gap:24px;display:flex}.footer-inner a{font:500 11px var(--mono);text-underline-offset:4px}.case-study{overflow:hidden}.case-hero{padding-block:80px 72px}.back-link{color:var(--ink-soft);margin-bottom:70px}.case-hero h1{letter-spacing:-.068em;max-width:1010px;margin:0;font-size:clamp(50px,7vw,92px);line-height:.96}.case-intro{max-width:720px;color:var(--ink-soft);margin:32px 0;font-size:19px}.case-stats{border:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.case-stats div{border-right:1px solid var(--line);flex-direction:column;justify-content:center;min-height:142px;padding:24px;display:flex}.case-stats div:last-child{border-right:0}.case-stats strong{letter-spacing:-.04em;font-size:27px}.case-stats span{color:var(--ink-soft);font:500 11px var(--mono)}.case-section{padding-block:116px}.architecture-section{grid-template-columns:.75fr 1.25fr;align-items:center;gap:80px;display:grid}.case-section-copy>p:last-child{max-width:520px;color:var(--ink-soft);margin:28px 0 0}.cluster-diagram.compact{justify-self:end;max-width:680px}.section-tinted{background:var(--paper-strong)}.decision-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,1fr);margin-top:58px;display:grid}.decision-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:290px;padding:28px}.decision-grid span{font:500 10px var(--mono);color:var(--ink-soft)}.decision-grid h3{letter-spacing:-.035em;margin:72px 0 14px;font-size:23px}.decision-grid p{color:var(--ink-soft);margin:0;font-size:14px}.delivery-flow{grid-template-columns:repeat(4,1fr);margin:58px 0 0;padding:0;list-style:none;display:grid}.delivery-flow li{padding:0 28px 0 0;position:relative}.delivery-flow li:not(:last-child):after{content:"";background:var(--line);height:1px;position:absolute;top:18px;left:48px;right:14px}.delivery-flow>li>span{z-index:1;background:var(--ink);width:38px;height:38px;color:var(--acid);font:600 10px var(--mono);border-radius:50%;place-items:center;display:grid;position:relative}.delivery-flow h3{margin:30px 0 10px;font-size:19px}.delivery-flow p{color:var(--ink-soft);margin:0;font-size:13px}.limits-section{background:var(--ink);width:100%;color:var(--white)}.limits-inner{grid-template-columns:.4fr 1fr 1fr;align-items:start;gap:40px;display:grid}.limits-inner .section-number{color:var(--acid)}.limits-inner p:last-child{color:#c2cbd0;margin:4px 0 0;font-size:16px}.case-close{padding-block:110px}.case-close h2{max-width:820px}.case-close>p{max-width:610px;color:var(--ink-soft);margin:24px 0 34px}@keyframes enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media (width<=980px){:root{--shell:min(100% - 40px, 760px)}.main-nav{display:none}.header-inner{grid-template-columns:1fr auto}.hero{grid-template-columns:1fr;gap:62px;min-height:auto;padding-block:72px}.hero-copy{max-width:760px}.hero-visual{max-width:680px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:1px solid var(--line)}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.section-heading{grid-template-columns:.5fr 1.5fr}.section-heading>p:last-child{grid-column:2}.project-card.featured,.experience-layout{grid-template-columns:1fr}.sticky-heading{position:static}.credentials-grid{grid-template-columns:1fr 1fr}.credential.accent-card{grid-column:1/-1}.architecture-section{grid-template-columns:1fr}.cluster-diagram.compact{justify-self:stretch}.delivery-flow{grid-template-columns:repeat(2,1fr);gap:50px 0}.limits-inner{grid-template-columns:.3fr 1fr}.limits-inner p:last-child{grid-column:2}}@media (width<=640px){html{scroll-padding-top:16px}:root{--shell:calc(100% - 30px)}body{font-size:15px}.site-header{position:relative}.header-inner{min-height:66px}.wordmark strong{display:none}.language-link{font-size:10px}.hero{padding-block:56px 62px}.hero h1{font-size:clamp(44px,13vw,60px)}.hero-intro{font-size:16px}.button-row{flex-direction:column;align-items:stretch}.button{width:100%}.cluster-diagram{border-radius:14px}.metrics-grid{grid-template-columns:1fr}.metric{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:168px}.metric:last-child{border-bottom:0}.metric strong{margin-top:34px}.section{padding-block:78px}.section-heading,.section-heading.narrow{margin-bottom:40px;display:block}.section-heading h2{font-size:42px}.section-heading>p:last-child{margin-top:22px}.project-grid{grid-template-columns:1fr}.project-card,.project-card.featured{min-height:auto;padding:25px}.project-flow{display:none}.timeline-item{padding-left:34px}.timeline-head{grid-template-columns:1fr}.timeline-meta{text-align:left;align-items:flex-start}.skills-grid,.credentials-grid{grid-template-columns:1fr}.credential.accent-card{grid-column:auto}.contact-section{padding-block:78px}.footer-inner{flex-direction:column;align-items:flex-start}.footer-inner div{flex-direction:column;gap:10px}.case-hero{padding-block:52px 58px}.back-link{margin-bottom:52px}.case-hero h1{font-size:49px}.case-intro{font-size:16px}.case-stats{grid-template-columns:repeat(2,1fr)}.case-stats div:nth-child(2){border-right:0}.case-stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}.case-section{padding-block:78px}.decision-grid{grid-template-columns:1fr}.decision-grid article{min-height:240px}.decision-grid h3{margin-top:46px}.delivery-flow{grid-template-columns:1fr;gap:42px}.delivery-flow li:not(:last-child):after{width:1px;height:auto;inset:38px auto -42px 19px}.limits-inner{display:block}.limits-inner h2{margin-bottom:28px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
