:root{--stone:#eceae4;--stone2:#dedbd2;--paper:#f7f6f2;--green:#214d04;--green2:#17370a;--moss:#5d7f3c;--ink:#1d211b;--mute:#555b50;--slate:#23282a}
html{scroll-behavior:smooth}
body{font-family:'Newsreader',Georgia,serif;font-size:1.15rem;line-height:1.65;color:var(--ink);background:var(--paper)}
h1,h2,h3,.carved,.brand b{font-family:'Cinzel',Georgia,serif}
.carved{font-weight:700;line-height:1.08;color:#2a2f27;text-shadow:0 1px 0 rgba(255,255,255,.9),0 -1px 0 rgba(0,0,0,.18);letter-spacing:.02em}
.carved.light{color:#e9e8e2;text-shadow:0 1px 0 rgba(0,0,0,.6),0 -1px 0 rgba(255,255,255,.12)}
h2.carved{font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem}
.eyebrow{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.22em;font-size:.85rem;font-weight:700;color:var(--green);margin-bottom:.6rem}
.eyebrow.light{color:#b7cf9c}
.py-section{padding:5rem 0}
.narrow{max-width:50rem}
.intro{max-width:44rem;color:var(--mute)}
/* nav */
.masthead .navbar{background:var(--paper);border-bottom:3px double var(--green);padding:.7rem 0 .2rem}
.brand{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:var(--ink);line-height:1.1}
.brand small{font-family:'Newsreader',serif;font-style:italic;color:var(--moss);font-size:.95rem}
.brand b{font-size:clamp(1.5rem,5vw,2.3rem);font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.brand span{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.35em;font-size:.72rem;color:var(--mute)}
.navbar>.container{align-items:center}
.navbar-toggler{border-color:var(--green);position:absolute;right:.75rem;top:1rem}
.navbar-nav{flex-wrap:wrap;justify-content:center;gap:0 1.2rem}
.nav-link{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.88rem;color:var(--green)!important;padding:.7rem .3rem}
.nav-link:hover{color:var(--ink)!important}
@media(max-width:991px){.brand{padding-right:2.5rem}.navbar-nav{padding-bottom:.6rem}}
/* hero */
.hero{background:linear-gradient(180deg,var(--stone) 0,var(--paper) 100%);padding:4.5rem 0 4rem;overflow:hidden}
.hero h1{font-size:clamp(2.2rem,5.2vw,4rem)}
.hero .lead{font-size:1.3rem;color:var(--mute);max-width:36rem;margin-top:1.2rem}
.cross-wrap{position:relative;max-width:420px;margin:0 auto}
.cross{width:100%;height:auto;mix-blend-mode:multiply;filter:contrast(1.05)}
.seal{position:absolute;left:-6%;bottom:6%;width:104px;height:104px;border-radius:50%;background:var(--green);color:#eef2e6;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:'Cinzel',serif;transform:rotate(-10deg);border:3px double #cfe0b6;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.seal b{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase}.seal i{font-style:normal;font-size:1.5rem;font-weight:900}
.btn{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.14em;font-weight:700;border-radius:2px;padding:.8rem 1.5rem}
.btn-stone{background:var(--green);color:#fff;border:2px solid var(--green)}.btn-stone:hover{background:var(--green2);color:#fff}
.btn-line{border:2px solid var(--green);color:var(--green)}.btn-line:hover{background:var(--green);color:#fff}
/* strip */
.strip{background:var(--slate);color:#e9e8e2;padding:1.6rem 0}
.strip b{display:block;font-family:'Cinzel',serif;font-size:clamp(1.6rem,4vw,2.6rem);color:#fff;text-shadow:0 -1px 0 rgba(255,255,255,.2),0 2px 0 #000}
.strip span{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:#b9bdb4}
/* services */
.index{list-style:none;padding:0;margin:2.5rem 0 0;columns:2;column-gap:3rem}
.index li{break-inside:avoid;border-bottom:1px solid var(--stone2);padding:.85rem 0;font-family:'Cinzel',serif;font-weight:500;font-size:1.2rem;letter-spacing:.03em;display:flex;align-items:center;gap:.8rem}
.index li:before{content:"\2020";color:var(--green);font-size:1.1rem}
@media(max-width:767px){.index{columns:1}}
/* estimate */
.estimate{background:var(--green);color:#eef2e6;padding:4.5rem 0}
.estimate .carved{color:#fff;text-shadow:0 -1px 0 rgba(255,255,255,.2),0 2px 0 rgba(0,0,0,.4)}
.checklist{list-style:none;padding:0;margin:0 0 1.5rem}
.checklist li{padding:.45rem 0 .45rem 1.8rem;border-bottom:1px solid rgba(255,255,255,.18);position:relative}
.checklist li:before{content:"\2713";position:absolute;left:0;color:#b7cf9c;font-weight:700}
.estimate .btn-light{color:var(--green)}
/* faq */
.accordion{--bs-accordion-btn-focus-box-shadow:0 0 0 .2rem rgba(33,77,4,.25);--bs-accordion-active-bg:var(--stone);--bs-accordion-active-color:var(--green2);--bs-accordion-bg:transparent}
.accordion-button{font-family:'Cinzel',serif;font-weight:700;font-size:1.05rem}
/* gallery */
.gallery{background:var(--slate)}
.masonry{columns:3;column-gap:1rem;margin-top:2rem}
.masonry img{width:100%;height:auto;display:block;margin-bottom:1rem;border:6px solid #eceae4;box-shadow:0 8px 20px rgba(0,0,0,.45);break-inside:avoid;background:#000}
@media(max-width:991px){.masonry{columns:2}}
@media(max-width:520px){.masonry{columns:1}}
/* chips */
.chips{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2.5rem}
@media(min-width:768px){.chips{grid-template-columns:repeat(7,1fr)}}
.chip{margin:0;text-align:center}
.chip img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border:3px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.3)}
.chip figcaption{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;margin-top:.5rem;line-height:1.2;color:var(--ink)}
/* locations */
.locations{background:var(--stone)}
.loc{background:var(--paper);border-top:5px solid var(--green);padding:1.6rem;height:100%;box-shadow:0 4px 14px rgba(0,0,0,.08)}
.loc h3{font-size:1.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.loc .who{font-weight:600;margin-bottom:.4rem}
.loc address{margin-bottom:.8rem}
.loc small{color:var(--mute)}
.loc a{color:var(--green);font-weight:600}
.loc .dir{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:.88rem}
.hours{margin:1.5rem 0;font-style:italic;color:var(--mute)}
.map iframe{width:100%;height:380px;border:0;display:block}
/* footer */
.foot{background:var(--green2);color:#d8e2c8;padding:3rem 0 2rem}
.foot a{color:#fff}
.fbrand{font-family:'Cinzel',serif;font-weight:900;font-size:1.8rem;text-transform:uppercase;letter-spacing:.06em;color:#fff;margin:0}
.fbrand span{font-weight:500;font-size:1rem}
.fq{font-style:italic}
.foot .small{font-size:.9rem;color:#b9c8a6}
@media(max-width:575px){.py-section{padding:3.5rem 0}.hero{padding:2.5rem 0}.seal{width:84px;height:84px;left:0}.seal i{font-size:1.2rem}}
