:root{--bp:#14325a;--bp2:#0e2444;--paper:#f4efe4;--tan:#c9954a;--ink:#14202e;--line:rgba(255,255,255,.14)}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{font-family:'Work Sans',system-ui,sans-serif;background:var(--paper);color:var(--ink);font-size:1.04rem;line-height:1.7}
h1,h2,h3,h4,.slab{font-family:'Zilla Slab',Georgia,serif;font-weight:700;line-height:1.08}
.mono{font-family:'DM Mono',monospace;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase}
a{color:inherit}
/* nav */
.nav-pcb{background:var(--bp2);padding:.7rem 0 .4rem;border-bottom:3px solid var(--tan)}
.nav-pcb .navbar-brand{display:block;text-align:center;color:#fff;margin:0;line-height:1;font-family:'Zilla Slab',serif;font-weight:700;font-size:1.7rem;letter-spacing:.04em;text-transform:uppercase}
.nav-pcb .navbar-brand small{display:block;font-family:'DM Mono',monospace;font-weight:400;font-size:.62rem;letter-spacing:.24em;color:var(--tan);margin-top:.3rem}
.nav-pcb .nav-link{color:rgba(255,255,255,.85);font-family:'DM Mono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:.5rem .8rem}
.nav-pcb .nav-link:hover{color:var(--tan)}
.nav-pcb .navbar-toggler{border-color:rgba(255,255,255,.4)}
.nav-pcb .navbar-toggler-icon{filter:invert(1)}
.brand-row{width:100%;position:relative}
@media(max-width:991px){.brand-row{display:flex;align-items:center;justify-content:space-between}.nav-pcb .navbar-brand{text-align:left;font-size:.98rem;line-height:1.15;max-width:calc(100% - 64px);letter-spacing:.02em}.nav-pcb .navbar-brand small{display:none}}
/* ruler */
.ruler{height:26px;background:
 repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 12px) bottom/100% 10px no-repeat,
 repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 60px) bottom/100% 20px no-repeat,
 var(--tan);opacity:.95}
.ruler.dark{background:
 repeating-linear-gradient(90deg,var(--bp2) 0 2px,transparent 2px 12px) bottom/100% 10px no-repeat,
 repeating-linear-gradient(90deg,var(--bp2) 0 2px,transparent 2px 60px) bottom/100% 20px no-repeat,var(--tan)}
/* hero */
.hero{background:var(--bp);color:#fff;position:relative;padding:3rem 0 3.4rem;
 background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:44px 44px}
.hero h1{font-size:clamp(2.5rem,5.4vw,4.4rem);color:#fff}
.hero h1 em{font-style:normal;color:var(--tan)}
.hero .sub{font-size:1.15rem;color:rgba(255,255,255,.88);max-width:34rem;margin:1.1rem 0 1.8rem}
.hero .since{display:inline-block;border:1px solid var(--tan);color:var(--tan);padding:.25rem .8rem;margin-bottom:1.2rem}
.hero-photo{position:relative}
.hero-photo img{width:100%;height:auto;max-height:min(66vh,480px);object-fit:cover;object-position:50% 60%;border-radius:3px;border:6px solid var(--paper);display:block}
.hero-photo .dim{position:absolute;left:-1px;bottom:-30px;background:var(--bp2);color:var(--tan);padding:.3rem .8rem;font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.14em}
.btn-pcb{background:var(--tan);color:var(--ink);font-family:'DM Mono',monospace;font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;border:2px solid var(--tan);border-radius:2px;padding:.9rem 1.5rem;transition:.2s;text-decoration:none;display:inline-block}
.btn-pcb:hover{background:#fff;border-color:#fff;color:var(--ink)}
.btn-line{background:transparent;color:#fff;font-family:'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;border:2px solid rgba(255,255,255,.45);border-radius:2px;padding:.9rem 1.5rem;text-decoration:none;display:inline-block;transition:.2s}
.btn-line:hover{border-color:var(--tan);color:var(--tan)}
/* sections */
section{padding:84px 0}
@media(max-width:767px){section{padding:56px 0}}
.eyebrow{color:var(--tan);margin-bottom:.6rem;display:block}
.on-paper .eyebrow{color:#8a5b17}
h2{font-size:clamp(2rem,4vw,3.1rem);margin-bottom:1rem}
.lead-in{max-width:44rem}
.about-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;display:block}
.stats{display:flex;flex-wrap:wrap;gap:2rem 3rem;margin-top:1.8rem;border-top:1px solid rgba(20,32,46,.2);padding-top:1.4rem}
.stats b{display:block;font-family:'Zilla Slab',serif;font-size:2.4rem;color:var(--bp);line-height:1}
.stats span{font-size:.85rem}
/* services */
.dark-s{background:var(--bp2);color:#fff}
.svc{border-top:2px solid var(--tan);padding-top:1rem;height:100%}
.svc h3{font-size:1.5rem;margin-bottom:.4rem}
.svc p{color:rgba(255,255,255,.78);font-size:.96rem;margin:0}
/* gallery */
.shot{margin:0;position:relative;overflow:hidden;border-radius:3px;background:#ddd}
.shot img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .5s}
.shot:hover img{transform:scale(1.03)}
.shot figcaption{position:absolute;left:0;bottom:0;background:var(--bp2);color:#fff;padding:.25rem .7rem;font-family:'DM Mono',monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}
.g-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.6rem}
/* process */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;border:1px solid rgba(255,255,255,.25)}
.steps div{padding:1.1rem 1rem;border-right:1px solid rgba(255,255,255,.25);position:relative}
.steps div:last-child{border-right:0}
.steps b{font-family:'DM Mono',monospace;color:var(--tan);font-weight:500;font-size:.78rem;display:block;margin-bottom:.4rem;letter-spacing:.12em}
.steps span{font-family:'Zilla Slab',serif;font-size:1.2rem;font-weight:700}
@media(max-width:767px){.steps div{border-right:0;border-bottom:1px solid rgba(255,255,255,.25)}}
.feat{border-left:3px solid var(--tan);padding:.2rem 0 .2rem 1rem;height:100%}
.feat h4{font-size:1.15rem;margin:0 0 .2rem}
.feat p{margin:0;font-size:.93rem;color:#3b4654}
/* doors */
.doors{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1rem}
.doors figure{margin:0;background:#fff;padding:.7rem;border:1px solid rgba(20,32,46,.15);text-align:center}
.doors img{width:100%;aspect-ratio:3/4;object-fit:contain;display:block}
.doors figcaption{font-family:'DM Mono',monospace;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;margin-top:.5rem}
/* before after */
.ba{border-top:1px solid rgba(20,32,46,.25);padding:1.4rem 0}
.ba h3{font-size:1.4rem}
.ba .tag{color:#8a5b17}
.ba p{margin:.3rem 0 0;font-size:.97rem}
/* testimonials */
.quote{background:#fff;border-left:4px solid var(--tan);padding:1.6rem 1.6rem 1.3rem;height:100%}
.quote p{font-family:'Zilla Slab',serif;font-size:1.12rem;line-height:1.5;margin:0 0 .9rem}
.quote cite{font-style:normal;color:#8a5b17}
/* contact */
.contact{background:var(--bp);color:#fff;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:44px 44px}
.contact a{color:var(--tan)}
.contact .big{font-family:'Zilla Slab',serif;font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:700;display:block;text-decoration:none;color:#fff}
.contact .big:hover{color:var(--tan)}
.map iframe{width:100%;height:100%;min-height:340px;border:0;border-radius:3px;filter:grayscale(.3)}
footer{background:var(--bp2);color:rgba(255,255,255,.7);padding:1.8rem 0;font-size:.88rem}
footer a{color:var(--tan)}
.sec-kitchen{background:#fff}
@media(max-width:575px){.hero .sub{font-size:1.02rem}.btn-pcb,.btn-line{padding:.8rem 1.1rem}.hero-photo .dim{display:none}}
body{overflow-x:hidden}
