@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600&family=Special+Elite&display=swap');

:root{--ink:#111;--paper:#f4f1e9;--white:#fff;--line:rgba(17,17,17,.23);--pad:clamp(1.25rem,5vw,5.5rem)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}
a{color:inherit}
.nav{min-height:86px;padding:1rem var(--pad);display:flex;align-items:center;gap:2rem;border-bottom:1px solid var(--line);position:relative;z-index:5;background:var(--paper)}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;font-family:"Oswald",sans-serif;font-size:1.15rem;text-transform:uppercase;letter-spacing:.08em;line-height:1.1}
.brand small{display:block;font:400 .72rem Arial,sans-serif;letter-spacing:.24em;margin-top:.3rem}
.brand-mark{width:45px;height:52px;display:grid;place-items:center;background:var(--ink);color:white;font:2rem "Special Elite",serif;border:2px solid var(--ink);outline:1px solid var(--paper);outline-offset:-5px}
nav{display:flex;gap:1.6rem;margin-left:auto}nav a,.phone{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;text-decoration:none}.phone{border:1px solid var(--ink);padding:.6rem .9rem}
.hero{min-height:690px;display:grid;grid-template-columns:minmax(420px,1fr) 1fr;border-bottom:1px solid var(--line)}
.hero-art{display:flex;align-items:center;background:var(--paper);min-height:520px;border-right:1px solid var(--line);overflow:hidden}
.hero-art .logo-c{filter:grayscale(1) contrast(1.2)}
.hero-art img{display:block;width:100%;height:auto;object-fit:contain;mix-blend-mode:multiply}
.hero-copy{padding:clamp(3rem,8vw,8rem) var(--pad);display:flex;flex-direction:column;justify-content:center}
.eyebrow{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;font-weight:600;margin:0 0 1.25rem}
h1,h2,h3{font-family:"Oswald",sans-serif;text-transform:uppercase;line-height:.94;margin:0}h1{font-size:clamp(4rem,8vw,8.8rem);letter-spacing:-.045em;max-width:900px}h2{font-size:clamp(2.8rem,5vw,5.5rem);letter-spacing:-.03em}h3{font-size:1.55rem;letter-spacing:.01em}
.lead{font-size:clamp(1.08rem,1.7vw,1.4rem);max-width:660px;margin:2rem 0}.actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.button{display:inline-block;padding:.9rem 1.25rem;text-decoration:none;font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.primary{background:var(--ink);color:white}.secondary{border:1px solid var(--ink)}
.services,.work,.about{padding:clamp(5rem,9vw,9rem) var(--pad)}.section-heading{max-width:950px;margin-bottom:4rem}.section-heading>p:last-child{max-width:700px;font-size:1.15rem}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--line)}.service-grid article{min-height:230px;padding:1.6rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-grid article>span{display:block;font-family:"Special Elite";margin-bottom:3rem}.service-grid article p{max-width:310px}
.service-feature{grid-column:span 3;display:grid;grid-template-columns:auto minmax(260px,1fr) minmax(260px,1.2fr) auto;align-items:center;gap:2rem}.service-feature>span{margin:0!important}.service-feature p{margin:0}.text-link,.back-link{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.09em;font-size:.82rem;font-weight:600;text-underline-offset:.22em}
.work{background:var(--ink);color:white}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#555;border:1px solid #555}.project-card{position:relative;min-height:420px;margin:0;overflow:hidden;background:#191919}.project-card.wide{grid-column:1/-1;min-height:520px}.project-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:grayscale(.72) sepia(.16) saturate(.72) contrast(1.08) brightness(.86);transition:transform .5s ease}.project-card.wide img{object-position:center 52%}.project-card figcaption{position:absolute;inset:auto 0 0;padding:4rem 1.5rem 1.5rem;background:linear-gradient(transparent,rgba(0,0,0,.9));display:flex;flex-direction:column}.project-card b{font:500 1.6rem "Oswald";text-transform:uppercase}.project-card span{color:#d2cec5}.project-card:hover img{transform:scale(1.015)}
.project-card-portrait img{object-position:center 28%}.project-card-pump img{object-position:center 54%}
.project-index .project-card{min-height:540px}.project-link{display:block;color:white;text-decoration:none}.project-caption{position:absolute;inset:auto 0 0;padding:5rem 1.5rem 1.5rem;background:linear-gradient(transparent,rgba(0,0,0,.92));display:flex;flex-direction:column}.project-caption b{font:500 1.8rem "Oswald";text-transform:uppercase}.project-caption>span{color:#d2cec5}.project-caption em{margin-top:.8rem;font:500 .78rem "Oswald";font-style:normal;text-transform:uppercase;letter-spacing:.12em}.project-link:focus-visible{outline:3px solid white;outline-offset:-6px}
.project-page-hero{padding:clamp(5rem,10vw,9rem) var(--pad);border-bottom:1px solid var(--line)}.project-page-hero h1{max-width:1100px}.project-page-hero .lead{max-width:760px}.project-gallery-section{padding:clamp(4rem,8vw,8rem) var(--pad);background:var(--ink);color:white}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#555;border:1px solid #555}.project-gallery figure{margin:0;background:#191919}.project-gallery figure.wide{grid-column:1/-1}.project-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(.72) sepia(.16) saturate(.72) contrast(1.08) brightness(.86)}.project-gallery figure.wide img{aspect-ratio:16/9}.project-gallery .portrait img{object-position:center 28%}.project-gallery figcaption{padding:1.2rem 1.25rem 1.4rem;display:flex;flex-direction:column}.project-gallery b{font:500 1.35rem "Oswald";text-transform:uppercase}.project-gallery span{color:#d2cec5}.project-nav{padding:2rem var(--pad);display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line)}
.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,9rem);border-bottom:1px solid var(--line)}.about-copy{font-size:1.2rem;max-width:650px}.about-copy p:first-child{margin-top:0}
.credentials{padding:clamp(4rem,7vw,6.5rem) var(--pad);display:grid;grid-template-columns:minmax(260px,.75fr) 1.25fr;gap:clamp(2rem,7vw,8rem);align-items:start;border-bottom:1px solid var(--line)}.credentials h2{font-size:clamp(2.5rem,4vw,4.4rem)}.credential-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink)}.credential-list li{position:relative;padding:1.05rem 1rem 1.05rem 2rem;border-bottom:1px solid var(--line);font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.95rem}.credential-list li::before{content:"✦";position:absolute;left:.25rem;top:1.02rem;font-family:serif}.credential-list sub{font-size:.7em;line-height:0}
.contact{background:var(--ink);color:white;padding:clamp(5rem,10vw,10rem) var(--pad)}.contact h2{max-width:1000px;margin-bottom:2.5rem}.light{background:white;color:var(--ink)}.email-link{font-size:1.05rem}
footer{padding:1.5rem var(--pad);display:flex;justify-content:space-between;font-size:.8rem;text-transform:uppercase;letter-spacing:.09em}
.residential-hero{min-height:650px;border-bottom:1px solid var(--line)}.residential-hero-copy{min-height:650px;max-width:1200px;padding:clamp(4rem,8vw,8rem) var(--pad);display:flex;flex-direction:column;justify-content:center}.residential-hero h1{font-size:clamp(3.7rem,7vw,7.5rem)}.residential-intro{padding:clamp(5rem,9vw,9rem) var(--pad);display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(2rem,6vw,7rem);border-bottom:1px solid var(--line)}.residential-intro .eyebrow{grid-column:1/-1;margin-bottom:0}.residential-intro p:last-child{font-size:1.2rem;max-width:680px;margin:0}.residential-grid{grid-template-columns:repeat(2,1fr);margin:0 var(--pad) clamp(5rem,9vw,9rem)}.residential-grid article{min-height:290px}.residential-grid article>span{margin-bottom:4rem}.residential-callout{background:var(--ink);color:white;padding:clamp(5rem,10vw,10rem) var(--pad)}.residential-callout h2{max-width:1000px}.residential-callout>p:not(.eyebrow){font-size:1.2rem;max-width:680px;margin:1.5rem 0 2.5rem}
@media(max-width:820px){.nav nav{display:none}.phone{margin-left:auto}.hero{grid-template-columns:1fr}.hero-art{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.hero-copy{padding-top:4rem;padding-bottom:5rem}h1{font-size:clamp(3.7rem,18vw,6.2rem)}.service-grid{grid-template-columns:1fr 1fr}.service-feature{grid-column:span 2;grid-template-columns:auto 1fr;align-items:start}.service-feature p,.service-feature .text-link{grid-column:2}.project-grid,.project-gallery{grid-template-columns:1fr}.project-card,.project-card.wide,.project-index .project-card{grid-column:auto;min-height:390px}.project-card.wide{min-height:310px}.project-gallery figure.wide{grid-column:auto}.project-gallery figure.wide img{aspect-ratio:4/3}.about,.credentials,.residential-intro{grid-template-columns:1fr}.residential-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.nav{gap:.75rem}.brand{font-size:.9rem}.brand-mark{width:38px;height:44px}.phone{font-size:.7rem;padding:.5rem}.service-grid,.credential-list,.residential-grid{grid-template-columns:1fr}.service-feature{grid-column:auto;display:block}.service-feature>span{margin-bottom:3rem!important}.service-feature p{margin:1rem 0}.actions{align-items:stretch;flex-direction:column}.actions .button,.email-link{text-align:center;width:100%}.email-link{overflow-wrap:anywhere;padding-top:.5rem}footer{gap:1rem;flex-direction:column}}
.pricing-hero{padding:clamp(5rem,10vw,9rem) var(--pad);border-bottom:1px solid var(--line)}.pricing-hero h1{font-size:clamp(4rem,9vw,9rem);max-width:1100px}.pricing-hero .lead{max-width:760px}.pricing-sheet{padding:clamp(4rem,8vw,8rem) var(--pad)}.price-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);border-left:1px solid var(--line)}.price-card{padding:clamp(1.6rem,4vw,3.5rem);border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:330px;display:flex;flex-direction:column}.price-card.featured{background:var(--ink);color:white}.price-label{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:600}.price-amount{font-family:"Oswald",sans-serif;font-size:clamp(4.5rem,9vw,8.5rem);font-weight:500;line-height:.9;letter-spacing:-.05em;margin:2.4rem 0 1.4rem}.price-amount sup{font-size:.28em;letter-spacing:.02em;vertical-align:top;position:relative;top:.45em;margin-left:.12em}.price-card p{max-width:470px;margin-top:auto;font-size:1.08rem}.pricing-details{padding:clamp(4rem,8vw,8rem) var(--pad);display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(2rem,7vw,8rem);border-top:1px solid var(--line)}.pricing-details h2{font-size:clamp(2.7rem,5vw,5rem)}.pricing-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}.pricing-list li{padding:1.25rem 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(150px,.65fr) 1.35fr;gap:1.5rem}.pricing-list b{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.06em}.pricing-note{padding:0 var(--pad) clamp(4rem,8vw,8rem);max-width:980px}.pricing-note p{font-size:.95rem;color:#45433e}.pricing-callout{background:var(--ink);color:white;padding:clamp(5rem,10vw,10rem) var(--pad)}.pricing-callout h2{max-width:1000px;margin-bottom:2.5rem}
@media(max-width:820px){.pricing-details{grid-template-columns:1fr}}
@media(max-width:520px){.price-grid{grid-template-columns:1fr}.price-card{min-height:290px}.pricing-list li{grid-template-columns:1fr;gap:.35rem}}
.welcome-banner{background:var(--ink);color:white;padding:2rem var(--pad);display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid #444}.welcome-banner .eyebrow{margin-bottom:.5rem}.welcome-banner h2{font-size:clamp(2.2rem,4vw,4.2rem)}.welcome-banner p:last-child{margin:.65rem 0 0;color:#d2cec5}.welcome-banner .button{flex:0 0 auto}.welcome-offer{background:var(--ink);color:white;padding:clamp(4rem,8vw,8rem) var(--pad);display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(2rem,8vw,9rem);border-bottom:1px solid #444}.offer-kicker{display:flex;flex-direction:column}.offer-percent{font-family:"Oswald",sans-serif;font-size:clamp(8rem,18vw,18rem);font-weight:600;letter-spacing:-.08em;line-height:.75;margin:auto 0 0}.offer-copy h2{font-size:clamp(3rem,6vw,6.3rem);max-width:780px}.offer-copy .lead{color:#e4dfd4}.offer-terms{list-style:none;margin:2.5rem 0 0;padding:0;border-top:1px solid #595959}.offer-terms li{position:relative;padding:1rem 0 1rem 1.8rem;border-bottom:1px solid #444}.offer-terms li::before{content:"✦";position:absolute;left:0}.offer-expiry{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;margin:2rem 0 0}.welcome-offer:target{scroll-margin-top:1rem}
@media(max-width:820px){.welcome-banner{align-items:flex-start}.welcome-offer{grid-template-columns:1fr}.offer-percent{margin-top:2rem}.offer-copy .lead{margin-bottom:1.5rem}}
@media(max-width:520px){.welcome-banner{align-items:stretch;flex-direction:column}.welcome-banner .button{text-align:center}.offer-percent{font-size:9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep all header links available at narrow widths. */
.nav{flex-wrap:wrap}.nav nav{flex-wrap:wrap;gap:1rem}.nav nav a{font-size:14px}
@media(max-width:1100px){.nav nav{display:flex;order:3;width:100%;margin-left:0;gap:.65rem 1.2rem}.nav .phone{margin-left:auto}}

/* Standalone crop of the exact approved C artwork. */
.approved-logo{display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:644 / 564;flex-shrink:0;background:var(--paper);isolation:isolate}
.approved-logo img{display:block;width:100%;height:auto;filter:url(#logo-paper-match);mix-blend-mode:normal}

#contact{scroll-margin-top:2rem}#contact>p{max-width:42rem}#contact .quote-email{overflow-wrap:anywhere;font-size:1.1rem;user-select:text}#copy-email{cursor:pointer;font-size:1rem}#copy-email[hidden]{display:none}
