/*
Theme Name: The Coastal Handyman
Theme URI: https://thecoastalhandyman.co.uk
Author: The Coastal Handyman
Description: A clean, accessible local-trades WordPress theme for The Coastal Handyman.
Version: 1.1.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: coastal-handyman
*/
:root{--navy:#082f55;--sea:#3f849a;--sky:#83b4c6;--sand:#b79a73;--ink:#183044;--cream:#f7f5f0;--white:#fff;--line:#dce5e8;--shadow:0 12px 34px rgba(7,40,68,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.65}a{color:var(--navy)}img{max-width:100%;height:auto}.container{width:min(1160px,calc(100% - 36px));margin:auto}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand-mark{width:48px;height:58px}.brand-text{line-height:.95}.brand-text strong{display:block;color:var(--navy);font-size:25px;letter-spacing:.045em}.brand-text span{display:block;color:var(--sand);font-weight:700;font-size:18px;letter-spacing:.06em}.main-nav ul{list-style:none;display:flex;gap:22px;padding:0;margin:0;align-items:center}.main-nav a{text-decoration:none;font-weight:700;font-size:16px}.header-call{background:var(--navy);color:#fff!important;padding:10px 16px;border-radius:8px}.menu-toggle{display:none;background:none;border:0;font-size:29px}.hero{background:linear-gradient(180deg,#f8fbfc 0,#fff 100%);overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:42px;align-items:center;padding:70px 0 26px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--sea);font-weight:800;font-size:14px}.hero h1{font-size:clamp(44px,6vw,76px);line-height:.98;margin:10px 0 18px;color:var(--navy);letter-spacing:-.025em}.hero h1 .sand{color:var(--sand)}.hero p{font-size:22px;max-width:700px}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{display:inline-block;text-decoration:none;font-weight:800;padding:14px 20px;border-radius:9px}.btn-primary{background:var(--navy);color:#fff}.btn-secondary{border:2px solid var(--navy);color:var(--navy)}.trust-row{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:28px;font-weight:700;font-size:16px}.trust-row span:before{content:'✓';color:var(--sea);font-weight:900;margin-right:7px}.hero-art{min-height:360px;display:grid;place-items:center}.hero-lighthouse{width:min(330px,90%)}.wave-divider{width:100%;display:block;margin-top:-5px}.section{padding:68px 0}.section.alt{background:var(--cream)}.section h2{font-size:clamp(34px,4vw,52px);line-height:1.05;color:var(--navy);margin:0 0 15px}.lede{font-size:21px;max-width:780px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px;box-shadow:0 4px 18px rgba(7,40,68,.05)}.card h3{color:var(--navy);margin-top:8px;font-size:23px}.icon-box{width:48px;height:48px;border-radius:12px;background:#eef6f8;display:grid;place-items:center;color:var(--navy);font-size:25px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.check-list{list-style:none;padding:0}.check-list li{padding:8px 0 8px 31px;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--sea);font-weight:900}.areas{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.area-pill{background:white;border:1px solid var(--line);padding:8px 13px;border-radius:999px;font-weight:700}.cta{background:var(--navy);color:white;border-radius:18px;padding:36px;box-shadow:var(--shadow)}.cta h2,.cta a{color:white}.cta .btn-secondary{border-color:white;color:white}.site-footer{background:#062741;color:#dbe9ef;padding:48px 0 26px}.site-footer a{color:white}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px}.footer-title{color:white;font-weight:800;font-size:22px}.copyright{border-top:1px solid rgba(255,255,255,.15);margin-top:34px;padding-top:20px;font-size:14px}.page-hero{padding:58px 0 35px;background:#f5fafb}.page-hero h1{font-size:clamp(40px,5vw,62px);color:var(--navy);margin:0}.entry-content{padding:48px 0 70px}.entry-content h2,.entry-content h3{color:var(--navy)}.quote-form{max-width:820px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{margin-bottom:17px}.form-field.full{grid-column:1/-1}.form-field label{display:block;font-weight:800;margin-bottom:6px}.form-field input,.form-field textarea,.form-field select{width:100%;font:inherit;padding:12px;border:1px solid #aebdc4;border-radius:8px;background:#fff}.form-field textarea{min-height:145px}.form-help{font-size:14px;color:#5b6c75}.notice{padding:13px 16px;border-radius:8px;margin-bottom:20px}.notice.success{background:#e9f7ef;color:#1d6138}.notice.error{background:#fff0f0;color:#8b2020}.screen-reader-text{position:absolute;left:-9999px}.privacy-note{font-size:14px;color:#647780}.wp-block-button__link{background:var(--navy)!important}.wp-block-heading{color:var(--navy)}
@media(max-width:900px){body{font-size:17px}.hero-inner,.two-col,.footer-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.hero-art{min-height:250px}.main-nav{display:none;position:absolute;left:0;right:0;top:88px;background:#fff;border-bottom:1px solid var(--line);padding:16px 20px}.main-nav.open{display:block}.main-nav ul{display:block}.main-nav li{padding:8px 0}.menu-toggle{display:block}.header-call{display:inline-block}.form-grid{grid-template-columns:1fr}}
@media(max-width:620px){.cards{grid-template-columns:1fr}.hero-inner{padding-top:44px}.hero h1{font-size:46px}.hero p{font-size:19px}.section{padding:52px 0}.header-inner{min-height:76px}.main-nav{top:76px}.brand-text strong{font-size:20px}.brand-text span{font-size:15px}.brand-mark{width:39px;height:47px}.quote-form{padding:18px}.cta{padding:25px}.button-row .btn{width:100%;text-align:center}}
.screen-reader-text:focus{position:fixed;z-index:100;top:12px;left:12px;width:auto;height:auto;margin:0;padding:12px 18px;overflow:visible;clip:auto;white-space:normal;background:#fff;color:var(--navy);border:2px solid var(--navy);border-radius:8px;font-weight:800}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-field input[type=checkbox]{width:auto;margin-right:8px}.btn:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid #d49b28;outline-offset:3px}
