@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{--paper:#f8f5ed;--white:#fffdf7;--ink:#142d2c;--dark:#132f2e;--deep:#0c2221;--gold:#f7bd68;--muted:#4c615c;--line:#d7dcd3;--heading:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:Inter,system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 var(--body)}
img{display:block;width:100%;height:auto;object-fit:cover}
figure,p,h1,h2,h3{margin:0}
a{color:inherit;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{touch-action:manipulation}
:focus-visible{outline:3px solid #a3540c;outline-offset:4px}
.hero :focus-visible,.header :focus-visible,.closing :focus-visible,.footer :focus-visible{outline-color:#ffdc9c}
.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.narrow{max-width:790px;margin-inline:auto}
.skip{position:absolute;left:1rem;top:-10rem;z-index:5;background:var(--gold);color:var(--deep);padding:.7rem 1rem}
.skip:focus{top:1rem}
.header{background:var(--deep);color:var(--white);border-bottom:1px solid #ffffff25}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:82px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:700 1.3rem/.96 var(--heading);letter-spacing:.01em}
.brand img{width:51px;height:51px;object-fit:cover;border-radius:3px}
.brand small{font-size:.75em}
.header nav{display:flex;gap:clamp(1rem,3vw,2.7rem);align-items:center;flex-wrap:wrap}
.header nav a,.header-call{font-size:.85rem;font-weight:700;text-decoration:none}
.header nav a:hover,.header nav a[aria-current],.header-call{color:var(--gold)}
.header-call{white-space:nowrap;border:1px solid #e3ad62;padding:.55rem .85rem}
.hero{background:var(--dark);color:var(--white);padding:68px 0 74px}
.hero-grid{display:grid;grid-template-columns:1fr 1.06fr;gap:clamp(34px,5vw,76px);align-items:center}
.eyebrow{color:#476454;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.155em;line-height:1.45;margin-bottom:.9rem}
.hero .eyebrow,.closing .eyebrow{color:var(--gold)}
h1,h2,h3{font-family:var(--heading);font-weight:700;line-height:.98;letter-spacing:-.018em}
h1{font-size:clamp(3.05rem,5.6vw,5.1rem)}
h2{font-size:clamp(2.45rem,4.2vw,4.45rem)}
h3{font-size:clamp(1.9rem,2.8vw,2.75rem)}
.lead{margin-top:1.3rem;max-width:39ch;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.62}
.hero .lead{color:#e1e9e0}
.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:1.75rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:1.05rem;background:var(--gold);border:1px solid transparent;border-radius:3px;color:var(--deep);padding:.85rem 1.1rem;font-size:.88rem;font-weight:800;text-decoration:none;min-height:48px;cursor:pointer}
.button:hover{background:#ffd393;border-color:#9b581a}
.button span,.text-link span{font-size:1.15em}
.phone-link{white-space:nowrap;color:var(--white);font-weight:700;font-size:.88rem}
.hero-photo{background:#203c39;position:relative;border-radius:4px;overflow:hidden;border:1px solid #ffffff24}
.hero-photo img{height:clamp(350px,39vw,540px);object-position:center 48%}
.hero-photo figcaption{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,#0a1a19e9);padding:2.2rem 1rem .85rem;color:var(--white);font-size:.74rem;font-weight:600}
.section{padding-block:clamp(48px,7vw,96px)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:1.7rem}
.text-link{font-weight:700;font-size:.86rem;display:inline-block}
.cards,.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.card{background:var(--white);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.card img,.project-grid img{aspect-ratio:16/11}
.card-copy{padding:1.25rem 1.35rem 1.45rem}
.card h3 a{text-decoration:none}
.card p{margin:.65rem 0 1rem;color:var(--muted)}
.project-grid img{border-radius:4px}
.more-projects{margin-top:20px}
.story{padding:clamp(48px,7vw,86px) 0;background:#e8ede3;border-block:1px solid var(--line)}
.story-grid,.detail-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,7vw,90px)}
.story p+p{margin-top:1rem}
.signature{font-size:.85rem;font-weight:700;color:#3c594b}
.closing{background:var(--dark);color:var(--white);padding:clamp(36px,6vw,76px) 0}
.closing-inner{display:flex;gap:25px;align-items:center;justify-content:space-between}
.footer{background:var(--deep);color:#e3eae3;padding:2rem 0;font-size:.83rem}
.footer-inner,.footer-links{display:flex;gap:1.4rem;justify-content:space-between}
.footer-brand{font-weight:700;color:var(--white)}
.page-heading{background:#e8ede3;border-bottom:1px solid var(--line);padding:clamp(44px,6vw,76px) 0}
.page-heading h1{font-size:clamp(3rem,6vw,5.55rem)}
.page-heading .lead{max-width:58ch;color:#3f5851}
.detail-grid{align-items:start}
.detail-photo{aspect-ratio:1.16;border-radius:4px}
.detail-grid p,.extra-services p,.narrow h2+p{margin-top:.85rem}
.service-list{padding-left:1.25em;margin:1.2rem 0 1.65rem}
.service-list li+li{margin-top:.35rem}
.extra-services{max-width:65ch;margin-top:3.5rem}
.extra-services h3{margin-top:1.6rem}
.contact-grid{grid-template-columns:.7fr 1.3fr}
.contact-grid h2+p,.contact-grid p+p,.narrow p+.button{margin-top:1rem}
form{display:grid;gap:1rem;background:var(--white);border:1px solid var(--line);border-radius:4px;padding:clamp(1.15rem,3vw,2rem)}
form label{font-size:.88rem;font-weight:700;display:grid;gap:.33rem}
form :is(input,textarea,select){width:100%;color:var(--ink);background:#fff;border:1px solid #82948a;border-radius:3px;padding:.6rem .65rem;min-height:44px;font-weight:400}
form button{justify-self:start}
.form-note{font-size:.83rem;color:var(--muted)}
.article-list{list-style:none;padding:0;margin:0}
.article-list li{padding:1.1rem 0;border-bottom:1px solid var(--line)}
.article-list a{font-weight:700}
.article-list p{margin-top:.35rem;color:var(--muted)}
.article-body :is(h2,h3),.narrow p+h2{margin-top:1.6rem}
.article-body :is(h2,h3){font-size:2.1rem;line-height:1.15}
.article-body p+p,.article-body h2+p,.article-body h3+p{margin-top:.9rem}
.related-links{background:#e8ede3;border:1px solid var(--line);border-radius:4px;padding:clamp(1rem,3vw,1.8rem);margin-block:0 clamp(2.5rem,6vw,4rem)}
.article-body .related-links{margin-block:2rem 0}
.related-links h2,.article-body .related-links h2{margin:0;font-size:clamp(1.8rem,3vw,2.7rem)}
.related-links ul{padding-left:1.25rem;margin:.85rem 0 0}
.related-links li+li{margin-top:.35rem}
.cabinet-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.cabinet-comparison figure,.cabinet-project{overflow:hidden;border:1px solid var(--line);border-radius:4px;background:var(--white)}
.cabinet-comparison figcaption{padding:.65rem .95rem;font-size:.85rem}
.cabinet-caption{margin-top:1rem;color:var(--muted)}
.cabinet-project{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.cabinet-project>div{padding:clamp(1rem,3vw,2.1rem)}
.cabinet-project h2{font-size:clamp(2.1rem,4vw,3.1rem)}
.cabinet-project p{margin:.65rem 0 .9rem}
@media(max-width:640px){.cabinet-comparison,.cabinet-project{grid-template-columns:1fr;gap:12px}}

@media(max-width:950px){.wrap{width:calc(100% - 64px)}.hero-grid{gap:28px}.hero-photo img{min-height:385px}.header-inner{gap:18px}.header nav{gap:1rem}}
@media(max-width:730px){.wrap{width:calc(100% - 36px)}.header-inner{flex-wrap:wrap;justify-content:space-between;padding:12px 0;gap:12px}.header nav{order:3;width:100%;justify-content:space-between;padding:.5rem 0 0;border-top:1px solid #ffffff27;gap:.75rem}.header nav a{font-size:.76rem}.hero{padding:40px 0 26px}.hero-grid,.story-grid,.detail-grid,.contact-grid{grid-template-columns:1fr;gap:24px}.hero-photo img{height:auto;min-height:0;aspect-ratio:5/4}.hero h1{font-size:clamp(3rem,10vw,4.85rem)}.cards,.project-grid{grid-template-columns:1fr;gap:14px}.card img,.project-grid img{aspect-ratio:16/10}.more-projects{margin-top:14px}.section-heading,.closing-inner,.footer-inner{align-items:start;flex-direction:column}.closing-inner{gap:18px}.section-heading{gap:8px}}
@media(max-width:450px){.brand{gap:8px;font-size:1.14rem}.brand img{width:42px;height:42px}.header-call{padding:.45rem .6rem;font-size:.75rem}.hero h1{font-size:clamp(2.55rem,10.9vw,3.05rem)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
