@font-face{font-family:'Fraunces';src:url('/fonts/fraunces-var.woff2') format('woff2');font-weight:100 1000;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url('/fonts/instrument-sans-var.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('/fonts/jetbrains-mono-var.woff2') format('woff2');font-weight:100 800;font-display:swap}
@font-face{font-family:'Mukta';src:url('/fonts/mukta-500-devanagari.woff2') format('woff2');font-weight:500;font-display:swap;unicode-range:U+0900-097F,U+200C-200D}
:root{--ink:#17120E;--soot:#2A231D;--indigo:#24333D;--newsprint:#F3EEE4;--manila:#E4D8C3;--ash:#8B8177;--madder:#A8412A;--madder-deep:#7C2D1C;--sulphur:#D9B45B}
*{margin:0;box-sizing:border-box}
body{background:var(--newsprint);color:var(--ink);font-family:'Instrument Sans',ui-sans-serif,sans-serif;font-size:17px;line-height:1.62;letter-spacing:-0.005em;-webkit-font-smoothing:antialiased}
:focus-visible{outline:2px solid var(--madder);outline-offset:3px}
::selection{background:var(--sulphur);color:var(--ink)}
a{color:inherit}
.shell{max-width:1240px;margin:0 auto;padding-left:24px;padding-right:24px}
.grain{position:fixed;inset:0;z-index:90;pointer-events:none;mix-blend-mode:multiply;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.28'/%3E%3C/svg%3E")}
.site-header{position:sticky;top:0;z-index:50;background:var(--newsprint);border-bottom:1px solid transparent;transition:border-color .3s}
.site-header.scrolled{border-bottom-color:var(--ash)}
.nav-row{display:flex;align-items:center;justify-content:space-between;height:56px}
@media(min-width:768px){.nav-row{height:68px}}
.wordmark{color:var(--ink)}
.wm-full{display:none;height:auto}
.wm-mono{display:block}
@media(min-width:768px){.wm-full{display:block}.wm-mono{display:none}}
.nav-desktop{display:none;gap:32px}
@media(min-width:768px){.nav-desktop{display:flex}}
.nav-desktop a{font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;transition:color 160ms ease;padding-bottom:4px}
.nav-desktop a:hover{color:var(--madder-deep)}
.nav-desktop a.active{border-bottom:1px solid var(--madder)}
.menu-btn{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:12px;letter-spacing:.13em;text-transform:uppercase;background:none;border:0;color:var(--ink);cursor:pointer}
@media(min-width:768px){.menu-btn{display:none}}
.mobile-menu{position:fixed;inset:56px 0 0 0;z-index:40;background:var(--ink)}
.mobile-menu nav{display:flex;flex-direction:column;justify-content:center;gap:24px;height:100%}
.mobile-menu a{font-family:'Fraunces',serif;font-variation-settings:"SOFT" 0,"WONK" 1;font-weight:600;font-size:32px;color:var(--newsprint);text-decoration:none}
.page{padding-top:64px;padding-bottom:96px}
@media(min-width:1024px){.page{padding-top:96px;padding-bottom:128px}}
.eyebrow,.breadcrumb,.post-meta,.section-label,.row-meta,.col-head,.byline-role,.pagination,.card-meta,.number-meta,.work-caption,.next-label{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.eyebrow{color:var(--madder-deep)}
.page-h1{font-family:'Fraunces',serif;font-variation-settings:"SOFT" 0,"WONK" 1;font-weight:600;font-size:clamp(2.375rem,1.6rem + 3.4vw,3.375rem);line-height:1.12;margin-top:24px}
.lede{margin-top:16px;color:var(--indigo);max-width:66ch}
.post-list{margin-top:48px;border-top:1px solid var(--ash)}
.post-row{display:flex;flex-direction:column;gap:4px;padding:28px 0;border-bottom:1px solid var(--ash);text-decoration:none}
.row-meta{color:var(--madder-deep)}
.row-title{font-family:'Fraunces',serif;font-variation-settings:"SOFT" 0,"WONK" 1;font-weight:600;font-size:22px;line-height:1.3;color:var(--ink);transition:color 160ms ease}
.post-row:hover .row-title{color:var(--madder-deep)}
.row-summary{font-size:15px;color:var(--indigo)}
.pagination{margin-top:40px;display:flex;gap:24px}
.page-link{color:var(--madder-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.page-current{color:var(--ink)}
.breadcrumb{color:var(--indigo)}
.breadcrumb a{color:var(--madder-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.post-meta{color:var(--madder-deep);margin-top:24px}
.post-title{font-family:'Fraunces',serif;font-variation-settings:"SOFT" 0,"WONK" 1;font-weight:600;font-size:clamp(1.75rem,1.3rem + 2vw,2.375rem);line-height:1.2;margin-top:16px;max-width:24ch}
.post-section{margin-top:48px;max-width:68ch}
.section-label{color:var(--madder-deep)}
.section-body{margin-top:12px}
.estimate-label{font-weight:600;color:var(--ink)}
.byline{margin-top:64px;padding-top:24px;border-top:1px solid var(--ash);display:flex;align-items:center;gap:16px}
.byline-photo{border-radius:0;display:block}
.byline-name{font-family:'Fraunces',serif;font-variation-settings:"SOFT" 0,"WONK" 1;font-weight:600;font-size:17px}
.byline-role{color:var(--indigo);margin-top:2px}
.post-cta{margin-top:48px;border-top:1px solid var(--ash);padding-top:32px}
.post-cta p{max-width:46ch;color:var(--indigo)}
.btn-primary{display:inline-flex;margin-top:24px;background:var(--madder);color:var(--newsprint);font-weight:500;font-size:15px;padding:14px 28px;border-radius:2px;text-decoration:none;transition:background-color 160ms ease}
.btn-primary:hover{background:var(--madder-deep)}
.site-footer{background:var(--ink);color:var(--newsprint);padding:96px 0 48px}
.footer-line{font-family:'Fraunces',serif;font-variation-settings:"SOFT" 0,"WONK" 1;font-weight:600;font-size:32px;line-height:1.2;max-width:14ch}
.footer-cols{margin-top:64px;display:grid;grid-template-columns:1fr 1fr;gap:48px}
@media(min-width:768px){.footer-cols{grid-template-columns:repeat(3,1fr);gap:32px}}
.col-head{color:var(--sulphur)}
.footer-cols ul{list-style:none;padding:0;margin-top:24px;display:flex;flex-direction:column;gap:12px}
.footer-cols a{font-size:15px;color:var(--newsprint);text-decoration:none;transition:color 160ms ease}
.footer-cols a:hover{color:var(--sulphur)}
.footer-legal{margin-top:64px;border-top:1px solid var(--soot);padding-top:24px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.13em;color:var(--newsprint);opacity:.65}
.footer-legal a{color:inherit}
/* ---- work ---- */
.work-grid{margin-top:48px;display:grid;gap:32px;grid-template-columns:1fr}
@media(min-width:768px){.work-grid{grid-template-columns:1fr 1fr}}
.work-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--ash);text-decoration:none;transition:border-color 160ms ease}
.work-card:hover{border-color:var(--ink)}
.work-card>img{aspect-ratio:4/5;width:100%;object-fit:cover;display:block}
.work-card-body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}
.card-meta{color:var(--madder-deep)}
.card-client{font-family:'Fraunces',serif;font-variation-settings:"SOFT" 0,"WONK" 1;font-weight:600;font-size:20px;line-height:1.3}
.card-metric{font-family:'Fraunces',serif;font-variation-settings:"SOFT" 0,"WONK" 1;font-weight:600;font-size:24px;line-height:1.25;margin-top:auto}
.redacted{display:inline-block;width:8ch;height:0.72em;background:var(--ink);vertical-align:baseline}
.big-number{font-family:'Fraunces',serif;font-variation-settings:"SOFT" 0,"WONK" 1;font-weight:700;font-size:64px;line-height:1;color:var(--madder)}
.big-number-label{font-family:'Fraunces',serif;font-variation-settings:"SOFT" 0,"WONK" 1;font-weight:600;font-size:24px;margin-top:8px}
.number-meta{color:var(--indigo);margin-top:16px}
.work-image{display:block;width:100%;margin-top:24px}
.work-caption{color:var(--indigo);margin-top:8px}
.next-case{margin-top:64px;border-top:1px solid var(--ash);padding-top:32px}
.next-label{color:var(--indigo)}
.next-title{display:inline-block;margin-top:8px;font-family:'Fraunces',serif;font-variation-settings:"SOFT" 0,"WONK" 1;font-weight:600;font-size:27px;color:var(--madder-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.next-title:hover{text-decoration-thickness:2px}
/* ---- process / services / contact / privacy ---- */
.h2{font-family:'Fraunces',serif;font-variation-settings:"SOFT" 0,"WONK" 1;font-weight:600;font-size:clamp(1.75rem,1.3rem + 2vw,2.375rem);line-height:1.2;margin-top:16px}
.sub{margin-top:24px;color:var(--indigo);max-width:66ch}
.block{padding-bottom:64px}
@media(min-width:768px){.block{padding-bottom:96px}}
.pad-alt{background:var(--manila);padding:56px 0}
.pad-dark{background:var(--ink);color:var(--newsprint);padding:56px 0}
@media(min-width:768px){.pad-alt,.pad-dark{padding:72px 0}}
@media(min-width:1024px){.pad-alt,.pad-dark{padding:128px 0}}
.gates{margin-top:32px;display:grid;gap:1px;border:1px solid var(--ash);background:var(--ash)}
@media(min-width:768px){.gates{grid-template-columns:repeat(3,1fr)}}
.gate{background:var(--manila);padding:32px}
.gate h3{font-family:'Fraunces',serif;font-variation-settings:"SOFT" 0,"WONK" 1;font-weight:600;font-size:20px;margin-top:12px}
.gate p{margin-top:12px;font-size:15px;color:var(--indigo)}
.rows{margin-top:32px;border-top:1px solid var(--ash);list-style:none;padding:0}
.rows>li{border-bottom:1px solid var(--ash);padding:24px 0;display:flex;flex-direction:column;gap:8px}
@media(min-width:768px){.rows>li{flex-direction:row;align-items:baseline;gap:48px}}
.row-num{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--madder-deep);width:64px;flex-shrink:0}
.row-name{font-weight:600;font-size:17px;flex-shrink:0}
@media(min-width:768px){.row-name{max-width:16ch;width:100%}}
.row-desc{font-size:15px;color:var(--indigo);max-width:60ch}
.phases{margin-top:40px;display:grid;gap:48px}
@media(min-width:768px){.phases{grid-template-columns:repeat(3,1fr);gap:32px}}
.phase h3{font-family:'Fraunces',serif;font-variation-settings:"SOFT" 0,"WONK" 1;font-weight:600;font-size:24px;margin-top:12px}
.phase p{margin-top:12px;font-size:15px;color:var(--indigo)}
.phase .gate-line{border-top:1px solid var(--ash);padding-top:16px;margin-top:16px;font-weight:600;font-size:15px;color:var(--ink)}
.statement{margin-top:48px;max-width:66ch;font-size:17px;color:var(--ink)}
.tiers{display:grid;gap:24px}
@media(min-width:768px){.tiers{grid-template-columns:repeat(3,1fr)}}
.tier{border:1px solid var(--ash);padding:32px;display:flex;flex-direction:column}
.tier.featured{border:1px solid var(--ink);border-top:2px solid var(--madder)}
@media(max-width:767px){.tier.featured{order:-1}}
.tier-price{font-family:'Fraunces',serif;font-variation-settings:"SOFT" 0,"WONK" 1;font-weight:600;font-size:27px;margin-top:16px}
.tier-gw{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--indigo);margin-top:12px}
.tier-line{margin-top:16px;font-size:15px;color:var(--indigo)}
.tier .btn-primary,.tier .btn-secondary{margin-top:auto}
.btn-secondary{display:inline-flex;margin-top:24px;background:transparent;border:1px solid var(--ink);color:var(--ink);font-weight:500;font-size:15px;padding:14px 28px;border-radius:2px;text-decoration:none;transition:background-color 160ms ease,color 160ms ease}
.btn-secondary:hover{background:var(--ink);color:var(--newsprint)}
.matrix-wrap{overflow-x:auto;margin-top:32px}
.matrix{width:100%;min-width:640px;border-collapse:collapse;text-align:left}
.matrix th,.matrix td{padding:16px 24px 16px 0;border-bottom:1px solid var(--ash);font-size:15px;vertical-align:top}
.matrix thead th{border-bottom:1px solid var(--ink);font-family:'JetBrains Mono',monospace;font-weight:500;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--madder-deep)}
.matrix tbody th{font-weight:600;color:var(--ink)}
.matrix td.dim{color:var(--indigo)}
.svc-nav{position:sticky;top:56px;z-index:30;border-top:1px solid var(--ash);border-bottom:1px solid var(--ash);background:var(--newsprint)}
@media(min-width:768px){.svc-nav{top:68px}}
.svc-nav-inner{display:flex;gap:24px;overflow-x:auto;padding-top:12px;padding-bottom:12px}
.svc-nav a{flex-shrink:0;font-size:14px;font-weight:500;text-decoration:none;color:var(--ink);transition:color 160ms ease}
.svc-nav a:hover{color:var(--madder-deep)}
.svc{border-bottom:1px solid var(--ash);padding:48px 0;scroll-margin-top:150px}
@media(min-width:768px){.svc{padding:64px 0;scroll-margin-top:160px}}
.svc-grid{display:grid;gap:16px}
@media(min-width:768px){.svc-grid{grid-template-columns:4fr 8fr}}
.svc h3{font-family:'Fraunces',serif;font-variation-settings:"SOFT" 0,"WONK" 1;font-weight:600;font-size:24px;margin-top:8px}
.svc-body{font-size:17px;max-width:66ch}
.svc-deliv{font-size:15px;color:var(--indigo);margin-top:16px;max-width:66ch}
.svc-deliv strong{color:var(--ink)}
.scope-grid{display:grid;gap:48px;margin-top:32px}
@media(min-width:768px){.scope-grid{grid-template-columns:1fr 1fr}}
.scope-grid h3{font-size:17px;font-weight:600}
.scope-grid p{margin-top:12px;font-size:15px;color:var(--indigo)}
.dim{color:var(--newsprint);opacity:.65}
.note-mono{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.form{display:flex;flex-direction:column;gap:32px;margin-top:48px;max-width:36rem}
.field label{display:block;font-family:'JetBrains Mono',monospace;font-weight:500;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--indigo);margin-bottom:8px}
.field input,.field textarea,.field select{width:100%;border:0;border-bottom:1px solid var(--ash);background:transparent;padding:8px 0;font-family:'Instrument Sans',sans-serif;font-size:16px;color:var(--ink);border-radius:0;appearance:none}
.field textarea{resize:none}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--madder);outline-offset:3px;border-bottom:2px solid var(--madder)}
::placeholder{color:var(--indigo);opacity:.6}
.form-success{margin-top:48px;border-top:2px solid var(--madder);padding-top:24px}
.form-success h2{font-family:'Fraunces',serif;font-variation-settings:"SOFT" 0,"WONK" 1;font-weight:600;font-size:24px}
.form-success p{margin-top:12px;font-size:15px;color:var(--indigo)}
.form-alt{margin-top:64px;border-top:1px solid var(--ash);padding-top:24px;font-family:'JetBrains Mono',monospace;font-weight:500;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--indigo)}
.form-alt a{color:var(--madder-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.form-error{font-size:15px;color:var(--madder-deep)}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
