/*
Theme Name: Joinery by SJM
Theme URI: https://www.joinerybysjm.co.uk
Author: Joinery by SJM Ltd
Description: Bespoke education-sector contractor theme for Joinery by SJM Ltd.
Version: 1.0.4
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: joinery-by-sjm
*/

:root{--navy:#0a1d37;--deep:#061528;--gold:#d4af37;--gold-dark:#b99324;--orange:#f79400;--warm:#f7f4ee;--white:#fff;--slate:#4b5563;--ink:#172033}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--warm);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.sjm-header{min-height:92px;padding:12px clamp(20px,3.2vw,52px);background:rgba(247,244,238,.98);display:grid;grid-template-columns:minmax(250px,1fr) auto auto;align-items:center;gap:clamp(18px,2.6vw,40px);position:relative;z-index:20}
.sjm-brand img{width:220px;height:64px;object-fit:contain;object-position:left center}.sjm-nav,.sjm-nav-list{display:flex;gap:clamp(18px,2vw,32px);align-items:center;font-weight:700;color:var(--navy)}.sjm-nav-list{margin:0;padding:0;list-style:none}.sjm-nav-list li{margin:0}.sjm-nav a{padding:15px 0 12px;position:relative}.sjm-nav a:after{content:"";position:absolute;right:50%;bottom:4px;left:50%;height:2px;background:var(--gold);transition:.18s}.sjm-nav a:hover:after{right:0;left:0}
.sjm-button{min-height:54px;padding:15px 26px;border:2px solid transparent;display:inline-flex;align-items:center;justify-content:center;font-weight:800;text-align:center;transition:.2s}.sjm-button:hover{transform:translateY(-2px)}.sjm-gold{background:var(--gold);color:var(--deep)}.sjm-gold:hover{background:var(--gold-dark)}.sjm-outline{border-color:rgba(255,255,255,.9);color:#fff}.sjm-outline:hover{background:var(--warm);color:var(--navy)}.sjm-navy{background:var(--navy);color:#fff}.sjm-header-cta{white-space:nowrap}
.sjm-menu-toggle{display:none;border:1px solid #d7d1c6;background:transparent;width:46px;height:46px;color:var(--navy);font-size:23px}
.sjm-hero{min-height:690px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--navy)}.sjm-hero-bg,.sjm-hero-shade{position:absolute;inset:0}.sjm-hero-bg{background:url("assets/images/sjm-hero.png") center/cover}.sjm-hero-shade{background:linear-gradient(90deg,rgba(6,21,40,.97),rgba(6,21,40,.92) 38%,rgba(6,21,40,.58) 62%,rgba(6,21,40,.14)),linear-gradient(0deg,rgba(6,21,40,.34),transparent 45%)}
.sjm-hero-content{width:min(760px,56vw);margin-left:clamp(28px,4vw,68px);padding:76px 0 82px;position:relative;z-index:2;color:#fff}.sjm-kicker{margin:0 0 22px;color:var(--gold-dark);font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.sjm-hero .sjm-kicker{color:var(--gold)}.sjm-hero h1{max-width:740px;margin:0;font-size:clamp(46px,5vw,72px);font-weight:800;letter-spacing:-.035em;line-height:1.06}.sjm-hero-copy{max-width:660px;margin:27px 0 0;color:rgba(255,255,255,.91);font-size:clamp(18px,1.55vw,22px);line-height:1.55}.sjm-actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:22px}.sjm-actions .sjm-button{min-width:218px}
.sjm-trust{min-height:128px;padding:24px clamp(26px,4vw,68px);background:var(--warm);display:grid;grid-template-columns:210px 1fr;align-items:center;gap:26px;border-bottom:1px solid #e3ddd2}.sjm-trust-title{color:var(--navy);font-size:20px;line-height:1.3}.sjm-trust-title span{display:block}.sjm-logos{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.sjm-logos figure{height:88px;margin:0;padding:8px;background:#fff;border-left:1px solid var(--gold);display:flex;align-items:center;justify-content:center}.sjm-logos img{max-height:68px;width:auto;object-fit:contain}.sjm-flexiproof-badge{flex-direction:column;color:var(--navy);text-align:center}.sjm-flexiproof-badge img{max-height:58px}.sjm-flexiproof-badge small{max-width:170px;margin-top:2px;font-size:9px;font-weight:800;line-height:1.2}
.sjm-section{padding:clamp(82px,9vw,132px) clamp(24px,5vw,78px)}.sjm-intro,.sjm-projects{background:#fff}.sjm-section-label{padding-bottom:22px;border-bottom:1px solid #ded8cd;color:var(--gold-dark);font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.sjm-intro-grid{margin-top:48px;display:grid;grid-template-columns:.95fr .75fr;gap:clamp(64px,10vw,160px)}
.sjm-h2{margin:0;color:var(--navy);font-size:clamp(38px,4vw,60px);font-weight:800;letter-spacing:-.035em;line-height:1.08}.sjm-copy{color:var(--slate);font-size:18px;line-height:1.75}.sjm-copy p{margin:0 0 20px}.sjm-text-link{margin-top:12px;padding-bottom:6px;border-bottom:2px solid var(--gold);display:inline-flex;gap:20px;color:var(--navy);font-weight:800}
.sjm-services{background:var(--warm)}.sjm-heading{margin-bottom:52px;display:grid;grid-template-columns:1.2fr .55fr;align-items:end;gap:80px}.sjm-heading>p{margin:0;color:var(--slate);font-size:18px;line-height:1.7}.sjm-service-grid{border-top:1px solid #d8d1c4;border-left:1px solid #d8d1c4;display:grid;grid-template-columns:repeat(3,1fr)}.sjm-service{min-height:350px;padding:36px;border-right:1px solid #d8d1c4;border-bottom:1px solid #d8d1c4;background:rgba(255,255,255,.38);display:flex;flex-direction:column;transition:.2s}.sjm-service:hover{background:#fff;transform:translateY(-3px)}.sjm-service>span,.sjm-project-card>span{color:var(--gold-dark);font-size:13px;font-weight:800}.sjm-service h3,.sjm-project-card h3{margin:52px 0 14px;color:var(--navy);font-size:24px;line-height:1.2}.sjm-service p{margin:0;color:var(--slate);line-height:1.65}.sjm-service a{margin-top:auto;padding-top:24px;display:flex;justify-content:space-between;color:var(--navy);font-weight:800}
.sjm-delivery{background:var(--navy);display:grid;grid-template-columns:1.05fr .95fr;color:#fff}.sjm-delivery-panel{padding:clamp(80px,8vw,124px) clamp(28px,6vw,92px)}.sjm-delivery .sjm-h2{color:#fff}.sjm-delivery-lead{margin:28px 0 46px;color:rgba(255,255,255,.72);font-size:18px;line-height:1.7}.sjm-principles{border-top:1px solid rgba(255,255,255,.17)}.sjm-principle{padding:24px 0;border-bottom:1px solid rgba(255,255,255,.17);display:grid;grid-template-columns:36px 1fr;gap:18px}.sjm-check{width:30px;height:30px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold)}.sjm-principle h3{margin:1px 0 7px;font-size:18px}.sjm-principle p{margin:0;color:rgba(255,255,255,.68);line-height:1.55}.sjm-delivery-visual{min-height:780px;background:linear-gradient(0deg,rgba(6,21,40,.3),rgba(6,21,40,.08)),url("assets/images/sjm-hero.png") 74% center/cover;display:flex;align-items:flex-end;justify-content:flex-end}.sjm-stat{width:min(390px,84%);padding:34px 38px;background:var(--gold);color:var(--navy)}.sjm-stat strong{margin:8px 0;display:block;font-size:54px;line-height:1}
.sjm-project-band{display:grid;grid-template-columns:repeat(3,1fr);background:var(--navy)}.sjm-project-card{min-height:290px;padding:38px;border-right:1px solid rgba(255,255,255,.16)}.sjm-project-card h3{margin-top:62px;color:#fff}.sjm-project-card p{color:rgba(255,255,255,.67);line-height:1.65}
.sjm-contact{padding:clamp(74px,8vw,110px) clamp(24px,6vw,90px);background:#ece7dd;display:grid;grid-template-columns:1fr auto;align-items:center;gap:60px}.sjm-contact p:not(.sjm-kicker){max-width:660px;color:var(--slate);font-size:18px;line-height:1.65}.sjm-contact-actions{min-width:270px;display:grid;gap:20px}.sjm-phone small,.sjm-phone strong{display:block}.sjm-phone small{color:var(--slate);font-weight:800;text-transform:uppercase}.sjm-phone strong{margin-top:4px;color:var(--navy);font-size:25px}
.sjm-footer{padding:68px clamp(24px,5vw,78px) 28px;background:var(--deep);color:#fff}.sjm-footer-main{padding-bottom:60px;display:grid;grid-template-columns:1.4fr .7fr .8fr;gap:70px}.sjm-footer-main h3{margin:0 0 19px;color:var(--gold);font-size:13px;letter-spacing:.12em;text-transform:uppercase}.sjm-footer-links{display:flex;flex-direction:column;gap:12px;color:rgba(255,255,255,.68)}.sjm-footer-brand strong{display:block;font-size:28px;text-transform:uppercase}.sjm-footer-brand span{margin-top:8px;display:block;color:var(--gold);font-size:12px;font-weight:800;text-transform:uppercase}.sjm-footer-brand p{margin:28px 0 0;color:rgba(255,255,255,.63)}.sjm-footer-bottom{padding-top:24px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:24px;color:rgba(255,255,255,.48);font-size:12px}
.entry-content{max-width:960px;margin:0 auto;padding:80px 24px}.entry-content h1{color:var(--navy);font-size:46px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.sjm-header{grid-template-columns:1fr auto}.sjm-nav{display:none;position:absolute;top:92px;right:20px;width:260px;padding:18px;background:var(--warm);box-shadow:0 18px 35px rgba(6,21,40,.15);flex-direction:column;align-items:stretch}.sjm-nav.is-open{display:flex}.sjm-nav-list{width:100%;flex-direction:column;align-items:stretch}.sjm-menu-toggle{display:block}.sjm-header-cta{display:none}.sjm-hero-content{width:min(720px,76vw)}.sjm-trust{grid-template-columns:1fr}.sjm-intro-grid,.sjm-heading{grid-template-columns:1fr;gap:36px}.sjm-service-grid{grid-template-columns:repeat(2,1fr)}.sjm-delivery{grid-template-columns:1fr}.sjm-delivery-visual{min-height:560px}.sjm-contact{grid-template-columns:1fr}}
@media(max-width:720px){.sjm-header{min-height:76px;padding:9px 18px}.sjm-brand img{width:175px;height:50px}.sjm-nav{top:76px;right:18px}.sjm-hero{min-height:665px;align-items:flex-end}.sjm-hero-bg{background-position:66% center}.sjm-hero-shade{background:linear-gradient(0deg,rgba(6,21,40,.98),rgba(6,21,40,.87) 62%,rgba(6,21,40,.22))}.sjm-hero-content{width:100%;margin:0;padding:185px 22px 48px}.sjm-hero h1{font-size:clamp(40px,12vw,54px)}.sjm-actions{gap:12px}.sjm-actions .sjm-button{width:100%}.sjm-trust{padding:26px 22px}.sjm-logos{grid-template-columns:repeat(2,1fr)}.sjm-section{padding:72px 22px}.sjm-intro-grid{margin-top:34px}.sjm-service-grid{grid-template-columns:1fr}.sjm-service{min-height:310px;padding:30px}.sjm-delivery-panel{padding:72px 22px}.sjm-delivery-visual{min-height:430px}.sjm-project-band{grid-template-columns:1fr}.sjm-project-card{min-height:240px;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.sjm-contact{padding:70px 22px}.sjm-footer-main{grid-template-columns:1fr;gap:40px}.sjm-footer-bottom{flex-direction:column;gap:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}}
