@font-face{font-family:DM;src:url('/assets/dm.ttf') format('truetype');font-display:swap}
@font-face{font-family:Space;src:url('/assets/space.ttf') format('truetype');font-display:swap}
:root{color-scheme:light;--bg:#f5f2e9;--surface:#eeebdf;--surface2:#e6e5d7;--surface-2:#e6e5d7;--ink:#22271f;--text:#22271f;--muted:#5f635a;--faint:#62675c;--line:#d3d4c8;--accent:#ed522f;--accent-ink:#fffaf0;--accent-soft:#d5e79a;--green:#243c2c;--lime:#d5e79a;--max:1328px;--f-display:Space,Arial,sans-serif;--f-body:DM,Arial,sans-serif;--f-mono:DM,Arial,sans-serif;--r:0px;--radius:0px;--ro:#e9d69e;--ro-ink:#594918;--c:#d7b5ce;--c-ink:#593c55;--k:#bcdce5;--k-ink:#1e5c6d;--e:#d5e79a;--e-ink:#354a22;--t:#e9a07c;--t-ink:#62351f;--l:#e5e9d7;--l-ink:#243c2c;--good:#266a43;--warn:#805700;--bad:#a72e1d;--good-bg:#d9ead8;--warn-bg:#f3e7b9;--bad-bg:#f5d7cc}
body{margin:0;background:var(--bg);font-family:DM,Arial,sans-serif;font-size:16px;line-height:1.65;color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:Space,Arial,sans-serif;font-weight:700;letter-spacing:-.045em}
a,button{touch-action:manipulation}a{color:inherit}button{font-family:DM,Arial,sans-serif}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.wrap,.site-header-inner{width:calc(100% - 112px);max-width:1328px;margin-inline:auto;padding-inline:0}
.site-header{background:var(--bg)}.site-header-inner{height:100px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-header .brand-link{padding:0;background:transparent}.site-header .brand-logo{width:230px;height:52px}
.site-nav{display:flex;align-items:center;gap:35px;font-size:13px}.site-nav a{display:inline-flex;color:var(--ink);text-decoration:none;font-size:13px;white-space:nowrap}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--accent)}.site-nav .site-contact{border-bottom:1px solid;padding:6px 0;gap:16px}
.page-bar{border-bottom:1px solid var(--line)}.page-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:16px}.page-label{font-size:10px;font-weight:700;letter-spacing:.12em;white-space:nowrap;color:var(--muted)}.page-tabs{display:flex;gap:24px;overflow-x:auto}.page-tabs a{font-size:12px;white-space:nowrap;text-decoration:none;color:var(--muted)}.page-tabs a:hover{color:var(--accent)}
.eyebrow{font:700 10px/1.5 DM,Arial,sans-serif;letter-spacing:.12em;color:var(--muted)}
.btn,.button{border-radius:0;font-size:13px;font-weight:500;padding:14px 20px;transition:background .2s,color .2s,transform .2s}.btn,.button-primary{background:var(--green);color:var(--bg);border:1px solid var(--green)}.btn:hover,.button-primary:hover{background:#344f36;color:var(--bg)}.btn.ghost,.button-secondary{background:transparent;color:var(--green);border:1px solid var(--green)}.btn.ghost:hover,.button-secondary:hover{background:var(--lime)}.btn.small{padding:8px 12px;font-size:12px}
/* Portfolio: the homepage's editorial typography and story-card treatment. */
.portfolio-page .hero{padding:72px 0 85px;gap:64px;min-height:620px}.portfolio-page h1{font-size:clamp(56px,6.7vw,92px);line-height:.99;letter-spacing:-.065em;max-width:680px}.portfolio-page h1 span{color:var(--green)}.portfolio-page .hero-copy{font-size:17px;line-height:1.75;max-width:510px}.portfolio-page .hero-visual{background:var(--green);color:var(--bg);border:0;border-radius:0;padding:30px;transform:rotate(2deg);box-shadow:10px 12px 0 #22271f10}.portfolio-page .visual-head,.portfolio-page .visual-kicker,.portfolio-page .metric-caption,.portfolio-page .visual-note{color:#d1d9c8}.portfolio-page .metric-big{font-family:Space,Arial,sans-serif;font-weight:700;font-size:102px;color:var(--lime)}.portfolio-page .metric-big span{color:#ee8058}.portfolio-page .visual-rule{background:#62715e}.portfolio-page .flow-step{background:#36513e;border-radius:0}.portfolio-page .flow-step small{color:#cbd6c5}.portfolio-page .flow-arrow{color:var(--lime)}
.portfolio-page .section h2{font-size:clamp(36px,4.5vw,64px);line-height:1.05}.portfolio-page .section-intro{line-height:1.8}.portfolio-page .capability-list li{grid-template-columns:1fr;padding-block:21px}.portfolio-page .cap-num{display:none}.portfolio-page .capability-list strong{font:700 21px/1.2 Space,Arial,sans-serif}.portfolio-page .capability-list span:last-child{font-size:14px;line-height:1.7}.portfolio-page .scope-note{background:var(--lime);padding:32px;border-radius:0}.portfolio-page .scope-note h3{font-size:29px;line-height:1.1}.portfolio-page .scope-note p{color:#35432b}
.portfolio-page .case{background:transparent;border-radius:0}.portfolio-page .case-heading{background:var(--green);color:var(--bg)}.portfolio-page .case-heading small{color:var(--lime)}.portfolio-page .case-data{background:#eeebdf}.portfolio-page .data-point strong,.portfolio-page .research-stats dt{font-family:Space,Arial,sans-serif;color:var(--green)}.portfolio-page .project-body{background:#faf8f0}.portfolio-page .project-meta{text-transform:uppercase;font-size:10px;letter-spacing:.09em}.portfolio-page .project-summary{line-height:1.8}.portfolio-page .project-body h4{font-size:20px}.portfolio-page .project-index a{font-size:12px;border:1px solid var(--line);border-radius:24px;padding:9px 15px;text-decoration:none}.portfolio-page .project-index a:hover{background:var(--green);color:var(--bg)}.portfolio-page .confidential{background:var(--surface);line-height:1.7}.portfolio-page .experience-band .big-six{font-family:Space,Arial,sans-serif;color:var(--green);font-size:130px}
.portfolio-page .contact{background:var(--lime);padding:48px;margin-bottom:60px;border:0}.portfolio-page .contact h2{font-size:clamp(36px,4.5vw,60px)}.portfolio-page .contact p{color:#35432b}.portfolio-page .contact-links a{font-size:13px;padding:12px 18px;background:var(--green);color:var(--bg);text-decoration:none;min-width:220px}.portfolio-page .contact-links a:nth-child(2){background:transparent;color:var(--green);border:1px solid var(--green)}.portfolio-page .contact-links a:last-child{background:none;color:var(--green);border:0;padding:5px 0;text-decoration:underline;text-underline-offset:5px}.portfolio-page footer{padding-block:28px;color:var(--muted)}
/* ROCKET: the same visual language, with clear diagnostic status colors. */
.rocket-page header.top{background:var(--bg)}.rocket-page .topin{padding-block:14px;gap:25px}.rocket-page .topin .brand{font:700 10px/1.5 DM,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.rocket-page .brand .dot{width:6px;height:6px;background:var(--accent)}.rocket-page nav.tabs button{font-size:12px;font-weight:500;padding:8px 16px;border:1px solid transparent}.rocket-page nav.tabs button[aria-current=page]{background:var(--green);color:var(--bg)}.rocket-page nav.tabs button:hover:not([aria-current=page]){border-color:var(--line)}.rocket-page main{padding-top:55px;padding-bottom:85px}.rocket-page section.view{gap:64px}.rocket-page .hero{grid-template-columns:1.1fr 1fr;gap:56px;padding-bottom:16px}.rocket-page h1{font-size:clamp(42px,4.6vw,65px);font-weight:700;line-height:1.04;letter-spacing:-.055em;color:var(--green)}.rocket-page h2{font-size:clamp(30px,3.5vw,48px);line-height:1.08;font-weight:700}.rocket-page h3{font-size:23px;line-height:1.15}.rocket-page .hero p.lead{font-size:16px;line-height:1.8;margin-top:25px}.rocket-page .cta{margin-top:28px}
.rocket-visual{padding:28px;background:var(--green);color:var(--bg);box-shadow:10px 12px 0 #22271f0c}.rocket-flight svg{width:100%;height:135px;display:block}.rocket-flight>span{display:block;text-align:center;font:700 8px/1.5 DM,Arial,sans-serif;color:var(--lime);letter-spacing:.13em;margin:10px 0 26px}.rocket-page .lever{border-radius:0;min-height:126px;padding:16px 5px;color:var(--ink);transition:transform .2s}.rocket-page .lever:hover{transform:translateY(-4px)}.rocket-page .lever b{font-size:35px;font-weight:700}.rocket-page .lever span{font-size:10px;font-weight:500;min-height:36px;display:grid;align-content:center}.rocket-page .lp{border-radius:0;background:var(--lime);color:var(--green);padding:18px;font-size:12px;line-height:1.6}.rocket-page .lp em{font-size:24px;color:var(--green)}.rocket-page .mode,.rocket-page .step,.rocket-page .panel{border-radius:0}.rocket-page .mode{padding:26px}.rocket-page .mode q{margin:8px 0}.rocket-page .ai{background:var(--green);border-radius:0;padding:23px 26px}.rocket-page .step{border:0;border-top:1px solid var(--line);padding:20px 12px 0 0}.rocket-page .step::before{display:none}.rocket-page .step p{font-size:14px;line-height:1.75}.rocket-page .stat{background:var(--surface);border:0;padding:28px;font-size:14px}.rocket-page .stat b{font-size:55px;color:var(--green);margin-bottom:14px}.rocket-page .pcard{border-radius:0;padding:35px;gap:40px}.rocket-page .pcard .big{font-size:96px;font-weight:700}.rocket-page .pcard ul{gap:10px;font-size:15px;line-height:1.7}.rocket-page .pcard h3{font-size:27px}.rocket-page .ptabs{gap:8px}.rocket-page .ptabs button{font-size:12px;font-weight:500;padding:10px 16px}.rocket-page .ptabs button[aria-selected=true]{background:var(--green);color:var(--bg);border-color:var(--green)}
.rocket-page .item{border-radius:0;background:#faf8f0;padding:17px}.rocket-page .ghead{border-radius:0;padding:15px 17px}.rocket-page .side{top:100px}.rocket-page .side .panel{background:var(--surface);padding:23px}.rocket-page .idx b{font-size:64px;color:var(--green)}.rocket-page .scores button{border-radius:0;font-family:DM,Arial,sans-serif;font-weight:500}.rocket-page .scores button[aria-pressed=true]{background:var(--green);color:var(--bg)}.rocket-page .fill{background:var(--green)}.rocket-page .gate{padding:30px;background:var(--surface);max-width:600px}.rocket-page .gate input{border-radius:0;background:var(--bg)}.rocket-page .tbl{border-radius:0}.rocket-page th{background:#e7e8d9}.rocket-page td{line-height:1.7}.rocket-page .toast{background:var(--green);color:var(--bg)}.rocket-page footer{background:var(--lime);padding-block:36px;color:var(--green)}.rocket-page footer .brand-logo-surface{background:transparent;padding:0}.rocket-page footer p a{text-underline-offset:5px}
@media(max-width:1100px){.wrap,.site-header-inner{width:calc(100% - 64px)}.portfolio-page .hero{gap:40px}.rocket-page .hero{gap:35px}.rocket-visual{padding:20px}.rocket-page .lever span{font-size:9px}.rocket-page .lp{padding:14px}.rocket-page .contact{padding:35px}}
@media(max-width:900px){.rocket-page .hero,.rocket-page .pcard{grid-template-columns:1fr}.rocket-visual{max-width:650px;width:100%;margin-top:10px}.rocket-page .audit{grid-template-columns:1fr}.rocket-page .side{position:static}.rocket-page .hero{gap:28px}.rocket-page h1{max-width:700px}.rocket-page .lever span{font-size:12px}.rocket-page .lever{min-height:140px}}
@media(max-width:780px){.wrap,.site-header-inner{width:calc(100% - 36px)}.site-header-inner{height:79px;gap:15px}.site-header .brand-logo{width:158px;height:40px}.site-nav{gap:15px}.site-nav a,.site-nav a:nth-child(n){display:inline-flex;font-size:11px}.site-nav .site-contact{gap:5px}.site-nav a:first-child{display:none}.page-bar-inner{display:block;padding-block:14px}.page-label{display:block;margin-bottom:12px}.page-tabs{gap:22px}.page-tabs a,.page-tabs a:nth-child(n){display:inline-flex;font-size:11px}.portfolio-page .hero{grid-template-columns:1fr;gap:40px;padding:42px 0 58px;min-height:0}.portfolio-page h1{font-size:clamp(51px,10vw,76px)}.portfolio-page .hero-copy{font-size:15px}.portfolio-page .hero-visual{margin:0 7px 5px;min-height:370px;padding:25px}.portfolio-page .section{padding:58px 0}.portfolio-page .section h2{font-size:38px}.portfolio-page .scope-note{padding:25px}.portfolio-page .contact{padding:30px 23px;margin-bottom:35px}.portfolio-page .contact h2{font-size:38px}.portfolio-page .contact-links a{min-width:0;width:100%}.portfolio-page .contact-links{width:100%}.portfolio-page .project-index{flex-direction:row;gap:8px}.portfolio-page .project-index a{font-size:11px}.rocket-page .topin{display:block;padding-block:13px}.rocket-page .topin .brand{margin-bottom:12px}.rocket-page nav.tabs{width:100%;margin:0;gap:5px}.rocket-page nav.tabs button{font-size:11px;padding:8px 13px}.rocket-page main{padding-top:35px;padding-bottom:55px}.rocket-page h1{font-size:43px}.rocket-page h2{font-size:34px}.rocket-page section.view{gap:44px}.rocket-page .hero p.lead{font-size:15px}.rocket-page .pcard{padding:24px;gap:28px}.rocket-page .pcard .big{font-size:76px}.rocket-page .pcard ul{font-size:14px}.rocket-page .mode{padding:20px}.rocket-page .stat{padding:23px}.rocket-page .gate{padding:23px}.rocket-page .rocket{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.rocket-page .rocket .lever:last-of-type{grid-column:auto}.rocket-page .lever{min-height:110px;padding:12px 3px}.rocket-page .lever b{font-size:27px}.rocket-page .lever span{font-size:8px;min-height:38px}.rocket-page .lp{padding:14px;font-size:11px}.rocket-flight svg{height:115px}.rocket-flight>span{font-size:7px}.rocket-page .cta{gap:10px}.rocket-page .cta .btn{flex:1;padding-inline:12px;font-size:12px}.rocket-page .side .panel{padding:20px}.rocket-page footer p{font-size:12px;line-height:2}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.seo-breadcrumb{display:flex;align-items:center;gap:8px}.seo-breadcrumb a{color:inherit;text-decoration:none;font:inherit}.seo-breadcrumb a:hover{text-decoration:underline;text-underline-offset:3px}
