:root{--ink:#171a1a;--paper:#f4f0e8;--white:#fff;--copper:#b85e37;--sage:#647064;--line:rgba(23,26,26,.16);--serif:"Newsreader",Georgia,serif;--sans:"Manrope",Arial,sans-serif;--radius:1.2rem;--shadow:0 18px 60px rgba(23,26,26,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}body.menu-open{overflow:hidden}a{color:inherit}img{display:block;width:100%;height:auto}button,input,textarea{font:inherit}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:100;background:#fff;padding:.8rem 1rem}.skip-link:focus{top:1rem}.site-header{height:86px;padding:0 clamp(1rem,4vw,4rem);display:flex;align-items:center;justify-content:space-between;background:rgba(244,240,232,.93);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;line-height:1}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--paper);font:600 1.7rem var(--serif)}.brand strong{display:block;letter-spacing:.12em;font-size:1.05rem}.brand small{display:block;margin-top:.38rem;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.site-nav{display:flex;align-items:center;gap:clamp(.9rem,1.7vw,1.7rem)}.site-nav a{text-decoration:none;font-weight:600;font-size:.82rem}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--copper)}.nav-contact{border:1px solid var(--ink);padding:.65rem 1rem;border-radius:999px}.menu-button{display:none;border:0;background:transparent;padding:.6rem}.menu-button span{display:block;width:24px;height:2px;background:var(--ink);margin:4px}.menu-button b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hero{min-height:calc(100svh - 86px);position:relative;display:grid;align-items:end;overflow:hidden;background:var(--ink);color:#fff}.hero-media{position:absolute;inset:0}.hero-media img{height:100%;object-fit:cover;opacity:.68}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,16,16,.86) 0%,rgba(14,16,16,.35) 60%,rgba(14,16,16,.18)),linear-gradient(0deg,rgba(14,16,16,.52),transparent 55%)}.hero-content{position:relative;z-index:1;width:min(1280px,100%);padding:clamp(4rem,8vw,8rem) clamp(1.2rem,6vw,6rem)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:700;margin:0 0 1rem}.hero h1,.page-hero h1,.section-title,.footer-lead h2{font-family:var(--serif);font-weight:500;letter-spacing:-.025em;line-height:.98}.hero h1{font-size:clamp(3.5rem,9vw,8.7rem);max-width:1000px;margin:0}.hero h1 em{color:#e49970;font-style:normal}.hero-copy{max-width:620px;font-size:clamp(1.05rem,1.7vw,1.35rem);margin:1.7rem 0 2rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:999px;background:var(--copper);color:#fff;text-decoration:none;font-weight:700;padding:.9rem 1.3rem;cursor:pointer}.button:hover{filter:brightness(.94)}.button.secondary{background:transparent;border-color:currentColor;margin-left:.55rem}.button.light{background:var(--paper);color:var(--ink)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);color:#fff}.stat{padding:clamp(1.6rem,4vw,3rem);border-right:1px solid rgba(255,255,255,.16)}.stat:last-child{border:0}.stat strong{font:500 clamp(2rem,5vw,4rem) var(--serif);display:block}.stat span{color:rgba(255,255,255,.7);font-size:.85rem}.section{padding:clamp(4.5rem,9vw,9rem) clamp(1.2rem,6vw,6rem)}.section-inner{max-width:1380px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem}.section-title{font-size:clamp(2.8rem,6vw,5.8rem);margin:0;max-width:900px}.section-intro{max-width:620px;font-size:1.12rem}.services{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.service-card{position:relative;min-height:520px;border-radius:var(--radius);overflow:hidden;color:#fff;text-decoration:none;background:#333}.service-card img{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .6s ease}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,10,.78),transparent 65%)}.service-card:hover img{transform:scale(1.035)}.service-card div{position:absolute;z-index:1;left:clamp(1.4rem,3vw,2.7rem);bottom:clamp(1.4rem,3vw,2.7rem)}.service-card small{font-weight:700;letter-spacing:.12em;text-transform:uppercase}.service-card h3{font:500 clamp(2.1rem,4vw,3.8rem) var(--serif);margin:.2rem 0 0;line-height:1}.about-panel{display:grid;grid-template-columns:1.05fr .95fr;background:#d9d3c7;border-radius:var(--radius);overflow:hidden}.about-panel img{height:100%;min-height:600px;object-fit:cover}.about-copy{padding:clamp(2rem,6vw,6rem);align-self:center}.about-copy h2{font:500 clamp(2.6rem,5vw,5rem) var(--serif);line-height:1;margin:.3rem 0 1.5rem}.about-copy p{font-size:1.06rem}.reviews{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.review{background:#fff;padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius)}.review:before{content:"“";display:block;font:600 4rem var(--serif);color:var(--copper);line-height:.6}.review blockquote{margin:1.5rem 0;font-family:var(--serif);font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.45}.review cite{font-style:normal;font-weight:700}
.page-hero{padding:clamp(4rem,9vw,9rem) clamp(1.2rem,6vw,6rem);background:var(--ink);color:#fff;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,7vw,8rem);align-items:end}.page-hero h1{font-size:clamp(3.5rem,8vw,8rem);margin:0}.page-hero p{max-width:580px;font-size:1.15rem;color:rgba(255,255,255,.75)}.page-hero-image{margin:0 clamp(1.2rem,6vw,6rem);height:min(62vw,720px);transform:translateY(-2.5rem);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.page-hero-image img{height:100%;object-fit:cover}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.gallery-item{border:0;padding:0;background:#ddd;border-radius:.7rem;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3}.gallery-item:nth-child(7n+1){grid-column:span 2;grid-row:span 2}.gallery-item img{height:100%;object-fit:cover;transition:transform .35s}.gallery-item:hover img{transform:scale(1.025)}.gallery-more{text-align:center;margin-top:2rem}.lightbox{border:0;padding:0;background:transparent;width:min(94vw,1400px);max-width:none}.lightbox::backdrop{background:rgba(8,10,10,.92)}.lightbox img{max-height:88vh;object-fit:contain}.lightbox button{position:fixed;right:1.5rem;top:1rem;border:0;background:transparent;color:#fff;font-size:3rem;cursor:pointer}.prose-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(2rem,8vw,10rem)}.prose-grid h2{font:500 clamp(2.8rem,6vw,6rem) var(--serif);line-height:1;margin:0}.prose-grid p{font-size:clamp(1.05rem,1.6vw,1.25rem);margin:0 0 1.4rem}.faq-list{max-width:1050px;margin:auto}.faq-list details{border-top:1px solid var(--line);padding:1.1rem 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;list-style:none;font:500 clamp(1.2rem,2vw,1.55rem) var(--serif);display:flex;justify-content:space-between;gap:2rem}.faq-list summary:after{content:"+";font-family:var(--sans);color:var(--copper)}.faq-list details[open] summary:after{content:"−"}.faq-list details p{max-width:860px;color:#4a4e4d}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:1rem}.contact-card,.contact-form{border-radius:var(--radius);padding:clamp(1.5rem,4vw,3.5rem)}.contact-card{background:var(--ink);color:#fff}.contact-card h2,.contact-form h2{font:500 clamp(2.4rem,4vw,4rem) var(--serif);line-height:1;margin:.5rem 0 2rem}.contact-card a{color:#e9a27b}.contact-form{background:#fff}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{margin-bottom:1rem}.field label{display:block;font-size:.82rem;font-weight:700;margin-bottom:.35rem}.field input,.field textarea{width:100%;border:1px solid #c8c5bd;background:#faf9f6;border-radius:.55rem;padding:.85rem}.field textarea{min-height:150px;resize:vertical}.form-note{font-size:.78rem;color:#666}.site-footer{background:var(--ink);color:#fff;padding:clamp(4rem,8vw,8rem) clamp(1.2rem,6vw,6rem) 2rem}.footer-lead{max-width:1150px;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:4rem}.footer-lead h2{font-size:clamp(3rem,7vw,7rem);margin:.5rem 0 2rem}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:2rem;padding:3rem 0}.footer-grid p{color:rgba(255,255,255,.65)}.footer-grid a{text-decoration:none}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.16);padding-top:1.5rem;font-size:.76rem;color:rgba(255,255,255,.6)}
@media(max-width:1000px){.menu-button{display:block}.site-nav{position:fixed;inset:86px 0 0;background:var(--paper);display:flex;flex-direction:column;align-items:stretch;padding:2rem;transform:translateX(100%);transition:transform .3s}.site-nav.open{transform:none}.site-nav a{font:500 1.8rem var(--serif);padding:.4rem}.nav-contact{border:0}.page-hero,.prose-grid,.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.hero h1{font-size:clamp(3.2rem,16vw,5.7rem)}.button.secondary{margin:.6rem 0 0}.stats{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.services,.reviews{grid-template-columns:1fr}.service-card{min-height:420px}.section-head{display:block}.about-panel{grid-template-columns:1fr}.about-panel img{min-height:360px}.gallery{grid-template-columns:repeat(2,1fr)}.gallery-item:nth-child(7n+1){grid-column:span 2}.page-hero-image{height:72vw}.field-row,.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin:.3rem 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.gallery-item.is-hidden{display:none}
.brand-logo{display:block;width:128px;height:56px;object-fit:contain}
.review-link{display:block;color:inherit;text-decoration:none;transition:transform .25s,box-shadow .25s}.review-link:hover,.review-link:focus-visible{transform:translateY(-4px);box-shadow:var(--shadow)}.reviews-more{margin-top:2rem;text-align:center}
@media(max-width:1000px){.site-header{backdrop-filter:none;background:var(--paper)}.brand-logo{width:108px;height:50px}.site-nav{position:fixed;inset:86px 0 0;z-index:100;min-height:calc(100dvh - 86px);overflow-y:auto;background:var(--ink);color:var(--white);padding:clamp(1.6rem,7vw,4rem);box-shadow:0 24px 70px rgba(0,0,0,.35)}.site-nav a{padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.14)}.site-nav a:hover,.site-nav a[aria-current=page]{color:#e9a27b}.nav-contact{border:0}.menu-button{position:relative;z-index:101}}
@media(max-width:1000px){html,body{max-width:100%;overflow-x:hidden}.site-header{width:100%;min-width:0;padding:0 1rem}.brand{flex:0 0 auto;min-width:0}.menu-button{display:grid!important;place-content:center;flex:0 0 48px;width:48px;height:48px;margin-left:auto;border-radius:50%;background:var(--ink)}.menu-button span{background:var(--white)}.hero-content{min-width:0;max-width:100%}.hero h1{max-width:100%;overflow-wrap:break-word}}
.menu-button span{transition:transform .2s,opacity .2s}.menu-open .menu-button span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-open .menu-button span:nth-child(2){opacity:0}.menu-open .menu-button span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
