:root{--paper:#f6f7f3;--ink:#192724;--muted:#56625c;--rule:#cbd1c9;--accent:#bd4520;--orange:#ff986e;--dark:#192724;--gutter:clamp(1.25rem,5.5vw,6rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.6}::selection{background:var(--orange);color:var(--ink)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:var(--accent)}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:500;line-height:1.07;letter-spacing:-.045em}h2{font-size:clamp(2.3rem,4.7vw,4.6rem)}h3{font-size:1.5rem;letter-spacing:-.025em}p{max-width:65ch}.wrap{width:min(100%,1600px);margin-inline:auto;padding-inline:var(--gutter)}.eyebrow{font-size:.75rem;letter-spacing:.12em;font-weight:600;line-height:1.5}.site-header{min-height:112px;display:flex;justify-content:space-between;align-items:center;gap:2rem;border-bottom:1px solid var(--rule)}.brand{font-weight:750;font-size:1.65rem;letter-spacing:-.055em;line-height:1;text-decoration:none;display:inline-block}.brand span{display:block;font-size:.625rem;letter-spacing:.22em;margin-top:.6rem;font-weight:500}.site-header nav{display:flex;gap:2.2rem;align-items:center;font-size:.875rem}.site-header nav a{text-decoration:none;padding:.65rem 0}.site-header nav .nav-contact{border-bottom:1px solid var(--ink)}.menu-toggle{font:inherit;background:none;border:1px solid var(--rule);padding:.55rem .8rem}.menu-toggle[hidden]{display:none}.hero{padding-top:clamp(3rem,6vw,6rem)}.hero .eyebrow{display:flex;align-items:center;gap:.75rem}.accent-line{width:2rem;height:2px;background:var(--accent)}h1{font-size:clamp(3rem,6.65vw,6.6rem);max-width:1250px;margin:2.2rem 0 2.7rem;line-height:1.04}h1 em{font-style:normal;color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;gap:3rem;align-items:flex-end}.hero-intro{max-width:650px;font-size:1.125rem;line-height:1.6}.button{display:inline-block;background:var(--ink);color:var(--paper);padding:1rem 1.7rem;margin-top:1.8rem;text-decoration:none;font-size:.9375rem;border:1px solid var(--ink);transition:background .18s,color .18s}.button:hover{background:var(--accent);border-color:var(--accent);color:white}.section{padding-block:clamp(4rem,8vw,8rem)}.split{display:grid;grid-template-columns:1fr 2.25fr;gap:3rem}.section-label{padding-top:.55rem;color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}.prose{margin-top:2rem;color:var(--muted);font-size:1.0625rem}.prose p+p{margin-top:1.25rem}.two-col p+p{margin:0}.underlined-note{border-bottom:1px solid var(--rule);padding-bottom:1.4rem;margin-top:2.4rem;font-size:.9375rem}.statement{background:var(--dark);color:var(--paper);padding-block:clamp(4rem,7vw,7rem)}.statement .eyebrow{color:#c2cec5}.statement h2{font-size:clamp(2.6rem,6.4vw,6.4rem);margin:2.5rem 0}.statement h2 span{color:var(--orange)}.statement p:last-child{margin-left:57%;color:#c2cec5}.section-heading{margin-bottom:3.5rem}.intro{color:var(--muted);max-width:590px;margin-top:1.5rem;font-size:1.0625rem}.capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:0 3rem}.capabilities article{border-top:1px solid var(--rule);padding:1.4rem 0 2.5rem}.item-number{font-size:.75rem;color:var(--accent);display:block;margin-bottom:1.8rem}.capabilities h3{margin-bottom:1rem}.capabilities p{color:var(--muted);max-width:32ch}.approach{background:#e8ece5}.process{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.process li{border-top:1px solid #9ea99e;padding-top:1.5rem}.step{display:block;color:var(--accent);font-size:.8125rem;margin-bottom:1.5rem}.process h3{margin-bottom:1rem}.process p{color:var(--muted)}.continuing{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;font-size:.6875rem;letter-spacing:.1em;color:var(--accent)}.continuing span{font-size:1.8rem;line-height:1}.context-note{display:grid;grid-template-columns:1fr 1fr;gap:5rem;border-top:1px solid #b8c2b6;margin-top:4rem;padding-top:2.5rem}.context-note h3{font-size:clamp(1.7rem,2.5vw,2.4rem);max-width:25ch}.context-note p{color:var(--muted)}.work-row{display:grid;grid-template-columns:1fr 1.1fr 1.6fr;gap:3rem;border-top:1px solid var(--rule);padding:2.2rem 0}.work-row .eyebrow{color:var(--muted);padding-top:.25rem}.work-row h3{font-size:1.8rem}.work-row>p:last-child{color:var(--muted)}.installation{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding-block:4rem}.installation .eyebrow{color:var(--accent)}.installation h2{font-size:clamp(2.8rem,5.6vw,5.6rem);margin:1.5rem 0 2rem}.installation>p:last-child{margin-left:auto;max-width:550px;color:var(--muted);font-size:1.0625rem}.founder{margin-top:4rem}.monogram{font-size:4.8rem;line-height:1;letter-spacing:-.08em;display:block;margin-bottom:1.6rem}.monogram span{color:var(--accent)}.founder p{font-size:.875rem;color:var(--muted)}.founder strong{font-size:1.0625rem;font-weight:500;color:var(--ink)}.boundaries{margin-top:2rem}.boundaries h3{font-size:1.4rem;margin-bottom:1rem}.boundaries p{color:var(--muted)}.contact{background:var(--dark);color:var(--paper);padding-block:clamp(4rem,7vw,7rem)}.contact .eyebrow{color:var(--orange)}.contact h2{font-size:clamp(3.4rem,8.5vw,8.5rem);margin:2rem 0 3rem}.contact-bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:7rem;align-items:end}.contact-bottom p{color:#c2cec5;font-size:1.0625rem;max-width:550px}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.light:hover{background:var(--orange);border-color:var(--orange)}address{font-style:normal;display:flex;align-items:flex-start;flex-direction:column;gap:.7rem}address span{font-size:.75rem;color:#c2cec5}address span:first-child{letter-spacing:.1em;margin-bottom:.5rem}address span:last-child{margin-top:1rem}address a{font-size:clamp(1rem,1.8vw,1.6rem);overflow-wrap:anywhere}.contact a:hover{color:var(--orange)}.contact .button:hover{color:var(--ink)}.footer{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-block:2.5rem}.footer p,.footer>a:last-child{font-size:.75rem;color:var(--muted)}.skip-link{position:absolute;left:1rem;top:-100px;padding:1rem;background:var(--ink);color:white;z-index:10}.skip-link:focus{top:1rem}
@media(min-width:1600px){.installation{border-inline:1px solid var(--rule)}}
@media(max-width:900px){.site-header nav{gap:1.2rem}.split{grid-template-columns:1fr 2fr;gap:2rem}.two-col{grid-template-columns:1fr;gap:1.2rem}.capabilities{gap:0 2rem}.process{grid-template-columns:1fr 1fr;gap:2.5rem}.work-row{grid-template-columns:1fr 2fr;gap:1.5rem}.work-row .eyebrow{grid-column:1/-1}.contact-bottom{gap:3rem}.context-note{gap:3rem}}
@media(max-width:640px){html{scroll-padding-top:1rem}.site-header{min-height:88px;flex-wrap:wrap;gap:0;padding-block:1.25rem}.brand{font-size:1.45rem}.site-header nav{width:100%;display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;padding-top:1.25rem}.site-header nav a{font-size:.875rem}.menu-toggle:not([hidden]){display:block}.site-header nav.is-collapsed{display:none}.hero{padding-top:3rem}h1{font-size:clamp(2.75rem,9.8vw,4rem);margin-top:1.8rem}.hero-bottom{display:block}.hero-intro{font-size:1rem}.split{grid-template-columns:1fr;gap:1.7rem}.section-heading{margin-bottom:2.5rem}.section-label{padding:0}.prose{font-size:1rem}.statement h2{font-size:clamp(2.5rem,9.2vw,3.8rem)}.statement p:last-child{margin-left:0}.capabilities{grid-template-columns:1fr 1fr;gap:0 1.5rem}.capabilities h3{font-size:1.25rem;line-height:1.2}.capabilities p{font-size:.9375rem}.item-number{margin-bottom:1.25rem}.process{gap:2rem 1.5rem}.process h3{font-size:1.3rem}.process p{font-size:.9375rem}.context-note{grid-template-columns:1fr;gap:1.5rem;margin-top:3rem}.work-row{grid-template-columns:1fr;gap:1rem}.work-row h3{font-size:1.65rem}.work-row h3 br{display:none}.installation{padding-block:3rem}.installation>p:last-child{margin-left:0}.founder{margin-top:2rem}.monogram{font-size:3.5rem}.contact-bottom{grid-template-columns:1fr;gap:3rem}.contact h2{font-size:clamp(3rem,11vw,4.4rem)}address a{font-size:1.25rem}.footer{flex-wrap:wrap;gap:1.5rem}.footer .brand{width:100%}.footer p{font-size:.6875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{body{background:white;color:black}.site-header nav,.menu-toggle,.button,.footer>a:last-child{display:none!important}.section,.statement,.contact{padding-block:2rem}.statement,.contact,.approach{background:white;color:black}.statement h2 span,.contact .eyebrow,.contact p,address span{color:black}.hero h1{font-size:3rem}.contact h2{font-size:3rem}a{color:black}article,.process li{break-inside:avoid}}

/* Opening: introduction, relationship promise, then one action. */
.hero{padding-bottom:clamp(3rem,6vw,6rem);border-bottom:1px solid var(--rule)}
.hero-note{margin-top:1rem;color:var(--accent);font-size:1rem;font-weight:500;line-height:1.6}

/* A quiet transition into the approach, separate from the contact action. */
.hero{padding-bottom:0}
.hero-explore{display:flex;justify-content:flex-end;border-top:1px solid var(--rule);margin-top:clamp(2.5rem,5vw,4rem);padding-block:1.2rem}
.hero-explore a{display:inline-flex;align-items:center;gap:1.5rem;min-height:44px;font-size:.875rem;text-decoration:none}
.hero-explore a span{font-size:1.25rem}
@media print{.hero-explore{display:none}}

/* Continuity takeaway: quiet benefits with one accented conclusion. */
.underlined-note{color:var(--muted);font-weight:400}
.underlined-note span{color:var(--accent)}

/* Keep the continuity takeaway connected to the statement that follows. */
#continuity{padding-bottom:clamp(2.5rem,4vw,4rem)}
#continuity + .statement{padding-top:clamp(2.5rem,4vw,4rem)}

/* Carry the continuity benefits into its concluding statement. */
.statement-takeaway{color:#c2cec5;font-size:.9375rem;font-weight:400;line-height:1.6;max-width:none}
.statement-takeaway span{color:var(--orange)}

/* Separate scope from its practical consequence without changing emphasis. */
.capabilities p + p{margin-top:.85rem}

/* One practical example connects the wider responsibility to a transition. */
.work-row > div{color:var(--muted)}
.work-row > div p + p{margin-top:1.25rem}

/* Give the longer service descriptions comfortable line lengths on phones. */
@media(max-width:640px){.capabilities{grid-template-columns:1fr}.capabilities p{max-width:65ch}.capabilities article{padding-bottom:2rem}.capabilities .item-number{margin-bottom:1rem}}
/* Alternative desktop composition. Mobile styles stay unchanged. */
@media(min-width:901px){
 :root{--gutter:3rem}
 .wrap{max-width:1120px}
 .site-header{min-height:100px}
 .hero{padding-top:4.5rem}
 h1{font-size:clamp(3.6rem,5.4vw,5rem);max-width:950px;line-height:1.08}
 h2{font-size:3.25rem;line-height:1.12}
 .hero-intro{font-size:1.2rem;max-width:680px}
 .section{padding-block:5rem}
 .split{grid-template-columns:1fr;gap:1.5rem}
 .section-label{padding-top:0}
 .eyebrow{font-size:.8125rem}
 .two-col{grid-template-columns:1fr;gap:1.25rem;max-width:760px}
 .prose,.intro,.installation>p:last-child,.contact-bottom p{font-size:1.125rem;line-height:1.75}
 .section-heading{margin-bottom:2.75rem}
 .intro{max-width:760px}
 .statement h2{font-size:4.8rem;line-height:1.1}
 .statement p:last-child{margin-left:0;font-size:1.125rem}
 .capabilities{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem}
 .capabilities p{max-width:none;font-size:1.0625rem;line-height:1.75}
 .capabilities h3{font-size:1.65rem}
 .item-number{font-size:.875rem;margin-bottom:1rem}
 .process{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 3rem}
 .process p{font-size:1.0625rem;line-height:1.75}
 .step{margin-bottom:1rem}
 .context-note{grid-template-columns:1fr;gap:1.25rem;margin-top:3rem}
 .context-note h3{max-width:35ch;font-size:2.25rem}
 .context-note p{font-size:1.125rem;max-width:760px;line-height:1.75}
 .work-row{grid-template-columns:1fr;gap:1.25rem}
 .work-row h3{font-size:2rem}
 .work-row>div{max-width:760px;font-size:1.125rem;line-height:1.75}
 .work-row h3 br{display:none}
 .installation h2{font-size:4rem}
 .installation>p:last-child{margin-left:0;max-width:760px}
 .founder{display:flex;align-items:center;gap:2rem;margin-top:2rem}
 .monogram{font-size:3.5rem;margin-bottom:0}
 #about .prose{max-width:760px}
 #about h2{margin-top:1rem}
 .contact h2{font-size:5.5rem}
 .contact-bottom{grid-template-columns:1fr;gap:2.5rem}
 .contact-bottom p{max-width:760px}
 address a{font-size:1.35rem}
 .footer p,.footer>a:last-child{font-size:.875rem}
}
/* Preview refinement: consistent reading size and softer contact actions. */
.hero-explore{justify-content:flex-start}
.button{border-radius:.6rem}
@media(min-width:901px){
 .hero-note,.button,.hero-explore a,.site-header nav,
 .prose,.intro,.capabilities p,.process p,.context-note p,
 .work-row>div,.installation>p:last-child,.statement p:last-child,
 .contact-bottom p,.founder p,.founder strong,
 .footer p,.footer>a:last-child,address a{font-size:1.2rem}
 address span:last-child{font-size:1.2rem}
 .contact h2{font-size:clamp(3.25rem,4.5vw,4.25rem);line-height:1.1}
}
@media(max-width:900px){
 .hero-note,.button,.hero-explore a{font-size:1.125rem}
}
@media(max-width:640px){
 .hero-note,.button,.hero-explore a,.site-header nav a,
 .capabilities p,.process p,.founder p,.founder strong,
 .footer p,.footer>a:last-child{font-size:1rem}
}

/* Small step labels need stronger contrast on the pale green surface. */
.approach .step{color:#a83c1c}
.contact a:focus-visible{outline-color:var(--orange)}

/* Keep enlarged text and keyboard controls usable. */
h1,h2,h3,p,a{overflow-wrap:anywhere}
.split>*,.work-row>*,.contact-bottom>*{min-width:0}
.site-header{flex-wrap:wrap}
.site-header nav{flex-wrap:wrap}
.footer>a:last-child{display:inline-flex;align-items:center;min-height:44px}
address a{display:inline-flex;align-items:center;min-height:44px}
