/* York Guttering – mobile-first styles */
:root{
  --navy:#0b1f3a; --navy-2:#12305a; --navy-3:#1b3a66;
  --yellow:#ffc400; --yellow-2:#ffd84d;
  --ink:#0f172a; --muted:#5b6b82; --line:#e3e8ef; --tint:#f3f6fa; --white:#fff;
  --green:#16a34a; --red:#dc2626;
  --radius:18px; --shadow:0 10px 30px rgba(11,31,58,.12); --shadow-lg:0 24px 60px rgba(11,31,58,.25);
  --font:"Inter","Segoe UI",Roboto,"Helvetica Neue",Arial,system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--white);line-height:1.6;font-size:16px;padding-bottom:72px}
img,svg{max-width:100%;display:block}
a{color:var(--navy-3)}
h1,h2,h3{line-height:1.12;letter-spacing:-.02em;margin:0 0 .5em;font-weight:800}
h1{font-size:clamp(2.1rem,6.5vw,3.9rem)}
h2{font-size:clamp(1.7rem,4.2vw,2.6rem)}
h3{font-size:1.2rem}
p{margin:0 0 1em}
.container{width:min(1180px,100% - 40px);margin-inline:auto}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:100;background:var(--yellow);padding:8px 14px;border-radius:8px}
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-weight:800;text-decoration:none;border-radius:999px;padding:.8em 1.4em;border:2px solid transparent;cursor:pointer;font-size:1rem;font-family:inherit;transition:transform .15s,box-shadow .15s,background .15s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn--lg{font-size:1.08rem;padding:1em 1.7em}
.btn--block{width:100%}
.btn--primary{background:var(--yellow);color:var(--navy);box-shadow:0 8px 20px rgba(255,196,0,.35)}
.btn--primary:hover{background:var(--yellow-2)}
.btn--ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.35)}
.btn--outline-light{color:#fff;border-color:rgba(255,255,255,.5)}
.btn--dark{background:var(--navy);color:#fff}
.btn--call{background:var(--navy);color:#fff;padding:.6em 1em}
.btn--call svg{width:18px;height:18px;color:var(--yellow)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin:1.2em 0}

/* topbar + header */
.topbar{background:var(--yellow);color:var(--navy);font-size:.85rem}
.topbar__inner{display:flex;justify-content:center;gap:20px;padding:7px 0;text-align:center}
.topbar__right{display:none}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);transition:box-shadow .2s}
.site-header.is-scrolled{box-shadow:0 6px 24px rgba(11,31,58,.1)}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:68px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy)}
.logo__mark{width:40px;height:40px}
.logo__text{font-size:1.25rem;font-weight:600;letter-spacing:-.02em}
.logo__text strong{font-weight:900;margin-left:2px}
.logo--light{color:#fff}
.header__cta{display:flex;align-items:center;gap:10px}
.header__cta .btn--call span{display:none}
.nav{position:fixed;inset:0 0 0 auto;top:0;width:min(320px,85vw);background:var(--navy);padding:90px 28px 28px;display:flex;flex-direction:column;gap:4px;transform:translateX(100%);transition:transform .25s;z-index:60}
.nav.is-open{transform:none;box-shadow:var(--shadow-lg)}
.nav a{color:#fff;text-decoration:none;font-weight:700;font-size:1.1rem;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.nav a[aria-current="page"]{color:var(--yellow)}
.nav .nav__quote{margin-top:14px;background:var(--yellow);color:var(--navy);border-radius:999px;text-align:center;border:0}
.nav-toggle{width:46px;height:46px;border-radius:12px;border:0;background:var(--tint);display:grid;place-content:center;gap:5px;cursor:pointer;position:relative;z-index:70}
.nav-toggle span{display:block;width:22px;height:2.5px;background:var(--navy);border-radius:2px;transition:transform .2s,opacity .2s}
.nav-toggle[aria-expanded="true"]{background:var(--yellow)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* hero */
.hero{background:radial-gradient(1200px 600px at 85% -10%,#1f4a85 0%,transparent 60%),linear-gradient(160deg,var(--navy) 0%,#0a1a31 100%);color:#fff;padding:44px 0 60px;overflow:hidden}
.hero__grid{display:grid;gap:36px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--navy-3);margin-bottom:12px}
.eyebrow--light,.hero .eyebrow{color:var(--yellow)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 5px rgba(255,196,0,.2)}
.hl{color:var(--yellow);white-space:nowrap}
.hero__sub{font-size:1.12rem;color:#d5deeb;max-width:36em}
.hero__sub strong{color:#fff}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 20px}
.hero__ticks{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px 20px;font-weight:700;font-size:.95rem}
.hero__ticks li{display:flex;align-items:center;gap:7px}
.hero__ticks svg{width:20px;height:20px;color:var(--yellow)}
.hero__visual{position:relative}
.hero__visual img{border-radius:28px;box-shadow:var(--shadow-lg);width:100%;height:auto}
.price-card{position:relative;margin:-60px 16px 0;background:#fff;color:var(--navy);border-radius:22px;padding:20px 22px;box-shadow:var(--shadow-lg);border:3px solid var(--yellow)}
.price-card__label{font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.1em;color:var(--muted);margin:0}
.price-card__price{font-size:3.6rem;font-weight:900;letter-spacing:-.04em;line-height:1;margin:6px 0}
.price-card__price .cur{font-size:.55em;vertical-align:.55em;margin-right:2px}
.price-card__was{margin:0;color:var(--muted);font-weight:600}
.price-card__was s{color:var(--red);text-decoration-thickness:2px}
.price-card__save{position:absolute;top:-16px;right:16px;background:var(--red);color:#fff;font-weight:900;padding:6px 14px;border-radius:999px;transform:rotate(4deg);margin:0;box-shadow:0 6px 14px rgba(220,38,38,.35)}
.price-card__terms{font-size:.85rem;font-weight:700}

/* strip */
.strip{background:var(--tint);border-bottom:1px solid var(--line)}
.strip__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:26px 0}
.strip__grid div{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}
.strip__grid svg{grid-row:span 2;width:40px;height:40px;padding:8px;border-radius:12px;background:var(--navy);color:var(--yellow)}
.strip__grid strong{font-size:.98rem;line-height:1.2}
.strip__grid span{font-size:.85rem;color:var(--muted);line-height:1.3}

/* sections */
.section{padding:64px 0}
.section--tint{background:var(--tint)}
.section--dark{background:linear-gradient(160deg,var(--navy) 0%,#0a1a31 100%);color:#fff}
.section--dark .lead{color:#d5deeb}
.section__head{max-width:760px;margin-bottom:34px}
.lead{font-size:1.12rem;color:var(--muted)}
.center{text-align:center;margin-top:30px}
.note,.muted{color:var(--muted);font-size:.92rem}
.small-print{font-size:.82rem;color:#9fb0c8;margin-top:18px}
.small-print a{color:var(--yellow)}

/* price beat */
.price-beat__grid{display:grid;gap:36px;align-items:center}
.price-beat h2{font-size:clamp(2.1rem,6vw,3.4rem)}
.price-beat h2::after{content:"";display:block;width:90px;height:6px;background:var(--yellow);border-radius:4px;margin-top:16px}
.beat-steps{list-style:none;padding:0;margin:24px 0;display:grid;gap:10px}
.beat-steps li{display:flex;align-items:center;gap:12px;font-weight:600}
.beat-steps span{flex:none;width:32px;height:32px;border-radius:50%;background:var(--yellow);color:var(--navy);display:grid;place-items:center;font-weight:900}
.compare-card{background:#fff;color:var(--navy);border-radius:24px;padding:26px;box-shadow:var(--shadow-lg)}
.compare-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}
.compare-row strong{font-size:1.4rem}
.compare-row--them strong{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--red)}
.compare-row--us strong{font-size:2.2rem;color:var(--navy)}
.compare-bar{background:var(--tint);border-radius:10px;margin-top:12px;overflow:hidden}
.compare-bar span{display:block;padding:9px 12px;font-weight:800;font-size:.88rem;border-radius:10px}
.compare-bar__them{background:#cbd5e1;color:var(--navy)}
.compare-bar__us{background:var(--yellow);color:var(--navy)}
.compare-note{font-size:.8rem;color:var(--muted);margin:14px 0 0}

/* checklist */
.included__grid{display:grid;gap:10px}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.checklist li{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}
.checklist svg{flex:none;width:28px;height:28px;padding:5px;border-radius:50%;background:var(--green);color:#fff}
.checklist strong{display:block;color:var(--navy)}
.checklist div{color:var(--muted)}
.checklist--compact li{padding:10px 0;border:0;background:none}
.checklist--compact div{color:inherit}
.section--dark .checklist--compact div{color:#d5deeb}

/* colours */
.swatches{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:18px}
.swatches figure{margin:0;background:#fff;border-radius:18px;padding:14px;box-shadow:var(--shadow);text-align:center}
.swatch-lg{display:block;height:90px;border-radius:12px;margin-bottom:10px;border:1px solid var(--line)}
.swatches figcaption{font-weight:800}
.swatches small{display:block;font-weight:600;color:var(--muted)}
.swatch--white{background:#f8fafc}
.swatch--black{background:#111}
.swatch--anth{background:#383e42}
.swatch--rose{background:repeating-linear-gradient(100deg,#5a2a1f 0 6px,#6c3426 6px 11px,#4f241a 11px 15px)}
.swatch--oak{background:repeating-linear-gradient(100deg,#b07a3c 0 6px,#c18a48 6px 11px,#9c6a31 11px 15px)}
.swatch--unsure{background:var(--tint);display:grid;place-items:center;font-weight:900;color:var(--muted)}

/* cards */
.cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s,border-color .15s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--yellow)}
.card svg{width:46px;height:46px;padding:10px;border-radius:14px;background:var(--tint);color:var(--navy);margin-bottom:14px}
.card p{color:var(--muted);flex:1}
.card__price{font-size:.95rem;color:var(--muted);font-weight:700}
.card__price strong{font-size:1.5rem;color:var(--navy);font-weight:900}
.card--feature{background:var(--navy);color:#fff;border-color:var(--navy)}
.card--feature p,.card--feature .card__price{color:#c9d5e6}
.card--feature .card__price strong{color:var(--yellow)}
.card--feature svg{background:var(--yellow)}

/* steps */
.steps{list-style:none;padding:0;margin:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));counter-reset:s}
.steps li{position:relative;background:#fff;border-radius:var(--radius);padding:26px 22px;box-shadow:var(--shadow)}
.steps__n{position:absolute;top:18px;right:20px;font-size:2.6rem;font-weight:900;color:var(--tint);line-height:1}
.steps svg{width:46px;height:46px;padding:10px;border-radius:14px;background:var(--yellow);color:var(--navy);margin-bottom:14px}
.steps p{color:var(--muted);margin:0}

/* why + trust */
.why{display:grid;gap:30px;align-items:start}
.trust-box{background:var(--tint);border-radius:24px;padding:28px;border:2px dashed #c9d4e3}
.trust-box__icon{width:54px;height:54px;color:var(--green);margin-bottom:12px}

/* areas */
.areas{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.areas li{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px 8px 12px;font-weight:700;color:var(--navy)}
.areas svg{width:18px;height:18px;color:var(--yellow);stroke:var(--navy)}

/* faq */
.faq details{border:1px solid var(--line);border-radius:16px;padding:0 20px;margin-bottom:12px;background:#fff}
.faq summary{cursor:pointer;font-weight:800;padding:18px 30px 18px 0;list-style:none;position:relative;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:12px;font-size:1.6rem;color:var(--navy-3);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--muted)}
.faq{max-width:860px}

/* quote */
.quote__grid{display:grid;gap:34px}
.contact-list{display:grid;gap:10px;margin-top:22px}
.contact-item{display:flex;flex-direction:column;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px 16px;color:#fff;text-decoration:none}
.contact-item__k{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--yellow)}
.contact-item__v{font-weight:700;word-break:break-word}
.form-card{background:#fff;color:var(--ink);border-radius:24px;padding:24px;box-shadow:var(--shadow-lg)}
.quote-form{display:grid;gap:14px}
.form-row{display:grid;gap:14px}
.quote-form label{display:grid;gap:6px;font-weight:700;font-size:.92rem;color:var(--navy)}
.opt{font-weight:500;color:var(--muted)}
.quote-form input[type=text],.quote-form input[type=tel],.quote-form input[type=email],.quote-form select,.quote-form textarea{width:100%;font:inherit;font-weight:500;padding:12px 14px;border:1.5px solid #cfd8e3;border-radius:12px;background:#fbfcfe;color:var(--ink)}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--navy-3);outline:3px solid rgba(255,196,0,.5);outline-offset:0}
.quote-form .is-invalid{border-color:var(--red)!important}
.colour-pick{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.colour-pick legend{font-weight:700;font-size:.92rem;color:var(--navy);margin-bottom:6px}
.colour-pick label{display:flex!important;align-items:center;gap:6px!important;border:1.5px solid #cfd8e3;border-radius:999px;padding:6px 12px 6px 6px;cursor:pointer;font-size:.85rem}
.colour-pick input{position:absolute;opacity:0}
.colour-pick label:has(input:checked){border-color:var(--navy);background:var(--tint)}
.colour-pick input:focus-visible+.swatch{outline:3px solid var(--yellow)}
.swatch{width:22px;height:22px;border-radius:50%;border:1px solid #cbd5e1;display:inline-grid;place-items:center;font-size:.75rem}
.consent{display:flex!important;grid-template-columns:none;gap:10px!important;align-items:flex-start;font-weight:500!important;font-size:.85rem!important}
.consent input{margin-top:4px;width:18px;height:18px;flex:none}
.form-note{font-size:.85rem;color:var(--muted);margin:0;text-align:center}
.form-note.is-error{color:var(--red);font-weight:700}
.form-note.is-ok{color:var(--green);font-weight:700}

/* page hero + services + prices */
.page-hero{background:linear-gradient(160deg,var(--navy) 0%,#0a1a31 100%);color:#fff;padding:54px 0}
.page-hero .lead{color:#d5deeb;max-width:44em}
.page-hero--slim{padding:40px 0}
.service__grid{display:grid;gap:20px}
.service__icon svg{width:72px;height:72px;padding:16px;border-radius:20px;background:var(--tint);color:var(--navy)}
.section--tint .service__icon svg{background:#fff}
.service__icon--feature svg{background:var(--yellow)}
.service__price{font-size:1.1rem;font-weight:700;color:var(--muted)}
.service__price strong{font-size:1.7rem;color:var(--navy);font-weight:900}
.service__price span{display:inline-block;margin-left:8px;font-size:.9rem}
.cta-band__inner{text-align:center}
.cta-band .btn-row{justify-content:center}
.deal-banner{display:grid;gap:18px;background:var(--navy);color:#fff;border-radius:26px;padding:28px;margin-bottom:46px;box-shadow:var(--shadow-lg);border-bottom:6px solid var(--yellow)}
.deal-banner .eyebrow{color:var(--yellow)}
.deal-banner p{color:#d5deeb;margin:0}
.deal-banner__price span{display:block;font-size:4rem;font-weight:900;color:var(--yellow);letter-spacing:-.04em;line-height:1}
.deal-banner__price small{color:#c9d5e6;font-weight:600}
.table-title{margin-bottom:16px}
.table-wrap{overflow-x:auto;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow)}
.price-table{width:100%;border-collapse:collapse;min-width:560px;background:#fff}
.price-table th,.price-table td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--line);vertical-align:top}
.price-table thead th{background:var(--tint);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.price-table tbody th{font-weight:700;color:var(--navy)}
.price-table td:nth-child(2){color:var(--muted)}
.price-table td:last-child{white-space:nowrap}
.price-table td:last-child strong{font-size:1.2rem;color:var(--navy)}
.price-table tr.is-feature{background:#fff8dc}
.price-table tr.is-feature td:last-child strong{font-size:1.5rem}
.terms{margin-top:44px;background:var(--tint);border-radius:20px;padding:26px;scroll-margin-top:90px}
.terms h2{font-size:1.4rem}
.terms li{margin-bottom:8px;color:#334155}
.prose{max-width:760px}
.prose h2{font-size:1.3rem;margin-top:1.4em}

/* footer */
.site-footer{background:#07152a;color:#b9c6d8;padding:54px 0 24px;font-size:.93rem}
.footer__grid{display:grid;gap:30px}
.site-footer h3{color:#fff;font-size:1rem;margin-bottom:12px}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.site-footer a{color:#dbe4f0;text-decoration:none}
.site-footer a:hover{color:var(--yellow)}
.footer__lead{margin-top:14px}
.footer__vat{font-size:.82rem;color:#8a9bb3}
.footer__base{border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:20px;font-size:.8rem;color:#8a9bb3}

/* mobile bar */
.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:rgba(11,31,58,.97);box-shadow:0 -8px 24px rgba(0,0,0,.2)}
.mobile-bar__btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:13px 6px;border-radius:12px;font-weight:800;text-decoration:none;font-size:.95rem}
.mobile-bar__btn svg{width:20px;height:20px;flex:none}
.mobile-bar__btn--call{background:#fff;color:var(--navy)}
.mobile-bar__btn--quote{background:var(--yellow);color:var(--navy)}

/* ≥ 640px */
@media (min-width:640px){
  .form-row{grid-template-columns:1fr 1fr}
  .strip__grid{grid-template-columns:repeat(4,1fr)}
  .topbar__right{display:inline}
  .header__cta .btn--call span{display:inline}
  .included__grid{grid-template-columns:1fr 1fr}
  .service__grid{grid-template-columns:110px 1fr}
  .deal-banner{grid-template-columns:1fr auto;align-items:center}
}
/* ≥ 980px */
@media (min-width:980px){
  body{padding-bottom:0}
  .mobile-bar{display:none}
  .nav{position:static;transform:none;background:none;padding:0;width:auto;flex-direction:row;align-items:center;gap:6px}
  .nav a{color:var(--navy);font-size:.98rem;border:0;padding:8px 12px;border-radius:10px}
  .nav a:hover{background:var(--tint)}
  .nav a[aria-current="page"]{color:var(--navy);background:var(--tint)}
  .nav .nav__quote{margin:0 0 0 6px;padding:10px 18px;border-radius:999px}
  .nav-toggle{display:none}
  .header__inner{height:78px}
  .hero{padding:70px 0 90px}
  .hero__grid{grid-template-columns:1.05fr 1fr;align-items:center;gap:50px}
  .price-card{position:absolute;left:-40px;bottom:-40px;margin:0;width:290px}
  .price-beat__grid{grid-template-columns:1.1fr .9fr;gap:60px}
  .why{grid-template-columns:1.1fr .9fr;gap:60px}
  .quote__grid{grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
  .footer__grid{grid-template-columns:1.4fr 1fr 1fr 1fr}
  .section{padding:90px 0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* overflow guards */
html,body{overflow-x:clip}
.hero__grid>*,.price-beat__grid>*,.why>*,.quote__grid>*,.service__grid>*,.footer__grid>*{min-width:0}
.nav{visibility:hidden;transition:transform .25s,visibility .25s}
.nav.is-open{visibility:visible}
@media (min-width:980px){.nav{visibility:visible}}

/* ===== Photography ===== */
img{height:auto}
.hero__photo{border-radius:28px;box-shadow:var(--shadow-lg);width:100%;aspect-ratio:4/3;object-fit:cover;border:4px solid rgba(255,255,255,.12)}
.included__layout{display:grid;gap:22px;align-items:start}
.included__photo img,.areas__photo img,.service__photo img,.quote__photo img,.deal-banner__photo img{width:100%;border-radius:20px;object-fit:cover;box-shadow:var(--shadow)}
.included__photo img{aspect-ratio:4/3}
.colour-photos{display:grid;gap:18px;margin-bottom:26px}
.colour-photos figure{margin:0;background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.colour-photos img{width:100%;aspect-ratio:4/3;object-fit:cover}
.colour-photos figcaption{display:flex;align-items:center;gap:10px;padding:14px 16px;font-weight:800;color:var(--navy)}
.card__media{display:block;margin:-22px -22px 16px;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden;aspect-ratio:16/10;background:var(--tint)}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .card__media img{transform:scale(1.05)}
.card--feature .card__media{border-bottom:4px solid var(--yellow)}
.areas__photo{margin-bottom:24px}
.areas__photo img{aspect-ratio:21/8;object-position:50% 45%}
.service__photo img{aspect-ratio:4/3}
.quote__photo{margin:22px 0 4px}
.quote__photo img{aspect-ratio:16/10;box-shadow:var(--shadow-lg)}
.deal-banner--photo{grid-template-columns:1fr}
.deal-banner__photo img{aspect-ratio:16/10;box-shadow:none}
.page-hero--photo{background:linear-gradient(100deg,rgba(11,31,58,.96) 0%,rgba(11,31,58,.86) 45%,rgba(11,31,58,.55) 100%),var(--bg) center/cover no-repeat}
/* before / after slider */
.ba-grid{display:grid;gap:22px}
.ba{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/3;background:var(--tint);user-select:none}
.ba__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba__img--after{clip-path:inset(0 0 0 var(--pos))}
.ba__handle{position:absolute;top:0;bottom:0;left:var(--pos);width:4px;margin-left:-2px;background:var(--yellow);pointer-events:none}
.ba__handle::after{content:"\2039\00a0\203A";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:var(--yellow);color:var(--navy);font-weight:900;font-size:1.3rem;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.3)}
.ba__range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ba__range:focus-visible~.ba__handle{outline:3px solid #fff}
.ba__tag{position:absolute;top:14px;padding:5px 12px;border-radius:999px;font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;pointer-events:none}
.ba__tag--before{left:14px;background:rgba(11,31,58,.85);color:#fff}
.ba__tag--after{right:14px;background:var(--yellow);color:var(--navy)}
@media (min-width:640px){
  .colour-photos{grid-template-columns:repeat(3,1fr)}
  .ba-grid{grid-template-columns:1fr 1fr}
  .service__grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:34px;align-items:center}
  .deal-banner--photo{grid-template-columns:300px 1fr auto}
}
@media (min-width:980px){
  .included__layout{grid-template-columns:.8fr 1.2fr;gap:30px}
  .included__photo img{aspect-ratio:3/4;height:100%}
  .service__grid{grid-template-columns:420px 1fr;gap:50px}
}

/* ===== Deal checklist / price v3 ===== */
.deal-list{display:grid;gap:18px}
.deal-list__col{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px 22px 18px;box-shadow:var(--shadow)}
.deal-list__col--not{background:var(--tint);box-shadow:none}
.deal-list__title{font-size:1.1rem;margin-bottom:14px;color:var(--navy)}
.ticklist,.crosslist,.faq-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ticklist li,.crosslist li,.faq-list li{position:relative;padding-left:32px;line-height:1.45}
.ticklist li::before{content:"";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.crosslist li{color:#475569}
.crosslist li::before{content:"";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:#cbd5e1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' fill='none' stroke='%230b1f3a' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat}
.faq-list{margin:0 0 1em}
.faq-list li{color:var(--muted)}
.faq-list li::before{content:"";position:absolute;left:8px;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--yellow)}
.deal-list__note{font-size:.88rem;color:var(--muted);margin:14px 0 0}
.price-card__from{font-size:.28em;font-weight:800;letter-spacing:0;vertical-align:.9em;margin-right:6px;text-transform:uppercase;color:var(--muted)}
.price-card__save{background:var(--green)!important;box-shadow:0 6px 14px rgba(22,163,74,.35)!important}
.compare-sub{font-weight:800;color:var(--navy);margin:18px 0 8px}
.guide-list{margin:0;padding-left:18px;color:#334155;display:grid;gap:8px;font-size:.93rem}
.compare-row--us small{font-weight:600;color:var(--muted);font-size:.8rem}
.compare-row--us strong{white-space:nowrap}
.deal-banner__from{display:block;color:#c9d5e6;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.price-table td small{color:var(--muted)}
@media (min-width:980px){.deal-list{grid-template-columns:1.35fr 1fr}.included__layout{align-items:stretch}}

/* ===== v2: VAT notes, call panel, landing pages ===== */
.price-card__vat{margin:2px 0 0;font-size:.8rem;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.06em}
.page-hero__note{margin:-6px 0 18px;color:#ffc400;font-weight:700;font-size:.92rem}
.deal-list__vat{font-size:.8rem;font-weight:600;color:var(--muted)}
.topbar a{color:inherit;font-weight:700}
.price-table th small{font-weight:600;opacity:.8}
.quote__call{margin:0 0 18px}
.call-card{display:flex;flex-direction:column;gap:14px;justify-content:center}
.call-card__title{font-size:1.35rem;margin:0;color:var(--navy)}
.call-card p{margin:0;color:var(--muted)}
.page-landing .prose h2{margin-top:1.6em}
.page-landing .prose h2:first-child{margin-top:0}
.page-landing .prose a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.page-landing .prose .ticklist{margin:0 0 1.2em}
.page-hero h1 a,.service h2 a{color:inherit;text-decoration:none}
.page-404 .page-hero{padding:56px 0 40px}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-call{margin:8px 0 0;text-align:center;font-size:.92rem;color:var(--muted)}
.form-call a{color:var(--navy);font-weight:800}
.quote-form{position:relative}
