/* ============================================================
   Doherty Plumbing Solutions — Design System stylesheet
   Tokens + components, translated from the approved handoff.
   Loaded site-wide (Novamira sandbox enqueue). Icons are CSS
   masks; content lives in native Breakdance elements.
   ============================================================ */

/* ---- Self-hosted Open Sans ---- */
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url("https://w9avafnbug.wpdns.site/wp-content/uploads/doherty-fonts/open-sans-latin-400-normal.woff2") format('woff2');}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:500;font-display:swap;src:url("https://w9avafnbug.wpdns.site/wp-content/uploads/doherty-fonts/open-sans-latin-500-normal.woff2") format('woff2');}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url("https://w9avafnbug.wpdns.site/wp-content/uploads/doherty-fonts/open-sans-latin-600-normal.woff2") format('woff2');}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url("https://w9avafnbug.wpdns.site/wp-content/uploads/doherty-fonts/open-sans-latin-700-normal.woff2") format('woff2');}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:800;font-display:swap;src:url("https://w9avafnbug.wpdns.site/wp-content/uploads/doherty-fonts/open-sans-latin-800-normal.woff2") format('woff2');}

:root{
  --c-primary-blue:#2D8CD6; --c-dark-blue:#1C2739; --c-orange:#D34118; --c-charcoal:#0D0D0D;
  --c-light-blue:#D6E8F6; --c-soft-grey:#E2E9F0; --c-off-white:#EBF2F7; --c-white:#FFFFFF;
  --c-blue-900:#121A26; --c-blue-800:#1C2739; --c-blue-700:#23659C; --c-blue-600:#2D8CD6; --c-blue-500:#4D9EDC;
  --c-blue-400:#7FB8E5; --c-blue-300:#ABD0EE; --c-blue-200:#D6E8F6; --c-blue-100:#E4F0FA; --c-blue-50:#F2F8FD;
  --c-orange-700:#A82F0F; --c-orange-600:#C03813; --c-orange-500:#D34118; --c-orange-400:#E4683F; --c-orange-300:#F09D85; --c-orange-100:#FBE5DE;
  --c-grey-900:#0D0D0D; --c-grey-800:#2a2e33; --c-grey-700:#434a52; --c-grey-600:#5d6670; --c-grey-500:#7b848f;
  --c-grey-400:#a3abb5; --c-grey-300:#cdd2d8; --c-grey-200:#E2E9F0; --c-grey-100:#f4f6f8; --c-grey-50:#EBF2F7;
  --c-hi-vis:#d7e021;

  --text-strong:var(--c-dark-blue); --text-body:var(--c-charcoal); --text-muted:var(--c-grey-600);
  --text-on-dark:var(--c-white); --text-link:var(--c-primary-blue); --text-link-hover:var(--c-dark-blue);
  --surface-page:var(--c-off-white); --surface-card:var(--c-white); --surface-subtle:var(--c-light-blue);
  --surface-brand:var(--c-primary-blue); --surface-brand-deep:var(--c-dark-blue);
  --border-subtle:var(--c-soft-grey); --border-strong:var(--c-grey-300); --border-on-blue:rgba(255,255,255,0.22);
  --accent:var(--c-orange); --accent-hover:var(--c-orange-600); --accent-press:var(--c-orange-700);
  --focus-ring:rgba(45,140,214,0.45);

  --font-display:'Open Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'Open Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700; --fw-extrabold:800;
  --fs-display:clamp(2.75rem,1.6rem + 4.6vw,4.5rem); --fs-h1:clamp(2.1rem,1.4rem + 2.8vw,3.25rem);
  --fs-h2:clamp(1.7rem,1.25rem + 1.9vw,2.5rem); --fs-h3:clamp(1.35rem,1.1rem + 1.0vw,1.75rem);
  --fs-h4:1.25rem; --fs-lg:1.125rem; --fs-body:1rem; --fs-sm:0.9375rem; --fs-xs:0.8125rem; --fs-eyebrow:0.78125rem;
  --lh-tight:1.04; --lh-snug:1.18; --lh-heading:1.12; --lh-body:1.6; --lh-relaxed:1.72;
  --ls-tight:-0.02em; --ls-normal:0; --ls-eyebrow:0.14em; --ls-button:0.04em;

  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px;
  --space-8:32px; --space-10:40px; --space-12:48px; --space-16:64px; --space-20:80px; --space-24:96px; --space-32:128px;
  --section-pad-y:clamp(56px,7vw,112px); --container-max:1200px; --container-pad:clamp(20px,4vw,48px);
  --radius-xs:4px; --radius-sm:8px; --radius-md:12px; --radius-lg:18px; --radius-xl:24px; --radius-2xl:32px; --radius-pill:999px;

  --shadow-xs:0 1px 2px rgba(18,26,38,0.08);
  --shadow-sm:0 2px 6px rgba(18,26,38,0.08),0 1px 2px rgba(18,26,38,0.06);
  --shadow-md:0 8px 20px -6px rgba(18,26,38,0.16),0 2px 6px rgba(18,26,38,0.08);
  --shadow-lg:0 18px 40px -12px rgba(18,26,38,0.24),0 4px 12px rgba(18,26,38,0.10);
  --shadow-xl:0 32px 64px -18px rgba(18,26,38,0.30),0 8px 20px rgba(18,26,38,0.12);
  --shadow-float:0 28px 60px -20px rgba(18,26,38,0.42);
  --shadow-cta:0 10px 24px -8px rgba(211,65,24,0.50);

  /* Icon mask sources */
  --ic-pin:url("https://w9avafnbug.wpdns.site/wp-content/uploads/doherty/icons/pin.svg");
  --ic-phone:url("https://w9avafnbug.wpdns.site/wp-content/uploads/doherty/icons/phone.svg");
  --ic-bolt:url("https://w9avafnbug.wpdns.site/wp-content/uploads/doherty/icons/bolt.svg");
  --ic-check:url("https://w9avafnbug.wpdns.site/wp-content/uploads/doherty/icons/check.svg");
  --ic-file:url("https://w9avafnbug.wpdns.site/wp-content/uploads/doherty/icons/file.svg");
  --ic-arrow:url("https://w9avafnbug.wpdns.site/wp-content/uploads/doherty/icons/arrow.svg");
  --ic-drop:url("https://w9avafnbug.wpdns.site/wp-content/uploads/doherty/icons/drop.svg");
  --ic-tank:url("https://w9avafnbug.wpdns.site/wp-content/uploads/doherty/icons/tank.svg");
  --ic-roof:url("https://w9avafnbug.wpdns.site/wp-content/uploads/doherty/icons/roof.svg");
  --ic-gem:url("https://w9avafnbug.wpdns.site/wp-content/uploads/doherty/icons/gem.svg");
  --ic-tag:url("https://w9avafnbug.wpdns.site/wp-content/uploads/doherty/icons/tag.svg");
  --ic-award:url("https://w9avafnbug.wpdns.site/wp-content/uploads/doherty/icons/award.svg");
  --wm:url("https://w9avafnbug.wpdns.site/wp-content/uploads/2026/07/d_icon_white.png");
}

