:root{--cedar:#8a5a3a;--ink:#1f2a24;--moss:#2f4a3a;--cream:#f6f1e6;--paper:#fffdf8;--line:#d9cdb6;--gold:#c58a2b}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:'Work Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:1.05rem;line-height:1.65}
h1,h2,h3,.brand{font-family:'Fraunces',Georgia,serif;letter-spacing:-.01em}
.navbar{background:rgba(31,42,36,.97);padding:.55rem 0}
.brand{color:#fff!important;font-weight:700;font-size:1.2rem}
.navbar .nav-link{color:#e9e2d0;font-weight:500}.navbar .nav-link:hover{color:var(--gold)}
.navbar-toggler{border-color:#e9e2d0}.navbar-toggler-icon{filter:invert(1)}
.btn-cta{background:var(--gold);color:#1f1a10;font-weight:600;border-radius:3px;padding:.7rem 1.5rem;border:0}
.btn-cta:hover{background:#d9a03e;color:#1f1a10}
.btn-line{border:2px solid var(--moss);color:var(--moss);font-weight:600;border-radius:3px;padding:.62rem 1.4rem}
.btn-line:hover{background:var(--moss);color:#fff}
.hero{background:var(--cream);padding:2.5rem 0 3.5rem;position:relative}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:600;color:var(--cedar)}
.hero h1{font-size:clamp(2.3rem,5vw,3.8rem);line-height:1.05;font-weight:700;color:var(--moss);margin:.5rem 0 1rem}
.hero p.lead{max-width:34rem}
.hero-photo{width:100%;aspect-ratio:4/3;max-height:min(66vh,480px);object-fit:cover;border-radius:4px}
.ruler{height:22px;background:repeating-linear-gradient(90deg,var(--cedar) 0 2px,transparent 2px 12px) bottom/100% 10px no-repeat,repeating-linear-gradient(90deg,var(--cedar) 0 2px,transparent 2px 60px) bottom/100% 22px no-repeat;opacity:.6}
section{padding:4.5rem 0}
h2{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;color:var(--moss)}
.about{background:var(--paper)}
.quote{border-left:4px solid var(--gold);padding-left:1.2rem;font-family:'Fraunces',serif;font-size:1.25rem;color:var(--moss)}
.work{background:var(--ink);color:#e9e2d0}.work h2{color:#fff}
.tile{margin:0}.tile img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:3px;display:block}
.tile.wide img{aspect-ratio:4/5}
.tile figcaption{padding-top:.6rem;font-size:.95rem;color:#cfc6b0}
.how{background:var(--cream)}
.step{border-top:3px solid var(--cedar);padding-top:1rem}
.step .n{font-family:'Fraunces',serif;font-size:2rem;color:var(--cedar)}
.contact{background:var(--moss);color:#f1ecdc}.contact h2{color:#fff}
.contact a{color:#ffd993}
.contact .btn-cta{color:#1f1a10}
.map{border:0;width:100%;height:340px;border-radius:4px}
footer{background:#161d19;color:#b9b19c;padding:1.5rem 0;font-size:.9rem}
footer a{color:#e9e2d0}
@media(max-width:767px){section{padding:3rem 0}.hero{padding-top:1.5rem}}
