:root{--navy:#10263f;--blue:#1d527d;--accent:#f28c28;--ink:#243244;--muted:#607184;--paper:#f5f7fa;--white:#fff;--line:#dce4ec;--green:#27735a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);line-height:1.65;background:#fff}a{color:var(--blue);text-underline-offset:3px}a:hover{color:var(--accent)}.skip{position:absolute;left:-9999px;top:auto}.skip:focus{left:1rem;top:1rem;background:#fff;padding:1rem;z-index:99}.topbar{background:var(--navy);color:#eaf1f8;font-size:.88rem;padding:.55rem 1rem}.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.wrap{width:min(1120px,calc(100% - 2rem));margin-inline:auto}.header{border-bottom:1px solid var(--line);background:#fff}.navrow{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--navy);font-weight:850;letter-spacing:.02em}.brandmark{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:900;font-size:1.2rem}.brand small{display:block;font-size:.68rem;letter-spacing:.08em;color:var(--muted);font-weight:700}.navlinks{display:flex;align-items:center;gap:1.15rem;flex-wrap:wrap}.navlinks a{text-decoration:none;color:var(--ink);font-size:.94rem;font-weight:650}.navlinks a:hover{color:var(--blue)}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:8px;padding:.6rem .8rem;font-weight:700}.hero{background:linear-gradient(120deg,#10263f 0%,#1d527d 100%);color:#fff;padding:5rem 0 4.5rem;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:3rem;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:800;color:var(--accent)}h1,h2,h3{line-height:1.18;color:var(--navy);letter-spacing:-.025em}h1{font-size:clamp(2.35rem,5vw,4.25rem);margin:.6rem 0 1.2rem;max-width:850px}.hero h1{color:#fff}.hero p{font-size:1.12rem;color:#e5edf5;max-width:700px}.hero-card{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);border-radius:18px;padding:1.5rem}.hero-card h2{color:#fff;font-size:1.3rem}.hero-card li{margin:.65rem 0;color:#edf4fa}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.7rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.15rem;border-radius:9px;background:var(--accent);color:#fff;text-decoration:none;font-weight:800;border:2px solid var(--accent);cursor:pointer}.btn:hover{background:#d97716;color:#fff;border-color:#d97716}.btn.secondary{background:transparent;border-color:rgba(255,255,255,.65);color:#fff}.btn.secondary:hover{background:#fff;color:var(--navy)}.btn.dark{background:var(--navy);border-color:var(--navy)}.section{padding:4rem 0}.section.alt{background:var(--paper)}.section-head{max-width:760px;margin-bottom:2rem}.section-head h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:.4rem 0 .8rem}.section-head p{color:var(--muted);font-size:1.06rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.card{padding:1.4rem;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(16,38,63,.035)}.card h3{font-size:1.2rem;margin:.2rem 0 .7rem}.card p{color:var(--muted);margin:.4rem 0 1rem}.card a{font-weight:750}.iconbox{width:42px;height:42px;border-radius:10px;background:#fff0df;color:#b65e08;display:grid;place-items:center;font-weight:900;font-size:1.1rem;margin-bottom:1rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.checklist{padding-left:1.2rem}.checklist li{padding:.3rem 0}.band{background:var(--navy);color:#fff;padding:2.3rem;border-radius:16px;display:flex;justify-content:space-between;align-items:center;gap:2rem}.band h2{color:#fff;margin:0 0 .5rem}.band p{color:#dce7f1;margin:0}.page-hero{background:var(--paper);padding:3.5rem 0;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.2rem,4vw,3.5rem);margin:.5rem 0 1rem}.breadcrumbs{font-size:.88rem;color:var(--muted);margin-bottom:1.2rem}.breadcrumbs a{color:var(--muted)}.content{max-width:800px}.content h2{margin-top:2rem}.content p,.content li{color:#394a5d}.notice{border-left:4px solid var(--accent);padding:1rem 1.2rem;background:#fff6eb;border-radius:0 8px 8px 0}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:flex;flex-direction:column;gap:.4rem}.field.full{grid-column:1/-1}label{font-weight:750;font-size:.92rem}input,select,textarea{font:inherit;border:1px solid #bdcad7;border-radius:8px;padding:.8rem;background:#fff;width:100%}textarea{min-height:140px;resize:vertical}.form-note{font-size:.9rem;color:var(--muted)}.faq details{border-bottom:1px solid var(--line);padding:1rem 0}.faq summary{font-weight:800;color:var(--navy);cursor:pointer}.footer{background:#0b1b2d;color:#d6e1ec;padding:3rem 0 1.5rem}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem}.footer h2,.footer h3{color:#fff}.footer a{color:#d6e1ec}.footer-links{display:grid;gap:.5rem}.copyright{border-top:1px solid #314357;margin-top:2rem;padding-top:1rem;font-size:.85rem;color:#aebdcb;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.tag{display:inline-block;border:1px solid rgba(255,255,255,.25);border-radius:99px;padding:.3rem .7rem;font-size:.8rem;margin:.2rem .25rem .2rem 0;color:#eaf1f8}.breadcrumbs span{padding:0 .4rem}.muted{color:var(--muted)}.small{font-size:.9rem}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.service-list a{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:1rem;text-decoration:none;font-weight:750}.service-list a:hover{border-color:var(--accent)}.pill{font-size:.78rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--green)}.center{text-align:center}.center .section-head{margin-inline:auto}.center .actions{justify-content:center}
@media(max-width:820px){.hero-grid,.split{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.navlinks{gap:.7rem}.navlinks a{font-size:.88rem}}
@media(max-width:620px){.navrow{align-items:flex-start}.menu-toggle{display:block}.navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:1rem;z-index:10;flex-direction:column;align-items:flex-start}.navlinks.open{display:flex}.header{position:relative}.cards,.footer-grid,.formgrid,.service-list{grid-template-columns:1fr}.hero{padding:3.5rem 0}.section{padding:3rem 0}.band{display:block;padding:1.5rem}.band .btn{margin-top:1rem}.topbar .wrap{justify-content:center}.hero-grid{gap:1.5rem}}

/* Fluid layout supports portrait, landscape, touch and desktop zoom. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:1rem}
img,video,svg{max-width:100%;height:auto}
.wrap{width:min(1120px,calc(100% - 2 * clamp(.75rem,3vw,1.5rem)))}
.hero-grid,.split,.cards,.footer-grid,.formgrid{min-width:0}
.hero-grid>*,.split>*,.cards>*,.footer-grid>*,.formgrid>*{min-width:0}
p,li,a,h1,h2,h3{overflow-wrap:anywhere}
.brandmark{flex-shrink:0}.brand{min-width:0}.brand small{letter-spacing:.04em}
input,select,textarea{min-width:0;max-width:100%;font-size:1rem}
input[type=checkbox]{min-width:20px;min-height:20px;vertical-align:middle}
button,.btn,.menu-toggle{min-height:44px;font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #247bd0;outline-offset:3px}
@media(max-width:1100px){
 .header{position:relative}.navrow{flex-wrap:wrap;align-items:center}
 .menu-toggle{display:block;flex-shrink:0}
 .navlinks{display:flex;position:static;flex-basis:100%;flex-direction:column;align-items:stretch;gap:.25rem;padding:.5rem 0;border:0;background:#fff}
 .navlinks a{display:flex;align-items:center;min-height:44px;padding:.5rem .75rem;font-size:1rem}
 .header[data-menu-ready] .navlinks{display:none}
 .header[data-menu-ready] .navlinks.open{display:flex}
 .band{flex-wrap:wrap}
}
@media(min-width:621px) and (max-width:900px){.hero-grid,.split{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding:3rem 0}.hero-grid{gap:1.5rem}.split{gap:1.75rem}}
@media(max-width:620px){
 .brand{font-size:.95rem;max-width:calc(100% - 80px)}.brand small{font-size:.62rem}
 h1{font-size:clamp(1.9rem,8vw,2.65rem)}.page-hero h1{font-size:clamp(1.85rem,7vw,2.5rem)}
 .hero p{font-size:1rem}.page-hero{padding:2rem 0}.split{gap:1.5rem}
 .card,.hero-card{padding:1.1rem}.actions .btn{flex:1 1 180px}
 .footer-links a{display:flex;align-items:center;min-height:44px}
 .topbar{padding:.5rem 0}.topbar .wrap{gap:.25rem;text-align:center}
}
@media(orientation:landscape) and (max-height:500px){.hero{padding:2rem 0}.page-hero{padding:1.5rem 0}.section{padding:2rem 0}.navrow{padding:.6rem 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Quotation response */
.quote-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:3rem;align-items:start}.quote-card{padding:1.7rem}.response-options{border:0;padding:0;margin:0}.response-options legend{font-weight:750;font-size:.92rem;margin-bottom:.55rem}.choice{display:flex;gap:.8rem;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:.9rem;margin:.55rem 0;cursor:pointer;font-weight:400}.choice:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 2px rgba(29,82,125,.1)}.choice input,.checkline input{width:auto;min-width:20px;margin-top:.2rem}.choice span{display:grid;gap:.12rem}.choice small{font-weight:400;color:var(--muted)}.conditional-panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:1rem}.conditional-panel h3{margin:.1rem 0 1rem}.inner-grid{gap:.8rem}.checkline{display:flex;align-items:flex-start;gap:.65rem;font-weight:600}.confirmation-card{max-width:720px;margin:4rem auto;padding:2.2rem}.confirmation-mark{margin:0 auto 1rem}.confirmation-card h1{font-size:clamp(2rem,4vw,3rem);margin-inline:auto}.confirmation-card .actions{justify-content:center}@media(max-width:820px){.quote-layout{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:620px){.quote-card{padding:1.1rem}.choice{padding:.8rem}.confirmation-card{margin:1rem auto}}

/* Quotation workflow helper */
.workflow-box{margin-top:1.25rem;padding:1.25rem;border:1px solid #d9e1e8;border-radius:14px;background:#f7f9fb}.workflow-box h3{margin-top:0}.link-output{display:flex;gap:.6rem;align-items:stretch;flex-wrap:wrap}.link-output input{flex:1 1 360px;background:#fff}.status-note{font-size:.92rem;color:#536273}.copy-confirm{min-height:1.4em;font-weight:700}.compact-actions{display:flex;gap:.65rem;flex-wrap:wrap}.quote-ref-banner{margin:0 0 1rem;padding:.8rem 1rem;border-left:4px solid #b71c2b;background:#fff4f5;border-radius:6px}.internal-note{font-size:.88rem;color:#687784}

/* Approved Fire Assurance logo supplied by client */
.brand-logo img{display:block;width:min(390px,42vw);height:auto;max-height:76px;object-fit:contain;object-position:left center}.footer-logo img{filter:none;max-height:70px}.confirmation-logo{display:block;width:min(520px,90%);height:auto;margin:0 auto 1.5rem}@media(max-width:760px){.brand-logo img{width:min(280px,70vw);max-height:62px}.navrow{align-items:center}.footer-logo img{width:min(300px,80vw)}}
/* Recovery master additions */
.brand-logo img{width:min(340px,38vw);height:auto;display:block}.header .navrow{gap:22px}.topbar .wrap{gap:16px;flex-wrap:wrap}.floating-actions{position:fixed;right:18px;bottom:18px;z-index:50;display:flex;flex-direction:column;gap:9px;align-items:flex-end}.floating-actions a{box-shadow:0 8px 24px rgba(0,0,0,.18);text-decoration:none}.legal-grid,.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.coverage-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:34px;align-items:center}.coverage-map{background:#f3f7fa;border:1px solid #dbe4eb;border-radius:18px;padding:18px}.coverage-map svg{display:block;width:100%;height:auto;max-height:520px}.quick-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.footer-policy{display:flex;gap:14px;flex-wrap:wrap}.faq details{border:1px solid #dbe4eb;border-radius:12px;padding:14px 16px;background:#fff}.faq details+details{margin-top:10px}.faq summary{cursor:pointer;font-weight:700}.quote-cta{background:#10263f;color:white;border-radius:20px;padding:30px}.quote-cta a{color:inherit}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-card label{display:block;font-weight:700;margin:0 0 6px}.form-card input,.form-card select,.form-card textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #bdc9d3;border-radius:8px;font:inherit}.form-card textarea{min-height:120px}.form-card .field{margin-bottom:16px}.choice-row{display:flex;gap:16px;flex-wrap:wrap}.choice-row label{font-weight:600}.choice-row input{width:auto}.hidden{display:none!important}
@media(max-width:980px){.brand-logo img{width:min(300px,55vw)}.coverage-grid,.legal-grid{grid-template-columns:1fr}.navlinks{max-height:calc(100vh - 120px);overflow:auto}.hero-grid,.split{grid-template-columns:1fr!important}}
@media(max-width:700px){.brand-logo img{width:min(245px,68vw)}.topbar .wrap span:last-child{display:none}.section{padding-top:46px;padding-bottom:46px}.cards,.faq-grid,.field-row{grid-template-columns:1fr!important}.floating-actions{right:10px;bottom:10px}.floating-actions .btn{padding:10px 13px;font-size:.88rem}.hero h1{font-size:clamp(2rem,10vw,3.2rem)}.coverage-map{padding:10px}.footer-grid{grid-template-columns:1fr!important}}
@media(orientation:landscape) and (max-height:600px){.navlinks{max-height:70vh;overflow:auto}.hero{padding-top:36px;padding-bottom:36px}.floating-actions{bottom:8px;right:8px}}


/* === Fire Assurance corporate revision — 13 Oct 2026 === */
:root{
  --red:#c62032;
  --red-dark:#a71828;
  --blue:#164f86;
  --navy:#0d355d;
  --ink:#0d355d;
  --muted:#365b7a;
  --paper:#f5f9fd;
  --white:#ffffff;
  --line:#c9d9e7;
  --accent:#c62032;
  --green:#164f86;
}
body{color:var(--navy);background:#fff}
a{color:var(--blue);font-weight:650}
a:hover{color:var(--red)}
.wrap{width:min(1280px,calc(100% - 2 * clamp(.8rem,3vw,1.6rem)))}
.topbar{background:var(--blue);color:#fff}
.topbar a{color:#fff!important;text-decoration:underline;font-weight:800}
.topbar a:hover,.topbar a:focus{background:#fff;color:var(--blue)!important;border-radius:5px;padding:0 .25rem}
.header{background:#fff;border-bottom:3px solid var(--red)}
.navrow{padding:.75rem 0}
.brand-logo img{width:min(390px,31vw)!important;max-height:102px!important}
.navlinks{gap:.72rem}
.navlinks a{color:var(--blue);font-size:.9rem}
.navlinks a:hover{color:var(--red)}
.menu-toggle{color:var(--blue);border:2px solid var(--blue);background:#fff}
.hero{background:linear-gradient(120deg,var(--navy),var(--blue));}
.eyebrow{color:var(--red)}
.hero .eyebrow{color:#fff;background:var(--red);padding:.25rem .5rem;border-radius:4px;display:inline-block}
h1,h2,h3{color:var(--navy)}
.btn,.btn.dark{
  background:var(--red)!important;border-color:var(--red)!important;color:#fff!important;
  box-shadow:none;
}
.btn:hover,.btn.dark:hover{background:var(--red-dark)!important;border-color:var(--red-dark)!important;color:#fff!important}
.btn.secondary{
  background:#fff!important;border-color:var(--blue)!important;color:var(--blue)!important;
}
.hero .btn.secondary{background:#fff!important;color:var(--blue)!important;border-color:#fff!important}
.btn.secondary:hover{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important}
.quick-links a{
  display:inline-flex;padding:.65rem .9rem;border-radius:8px;
  background:#fff;color:var(--blue)!important;text-decoration:none;font-weight:850;
  border:2px solid #fff;
}
.quick-links a:hover{background:var(--red);border-color:var(--red);color:#fff!important}
.iconbox{background:var(--blue);color:#fff;border:3px solid var(--red)}
.pill{color:var(--red)}
.notice{border-left-color:var(--red);background:#fff5f6}
.quote-cta{background:var(--blue);color:#fff}
.quote-cta h2,.quote-cta p{color:#fff}
.band{background:var(--blue)}
.card{border-color:var(--line)}
.footer{background:var(--navy);color:#fff;border-top:5px solid var(--red)}
.footer a{color:#fff}.footer a:hover{color:#fff;text-decoration-thickness:2px}
.footer-logo img{width:min(420px,90%)!important;max-height:120px!important}
.floating-actions{z-index:9999}
.floating-actions .btn{
  background:var(--red)!important;border:3px solid #fff!important;color:#fff!important;
  box-shadow:0 6px 22px rgba(13,53,93,.35);
}
.floating-actions .btn.secondary{
  background:var(--blue)!important;border:3px solid #fff!important;color:#fff!important;
}
.floating-actions .btn:hover{background:#fff!important;color:var(--red)!important;border-color:var(--red)!important}
.floating-actions .btn.secondary:hover{background:#fff!important;color:var(--blue)!important;border-color:var(--blue)!important}
.coverage-map{background:#fff;border:3px solid var(--blue)}
.faq details{border-left:5px solid var(--red)}
.faq summary{color:var(--blue)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(22,79,134,.22);border-color:var(--blue)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.quote-ref-banner{border-left-color:var(--red);background:#fff5f6}
.choice:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 2px rgba(22,79,134,.14)}
@media(min-width:1251px){
  .menu-toggle{display:none!important}
  .navlinks{display:flex!important;position:static!important;flex-basis:auto!important;flex-direction:row!important;align-items:center!important;padding:0!important}
}
@media(max-width:1250px){
  .brand-logo img{width:min(360px,65vw)!important;max-height:92px!important}
  .header{position:relative}
  .navrow{flex-wrap:wrap;align-items:center}
  .menu-toggle{display:block;flex-shrink:0}
  .navlinks{display:none!important;position:static;flex-basis:100%;flex-direction:column;align-items:stretch;gap:.25rem;padding:.5rem 0;border:0;background:#fff}
  .navlinks.open{display:flex!important}
  .navlinks a{min-height:44px;padding:.5rem .75rem;font-size:1rem}
}
@media(max-width:700px){
  .brand-logo img{width:min(300px,72vw)!important;max-height:80px!important}
  .footer-logo img{width:min(360px,94vw)!important;max-height:105px!important}
  .floating-actions{left:8px;right:8px;bottom:8px;align-items:stretch}
  .floating-actions .btn{width:100%;font-size:.86rem;padding:.68rem .8rem}
  .topbar .wrap{justify-content:space-between!important;text-align:left}
  .topbar .wrap span:last-child{display:inline!important}
}
@media(orientation:landscape) and (max-height:600px){
  .floating-actions{position:static;margin:1rem}
}

/* === Footer refinement — 13 Oct 2026 === */
.footer{padding:1.65rem 0 .85rem!important}
.footer-grid{gap:1.25rem!important;align-items:start}
.footer-grid p{margin:.45rem 0}
.footer h3{margin:.2rem 0 .55rem}
.footer-links{gap:.22rem!important}
.footer-links a{line-height:1.35}
.footer-logo{
  display:inline-flex!important;
  background:#fff!important;
  border-radius:10px;
  padding:.5rem .65rem!important;
  margin-bottom:.45rem;
  max-width:440px;
}
.footer-logo img{
  width:min(390px,86vw)!important;
  max-height:92px!important;
  object-fit:contain!important;
}
.copyright{margin-top:1rem!important;padding-top:.7rem!important}
.footer-policy{gap:.85rem!important}
.footer-policy a{white-space:nowrap}
@media(max-width:700px){
  .footer{padding:1.3rem 0 .75rem!important}
  .footer-grid{gap:.8rem!important}
  .footer-logo{max-width:100%}
  .footer-logo img{width:min(330px,82vw)!important;max-height:82px!important}
  .copyright{margin-top:.7rem!important}
}

/* === Home CTA uniformity + FAQ simplification — 13 Oct 2026 === */
.home-cta-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
  margin-top:1.7rem;
  max-width:780px;
}
.home-cta-grid .btn{
  width:100%;
  min-height:62px;
  padding:.8rem 1rem;
  text-align:center;
  line-height:1.25;
}
.hero .home-cta-grid .btn.secondary{
  background:#fff!important;
  color:var(--blue)!important;
  border-color:#fff!important;
}
.hero .home-cta-grid .btn.secondary:hover{
  background:var(--red)!important;
  color:#fff!important;
  border-color:var(--red)!important;
}
@media(max-width:620px){
  .home-cta-grid{grid-template-columns:1fr}
  .home-cta-grid .btn{min-height:56px}
}

/* SEO Areas We Cover page - locked approved visual design */
.area-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.2rem 0}
.area-location-grid>div{background:#fff;border:1px solid var(--line);border-top:4px solid var(--red);padding:1rem;border-radius:10px}
.area-location-grid h3{color:var(--blue);margin:.1rem 0 .45rem}
.area-location-grid p{margin:0;color:var(--navy)}
@media(max-width:700px){.area-location-grid{grid-template-columns:1fr}}

/* SEO Stage 2 - service content, approved design retained */
.seo-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.2rem 0 1.5rem}
.seo-content-grid>div{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);padding:1rem;border-radius:10px}
.seo-content-grid h3{color:var(--blue);margin:.1rem 0 .45rem}
.seo-content-grid p{margin:0;color:var(--navy)}
.seo-service-cta{background:var(--paper);border-left:5px solid var(--red);padding:1.2rem;border-radius:10px}
.seo-service-cta h2{color:var(--blue);margin-top:0}
@media(max-width:700px){.seo-content-grid{grid-template-columns:1fr}}

/* Stage 4 quotation workflow - approved design retained */
.hidden-field{position:absolute;left:-9999px}
.response-options{border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:10px;padding:1rem;margin:1.2rem 0}
.response-options legend{color:var(--blue);font-weight:800;padding:0 .35rem}
.response-options label{display:block;background:#fff;border:1px solid var(--line);border-radius:8px;padding:.75rem;margin:.55rem 0;color:var(--navy)}
.conditional-section{background:var(--paper);border-left:5px solid var(--red);padding:1rem;margin:1rem 0;border-radius:10px}
.conditional-section[hidden]{display:none!important}
.conditional-section h2{color:var(--blue);margin-top:0}
.optional,.form-note{color:var(--muted);font-size:.92em}
.checkbox-label{display:flex!important;gap:.6rem;align-items:flex-start}
.quote-response-form textarea,.quote-response-form input,.quote-response-form select{max-width:100%}

/* Stage 5 enquiry workflow - approved design retained */
.enquiry-help{margin-top:1.25rem;padding:1rem 1.1rem;border-left:5px solid var(--blue);background:var(--paper);border-radius:10px}
.enquiry-help h2{color:var(--blue);margin-top:0}
.privacy-consent{margin:1rem 0}

/* Stage 6 conversion & trust - approved design retained */
.trust-grid,.process-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.2rem 0}
.trust-grid>div,.process-grid>div{background:#fff;border:1px solid var(--line);padding:1rem;border-radius:10px}
.trust-grid>div{border-top:4px solid var(--red)}
.process-grid>div{border-top:4px solid var(--blue)}
.trust-number,.process-grid strong{display:inline-flex;align-items:center;justify-content:center;min-width:2.2rem;height:2.2rem;padding:0 .45rem;background:var(--blue);color:#fff;border-radius:999px;font-weight:800}
.trust-grid h3,.process-grid h3{color:var(--blue);margin:.65rem 0 .35rem}
.trust-grid p,.process-grid p{margin:0;color:var(--navy)}
.conversion-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.25rem}
@media(max-width:700px){.trust-grid,.process-grid{grid-template-columns:1fr}.conversion-actions .btn{width:100%;text-align:center}}

/* Stage 8 desktop refinements — mobile layout intentionally unchanged */
@media (min-width:821px){
  .desktop-reading-width{max-width:920px;margin-inline:auto}
  .desktop-form-width{max-width:860px;margin-inline:auto}
  .desktop-seo-width{max-width:920px;margin-inline:auto}
  .areas-page .container{max-width:1040px}
  .areas-page .coverage-grid{grid-template-columns:minmax(0,1fr) minmax(360px,480px);gap:2.25rem}
  .areas-page .coverage-map{max-width:480px;justify-self:end}
  .areas-page .coverage-map img{width:100%;height:auto;display:block}
  .areas-page .location-grid,.areas-page .cards{max-width:980px;margin-inline:auto}
  .quote-page .form-card,.contact-page .form-card{max-width:860px;margin-inline:auto}
  .quote-page .privacy-consent{max-width:760px}
  .quote-page .section-heading,.contact-page .section-heading{max-width:860px;margin-left:auto;margin-right:auto}
  .quote-response-page .quote-layout{max-width:1040px;margin-inline:auto;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr)}
}
.company-legal{margin-top:1rem;font-size:.82rem;line-height:1.55;color:#d6e1ec;max-width:720px}
.contact-choice{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.25rem 0 0}
.contact-choice .card{height:100%}
@media(max-width:620px){.contact-choice{grid-template-columns:1fr}}


/* Stage 8 image-ready content treatment */
.editorial-media{
  max-width:1120px;
  margin:2rem auto;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);
  gap:2rem;
  align-items:center;
}
.editorial-media__image{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  border-radius:14px;
  display:block;
}
.editorial-media__placeholder{
  width:100%;
  aspect-ratio:16/10;
  border:1px solid var(--line);
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.5rem;
  text-align:center;
  background:var(--paper);
  color:var(--blue);
  font-weight:700;
}
@media (max-width:800px){
  .editorial-media{
    display:block;
    margin:1.5rem auto;
  }
  .editorial-media__image,
  .editorial-media__placeholder{
    margin-top:1.25rem;
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:auto;
  }
}


/* Stage 8 desktop content-width refinement
   Desktop/laptop only: preserve the approved mobile presentation. */
@media (min-width: 901px) {
  /* Keep normal page content aligned to the same visual column as the home page. */
  main > section > .container,
  main > .section > .container,
  .page-main > section > .container,
  .page-main > .section > .container {
    width: min(1120px, calc(100% - 64px));
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
  }

  /* Long-form copy should not run edge-to-edge on wide monitors. */
  main > section > .container > p:not(.eyebrow):not(.lead),
  main > .section > .container > p:not(.eyebrow):not(.lead),
  .prose p,
  .legal-copy p,
  .policy-copy p {
    max-width: 820px;
  }

  /* Forms remain deliberately narrower than general content. */
  form:not(.search-form) {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
  }

  /* Checkbox/privacy rows stay with the form instead of drifting right. */
  form .check-row,
  form .checkbox-row,
  form label:has(input[type="checkbox"]) {
    max-width: 820px;
    justify-content: flex-start;
    text-align: left;
  }

  /* FAQs and policy/legal reading widths. */
  .faq-list,
  .policy,
  .legal,
  .legal-copy,
  .policy-copy {
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
  }

  /* SEO/supporting copy at page bottoms: centred and readable. */
  .seo-copy,
  .supporting-copy,
  .location-copy,
  .content-copy {
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
  }

  /* Preserve controlled editorial image/text sections. */
  .editorial-media {
    width: min(1120px, calc(100% - 64px));
    max-width: 1120px;
  }
}

/* Stage 8 legal-page refinement */
@media (min-width: 901px){
  .legal-copy{max-width:920px!important;margin-left:auto!important;margin-right:auto!important;}
  .legal-copy p,.legal-copy li{max-width:820px;line-height:1.72;}
  .legal-copy h2{max-width:820px;margin-top:2rem;}
  .legal-intro{padding:1rem 1.15rem;border-left:4px solid var(--red);background:var(--paper);}
}

/* Areas We Cover visual landing page */
.coverage-map{margin:1.5rem auto 0;max-width:1040px;text-align:center}
.coverage-map img{display:block;width:100%;height:auto;border-radius:18px}
.coverage-map figcaption{max-width:760px;margin:.8rem auto 0;font-size:.94rem}
.coverage-map-missing{padding:2rem;border:2px dashed var(--blue);border-radius:18px;background:var(--paper)}
.coverage-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
.coverage-card{padding:1.35rem;border:1px solid var(--line);border-radius:16px;background:var(--white)}
.coverage-card h3{margin-top:0;color:var(--blue)}
.location-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;margin-top:1.5rem}
.location-groups article{padding-bottom:1rem;border-bottom:1px solid var(--line)}
.location-groups h3{color:var(--blue)}
.coverage-callout{display:flex;gap:2rem;align-items:center;justify-content:space-between;padding:1.6rem;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.coverage-callout>div{max-width:760px}
@media (min-width:901px){
  .coverage-hero .container,.coverage-map-section .container,.coverage-locations,.coverage-contact .container{max-width:1120px!important}
}
@media (max-width:900px){
  .coverage-card-grid,.location-groups{grid-template-columns:1fr}
  .coverage-callout{display:block}
  .coverage-callout .btn{margin-top:1rem}
}




/* Mobile navigation touch-safety v2: keep floating actions visible at all times.
   When the menu is open, raise the menu above the floating controls so taps
   cannot be intercepted by Request a Quote. */
@media(max-width:1250px){
  .navlinks.open{position:relative!important;z-index:10001!important}
  .navlinks.open a{position:relative!important;z-index:10002!important}
}