/* ---- base ---- */
.breakdance .dps *,.breakdance .dps *::before,.breakdance .dps *::after{box-sizing:border-box;}
/* Normalise Breakdance's default flex-column divs back to normal flow so the
   design CSS (which declares display:flex/grid where needed) applies faithfully. */
.breakdance .dps .bde-div{display:block;flex-direction:row;gap:0;min-height:0;}
.breakdance .bde-div.dps{display:block;}
.breakdance .dps{font-family:var(--font-body);color:var(--text-body);background:var(--surface-page);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;}
.breakdance .dps h1,.breakdance .dps h2,.breakdance .dps h3,.breakdance .dps h4{font-family:var(--font-display);color:var(--text-strong);line-height:var(--lh-heading);margin:0;font-weight:var(--fw-bold);}
.breakdance .dps p{margin:0 0 1em;}
.breakdance .dps a{color:var(--text-link);text-decoration:none;}
.breakdance .dps img{max-width:100%;display:block;}
.breakdance .dps .container{max-width:var(--container-max);margin:0 auto;padding-left:var(--container-pad);padding-right:var(--container-pad);}
.breakdance .dps .eyebrow{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--c-primary-blue);display:inline-flex;align-items:center;gap:10px;}
.breakdance .dps .eyebrow::before{content:"";width:26px;height:3px;background:var(--c-orange);display:inline-block;}
.breakdance .dps .eyebrow.center{justify-content:center;}
.breakdance .dps .section{padding:var(--section-pad-y) 0;}

