@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap');

:root { --paper:#f5f2e9; --ink:#20332f; --muted:#637069; --line:#d7d6c9; --acid:#d9e89a; --orange:#ab563d; }
body { background:var(--paper); }
html { scroll-behavior:auto; }
.wrap { max-width:1270px; padding-left:48px; padding-right:48px; }
.preview-ribbon { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:8px 35px; background:#20332f; color:#f5f2e9; font-size:9px; letter-spacing:1.3px; }
.preview-ribbon a { font-size:10px; letter-spacing:0; color:#d9e89a; text-decoration:none; }
.nav { height:95px; }
.nav nav { gap:26px; font-size:12px; }
.signature { font-size:24px; letter-spacing:-1.1px; }
.signature span { font-size:8px; letter-spacing:1.6px; }
.button, .workspace, .tool-tabs button, .project-card, .repair-card, .human-invite, .kpis>div, .custom-metric, select, textarea, .rating span, .example-row button { border-radius:2px; }
.button { padding:16px 21px; min-height:54px; font-size:12px; }
.button span:last-child { font-size:21px; }
.button, .quiet-link, .portrait-note { transition:background-color .2s, transform .2s; }
.button:hover { transform:translateY(-2px); }
.dark:hover { background:#344c40; }
.eyebrow { font-size:9px; letter-spacing:1.5px; }
.dot { width:5px; height:5px; background:var(--orange); }
.editorial-hero { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.86fr); align-items:center; gap:66px; padding-top:58px; padding-bottom:125px; position:relative; }
.editorial-hero .eyebrow { margin-bottom:28px; }
.editorial-hero h1 { font-family:'Instrument Serif',Georgia,serif; font-weight:400; font-size:clamp(57px,6.3vw,88px); letter-spacing:-2px; line-height:.99; margin:0 0 27px; }
.editorial-hero h1 em { font-weight:400; color:#77523b; }
.editorial-hero .intro { max-width:445px; font-size:14px; color:#56645c; line-height:1.85; margin-bottom:27px; }
.hero-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.quiet-link { font-size:12px; text-decoration:none; border-bottom:1px solid #89928a; padding-bottom:5px; }
.hero-note { font-size:10px; margin:14px 0 0; }
.author-portrait { position:relative; margin:0 9px 0 0; align-self:stretch; min-height:435px; padding:0 0 20px; }
.author-portrait>img { display:block; width:100%; height:100%; max-height:505px; min-height:435px; object-fit:cover; object-position:50% 41%; background:#b6a489; }
.author-portrait figcaption { background:#20332feb; color:var(--paper); position:absolute; bottom:20px; left:0; right:0; padding:17px 20px 19px 125px; text-align:right; }
.author-portrait figcaption>span { font-size:7px; letter-spacing:2px; color:#cad6bf; }
.author-portrait figcaption strong { display:block; font:400 26px/1.1 'Instrument Serif',Georgia,serif; margin:5px 0; }
.author-portrait figcaption p { font-size:9px; margin:6px 0 0; color:#d2d7ca; }
.portrait-note { position:absolute; bottom:-55px; left:-67px; width:232px; background:#e5e9c7; border:1px solid #c6cdaa; padding:18px 21px; transform:rotate(-3deg); color:#23372b; text-decoration:none; box-shadow:0 10px 25px #2432270d; }
.portrait-note:hover { transform:rotate(-1deg); }
.portrait-note>span { font-size:7px; letter-spacing:1.6px; }
.portrait-note code { display:block; font-size:23px; letter-spacing:-1px; margin:7px 0; }
.portrait-note p { font-size:10px; line-height:1.6; margin:0; }
.portrait-note b { float:right; font-size:20px; font-weight:400; }
h2 em, .project-card h3 em { font-weight:400; }
.guided-demo { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.55fr); gap:74px; padding-top:15px; padding-bottom:78px; align-items:start; }
.demo-intro { padding-top:36px; }
.demo-intro h2 { font-family:'Instrument Serif',Georgia,serif; font-size:clamp(38px,4vw,53px); font-weight:400; letter-spacing:-1px; line-height:1.05; margin-bottom:25px; }
.demo-intro h2 em { color:#77523b; }
.demo-intro>p:not(.eyebrow) { font-size:13px; color:#626d62; line-height:1.8; }
.demo-privacy { font-size:10px!important; border-top:1px solid var(--line); margin-top:27px; padding-top:16px; }
.local-dot { display:inline-block; height:5px; width:5px; background:#78914e; margin-right:8px; vertical-align:middle; }
.demo-progress { display:flex; align-items:baseline; gap:14px; margin-top:27px; }
.demo-progress>span:first-child { font:400 56px/1 'Instrument Serif',Georgia,serif; color:#acb4a3; }
.demo-progress>span:last-child { font-size:9px; letter-spacing:1px; text-transform:uppercase; color:#798273; }
.demo-desk { min-width:0; background:#fffdf6; border:1px solid #c8cdbc; box-shadow:13px 13px 0 #e5e6d8; }
.demo-window-bar { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:13px 24px; border-bottom:1px solid #dfe1d1; background:#e8ecdc; }
.demo-window-bar>span { font-size:8px; letter-spacing:1.1px; }
.demo-window-bar button { font-size:10px; border:0; background:none; color:#4d5f47; white-space:nowrap; }
.demo-stage-nav { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid #dfe1d1; }
.demo-stage-nav button { padding:17px 12px; background:transparent; border:0; border-right:1px solid #e1e4d6; font-size:11px; color:#626f5a; text-align:left; }
.demo-stage-nav button:last-child { border-right:0; }
.demo-stage-nav button span { display:block; font-size:8px; letter-spacing:1px; margin-bottom:4px; color:#8a947d; }
.demo-stage-nav button[aria-pressed=true] { background:#20332f; color:#f6f4ed; }
.demo-stage-nav button[aria-pressed=true] span { color:#d9e89a; }
.demo-stage-nav button:disabled { cursor:not-allowed; opacity:.52; }
.demo-panel { padding:27px 28px 20px; min-height:440px; }
.sample-title-line { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.sample-title-line h3 { font:600 19px/1.4 Manrope,Arial,sans-serif; margin:0; letter-spacing:-.5px; }
.sample-badge { font-size:8px; background:#e9eddd; color:#466039; padding:4px 7px; border:1px solid #d6dec6; white-space:nowrap; margin-top:4px; }
.error-badge { background:#f4e5dc; color:#995137; border-color:#e9cdbf; }
.demo-description { font-size:11px; color:#6c756b; line-height:1.8; margin:13px 0 20px; }
.sample-formula { display:flex; border:1px solid #d8ddd0; font:12px/1.6 ui-monospace,Consolas,monospace; margin:22px 0 0; background:#f6f6ed; }
.sample-formula span { padding:9px 17px; background:#e9eddd; border-right:1px solid #d8ddd0; }
.sample-formula code { padding:9px 15px; color:#9a5038; }
.sample-sheet-wrap { overflow-x:auto; }
.sample-sheet { width:100%; border-collapse:collapse; font-size:12px; text-align:right; margin-bottom:20px; }
.sample-sheet th, .sample-sheet td { border:1px solid #d8ddd0; padding:10px 13px; }
.sample-sheet thead th { background:#f0f2e8; text-align:left; font-size:9px; color:#68755d; font-weight:500; }
.sample-sheet th small { display:block; font:500 10px/1.6 'DM Sans',sans-serif; color:#364b36; }
.sample-sheet tbody th { background:#f0f2e8; color:#89927b; font-size:9px; text-align:center; width:33px; font-weight:400; }
.sample-error-row { background:#fbf0e8; }
.sample-sheet .broken-cell { background:#f6e1d6; color:#a24d35; border:2px solid #a9654a; font:600 13px/1.6 ui-monospace,Consolas,monospace; }
.broken-cell span { font-size:16px; padding-left:18px; }
.demo-bottom { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-top:24px; border-top:1px solid #e4e5d9; padding-top:20px; }
.demo-bottom p { font-size:10px; color:#7b8174; line-height:1.7; margin:0; }
.demo-bottom .button { min-height:46px; font-size:10px; padding:12px 15px; gap:18px; }
.demo-bottom .button span { font-size:17px; }
.demo-status { min-height:25px; font-size:9px; padding:0 28px 14px; margin:0; color:#6b7862; }
.sample-evidence { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:25px; }
.sample-evidence>div { border:1px solid #d8ddcc; padding:15px; }
.sample-evidence span, .sample-suggestion span { display:block; font-size:7px; letter-spacing:1px; color:#6f7b61; }
.sample-evidence code { font-size:15px; display:block; margin-top:8px; }
.sample-suggestion { margin:15px 0; padding:20px; background:#e9eddb; display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:center; }
.sample-suggestion code { font-size:22px; display:block; margin:7px 0; }
.sample-suggestion p { font-size:10px; margin:0; color:#64725b; }
.sample-result { border-left:1px solid #c8d2b4; padding-left:20px; }
.sample-result strong { font:400 43px/1.2 'Instrument Serif',Georgia,serif; display:block; margin-top:6px; }
.sample-limit { font-size:10px; line-height:1.7; color:#7a7868; }
.sample-kpis { display:grid; grid-template-columns:1.5fr 1fr .8fr; margin:22px 0; }
.sample-kpis>div { border-left:1px solid #d6dcc8; padding-left:19px; }
.sample-kpis>div:first-child { border:0; padding-left:0; }
.sample-kpis span { display:block; font-size:7px; letter-spacing:1px; color:#718064; }
.sample-kpis strong { display:block; font:400 39px/1.25 'Instrument Serif',Georgia,serif; margin:8px 0 0; }
.sample-chart { background:#eff2e6; padding:17px 20px 15px; }
.sample-chart-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:19px; }
.sample-chart h4 { font-size:11px; margin:0; font-weight:600; }
.sample-chart-heading>span { font-size:8px; color:#7c8773; }
.sample-bar-row { display:grid; grid-template-columns:49px 1fr 55px; gap:12px; align-items:center; margin:15px 0; font-size:10px; }
.sample-bar-track { background:#e0e6d2; height:13px; }
.sample-bar-track>span { display:block; background:#7e9560; height:100%; }
.sample-bar-row b { font-weight:500; text-align:right; }
.demo-secondary-action { font-size:9px; color:#7b8174; margin:14px 0 0; }
.demo-secondary-action button { background:none; border:0; padding:0; text-decoration:underline; font-size:9px; color:#435d32; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.editorial-divider { display:flex; justify-content:space-between; gap:20px; padding-top:19px; padding-bottom:24px; border-top:1px solid var(--line); font-size:8px; letter-spacing:1.5px; }
.editorial-divider>span:last-child { letter-spacing:0; font-size:10px; color:#78816f; }
.lab-section { background:#e8ebdf; padding:75px 0; }
.lab-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:70px; }
.lab-intro h2, .approach h2, .contact h2 { font-family:'Instrument Serif',Georgia,serif; font-size:48px; font-weight:400; line-height:1.08; letter-spacing:-.6px; }
.lab-intro h2 em { color:#77523b; }
.lab-intro>p:not(.eyebrow) { font-size:13px; }
.workspace { box-shadow:none; border-color:#c8cfbc; }
.workspace-header { background:#f9faf4; }
.tool-tabs { gap:0; padding:0; border-bottom:1px solid #d8ddce; }
.tool-tabs button { border:0; border-right:1px solid #d8ddce; margin:0; flex:1; border-radius:0; padding:16px 9px; font-size:10px; }
.tool-tabs button[aria-pressed=true] { background:#e5ebd4; color:#233b24; border-bottom:2px solid #7e9560; }
.example-row button { padding:6px 8px; }
.field-help, #file-workspace .field-help { color:#697562; }
.human-invite { background:#edf0e0; border-color:#cfd8ba; border-left:3px solid #8b9b65; }
.human-invite h4, #file-workspace .human-invite h4 { font-size:18px; }
.approach { grid-template-columns:1.2fr 1fr; gap:115px; padding-top:95px; padding-bottom:80px; }
.approach h2 { font-size:47px; }
.author-story { max-width:390px; color:#66715f; font-size:13px; line-height:1.85; margin-bottom:24px; }
.approach-items { padding-top:7px; }
.approach-items article { gap:23px; padding-bottom:23px; margin-bottom:25px; }
.approach-items article>span { font:400 30px/1 'Instrument Serif',Georgia,serif; color:#9ca88a; }
.approach-items h3 { font-size:15px; }
.approach-items p { font-size:12px; }
.projects { padding-bottom:95px; }
.section-line { padding-top:25px; margin-bottom:8px; }
.project-grid { grid-template-columns:1fr 1.15fr 1fr; gap:20px; align-items:start; }
.project-card { padding:30px 27px; min-height:465px; }
.project-card:nth-child(2) { margin-top:55px; }
.project-card:nth-child(3) { margin-top:110px; }
.cream { background:#e8e3d4; }
.ink { background:#20332f; }
.laboratory-card { background:transparent; border:1px solid #cdd3bd; }
.project-kicker { font-size:7px; letter-spacing:1.2px; }
.project-card h3 { font:400 43px/1.02 'Instrument Serif',Georgia,serif; letter-spacing:-.6px; }
.project-card>p:not(.project-kicker) { font-size:11px; opacity:1; color:#626b5a; }
.project-card.ink>p:not(.project-kicker) { color:#c9d0bb; }
.project-facts { margin:25px 0 0; }
.project-facts>div { border-top:1px solid #c9c9b6; padding:12px 0; }
.project-facts dt { font-size:8px; text-transform:uppercase; letter-spacing:.7px; color:#7b826d; margin:0 0 5px; }
.project-facts dd { font-size:10px; line-height:1.7; margin:0; color:#5b6853; }
.project-card a { font-size:10px; }
.workflow-strip { display:flex; flex-direction:column; align-items:start; gap:6px; margin-top:30px; }
.workflow-strip span { font-size:10px; border-bottom:1px solid #5c7057; padding-bottom:5px; width:100%; }
.workflow-strip i { font-style:normal; color:#d9e89a; font-size:12px; padding-left:8px; }
.project-card .project-footnote { font-size:9px!important; margin-top:22px; }
.contact { align-items:center; padding-top:60px; padding-bottom:75px; }
.contact h2 { font-size:57px; }
.contact p:not(.eyebrow) { font-size:12px; max-width:560px; }
.contact .button { max-width:275px; }
footer { font-size:9px; }
footer>a { text-decoration:none; }
@keyframes editorial-entrance { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:none; } }
.editorial-hero .hero-copy, .author-portrait { animation:editorial-entrance .6s both; }
.author-portrait { animation-delay:.08s; }
@media(min-width:901px) { .lab-intro { top:28px; } }
@media(max-width:1100px) {
 .wrap { padding-left:34px; padding-right:34px; }
 .editorial-hero { gap:40px; grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr); }
 .editorial-hero h1 { font-size:65px; }
 .author-portrait { min-height:418px; }
 .author-portrait>img { min-height:418px; }
 .hero-actions { gap:14px; }
 .hero-actions .button { padding:14px 17px; gap:19px; font-size:11px; }
 .hero-actions .quiet-link { font-size:10px; }
 .portrait-note { left:-40px; width:215px; }
 .guided-demo { gap:40px; grid-template-columns:minmax(0,.7fr) minmax(0,1.6fr); }
 .demo-panel { padding:23px; }
 .sample-title-line { flex-wrap:wrap; }
 .sample-title-line h3 { font-size:18px; }
 .sample-badge { font-size:7px; }
 .demo-bottom p { font-size:9px; }
 .demo-bottom .button { font-size:9px; padding:11px 12px; gap:10px; }
 .lab-layout { gap:40px; }
 .approach { gap:60px; }
 .project-card { padding:25px 21px; }
 .project-card h3 { font-size:36px; }
 .contact h2 { font-size:50px; }
}
@media(max-width:800px) {
 .nav { height:86px; }
 .nav nav { gap:16px; }
 .nav nav>a:not(.nav-contact) { display:none; }
 .editorial-hero { grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr); gap:28px; padding-top:45px; padding-bottom:100px; }
 .editorial-hero h1 { font-size:54px; }
 .editorial-hero .eyebrow { font-size:7px; }
 .editorial-hero .intro { font-size:12px; }
 .hero-actions .quiet-link { display:none; }
 .author-portrait, .author-portrait>img { min-height:385px; }
 .portrait-note { width:190px; padding:15px; bottom:-40px; left:-20px; }
 .portrait-note code { font-size:20px; }
 .guided-demo { gap:25px; grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr); }
 .demo-intro h2 { font-size:38px; }
 .demo-intro>p:not(.eyebrow) { font-size:11px; }
 .demo-window-bar { padding:12px 16px; }
 .demo-window-bar>span { font-size:6px; }
 .demo-stage-nav button { font-size:9px; padding:12px 9px; }
 .demo-panel { padding:20px 16px; }
 .demo-bottom { align-items:flex-start; flex-direction:column; }
 .demo-bottom p br { display:none; }
 .demo-bottom .button { width:100%; font-size:10px; }
 .sample-sheet th, .sample-sheet td { padding:9px 7px; }
 .sample-sheet th small { font-size:8px; }
 .sample-kpis strong { font-size:29px; }
 .sample-kpis>div { padding-left:12px; }
 .sample-kpis span { font-size:6px; }
 .sample-suggestion { padding:16px; gap:10px; }
 .sample-suggestion code { font-size:19px; }
 .sample-result strong { font-size:33px; }
 .sample-evidence { gap:8px; }
 .sample-evidence>div { padding:11px; }
 .sample-evidence span { font-size:6px; }
 .sample-result { padding-left:12px; }
 .lab-layout { grid-template-columns:1fr; }
 .lab-intro { position:static; }
 .lab-intro>p:not(.eyebrow), .ai-label { max-width:560px; }
 .lab-intro h2 br { display:none; }
 .approach { grid-template-columns:1fr 1fr; gap:35px; }
 .approach h2 { font-size:37px; }
 .project-grid { grid-template-columns:1fr 1fr; }
 .project-card:nth-child(3) { grid-column:1/-1; margin-top:0; min-height:0; }
 .contact { flex-direction:column; align-items:start; }
}
@media(max-width:600px) {
 .wrap { padding-left:22px; padding-right:22px; }
 .preview-ribbon { font-size:7px; letter-spacing:.8px; padding:7px 16px; }
 .preview-ribbon a { font-size:8px; }
 .signature { font-size:21px; }
 .signature span { font-size:6px; }
 .nav { height:80px; }
 .nav nav { font-size:9px; }
 .editorial-hero { grid-template-columns:1fr; gap:35px; padding-top:36px; padding-bottom:100px; }
 .editorial-hero h1 { font-size:clamp(46px,13vw,66px); letter-spacing:-1.2px; }
 .editorial-hero .eyebrow { font-size:7px; letter-spacing:1px; margin-bottom:23px; }
 .editorial-hero .intro { font-size:13px; max-width:410px; }
 .hero-actions { gap:20px; }
 .hero-actions .quiet-link { display:inline; }
 .hero-actions .button { font-size:11px; padding:15px 18px; }
 .hero-note { font-size:9px; }
 .author-portrait { width:82%; margin:0 0 0 auto; min-height:0; padding-bottom:0; }
 .author-portrait>img { min-height:0; height:350px; object-position:50% 38%; }
 .author-portrait figcaption { bottom:0; padding:14px 12px 14px 110px; }
 .author-portrait figcaption strong { font-size:22px; }
 .portrait-note { width:175px; bottom:-45px; left:-50px; padding:13px 15px; }
 .portrait-note>span { font-size:6px; }
 .portrait-note p { font-size:9px; }
 .guided-demo { grid-template-columns:1fr; gap:27px; padding-top:12px; padding-bottom:60px; }
 .demo-intro { padding-top:0; }
 .demo-intro h2 { font-size:43px; line-height:1.03; }
 .demo-intro h2 br { display:none; }
 .demo-intro>p:not(.eyebrow) { font-size:13px; max-width:440px; }
 .demo-privacy { margin:20px 0 0; padding-top:14px; }
 .demo-progress { display:none; }
 .demo-desk { box-shadow:7px 7px 0 #e1e4d4; }
 .demo-window-bar>span { font-size:6px; letter-spacing:.7px; }
 .demo-window-bar button { font-size:8px; }
 .demo-stage-nav button { font-size:9px; }
 .demo-panel { min-height:0; padding:23px 16px 16px; }
 .sample-title-line h3 { font-size:18px; }
 .sample-badge { font-size:8px; }
 .demo-description { font-size:11px; }
 .sample-sheet { font-size:11px; }
 .sample-sheet th small { font-size:9px; }
 .sample-sheet .broken-cell { font-size:12px; }
 .broken-cell span { padding-left:3px; }
 .demo-status { font-size:8px; padding:4px 16px 14px; }
 .sample-evidence span, .sample-suggestion span { font-size:6px; }
 .sample-result strong { font-size:34px; }
 .sample-evidence code { font-size:14px; }
 .sample-limit { font-size:10px; }
 .sample-kpis strong { font-size:31px; }
 .sample-chart { padding:15px 12px; }
 .sample-bar-row { grid-template-columns:42px 1fr 48px; gap:8px; font-size:9px; }
 .demo-secondary-action { font-size:10px; line-height:1.8; }
 .demo-secondary-action button { font-size:10px; }
 .editorial-divider { flex-direction:column; gap:8px; }
 .editorial-divider>span:last-child { font-size:9px; }
 .lab-section { padding:47px 0; }
 .lab-intro h2 { font-size:40px; }
 .tool-tabs button { font-size:9px; padding:14px 6px; }
 .workspace-header { padding:0 16px; }
 .approach { grid-template-columns:1fr; padding-top:55px; padding-bottom:35px; gap:35px; }
 .approach h2 { font-size:40px; }
 .project-grid { grid-template-columns:1fr; gap:20px; }
 .project-card { min-height:0; padding:28px; }
 .project-card:nth-child(2), .project-card:nth-child(3) { margin-top:0; grid-column:auto; }
 .project-card h3 { font-size:45px; }
 .project-card>p:not(.project-kicker), .project-facts dd { font-size:12px; }
 .project-facts { margin-top:20px; }
 .project-facts>div { padding:14px 0; }
 .project-card a { font-size:12px; }
 .projects { padding-bottom:50px; }
 .contact { padding-top:45px; padding-bottom:50px; }
 .contact h2 { font-size:44px; }
 .contact p:not(.eyebrow) { font-size:13px; }
 .contact .button { max-width:none; width:100%; }
 footer { padding-top:22px!important; padding-bottom:22px!important; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *, *::before, *::after { animation:none!important; transition:none!important; }
}
