:root{--ink:#171715;--ink-soft:#2a2925;--paper:#f4efe6;--paper-deep:#e7dfd3;--white:#fffdf9;--red:#9f2f25;--red-dark:#77221c;--muted:#5f5c55;--line:#17171529;--line-light:#fffdf933;--serif:Iowan Old Style, Baskerville, Times New Roman, serif;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shadow:0 30px 80px #12110f24;--shell:min(1160px, calc(100vw - 48px))}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{background:var(--paper);color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.6}body,button,input,textarea,select{font:inherit}img,svg{max-width:100%;display:block}a{color:inherit}p,h1,h2,h3{margin-top:0}h1,h2,h3{font-family:var(--serif);letter-spacing:-.035em;text-wrap:balance;font-weight:400;line-height:1.05}h1{font-size:clamp(3.5rem,7vw,5.5rem)}h2{font-size:clamp(2.5rem,5vw,4rem)}h3{font-size:clamp(1.5rem,2.5vw,2.125rem)}p{text-wrap:pretty}::selection{background:var(--red);color:var(--white)}:focus-visible{outline-offset:4px;outline:3px solid #d87367}.shell{width:var(--shell);margin-inline:auto}.section,.section-dark,.section-paper{padding:clamp(6rem,8vw,7.5rem) 0}.section-dark{background:var(--ink);color:var(--white)}.section-paper{background:var(--paper-deep)}.eyebrow{color:var(--red);letter-spacing:.17em;text-transform:uppercase;align-items:center;gap:.7rem;margin-bottom:1.6rem;font-size:.75rem;font-weight:700;line-height:1.2;display:flex}.eyebrow:before{content:"";background:currentColor;width:1.8rem;height:1px}.eyebrow-light{color:#d7766c}.button{border:1px solid var(--ink);background:var(--ink);min-height:3.25rem;color:var(--white);letter-spacing:.1em;text-transform:uppercase;justify-content:center;align-items:center;gap:.75rem;padding:.7rem 1.35rem;font-size:.78rem;font-weight:700;line-height:1;text-decoration:none;transition:background .18s,color .18s,border-color .18s,transform .18s;display:inline-flex}.button:hover{border-color:var(--red);background:var(--red);transform:translateY(-2px)}.button-small{min-height:2.75rem;padding-inline:1rem;font-size:.68rem}.button-light{border-color:var(--white);background:var(--white);color:var(--ink)}.button-light:hover{border-color:var(--red);background:var(--red);color:var(--white)}.button-outline{border-color:var(--white);background:0 0}.button-outline:hover{border-color:var(--white);background:var(--white);color:var(--ink)}.text-link{letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid;align-items:center;gap:.5rem;padding-bottom:.25rem;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-flex}.text-link span{transition:transform .18s}.text-link:hover span{transform:translate(3px,-3px)}.skip-link{z-index:1000;background:var(--white);color:var(--ink);padding:.75rem 1rem;font-weight:700;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{z-index:100;background:var(--ink);color:var(--white);transition:background .2s,box-shadow .2s;position:absolute;top:0;left:0;right:0}.site-header.is-scrolled{color:var(--white);backdrop-filter:blur(16px);background:#171715f0;position:fixed;box-shadow:0 10px 30px #00000026}.header-inner{grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;min-height:5.75rem;display:grid}.brand{width:max-content;color:inherit;align-items:center;text-decoration:none;display:inline-flex}.brand-logo{width:10.5rem;height:auto}.brand-footer .brand-logo{width:12rem}.desktop-nav{justify-self:center}.desktop-nav ul,.mobile-menu ul{gap:clamp(1rem,2vw,2rem);margin:0;padding:0;list-style:none;display:flex}.desktop-nav a{letter-spacing:.1em;text-transform:uppercase;padding:.5rem 0;font-size:.69rem;font-weight:700;text-decoration:none;position:relative}.desktop-nav a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .18s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.header-cta{border-color:var(--white);background:0 0}.mobile-menu{justify-self:end;display:none}.mobile-menu summary{border:1px solid var(--line-light);cursor:pointer;gap:5px;width:2.75rem;height:2.75rem;padding:.8rem .65rem;list-style:none;display:grid}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{background:currentColor;width:100%;height:1px;display:block}.page-hero{padding:clamp(10rem,17vw,14rem) 0 clamp(5rem,9vw,8rem)}.page-hero-dark{background:var(--ink);color:var(--white)}.page-hero-light{background:var(--paper-deep)}.page-hero-light+.section{background:var(--paper)}.page-hero-grid{grid-template-columns:minmax(10rem,.34fr) 1fr;align-items:start;gap:4rem;display:grid}.page-hero-grid>*{min-width:0}.page-hero h1{text-align:left;text-wrap:balance;max-width:900px;margin-bottom:2rem}.page-hero-title-offset{font-size:clamp(3.5rem,6.3vw,5.5rem);line-height:1.04;max-width:1100px!important}.page-hero-title-line{width:auto;max-width:100%;display:block}.page-hero-title-line+.page-hero-title-line{margin-top:.18em;margin-left:clamp(1.5rem,4vw,5rem)}.page-hero-compact h1{max-width:780px;font-size:clamp(3.5rem,6.3vw,5.5rem);line-height:1.02}.page-intro{max-width:680px;color:var(--muted);margin:0;font-size:clamp(1.0625rem,1.8vw,1.3rem);line-height:1.55}.page-hero-dark .page-intro{color:#fffdf9b3}.intro-grid,.split-grid,.callout-grid,.contact-grid{grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem);display:grid}.section-title{max-width:820px;margin-bottom:clamp(3rem,7vw,6rem)}.section-title p:not(.eyebrow){max-width:620px;color:var(--muted);font-size:1.08rem}.measure{max-width:660px}.measure p{color:var(--muted);font-size:1.06rem}.measure p:first-child{color:inherit;font-family:var(--serif);font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.25}.service-grid,.card-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.service-card,.info-card{background:var(--paper);padding:clamp(1.5rem,3vw,2.5rem);position:relative}.service-card{color:inherit;flex-direction:column;justify-content:space-between;gap:2.5rem;text-decoration:none;display:flex;overflow:hidden}.service-card:before{background:var(--red);content:"";transform-origin:0;height:4px;transition:transform .22s;position:absolute;inset:auto 0 0;transform:scaleX(0)}.service-card:hover:before{transform:scaleX(1)}.card-number{color:var(--red);font-family:var(--serif);font-size:.9rem}.service-card h3,.info-card h3{margin-bottom:1rem}.service-card p,.info-card p{color:var(--muted);margin-bottom:0}.service-card .arrow{border:1px solid var(--line);place-items:center;width:2.75rem;height:2.75rem;font-size:1.2rem;transition:color .18s,background .18s,transform .18s;display:inline-grid}.service-card:hover .arrow{background:var(--ink);color:var(--white);transform:translate(3px,-3px)}.number-list{border-top:1px solid var(--line-light);counter-reset:process;margin:0;padding:0;list-style:none}.number-list li{border-bottom:1px solid var(--line-light);counter-increment:process;grid-template-columns:4rem minmax(10rem,.5fr) 1fr;gap:2rem;padding:2.2rem 0;display:grid}.number-list li:before{color:#d7766c;content:"0" counter(process);letter-spacing:.12em;font-size:.72rem;font-weight:700}.number-list h3{margin:0;font-size:1.8rem}.number-list p{color:#fffdf9bd;max-width:600px;margin:0}.tag-list{flex-wrap:wrap;gap:.6rem;margin:2rem 0 0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);letter-spacing:.09em;text-transform:uppercase;padding:.55rem .8rem;font-size:.72rem;font-weight:700}.callout h2{text-wrap:balance;max-width:16ch;margin:0;font-size:clamp(2.5rem,4.5vw,4rem)}.callout-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:end;gap:clamp(3rem,6vw,7rem)}.callout-side{align-self:end}.callout-side p{color:#fffdf9c2;max-width:520px;margin-bottom:2rem;font-size:1.08rem}.site-footer{border-top:1px solid var(--line-light);background:var(--ink);color:var(--white);padding:5rem 0 1.5rem}.footer-grid{grid-template-columns:1.8fr repeat(3,1fr);gap:3rem;padding-bottom:4rem;display:grid}.footer-lead p{color:#fffdf9bd;max-width:330px;margin-top:1.3rem}.footer-label{color:#fffdf9ad;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.2rem;font-size:.8125rem;font-weight:700}.site-footer nav{gap:.6rem;display:grid}.site-footer nav a{color:#fffdf9cc;width:max-content;text-decoration:none}.site-footer nav a:hover{color:var(--white)}.footer-contact>p:not(.footer-label){color:#fffdf9c2}.footer-contact .text-link{margin-top:.8rem;font-size:.68rem}.footer-bottom{border-top:1px solid var(--line-light);color:#fffdf9a8;letter-spacing:.04em;justify-content:space-between;padding-top:1.5rem;font-size:.8125rem;display:flex}.footer-bottom p{margin:0}@media (width<=960px){:root{--shell:min(100% - 36px, 760px)}.desktop-nav,.header-cta{display:none}.header-inner{grid-template-columns:1fr auto}.mobile-menu{display:block}.mobile-menu[open] nav{border-top:1px solid var(--line-light);background:var(--ink);padding:1.3rem 18px 2rem;position:absolute;top:5.75rem;left:0;right:0}.mobile-menu ul{gap:0;display:grid}.mobile-menu a{border-bottom:1px solid var(--line-light);font-family:var(--serif);padding:.9rem 0;font-size:1.65rem;text-decoration:none;display:block}.page-hero-grid,.intro-grid,.split-grid,.callout-grid,.contact-grid{grid-template-columns:1fr;gap:2.5rem}.page-hero .eyebrow{margin-bottom:0}.page-hero-title-offset{font-size:clamp(2.5rem,10vw,3.5rem)}.page-hero-title-line+.page-hero-title-line{margin-left:0}.service-grid,.card-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:2fr 1fr 1fr}.footer-contact{grid-column:1/-1}}@media (width<=640px){:root{--shell:calc(100% - 28px)}h1,.page-hero-compact h1{font-size:clamp(2.5rem,12vw,3.5rem)}.section,.section-dark,.section-paper{padding:4rem 0}.header-inner{min-height:4.8rem}.brand-logo{width:9.6rem}.mobile-menu[open] nav{top:4.8rem}.page-hero{padding:8.5rem 0 4.5rem}.service-grid,.card-grid{grid-template-columns:1fr}.number-list li{grid-template-columns:2.5rem 1fr;gap:1rem}.number-list p{grid-column:2}.footer-grid{grid-template-columns:1fr 1fr}.footer-lead,.footer-contact{grid-column:1/-1}.footer-bottom{gap:.4rem;display:grid}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