/* ---- icon mask engine ---- */
.breakdance .dps .ico{display:inline-block;width:18px;height:18px;background-color:currentColor;
  -webkit-mask:var(--_ico) center/contain no-repeat;mask:var(--_ico) center/contain no-repeat;flex-shrink:0;}
.breakdance .dps .i-pin{--_ico:var(--ic-pin);} .breakdance .dps .i-phone{--_ico:var(--ic-phone);} .breakdance .dps .i-bolt{--_ico:var(--ic-bolt);}
.breakdance .dps .i-check{--_ico:var(--ic-check);} .breakdance .dps .i-file{--_ico:var(--ic-file);} .breakdance .dps .i-arrow{--_ico:var(--ic-arrow);}
.breakdance .dps .i-drop{--_ico:var(--ic-drop);} .breakdance .dps .i-tank{--_ico:var(--ic-tank);} .breakdance .dps .i-roof{--_ico:var(--ic-roof);}
.breakdance .dps .i-gem{--_ico:var(--ic-gem);} .breakdance .dps .i-tag{--_ico:var(--ic-tag);} .breakdance .dps .i-award{--_ico:var(--ic-award);}
/* generic ::before icon */
.breakdance .dps [data-ico]::before{content:"";display:inline-block;width:1em;height:1em;background-color:currentColor;
  -webkit-mask:var(--_bi) center/contain no-repeat;mask:var(--_bi) center/contain no-repeat;flex:none;}

