@charset "UTF-8";
:root{--ink:#122522;--muted:#51615e;--paper:#fff;--wash:#f1f5f4;--line:#d4dfdc;--accent:#106650;--mint:#8df0ce;--radius:8px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid #087bcb;outline-offset:5px}p,h1,h2,h3{margin:0}button,a{-webkit-tap-highlight-color:transparent}.shell{width:min(1200px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}.masthead{height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;font-weight:750;font-size:23px;letter-spacing:-.9px;white-space:nowrap}.brand-mark{display:grid;place-items:center;font-size:20px;letter-spacing:-2px;width:38px;height:38px;background:var(--ink);color:var(--mint);border-radius:8px;margin-right:10px;padding-right:2px}.brand-period{color:var(--accent)}nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}.nav-contact{background:var(--wash);padding:11px 17px;border-radius:6px}.nav-contact span{margin-left:16px}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:80px;padding-block:85px 96px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.35px;text-transform:uppercase;margin-bottom:23px;color:var(--accent)}h1{font-size:clamp(48px,6.1vw,82px);line-height:1.035;letter-spacing:-4px;font-weight:700;margin-bottom:27px}h1 span{color:var(--accent)}.lead{max-width:490px;font-size:19px;line-height:1.65;color:var(--muted);margin-bottom:31px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 22px;border-radius:6px;background:var(--ink);color:#fff;font-size:15px;font-weight:700;line-height:1.5}.button:hover{background:#214b41;text-decoration:none}.button span{font-size:21px;line-height:1}.hero-note{margin-top:16px;color:var(--muted);font-size:13px}.workflow{padding:29px;background:var(--wash);border:1px solid var(--line);border-radius:12px}.workflow-heading{display:flex;justify-content:space-between;gap:12px;font-size:13px;font-weight:700;margin-bottom:25px}.mono{font-family:Consolas,monospace;font-weight:400;color:var(--muted);font-size:12px}.workflow-step{display:flex;gap:15px;align-items:center;background:white;border:1px solid var(--line);padding:20px 15px;border-radius:var(--radius)}.workflow-step div{min-width:0}.workflow-step strong{display:block;font-size:15px}.workflow-step div span{display:block;font-size:12px;line-height:1.5;margin-top:3px;color:var(--muted)}.step-icon{flex:0 0 30px;font-size:12px;font-family:Consolas,monospace;color:var(--accent);background:#e4f4ee;display:grid;place-items:center;height:32px;border-radius:5px}.connector{height:27px;border-left:1px dashed #93b0a7;margin-left:31px}.output{background:var(--ink);color:white;border-color:var(--ink)}.output div span{color:#b9d3ca}.output .step-icon{background:#315048;color:var(--mint)}.check{color:var(--mint);margin-left:auto}.workflow-foot{font-size:12px;color:var(--muted);margin-top:24px;line-height:1.6}.work-section{padding-block:76px 79px;background:var(--wash);border-block:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;align-items:end;margin-bottom:45px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:16px}h2{font-size:clamp(32px,3.8vw,48px);font-weight:600;line-height:1.15;letter-spacing:-1.8px}.section-heading>p:last-child:not(.eyebrow){max-width:420px;color:var(--muted)}.services{border-top:1px solid #b9cbc5}.service{display:grid;grid-template-columns:60px 1fr auto;gap:30px;padding:29px 0;border-bottom:1px solid #b9cbc5}.service-number{font-family:Consolas,monospace;font-size:14px;color:var(--muted);padding-top:5px}h3{font-size:23px;line-height:1.25;letter-spacing:-.5px;margin-bottom:12px}.service p{max-width:680px;color:var(--muted)}.service-example{display:block;font-size:12px;color:var(--muted);margin-top:14px}.service-tag{font-size:12px;height:fit-content;white-space:nowrap;padding:5px 11px;border:1px solid #aac8bd;border-radius:30px;color:var(--accent)}.process-section{padding-block:81px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:52px}.process-number{display:block;font:14px Consolas,monospace;border-top:1px solid var(--line);padding-top:21px;margin-bottom:24px;color:var(--accent)}.process-grid h3{font-size:20px}.process-grid p{color:var(--muted)}.brief-section{padding-block:67px;background:var(--ink);color:white}.brief-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:65px}.brief-section .eyebrow{color:var(--mint)}.brief-section h2{font-size:clamp(35px,4vw,50px);margin-bottom:20px}.brief-section p:not(.eyebrow){max-width:480px;color:#c1d4ce}.brief-action{justify-self:end}.button-light{background:var(--mint);color:var(--ink)}.button-light:hover{background:#bbffe9}.contact-status{font-size:13px;line-height:1.75;margin-top:18px}.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:35px}.footer .brand{font-size:19px}.footer p,.footer>span{font-size:12px;color:var(--muted)}
@media(min-width:1500px){.hero{padding-block:105px 116px}}
@media(max-width:1000px){.shell{width:calc(100% - 56px)}.hero{gap:35px}.workflow{padding:20px}.workflow-step{padding:17px 12px}h1{letter-spacing:-2.8px}.lead{font-size:17px}nav{gap:20px}.brand{font-size:21px}.process-grid{gap:30px}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.masthead{height:86px}.brand{font-size:20px}.brand-mark{width:32px;height:32px;font-size:18px}nav>a:not(.nav-contact){display:none}.nav-contact{padding:9px 10px;font-size:12px}.nav-contact span{margin-left:7px}.hero{grid-template-columns:1fr;padding-block:46px 50px;gap:37px}h1{font-size:clamp(47px,11vw,76px);letter-spacing:-2.7px}.lead{font-size:17px;max-width:520px}.hero-note{font-size:12px}.eyebrow{font-size:11px;letter-spacing:1px}.workflow{max-width:none;padding:23px}.workflow-step div span{font-size:13px}.work-section{padding-block:48px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{margin-bottom:20px}.section-heading>p:last-child:not(.eyebrow){font-size:16px}.service{grid-template-columns:26px 1fr;gap:15px;padding-block:24px}.service-tag{grid-column:2;justify-self:start}.service h3{font-size:21px}.service-example{font-size:12px}.process-section{padding-block:49px}.process-grid{grid-template-columns:1fr;gap:30px}.process-number{margin-bottom:16px;padding-top:16px}.process-grid h3{font-size:22px}.brief-section{padding-block:46px}.brief-layout{grid-template-columns:1fr;gap:30px}.brief-action{justify-self:start}.footer{flex-wrap:wrap;gap:16px;padding-block:26px}.footer p{display:none}.footer>span{font-size:12px}.button{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.example-section{display:grid;grid-template-columns:1.15fr 1fr;gap:85px;padding-block:80px;border-bottom:1px solid var(--line)}.example-intro h2{margin-bottom:25px}.example-intro>p:not(.eyebrow){color:var(--muted);margin-bottom:14px}.sample-links{margin-top:27px;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}.sample-links a{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:700}.sample-links a span{font:12px Consolas,monospace;color:var(--accent);padding-top:4px}.sample-note{font-size:12px;line-height:1.7;margin-top:14px}.pilot{border:1px solid var(--line);border-radius:10px;padding:32px;align-self:start}.pilot .eyebrow{margin-bottom:17px}.pilot h3{font-size:22px}.price{font-size:51px;font-weight:700;line-height:1.2;letter-spacing:-2px;margin-block:24px}.price span{display:block;font-size:13px;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:7px}.pilot ul{padding-left:19px;font-size:15px;margin-block:22px}.pilot li{padding-left:5px;margin-block:11px}.pilot-terms{font-size:12px;color:var(--muted);line-height:1.7;border-top:1px solid var(--line);padding-top:19px;margin-bottom:24px}.text-link{font-size:15px;font-weight:700;color:var(--accent)}.text-link span{margin-left:20px}.workflow-step div span{font-size:14px}.workflow-step strong{font-size:16px}.workflow-heading{font-size:14px}.service-example{font-size:13px}.contact-status{font-size:14px}.eyebrow{font-size:12px}.hero-note{font-size:14px}
@media(max-width:1000px){.example-section{gap:35px}.pilot{padding:25px}}
@media(max-width:760px){.example-section{grid-template-columns:1fr;gap:30px;padding-block:49px}.pilot{padding:24px}.eyebrow{font-size:12px}.nav-contact{font-size:14px}.hero-note{font-size:14px}.workflow-step div span{font-size:14px}}
h1{font-size:clamp(43px,4.9vw,67px);letter-spacing:-3px;line-height:1.08}.hero{grid-template-columns:1.2fr 1fr;gap:55px}.experience-section{padding-block:79px 30px}.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.case{background:var(--wash);padding:27px 25px;border-top:3px solid var(--accent);display:flex;flex-direction:column}.case-label{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:25px}.case h3{font-size:25px;line-height:1.25;letter-spacing:-.8px}.case>p:not(.case-label){color:var(--muted);margin-bottom:27px}.case-stack{font:12px/1.7 Consolas,monospace;color:var(--accent);margin-top:auto}.portfolio-link{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:28px;border-bottom:1px solid var(--line)}.portfolio-link p{font-size:14px;color:var(--muted)}.client-strip{padding-block:35px 22px}.client-strip>p{font-size:12px;color:var(--muted);margin-bottom:21px}.client-strip>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;font-size:23px;font-weight:700;letter-spacing:-.8px}.brief-download{display:inline-block;font-size:13px;margin-top:19px;text-decoration:underline;text-underline-offset:5px}.workflow-heading .mono{font-size:12px;white-space:nowrap}.brief-action{min-width:0}.contact-status a{overflow-wrap:anywhere}
@media(max-width:1000px){.hero{gap:32px}.case-grid{gap:15px}.case{padding:22px 19px}.case h3{font-size:22px}.client-strip>div{font-size:21px}}
@media(max-width:760px){.hero{grid-template-columns:1fr;gap:38px}h1{font-size:clamp(43px,9.7vw,67px);letter-spacing:-2px}.case-grid{grid-template-columns:1fr;gap:18px}.case{padding:25px}.case h3{font-size:25px}.case-label{margin-bottom:18px}.experience-section{padding-block:47px 0}.portfolio-link{align-items:flex-start;flex-direction:column;gap:12px}.client-strip>div{justify-content:flex-start;gap:20px 29px;font-size:22px}.workflow-heading{flex-wrap:wrap}.brief-layout{gap:32px}.button{gap:19px}}
/* Launch polish: the existing design, in two equally readable themes. */
/* Theme and motion enhancements */
:root{color-scheme:light;--deep:#122522;--card:#fff;--button-bg:#122522;--button-fg:#fff;--button-hover:#214b41;--step-bg:#e4f4ee;--shadow:0 14px 45px -30px #12252245}
:root[data-theme="dark"]{color-scheme:dark;--ink:#eaf5f0;--muted:#aec1b9;--paper:#0b1512;--wash:#111f1a;--card:#162820;--line:#31483d;--accent:#8df0ce;--button-bg:#8df0ce;--button-fg:#10271e;--button-hover:#baffea;--step-bg:#244537;--shadow:0 20px 60px -28px #000b}
body{background:var(--paper);color:var(--ink)}
button{font:inherit}button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[hidden]{display:none!important}
.masthead{gap:18px}nav{gap:24px}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:88px;min-height:44px;padding:8px 12px;background:transparent;border:1px solid var(--line);border-radius:7px;color:var(--ink);font-size:14px;font-weight:600;cursor:pointer}
.theme-toggle:hover{background:var(--wash);border-color:var(--accent)}
.theme-sun{display:none}
[data-theme="dark"] .theme-sun{display:block}
[data-theme="dark"] .theme-moon{display:none}
.brand-mark{background:var(--deep);color:var(--mint)}
[data-theme="dark"] .brand-mark{background:var(--mint);color:var(--deep)}
.hero{position:relative}
.hero-copy{position:relative;z-index:1}
.hero h1 span{position:relative}
.workflow{box-shadow:var(--shadow);position:relative;overflow:hidden}
.workflow:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.65}
.workflow-step{background:var(--card)}
.workflow-step.output{background:var(--deep);color:#effaf4;border-color:#315048}
.step-icon{background:var(--step-bg);color:var(--accent)}
.output .step-icon{background:#315048;color:var(--mint)}
.connector{border-left-color:var(--line);position:relative}
.connector:after{content:"";position:absolute;width:3px;height:9px;top:0;left:-2px;border-radius:3px;background:var(--accent);opacity:.5}
.button{background:var(--button-bg);color:var(--button-fg);box-shadow:0 4px 14px -8px #0005}
.button:hover{background:var(--button-hover)}
.button-light{background:var(--mint);color:var(--deep)}
.button-light:hover{background:#baffea}
.services,.service{border-color:var(--line)}
.case{border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:0 0 8px 8px}
.case:hover{border-color:var(--accent)}
.brief-section{background:var(--deep);color:#fff}
.brief-section .button{color:var(--deep);background:var(--mint)}
.brief-section .button:hover{background:#baffea}
.skip{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:6px}
.footer{display:block;padding-block:30px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-top p,.footer-top>span{font-size:13px;color:var(--muted)}
.business-details{margin-top:22px;border-top:1px solid var(--line);padding-top:18px;color:var(--muted);font-size:14px}
.business-details summary{width:fit-content;cursor:pointer;color:var(--ink);font-weight:600;padding:6px 0;min-height:34px}
.business-details-content{padding:18px 0 3px;max-width:830px}
.business-details-content p{display:block;font-size:14px}
.business-details dl{display:grid;grid-template-columns:1fr 1fr;gap:18px 40px;margin:20px 0 0}
.business-details dt{font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.business-details dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.business-details a{text-decoration:underline;text-underline-offset:4px}
@media(prefers-reduced-motion:no-preference){
 body,.workflow,.workflow-step,.case,.theme-toggle,.nav-contact{transition:background-color .18s,color .18s,border-color .18s}
 .button,.text-link span{transition:transform .18s,background-color .18s,box-shadow .18s}
 .button:hover{transform:translateY(-2px);box-shadow:0 8px 20px -10px #0006}
 .text-link:hover span{display:inline-block;transform:translate(2px,-2px)}
 .hero-copy{animation:entrance .65s cubic-bezier(.16,1,.3,1) both}
 .workflow{animation:entrance .8s .12s cubic-bezier(.16,1,.3,1) both}
 .motion-ready .service,.motion-ready .case,.motion-ready .process-grid article,.motion-ready .section-heading,.motion-ready .brief-layout{transition:opacity .55s,transform .55s,background-color .18s,border-color .18s}
 .reveal-pending{opacity:0;transform:translateY(18px)}
 @keyframes entrance{from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}
}
@media(max-width:1000px){nav{gap:16px}.theme-toggle{min-width:44px;padding:8px}.theme-label{display:none}}
@media(max-width:760px){nav{gap:10px}.masthead{gap:10px}.nav-contact span{display:none}.theme-toggle{flex-shrink:0}.brand{font-size:19px}.brand-mark{margin-right:7px}.footer-top p{display:none}.business-details dl{grid-template-columns:1fr;gap:16px}.business-details{margin-top:16px}}
@media(max-width:360px){.shell{width:calc(100% - 28px)}.brand{font-size:17px}.brand-mark{width:27px;height:27px}.nav-contact{font-size:13px;padding:9px 8px}nav{gap:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-pending{opacity:1!important;transform:none!important}}
@media print{.theme-toggle,.skip{display:none!important}.reveal-pending{opacity:1!important;transform:none!important}.business-details-content{display:block}body{background:#fff;color:#111}}

/* A short, replayable systems diagram. The content is always readable. */
.workflow{background-image:linear-gradient(color-mix(in srgb,var(--line) 25%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 25%,transparent) 1px,transparent 1px);background-size:24px 24px}
.workflow-step{position:relative;z-index:1}
.connector:after{display:none}
.data-packet{position:absolute;top:-2px;left:-12px;color:var(--accent);font:700 11px/18px Consolas,monospace;letter-spacing:-1px;background:var(--wash);padding-inline:3px;opacity:0}
.flow-preview{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 14px;border-top:1px solid var(--line);padding-top:13px;margin-top:21px}
.flow-status{font:12px/1.6 Consolas,monospace;color:var(--muted)}
.flow-cursor{color:var(--accent);font-weight:700}
.flow-replay{display:inline-flex;align-items:center;gap:7px;min-height:36px;border:1px solid var(--line);border-radius:6px;padding:6px 10px;font-size:14px;color:var(--ink);background:var(--card);cursor:pointer}
.flow-replay:hover{border-color:var(--accent)}
.flow-replay:disabled{cursor:default;opacity:.5}
.flow-replay span{font-size:19px;line-height:1}
.flow-preview+.workflow-foot{margin-top:12px}
.case{position:relative;overflow:hidden}
.case:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;opacity:.7}
@media(prefers-reduced-motion:no-preference){
 .workflow-step{transition:box-shadow .28s,border-color .28s,background-color .18s}
 .flow-0 [data-flow-step="0"],.flow-1 [data-flow-step="1"],.flow-2 [data-flow-step="2"]{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}
 .flow-0 [data-flow-link="0"] .data-packet,.flow-1 [data-flow-link="1"] .data-packet{animation:data-transfer 1.15s .15s ease-in-out both}
 .flow-2 .check{animation:complete-step .6s ease-out both}
 .case:after{transition:transform .55s cubic-bezier(.16,1,.3,1)}
 .case:hover:after{transform:scaleX(1)}
 @keyframes data-transfer{0%{opacity:0;transform:translateY(-6px)}18%,75%{opacity:1}100%{opacity:0;transform:translateY(18px)}}
 @keyframes complete-step{0%{transform:scale(.6);opacity:.25}60%{transform:scale(1.2)}100%{transform:scale(1);opacity:1}}
}
@media(max-width:760px){.flow-replay{min-height:44px}.flow-preview{gap:6px 12px}}
@media(prefers-reduced-motion:reduce){.flow-preview{display:none}.data-packet{display:none}.case:after{display:none}}
@media print{.flow-preview,.data-packet{display:none}}
