.page-hero{padding:clamp(56px,8vw,120px) 0 clamp(40px,5vw,64px);border-bottom:1px solid var(--line);position:relative}.page-hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:end}.breadcrumb{font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;margin-bottom:28px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.breadcrumb a{color:var(--ink-3);transition:color .2s ease}.breadcrumb a:hover{color:var(--red)}.breadcrumb .sep{color:var(--ink-4)}.breadcrumb .current{color:var(--ink)}.page-hero h1{font-family:var(--display);font-weight:400;font-size:clamp(44px,6vw,92px);line-height:.98;letter-spacing:-.025em;margin:0;max-width:16ch}.page-hero h1 em{font-style:italic;color:var(--red)}.page-hero .dek{font-size:clamp(16px,1.4vw,19px);color:var(--ink-2);line-height:1.55;max-width:46ch;margin:0 0 24px}.page-hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.pillars{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.pillar{padding:32px 28px 36px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:14px}.pillar .num{font-family:var(--mono);font-size:11px;color:var(--red);letter-spacing:.1em}.pillar h3{font-family:var(--display);font-weight:400;font-size:26px;line-height:1.1;letter-spacing:-.01em;margin:0}.pillar h3 em{font-style:italic;color:var(--red)}.pillar p{font-size:15px;color:var(--ink-3);line-height:1.55;margin:0}.split-copy{display:grid;grid-template-columns:200px 1fr;gap:40px;border-top:1px solid var(--line);padding-top:48px}.split-copy h3{font-family:var(--display);font-weight:400;font-size:clamp(28px,3vw,40px);line-height:1.1;letter-spacing:-.02em;margin:0 0 24px;max-width:18ch}.split-copy h3 em{font-style:italic;color:var(--red)}.split-copy p{font-size:16px;color:var(--ink-2);line-height:1.7;margin:0 0 16px;max-width:64ch}.tech-inline{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.tech-inline .tag{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink-2);border:1px solid var(--line-strong);padding:6px 12px;border-radius:2px;background:var(--paper)}.visual-block{position:relative;background:var(--paper-2);border:1px solid var(--line);border-radius:4px;overflow:hidden;aspect-ratio:16/10;display:flex;flex-direction:column;justify-content:space-between;padding:24px;margin:32px 0}.visual-block.dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}.visual-block:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,transparent 0 18px,rgba(14,14,17,.04) 18px 19px);pointer-events:none}.visual-block.dark:before{background-image:repeating-linear-gradient(45deg,transparent 0 18px,rgba(246,241,232,.04) 18px 19px)}.visual-block .vb-label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);position:relative;z-index:1}.visual-block .vb-caption{font-family:var(--mono);font-size:12px;color:var(--ink-4);position:relative;z-index:1;letter-spacing:.04em}.visual-block.dark .vb-caption{color:#f6f1e88c}.visual-block .vb-title{font-family:var(--display);font-size:clamp(36px,4.5vw,64px);line-height:1;letter-spacing:-.02em;position:relative;z-index:1;max-width:16ch}.visual-block .vb-title em{font-style:italic;color:var(--red)}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin:32px 0}.stats-row .s{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 24px;display:flex;flex-direction:column;gap:6px}.stats-row .s .v{font-family:var(--display);font-size:clamp(40px,4.5vw,64px);line-height:1;letter-spacing:-.025em;color:var(--ink)}.stats-row .s .v em{font-style:italic;color:var(--red)}.stats-row .s .l{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-top:6px}.cases-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.case-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px;display:flex;flex-direction:column;gap:16px;text-decoration:none;color:inherit;cursor:pointer;transition:background .25s ease;min-height:380px;position:relative}.case-card:hover{background:var(--paper-2)}.case-card .card-cover{margin:-32px -32px 0;height:200px;overflow:hidden}.case-card .card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;display:block}.case-card:hover .card-cover img{transform:scale(1.03)}.case-card .card-top{display:flex;justify-content:space-between;align-items:baseline}.case-card .sector{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}.case-card .year{font-family:var(--mono);font-size:11px;color:var(--ink-4)}.case-card h3{font-family:var(--display);font-weight:400;font-size:clamp(28px,2.6vw,36px);line-height:1.05;letter-spacing:-.015em;margin:0;max-width:14ch}.case-card h3 em{font-style:italic;color:var(--red)}.case-card .summary{font-size:15px;color:var(--ink-3);line-height:1.55;max-width:48ch}.case-card .card-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.case-card .tech-row{display:flex;flex-wrap:wrap;gap:6px}.case-card .tech-row span{font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--ink-3);border:1px solid var(--line-strong);padding:4px 8px;border-radius:2px}.case-card .read{font-family:var(--display);font-size:32px;color:var(--ink-4);line-height:1;transition:color .2s ease,transform .2s ease}.case-card:hover .read{color:var(--red);transform:translate(6px)}.services-index{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.svc-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px;display:grid;grid-template-columns:60px 1fr;gap:24px;text-decoration:none;color:inherit;cursor:pointer;transition:background .25s ease}.svc-card:hover{background:var(--paper-2)}.svc-card .ord{font-family:var(--display);font-size:48px;line-height:1;letter-spacing:-.025em;color:var(--red);font-style:italic}.svc-card .body h3{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.6vw,36px);line-height:1.1;letter-spacing:-.015em;margin:0 0 12px}.svc-card .body h3 em{font-style:italic;color:var(--red)}.svc-card .body p{font-size:15px;color:var(--ink-3);line-height:1.55;margin:0 0 16px;max-width:48ch}.svc-card .body .pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.svc-card .body .pills span{font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--ink-2);border:1px solid var(--line-strong);padding:4px 8px;border-radius:2px}.svc-card .body .more{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);display:inline-flex;align-items:center;gap:6px;font-weight:500}.svc-card .body .more:after{content:"→";font-family:var(--display);font-size:16px;transition:transform .2s ease}.svc-card:hover .body .more:after{transform:translate(4px)}.quote-block{padding:clamp(56px,7vw,96px) 0;background:var(--paper);border-bottom:1px solid var(--line)}.quote-block .q{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.4vw,48px);line-height:1.2;letter-spacing:-.015em;color:var(--ink);max-width:22ch;margin:0 auto 32px;text-align:center}.quote-block .q em{font-style:italic;color:var(--red)}.quote-block .src{text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.case-hero{padding:clamp(48px,7vw,96px) 0 0}.case-hero-img{width:100%;border-radius:2px;overflow:hidden;border:1px solid var(--line)}.case-hero-img img{width:100%;height:auto;display:block}.case-hero-caption{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink-4);padding:12px 0 0;margin:0}.case-hero-caption em{font-style:italic;color:var(--red)}.case-hero-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:clamp(40px,5vw,72px);padding-top:32px;border-top:1px solid var(--line)}.case-hero-meta .m{display:flex;flex-direction:column;gap:6px}.case-hero-meta .m .l{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4)}.case-hero-meta .m .v{font-size:15px;color:var(--ink);font-weight:500}.case-narrative{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.case-narrative .nav-side{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;gap:6px}.case-narrative .nav-side a{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:8px 12px;border-left:1px solid var(--line);transition:all .2s ease}.case-narrative .nav-side a:hover{color:var(--red);border-left-color:var(--red)}.case-narrative .nav-side a.is-active{color:var(--red);border-left-color:var(--red);background:var(--paper-2)}.narrative-body section{margin-bottom:72px}.narrative-body h2{font-family:var(--display);font-weight:400;font-size:clamp(32px,3.6vw,52px);line-height:1.05;letter-spacing:-.02em;margin:0 0 24px;max-width:16ch}.narrative-body h2 em{font-style:italic;color:var(--red)}.narrative-body h2 .num{font-family:var(--mono);font-size:11px;color:var(--ink-4);font-style:normal;letter-spacing:.08em;vertical-align:top;margin-right:16px}.narrative-body p{font-size:17px;color:var(--ink-2);line-height:1.7;margin:0 0 18px}.narrative-body p.lead{font-size:21px;color:var(--ink);font-weight:400;line-height:1.45;margin-bottom:28px}.narrative-body ul{margin:16px 0 24px;padding:0;list-style:none}.narrative-body ul li{position:relative;padding:12px 0 12px 28px;border-top:1px solid var(--line);font-size:16px;color:var(--ink-2);line-height:1.55}.narrative-body ul li:last-child{border-bottom:1px solid var(--line)}.narrative-body ul li:before{content:"✕";position:absolute;left:0;top:12px;color:var(--red);font-size:12px}.narrative-body ul.checks li:before{content:"✓"}.callout{background:var(--ink);color:var(--paper);padding:28px 32px;border-radius:4px;margin:32px 0}.callout .tag{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:10px;display:block}.callout p{font-family:var(--display);font-size:24px;line-height:1.25;color:var(--paper);margin:0;letter-spacing:-.005em}.callout p em{font-style:italic;color:var(--red)}.next-case{background:var(--ink);color:var(--paper);padding:clamp(56px,7vw,96px) 0}.next-case a{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;text-decoration:none;color:inherit}.next-case .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:12px;display:block}.next-case .name{font-family:var(--display);font-weight:400;font-size:clamp(40px,5.5vw,80px);line-height:1;letter-spacing:-.025em}.next-case .name em{font-style:italic;color:var(--red)}.next-case .arrow-big{font-family:var(--display);font-size:clamp(60px,8vw,120px);color:var(--red);line-height:1;transition:transform .2s ease}.next-case a:hover .arrow-big{transform:translate(12px)}.related{padding:clamp(56px,7vw,88px) 0;background:var(--paper-2);border-bottom:1px solid var(--line)}.related h3{font-family:var(--display);font-weight:400;font-size:clamp(28px,3vw,40px);letter-spacing:-.02em;margin:0 0 32px}.related h3 em{font-style:italic;color:var(--red)}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.related-grid .r{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:24px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:12px;transition:border-color .2s ease}.related-grid .r:hover{border-color:var(--red)}.related-grid .r .sec{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}.related-grid .r h4{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.1;letter-spacing:-.01em;margin:0}.cta-strip{background:var(--red);color:var(--paper);padding:clamp(48px,6vw,80px) 0}.cta-strip .inner{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}.cta-strip h3{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.4vw,48px);line-height:1.05;letter-spacing:-.02em;margin:0;max-width:22ch}.cta-strip h3 em{font-style:italic;color:var(--paper);border-bottom:2px solid var(--paper)}.cta-strip .actions{display:flex;gap:12px;flex-wrap:wrap}@media(max-width:960px){.page-hero-grid,.pillars,.services-index,.cases-grid{grid-template-columns:1fr}.split-copy{grid-template-columns:1fr;gap:16px}.stats-row,.case-hero-meta{grid-template-columns:repeat(2,1fr)}.case-narrative{grid-template-columns:1fr;gap:32px}.case-narrative .nav-side{position:static;flex-direction:row;flex-wrap:wrap}.related-grid,.next-case a,.cta-strip .inner{grid-template-columns:1fr}}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.blog-grid--index .blog-card--featured{grid-column:1 / -1}.blog-card{display:flex;flex-direction:column;gap:12px;padding:32px;background:var(--paper-2);text-decoration:none;color:var(--ink);transition:background .15s}.blog-card:hover{background:var(--paper-3)}.blog-card-meta{display:flex;gap:16px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.blog-card h2,.blog-card h3{font-size:clamp(20px,2vw,28px);line-height:1.2;margin:0}.blog-card--featured h2{font-size:clamp(28px,3.5vw,48px)}.blog-card p{font-size:15px;color:var(--ink-3);line-height:1.6;margin:0;flex:1}.read-more{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}.blog-layout{display:grid;grid-template-columns:240px 1fr;gap:clamp(32px,5vw,80px);align-items:start}.blog-aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:24px}.blog-author-card,.blog-service-card{padding:24px;background:var(--paper-2);border-radius:2px}.prose{max-width:72ch;font-size:17px;line-height:1.75}.prose h2{font-size:clamp(22px,2.5vw,32px);margin:2.5em 0 .75em}.prose h3{font-size:clamp(18px,2vw,24px);margin:2em 0 .5em}.prose p{margin:0 0 1.25em}.prose ul,.prose ol{padding-left:1.5em;margin:0 0 1.25em}.prose li{margin-bottom:.4em}.prose strong{font-weight:600;color:var(--ink)}.prose em{font-style:italic}.prose a{color:var(--red);text-decoration:underline;text-underline-offset:3px}.prose blockquote{border-left:3px solid var(--red);padding:12px 24px;margin:2em 0;background:var(--paper-2);font-style:italic}.prose code{font-family:var(--mono);font-size:.85em;background:var(--paper-3);padding:2px 6px;border-radius:2px}.prose pre{background:var(--ink);color:var(--paper);padding:24px;overflow-x:auto;border-radius:4px;margin:1.5em 0}.prose pre code{background:none;padding:0;font-size:14px}.prose img{max-width:100%;border-radius:4px;margin:1.5em 0}.prose hr{border:none;border-top:1px solid var(--line);margin:3em 0}@media(max-width:960px){.blog-grid{grid-template-columns:1fr}.blog-grid--index .blog-card--featured{grid-column:1}.blog-layout{grid-template-columns:1fr}.blog-aside{position:static;flex-direction:row;flex-wrap:wrap}.blog-author-card,.blog-service-card{flex:1;min-width:200px}}