/* ---- buttons ---- */
.breakdance .dps .btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-sm);letter-spacing:var(--ls-button);padding:14px 26px;border-radius:0 0 12px 0;cursor:pointer;border:none;transition:transform .15s,box-shadow .15s;text-decoration:none;}
.breakdance .dps .btn-cta{background:var(--c-orange);color:#fff;box-shadow:var(--shadow-cta);}
.breakdance .dps .btn-ghost{background:#fff;color:var(--c-dark-blue);border:1px solid var(--border-strong);}
.breakdance .dps .btn-white{background:#fff;color:var(--c-dark-blue);}
/* consistent hover on every button */
.breakdance .dps .btn:hover{transform:translateY(-2px);}
.breakdance .dps .btn-cta:hover{box-shadow:0 16px 30px -8px rgba(211,65,24,0.55);}
.breakdance .dps .btn-ghost:hover{box-shadow:var(--shadow-md);border-color:var(--c-primary-blue);}
.breakdance .dps .btn-white:hover{box-shadow:var(--shadow-md);}
.breakdance .dps .btn-lg{padding:17px 32px;font-size:var(--fs-body);}
.breakdance .dps .btn::before,.breakdance .dps .btn::after{content:"";display:inline-block;width:18px;height:18px;background-color:currentColor;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;mask-repeat:no-repeat;mask-position:center;mask-size:contain;flex:none;}
.breakdance .dps .btn::before{display:none;} .breakdance .dps .btn::after{display:none;}
.breakdance .dps .btn--phone::before{display:inline-block;-webkit-mask-image:var(--ic-phone);mask-image:var(--ic-phone);}
.breakdance .dps .btn--file::before{display:inline-block;-webkit-mask-image:var(--ic-file);mask-image:var(--ic-file);}
.breakdance .dps .btn--arrow::after{display:inline-block;-webkit-mask-image:var(--ic-arrow);mask-image:var(--ic-arrow);}

/* ---- utility bar ---- */
.breakdance .dps .utilbar{background:var(--c-primary-blue);color:#fff;font-size:var(--fs-xs);}
.breakdance .dps .utilbar .container{display:flex;align-items:center;justify-content:space-between;height:40px;}
.breakdance .dps .utilbar .left{display:flex;align-items:center;gap:8px;opacity:.95;}
.breakdance .dps .utilbar .left::before{content:"";display:inline-block;width:14px;height:14px;background-color:#fff;-webkit-mask:var(--ic-pin) center/contain no-repeat;mask:var(--ic-pin) center/contain no-repeat;flex:none;}
.breakdance .dps .utilbar .right{display:flex;align-items:center;gap:18px;}
.breakdance .dps .utilbar a{color:#fff;font-weight:var(--fw-semibold);display:inline-flex;align-items:center;gap:6px;}
.breakdance .dps .utilbar .tel::before{content:"";display:inline-block;width:14px;height:14px;background-color:#fff;-webkit-mask:var(--ic-phone) center/contain no-repeat;mask:var(--ic-phone) center/contain no-repeat;flex:none;}
.breakdance .dps .utilbar .enquire{background:var(--c-orange);padding:5px 14px;border-radius:0 0 8px 0;}

/* ---- header ---- */
.breakdance .dps .header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:var(--shadow-sm);}
.breakdance .dps .header .container{display:flex;align-items:center;justify-content:space-between;height:78px;gap:24px;}
.breakdance .dps .header .logo img{height:46px;width:auto;}
.breakdance .dps .nav{display:flex;align-items:center;gap:28px;}
.breakdance .dps .nav a{color:var(--c-dark-blue);font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-sm);}
.breakdance .dps .nav a+a{margin-left:28px;}
.breakdance .dps .nav a.active{color:var(--c-primary-blue);border-bottom:3px solid var(--c-orange);padding-bottom:4px;}
.breakdance .dps .header .phone{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:var(--fw-bold);color:var(--c-dark-blue);font-size:var(--fs-body);}
.breakdance .dps .header .phone::before{content:"";display:inline-block;width:18px;height:18px;background-color:var(--c-primary-blue);-webkit-mask:var(--ic-phone) center/contain no-repeat;mask:var(--ic-phone) center/contain no-repeat;flex:none;}
/* header: logo + nav grouped left, phone chip + enquire button right */
.breakdance .dps .header-left{display:flex;align-items:center;gap:40px;}
.breakdance .dps .header-actions{display:flex;align-items:center;gap:16px;}
.breakdance .dps .hdr-phone{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:var(--fw-bold);color:var(--c-dark-blue);font-size:var(--fs-body);white-space:nowrap;}
.breakdance .dps .hdr-phone::before{content:"";display:inline-block;width:18px;height:18px;background-color:var(--c-primary-blue);-webkit-mask:var(--ic-phone) center/contain no-repeat;mask:var(--ic-phone) center/contain no-repeat;flex:none;}
.breakdance .dps .hdr-enquire{display:inline-flex;align-items:center;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-sm);letter-spacing:var(--ls-button);color:#fff;background:var(--c-orange);padding:12px 22px;border-radius:0 0 12px 0;box-shadow:var(--shadow-cta);transition:transform .15s;white-space:nowrap;}
.breakdance .dps .hdr-enquire:hover{transform:translateY(-2px);}

/* ---- hero ---- */
.breakdance .dps .hero{background:linear-gradient(150deg,#1C2739 0%,#233650 100%);color:#fff;position:relative;overflow:hidden;padding:clamp(44px,5vw,72px) 0 clamp(56px,6vw,88px);}
.breakdance .dps .hero::before{content:"";position:absolute;right:-150px;top:-50px;width:620px;height:450px;background:var(--wm) no-repeat center/contain;opacity:.07;pointer-events:none;}
.breakdance .dps .hero .container{display:grid;grid-template-columns:1.05fr 0.95fr;gap:clamp(32px,5vw,72px);align-items:center;position:relative;z-index:1;}
.breakdance .dps .hero .crumb{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.10);border:1px solid rgba(255,255,255,0.18);padding:7px 15px;border-radius:0 0 12px 0;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:#cfe0f2;margin-bottom:22px;}
.breakdance .dps .hero .crumb::before{content:"";display:inline-block;width:13px;height:13px;background-color:currentColor;-webkit-mask:var(--ic-bolt) center/contain no-repeat;mask:var(--ic-bolt) center/contain no-repeat;flex:none;}
.breakdance .dps .hero h1{font-size:var(--fs-display);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-tight);margin-bottom:20px;color:#fff;}
.breakdance .dps .hero h1 .accent{color:var(--c-blue-400);}
.breakdance .dps .hero .lead{color:rgba(255,255,255,0.85);font-size:var(--fs-lg);max-width:42ch;margin-bottom:26px;}
.breakdance .dps .hero .checks{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:11px;}
.breakdance .dps .hero .checks li{display:flex;align-items:center;gap:11px;font-weight:var(--fw-semibold);font-size:var(--fs-sm);color:rgba(255,255,255,0.94);}
.breakdance .dps .hero .checks .tick{width:24px;height:24px;border-radius:0 0 7px 0;background:var(--c-orange);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.breakdance .dps .hero .checks .tick::before{content:"";display:inline-block;width:13px;height:13px;background-color:#fff;-webkit-mask:var(--ic-check) center/contain no-repeat;mask:var(--ic-check) center/contain no-repeat;}
.breakdance .dps .cta-row{display:flex;gap:14px;flex-wrap:wrap;}
.breakdance .dps .hero .cta-row{display:flex;gap:14px;flex-wrap:wrap;}
.breakdance .dps .hero-photo{position:relative;border-radius:0 0 96px 0;overflow:hidden;box-shadow:var(--shadow-float);aspect-ratio:4/3.05;}
.breakdance .dps .hero-photo .fillimg{position:absolute;inset:0;z-index:0;}
.breakdance .dps .hero-photo .fillimg img{width:100%;height:100%;object-fit:cover;display:block;}
.breakdance .dps .hero-badge{position:absolute;top:18px;left:18px;background:rgba(28,39,57,0.92);color:#fff;padding:8px 15px;border-radius:0 0 10px 0;font-size:var(--fs-xs);font-weight:var(--fw-semibold);display:flex;align-items:center;gap:7px;z-index:2;}
.breakdance .dps .hero-badge::before{content:"";display:inline-block;width:14px;height:14px;background-color:var(--c-blue-400);-webkit-mask:var(--ic-pin) center/contain no-repeat;mask:var(--ic-pin) center/contain no-repeat;flex:none;}
.breakdance .dps .hero-statchip{position:absolute;top:18px;right:18px;background:linear-gradient(135deg,#E85A2E,#D34118);color:#fff;border-radius:0 0 24px 0;padding:12px 18px;text-align:center;box-shadow:var(--shadow-md);z-index:2;}
.breakdance .dps .hero-statchip .n{font-family:var(--font-display);font-weight:var(--fw-extrabold);font-size:26px;line-height:1;}
.breakdance .dps .hero-statchip .l{font-size:9px;letter-spacing:.08em;text-transform:uppercase;margin-top:3px;opacity:.92;}
.breakdance .dps .hero-floatcard{position:absolute;left:18px;bottom:18px;right:18px;background:#fff;border-radius:0 0 24px 0;box-shadow:var(--shadow-float);padding:14px 18px;display:flex;align-items:center;gap:14px;z-index:2;}
.breakdance .dps .hero-floatcard .tk{width:40px;height:40px;border-radius:0 0 11px 0;background:var(--c-orange);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.breakdance .dps .hero-floatcard .tk::before{content:"";display:inline-block;width:18px;height:18px;background-color:#fff;-webkit-mask:var(--ic-check) center/contain no-repeat;mask:var(--ic-check) center/contain no-repeat;}
.breakdance .dps .hero-floatcard .ttl{font-family:var(--font-display);font-weight:var(--fw-bold);color:var(--c-dark-blue);font-size:var(--fs-sm);line-height:1.2;}
.breakdance .dps .hero-floatcard .sub{font-size:var(--fs-xs);color:var(--text-muted);margin-top:2px;}

/* ---- home services ---- */
.breakdance .dps .hsvc{background:var(--surface-page);}
.breakdance .dps .hsvc .container{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(32px,4vw,60px);align-items:center;}
.breakdance .dps .hsvc-copy h2{font-size:var(--fs-h2);margin:14px 0 14px;}
.breakdance .dps .hsvc-copy p,.breakdance .dps .hsvc-copy .body-p{color:var(--text-muted);margin-bottom:24px;}
.breakdance .dps .hsvc-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.breakdance .dps .hsvc-card{background:#fff;border-radius:0 0 36px 0;padding:24px 22px;box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle);}
.breakdance .dps .hsvc-card .ic{width:44px;height:44px;border-radius:0 0 12px 0;display:flex;align-items:center;justify-content:center;margin-bottom:13px;}
.breakdance .dps .hsvc-card .ic::before{content:"";display:inline-block;width:21px;height:21px;background-color:currentColor;-webkit-mask:var(--_bi) center/contain no-repeat;mask:var(--_bi) center/contain no-repeat;}
.breakdance .dps .ic.blue{background:var(--c-blue-100);color:var(--c-primary-blue);}
.breakdance .dps .ic.orange{background:var(--c-orange-100);color:var(--c-orange);}
.breakdance .dps .ic--drop{--_bi:var(--ic-drop);} .breakdance .dps .ic--tank{--_bi:var(--ic-tank);} .breakdance .dps .ic--roof{--_bi:var(--ic-roof);}
.breakdance .dps .hsvc-card h3{font-size:var(--fs-h4);margin-bottom:7px;}
.breakdance .dps .hsvc-card p{color:var(--text-muted);font-size:var(--fs-sm);margin:0;}

/* ---- home quick answer (dark) ---- */
.breakdance .dps .hqa{background:var(--surface-page);}
.breakdance .dps .hqa-inner{background:#1C2739;border-radius:0 0 90px 0;overflow:hidden;display:grid;grid-template-columns:1.1fr 0.9fr;position:relative;box-shadow:var(--shadow-xl);}
.breakdance .dps .hqa-inner::before{content:"";position:absolute;left:-90px;bottom:-70px;width:360px;height:260px;background:var(--wm) no-repeat center/contain;opacity:.08;z-index:1;}
.breakdance .dps .hqa-copy{padding:clamp(30px,3.5vw,52px);color:#fff;position:relative;z-index:2;}
.breakdance .dps .hqa-copy .eyebrow{color:var(--c-blue-400);}
.breakdance .dps .hqa-copy .eyebrow::before{background:var(--c-blue-400);}
.breakdance .dps .hqa-copy h2{color:#fff;font-size:var(--fs-h3);margin:12px 0 14px;}
.breakdance .dps .hqa-copy p,.breakdance .dps .hqa-copy .body-p{color:rgba(255,255,255,0.82);font-size:var(--fs-sm);margin-bottom:24px;}
.breakdance .dps .hqa-photos{display:grid;grid-template-columns:1fr 1fr;}
.breakdance .dps .hqa-photos img{width:100%;height:100%;object-fit:cover;min-height:300px;}

/* ---- home CTA band ---- */
.breakdance .dps .hcta{background:var(--surface-page);}
.breakdance .dps .hcta-inner{background:linear-gradient(135deg,#2D8CD6 0%,#1D6CAB 100%);border-radius:0 0 90px 0;padding:clamp(32px,4vw,52px);display:grid;grid-template-columns:1.3fr 0.7fr;gap:clamp(28px,4vw,56px);align-items:stretch;color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow-xl);}
.breakdance .dps .hcta-inner::after{content:"";position:absolute;right:-80px;bottom:-60px;width:300px;height:220px;background:var(--wm) no-repeat center/contain;opacity:.1;}
.breakdance .dps .hcta-copy{position:relative;z-index:1;align-self:center;}
.breakdance .dps .hcta-copy h2{color:#fff;font-size:var(--fs-h2);margin-bottom:14px;}
.breakdance .dps .hcta-copy p,.breakdance .dps .hcta-copy .body-p{color:rgba(255,255,255,0.9);margin-bottom:24px;max-width:46ch;}
.breakdance .dps .hcta-photo{position:relative;z-index:1;}
.breakdance .dps .hcta-photo img{width:100%;height:100%;min-height:250px;object-fit:cover;object-position:50% 20%;border-radius:0 0 48px 0;box-shadow:var(--shadow-float);}

/* ---- home why-choose ---- */
.breakdance .dps .hwhy{background:var(--c-blue-50);}
.breakdance .dps .hwhy-head{text-align:center;max-width:640px;margin:0 auto clamp(30px,4vw,46px);}
.breakdance .dps .hwhy-head h2{font-size:var(--fs-h2);margin:14px 0 12px;}
.breakdance .dps .hwhy-head p,.breakdance .dps .hwhy-head .body-p{color:var(--text-muted);}
.breakdance .dps .hwhy-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(24px,3vw,44px);align-items:center;}
.breakdance .dps .hwhy-photo{width:300px;border-radius:0 0 64px 0;overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:3/4;}
.breakdance .dps .hwhy-photo img{width:100%;height:100%;object-fit:cover;}
.breakdance .dps .hwhy-feat{display:grid;gap:28px;}
.breakdance .dps .hwhy-col.left .hwhy-feat{text-align:right;}
.breakdance .dps .hwhy-item h3{font-size:var(--fs-h4);margin-bottom:7px;display:flex;align-items:center;gap:9px;color:var(--c-primary-blue);}
.breakdance .dps .hwhy-col.left .hwhy-item h3{justify-content:flex-end;}
.breakdance .dps .hwhy-item h3 span{color:var(--text-strong);}
.breakdance .dps .hwhy-item .ico{width:18px;height:18px;color:var(--c-primary-blue);}
.breakdance .dps .hwhy-item p,.breakdance .dps .hwhy-item .body-p{color:var(--text-muted);font-size:var(--fs-sm);margin:0;}

/* ---- home stat band ---- */
.breakdance .dps .hstats{background:var(--c-blue-50);padding-top:0;}
.breakdance .dps .hstats-inner{background:linear-gradient(110deg,#E85A2E 0%,#D34118 52%,#B53210 100%);border-radius:0 0 64px 0;padding:clamp(28px,3vw,42px);display:grid;grid-template-columns:repeat(4,1fr);gap:24px;color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow-lg);}
.breakdance .dps .hstats-inner::after{content:"";position:absolute;right:-80px;bottom:-60px;width:280px;height:200px;background:var(--wm) no-repeat center/contain;opacity:.13;}
.breakdance .dps .hstat{text-align:center;position:relative;z-index:1;color:#fff;}
.breakdance .dps .hstat .n{font-family:var(--font-display);font-weight:var(--fw-extrabold);font-size:clamp(30px,3.4vw,42px);line-height:1;}
.breakdance .dps .hstat .l{font-size:var(--fs-xs);margin-top:6px;opacity:.92;}

/* ---- home suppliers ---- */
.breakdance .dps .hsup{background:var(--surface-page);text-align:center;}
.breakdance .dps .hsup .container{text-align:center;}
.breakdance .dps .hsup h2{font-size:var(--fs-h2);margin:14px 0 28px;text-align:center;}
.breakdance .dps .hsup-strip{background:#fff;border-radius:0 0 56px 0;box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle);padding:26px 34px;display:flex;align-items:center;justify-content:space-around;gap:30px;flex-wrap:wrap;}
.breakdance .dps .hsup-strip img{height:46px;width:auto;object-fit:contain;}

/* ---- FAQ ---- */
.breakdance .dps .faq-head{text-align:center;margin-bottom:clamp(30px,4vw,46px);}
.breakdance .dps .faq-head h2{font-size:var(--fs-h2);margin-top:14px;}
.breakdance .dps .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:1040px;margin:0 auto;align-items:start;}
.breakdance .dps .faq-item{background:#fff;border-radius:0 0 22px 0;border:1px solid var(--border-subtle);box-shadow:var(--shadow-xs);padding:22px 24px;}
.breakdance .dps .faq-q{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;cursor:pointer;}
.breakdance .dps .faq-q h3{font-size:var(--fs-body);color:var(--c-dark-blue);margin:0;line-height:1.4;}
.breakdance .dps .faq-toggle{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--c-blue-100);color:var(--c-primary-blue);font-weight:var(--fw-bold);font-size:18px;line-height:1;}
.breakdance .dps .faq-item.open .faq-toggle{background:var(--c-orange);color:#fff;}
.breakdance .dps .faq-a{color:var(--text-muted);font-size:var(--fs-sm);line-height:1.7;margin:14px 0 0;}

/* ---- contact band ---- */
.breakdance .dps .contactband{position:relative;padding:clamp(48px,6vw,96px) 0;background:#0F1722;overflow:hidden;}
.breakdance .dps .contactband .bgimg{position:absolute;inset:0;}
.breakdance .dps .contactband .bgimg img{width:100%;height:100%;object-fit:cover;object-position:center;}
.breakdance .dps .contactband .bgimg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(20,28,40,0.97) 0%,rgba(20,28,40,0.92) 34%,rgba(20,28,40,0.30) 60%,rgba(20,28,40,0.05) 100%);}
.breakdance .dps .contactband .container{position:relative;z-index:1;}
.breakdance .dps .cb-card{background:rgba(28,39,57,0.82);backdrop-filter:blur(3px);border-radius:0 0 90px 0;padding:clamp(28px,3.5vw,48px);max-width:620px;color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow-xl);}
.breakdance .dps .cb-card::before{content:"";position:absolute;right:-90px;top:-50px;width:330px;height:240px;background:var(--wm) no-repeat center/contain;opacity:.07;}
.breakdance .dps .cb-card>*{position:relative;z-index:1;}
.breakdance .dps .cb-card h2{color:#fff;font-size:var(--fs-h2);margin:10px 0 12px;}
.breakdance .dps .cb-card .intro{color:rgba(255,255,255,0.8);margin-bottom:26px;font-size:var(--fs-sm);}
.breakdance .dps .cb-card .intro b{color:#fff;}
.breakdance .dps .cb-field{margin-bottom:18px;}
.breakdance .dps .cb-field label{display:block;font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-sm);margin-bottom:8px;color:#fff;}
.breakdance .dps .cb-field label .req{color:var(--c-orange);}
.breakdance .dps .cb-field input,.breakdance .dps .cb-field textarea{width:100%;border:none;border-radius:0 0 10px 0;padding:13px 16px;font-family:var(--font-body);font-size:var(--fs-sm);background:#fff;color:var(--c-charcoal);}
.breakdance .dps .cb-field textarea{resize:vertical;min-height:96px;}
.breakdance .dps .cb-row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.breakdance .dps .cb-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px;}

/* ---- footer ---- */
.breakdance .dps .footer{background:#131C29;color:rgba(255,255,255,0.7);padding:clamp(44px,5vw,72px) 0 0;}
.breakdance .dps .footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:36px;padding-bottom:44px;}
.breakdance .dps .footer .logo img{height:44px;margin-bottom:18px;}
.breakdance .dps .footer .blurb{font-size:var(--fs-sm);line-height:1.7;}
.breakdance .dps .footer h4{color:#fff;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;}
.breakdance .dps .footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.breakdance .dps .footer ul a{color:rgba(255,255,255,0.7);font-size:var(--fs-sm);}
.breakdance .dps .footer .ci{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-sm);margin-bottom:12px;}
.breakdance .dps .footer .ci::before{content:"";display:inline-block;width:16px;height:16px;margin-top:3px;flex:none;background-color:var(--c-blue-400);-webkit-mask:var(--_bi) center/contain no-repeat;mask:var(--_bi) center/contain no-repeat;}
.breakdance .dps .footer .ci--phone{--_bi:var(--ic-phone);} .breakdance .dps .footer .ci--pin{--_bi:var(--ic-pin);} .breakdance .dps .footer .ci--lic{--_bi:var(--ic-check);}
.breakdance .dps .footer .ci .accent{color:var(--c-blue-400);}
.breakdance .dps .footer .bottom{border-top:1px solid rgba(255,255,255,0.1);padding:22px 0;font-size:var(--fs-xs);color:rgba(255,255,255,0.5);text-align:center;}

/* ---- responsive ---- */
@media (max-width:940px){
  .breakdance .dps .hero .container{grid-template-columns:1fr;}
  .breakdance .dps .hsvc .container,.breakdance .dps .hqa-inner,.breakdance .dps .hcta-inner,.breakdance .dps .hwhy-grid,.breakdance .dps .hsvc-grid,.breakdance .dps .hqa-photos{grid-template-columns:1fr;}
  .breakdance .dps .hstats-inner{grid-template-columns:1fr 1fr;}
  .breakdance .dps .hwhy-photo{display:none;}
  .breakdance .dps .faq-grid{grid-template-columns:1fr;}
  .breakdance .dps .footer .top{grid-template-columns:1fr 1fr;}
  .breakdance .dps .nav{display:none;}
}
