/* Commercial Junk Removals – front-end styles */
:root{
  --red:#B31B2B;--red-dark:#8E1422;--red-soft:#E03A48;--pink:#FBE9EB;
  --black:#111111;--ink:#1c1c1c;--muted:#4a4a4a;--line:#E4E4E4;--soft:#F5F5F5;--white:#fff;
  --wa:#1FA855;--wa-dark:#178A45;--nav:#111111;--nav-dd:#FFFFFF;
  --display:'Bricolage Grotesque',Georgia,serif;--body:'Figtree','Helvetica Neue',Arial,sans-serif;--nav-font:'DM Sans','Figtree',Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--white);line-height:1.6;font-size:16px;overflow-x:hidden}
img,video{max-width:100%;height:auto;display:block}
picture{display:contents}
a{color:var(--red)}
h1,h2,h3,h4{font-family:var(--display);color:var(--black);margin:0;line-height:1.08}
h2{font-size:clamp(30px,4vw,50px);font-weight:800;letter-spacing:-1.2px}
h3{font-size:22px;font-weight:800}
p{margin:0}
.wrap{max-width:1280px;margin:0 auto;padding:0 32px}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:#fff;padding:10px 16px;border-radius:8px}
.skip:focus{left:8px}
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}

/* ---------- seasonal offer bar ---------- */
.offer-bar{background:var(--black);color:#fff;font-size:15px;position:relative;z-index:61}
.ob-in{display:flex;align-items:center;justify-content:center;gap:14px;min-height:46px;padding-top:6px;padding-bottom:6px;flex-wrap:nowrap}
.ob-tag{background:var(--red);color:#fff;font-weight:800;font-size:12px;letter-spacing:.6px;text-transform:uppercase;padding:4px 10px;border-radius:999px;white-space:nowrap}
.ob-text{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ob-text strong{font-weight:700}
.ob-end{color:#CFCFCF}
.ob-btn{background:var(--red);color:#fff;text-decoration:none;font-weight:700;padding:7px 16px;border-radius:999px;white-space:nowrap;font-size:14.5px}
.ob-btn:hover{background:var(--red-dark);color:#fff}
.ob-call{display:inline-flex;align-items:center;gap:6px;color:#fff;text-decoration:none;font-weight:700;white-space:nowrap}
.ob-call:hover{color:var(--red-soft)}
.ob-close{background:none;border:0;color:#aaa;font-size:24px;line-height:1;cursor:pointer;padding:0 4px;margin-left:4px}
.ob-close:hover{color:#fff}
@media (max-width:900px){.ob-call{display:none}}
@media (max-width:700px){
  .offer-bar{font-size:13.5px}
  .ob-in{gap:8px;justify-content:space-between;min-height:42px}
  .ob-tag,.ob-end{display:none}
  .ob-btn{padding:6px 12px;font-size:13px}
}

/* ---------- header ---------- */
.site-header{background:#fff;position:relative;z-index:60;border-bottom:1px solid var(--line);box-shadow:0 2px 14px rgba(0,0,0,.04)}
.hdr{display:flex;align-items:center;gap:40px;padding-top:10px;padding-bottom:10px;max-width:1440px;min-height:100px}
.logo{flex-shrink:0;display:flex;align-items:center;color:var(--black);text-decoration:none}
.logo img{height:80px;width:auto;max-width:none;object-fit:contain}
.nav{flex:1}
.nav>ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;row-gap:4px}
.nav li{position:relative}
.nav>ul>li>a{display:block;font:600 16px/1.7 var(--nav-font);color:var(--nav);text-decoration:none;padding:12px 15px}
.nav>ul>li>a:hover,.nav>ul>li.current>a{text-decoration:underline;text-underline-offset:5px}
.nav .has-dd{display:flex;align-items:center}
.nav .has-dd>a{padding-right:4px}
.dd-toggle{background:none;border:0;color:var(--nav);cursor:pointer;padding:8px 10px 8px 2px}
.dd{list-style:none;margin:0;padding:10px;position:absolute;top:100%;left:0;min-width:240px;background:var(--nav-dd);border:1px solid var(--line);border-top:3px solid var(--red);border-radius:0 0 14px 14px;display:none;z-index:70;box-shadow:0 18px 40px rgba(0,0,0,.12)}
.dd a{display:block;padding:9px 12px;color:var(--black);text-decoration:none;font:600 15px/1.45 var(--nav-font);border-radius:8px}
.dd a:hover,.dd a[aria-current]{background:var(--soft);color:var(--red)}
.has-dd:hover>.dd,.has-dd:focus-within>.dd,.has-dd.open>.dd{display:block}
.burger{display:none;margin-left:auto;width:50px;height:50px;border:0;border-radius:12px;background:var(--black);color:#fff;cursor:pointer;align-items:center;justify-content:center}
.burger:hover{background:var(--red)}

/* desktop menu (one row with dropdowns) */
.dnav{flex:1;display:flex;justify-content:flex-end}
.dnav>ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px;flex-wrap:nowrap}
.dnav li{position:relative}
.dnav>ul>li>a,.dnav-btn{display:flex;align-items:center;gap:6px;font:600 16px/1.7 var(--nav-font);color:var(--nav);text-decoration:none;padding:12px 16px;background:none;border:0;cursor:pointer;white-space:nowrap;border-radius:10px}
.dnav>ul>li>a,.dnav-btn{position:relative}
.dnav>ul>li>a::after,.dnav-btn::after{content:"";position:absolute;left:16px;right:16px;bottom:6px;height:2px;background:var(--red);transform:scaleX(0);transition:transform .2s}
.dnav>ul>li>a:hover,.dnav-btn:hover,.dnav .has-dd:hover>a,.dnav .has-dd:hover>.dnav-btn{color:var(--red)}
.dnav>ul>li.current>a,.dnav>ul>li.current>.dnav-btn{color:var(--red)}
.dnav>ul>li.current>a::after,.dnav>ul>li.current>.dnav-btn::after,.dnav>ul>li>a:hover::after,.dnav-btn:hover::after{transform:scaleX(1)}
.dnav .dd{right:auto;left:0;top:100%;min-width:260px}
.dnav .dd-cols{display:none;grid-template-columns:repeat(2,minmax(0,1fr));min-width:440px;right:0;left:auto}
.dnav .has-dd:hover>.dd-cols,.dnav .has-dd:focus-within>.dd-cols{display:grid}
.dnav .dd a[aria-current]{text-decoration:underline}
@media (min-width:1101px){#site-nav{display:none!important}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font:700 16px var(--body);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s;line-height:1.2;text-align:center}
.btn-sm{min-height:42px;padding:0 18px;font-size:14.5px}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-dark);color:#fff}
.btn-dark{background:var(--black);color:#fff}.btn-dark:hover{background:#333;color:#fff}
.btn-line{border-color:var(--black);color:var(--black);background:transparent}.btn-line:hover{background:var(--black);color:#fff}
.btn-ghost{border-color:rgba(255,255,255,.75);color:#fff;background:transparent}.btn-ghost:hover{background:#fff;color:var(--black)}
.btn-wa{background:var(--wa);color:#fff}.btn-wa:hover{background:var(--wa-dark);color:#fff}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.btns.jc{justify-content:center}
.btns.mt0{margin-top:0}
.bg-soft .btn-ghost,.section .btn-ghost,.estimate .btn-ghost{border-color:var(--black);color:var(--black)}
.bg-soft .btn-ghost:hover,.section .btn-ghost:hover{background:var(--black);color:#fff}
.bg-dark .btn-ghost,.help-box .btn-ghost,.band .btn-ghost,.final .btn-ghost,.hero .btn-ghost,.page-header .btn-ghost{border-color:rgba(255,255,255,.75);color:#fff}
.bg-dark .btn-ghost:hover,.help-box .btn-ghost:hover,.band .btn-ghost:hover,.final .btn-ghost:hover{background:#fff;color:var(--black)}

/* ---------- generic sections ---------- */
.section{padding:100px 0}
.section-tight{padding:40px 0}
/* two sections with the same coloured background read as one block: no doubled gap */
.section.bg-soft+.section.bg-soft,.section.bg-dark+.section.bg-dark,.section.bg-red+.section.bg-red{padding-top:0;display:flow-root}
.section.bg-soft+.section.bg-soft>.wrap>.grid:first-child,.section.bg-dark+.section.bg-dark>.wrap>.grid:first-child{margin-top:0}
.bg-soft{background:var(--soft)}
.bg-dark{background:var(--black);color:#E2E2E2}
.bg-dark h2,.bg-dark h3{color:#fff}
.bg-red{background:var(--red);color:#fff}
.bg-red h2,.bg-red h3{color:#fff}
.bg-red .kicker{color:#fff;opacity:.85}
.bg-red .body-copy p,.bg-red .rich p{color:#FBE3E6}
.bg-red .checks li{color:#fff}
.bg-red .checks svg{color:#fff}
.kicker{display:inline-block;font-weight:700;font-size:15px;color:var(--red);margin-bottom:14px}
.bg-dark .kicker{color:var(--red-soft)}
.lead{font-size:18px;color:var(--muted);max-width:760px;margin-top:16px}
.bg-dark .lead,.bg-dark .rich p{color:#CFCFCF}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}
.center-text{text-align:center;margin-left:auto;margin-right:auto}
.narrow{max-width:960px}
.narrow.center .rich{text-align:center}
.rich>*+*{margin-top:16px}
.rich p,.body-copy p{font-size:17px;color:var(--muted)}
.rich strong,.body-copy strong{color:var(--black)}
.bg-dark .rich strong{color:#fff}
.rich ul,.rich ol{margin:16px 0 0;padding-left:22px;color:var(--muted);font-size:17px}
.rich li+li{margin-top:6px}
.rich ul.tick-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;margin-top:22px}
.rich ul.tick-list li{margin:0;padding-left:28px;position:relative;font-weight:600;color:var(--black)}
.rich ul.tick-list li::before{content:"";position:absolute;left:0;top:4px;width:18px;height:18px;background:var(--red);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
.bg-dark .rich ul.tick-list li,.bg-red .rich ul.tick-list li{color:#fff}
.bg-red .rich ul.tick-list li::before{background:#fff}
/* headings and lists inside rich text on dark / red backgrounds */
.bg-dark .rich h2,.bg-dark .rich h3,.bg-dark .rich h4,.bg-red .rich h2,.bg-red .rich h3,.bg-red .rich h4{color:#fff}
.bg-dark .rich ul,.bg-dark .rich ol,.bg-dark .rich li,.bg-red .rich ul,.bg-red .rich ol,.bg-red .rich li{color:#fff}
/* numbered list: same grid as the tick list, red number badges */
.rich ol.tick-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 22px;margin-top:22px;counter-reset:n;text-align:left}
.rich ol.tick-list li{margin:0;padding-left:38px;position:relative;font-weight:600;color:var(--black);counter-increment:n;line-height:1.5}
.rich ol.tick-list li::before{content:counter(n);position:absolute;left:0;top:-1px;width:26px;height:26px;border-radius:99px;background:var(--red);color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}
.bg-dark .rich ol.tick-list li,.bg-red .rich ol.tick-list li{color:#fff}
.bg-red .rich ol.tick-list li::before{background:#fff;color:var(--red)}
@media (max-width:1100px){.rich ol.tick-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.rich ol.tick-list{grid-template-columns:1fr}}
.side-card .rich ul.tick-list,.card .rich ul.tick-list{grid-template-columns:1fr}
@media (max-width:700px){.rich ul.tick-list{grid-template-columns:1fr}}
.rich h2{font-size:clamp(26px,3vw,36px);margin-top:36px}
.rich h3{font-size:22px;margin-top:28px}
.rich h4{font-size:18px;margin-top:20px}
.rich a{color:var(--red);font-weight:600}
.rich table{width:100%;border-collapse:collapse;margin-top:22px;font-size:15.5px;background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line);display:block;overflow-x:auto}
.rich thead,.rich tbody{display:table;width:100%;border-collapse:collapse}
.rich th,.rich td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink)}
.rich tr:first-child td,.rich th{background:var(--black);color:#fff;font-weight:700}
.rich tr:first-child td strong{color:#fff}
.rich tr:nth-child(even) td{background:#FAFAFA}
.outro{margin-top:32px;max-width:900px;margin-left:auto;margin-right:auto;text-align:center}
.bg-dark .outro p{color:#CFCFCF}

/* ---------- hero ---------- */
/* slides share one grid cell, so the hero grows to fit the tallest slide – text is never cut off */
.hero{position:relative;display:grid;min-height:min(860px,max(560px,calc(100vh - 100px)));overflow:hidden;background:#000;color:#fff}
.hero-boxed{max-width:1300px;margin:30px auto 0;min-height:min(640px,max(520px,calc(100vh - 160px)))}
.slide{position:relative;grid-area:1/1;display:flex;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s}
.slide.is-active{opacity:1;visibility:visible;z-index:1}
.slide-media{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;transform:scale(1.08);transition:transform 7s ease-out}
.slide.is-active .slide-media{transform:scale(1)}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.55) 50%,rgba(0,0,0,.2) 100%)}
.slide-content{position:relative;z-index:2;flex:1;width:100%;max-width:1280px;margin:0 auto;padding:72px 112px 96px;display:flex;flex-direction:column;justify-content:center}
.slide-content>*{max-width:720px;opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.slide.is-active .slide-content>*{opacity:1;transform:none}
.slide.is-active .slide-content>*:nth-child(2){transition-delay:.15s}
.slide.is-active .slide-content>*:nth-child(3){transition-delay:.3s}
.slide.is-active .slide-content>*:nth-child(4){transition-delay:.45s}
.slide-tag{align-self:flex-start;display:inline-block;background:var(--red);color:#fff;font-weight:700;font-size:14.5px;padding:8px 16px;border-radius:999px;margin-bottom:22px;text-decoration:none}
.slide h1,.slide .s-title{color:#fff;font-family:var(--display);font-size:clamp(36px,4.6vw,64px);font-weight:800;letter-spacing:-1.5px;line-height:1.04;margin:0;overflow-wrap:break-word}
.slide p{font-size:20px;color:#E6E6E6;margin-top:20px}
.slide p.s-title{margin-top:0;color:#fff}
/* short laptop screens (e.g. 1366×650, 1280×620): keep long H1s, text and buttons above the fold */
@media (min-width:1101px) and (max-height:760px){
  .slide-content{padding:40px 112px 64px}
  .slide-content>*{max-width:860px}
  .slide h1,.slide .s-title{font-size:clamp(34px,7.4vh,56px)}
  .slide-content p{font-size:17px}
}
.hero-boxed .slide h1,.hero-boxed .slide .s-title{font-size:clamp(34px,4.6vw,62px)}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;font-weight:600;font-size:15px}
.hero-badges span{display:flex;align-items:center;gap:8px}
.hero-badges svg{color:var(--red-soft)}
.h-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:none;border:0;color:var(--red);cursor:pointer;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6));transition:transform .2s,color .2s;padding:0}
.h-arrow:hover{color:var(--red-soft);transform:translateY(-50%) scale(1.12)}
.h-prev{left:14px}.h-next{right:14px}
.dots{position:absolute;left:0;right:0;bottom:30px;z-index:5;display:flex;justify-content:center;gap:10px}
.dot{width:12px;height:12px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.5);cursor:pointer;transition:width .3s,background .3s}
.dot.is-active{width:36px;background:var(--red)}
.progress{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.15);z-index:5}
.progress span{display:block;height:100%;width:0;background:var(--red)}

/* ---------- page header ---------- */
.page-header{position:relative;background:var(--black);color:#fff;padding:90px 0 80px;overflow:hidden}
.page-header .ph-media{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;opacity:.35}
.page-header .wrap{position:relative;z-index:2}
.page-header h1,.page-header .s-title{color:#fff;font-family:var(--display);font-size:clamp(34px,5vw,62px);font-weight:800;letter-spacing:-1.5px;line-height:1.05;max-width:980px}
.page-header .center h1{margin:0 auto}
.ph-intro{font-size:19px;color:#DADADA;margin-top:18px;max-width:780px}
.center .ph-intro{margin-left:auto;margin-right:auto}
.post-meta{display:flex;align-items:center;gap:8px;color:#CFCFCF;margin-top:20px;font-weight:600}
.crumbs ol{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:14px;color:#bbb}
.crumbs li+li::before{content:"›";margin-right:6px;color:#777}
.crumbs a{color:#fff;text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumb-bar{background:var(--soft);border-bottom:1px solid var(--line)}
.crumb-bar .crumbs ol{margin:0;padding:12px 0;color:var(--muted)}
.crumb-bar .crumbs a{color:var(--black);font-weight:600}
.crumb-bar .crumbs a:hover{color:var(--red)}
.crumb-bar .crumbs li[aria-current]{color:var(--muted)}
.crumb-bar .crumbs li+li::before{color:#aaa}
.hero+.crumb-bar+.marquee,.hero+.crumb-bar{margin:0}
.preview-bar{background:#FFD000;color:#111;text-align:center;font-weight:700;padding:8px}

/* ---------- marquee ---------- */
.marquee{background:var(--red);color:#fff;overflow:hidden;padding:18px 0}
.hero-boxed+.marquee{max-width:1300px;margin:0 auto}
.marquee-track{display:flex;width:max-content;animation:mq 40s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.mq{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:17px;padding:0 34px;white-space:nowrap;border-right:1px solid rgba(255,255,255,.35)}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- split ---------- */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.split.rev>.media,.split.rev>.side-card{order:-1}
.single{max-width:1000px}
.media{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:5/4;background:#ddd}
.media img{width:100%;height:100%!important;object-fit:cover}
.media .chip{position:absolute;left:20px;bottom:20px;background:#fff;border-radius:16px;padding:14px 18px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.media .chip strong{display:block;font-family:var(--display);font-size:19px;color:var(--black)}
.media .chip span{font-size:14px;color:var(--muted)}
.body-copy .rich{margin-top:6px}
.body-copy h2+.rich,.body-copy h2+p{margin-top:16px}
.checks{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}
.checks li{display:flex;gap:10px;align-items:flex-start;font-weight:600;color:var(--black)}
.checks li svg{flex-shrink:0;margin-top:3px;color:var(--red)}
.bg-dark .checks li{color:#fff}
.checks.one-col{grid-template-columns:1fr}
.checks.items-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}
.below{margin-top:56px}
.below-title{font-size:24px}
.below-body{margin-top:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;color:var(--ink)}
.side-card{padding:36px}
.side-card h3{font-size:24px}
.bg-dark .card{background:#1c1c1c;border-color:#2e2e2e}
.bg-dark .card p,.bg-dark .card .rich p{color:#BDBDBD}

/* large text lines next to a split (no white card) */
.junk-lines{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.junk-lines li{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:20px 24px;font-family:var(--display);font-weight:600;font-size:21px;line-height:1.3;color:var(--black)}
.bg-red .junk-lines li{background:rgba(0,0,0,.18);border-color:transparent;color:#fff}
.bg-dark .junk-lines li{background:#1c1c1c;border-color:#2e2e2e;color:#fff}
@media (max-width:700px){.junk-lines li{font-size:18px;padding:16px 18px}}

/* ---------- offer / redbox / band ---------- */
.offer{background:var(--black);border-radius:28px;padding:48px 56px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.offer h2{color:#fff}
.offer p{color:#D0D0D0;margin-top:10px}
.offer small{display:block;color:#9a9a9a;margin-top:10px;font-size:13px}
.redbox{background:var(--red);color:#fff;border-radius:28px;padding:56px;display:grid;gap:40px}
.redbox.has-img{grid-template-columns:1.2fr .8fr;align-items:center}
.redbox h2{color:#fff;max-width:860px}
.redbox .kicker{color:#fff;opacity:.85}
.redbox .rich p,.redbox p{font-size:17.5px;color:#FBE3E6;max-width:900px}
.redbox .rich strong{color:#fff}
.redbox .rich ul{color:#FBE3E6}
.redbox .media{aspect-ratio:4/3}
/* readable text on red / black blocks */
.offer .kicker{color:var(--red-soft)}
.bg-red .rich strong,.bg-red .body-copy strong{color:#fff}
.redbox .rich ul.tick-list li,.redbox .rich ol.tick-list li,.redbox .rich li{color:#fff}
.redbox .rich ul.tick-list li::before{background:#fff}
.redbox .rich ol.tick-list li::before{background:#fff;color:var(--red)}
.redbox .rich a,.bg-red .rich a{color:#fff;text-decoration:underline;text-underline-offset:3px}
/* white cards keep dark text on red sections */
.bg-red .card{color:var(--ink)}
.bg-red .card h3{color:var(--black)}
.bg-red .card .rich p,.bg-red .card p{color:var(--muted)}
/* buttons placed inside rich text (e.g. a card) keep their own colours */
.rich a.btn{text-decoration:none;font-weight:700}
.rich a.btn-red,.rich a.btn-dark,.rich a.btn-wa{color:#fff}
.rich a.btn-red{background:var(--red)}.rich a.btn-dark{background:var(--black)}.rich a.btn-wa{background:var(--wa)}
.rich a.btn-ghost{color:var(--black);border-color:var(--black)}
.card-hl .rich a.btn-ghost,.bg-dark .rich a.btn-ghost,.bg-red .rich a.btn-ghost,.redbox .rich a.btn-ghost{color:#fff;border-color:rgba(255,255,255,.75)}
.rich p.btns{display:flex;flex-wrap:wrap;gap:12px}
.band{padding:56px 0}
.band .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.band-red{background:var(--red);color:#fff}
.band-dark{background:var(--black);color:#ddd}
.band h2{color:#fff;font-size:clamp(28px,3.2vw,40px)}
.band p{margin-top:10px;font-size:17px;color:#FBE3E6;max-width:680px}
.band-dark p{color:#CFCFCF}
.band .kicker{color:#fff;opacity:.85;margin-bottom:10px}
.band-dark .kicker{color:var(--red-soft);opacity:1}
.band-red .btn-red{background:var(--black)}

/* ---------- cards grid ---------- */
.grid{display:grid;gap:18px;margin-top:48px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card .ic{width:54px;height:54px;border-radius:14px;background:var(--pink);color:var(--red);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.card h3{font-size:19px}
.card .rich{margin-top:8px}
.card .rich p,.card p{font-size:15.5px;color:var(--muted)}
.card .rich ul{font-size:15.5px}

/* ---------- journey (dark) ---------- */
.ig-journey{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:18px;margin-top:56px}
.ig-stage{background:#1c1c1c;border:1px solid #2e2e2e;border-radius:24px;padding:34px 26px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.ig-mid{border-color:var(--red)}
.ig-circle{width:88px;height:88px;border-radius:50%;background:#fff;color:#111;display:flex;align-items:center;justify-content:center;margin-bottom:4px}
.ig-circle.ig-red{background:var(--red);color:#fff}
.ig-tag{font-size:12.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;padding:5px 12px;border-radius:999px;background:#2e2e2e;color:#fff}
.ig-tag.red{background:var(--red)}
.ig-stage h3{font-size:24px;color:#fff}
.ig-stage p{color:#BDBDBD;font-size:15.5px}
.ig-arrow{display:flex;align-items:center;color:var(--red)}
.ig-steps{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative}
.ig-steps::before{content:"";position:absolute;left:10%;right:10%;top:44px;height:3px;background:repeating-linear-gradient(90deg,var(--red) 0 14px,transparent 14px 24px)}
.ig-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.ig-ico{width:64px;height:64px;border-radius:50%;background:#111;border:3px solid var(--red);color:#fff;display:flex;align-items:center;justify-content:center;margin-top:12px;position:relative;z-index:1}
.ig-num{position:absolute;top:0;left:calc(50% + 18px);z-index:2;width:26px;height:26px;border-radius:50%;background:#fff;color:#111;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.ig-lbl{font-weight:700;color:#fff;font-size:16px}
.ig-sub{text-align:center;color:#fff;font-size:26px;margin-top:64px}
.ig-backs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:26px}
.ig-backs-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ig-back{background:#1c1c1c;border:1px solid #2e2e2e;border-radius:18px;padding:22px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff;font-weight:700;text-align:center}
.ig-back small{font-weight:500;color:#CFCFCF;font-size:14.5px}
.ig-bico{width:56px;height:56px;border-radius:14px;background:#fff;color:#111;display:flex;align-items:center;justify-content:center}
.ig-back.hl{background:var(--red);border-color:var(--red)}
.ig-back.hl small{color:#FBE3E6}
.ig-back.hl .ig-bico{color:var(--red)}

/* ---------- tiles ---------- */
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:44px}
.tiles.t5{grid-template-columns:repeat(5,minmax(0,1fr))}
.tile{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;font-weight:700;color:var(--black);line-height:1.35}
.tile svg{flex-shrink:0;color:var(--red)}
.bg-dark .tile{background:#1c1c1c;border-color:#2e2e2e;color:#fff}
.tile.hl{background:var(--red);border-color:var(--red);color:#fff}
.tile.hl svg{color:#fff}

/* ---------- before/after gallery ---------- */
/* photos are always shown whole (no cropping) so both the "before" and "after" halves are visible */
.ba-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;margin-top:48px;align-items:start}
.ba-shot{margin:0;grid-column:span 2;background:#fff;border-radius:22px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column}
.ba-shot.wide{grid-column:span 3}
.ba-img{position:relative;background:#111}
.ba-shot img{width:100%;height:auto!important;display:block}
.ba-tag{position:absolute;z-index:2;font-weight:800;font-size:13px;letter-spacing:.5px;padding:6px 12px;border-radius:999px;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.ba-before{background:#111;left:14px;top:14px}
.ba-after{background:var(--red)}
.split-lr .ba-after{left:calc(50% + 14px);top:14px}
.split-tb .ba-after{left:14px;top:calc(50% + 14px)}
.ba-shot figcaption{padding:16px 20px;font-weight:700;font-size:17px;color:var(--black);display:flex;align-items:center;gap:10px}
.ba-shot figcaption::before{content:"";width:10px;height:10px;border-radius:99px;background:var(--red);flex-shrink:0}

/* ---------- areas ---------- */
.areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:48px}
.area{background:#1c1c1c;border-radius:22px;padding:30px}
.area h3{display:flex;justify-content:space-between;align-items:center;font-size:24px;color:#fff;gap:10px}
.area h3 em{font-style:normal;font-size:14px;background:var(--red);color:#fff;padding:4px 10px;border-radius:8px;font-family:var(--body)}
.area p{color:#BDBDBD;margin-top:12px}
.area-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.area-links a{color:#fff;text-decoration:none;border:1px solid #3a3a3a;padding:8px 14px;border-radius:999px;font-size:15px}
.area-links a:hover{background:var(--red);border-color:var(--red)}

/* ---------- why (w2) ---------- */
.w2{display:grid;grid-template-columns:44% 56%;min-height:630px;background:#0b0b0b;background-image:linear-gradient(90deg,#0b0b0b 55%,#1a0b0d 100%);color:#ddd}
.w2-media{position:relative;overflow:hidden;min-height:630px;background:#1a1a1a}
.w2-media .w2-photo{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover}
.w2-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,11,.35) 0%,rgba(11,11,11,.55) 55%,#0b0b0b 100%);z-index:1}
.w2-badge{position:absolute;left:32px;bottom:32px;z-index:2;background:var(--red);color:#fff;font-family:var(--display);font-weight:800;font-size:24px;line-height:1.2;padding:16px 22px}
.w2-body{padding:66px 40px 64px 0}
.w2-kicker{display:block;font-size:12px;font-weight:800;letter-spacing:5px;text-transform:uppercase;color:var(--red-soft)}
.w2 h2{color:#fff;font-size:clamp(28px,2.5vw,36px);margin-top:12px;letter-spacing:-.5px}
.w2-bar{display:block;width:56px;height:3px;background:var(--red);margin-top:12px}
.w2-lead{color:#BDBDBD;font-size:16.5px;margin-top:20px;max-width:640px}
.w2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:40px}
.w2-item{display:flex;gap:16px;align-items:flex-start}
.w2-ic{flex-shrink:0;width:40px;height:40px;border-radius:3px;border:1px solid rgba(179,27,43,.55);background:rgba(179,27,43,.14);color:var(--red-soft);display:flex;align-items:center;justify-content:center}
.w2-item h3{color:#fff;font-size:16px;font-family:var(--body);font-weight:700;line-height:1.35}
.w2-item p{font-size:14.5px;color:#B5B5B5;margin-top:8px;line-height:1.6}
.w2-foot{margin-top:44px;padding-top:32px;border-top:1px solid #262626}
.w2-call{display:inline-flex;align-items:center;gap:10px;background:var(--red);color:#fff;text-decoration:none;font-weight:700;font-size:15px;padding:13px 20px;border-radius:3px}
.w2-call:hover{background:var(--red-dark)}
.w2-foot-text{color:#fff;font-weight:700;margin-bottom:18px}
.w2-foot-text:last-child{margin-bottom:0}
/* why section without a photo: full-width body, 3-column grid */
.w2.w2-full{grid-template-columns:1fr;min-height:0}
.w2.w2-full .w2-body{padding:90px 32px;max-width:1280px;margin:0 auto;width:100%}
.w2.w2-full .w2-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.w2.w2-full .w2-foot:empty{display:none}
/* card extras: label, highlighted (dark) card, anchored card offset */
.card-tag{display:inline-block;font-weight:700;font-size:13px;padding:6px 14px;border-radius:999px;background:#EDEDED;color:var(--black);margin-bottom:14px}
.card.card-hl{background:var(--black);border-color:var(--black);color:#fff}
.card.card-hl h3{color:#fff}
.card.card-hl .rich p,.card.card-hl p{color:#C9C9C9}
.card.card-hl .ic{background:var(--red);color:#fff}
.card.card-hl .card-tag{background:var(--red);color:#fff}
.card[id]{scroll-margin-top:110px}
.card .rich .btns{margin-top:18px}
.card .rich .tip{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
/* title above the large text lines */
.lines-side .need-title{font-weight:700;color:inherit;margin-bottom:16px;font-size:17px}
.bg-red .lines-side .need-title,.bg-dark .lines-side .need-title{color:#fff}
/* linked area boxes + rich outro */
a.area-link{text-decoration:none;display:block;transition:background .2s}
a.area-link:hover{background:#262626}
.area-outro{max-width:960px}
.bg-dark .area-outro p{color:#BDBDBD}
.bg-dark .area-outro strong{color:#fff}
@media (max-width:1100px){.w2.w2-full .w2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.w2.w2-full .w2-body{padding:64px 28px}}
@media (max-width:700px){.w2.w2-full .w2-grid{grid-template-columns:1fr}.w2.w2-full .w2-body{padding:48px 16px}}

/* ---------- price / steps ---------- */
.price{background:#fff;border:1px solid var(--line);border-radius:28px;padding:52px}
.ticks{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px;font-weight:600}
.ticks span{display:flex;gap:8px;align-items:center}
.ticks svg{color:var(--red)}
.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:48px}
.steps-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.steps-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.step{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px}
.step .n{width:46px;height:46px;border-radius:99px;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;font-size:19px;margin-bottom:16px}
.step h3{font-size:18px}
.step p{font-size:15px;color:var(--muted);margin-top:8px}
.bg-dark .step{background:#1c1c1c;border-color:#2e2e2e}
.bg-dark .step p{color:#BDBDBD}

/* ---------- faq ---------- */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:12px}
.faq summary{list-style:none;cursor:pointer;padding:22px 26px;font-weight:700;font-size:17.5px;color:var(--black);display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq .pm{flex-shrink:0;width:32px;height:32px;border-radius:99px;background:var(--soft);display:flex;align-items:center;justify-content:center;transition:transform .25s,background .25s}
.faq details[open] .pm{transform:rotate(45deg);background:var(--red);color:#fff}
.faq-a{padding:0 26px 22px}
.faq-a p{font-size:16px}
.help-box{background:var(--black);color:#ddd;border-radius:22px;padding:30px;margin-top:28px}
.help-box h3{color:#fff}
.help-box p{margin-top:8px;color:#CFCFCF}
.help-box .btns{margin-top:20px}

/* ---------- reviews ---------- */
.rating{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;font-weight:700}
.stars{color:#F4B400;letter-spacing:2px;font-size:20px}
.review{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:16px}
.review p{font-size:16.5px;color:var(--ink)}
.review .who{display:flex;align-items:center;gap:12px;margin-top:auto}
.review .av{width:44px;height:44px;border-radius:99px;background:var(--black);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.review .who strong{display:block}
.review .who span{font-size:14px;color:var(--muted)}
.sample-tag{align-self:flex-start;background:#FFF3CD;color:#7a5b00;font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px}

/* ---------- estimate form ---------- */
.estimate{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.est-points{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:14px}
.est-points li{display:flex;gap:12px;font-weight:600;color:var(--black)}
.est-points svg{color:var(--red);flex-shrink:0;margin-top:3px}
.bg-dark .est-points li{color:#fff}
.form{background:#fff;border:1px solid var(--line);border-radius:26px;padding:38px;box-shadow:0 20px 50px rgba(0,0,0,.06)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-weight:600;font-size:14.5px;color:var(--black)}
.field input,.field select,.field textarea{font:500 16px var(--body);padding:14px 16px;border:1.5px solid #D6D6D6;border-radius:12px;background:#fff;color:var(--black);min-height:50px;width:100%}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);outline:none}
.field.has-err input,.field.has-err select{border-color:var(--red)}
.field .err{color:var(--red);font-size:13px;min-height:0}
.form .btn{width:100%;margin-top:22px}
.form .btn[disabled]{opacity:.65;cursor:wait}
.form-note{font-size:13.5px;color:var(--muted);margin-top:12px;text-align:center}
.form-ok{display:none;background:#EAF7EF;color:#135C2F;border-radius:12px;padding:14px 16px;margin-top:16px;font-weight:600}
.form-fail{display:none;background:#FDECEE;color:var(--red-dark);border-radius:12px;padding:14px 16px;margin-top:16px;font-weight:600}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* ---------- contact ---------- */
.c-card{text-decoration:none;display:block;transition:border-color .2s,box-shadow .2s}
.c-card:hover{border-color:var(--red);box-shadow:0 14px 30px rgba(0,0,0,.08)}
.c-card p{font-weight:600;color:var(--black)!important;overflow-wrap:anywhere}
.contact-cards.grid-4 .c-card{padding:24px 22px}
.contact-cards.grid-4 .c-card p{font-size:14.5px}
@media (min-width:1101px) and (max-width:1320px){.contact-cards.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.map{margin-top:40px;border-radius:22px;overflow:hidden;border:1px solid var(--line)}
.map iframe{width:100%;height:420px;border:0;display:block}
.map-link{margin-top:18px}
@media (max-width:700px){.map iframe{height:320px}}

/* ---------- final ---------- */
.final{position:relative;color:#fff;overflow:hidden;background:#111}
.final>img,.final>picture img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover}
.final::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.55));z-index:1}
.final .wrap{position:relative;z-index:2;padding-top:110px;padding-bottom:110px}
.final h2{color:#fff;max-width:760px}
.final .kicker{color:var(--red-soft)}
.final .rich p{color:#DADADA;font-size:18px;max-width:680px}
.final .rich strong{color:#fff}

/* ---------- related links ---------- */
.link-groups{display:grid;gap:28px;margin-top:40px}
.link-groups.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.link-group{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px}
.bg-dark .link-group{background:#1c1c1c;border-color:#2e2e2e}
.link-group h3{font-size:20px}
.link-pills{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.link-pills a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:9px 16px;color:var(--black);text-decoration:none;font-weight:600;font-size:15px;background:#fff;transition:background .2s,color .2s,border-color .2s}
.link-pills a svg{color:var(--red);flex-shrink:0}
.link-pills a:hover{background:var(--red);border-color:var(--red);color:#fff}
.link-pills a:hover svg{color:#fff}
.bg-dark .link-pills a{background:#111;border-color:#3a3a3a;color:#fff}
.post-aside .services-list{margin-top:24px;border:1px solid var(--line);border-radius:22px;padding:26px}
.post-aside .services-list h3{font-size:19px}
.post-aside .services-list ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.post-aside .services-list a{color:var(--black);font-weight:600;text-decoration:none;display:flex;gap:8px;align-items:center}
.post-aside .services-list a:hover{color:var(--red)}
.post-aside .services-list svg{color:var(--red)}
@media (max-width:1100px){.link-groups.two{grid-template-columns:1fr}}
@media (max-width:700px){.link-group{padding:22px 18px}.link-pills a{font-size:14.5px;padding:8px 14px}}

/* ---------- blog ---------- */
.cat-bar{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:10px}
.cat-bar a{border:1px solid var(--line);border-radius:999px;padding:9px 18px;color:var(--black);text-decoration:none;font-weight:600;font-size:15px}
.cat-bar a:hover,.cat-bar a.is-active{background:var(--red);border-color:var(--red);color:#fff}
.post-grid{margin-top:36px}
.post-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s}
.post-card:hover{box-shadow:0 18px 40px rgba(0,0,0,.08);border-color:#d5d5d5}
.pc-img{display:block;aspect-ratio:16/10;background:#ddd;overflow:hidden}
.pc-img img{width:100%;height:100%!important;object-fit:cover;transition:transform .5s}
.post-card:hover .pc-img img{transform:scale(1.04)}
.pc-body{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1}
.pc-cat{align-self:flex-start;font-size:13px;font-weight:700;color:var(--red);text-decoration:none;background:var(--pink);padding:4px 12px;border-radius:99px}
.pc-body h3{font-size:20px;line-height:1.2}
.pc-body h3 a{color:var(--black);text-decoration:none}
.pc-body h3 a:hover{color:var(--red)}
.pc-body p{font-size:15.5px;color:var(--muted)}
.pc-meta{margin-top:auto;display:flex;align-items:center;gap:6px;font-size:14px;color:var(--muted);font-weight:600}
.pager{display:flex;justify-content:center;gap:8px;margin-top:48px}
.pager a,.pager span{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:99px;border:1px solid var(--line);text-decoration:none;color:var(--black);font-weight:700}
.pager span{background:var(--red);border-color:var(--red);color:#fff}
.post-body{padding-top:64px}
.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}
.post-feature{margin:0 0 36px;border-radius:24px;overflow:hidden}
.post-feature img{width:100%;max-height:520px;object-fit:cover}
.post-content h2{font-size:clamp(26px,3vw,34px);margin-top:44px}
.post-content h3{margin-top:30px}
.post-content p,.post-content li{font-size:17.5px;line-height:1.75}
.post-aside{position:sticky;top:20px}
.post-cta{background:var(--red);color:#fff;border-radius:24px;padding:30px 32px;margin:40px 0}
.post-cta.is-offer{background:var(--black)}
.post-cta .kicker{color:#fff;opacity:.85;margin-bottom:8px}
.post-cta.is-offer .kicker{color:var(--red-soft);opacity:1}
.rich .post-cta p.pc-title{font-family:var(--display);font-weight:800;font-size:clamp(24px,2.6vw,32px);line-height:1.15;color:#fff;margin:0}
.rich .post-cta p.pc-text{color:#F1F1F1;font-size:16.5px;margin-top:10px}
.post-cta .btns{margin-top:20px}
.post-cta .btn-red{background:#fff;color:var(--red)}
.post-cta .btn-red:hover{background:var(--black);color:#fff}
.post-cta.is-offer .btn-red{background:var(--red);color:#fff}
.post-cta.is-offer .btn-red:hover{background:var(--red-dark)}
.post-cta .btn-ghost{border-color:rgba(255,255,255,.7);color:#fff}
.post-cta .btn-ghost:hover{background:#fff;color:var(--black)}
.rich .post-cta a{color:inherit;font-weight:700}
@media (max-width:700px){.post-cta{padding:24px 20px;margin:30px 0}}
.sticky-box{margin-top:0}
.sticky-box .btns{flex-direction:column}
.sticky-box .btn{width:100%}
.related{margin-top:24px;border:1px solid var(--line);border-radius:22px;padding:26px}
.related h3{font-size:19px}
.related ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px}
.related a{color:var(--black);font-weight:600;text-decoration:none;line-height:1.35;display:block}
.related a:hover{color:var(--red)}

/* ---------- footer ---------- */
.cg-foot{background:#0a0a0a;color:#BDBDBD;border-top:4px solid var(--red);font-size:15px}
.cg-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:44px;padding-top:72px;padding-bottom:56px}
.cg-foot h4{color:#fff;font-family:var(--display);font-size:18px;margin:0 0 18px;position:relative;padding-bottom:12px}
.cg-foot h4::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:3px;background:var(--red)}
.cg-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.cg-foot a{color:#BDBDBD;text-decoration:none}
.cg-foot ul a:hover{color:#fff}
.cg-foot-logo{display:flex;align-items:center;gap:12px;color:#fff!important}
.cg-foot-chip{background:#fff;border-radius:14px;padding:6px 8px;display:flex}
.cg-foot-chip img{height:45px;width:auto}
.cg-foot-logo strong{display:block;font-family:var(--display);font-size:20px;line-height:1.1}
.cg-foot-logo small{display:block;font-size:13px;color:#9a9a9a;font-weight:600}
.cg-foot-brand p{margin-top:18px;line-height:1.7;max-width:380px}
.cg-foot-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.cg-fbtn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;font-weight:700;color:#fff!important}
.cg-fbtn.red{background:var(--red)}.cg-fbtn.red:hover{background:var(--red-dark)}
.cg-fbtn.wa{background:var(--wa)}.cg-fbtn.wa:hover{background:var(--wa-dark)}
.cg-fbtn.gbp{background:#fff;color:var(--black)!important}.cg-fbtn.gbp svg{color:#F4B400}.cg-fbtn.gbp:hover{background:#eee}
.cg-foot-bottom a{color:#BDBDBD}.cg-foot-bottom a:hover{color:#fff}
.cg-social{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:18px}
.cg-social a:hover{color:#fff}
.cg-foot-contact li{display:flex;gap:10px;align-items:flex-start}
.cg-foot-contact svg{flex-shrink:0;margin-top:3px;color:var(--red-soft)}
.cg-foot-contact a,.cg-foot-contact span{word-break:break-word}
.cg-foot-bottom{border-top:1px solid #222;font-size:14px}
.cg-foot-bottom .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px;padding-right:96px}
.cg-top:hover{color:#fff}

/* ---------- floating + mobile bar ---------- */
.float{position:fixed;right:18px;bottom:18px;z-index:70;display:flex;flex-direction:column;gap:10px}
.float a{width:56px;height:56px;border-radius:99px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.25);color:#fff;transition:transform .2s}
.float a:hover{transform:scale(1.07)}
.float .f-wa{background:var(--wa)}.float .f-call{background:var(--red)}
.mbar{display:none}
.consent{position:fixed;left:18px;bottom:18px;z-index:90;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;box-shadow:0 20px 50px rgba(0,0,0,.18);font-size:14.5px}
.consent div{display:flex;gap:10px;margin-top:12px}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .hdr{gap:16px;padding-top:8px;padding-bottom:8px;min-height:80px}
  .logo img{height:64px;width:auto}
  .dnav{display:none}
  .burger{display:flex}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 20px 30px rgba(0,0,0,.12);max-height:calc(100vh - 140px);overflow:auto;padding:10px 20px 20px}
  .nav.open{display:block}
  .nav>ul{flex-direction:column;align-items:stretch}
  .nav>ul>li>a{color:var(--black);padding:12px 6px;border-bottom:1px solid var(--line)}
  .nav .has-dd{flex-wrap:wrap}
  .nav .has-dd>a{flex:1}
  .dd-toggle{color:var(--black);padding:12px}
  .dd{position:static;display:none;width:100%;box-shadow:none;border-radius:14px;margin:6px 0 10px}
  .has-dd:hover>.dd,.has-dd:focus-within>.dd{display:none}
  .has-dd.open>.dd{display:block}
  .split,.faq,.estimate,.post-layout,.redbox.has-img{grid-template-columns:1fr}
  .split.rev>.media,.split.rev>.side-card{order:0}
  .grid-4,.tiles,.tiles.t5,.checks.items-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps,.steps-4,.steps-5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3,.areas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ba-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ba-shot{grid-column:span 1}
  .ba-shot.wide{grid-column:span 2}
  .cg-foot-grid{grid-template-columns:1fr 1fr}
  .w2{grid-template-columns:1fr}
  .w2-media{min-height:340px;height:340px}
  .w2-media::after{background:linear-gradient(180deg,rgba(11,11,11,.2) 0%,rgba(11,11,11,.5) 60%,#0b0b0b 100%)}
  .w2-body{padding:36px 28px 64px}
  .ig-journey{grid-template-columns:1fr;gap:10px}
  .ig-arrow{justify-content:center;transform:rotate(90deg);height:40px}
  .ig-backs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .slide-content{padding:64px 80px 90px}
  .post-aside{position:static}
  .hero-boxed{margin:0}
}
@media (max-width:700px){
  body{padding-bottom:64px}
  .wrap{padding-left:16px;padding-right:16px}
  .cg-foot-grid{padding-top:48px;padding-bottom:40px}
  .final .wrap{padding-top:72px;padding-bottom:72px}
  .section{padding:64px 0}
  .hdr{min-height:68px}
  .logo img{height:52px;width:auto}
  .hero{min-height:min(640px,max(520px,calc(100vh - 130px)))}
  .slide::after{background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.45) 75%)}
  .slide-content{justify-content:flex-end;padding:56px 20px 84px}
  .slide h1,.slide .s-title{font-size:clamp(28px,8.4vw,36px);letter-spacing:-.8px}
  .slide-tag{font-size:13px;padding:7px 13px;margin-bottom:16px;max-width:100%}
  .slide p{font-size:16.5px}
  .hero-badges{display:none}
  .h-arrow{width:40px;height:40px;top:auto;bottom:14px;transform:none}
  .h-arrow:hover{transform:scale(1.1)}
  .h-arrow svg{width:30px;height:30px}
  .h-prev{left:8px}.h-next{right:8px}
  .dots{bottom:26px}
  .page-header{padding:56px 0 50px}
  .checks,.checks.items-3,.grid-2,.grid-3,.grid-4,.tiles,.tiles.t5,.steps,.steps-3,.steps-4,.steps-5,.form-grid,.cg-foot-grid,.areas,.ba-gallery,.w2-grid{grid-template-columns:1fr}
  .ig-backs,.ig-backs-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ig-steps{grid-template-columns:1fr;gap:18px;max-width:320px;margin-left:auto;margin-right:auto}
  .ig-steps::before{left:43px;right:auto;top:30px;bottom:30px;width:3px;height:auto;background:repeating-linear-gradient(180deg,var(--red) 0 14px,transparent 14px 24px)}
  .ig-step{flex-direction:row;gap:16px;text-align:left}
  .ig-ico{margin-top:0}
  .ig-num{left:48px;top:-6px}
  .offer,.price,.form,.redbox,.side-card{padding:28px 20px}
  .band{padding:44px 0}
  .media{aspect-ratio:4/3}
  .w2-media{min-height:260px;height:260px}
  .w2-body{padding:28px 16px 56px}
  .w2-badge{left:16px;bottom:16px;font-size:19px}
  .ba-gallery{grid-template-columns:1fr}
  .ba-shot,.ba-shot.wide{grid-column:auto}
  .ba-tag{font-size:12px;padding:5px 10px}
  .btns .btn{flex:1 1 auto}
  .cg-foot-bottom .wrap{flex-direction:column;align-items:flex-start;padding-right:16px}
  .float{display:none}
  .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:80;box-shadow:0 -6px 20px rgba(0,0,0,.18)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:60px;color:#fff;font-weight:700;text-decoration:none;font-size:16.5px}
  .mb-call{background:var(--red)}.mb-wa{background:var(--wa)}
  .consent{left:10px;right:10px;bottom:74px;max-width:none}
  .faq summary{padding:18px}
  .faq-a{padding:0 18px 18px}
  .rich table{font-size:14px}
}
@media (prefers-reduced-motion:reduce){
  .slide,.slide-media,.slide-content>*{transition:none!important}
  .marquee-track{animation:none}
  html{scroll-behavior:auto}
}
