@font-face{font-family:Inter;src:url('/static/fonts/inter.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:Fraunces;src:url('/static/fonts/fraunces.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}

/* The homepage travels with its server-rendered HTMX fragment. */
body:has(.consulting-home){background:#f8f8f2;color:#242a21}
.consulting-home{--paper:#f8f8f2;--ink:#242a21;--muted:#636b5c;--line:#d5dbcb;--signal:#c1ef8a;background:var(--paper);color:var(--ink);font:15px/1.7 Inter,Arial,sans-serif}
.consulting-home *{box-sizing:border-box}
.consulting-home .consulting-wrap{width:calc(100% - var(--site-gutter)*2);max-width:var(--site-width);margin:auto}
.consulting-home h1,.consulting-home h2,.consulting-home h3,.consulting-home p{margin:0}
.consulting-home h1,.consulting-home h2,.consulting-home h3{color:var(--ink);text-shadow:none;text-transform:none}
.consulting-home h1,.consulting-home h2{font-family:Fraunces,Georgia,serif;font-weight:400;font-variation-settings:'SOFT' 0,'WONK' 0,'opsz' 72;letter-spacing:-.055em;line-height:1.07}
.consulting-home h2{font-size:clamp(38px,3.6vw,52px)}
.consulting-home h1 em,.consulting-home h2 em{font-style:normal;color:#758168}
.consulting-home h3{font:500 24px/1.3 Inter,Arial,sans-serif;letter-spacing:-.045em}
.consulting-home a{color:inherit}
.consulting-home .consulting-eyebrow{font:10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.09em;text-transform:uppercase;color:#66725a;margin-bottom:24px}
.consulting-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:30px}
.consulting-home .consulting-button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:#202c20;color:#f4f7ed;border:1px solid #202c20;border-radius:3px;padding:15px 21px;font:500 13px/1.6 Inter,sans-serif;text-decoration:none;cursor:pointer;min-height:50px;transition:background .18s,transform .18s}
.consulting-home .consulting-button:hover{background:#3a4d2f;transform:translateY(-2px)}
.consulting-home .consulting-text-link{font-size:12px;font-weight:500;line-height:1.6;text-decoration:none;display:inline-block;padding:8px 0;border-bottom:1px solid #a2ad95}
.consulting-home .consulting-text-link:hover{color:#476537;border-color:#476537}
.consulting-home :where(a,button,summary):focus-visible{outline:2px solid #678a43;outline-offset:5px}
.consulting-section,.consulting-project{scroll-margin-top:105px}
.consulting-section{padding:76px 0;border-top:1px solid var(--line)}
.section-heading{display:flex;justify-content:space-between;gap:45px;align-items:flex-end;margin-bottom:40px}
.section-heading>p{font-size:13px;color:var(--muted);line-height:1.85;max-width:395px;padding-bottom:3px}
.section-heading>.consulting-text-link{margin-bottom:4px}
.consulting-home .section-heading .consulting-eyebrow{margin-bottom:18px}

/* An immediate promise, an inspectable problem, and a direct next step. */
.consulting-hero{background:#111813;color:#eef1e7;padding:142px 0 0}
.hero-stage{display:grid;grid-template-columns:1.2fr 1fr;gap:74px;align-items:center;padding-bottom:60px}
.consulting-home .hero-copy>.consulting-eyebrow{color:#b2c3a5;font-size:10px;display:flex;gap:12px;align-items:center;margin-bottom:28px}
.small-rule{display:inline-block;flex-shrink:0;width:24px;height:1px;background:var(--signal)}
.consulting-home .hero-copy h1{color:#f1f3e9;font-size:clamp(58px,5.8vw,84px);line-height:1.025;letter-spacing:-.055em}
.consulting-home .hero-copy h1 em{color:var(--signal)}
.consulting-home .consulting-lead{color:#b8c3b0;font-size:16px;line-height:1.85;margin-top:29px;max-width:525px}
.consulting-home .hero-copy .consulting-button{background:var(--signal);border-color:var(--signal);color:#20301a}
.consulting-home .hero-copy .consulting-button:hover{background:#d8ffa9;border-color:#d8ffa9}
.consulting-home .hero-copy .consulting-text-link{color:#d1ddc7;border-color:#6a7d5a}
.consulting-home .hero-byline{font-size:11px;line-height:1.8;color:#9ba991;margin-top:25px}
.experience-line{display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid #34412e;padding:24px 0}
.consulting-home .experience-line .consulting-eyebrow{font:9px/1.5 Inter,sans-serif;color:#9dac91;margin:0;flex-shrink:0}
.experience-line p{font:400 16px/1.8 Fraunces,Georgia,serif;color:#bcc9b0}
.experience-line p span{font:10px Inter,sans-serif;color:#718462;padding:0 18px}
.bottleneck-explorer{min-width:0;width:100%;margin:0;padding:0;border:1px solid #e6eddb;background:#e9eedf;color:#24301d;border-radius:4px;position:relative}
.bottleneck-explorer legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.bottleneck-heading{padding:27px 30px 24px;position:relative}
.consulting-home .bottleneck-heading .consulting-eyebrow{font-size:9px;margin-bottom:12px;color:#637452}
.consulting-home .bottleneck-heading h2{font-size:35px;line-height:1.12;letter-spacing:-.04em;color:#2a3822}
.bottleneck-heading img{position:absolute;right:28px;top:39px;width:65px;height:68px;filter:grayscale(1) brightness(.28);opacity:.65}
.bottleneck-choices{padding:0 12px}
.bottleneck-choices label{display:flex;gap:15px;align-items:center;cursor:pointer;position:relative;padding:17px 17px;color:#48553d;border-bottom:1px solid #ccd5be;font:500 14px/1.45 Inter,sans-serif;transition:background .15s,color .15s}
.bottleneck-choices label:first-child{border-top:1px solid #ccd5be}
.choice-index{font:10px ui-monospace,monospace;opacity:.7}
.choice-arrow{margin-left:auto;font-size:17px}
.bottleneck-choices label:hover{background:#dae3cf}
.bottleneck-choices label:has(input:checked){background:#22321f;color:#ddf4c7;border-color:#22321f;border-radius:2px}
.bottleneck-choices label:has(input:checked) .choice-arrow{transform:rotate(90deg);color:var(--signal)}
.bottleneck-choices label:has(input:focus-visible){outline:2px solid #81b855;outline-offset:-4px}
.bottleneck-choices input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;z-index:1;cursor:pointer}
.bottleneck-panel{display:none;padding:24px 30px 26px;min-height:215px}
.bottleneck-explorer:has(input[value="context"]:checked) .context-solution,.bottleneck-explorer:has(input[value="review"]:checked) .review-solution,.bottleneck-explorer:has(input[value="integration"]:checked) .integration-solution{display:block}
.consulting-home .bottleneck-panel .solution-label{font:600 15px/1.6 Inter,sans-serif;color:#2b3b23;margin-bottom:7px;letter-spacing:-.025em}
.bottleneck-panel>p{font-size:13px;line-height:1.8;color:#59694a}
.bottleneck-panel>a{display:block;width:fit-content;font:11px/1.6 Inter,sans-serif;color:#516d3d;text-decoration:none;border-bottom:1px solid #aab99a;margin-top:14px;padding:3px 0}
.bottleneck-panel>button{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;background:none;border:0;border-top:1px solid #c6d1b8;font:500 12px/1.5 Inter,sans-serif;color:#304924;text-align:left;padding:15px 0 0;margin-top:18px;cursor:pointer}
.bottleneck-panel>button:hover{color:#56862f}

/* Proof: actual interfaces, runnable demos, and direct source links. */
.consulting-proof{background:#f4f5ee}
.featured-project{display:grid;grid-template-columns:1.25fr 1fr;background:#fbfcf6;border:1px solid #d4ddc8}
.project-image{background:#222c24;padding:38px 26px 24px;display:flex;flex-direction:column;justify-content:center;min-height:335px;overflow:hidden}
.project-image img{display:block;width:100%;height:auto;border:1px solid #ffffff14;transition:transform .25s}
.project-image a:hover img{transform:scale(1.025)}
.project-image>span{display:block;color:#bac5b3;font-size:9px;margin-top:21px;text-align:center;letter-spacing:.03em}
.project-story{padding:35px 36px}
.consulting-home .project-story .consulting-eyebrow{font-size:9px;margin-bottom:17px}
.project-story h3{font-size:29px}
.project-story>p:not(.consulting-eyebrow){font-size:14px;color:#626e55;line-height:1.85;margin-top:17px}
.project-takeaway{border-top:1px solid #d9e0cf;padding-top:17px}
.project-takeaway strong{display:block;font-size:11px;font-weight:600;color:#3b5030;margin-bottom:5px}
.festival-report{display:block;text-decoration:none;border-top:1px solid #d9e0cf;padding-top:17px;margin-top:20px}.festival-report>span{display:block;font:9px/1.6 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.05em;color:#657956}.festival-report strong{display:block;font:500 13px/1.7 Inter,sans-serif;color:#3a5c29;margin-top:7px}.festival-report:hover strong{text-decoration:underline;text-underline-offset:4px}
.project-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:23px}
.project-links a{font-size:11px;text-decoration:none;border-bottom:1px solid #a4b195;padding:4px 0}
.project-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:40px}
.project-detail>p{font-size:14px;color:#626e55;line-height:1.85;max-width:510px;margin-top:15px}
.project-preview{height:270px;background:#e1e6d7;position:relative;overflow:hidden;display:block;border:1px solid #cdd8c2}
.sdk-preview{padding:0;background:#101712}
.sdk-preview video{width:100%;height:100%;display:block;object-fit:contain;background:#111713}
.economy-preview{background:#1d2529;padding:24px 24px 0}
.economy-preview img{display:block;width:100%;height:auto;transition:transform .25s}
.economy-preview:hover img{transform:translateY(-5px)}
.project-meta{display:flex;align-items:center;justify-content:space-between;margin:22px 0 9px}
.consulting-home .project-meta .consulting-eyebrow{margin:0;font-size:9px;letter-spacing:.07em}
.project-meta>a{text-decoration:none;font-size:23px;line-height:1;padding:5px}
.project-detail h3{font-size:25px}
.consulting-home .project-caption{font-size:11px;color:#69785a;margin-top:16px}
.project-demo{margin-top:19px;font-size:12px;border-top:1px solid #cdd8c2}
.project-demo summary{cursor:pointer;list-style:none;padding:14px 0;display:flex;justify-content:space-between}
.project-demo summary::-webkit-details-marker{display:none}
.project-demo video{width:100%;max-height:450px;background:#111713;display:block}
.repository-list{border-top:1px solid #cdd8c2;margin-top:42px}
.repository-row{display:grid;grid-template-columns:1fr 1.5fr 30px;gap:32px;align-items:center;padding:24px 0;border-bottom:1px solid #cdd8c2}
.repository-row h3{font-size:18px;letter-spacing:-.02em;margin-bottom:5px}
.repository-row h3 a{text-decoration:none}
.repository-row h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.repository-row span{font-size:10px;color:#69785a}
.repository-row p{font-size:13px;line-height:1.85;color:#626e55;max-width:560px}
.repository-row>a{text-decoration:none;font-size:22px;padding:5px}
.voice-demo{grid-column:2 / -1;margin-top:0;width:100%;max-width:650px}
.catalog-footer{display:flex;align-items:center;gap:25px;padding-top:28px}
.catalog-footer p{font-size:12px;color:#657457;margin-right:auto}
.catalog-footer .consulting-text-link{font-size:11px}

/* Make the engagement and the handoff easy to understand. */
.engagement-section{background:#e7eddd}
.engagement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #b7c5a7;border-bottom:1px solid #b7c5a7}
.engagement-grid article{padding:30px 30px 28px 0;display:flex;flex-direction:column}
.engagement-grid article+article{border-left:1px solid #bccbad;padding-left:30px}
.engagement-number{font:9px/1.6 ui-monospace,monospace;color:#647b50;letter-spacing:.035em;margin-bottom:24px}
.engagement-grid h3{font-size:23px;max-width:250px;min-height:60px;letter-spacing:-.035em}
.engagement-grid p{font-size:13px;color:#586a49;line-height:1.9;margin-top:15px;margin-bottom:27px}
.engagement-deliverable{margin-top:auto;border-top:1px solid #c3cfb5;padding-top:19px}
.engagement-deliverable>span{display:block;font:9px/1.5 ui-monospace,monospace;color:#687e55;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.engagement-deliverable strong{display:block;font:500 13px/1.8 Inter,sans-serif;color:#334b25}
.engagement-next{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:30px}
.engagement-next p{font-size:13px;color:#5e724e}
.engagement-next strong{display:block;color:#3c552d;font-weight:500}
.about-section{background:#f5f5ef}
.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.about-layout h2{font-size:46px}
.about-copy{font-size:14px;color:#65705b;line-height:1.9;padding-top:34px}
.about-copy p+p{margin-top:18px}
.about-copy strong{font-weight:500;color:#33442a}
.about-copy .consulting-text-link{margin-top:20px}
.writing-list{border-top:1px solid var(--line)}
.writing-list article{display:grid;grid-template-columns:125px 1fr 80px 25px;gap:25px;padding:28px 0;border-bottom:1px solid var(--line);align-items:center}
.writing-list time,.writing-list article>span{font-size:10px;color:#6c795f}
.writing-list h3{font:400 23px/1.35 Fraunces,Georgia,serif;letter-spacing:-.025em;max-width:690px}
.writing-list a{text-decoration:none}
.writing-list h3 a:hover{color:#5c7d40}
.writing-list article>a{font-size:21px}
.consulting-contact{background:#19271b;color:#eef3e5;padding:80px 0 86px}
.consulting-home .consulting-contact .consulting-eyebrow{color:#acc498}
.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center}
.consulting-home .contact-layout h2{font-size:76px;color:#eef3e5;letter-spacing:-.05em}
.consulting-home .contact-layout h2 em{color:var(--signal)}
.contact-layout>div>p{font-size:15px;color:#b8c8ab;max-width:400px}
.consulting-home .consulting-contact .consulting-button{background:var(--signal);color:#25351c;border-color:var(--signal)}
.consulting-contact .consulting-text-link{font-size:13px;margin-top:20px;border-color:#789461;color:#d2e1c6}
.consulting-home .consulting-note{font-size:11px;color:#a2b692;margin-top:20px}

@media(max-width:1100px){
 .hero-stage{gap:36px;grid-template-columns:1.1fr 1fr}.consulting-home .hero-copy h1{font-size:66px}
 .bottleneck-heading{padding:25px}.bottleneck-heading img{right:21px;width:54px}.bottleneck-panel{padding:23px 25px;min-height:238px}.bottleneck-choices label{font-size:13px;gap:11px;padding:16px 12px}
 .experience-line{gap:20px}.experience-line p{font-size:14px}.experience-line p span{padding:0 10px}
 .project-story{padding:27px}.project-image{padding:20px}.about-layout,.contact-layout{gap:45px}.consulting-home .contact-layout h2{font-size:64px}
 .engagement-grid article{padding-right:22px}.engagement-grid article+article{padding-left:22px}.engagement-grid h3{font-size:21px}
}
@media(max-width:760px){
 .consulting-home .consulting-wrap{width:calc(100% - 44px)}
 .consulting-hero{padding-top:116px}.hero-stage{grid-template-columns:1fr;gap:36px;padding-bottom:32px}
 .consulting-home .hero-copy>.consulting-eyebrow{font-size:9px;gap:9px;margin-bottom:24px}.small-rule{width:15px}
 .consulting-home .hero-copy h1{font-size:clamp(44px,12.7vw,70px);line-height:1.04}
 .consulting-home .consulting-lead{font-size:14px;line-height:1.85;margin-top:24px}
 .consulting-actions{gap:16px;margin-top:24px}.consulting-home .consulting-button{font-size:12px;padding:14px 18px;gap:22px}.consulting-home .consulting-text-link{font-size:11px}
 .consulting-home .hero-byline{font-size:10px;margin-top:20px}
 .bottleneck-explorer{max-width:530px}.bottleneck-heading{padding:23px 24px 21px}.consulting-home .bottleneck-heading h2{font-size:33px}.bottleneck-heading img{top:37px;right:23px;width:55px;height:57px}
 .bottleneck-choices label{font-size:13px;gap:12px;min-height:53px}.bottleneck-panel{padding:22px 24px;min-height:232px}.bottleneck-panel>p{font-size:13px}.bottleneck-panel>a{font-size:10px}
 .experience-line{display:block;padding:21px 0}.experience-line p{font:11px/2 Inter,sans-serif;margin-top:10px}.experience-line p span{padding:0 7px}
 .consulting-section{padding:48px 0;scroll-margin-top:76px}.consulting-project{scroll-margin-top:95px}
 .consulting-home h2{font-size:37px}.consulting-home .consulting-eyebrow{font-size:9px}
 .section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:18px;font-size:12px}.section-heading>p br{display:none}.section-heading>.consulting-text-link{margin-top:18px}
 .featured-project{grid-template-columns:1fr}.project-image{min-height:195px;padding:26px 19px}.project-story{padding:24px}.project-story h3{font-size:27px}.project-story>p:not(.consulting-eyebrow){font-size:13px}
 .project-pair{grid-template-columns:1fr;gap:33px;margin-top:32px}.project-preview{height:auto;aspect-ratio:1.7}.project-meta{margin-top:18px}.project-detail>p{font-size:13px}
 .repository-list{margin-top:32px}.repository-row{grid-template-columns:1fr 30px;gap:9px 20px;padding:23px 0}.repository-row p{grid-row:2;grid-column:1;font-size:12px}.repository-row>a{grid-column:2;grid-row:1}.voice-demo{grid-column:1 / -1}
 .catalog-footer{flex-wrap:wrap;gap:14px 25px;padding-top:23px}.catalog-footer p{width:100%}
 .engagement-grid{grid-template-columns:1fr}.engagement-grid article{padding:26px 0}.engagement-grid article+article{border-left:0;border-top:1px solid #bccbad;padding:26px 0}.engagement-number{margin-bottom:16px}.engagement-grid h3{font-size:24px;min-height:0;max-width:none}.engagement-grid p{margin:13px 0 20px}.engagement-deliverable{padding-top:16px}.engagement-next{align-items:flex-start;flex-direction:column;gap:20px;margin-top:26px}
 .about-layout,.contact-layout{grid-template-columns:1fr;gap:27px}.about-layout h2{font-size:38px}.about-copy{padding-top:0;font-size:13px}
 .writing-list article{grid-template-columns:1fr 30px;gap:12px;padding:23px 0}.writing-list h3{grid-column:1;grid-row:2;font-size:22px}.writing-list article>span{display:none}.writing-list article>a{grid-column:2;grid-row:2}
 .consulting-home .contact-layout h2{font-size:55px}.contact-layout>div>p{font-size:14px}.consulting-contact{padding:49px 0 55px}
}
@media(prefers-reduced-motion:reduce){.consulting-home *{transition:none!important;scroll-behavior:auto!important}}

/* Scale the composition with a desktop display, while keeping paragraphs readable. */
@media(min-width:1101px){
 .hero-stage{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(60px,6vw,120px)}
 .consulting-home .hero-copy h1{font-size:clamp(76px,6.2vw,116px)}
 .consulting-home .consulting-lead{max-width:580px;font-size:17px}
 .bottleneck-explorer{max-width:620px;justify-self:end}
 .consulting-home h2{font-size:clamp(48px,3.7vw,68px)}
 .consulting-home .bottleneck-heading h2{font-size:38px}
 .section-heading>p{font-size:14px;max-width:440px}
 .about-copy{max-width:650px}.repository-row p{max-width:750px}
}
@media(min-width:1600px){
 .consulting-section{padding:90px 0}.hero-stage{padding-bottom:70px}
 .consulting-home .hero-copy>.consulting-eyebrow{font-size:11px}
 .bottleneck-heading{padding:32px 35px 28px}.bottleneck-choices label{font-size:16px;padding:20px}.bottleneck-panel{padding:28px 35px;min-height:225px}.bottleneck-panel>p{font-size:15px}.bottleneck-panel>a{font-size:12px}.bottleneck-panel>button{font-size:13px}
 .consulting-home .hero-byline{font-size:12px}.consulting-home .consulting-button{font-size:14px;padding:17px 24px}.consulting-home .consulting-text-link{font-size:13px}
 .project-story{padding:42px}.project-story h3{font-size:34px}.project-story>p:not(.consulting-eyebrow){font-size:16px}.project-image{padding:42px;min-height:425px}.project-links a,.festival-report strong{font-size:13px}
 .project-preview{height:340px}.project-detail>p{max-width:650px;font-size:15px}.project-detail h3{font-size:29px}.repository-row p{font-size:15px}.repository-row h3{font-size:22px}
 .engagement-grid article{padding:35px 38px 33px 0}.engagement-grid article+article{padding-left:38px}.engagement-grid h3{font-size:28px;max-width:320px;min-height:72px}.engagement-grid p{font-size:15px;max-width:420px}.engagement-deliverable strong{font-size:15px}
 .about-copy{font-size:16px}.writing-list h3{font-size:27px;max-width:900px}.contact-layout>div>p{max-width:480px;font-size:17px}
}

/* The document already reserves space for the fixed navigation. */
.consulting-section,.consulting-project{scroll-margin-top:16px}
