/*
Theme Name: Lambshead Planning & Development — 2026 Update
Theme URI: https://lambshead.co.uk
Author: Lambshead Planning & Development
Description: Minimal four-page WordPress theme for an independent UK town planning and development consultancy. Creates editable starter pages when activated.
Version: 2.7.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: lambshead
*/
:root{--ink:#24282b;--muted:#68747b;--teal:#426f73;--line:#e4e7e6;--paper:#fafaf8;--white:#fff;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.72 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--teal)}a:hover{color:#244e52}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--teal);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.16;letter-spacing:-.035em;font-weight:550}h1{font-size:clamp(2.8rem,6vw,5.4rem)}h2{font-size:clamp(2rem,3.6vw,3.25rem)}h3{font-size:1.35rem}p{max-width:70ch}img{max-width:100%;height:auto}.container{width:min(var(--max),calc(100% - 64px));margin-inline:auto}.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:10}.header-inner{min-height:105px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:17px;text-decoration:none;color:var(--ink);flex-shrink:0}.brand-mark{border:1.5px solid var(--teal);border-radius:50%;width:49px;height:49px;display:grid;place-items:center;font-size:14px;font-weight:650;letter-spacing:-.08em;color:var(--teal)}.brand-name{font-size:22px;letter-spacing:-.045em;font-weight:640;line-height:1.1}.brand-sub{font-size:12px;letter-spacing:.085em;color:var(--muted);margin-top:5px}.site-nav{display:flex;align-items:center;gap:30px}.site-nav a{font-size:14px;text-decoration:none;color:var(--ink)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--teal)}.site-nav .nav-cta{border:1px solid var(--teal);color:var(--teal);padding:10px 17px}.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);font-size:15px;cursor:pointer;padding:12px}.site-main{min-height:60vh}.entry-content{overflow-wrap:anywhere}.entry-content>.wp-block-group{padding-block:95px}.entry-content>.wp-block-group:first-child{padding-top:105px}.entry-content .wp-block-group__inner-container{width:min(var(--max),calc(100% - 64px));margin-inline:auto}.entry-content .wp-block-group .wp-block-group__inner-container .wp-block-group__inner-container{width:auto}.entry-content .wp-block-columns{gap:48px;margin-block:0}.entry-content .wp-block-column{min-width:0}.section-rule{border-top:1px solid var(--line)}.section-soft{background:#f0f2f0}.section-white{background:#fff}.section-dark{background:var(--ink);color:#fff}.section-dark p,.section-dark .eyebrow{color:#d5dfdf}.section-dark a{color:#fff}.eyebrow{color:var(--teal);font-weight:700;font-size:12px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:28px}.lead{font-size:clamp(1.16rem,1.8vw,1.42rem);line-height:1.65;color:#4e5c61;max-width:750px}.section-dark .lead{color:#e0e7e7}.narrow-copy{max-width:810px}.big-quote{font-size:clamp(1.55rem,2.8vw,2.55rem);font-weight:450;line-height:1.45;letter-spacing:-.03em}.hero-rule{margin-top:70px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;font-size:13px;color:var(--muted)}.wp-block-buttons{margin-top:32px}.wp-block-button__link,.button-primary{background:var(--teal)!important;border:1px solid var(--teal)!important;color:white!important;border-radius:0!important;padding:15px 25px!important;font-size:14px!important;text-decoration:none!important;display:inline-block;transition:background .2s}.wp-block-button__link:hover,.button-primary:hover{background:#2f575b!important}.text-link a{font-weight:600;text-decoration:none;border-bottom:1px solid var(--teal);padding-bottom:5px}.lp-card{padding:27px 0 8px;border-top:1px solid #cdd5d3}.lp-card h3{font-weight:600;margin-top:12px}.lp-card p{color:var(--muted);font-size:15px;line-height:1.75}.lp-card .text-link{font-size:14px}.feature-num{font-size:12px;letter-spacing:.12em;color:var(--teal);font-weight:700}.service-row{border-top:1px solid var(--line);padding:40px 0}.service-row h2{font-size:clamp(1.5rem,2.3vw,2.25rem)}.service-row p{color:var(--muted)}.contact-details{padding:30px 0;border-top:1px solid var(--line)}.contact-details a{font-size:clamp(1.1rem,2vw,1.5rem);text-decoration:none}.lp-form{max-width:750px}.lp-form label{display:block;margin-bottom:21px;font-size:14px;font-weight:600}.lp-form input,.lp-form textarea{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid #bec9c7;border-radius:0;background:white;color:var(--ink);font:inherit;font-size:16px}.lp-form textarea{min-height:155px;resize:vertical}.lp-form .hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.lp-form .consent{font-size:13px;font-weight:400;display:flex;align-items:flex-start;gap:10px}.lp-form .consent input{width:auto;margin-top:6px}.form-notice{padding:14px 17px;border-left:3px solid var(--teal);background:#eaf0ee;margin-bottom:22px}.site-footer{background:#202528;color:#d6dede;padding:68px 0 28px}.footer-grid{display:flex;justify-content:space-between;gap:40px}.footer-title{font-size:19px;font-weight:600;color:#fff}.site-footer p{font-size:14px;color:#b6c1c2}.site-footer a{color:#d7e7e6;text-decoration:none}.footer-links{display:flex;gap:21px;flex-wrap:wrap;font-size:14px}.footer-bottom{border-top:1px solid #444d50;margin-top:55px;padding-top:21px;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:#b6c1c2}.site-footer a:hover{text-decoration:underline}.not-found{padding-block:120px}
@media(max-width:820px){.container,.entry-content .wp-block-group__inner-container{width:min(var(--max),calc(100% - 36px))}.header-inner{min-height:83px}.brand-name{font-size:19px}.brand-sub{font-size:10px}.brand-mark{width:43px;height:43px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);padding:22px 18px 28px;border-bottom:1px solid var(--line);box-shadow:0 12px 22px #0001;flex-direction:column;align-items:stretch;gap:12px}.site-nav.open{display:flex}.site-nav a{padding:10px}.entry-content>.wp-block-group,.entry-content>.wp-block-group:first-child{padding-block:64px}.entry-content .wp-block-columns{gap:22px;flex-wrap:wrap!important}.entry-content .wp-block-columns>.wp-block-column{flex-basis:100%!important}.hero-rule{flex-direction:column;gap:8px;margin-top:45px}.footer-grid,.footer-bottom{flex-direction:column}.footer-bottom{margin-top:35px}body{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Containers in current WordPress core Group blocks */
.entry-content>.wp-block-group > :not(.wp-block-group__inner-container){width:min(var(--max),calc(100% - 64px));margin-left:auto;margin-right:auto}
.entry-content>.wp-block-group > .wp-block-group__inner-container{width:min(var(--max),calc(100% - 64px));margin-inline:auto}
.entry-content>.wp-block-group .lp-card > *{width:auto}
@media(max-width:820px){.entry-content>.wp-block-group > :not(.wp-block-group__inner-container),.entry-content>.wp-block-group > .wp-block-group__inner-container{width:min(var(--max),calc(100% - 36px))}}

/* 2026 refreshed artwork and layouts */
.brand-mark{display:none}.brand{gap:0}.brand-logo{width:170px;height:auto;max-height:66px;object-fit:contain}.brand-name,.brand-sub{display:none!important}
.lpd-hero-photo{position:relative;min-height:510px;display:flex;align-items:end;background-position:center;background-size:cover;background-color:#24282b}
.lpd-hero-photo::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,24,29,.79),rgba(16,24,29,.18))}
.lpd-hero-photo .hero-inner{position:relative;z-index:1;width:min(var(--max),calc(100% - 64px));margin:0 auto;padding:85px 0 70px;color:#fff}
.lpd-hero-photo h1{max-width:850px}.lpd-hero-photo p{color:#f1f5f5}.lpd-hero-photo .eyebrow{color:#d7e6e7}
.lpd-hero-photo .wp-block-buttons{margin-top:28px}
.lpd-hero-home{background-image:url('assets/images/home-hero.webp')}.lpd-hero-services{background-image:url('assets/images/services-hero.webp')}
.lpd-founder-row{display:grid;grid-template-columns:minmax(210px,330px) minmax(0,1fr);gap:48px;align-items:center}
.lpd-founder-row img{width:100%;height:auto;display:block;object-fit:cover;max-height:400px;aspect-ratio:1 / 1}
.lpd-photo-section{padding:55px 0 88px}.lpd-photo-section img{width:100%;max-height:470px;object-fit:cover;display:block}
.site-footer .footer-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:48px}.site-footer .footer-links{display:block}.site-footer .footer-links a{display:inline-block;margin:0 14px 12px 0}
.lpd-accreditations{display:flex;gap:32px;align-items:center;flex-wrap:wrap;margin-top:35px}.lpd-accreditations img{height:auto;width:auto;max-height:62px;max-width:245px;object-fit:contain}
.lpd-accreditations .ipi-logo{max-width:205px;max-height:65px}.site-footer .footer-bottom{display:block}
.lpd-footer-legal{font-size:12px;color:#d6dede;margin-top:22px}.lpd-footer-slogan{font-size:14px;color:#b6c1c2}
@media(max-width:820px){.brand-logo{width:144px}.lpd-hero-photo{min-height:410px}.lpd-hero-photo .hero-inner{width:calc(100% - 36px);padding:62px 0}.lpd-founder-row,.site-footer .footer-grid{grid-template-columns:1fr}.lpd-founder-row img{max-width:360px}}

.home .entry-content>.wp-block-group:first-child,.page-id-0 .entry-content>.wp-block-group:first-child{background:transparent}
body.home .entry-content>.wp-block-group.hero-section{background:linear-gradient(90deg,rgba(21,29,34,.74),rgba(21,29,34,.18)),url('assets/images/home-hero.webp') center / cover;min-height:540px;color:#fff}
body.page .entry-content>.wp-block-group.hero-section{position:relative}
body.home .entry-content .hero-section p,body.home .entry-content .hero-section .lead{color:#f1f4f4}
body.home .entry-content .hero-section .eyebrow{color:#e2eeee}
body.page:not(.home) .entry-content>.wp-block-group.hero-section .lead{max-width:920px}
body.page .entry-content .lpd-editor-image img{max-height:560px;object-fit:cover}

body.lpd-services-page .entry-content>.wp-block-group.hero-section{background:linear-gradient(90deg,rgba(21,29,34,.78),rgba(21,29,34,.18)),url('assets/images/services-hero.webp') center / cover;min-height:460px;color:#fff}
body.lpd-services-page .entry-content .hero-section p{color:#f1f4f4}
body.lpd-services-page .entry-content .hero-section .eyebrow{color:#e2eeee}

/* Brand lockup and responsive accreditation placement: version 2.1 */
.site-header .brand{gap:15px;display:flex;align-items:center;min-width:0;max-width:450px}
.site-header .brand-logo{width:105px;max-height:52px;height:auto;object-fit:contain;flex:0 0 auto}
.site-header .brand-wordmark{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.site-header .brand-wordmark strong{font-size:clamp(18px,1.55vw,23px);font-weight:650;letter-spacing:-.04em;color:#20262b}
.site-header .brand-wordmark span{font-size:clamp(9px,.8vw,11px);letter-spacing:.065em;color:#68747b;white-space:nowrap;margin-top:5px}
.site-header .header-inner{gap:18px}
.site-header .site-nav{gap:clamp(12px,1.6vw,27px)}
.site-footer .footer-grid{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(170px,.9fr) minmax(185px,1fr);gap:35px;align-items:start}
.site-footer .lpd-accreditations{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:26px;margin:0}
.site-footer .lpd-accreditations img{display:block;max-width:235px;width:100%;height:auto;max-height:105px;object-fit:contain;object-position:right center}
.site-footer .lpd-accreditations .ipi-logo{width:215px;max-width:100%;max-height:85px;object-position:right}
.lpd-founder-photo-fallback{padding:50px 0 85px;background:#fafaf8}
.lpd-founder-photo-fallback figure{margin:0;max-width:390px}
.lpd-founder-photo-fallback img{width:100%;height:auto;display:block;aspect-ratio:1;object-fit:cover}
.lpd-founder-photo-fallback figcaption{font-size:13px;color:#68747b;margin-top:12px}
@media(max-width:1040px){
 .site-header .brand-logo{width:86px;max-height:44px}
 .site-header .brand{gap:9px}
 .site-footer .footer-grid{grid-template-columns:minmax(230px,1.3fr) minmax(150px,.85fr) minmax(150px,1fr);gap:22px}
}
@media(max-width:820px){
 .site-header .header-inner{gap:10px;min-height:76px}
 .site-header .brand-logo{width:72px;max-height:36px}
 .site-header .brand-wordmark strong{font-size:19px}
 .site-header .brand-wordmark span{font-size:9px}
 .site-footer .footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:25px}
 .site-footer .footer-grid>div:nth-child(2){grid-column:1/3;grid-row:2}
 .site-footer .lpd-accreditations{grid-column:2;grid-row:1;align-items:flex-end;gap:14px}
 .site-footer .lpd-accreditations img{max-width:170px;max-height:75px}
 .site-footer .lpd-accreditations .ipi-logo{width:150px;max-height:66px}
 .lpd-founder-photo-fallback{padding:35px 0 55px}
}
@media(max-width:480px){
 .site-header .brand-logo{width:63px;max-height:33px}
 .site-header .brand-wordmark strong{font-size:16px}
 .site-header .brand-wordmark span{font-size:8px;letter-spacing:.03em}
 .site-header .brand{gap:7px}
 .site-header .menu-toggle{font-size:13px;padding:8px}
 .site-footer .footer-grid{grid-template-columns:1fr}
 .site-footer .lpd-accreditations{grid-column:1;grid-row:3;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:18px;flex-wrap:wrap}
 .site-footer .lpd-accreditations img{max-width:150px}
 .site-footer .lpd-accreditations .ipi-logo{width:130px}
 .site-footer .footer-grid>div:nth-child(2){grid-column:1;grid-row:2}
}


/* v2.3: tighter two-line brand lockup and properly balanced credentials. */
.site-header .brand { display:flex; align-items:center; gap:11px; max-width:none; min-width:0; flex-shrink:1; }
.site-header .brand-logo { display:block; width:90px; height:auto; max-height:43px; object-fit:contain; flex-shrink:0; }
.site-header .brand-wordmark { display:flex; flex-direction:column; justify-content:center; gap:2px; line-height:1.02; min-width:0; white-space:nowrap; }
.site-header .brand-wordmark strong { display:block; color:#20262B; font-size:21px; font-weight:650; letter-spacing:-.035em; }
.site-header .brand-wordmark span { display:block; color:#68747B; font-size:13px; font-weight:500; letter-spacing:0; text-transform:none; margin:0; }
.site-header .header-inner { gap:14px; }
.site-header .site-nav { gap:clamp(10px,1.25vw,25px); }
.site-footer .footer-grid { display:grid; grid-template-columns:minmax(240px,1.2fr) minmax(155px,.85fr) minmax(240px,1.1fr); gap:32px; align-items:start; }
.site-footer .lpd-accreditations { display:flex; flex-direction:column; align-items:flex-end; justify-content:flex-start; gap:20px; margin:0; }
.site-footer .lpd-accreditations img,
.site-footer .lpd-accreditations .ipi-logo { display:block; box-sizing:border-box; width:100%; max-width:310px; height:105px; max-height:none; object-fit:contain; object-position:center; margin:0; }
@media(max-width:1100px){
 .site-header .brand-logo { width:75px; max-height:38px; }
 .site-header .brand-wordmark strong { font-size:19px; }
 .site-header .brand-wordmark span { font-size:11px; }
 .site-footer .footer-grid { grid-template-columns:minmax(230px,1.2fr) minmax(140px,.7fr) minmax(190px,1fr); gap:18px; }
 .site-footer .lpd-accreditations img,
 .site-footer .lpd-accreditations .ipi-logo { max-width:250px; height:90px; }
}
@media(max-width:820px){
 .site-header .brand { gap:8px; }
 .site-header .brand-logo { width:70px; max-height:35px; }
 .site-header .brand-wordmark strong { font-size:19px; }
 .site-header .brand-wordmark span { font-size:11px; }
 .site-footer .footer-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:23px; }
 .site-footer .footer-company { grid-column:1; grid-row:1; }
 .site-footer .footer-navigation { grid-column:1 / -1; grid-row:2; }
 .site-footer .lpd-accreditations { grid-column:2; grid-row:1; align-items:flex-end; gap:12px; }
 .site-footer .lpd-accreditations img,
 .site-footer .lpd-accreditations .ipi-logo { max-width:190px; height:80px; }
}
@media(max-width:550px){
 .site-header .header-inner { min-height:72px; gap:8px; }
 .site-header .brand { gap:7px; }
 .site-header .brand-logo { width:55px; max-height:30px; }
 .site-header .brand-wordmark strong { font-size:17px; }
 .site-header .brand-wordmark span { font-size:10px; }
 .site-header .menu-toggle { padding:8px; }
 .site-footer .footer-grid { grid-template-columns:1fr; gap:26px; }
 .site-footer .footer-company { grid-column:1; grid-row:1; }
 .site-footer .footer-navigation { grid-column:1; grid-row:2; }
 .site-footer .lpd-accreditations { grid-column:1; grid-row:3; flex-direction:row; justify-content:space-between; align-items:center; gap:12px; }
 .site-footer .lpd-accreditations img,
 .site-footer .lpd-accreditations .ipi-logo { width:calc(50% - 6px); max-width:none; height:75px; }
}

/* 2.5 homepage refinements; Gutenberg page blocks remain editable. */
.lpd-home-founder .wp-block-columns{align-items:center;gap:clamp(28px,5vw,72px)}
.lpd-home-founder .wp-block-column:first-child{flex-basis:40%!important}
.lpd-home-founder .lpd-editor-image{margin:0}
.lpd-home-founder .lpd-editor-image img{display:block;width:100%;max-height:560px;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:1px}
.lpd-home-founder h2{max-width:650px}
.lpd-audiences .lp-card{padding-top:22px}
.lpd-audiences .lp-card h3{font-weight:620}
.lpd-audiences .lp-card p{max-width:44ch}
.lpd-delivery-section .wp-block-columns{align-items:center;gap:clamp(30px,5vw,70px)}
.lpd-delivery-section .lpd-editor-image{margin:0}
.lpd-delivery-section .lpd-editor-image img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;display:block}
.section-dark a[href^="tel:"],.section-dark a[href^="mailto:"]{text-decoration:underline;text-underline-offset:4px}
@media(max-width:820px){
 .lpd-home-founder .wp-block-column:first-child{flex-basis:100%!important}
 .lpd-home-founder .lpd-editor-image img{max-height:460px;aspect-ratio:4/4}
 .lpd-delivery-section .lpd-editor-image img{aspect-ratio:16/10}
}
