/*
Theme Name: The Joinery Denne
Theme URI: https://example.com/
Author: Digital Business Solutions
Description: Bespoke responsive WordPress theme for The Joinery Denne.
Version: 1.9
Text Domain: joinery-denne
*/

:root{--ink:#171915;--forest:#263226;--sage:#73815d;--lime:#a9d42d;--cream:#f5f3ec;--oak:#b99060;--white:#fff;}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:#fff}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;margin:0} p{line-height:1.7}
.wrap{width:min(1180px,92%);margin:auto}
.top{background:#20271f;color:#fff;font-size:12px;letter-spacing:.08em;padding:9px 0;text-align:center}
header{position:absolute;z-index:5;width:100%;padding:18px 0}
.nav{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.96);padding:10px 14px 10px 18px;border-radius:4px}
.brand{display:flex;align-items:center;gap:12px} .brand img{width:74px;height:58px;object-fit:contain} .brand b{font-family:Georgia,serif;font-size:20px;font-weight:400}
nav a{color:#222;text-decoration:none;font-size:13px;margin:0 13px} .quote{background:var(--forest);color:#fff!important;padding:13px 18px}
.hero{min-height:760px;position:relative;display:flex;align-items:flex-end;background-position:center;background-size:cover;background-repeat:no-repeat}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,18,12,.72),rgba(13,18,12,.18) 62%,rgba(0,0,0,.05))}
.hero-content{position:relative;z-index:2;color:#fff;padding-bottom:85px;max-width:720px}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.22em;font-weight:bold;margin-bottom:18px}
.hero h1{font-size:clamp(48px,7vw,88px);line-height:.98} .hero p{font-size:18px;max-width:580px;color:#f0f1ed}
.btn{display:inline-block;text-decoration:none;padding:15px 22px;margin:12px 8px 0 0;background:#fff;color:#1e241d;font-weight:bold;font-size:13px}
.btn.alt{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7)}
.intro{padding:95px 0;background:var(--cream)} .intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
.intro h2{font-size:50px;line-height:1.05} .accent{width:60px;height:3px;background:var(--lime);margin:22px 0}
.services{padding:90px 0} .section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px} .section-head h2{font-size:48px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px} .card{position:relative;height:470px;overflow:hidden;background:#ddd}
.card img{width:100%;height:100%;object-fit:cover;transition:.5s} .card:hover img{transform:scale(1.035)} .shade{position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(8,12,8,.78))}
.card-copy{position:absolute;left:25px;right:25px;bottom:24px;color:#fff} .card h3{font-size:31px} .card p{font-size:13px;margin-bottom:0}
.split{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:var(--forest);color:#fff} .split-img{background-position:center;background-size:cover;background-repeat:no-repeat}
.split-copy{display:flex;align-items:center;padding:70px 9vw 70px 70px} .split-copy h2{font-size:52px;line-height:1.05} .split-copy p{color:#d9ded5}
.gallery{padding:90px 0} .mosaic{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:270px 270px;gap:14px} .mosaic img{width:100%;height:100%;object-fit:cover} .mosaic .big{grid-row:1/3}
.promise{padding:75px 0;background:#eeeae0;text-align:center} .promise h2{font-size:46px} .features{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:45px} .feature span{font-family:Georgia,serif;font-size:28px;color:var(--sage)} .feature h3{font-size:20px;margin:10px 0}
.contact{padding:90px 0} .contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px} .contact h2{font-size:50px}
form{display:grid;grid-template-columns:1fr 1fr;gap:14px} input,select,textarea{width:100%;padding:16px;border:1px solid #d5d5cf;background:#fafaf8;font:inherit} textarea{grid-column:1/3;height:130px} button{border:0;background:var(--forest);color:#fff;padding:16px 22px;font-weight:bold;cursor:pointer}
footer{background:#171b16;color:#d6d9d3;padding:55px 0 30px} footer .brand b{color:#fff} footer img{background:#fff} .foot{display:flex;justify-content:space-between;gap:30px;align-items:center} footer small{opacity:.7}
@media(max-width:800px){nav a:not(.quote){display:none} .brand b{font-size:16px} .hero{min-height:680px} .hero-content{padding-bottom:55px} .intro-grid,.split,.contact-grid{grid-template-columns:1fr;gap:35px} .cards{grid-template-columns:1fr} .card{height:390px} .split-img{min-height:480px} .split-copy{padding:55px 6%} .mosaic{grid-template-columns:1fr 1fr;grid-template-rows:280px 220px} .mosaic .big{grid-column:1/3;grid-row:auto} .features{grid-template-columns:1fr 1fr} form{grid-template-columns:1fr} textarea{grid-column:auto} .foot{align-items:flex-start;flex-direction:column}}

.menu-toggle{display:none;background:var(--forest);color:#fff;border:0;padding:11px 14px;font-size:20px}.desktop-nav ul{display:contents}.desktop-nav li{display:inline-block}.desktop-nav li a{color:#222;text-decoration:none;font-size:13px;margin:0 13px}@media(max-width:800px){.menu-toggle{display:block}.desktop-nav{display:none}.menu-open .desktop-nav{display:flex;position:absolute;left:4%;right:4%;top:90px;background:#fff;flex-direction:column;padding:18px;box-shadow:0 18px 40px rgba(0,0,0,.18)}.menu-open .desktop-nav li{display:block;padding:10px 0}.menu-open .desktop-nav li a{display:block!important;margin:0}.menu-open .desktop-nav .quote{margin-top:8px;text-align:center}}

/* V1.2 SEO area pages */
.area-hero{min-height:570px;display:flex;align-items:flex-end;background:linear-gradient(90deg,rgba(15,23,15,.76),rgba(15,23,15,.25)),url("assets/images/image-1.jpg") center/cover no-repeat;color:#fff}
.area-hero-inner{padding-bottom:75px}.area-hero h1{font-size:clamp(46px,7vw,82px);line-height:1}.area-lead{font-size:18px;max-width:660px}
.area-intro,.area-services,.area-quality{padding:90px 0}.area-intro{background:#f5f3ec}.area-two-col{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px}
.area-two-col h2,.area-services h2,.area-cta h2{font-size:clamp(38px,5vw,56px);line-height:1.05}
.area-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:35px}.area-service-grid a{min-height:185px;padding:30px;background:#f5f3ec;color:#171915;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;border-top:3px solid #73815d}
.area-service-grid a:hover{background:#263226;color:#fff}.area-service-grid strong{font-family:Georgia,serif;font-size:25px;font-weight:400;margin-bottom:10px}.area-service-grid span{font-size:13px;line-height:1.6}
.area-quality{background:#263226;color:#fff}.area-quality p{color:#d9ded5}.area-cta{padding:85px 0;text-align:center;background:#eeeae0}
.areas-hub-hero{padding:180px 0 85px;background:#263226;color:#fff}.areas-hub-hero h1{font-size:clamp(50px,7vw,82px)}
.areas-list-section{padding:90px 0}.areas-list-section h2{font-size:48px}.areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:35px}
.areas-grid a{padding:25px;background:#f5f3ec;color:#171915;text-decoration:none;display:flex;justify-content:space-between;gap:20px;align-items:center}.areas-grid a:hover{background:#263226;color:#fff}.areas-grid span{font-family:Georgia,serif;font-size:21px}
@media(max-width:800px){.area-two-col,.area-service-grid,.areas-grid{grid-template-columns:1fr}.area-two-col{gap:28px}.area-intro,.area-services,.area-quality{padding:65px 0}}

/* V1.4 multi-page site */
.inner-hero{padding:180px 0 90px;background:#263226;color:#fff}.inner-hero h1{font-size:clamp(48px,7vw,82px);line-height:1;max-width:900px}.inner-hero>div>p:last-child{font-family:Georgia,serif;font-size:23px;max-width:650px;color:#dfe5db}
.inner-copy{padding:95px 0;background:#f5f3ec}.inner-copy p{font-size:17px;line-height:1.8}.service-detail{padding:95px 0}.service-detail h2{font-size:clamp(38px,5vw,58px)}
.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ddd8cd;margin-top:45px}.feature-row>div{background:#fff;padding:38px}.feature-row b{color:#73815d;font-size:12px;letter-spacing:.12em}.feature-row h3{font-family:Georgia,serif;font-size:28px;font-weight:400}
.work-grid-section{padding:25px 0 95px;background:#f5f3ec}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.work-grid figure{margin:0;aspect-ratio:4/3;overflow:hidden}.work-grid img{width:100%;height:100%;object-fit:cover;transition:.5s}.work-grid figure:hover img{transform:scale(1.025)}
.contact-page-form{padding:90px 0;background:#f5f3ec}.contact-page-form form{max-width:900px;margin:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-page-form input,.contact-page-form select,.contact-page-form textarea{width:100%;box-sizing:border-box;padding:17px;border:1px solid #d6d3ca;background:#fff;margin-bottom:12px;font:inherit}.contact-page-form button{border:0;cursor:pointer}
@media(max-width:800px){.inner-hero{padding:130px 0 65px}.inner-copy,.service-detail,.contact-page-form{padding:65px 0}.feature-row,.work-grid,.form-grid{grid-template-columns:1fr}}

/* V1.5 premium footer */
.site-footer{background:#172018;color:#eef0e9;margin-top:0}
.footer-cta{background:#a9d42d;color:#172018;padding:68px 0}
.footer-cta-inner{display:flex;justify-content:space-between;align-items:flex-end;gap:45px}
.footer-kicker,.footer-heading{font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;margin:0 0 15px}
.footer-cta h2{font-family:Georgia,serif;font-size:clamp(38px,5vw,62px);line-height:1.02;font-weight:400;margin:0;letter-spacing:-.02em}
.footer-enquire{display:flex;align-items:center;gap:28px;color:#172018;text-decoration:none;border-bottom:1px solid rgba(23,32,24,.45);padding:14px 0;font-size:13px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;white-space:nowrap}
.footer-enquire span{font-size:24px;transition:.2s}.footer-enquire:hover span{transform:translateX(5px)}
.footer-main{display:grid;grid-template-columns:2.1fr 1fr 1.15fr 1.15fr;gap:65px;padding-top:78px;padding-bottom:65px}
.footer-brand{max-width:420px}.footer-logo-lockup{display:flex;align-items:center;gap:15px;margin-bottom:25px}
.footer-logo-lockup img{width:62px;height:62px;object-fit:cover;border-radius:50%}
.footer-logo-lockup strong{font-family:Georgia,serif;font-size:23px;font-weight:400;display:block}.footer-logo-lockup span{font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:#a9d42d}
.footer-brand>p{color:#b9c1b6;line-height:1.75;font-size:14px;max-width:370px}.footer-rule{height:1px;background:rgba(255,255,255,.12);margin:27px 0 18px}.footer-brand small{color:#778275;font-size:10px;letter-spacing:.06em}
.footer-heading{color:#a9d42d;margin-bottom:23px}.footer-col{display:flex;flex-direction:column;align-items:flex-start}.footer-col a{color:#c7cec4;text-decoration:none;font-size:13px;margin:0 0 13px;transition:.2s}.footer-col a:hover{color:#fff;transform:translateX(3px)}
.footer-col .footer-all-areas{color:#a9d42d;margin-top:5px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;padding-bottom:27px;display:flex;justify-content:space-between;gap:30px;color:#6f796d;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.footer-bottom div{display:flex;gap:24px}.footer-bottom a{color:#899286;text-decoration:none}.footer-bottom a:hover{color:#fff}
@media(max-width:950px){.footer-main{grid-template-columns:1.5fr 1fr 1fr}.footer-areas{display:none}}
@media(max-width:700px){.footer-cta{padding:48px 0}.footer-cta-inner{display:block}.footer-enquire{margin-top:30px;justify-content:space-between}.footer-main{grid-template-columns:1fr 1fr;gap:45px 25px;padding-top:55px}.footer-brand{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom div{margin-top:13px}.footer-logo-lockup img{width:54px;height:54px}}

/* V1.6 premium contact page */
.contact-hero-premium{background:#263226;color:#fff;padding:170px 0 85px}.contact-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:90px;align-items:end}
.contact-hero-premium h1{font-family:Georgia,serif;font-size:clamp(52px,7vw,88px);line-height:.98;font-weight:400;margin:15px 0 0;letter-spacing:-.035em}.contact-hero-premium h1 em{color:#a9d42d;font-weight:400}
.contact-hero-copy p{color:#d3dbd0;font-size:16px;line-height:1.75}.contact-hero-copy a{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.25);padding:16px 0;color:#fff;text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.13em}
.contact-intro{padding:95px 0;background:#f5f3ec}.contact-intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.contact-intro h2,.contact-side h2{font-family:Georgia,serif;font-size:clamp(40px,5vw,58px);line-height:1.05;font-weight:400}
.contact-intro-grid>div>p{font-size:17px;line-height:1.8;max-width:700px}.contact-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:45px;padding-top:30px;border-top:1px solid #d6d3ca}
.contact-mini-grid span{color:#73815d;font-size:10px;letter-spacing:.15em}.contact-mini-grid strong{font-family:Georgia,serif;font-size:19px;font-weight:400;display:block;margin:10px 0}.contact-mini-grid p{font-size:12px;line-height:1.6;color:#686b65}
.contact-form-section{padding:100px 0;background:#fff}.contact-form-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:90px}.contact-side>p{color:#656b62;line-height:1.75}.contact-side-note{margin-top:50px;padding-top:25px;border-top:1px solid #deded8}.contact-side-note span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#73815d}.contact-side-note p{font-family:Georgia,serif;font-size:18px}.contact-side-note a{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#263226}
.contact-form-card{background:#f5f3ec;padding:50px}.contact-form-card label{display:block;margin-bottom:22px}.contact-form-card label>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:9px;color:#596056}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form-card input,.contact-form-card select,.contact-form-card textarea{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid #c7c8c0;background:transparent;padding:12px 0;font:inherit;border-radius:0;outline:none}.contact-form-card input:focus,.contact-form-card select:focus,.contact-form-card textarea:focus{border-color:#263226}
.contact-form-card textarea{resize:vertical}.contact-form-card .consent{display:flex;gap:12px;align-items:flex-start;margin:25px 0}.contact-form-card .consent input{width:auto;margin-top:2px}.contact-form-card .consent span{font-size:11px;text-transform:none;letter-spacing:0;line-height:1.5;color:#73766f}
.contact-submit{width:100%;border:0;background:#263226;color:#fff;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.contact-submit b{font-size:20px;color:#a9d42d}.contact-submit:hover{background:#172018}
.form-success{padding:17px 20px;background:#dfe9ce;margin-bottom:28px;color:#263226;font-size:13px}.contact-bottom{text-align:center;padding:90px 0;background:#eeeae0}.contact-bottom blockquote{font-family:Georgia,serif;font-size:clamp(34px,5vw,55px);line-height:1.08;margin:25px auto;max-width:900px}.contact-bottom>div>p:last-child{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#73776f}
@media(max-width:800px){.contact-hero-premium{padding:130px 0 60px}.contact-hero-grid,.contact-intro-grid,.contact-form-layout{grid-template-columns:1fr;gap:35px}.contact-mini-grid{grid-template-columns:1fr;gap:15px}.field-row{grid-template-columns:1fr;gap:0}.contact-intro,.contact-form-section{padding:65px 0}.contact-form-card{padding:30px 22px}.contact-side-note{margin-top:30px}}

/* V1.9 bespoke joinery premium page */
.bespoke-hero{min-height:720px;background-size:cover;background-position:center;display:flex;align-items:flex-end;color:#fff}.bespoke-hero-inner{padding-bottom:85px}.bespoke-hero h1{font-family:Georgia,serif;font-size:clamp(54px,7vw,92px);line-height:.96;font-weight:400;letter-spacing:-.035em;max-width:1000px;margin:15px 0 25px}.bespoke-hero h1 em{color:#a9d42d;font-weight:400}.bespoke-hero-inner>p:not(.eyebrow){max-width:620px;font-size:18px;line-height:1.7;color:#e2e7df}.bespoke-text-link{color:#fff;text-decoration:none;margin-left:25px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.bespoke-intro{padding:110px 0;background:#f5f3ec}.bespoke-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.bespoke-intro h2,.bespoke-feature h2,.process-heading h2,.gallery-heading h2,.bespoke-enquiry h2{font-family:Georgia,serif;font-size:clamp(42px,5vw,64px);line-height:1.02;font-weight:400;margin:12px 0}.bespoke-large{font-family:Georgia,serif;font-size:25px!important;color:#263226}.bespoke-intro-grid p{font-size:16px;line-height:1.8}.line-link{display:inline-block;margin-top:15px;color:#263226;text-decoration:none;border-bottom:1px solid #9da397;padding-bottom:5px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.bespoke-feature{display:grid;grid-template-columns:1.15fr .85fr;min-height:690px;background:#263226;color:#fff}.bespoke-feature-image img{width:100%;height:100%;object-fit:cover}.bespoke-feature-copy{padding:90px 10vw 80px 70px;align-self:center}.bespoke-feature-copy p{color:#d2d9cf;line-height:1.8}.bespoke-feature-copy ul{list-style:none;padding:25px 0 0;margin:25px 0 0;border-top:1px solid rgba(255,255,255,.15)}.bespoke-feature-copy li{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.bespoke-process{padding:110px 0}.process-heading{display:flex;justify-content:space-between;align-items:end;gap:60px}.process-heading p{max-width:400px;line-height:1.7}.bespoke-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:60px;border-top:1px solid #d9d9d2}.bespoke-steps article{padding:35px 30px 25px 0;border-right:1px solid #d9d9d2;margin-right:28px}.bespoke-steps article:last-child{border:0}.bespoke-steps span{font-size:10px;letter-spacing:.15em;color:#73815d}.bespoke-steps h3{font-family:Georgia,serif;font-size:28px;font-weight:400}.bespoke-steps p{font-size:13px;line-height:1.7;color:#676b64}
.bespoke-gallery{padding:105px 0;background:#eeeae0}.gallery-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.bespoke-gallery-grid{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:290px 290px;gap:14px}.bespoke-gallery-grid figure{margin:0;overflow:hidden}.bespoke-gallery-grid .wide{grid-row:1/3}.bespoke-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:.5s}.bespoke-gallery-grid figure:hover img{transform:scale(1.025)}
.bespoke-enquiry{padding:100px 0;background:#172018;color:#fff}.bespoke-enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.bespoke-enquiry p{color:#aab4a7;line-height:1.7}.bespoke-big-link{display:flex;justify-content:space-between;align-items:center;color:#fff;text-decoration:none;border-top:1px solid #697268;border-bottom:1px solid #697268;padding:28px 0;font-family:Georgia,serif;font-size:28px}.bespoke-big-link b{color:#a9d42d;font-size:30px}.line-link.light{color:#a9d42d;border-color:#65705f}
@media(max-width:800px){.bespoke-hero{min-height:620px}.bespoke-hero-inner{padding-bottom:55px}.bespoke-text-link{display:block;margin:25px 0 0}.bespoke-intro,.bespoke-process,.bespoke-gallery,.bespoke-enquiry{padding:70px 0}.bespoke-intro-grid,.bespoke-feature,.bespoke-enquiry-grid{grid-template-columns:1fr;gap:35px}.bespoke-feature-copy{padding:55px 24px}.bespoke-feature-image{height:420px}.process-heading,.gallery-heading{display:block}.bespoke-steps{grid-template-columns:1fr 1fr}.bespoke-gallery-grid{grid-template-columns:1fr;grid-template-rows:auto}.bespoke-gallery-grid .wide{grid-row:auto}.bespoke-gallery-grid figure{height:300px}}
