@font-face{font-family:DNDisplay;src:url('/assets/software/bricolage-latin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
@font-face{font-family:DNMono;src:url('/assets/software/mono-latin.woff2') format('woff2');font-style:normal;font-weight:400 500;font-display:swap}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.optional{display:inline;font-weight:400;color:var(--muted)}.contact-form label:has(.optional){display:block}.contact-form label:has(.optional) input{display:block;margin-top:9px}
.mobile-nav:not([open]) .mobile-links{display:none}.hero-heading>*,.section-head>*,.decision>*,.budget>*,.faq>*,.contact-grid>*{min-width:0}h2,h3{overflow-wrap:break-word;hyphens:auto}
:root{--bg:#0a0a0a;--panel:#121212;--text:#f5f5f2;--muted:#b8b8b5;--line:#343434;--accent:#3cff50;--on-accent:#071508;--mono:DNMono,'Courier New',monospace;--display:DNDisplay,Arial,sans-serif;color-scheme:dark}
[data-theme=light]{--bg:#fafafa;--panel:#f0f0ed;--text:#151515;--muted:#565652;--line:#cbcbc7;--accent:#08782c;--on-accent:#fff;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--display);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button,input,textarea,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}p{max-width:68ch}h1{font-size:clamp(3.35rem,7.4vw,7.2rem);line-height:1.01;letter-spacing:-.065em;font-weight:700;max-width:11ch}h2{font-size:clamp(2.1rem,3.6vw,3.7rem);line-height:1.08;letter-spacing:-.045em;font-weight:600}h3{font-size:1.55rem;line-height:1.18;letter-spacing:-.025em;font-weight:600}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;top:-100px;left:24px;z-index:20;background:var(--accent);color:var(--on-accent);padding:16px}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;gap:24px;min-height:84px}.logo{white-space:nowrap;text-decoration:none;font-weight:700;font-size:1.75rem;letter-spacing:-.06em}.logo span{font-family:var(--mono);color:var(--accent);font-size:1.6rem}.desktop-nav{display:flex;gap:23px;margin-left:auto}.desktop-nav a{font-size:.85rem;text-decoration:none;color:var(--muted);padding-block:12px}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--text)}.desktop-nav a[aria-current=page]{box-shadow:0 2px 0 var(--accent)}.header-tools{display:flex;gap:14px;align-items:center}.theme-switch{border:1px solid var(--line);background:transparent;color:var(--text);width:44px;height:44px;font-size:1.3rem}.header-contact{font-size:.84rem;text-decoration:none;font-weight:600;white-space:nowrap}.header-contact span{color:var(--accent);margin-left:10px}.mobile-nav{display:none}.mobile-nav summary{list-style:none;cursor:pointer;font-size:.82rem;padding:10px;border:1px solid var(--line);min-height:44px;display:flex;align-items:center}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav[open] summary{color:var(--accent)}.mobile-links{position:absolute;left:0;right:0;top:100%;padding:24px;background:var(--panel);border-bottom:1px solid var(--line);display:grid;gap:10px}.mobile-links a{padding:10px;text-decoration:none}.breadcrumbs{display:flex;gap:12px;color:var(--muted);font-size:.75rem;margin:29px 0 0;flex-wrap:wrap}.breadcrumbs a{text-decoration:none}.eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.045em;line-height:1.7;text-transform:uppercase;color:var(--accent)}.hero{padding:64px 0 0}.hero-topline{display:flex;justify-content:space-between;gap:24px;align-items:start;margin-bottom:28px}.page-number{font-family:var(--mono);font-size:.75rem;color:var(--muted);white-space:nowrap}.hero-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:72px;align-items:end}.hero-copy{padding-bottom:6px}.hero-copy>p{font-size:1.13rem;color:var(--muted);line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 20px;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600;font-size:.95rem;text-decoration:none;min-height:56px;transition:background .18s,color .18s}.button:hover{background:var(--text);color:var(--bg);border-color:var(--text)}.button .arrow{font-size:1.25rem}.text-link{font-size:.85rem;text-decoration:none;border-bottom:1px solid var(--line);padding-block:8px}.hero-note{margin-top:22px;font-size:.79rem!important;line-height:1.6!important;color:var(--muted)}.blueprint{margin-top:56px;background:var(--panel);border:1px solid var(--line);padding:27px 32px 26px;position:relative}.blueprint-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:22px;color:var(--muted);font-family:var(--mono);font-size:.67rem}.blueprint-head .mark{color:var(--accent)}.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.flow-step{position:relative;display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:start}.flow-step:not(:last-child):after{content:'→';position:absolute;right:-24px;top:12px;font-family:var(--mono);color:var(--accent)}.flow-number{font-family:var(--mono);color:var(--accent);padding-top:5px;font-size:.73rem}.flow h3{font-size:1.2rem;letter-spacing:-.025em}.flow p{font-size:.79rem;color:var(--muted);margin-top:7px}.blueprint-foot{display:flex;gap:24px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:25px;padding-top:16px;font-size:.72rem;color:var(--muted)}.blueprint-foot strong{color:var(--text);font-size:.83rem;font-weight:500}.section-nav{display:flex;gap:30px;margin-top:24px;padding-bottom:25px;border-bottom:1px solid var(--line);flex-wrap:wrap}.section-nav a{font-family:var(--mono);font-size:.7rem;text-decoration:none;color:var(--muted);padding:8px 0}.section-nav a:hover{color:var(--accent)}.section{padding:102px 0;border-bottom:1px solid var(--line);scroll-margin-top:100px}.section-head{display:grid;grid-template-columns:.6fr 1.4fr;gap:64px;margin-bottom:46px}.section-head .eyebrow{padding-top:8px}.section-head h2{max-width:22ch}.section-head p:not(.eyebrow){color:var(--muted);margin-top:22px;line-height:1.8;font-size:1.03rem}.case-list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.case{border-top:1px solid var(--line);padding-top:24px}.case-index{display:block;color:var(--accent);font-family:var(--mono);font-size:.72rem;margin-bottom:19px}.case h3{font-size:1.55rem;margin-bottom:12px}.case p{font-size:.94rem;color:var(--muted);line-height:1.8}.case .case-type{font-size:.73rem;color:var(--text);font-family:var(--mono);margin-bottom:12px}.scope-list{list-style:none;margin:0;padding:0}.scope-row{display:grid;grid-template-columns:56px 1fr 1.35fr;gap:28px;border-top:1px solid var(--line);padding:28px 0;align-items:start}.scope-row:last-child{border-bottom:1px solid var(--line)}.scope-row>span{font-family:var(--mono);font-size:.75rem;color:var(--accent);padding-top:5px}.scope-row h3{font-size:1.5rem}.scope-row p{font-size:.97rem;line-height:1.8;color:var(--muted)}.decision{display:grid;grid-template-columns:1fr 1.35fr;gap:84px;margin-top:56px}.decision h3{font-size:1.8rem;max-width:23ch}.decision p{color:var(--muted);font-size:.98rem;line-height:1.8}.proof{background:var(--panel);padding:88px 0;border-bottom:1px solid var(--line)}.proof-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:34px}.proof-head h2{max-width:20ch;margin-top:14px}.proof-head>p{max-width:42ch;color:var(--muted);font-size:.95rem;line-height:1.8}.proof-figure{margin:0;position:relative}.proof-image{aspect-ratio:1.8;object-fit:cover;object-position:top;width:100%;border:1px solid var(--line);background:#fff}.proof-figure figcaption{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.75rem;margin-top:14px}.proof-figure a{color:var(--text)}.proof-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:42px;margin-top:35px}.proof-bottom h3{font-size:1.02rem;margin-bottom:9px}.proof-bottom p{font-size:.85rem;color:var(--muted);line-height:1.7}.process-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.process-list li{border-top:2px solid var(--line);padding-top:22px}.process-list .number{font-family:var(--mono);color:var(--accent);font-size:.75rem;margin-bottom:22px;display:block}.process-list h3{font-size:1.25rem;margin-bottom:12px}.process-list p{font-size:.9rem;line-height:1.8;color:var(--muted)}.budget{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:80px 0;border-bottom:1px solid var(--line)}.budget h2{font-size:clamp(2rem,3vw,3rem);max-width:20ch;margin-top:16px}.budget p:not(.eyebrow){color:var(--muted);line-height:1.9}.budget .text-link{display:inline-block;color:var(--text);margin-top:20px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq h2{margin-top:14px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:24px 0;font-size:1.05rem;font-weight:500}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-family:var(--mono);color:var(--accent);font-size:1.2rem}.faq details[open] summary:after{content:'−'}.faq details p{color:var(--muted);font-size:.95rem;line-height:1.8;padding-bottom:25px}.contact{padding:100px 0;scroll-margin-top:100px}.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:100px}.contact h2{margin-top:20px;max-width:19ch}.contact-copy>p:not(.eyebrow){margin-top:24px;color:var(--muted);line-height:1.8}.contact-person{border-top:1px solid var(--line);padding-top:24px;margin-top:35px;font-size:.9rem}.contact-person strong{display:block;font-size:1rem;margin-bottom:9px}.contact-person a{display:inline-block;margin-top:7px;color:var(--muted)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{display:flex;flex-direction:column;gap:9px;font-size:.8rem;font-weight:500;min-width:0}.contact-form input:not([type=checkbox]),.contact-form textarea{width:100%;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:0;padding:14px;font-size:1rem;min-height:50px}.contact-form textarea{min-height:170px;resize:vertical;line-height:1.6}.contact-form textarea::placeholder{font-size:.88rem;color:var(--muted)}.full{grid-column:1/-1}.contact-form .consent{display:flex;flex-direction:row;align-items:start;gap:12px;font-weight:400;font-size:.76rem;color:var(--muted);line-height:1.7}.consent input{width:18px;height:18px;flex-shrink:0;margin:3px 0;accent-color:var(--accent)}.contact-form .button{justify-self:start}.form-note{font-size:.74rem;color:var(--muted)}.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.related{border-top:1px solid var(--line);padding:44px 0 65px}.related .eyebrow{margin-bottom:24px}.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.related-links a{text-decoration:none;border-top:1px solid var(--line);padding-top:20px;font-size:1.2rem;display:flex;gap:20px;justify-content:space-between}.related-links a span{color:var(--accent)}.site-footer{border-top:1px solid var(--line);padding:30px 0}.footer-inner{display:flex;justify-content:space-between;gap:25px;font-size:.72rem;color:var(--muted)}.footer-inner nav{display:flex;gap:22px}.footer-inner a{text-decoration:none}.mobile-cta{display:none}
@media(min-width:1600px){.hero{padding-top:80px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.desktop-nav{gap:14px}.desktop-nav a{font-size:.75rem}.header-inner{gap:18px}.header-contact{display:none}.hero-heading{gap:40px}.section-head{gap:40px;grid-template-columns:.4fr 1.6fr}.contact-grid{gap:50px}.flow{gap:28px}.flow-step:not(:last-child):after{right:-18px}.decision,.budget,.faq{gap:45px}}
@media(max-width:760px){html{scroll-padding-top:88px}.wrap{width:calc(100% - 40px)}.header-inner{min-height:70px;gap:14px;justify-content:space-between}.logo{font-size:1.5rem}.logo span{font-size:1.3rem}.desktop-nav{display:none}.header-tools{margin-left:auto;gap:10px}.theme-switch{width:44px;height:44px}.mobile-nav{display:block}.breadcrumbs{font-size:.68rem;margin-top:22px}.hero{padding-top:38px}.hero-topline{gap:16px;margin-bottom:24px}.eyebrow{font-size:.64rem}.hero-heading{grid-template-columns:1fr;gap:28px}h1{font-size:clamp(3.35rem,12vw,5.5rem);max-width:12ch}.hero-copy>p{font-size:1.01rem;line-height:1.75}.hero-actions{margin-top:24px;gap:16px}.button{font-size:.88rem;padding:15px 17px}.hero-note{margin-top:18px}.blueprint{margin-top:34px;padding:22px 20px}.blueprint-head{font-size:.59rem;gap:14px}.flow{grid-template-columns:1fr;gap:28px}.flow-step{grid-template-columns:30px 1fr;gap:8px}.flow-step:not(:last-child):after{content:'↓';right:auto;left:0;top:38px}.flow h3{font-size:1.1rem}.flow p{font-size:.78rem;margin-top:3px}.blueprint-foot{display:block;font-size:.69rem;margin-top:24px}.blueprint-foot strong{display:block;margin-bottom:6px}.section-nav{gap:12px 24px;margin-top:15px}.section-nav a{font-size:.65rem}.section{padding:64px 0}.section-head{grid-template-columns:1fr;gap:17px;margin-bottom:32px}.section-head h2{max-width:23ch}.section-head p:not(.eyebrow){font-size:.97rem;margin-top:18px}.case-list{grid-template-columns:1fr;gap:30px}.case{display:grid;grid-template-columns:30px 1fr;column-gap:14px;padding-top:22px}.case .case-index{grid-row:1/4;margin:2px 0 0}.case-type{margin-bottom:10px!important}.case h3{font-size:1.45rem;max-width:25ch}.case p{font-size:.92rem}.scope-row{grid-template-columns:30px 1fr;gap:8px 14px;padding:23px 0}.scope-row h3{font-size:1.35rem}.scope-row p{grid-column:2;font-size:.91rem;margin-top:7px}.decision{grid-template-columns:1fr;gap:18px;margin-top:34px}.decision h3{font-size:1.65rem}.decision p{font-size:.94rem}.proof{padding:60px 0}.proof-head{display:block}.proof-head h2{margin-top:17px}.proof-head>p{margin-top:24px;font-size:.94rem}.proof-image{aspect-ratio:1.25;object-fit:cover;object-position:top left}.proof-figure figcaption{display:block;font-size:.7rem}.proof-figure figcaption a{display:inline-block;margin-top:10px;padding-block:8px}.proof-bottom{grid-template-columns:1fr;gap:22px;margin-top:25px}.proof-bottom h3{margin-bottom:7px}.process-list{grid-template-columns:1fr 1fr;gap:28px 24px}.process-list h3{font-size:1.15rem}.process-list p{font-size:.85rem}.budget{grid-template-columns:1fr;gap:24px;padding:60px 0}.budget p:not(.eyebrow){font-size:.95rem}.faq{grid-template-columns:1fr;gap:28px}.faq summary{font-size:.98rem;padding:21px 0}.faq details p{font-size:.91rem}.contact{padding:65px 0}.contact-grid{grid-template-columns:1fr;gap:35px}.contact h2{max-width:22ch}.contact-copy>p:not(.eyebrow){font-size:.96rem}.contact-person{margin-top:24px}.contact-form{gap:20px}.contact-form textarea{min-height:185px}.related{padding:35px 0 45px}.related-links{grid-template-columns:1fr;gap:24px}.related-links a{font-size:1.1rem;padding-top:18px}.footer-inner{display:block}.footer-inner nav{margin-top:18px;flex-wrap:wrap;gap:24px}.site-footer{padding-bottom:95px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:8;background:var(--bg);border-top:1px solid var(--line);padding:10px 20px max(10px,env(safe-area-inset-bottom));justify-content:space-between;align-items:center;gap:12px}.mobile-cta p{font-family:var(--mono);font-size:.61rem;color:var(--muted);max-width:16ch}.mobile-cta a{font-size:.8rem;min-height:44px;padding:10px 14px}.mobile-cta.is-hidden{visibility:hidden;pointer-events:none}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}h1{font-size:3rem}.contact-form{grid-template-columns:1fr}.contact-form label{grid-column:1/-1}.hero-topline .page-number{display:none}.process-list{grid-template-columns:1fr}.hero-actions .button{width:100%}.mobile-cta{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.section,.contact{scroll-margin-top:0}
.blueprint-head .mark{white-space:nowrap}
.proof-image{height:auto}
@media(max-width:760px){.proof-figure figcaption>span{display:block}}
@media(min-width:761px) and (max-width:1000px){.hero-heading{grid-template-columns:1fr;gap:28px}.hero-copy{max-width:650px}h1{max-width:14ch;font-size:5rem}.flow-step{grid-template-columns:1fr}.flow-step h3{hyphens:none;font-size:1.05rem}.flow-step:not(:last-child):after{top:30px}.hero-actions{margin-top:24px}}
@media(max-width:760px){.hero-topline .page-number{display:none}.contact-form{grid-template-columns:1fr}.hero-topline{margin-bottom:24px}.hero-topline .eyebrow{max-width:36ch}}
