/* Strip&Wax.com shared page components (sw- prefix). First used on /floor-types/carpet/ (2026-11-01).
   Link this file AFTER the page's inline <style> blocks so it wins ties. Uses the page tokens
   --blue, --blue-deep, --ink, --paper-2, --line, --radius, --text, --muted when present.
   Sections: <section class="sw-band [sw-band-alt|sw-band-blue]"><div class="wrap">...</div></section>
   Do not add class "band" to sw-band sections; the sitewide .band rules cap text at 760px. */

:root{--sw-blue:var(--blue,#0096D0);--sw-blue-deep:var(--blue-deep,#0077A6);--sw-ink:var(--ink,#26282A);
  --sw-paper-2:var(--paper-2,#EEF4F8);--sw-line:var(--line,#DCE6EC);--sw-text:var(--text,#191B1D);
  --sw-muted:var(--muted,#5A6066);--sw-radius:var(--radius,14px);--sw-tint:#E6F5FB;
  --sw-shadow:0 14px 40px rgba(20,40,55,.08)}

/* ---------- bands ---------- */
.sw-band{padding:88px 0;background:#fff}
.sw-band-alt{background:var(--sw-paper-2)}
.sw-band-blue{background:linear-gradient(135deg,#006E99 0%,#0088BF 55%,#0096D0 100%);color:#fff}
.sw-band-blue h2,.sw-band-blue h3{color:#fff}
.sw-band-blue .sw-lead{color:#E3F5FC}
.sw-band h2{font-size:clamp(28px,3.6vw,40px);max-width:24ch;margin:0 0 .45em}
.sw-band h3{font-family:"Poppins",system-ui,sans-serif}
.sw-lead{color:var(--sw-muted);font-size:clamp(17px,1.6vw,19px);max-width:62ch;margin:0}
.sw-lead+.sw-lead{margin-top:14px}
.sw-head{margin-bottom:40px}
.sw-head.center{text-align:center}
.sw-head.center h2,.sw-head.center .sw-lead{margin-left:auto;margin-right:auto}

/* ---------- buttons and links ---------- */
.sw-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 26px;
  border-radius:999px;background:var(--sw-blue-deep);color:#fff!important;font-family:"Poppins",sans-serif;font-weight:600;
  font-size:16px;text-decoration:none;box-shadow:0 8px 22px rgba(0,119,166,.28);transition:transform .15s ease,background .15s ease}
.sw-btn:hover{background:#005F86;transform:translateY(-1px)}
.sw-btn svg{width:18px;height:18px}
.sw-btn-light{background:#fff;color:var(--sw-blue-deep)!important;box-shadow:0 8px 22px rgba(0,0,0,.14)}
.sw-btn-light:hover{background:#F0FAFE}
.sw-tel{display:inline-flex;align-items:center;gap:8px;min-height:48px;font-weight:600;text-decoration:none;color:inherit}
.sw-tel svg{width:20px;height:20px;color:var(--sw-blue)}
.sw-arrow{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-family:"Poppins",sans-serif;font-weight:600;
  color:var(--sw-blue-deep);text-decoration:none}
.sw-arrow svg{width:18px;height:18px;transition:transform .15s ease}
.sw-arrow:hover svg{transform:translateX(3px)}
.sw-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:28px}

/* ---------- icons ---------- */
.sw-i{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.sw-sprite{position:absolute;width:0;height:0;overflow:hidden}
.sw-ico{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:52px;height:52px;border-radius:14px;
  background:var(--sw-tint);color:var(--sw-blue-deep)}
.sw-ico svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sw-ico.sm{width:40px;height:40px;border-radius:11px}
.sw-ico.sm svg{width:22px;height:22px}
.sw-band-blue .sw-ico{background:rgba(255,255,255,.16);color:#fff}

/* ---------- split hero (use with the page's dark .hero) ---------- */
.hero.sw-hero .wrap{max-width:1180px;padding-top:72px;padding-bottom:80px}
.sw-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:56px;align-items:center}
.sw-hero h1{max-width:13ch}
.sw-hero-copy p{max-width:44ch}
.sw-hero .sw-tel{color:#fff}
.sw-hero .sw-tel svg{color:#4cc3ef}
.sw-hero-media{position:relative;margin:0}
.sw-hero-media img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:22px;
  box-shadow:0 30px 80px rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.12)}
.sw-badge{position:absolute;left:-22px;bottom:26px;display:flex;align-items:center;gap:12px;background:#fff;color:var(--sw-text);
  border-radius:16px;padding:12px 18px 12px 12px;box-shadow:0 18px 40px rgba(0,0,0,.28);font-family:"Poppins",sans-serif;
  font-weight:600;font-size:15px;line-height:1.25;max-width:280px}

/* ---------- two column split ---------- */
.sw-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:center}
.sw-split.media-left{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.sw-split.top{align-items:start}
.sw-media{margin:0}
.sw-media img{display:block;width:100%;height:auto;border-radius:20px;box-shadow:var(--sw-shadow)}

/* ---------- at a glance panel ---------- */
.sw-panel{background:#fff;border:1px solid var(--sw-line);border-radius:22px;padding:30px;box-shadow:var(--sw-shadow)}
.sw-band-alt .sw-panel{border-color:#fff}
.sw-panel>h3{font-size:20px;margin:0 0 6px}
.sw-panel-list{list-style:none;margin:0;padding:0}
.sw-panel-list li{display:flex;gap:16px;align-items:center;padding:18px 0;border-top:1px solid var(--sw-line)}
.sw-panel-list li:first-child{border-top:0}
.sw-panel-list .sw-txt strong{display:block;font-family:"Poppins",sans-serif;font-size:17px;color:var(--sw-text);line-height:1.3}
.sw-panel-list .sw-txt span{display:block;color:var(--sw-muted);font-size:16px;line-height:1.4}

/* ---------- cards ---------- */
.sw-grid{display:grid;gap:22px}
.sw-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sw-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sw-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sw-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.sw-card{position:relative;display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid var(--sw-line);
  border-radius:20px;padding:28px 26px;box-shadow:0 8px 26px rgba(20,40,55,.05);transition:transform .15s ease,box-shadow .15s ease}
.sw-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(20,40,55,.10)}
.sw-card h3{font-size:19px;line-height:1.25;margin:4px 0 0;color:var(--sw-text)}
.sw-card p{margin:0;color:var(--sw-muted);font-size:16px;line-height:1.55}
.sw-card.featured{border-color:var(--sw-blue);box-shadow:0 0 0 1px var(--sw-blue),0 14px 36px rgba(0,150,208,.14)}
.sw-pill{align-self:flex-start;margin-top:auto;display:inline-block;background:var(--sw-tint);color:var(--sw-blue-deep);
  font-size:14px;font-weight:600;border-radius:999px;padding:5px 12px}
a.sw-card{text-decoration:none;color:inherit}
a.sw-card .sw-arrow{display:block;margin-top:auto;min-height:0;font-size:15px;line-height:1.35}
a.sw-card .sw-arrow svg{display:inline-block;vertical-align:-3px;margin-left:6px;width:16px;height:16px}
a.sw-card:hover h3{color:var(--sw-blue-deep)}

/* row card: icon left, text right */
.sw-card.row{flex-direction:row;align-items:flex-start;gap:20px;padding:28px}
.sw-card.row>div{display:flex;flex-direction:column;gap:8px;flex:1}
.sw-card.row h3{margin:2px 0 0}
.sw-card.row .sw-pill{margin-top:6px}

/* compact tile (price factors) */
.sw-tile{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--sw-line);border-radius:18px;padding:22px}
.sw-band-alt .sw-tile{border-color:#fff}
.sw-tile h3{font-size:17px;margin:2px 0 4px;color:var(--sw-text);line-height:1.3}
.sw-tile p{margin:0;color:var(--sw-muted);font-size:15.5px;line-height:1.5}

/* ---------- numbered steps ---------- */
.sw-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;counter-reset:sw-step}
.sw-step{position:relative;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);border-radius:20px;padding:28px 26px}
.sw-step-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.sw-step-num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff;
  color:var(--sw-blue-deep);font-family:"Poppins",sans-serif;font-weight:700;font-size:18px;flex:0 0 auto}
.sw-step h3{font-size:20px;margin:0}
.sw-step p{margin:0;color:#E8F6FC;font-size:16.5px;line-height:1.55}
.sw-steps.light .sw-step{background:#fff;border-color:var(--sw-line)}
.sw-steps.light .sw-step-num{background:var(--sw-blue-deep);color:#fff}
.sw-steps.light .sw-step p{color:var(--sw-muted)}

/* ---------- comparison table ---------- */
.sw-compare-wrap{background:#fff;border:1px solid var(--sw-line);border-radius:20px;overflow:hidden;box-shadow:var(--sw-shadow)}
.sw-compare{width:100%;border-collapse:collapse;font-size:16px;line-height:1.45}
.sw-compare th,.sw-compare td{padding:16px 20px;text-align:left;vertical-align:top;border-top:1px solid var(--sw-line)}
.sw-compare thead th{border-top:0;background:var(--sw-ink);color:#fff;font-family:"Poppins",sans-serif;font-weight:600;font-size:16px}
.sw-compare thead th:first-child{background:#1d1f21}
.sw-compare tbody th{width:26%;font-family:"Poppins",sans-serif;font-weight:600;color:var(--sw-text);background:#F7FAFC;font-size:15px}
.sw-compare td{color:var(--sw-text)}
.sw-compare-side{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr);gap:28px;align-items:stretch}
.sw-note{background:var(--sw-ink);color:#fff;border-radius:20px;padding:32px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.sw-note h3{color:#fff;font-size:21px;margin:0}
.sw-note p{margin:0;color:#D5DEE4;font-size:16.5px}
.sw-note .sw-btn{margin-top:6px;align-self:flex-start}
.sw-note .sw-ico{background:rgba(255,255,255,.12);color:#fff}

/* ---------- checklist card ---------- */
.sw-checkcard{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,.9fr);background:#fff;border-radius:24px;overflow:hidden;
  box-shadow:var(--sw-shadow);border:1px solid var(--sw-line)}
.sw-checkcard-main{padding:36px 38px}
.sw-checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 30px}
.sw-checklist li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.45;color:var(--sw-muted)}
.sw-checklist li strong{display:block;color:var(--sw-text);font-family:"Poppins",sans-serif;font-weight:600;font-size:16px}
.sw-check{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;
  background:var(--sw-blue);color:#fff;margin-top:1px}
.sw-check svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.sw-checkcard-side{background:linear-gradient(160deg,#0077A6,#0096D0);color:#fff;padding:36px 32px;display:flex;flex-direction:column;
  justify-content:center;gap:16px}
.sw-checkcard-side h3{color:#fff;font-size:22px;margin:0}
.sw-checkcard-side p{margin:0;color:#E3F5FC;font-size:16.5px}
.sw-checkcard-side .sw-tel{color:#fff;font-family:"Poppins",sans-serif;font-size:20px}
.sw-checkcard-side .sw-tel svg{color:#fff}

/* ---------- chips ---------- */
.sw-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;padding:0;list-style:none}
.sw-chips a{display:inline-flex;align-items:center;min-height:44px;padding:8px 18px;border-radius:999px;background:#fff;
  border:1px solid var(--sw-line);color:var(--sw-text);font-weight:600;font-size:15px;text-decoration:none}
.sw-chips a:hover{border-color:var(--sw-blue);color:var(--sw-blue-deep)}
.sw-band:not(.sw-band-alt) .sw-chips a{background:var(--sw-paper-2);border-color:var(--sw-paper-2)}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .sw-cols-5{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sw-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sw-badge{left:16px}
}
@media (max-width:860px){
  .sw-band{padding:56px 0}
  .sw-head{margin-bottom:28px}
  .hero.sw-hero .wrap{padding-top:44px;padding-bottom:52px}
  .sw-hero-grid,.sw-split,.sw-split.media-left,.sw-compare-side,.sw-checkcard{grid-template-columns:1fr;gap:32px}
  .sw-checkcard{gap:0}
  .sw-split.media-left .sw-media{order:-1}
  .sw-cols-3,.sw-cols-5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sw-cols-2{grid-template-columns:1fr}
  .sw-steps{grid-template-columns:1fr;gap:14px}
  .sw-badge{left:12px;bottom:12px;font-size:14px;padding:10px 14px 10px 10px}
  .sw-checkcard-main{padding:28px 24px}
  .sw-checkcard-side{padding:28px 24px}
}
@media (max-width:600px){
  .sw-cols-3,.sw-cols-4,.sw-cols-5,.sw-checklist{grid-template-columns:1fr}
  .sw-card{padding:22px 20px}
  .sw-panel{padding:22px 20px}
  .sw-compare{font-size:15px}
  .sw-compare th,.sw-compare td{padding:12px 12px}
  .sw-compare tbody th{width:30%;font-size:14px}
  .sw-hero-media img{border-radius:16px}
  .sw-actions .sw-btn{width:100%}
  .sw-card.row{padding:22px 20px;gap:16px}
  /* .sw-stack-row: cards switch to icon left on phones */
  .sw-stack-row>.sw-card{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;row-gap:6px;align-items:start}
  .sw-stack-row>.sw-card>.sw-ico{grid-row:1/span 3}
  .sw-stack-row>.sw-card>:not(.sw-ico){grid-column:2}
  .sw-stack-row>.sw-card h3{margin-top:2px}
  /* comparison table stacks: one block per row, labels from data-label */
  .sw-compare thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .sw-compare tr{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--sw-line)}
  .sw-compare tbody tr:first-child{border-top:0}
  .sw-compare tbody th{grid-column:1/-1;width:auto;border-top:0;padding:12px 16px 4px;background:#fff;font-size:16px}
  .sw-compare td{border-top:0;padding:4px 16px 14px}
  .sw-compare td::before{content:attr(data-label);display:block;font-size:13px;font-weight:600;color:var(--sw-blue-deep);margin-bottom:2px}
}

/* ---------- utilities ---------- */
.sw-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* services v2 (service pages: /floor-care/ hub, strip and wax, scrub and recoat, buffing, programs, cost; 2026-11-01) */
.sw-hero h1.sw-h1-long{font-size:clamp(34px,4.3vw,54px);max-width:18ch}
.sw-band-blue a:not(.sw-btn){color:#fff;text-decoration:underline}
/* text column inside a layout */
.sw-copy p{margin:0 0 14px;color:var(--sw-muted);font-size:17px;line-height:1.65;max-width:68ch}
.sw-copy p:last-child{margin-bottom:0}
.sw-copy .sw-lead{margin-bottom:14px}
/* photo card */
.sw-card.sw-photo{padding:0;gap:0;overflow:hidden}
.sw-photo>img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:var(--sw-paper-2)}
.sw-photo-body{display:flex;flex-direction:column;gap:10px;padding:22px 22px 24px;flex:1}
.sw-photo-body h3{margin:0}
.sw-card h2{font-size:clamp(22px,2.2vw,26px);line-height:1.2;margin:0;max-width:none}
/* icon list (check, no, warn) */
.sw-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.sw-list li{display:flex;gap:12px;align-items:flex-start;font-size:16.5px;line-height:1.5;color:var(--sw-muted)}
.sw-list li strong{color:var(--sw-text);font-weight:600}
.sw-list .sw-check{width:24px;height:24px;margin-top:1px}
.sw-list .sw-check svg{width:14px;height:14px}
.sw-check.no{background:var(--sw-ink)}
.sw-check.warn{background:#fff;color:var(--sw-blue-deep);box-shadow:inset 0 0 0 2px var(--sw-blue)}
.sw-card-foot{margin-top:auto!important;padding-top:16px;border-top:1px solid var(--sw-line)}
/* callout */
.sw-callout{display:flex;gap:16px;align-items:flex-start;margin-top:28px;background:#fff;border:1px solid var(--sw-line);border-radius:18px;
  padding:20px 24px;box-shadow:0 8px 26px rgba(20,40,55,.05)}
.sw-band:not(.sw-band-alt) .sw-callout{background:var(--sw-tint);border-color:var(--sw-tint);box-shadow:none}
.sw-band.sw-band-blue .sw-callout{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.24)}
.sw-callout p{margin:0;color:var(--sw-text);font-size:16.5px;line-height:1.6}
.sw-callout p+p{margin-top:10px}
.sw-band-blue .sw-callout p{color:#fff}
.sw-callout .sw-ico{background:#fff}
.sw-band-alt .sw-callout .sw-ico{background:var(--sw-tint)}
.sw-band-blue .sw-callout .sw-ico{background:rgba(255,255,255,.16);color:#fff}
/* step strip variants */
.sw-steps.sw-steps-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sw-steps.sw-steps-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sw-steps.sw-steps-col{grid-template-columns:1fr;gap:14px}
.sw-steps-col .sw-step{padding:20px 22px}
.sw-steps-col .sw-step-top{margin-bottom:8px}
.sw-step p strong{color:inherit}
.sw-step .sw-ico{margin-bottom:2px}
/* stat numbers */
.sw-stat{display:block;font-family:"Poppins",sans-serif;font-weight:700;font-size:clamp(24px,2.4vw,30px);line-height:1.15;
  color:var(--sw-blue-deep);letter-spacing:-.01em}
.sw-band-blue .sw-stat,.sw-note .sw-stat{color:#fff}
/* tiles with a photo thumb, dark tile */
.sw-tile .sw-thumb{flex:0 0 auto;width:64px;height:64px;border-radius:14px;object-fit:cover;display:block}
.sw-tile h3 a{color:inherit;text-decoration:none}
.sw-tile h3 a:hover{color:var(--sw-blue-deep)}
.sw-tile.dark,.sw-band-alt .sw-tile.dark{background:var(--sw-ink);border-color:var(--sw-ink)}
.sw-tile.dark h3{color:#fff}
.sw-tile.dark p{color:#D5DEE4}
.sw-tile.dark a{color:#fff}
.sw-tile.dark .sw-ico{background:rgba(255,255,255,.12);color:#fff}
/* formula rows in a dark note */
.sw-formula{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sw-formula li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(255,255,255,.16);color:#D5DEE4;font-size:16px}
.sw-formula li:first-child{border-top:0}
.sw-formula li strong{color:#fff;font-family:"Poppins",sans-serif;font-weight:600;text-align:right}
/* floor types v2 (2026-11-01): additions for /floor-types/ pages. New classes only. */
.sw-hero-long h1{font-size:clamp(34px,4.3vw,52px);max-width:17ch}
.sw-copy p{margin:0 0 14px;font-size:17px;line-height:1.65;color:var(--sw-text);max-width:66ch}
.sw-copy p:last-child{margin-bottom:0}
.sw-band-blue .sw-copy p{color:#E8F6FC}
.sw-band-blue .sw-copy a,.sw-band-blue .sw-lead a{color:#fff}
.sw-head+.sw-copy{margin-top:-14px;margin-bottom:28px}
.sw-sub{font-family:"Poppins",sans-serif;font-size:19px;line-height:1.3;margin:28px 0 14px;color:var(--sw-text)}
.sw-ticks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sw-ticks li{position:relative;padding-left:34px;font-size:16px;line-height:1.5;color:var(--sw-muted)}
.sw-ticks li strong{color:var(--sw-text);font-family:"Poppins",sans-serif;font-weight:600}
.sw-ticks li::before{content:"";position:absolute;left:0;top:0;width:23px;height:23px;border-radius:50%;
  background:var(--sw-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/13px no-repeat}
.sw-ticks.sw-no li::before{background-color:#3A3D40;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E")}
.sw-ticks.sw-cols2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px}
.sw-card .sw-ticks,.sw-panel .sw-ticks{margin-top:4px}
.sw-band-blue .sw-ticks li{color:#E8F6FC}
.sw-band-blue .sw-ticks li strong{color:#fff}
.sw-band-blue .sw-ticks li::before{background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230077A6' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.sw-card>h2{font-size:clamp(22px,2.2vw,26px);line-height:1.25;max-width:none;margin:4px 0 0;color:var(--sw-text)}
.sw-card-dark{background:var(--sw-ink);border-color:var(--sw-ink);color:#fff}
.sw-card-dark h2,.sw-card-dark h3{color:#fff!important}
.sw-card-dark p{color:#D5DEE4!important}
.sw-card-dark .sw-ico{background:rgba(255,255,255,.12);color:#fff}
.sw-card-dark .sw-ticks li{color:#D5DEE4}
.sw-card-dark .sw-ticks li strong{color:#fff}
.sw-card-dark .sw-ticks.sw-no li::before{background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2326282A' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E")}
.sw-card-dark a{color:#8FD8F5}
.sw-card a.sw-card-link{margin-top:auto;min-height:0;padding-top:4px;font-size:15px}
.sw-card-dark a.sw-card-link{color:#8FD8F5}
.sw-panel>h2{font-size:clamp(22px,2.4vw,28px);max-width:none;margin:0 0 10px}
.sw-panel .sw-copy p{font-size:16px}
.sw-steps.sw-steps-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sw-steps.sw-steps-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sw-steps+.sw-copy,.sw-grid+.sw-copy,.sw-compare-side+.sw-copy,.sw-steps+.sw-callout,.sw-grid+.sw-callout{margin-top:28px}
.sw-vsteps{list-style:none;margin:0;padding:0;counter-reset:sw-v}
.sw-vsteps li{position:relative;padding:0 0 24px 64px;min-height:44px}
.sw-vsteps li::before{counter-increment:sw-v;content:counter(sw-v);position:absolute;left:0;top:0;display:flex;align-items:center;
  justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--sw-blue-deep);color:#fff;font-family:"Poppins",sans-serif;
  font-weight:700;font-size:18px}
.sw-vsteps li::after{content:"";position:absolute;left:21px;top:50px;bottom:6px;width:2px;background:var(--sw-line)}
.sw-vsteps li:last-child{padding-bottom:0}
.sw-vsteps li:last-child::after{display:none}
.sw-vsteps h3{font-size:18px;line-height:1.3;margin:9px 0 4px;color:var(--sw-text)}
.sw-vsteps p{margin:0;color:var(--sw-muted);font-size:16px;line-height:1.55}
.sw-panel .sw-vsteps{margin-top:8px}
.sw-callout{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--sw-line);border-left:5px solid var(--sw-blue);
  border-radius:14px;padding:18px 20px;max-width:900px}
.sw-band-alt .sw-callout{border-color:#fff;border-left-color:var(--sw-blue)}
.sw-callout p{margin:0;font-size:16.5px;line-height:1.55;color:var(--sw-text)}
.sw-band-blue .sw-callout{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);border-left-color:#fff}
.sw-band-blue .sw-callout p{color:#fff}
.sw-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch}
.sw-pair>.sw-panel{display:flex;flex-direction:column}
.sw-fcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--sw-line);border-radius:20px;overflow:hidden;
  box-shadow:0 8px 26px rgba(20,40,55,.05)}
.sw-band-alt .sw-fcard{border-color:#fff}
.sw-fcard>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.sw-fcard-body{display:flex;flex-direction:column;gap:10px;padding:22px 24px 24px;flex:1}
.sw-fcard h3{font-size:20px;line-height:1.25;margin:0;color:var(--sw-text)}
.sw-fcard p{margin:0;color:var(--sw-muted);font-size:16px;line-height:1.55}
.sw-fcard .sw-links{margin-top:auto;display:flex;flex-wrap:wrap;gap:0 18px}
.sw-fcard .sw-arrow{min-height:44px;font-size:15.5px}
@media (max-width:1100px){
  .sw-steps.sw-steps-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .sw-steps.sw-steps-4,.sw-steps.sw-steps-2{grid-template-columns:1fr}
}
@media (max-width:600px){
  .sw-callout{padding:18px;gap:12px}
  .sw-photo-body{padding:20px 20px 22px}
  .sw-tile .sw-thumb{width:56px;height:56px}
  .sw-formula li{flex-direction:column;gap:2px}
  .sw-formula li strong{text-align:left}
}
/* services v2: stacked tile with a wide photo strip */
.sw-tile.stack{flex-direction:column;gap:14px;padding:0 0 20px;overflow:hidden}
.sw-tile.stack .sw-thumb{width:100%;height:130px;border-radius:0}
.sw-tile.stack>div{padding:0 20px}
.sw-note a:not(.sw-btn),.sw-tile.dark a{color:#fff;text-decoration:underline}
@media (max-width:860px){
  .sw-pair{grid-template-columns:1fr}
  .sw-steps.sw-steps-4,.sw-steps.sw-steps-2{grid-template-columns:1fr}
  .sw-head+.sw-copy{margin-top:-6px}
}
@media (max-width:600px){
  .sw-ticks.sw-cols2{grid-template-columns:1fr}
  .sw-fcard-body{padding:20px}
  .sw-vsteps li{padding-left:58px}
}
.sw-copy+.sw-ticks,.sw-lead+.sw-ticks{margin-top:16px}
.sw-card a.sw-card-link{display:block;line-height:1.35}
.sw-card a.sw-card-link svg{display:inline-block;vertical-align:-3px;margin-left:6px;width:16px;height:16px}
.sw-band-blue .sw-card:not(.sw-card-dark) .sw-ico{background:var(--sw-tint);color:var(--sw-blue-deep)}
.sw-band-blue .sw-card:not(.sw-card-dark) a{color:var(--sw-blue-deep)}
.sw-steps.sw-steps-5{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.sw-steps.sw-steps-5 .sw-step{padding:24px 20px}
.sw-band-blue .sw-panel{color:var(--sw-text)}
.sw-band-blue .sw-panel h3{color:var(--sw-text)}
@media (max-width:1100px){.sw-steps.sw-steps-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.sw-steps.sw-steps-5{grid-template-columns:1fr}}
.sw-compare-wrap+.sw-callout,.sw-pair+.sw-callout{margin-top:24px}
