/* Chapman's Carpentry: shared styles for inner pages + site header/footer */
html{scroll-behavior:smooth}
body{margin:0;background:#FBF8F2;color:#1B1A17;font-family:'Work Sans',sans-serif;-webkit-font-smoothing:antialiased}
a{color:#1F3B2D}a:hover{color:#7A5E22}
img{max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(20px,5vw,48px);box-sizing:border-box;width:100%}
.serif{font-family:'Libre Caslon Display',serif;font-weight:400}
.eyebrow{font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:#7A5E22;font-weight:500}
.dark .eyebrow{color:#C9A55A}

/* ---------- Header ---------- */
.hdr{position:sticky;top:0;z-index:20;background:#1F3B2D;border-bottom:1px solid rgba(201,165,90,.35)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;padding-bottom:12px}
.logo{text-decoration:none;display:flex;flex:none}
.btn-call{display:inline-flex;align-items:center;background:#F2C94C;color:#1F3B2D;text-decoration:none;font-weight:600;font-size:16px;padding:12px 18px;border-radius:3px;white-space:nowrap;flex:none}
.btn-call:hover{color:#1F3B2D;opacity:.9}
.hdr-right{display:flex;align-items:center;gap:clamp(12px,2.2vw,28px)}
.nav{display:flex;align-items:center;gap:clamp(14px,2vw,26px);font-size:15px;font-weight:500}
.nav>a,.nav summary{color:#F3ECDD;text-decoration:none;cursor:pointer;padding:6px 0;border-bottom:1px solid transparent}
.nav>a:hover,.nav summary:hover,.nav>a[aria-current="page"]{color:#F2C94C;border-bottom-color:#C9A55A}
summary{list-style:none}summary::-webkit-details-marker{display:none}
.nav details{position:relative}
.nav summary::after,.mnav summary::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 0 3px 8px}
.nav details ul{position:absolute;top:calc(100% + 16px);left:-18px;background:#1F3B2D;border:1px solid rgba(201,165,90,.4);list-style:none;margin:0;padding:8px 0;min-width:270px;box-shadow:0 14px 30px rgba(0,0,0,.25)}
.nav details li a{display:block;padding:11px 20px;color:#F3ECDD;text-decoration:none}
.nav details li a:hover,.nav details li a[aria-current="page"]{background:rgba(201,165,90,.14);color:#F2C94C}
.mnav{display:none}
.mnav summary{color:#F3ECDD;font-weight:600;font-size:15px;padding:11px 14px;border:1.5px solid rgba(201,165,90,.7);border-radius:3px;cursor:pointer;white-space:nowrap}
.mnav ul{position:absolute;left:0;right:0;top:100%;background:#1F3B2D;border-bottom:1px solid rgba(201,165,90,.4);list-style:none;margin:0;padding:6px 0 14px;box-shadow:0 14px 30px rgba(0,0,0,.25)}
.mnav li a{display:block;padding:13px clamp(20px,5vw,48px);color:#F3ECDD;text-decoration:none;font-size:17px}
.mnav li a[aria-current="page"]{color:#F2C94C}
.mnav li.sub a{padding-left:calc(clamp(20px,5vw,48px) + 16px);font-size:16px;color:rgba(243,236,221,.85)}
.call-short{display:none}
@media (max-width:980px){.nav{display:none}.mnav{display:block}}
@media (max-width:440px){.call-long{display:none}.call-short{display:inline}.btn-call{padding:11px 14px;font-size:15px}.logo svg{width:28px;height:40px}.logo .lw{font-size:28px!important}}

/* ---------- Hero ---------- */
.hero{background:#1F3B2D;color:#F3ECDD}
.hero .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(32px,5vw,64px);align-items:center;padding-top:clamp(28px,5vw,56px);padding-bottom:clamp(56px,8vw,96px)}
.hero-copy{display:flex;flex-direction:column;gap:22px}
.crumbs{font-size:14px;color:rgba(243,236,221,.7);display:flex;flex-wrap:wrap;gap:8px;padding-bottom:6px}
.crumbs a{color:rgba(243,236,221,.85);text-decoration:underline;text-decoration-color:rgba(201,165,90,.6);text-underline-offset:3px}
.crumbs a:hover{color:#F2C94C}
.hero h1{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:clamp(40px,6vw,72px);line-height:1.02;margin:0;color:#F3ECDD;text-wrap:balance}
.lede{font-family:'Libre Caslon Text',serif;font-style:italic;font-size:clamp(19px,2.2vw,22px);line-height:1.5;margin:0;max-width:540px;text-wrap:pretty}
.ctas{display:flex;flex-wrap:wrap;gap:12px;padding-top:4px}
.btn{display:inline-flex;align-items:center;gap:10px;background:#F2C94C;color:#1F3B2D;text-decoration:none;font-weight:600;font-size:18px;padding:17px 26px;border-radius:3px;white-space:nowrap}
.btn:hover{color:#1F3B2D;opacity:.9}
.btn-ghost{display:inline-flex;align-items:center;background:transparent;color:#F3ECDD;text-decoration:none;font-weight:600;font-size:18px;padding:16px 24px;border-radius:3px;border:1.5px solid #C9A55A;white-space:nowrap}
.btn-ghost:hover{color:#F2C94C}
.note{font-size:15px;color:#C9A55A}
.hero-img{position:relative;aspect-ratio:4/5;max-height:540px;width:100%;outline:1.5px solid #C9A55A;outline-offset:10px}
.hero-img.land{aspect-ratio:4/3}
.hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#E6DCC6}

/* ---------- Sections ---------- */
.sec{padding:clamp(56px,8vw,104px) 0}
.sec.paper{background:#FBF8F2}.sec.cream{background:#F3ECDD}
.sec .wrap{display:flex;flex-direction:column;gap:clamp(28px,4vw,44px)}
.head{display:flex;flex-direction:column;gap:14px;max-width:700px}
.head h2,.prose h2{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:clamp(32px,4.6vw,50px);line-height:1.06;color:#1F3B2D;margin:0;text-wrap:balance}
.head p,.prose p{font-family:'Libre Caslon Text',serif;font-size:19px;line-height:1.65;margin:0;color:#1B1A17;text-wrap:pretty}
.prose{max-width:720px;display:flex;flex-direction:column;gap:18px}
.prose h3{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:28px;line-height:1.15;color:#1F3B2D;margin:14px 0 0}
.prose ul{margin:0;padding-left:1.2em;font-family:'Libre Caslon Text',serif;font-size:18px;line-height:1.65}
.prose li{margin:4px 0}
.prose a{text-underline-offset:3px}
.small{font-size:15px;color:#5A5A52;font-family:'Work Sans',sans-serif!important}

.items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:0 48px;border-top:2px solid #1F3B2D}
.item{display:flex;flex-direction:column;gap:8px;padding:24px 0;border-bottom:1px solid rgba(31,59,45,.2)}
.item h3{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:27px;line-height:1.12;color:#1F3B2D;margin:0}
.item p{font-size:16px;line-height:1.6;margin:0;color:#3A3A34;text-wrap:pretty}
.item a.more{font-weight:600;font-size:15px;text-underline-offset:3px;margin-top:4px}

.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(36px,5vw,72px);align-items:start}

/* ---------- Photos ---------- */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}
.gallery.wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr))}
figure{margin:0;min-width:0;display:flex;flex-direction:column;gap:10px}
.ph{position:relative;min-width:0;width:100%;aspect-ratio:3/4;background:#E6DCC6;overflow:hidden}
.ph.l{aspect-ratio:4/3}.ph.pt{aspect-ratio:3/4}.ph.sq{aspect-ratio:1/1}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px}
.tag{position:absolute;left:8px;top:8px;background:rgba(27,26,23,.78);color:#F3ECDD;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:5px 8px;border-radius:2px;font-weight:500}
figcaption{font-size:15px;line-height:1.5;color:#5A5A52}

/* ---------- Case studies ---------- */
.case{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(24px,4vw,48px);align-items:start;padding:clamp(28px,4vw,40px) 0;border-top:2px solid #1F3B2D}
.case .photos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px}
.case .photos.three{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}
.case h2{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:clamp(28px,3.4vw,38px);line-height:1.1;color:#1F3B2D;margin:0}
.case .txt{display:flex;flex-direction:column;gap:14px}
.case p{font-size:17px;line-height:1.65;margin:0;color:#3A3A34}
.case .svc{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:#7A5E22;font-weight:500}
.case .svc a{color:#7A5E22}

/* ---------- FAQ ---------- */
.faq{display:flex;flex-direction:column;border-top:2px solid #1F3B2D;max-width:820px;min-width:0}
.faq>div{padding:22px 0;border-bottom:1px solid rgba(31,59,45,.2);display:flex;flex-direction:column;gap:8px}
.faq h3{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:25px;line-height:1.18;color:#1F3B2D;margin:0}
.faq p{font-size:16px;line-height:1.65;margin:0;color:#3A3A34;text-wrap:pretty}

/* ---------- Related ---------- */
.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}
.related a{display:flex;flex-direction:column;gap:6px;padding:20px 22px;background:#FBF8F2;border:1px solid rgba(31,59,45,.18);border-radius:3px;text-decoration:none;color:#1B1A17}
.related a:hover{border-color:#C9A55A;color:#1B1A17}
.related strong{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:24px;color:#1F3B2D;line-height:1.15}
.related span{font-size:15px;line-height:1.5;color:#5A5A52}

/* ---------- CTA band ---------- */
.cta{background:#1F3B2D;color:#F3ECDD;padding:clamp(64px,9vw,104px) 0}
.cta .wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px}
.cta h2{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:clamp(34px,5vw,56px);line-height:1.05;margin:0;color:#F3ECDD;text-wrap:balance}
.cta .tel{font-family:'Libre Caslon Display',serif;font-size:clamp(42px,7.5vw,84px);line-height:1;color:#F2C94C;text-decoration:none}
.cta .mail{font-size:clamp(17px,2vw,20px);color:#F3ECDD;text-decoration:underline;text-decoration-color:rgba(201,165,90,.6);text-underline-offset:5px}
.cta .area{font-family:'Libre Caslon Text',serif;font-style:italic;font-size:19px;color:#C9A55A;padding-top:6px}

/* ---------- Footer ---------- */
.ftr{background:#1B1A17;color:rgba(243,236,221,.75);font-size:14px}
.ftr .top{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:28px 40px;padding-top:44px;padding-bottom:32px;border-bottom:1px solid rgba(243,236,221,.12)}
.ftr h2{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#C9A55A;font-weight:500;margin:0 0 12px;font-family:'Work Sans',sans-serif}
.ftr ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.ftr a{color:rgba(243,236,221,.85);text-decoration:none}
.ftr a:hover{color:#F2C94C}
.ftr .bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding-top:22px;padding-bottom:26px}
.ftr .brand{display:flex;flex-direction:column;gap:14px;line-height:1.6}
