/*
Theme Name: Sydney Screens & Windows
Theme URI: https://www.sydneyscreens.com.au/
Author: HCS Technology Solutions
Author URI: https://www.hcstech.com.au/
Description: Lightweight child theme of Twenty Twenty-Five for Sydney Screens & Windows. Native blocks only.
Template: twentytwentyfive
Version: 3.0.0
Requires at least: 6.6
License: GNU General Public License v2 or later
Text Domain: ssw
*/

/* =========================================================
   Design system v2
   ========================================================= */
:root{
  --r:14px; --r-sm:10px;
  --sh-1:0 1px 2px rgba(6,24,43,.06),0 4px 14px rgba(6,24,43,.06);
  --sh-2:0 10px 40px rgba(6,24,43,.14);
  --sh-3:0 24px 60px rgba(6,24,43,.22);
  --navy:var(--wp--preset--color--navy); --deep:var(--wp--preset--color--deep);
  --accent:var(--wp--preset--color--accent); --blue:var(--wp--preset--color--blue);
  --line:var(--wp--preset--color--line); --muted:var(--wp--preset--color--muted);
  --ease:cubic-bezier(.2,.7,.2,1);
}
html{scroll-behavior:smooth;overflow-x:clip}
body{overflow-x:clip}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{text-underline-offset:3px;text-decoration-thickness:1px}
img{height:auto}
.wp-site-blocks{padding-top:0}
.wp-site-blocks>*+*{margin-block-start:0}
main{margin-top:0!important}
main>.wp-block-post-content>*:first-child{margin-top:0}
.wp-block-post-content>.alignfull{margin-top:0;margin-bottom:0}
:where(.wp-block-group.has-background){padding-left:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--50)}
::selection{background:var(--accent);color:var(--deep)}

/* ---------- Top bar ---------- */
.ssw-topbar{font-size:.84rem;letter-spacing:.01em}
.ssw-topbar p{margin:0;opacity:.92}
.ssw-topbar a{color:#fff;text-decoration:none;font-weight:700}
.ssw-topbar .ssw-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#3ddc84;margin-right:.45rem;vertical-align:middle;box-shadow:0 0 0 3px rgba(61,220,132,.2)}

/* ---------- Header ---------- */
.ssw-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow .25s}
.admin-bar .ssw-header{top:32px}
@media (max-width:782px){.admin-bar .ssw-header{top:0}}
.ssw-header.is-stuck{box-shadow:0 6px 24px rgba(6,24,43,.08)}
.ssw-header .wp-block-site-logo img{max-height:58px;width:auto}
.ssw-header .wp-block-navigation{font-weight:700;font-size:.97rem;color:var(--navy)}
.ssw-header .wp-block-navigation__container{flex-wrap:nowrap!important}
.ssw-header .wp-block-navigation-item{white-space:nowrap}
.ssw-header .wp-block-navigation-item__content{padding:.4rem 0;position:relative}
.ssw-header .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.ssw-header .wp-block-navigation__container>.wp-block-navigation-item:hover>.wp-block-navigation-item__content::after,
.ssw-header .current-menu-item>.wp-block-navigation-item__content::after{transform:scaleX(1)}
.ssw-header .wp-block-navigation__submenu-container{border:1px solid var(--line)!important;border-radius:var(--r);box-shadow:var(--sh-2);padding:.6rem!important;min-width:250px!important;margin-top:.6rem!important}
.ssw-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content{padding:.55rem .8rem!important;border-radius:8px;font-weight:600}
.ssw-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:var(--wp--preset--color--sky);color:var(--blue)}
.ssw-header .ssw-header-ctas .wp-block-button__link{padding:.7rem 1.15rem;font-size:.93rem;white-space:nowrap}
@media (min-width:992px){.ssw-header .ssw-nav-contact{display:none!important}}
@media (min-width:992px) and (max-width:1200px){.ssw-header .ssw-header-ctas .is-style-outline{display:none}}
@media (max-width:991px){
  .ssw-header .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex!important}
  .ssw-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none!important}
  .ssw-header .ssw-header-ctas{display:none!important}
  .ssw-topbar .ssw-topbar-hours{display:none}
}
.wp-block-navigation__responsive-container.is-menu-open{padding:1.5rem!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:1.2rem}

/* ---------- Buttons ---------- */
.wp-block-button__link{transition:transform .2s var(--ease),box-shadow .2s var(--ease),background-color .2s}
.wp-block-button:not(.is-style-outline) .wp-block-button__link{box-shadow:0 6px 18px rgba(245,166,35,.35)}
.wp-block-button__link:hover{transform:translateY(-2px)}
.wp-block-button.is-style-outline .wp-block-button__link{border-width:2px}
.ssw-on-dark .wp-block-button.is-style-outline .wp-block-button__link{color:#fff;border-color:rgba(255,255,255,.55)}
.ssw-on-dark .wp-block-button.is-style-outline .wp-block-button__link:hover{background:#fff;color:var(--navy)}
.ssw-btn-arrow .wp-block-button__link::after{content:"\2192";margin-left:.5rem;transition:transform .2s}
.ssw-btn-arrow .wp-block-button__link:hover::after{transform:translateX(3px)}

/* ---------- Type helpers ---------- */
.ssw-eyebrow{display:inline-flex;align-items:center;gap:.6rem;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem!important;font-weight:800;color:var(--blue);margin-bottom:.6rem!important}
.ssw-eyebrow::before{content:"";width:28px;height:2px;background:var(--accent);border-radius:2px}
.ssw-on-dark .ssw-eyebrow,.has-navy-background-color .ssw-eyebrow,.has-deep-background-color .ssw-eyebrow{color:var(--accent)}
.ssw-lead{font-size:clamp(1.05rem,1.4vw,1.2rem)!important;color:var(--muted);max-width:62ch}
.ssw-on-dark .ssw-lead,.ssw-on-dark p{color:rgba(255,255,255,.86)}
.ssw-on-dark h1,.ssw-on-dark h2,.ssw-on-dark h3,.has-navy-background-color h1,.has-navy-background-color h2,.has-navy-background-color h3,.has-deep-background-color h2,.has-deep-background-color h3{color:#fff}
.ssw-center{text-align:center}
.ssw-center .ssw-eyebrow{justify-content:center}
.ssw-center .ssw-lead{margin-left:auto;margin-right:auto}
.ssw-hl{color:var(--accent)}

/* ---------- Section rhythm ---------- */
.ssw-section{padding-top:clamp(3.5rem,8vw,7rem)!important;padding-bottom:clamp(3.5rem,8vw,7rem)!important}
.ssw-section-sm{padding-top:clamp(2rem,4vw,3rem)!important;padding-bottom:clamp(2rem,4vw,3rem)!important}
.ssw-head{margin-bottom:clamp(1.75rem,4vw,3rem)!important}
.ssw-head h2{margin-top:0}

/* ---------- Covers / heroes ---------- */
.ssw-cover{padding-left:var(--wp--preset--spacing--50)!important;padding-right:var(--wp--preset--spacing--50)!important}
.ssw-cover .wp-block-cover__background{background:linear-gradient(100deg,rgba(6,24,43,.94) 0%,rgba(6,24,43,.82) 38%,rgba(6,24,43,.35) 75%,rgba(6,24,43,.2) 100%)!important;opacity:1!important}
.ssw-cover.ssw-cover-even .wp-block-cover__background{background:linear-gradient(180deg,rgba(6,24,43,.72),rgba(6,24,43,.86))!important}
.ssw-cover .wp-block-cover__inner-container{max-width:1240px;margin:0 auto;width:100%}
.ssw-cover h1{color:#fff;font-size:clamp(2.3rem,5.2vw,4rem)!important;line-height:1.05;margin:.2rem 0 1rem;max-width:18ch}
.ssw-cover.ssw-cover-page h1{font-size:clamp(2.1rem,4.4vw,3.3rem)!important;max-width:20ch}
.ssw-cover .ssw-lead{color:rgba(255,255,255,.88);max-width:56ch}
.ssw-cover-home{min-height:min(88vh,820px)!important}
.ssw-cover-page{min-height:440px!important}
.ssw-crumbs{font-size:.85rem!important;color:rgba(255,255,255,.7)!important;margin-bottom:1rem!important}
.ssw-crumbs a{color:rgba(255,255,255,.85);text-decoration:none}
.ssw-crumbs a:hover{color:#fff;text-decoration:underline}
.ssw-chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0!important;margin:1.4rem 0 1.8rem!important}
.ssw-chips li{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:.9rem;font-weight:600;backdrop-filter:blur(6px)}
.ssw-chips li::before{content:"";width:16px;height:16px;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%2306182B' d='M8 13.2 4.8 10l-1.1 1.1L8 15.4l8.3-8.3-1.1-1.1z'/%3E%3C/svg%3E") center/85% no-repeat;flex:none}

/* Quote card */
.ssw-formcard{background:#fff;border-radius:18px;box-shadow:var(--sh-3);padding:clamp(1.4rem,3vw,2.2rem)!important;color:var(--wp--preset--color--contrast);position:relative;border-top:5px solid var(--accent)}
.ssw-formcard h2,.ssw-formcard h3{color:var(--navy)!important;margin-top:0;font-size:1.45rem!important}
.ssw-formcard>p{color:var(--muted)!important;margin-top:.25rem}
.ssw-formcard .ssw-form-badges{display:flex;gap:1rem;flex-wrap:wrap;font-size:.8rem!important;color:var(--muted)!important;margin:.25rem 0 0!important}

/* ---------- Stat band ---------- */
.ssw-stats{position:relative;z-index:2}
.ssw-stats .wp-block-columns{gap:0!important}
.ssw-stats .wp-block-column{padding:1.6rem 1.2rem!important;text-align:left;position:relative}
.ssw-stats .wp-block-column+.wp-block-column::before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:rgba(255,255,255,.15)}
.ssw-stats p{margin:0;color:rgba(255,255,255,.75);font-size:.92rem}
.ssw-stats .ssw-stat{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.1;display:block;margin-bottom:.2rem}
.ssw-stats .ssw-stat em{font-style:normal;color:var(--accent)}
@media (max-width:781px){.ssw-stats .wp-block-columns{display:grid!important;grid-template-columns:1fr 1fr}.ssw-stats .wp-block-column::before{display:none}}

/* ---------- Tiles (product image cards with overlay) ---------- */
.ssw-tiles{display:grid!important;grid-template-columns:repeat(3,1fr);gap:1.25rem!important}
.ssw-tiles.ssw-tiles-2{grid-template-columns:repeat(2,1fr)}
.ssw-tiles.ssw-tiles-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.ssw-tiles,.ssw-tiles.ssw-tiles-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.ssw-tiles,.ssw-tiles.ssw-tiles-2,.ssw-tiles.ssw-tiles-4{grid-template-columns:1fr}}
.ssw-tiles>*{margin:0!important}
.ssw-tile{position:relative;border-radius:var(--r);overflow:hidden;min-height:340px!important;isolation:isolate;box-shadow:var(--sh-1);transition:box-shadow .35s var(--ease),transform .35s var(--ease)}
.ssw-tile:hover{box-shadow:var(--sh-2);transform:translateY(-4px)}
.ssw-tile .wp-block-cover__image-background{transition:transform .8s var(--ease)}
.ssw-tile:hover .wp-block-cover__image-background{transform:scale(1.06)}
.ssw-tile .wp-block-cover__background{background:linear-gradient(180deg,rgba(6,24,43,0) 25%,rgba(6,24,43,.55) 55%,rgba(6,24,43,.95) 100%)!important;opacity:1!important}
.ssw-tile .wp-block-cover__inner-container{align-self:flex-end;padding:1.4rem 1.4rem 1.5rem}
.ssw-tile h3{color:#fff!important;font-size:1.35rem!important;margin:0 0 .35rem}
.ssw-tile h3 a{color:#fff;text-decoration:none}
.ssw-tile h3 a::after{content:"";position:absolute;inset:0;z-index:3}
.ssw-tile p{color:rgba(255,255,255,.82)!important;font-size:.95rem;margin:0 0 .8rem;line-height:1.5}
.ssw-tile .ssw-more{display:inline-flex;align-items:center;gap:.4rem;font-weight:800;font-size:.9rem;color:var(--accent)!important;margin:0}
.ssw-tile .ssw-more::after{content:"\2192";transition:transform .2s}
.ssw-tile:hover .ssw-more::after{transform:translateX(4px)}
.ssw-tile-tall{min-height:420px!important}

/* ---------- Feature grid (icons) ---------- */
.ssw-features{display:grid!important;grid-template-columns:repeat(3,1fr);gap:1.25rem!important}
.ssw-features.ssw-features-4{grid-template-columns:repeat(4,1fr)}
.ssw-features.ssw-features-2{grid-template-columns:repeat(2,1fr)}
@media (max-width:980px){.ssw-features,.ssw-features.ssw-features-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.ssw-features,.ssw-features.ssw-features-4,.ssw-features.ssw-features-2{grid-template-columns:1fr}}
.ssw-features>*{margin:0!important}
.ssw-feature{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.6rem!important;transition:border-color .25s,box-shadow .25s,transform .25s var(--ease)}
.ssw-feature:hover{border-color:transparent;box-shadow:var(--sh-2);transform:translateY(-3px)}
.ssw-feature h3{margin:1rem 0 .4rem;font-size:1.12rem!important}
.ssw-feature p{margin:0;color:var(--muted);font-size:.97rem;line-height:1.6}
.ssw-ico{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#FFF3DC,#FFE2A8);color:var(--navy)}
.ssw-ico svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ssw-on-dark .ssw-feature,.has-navy-background-color .ssw-feature{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.ssw-on-dark .ssw-feature p,.has-navy-background-color .ssw-feature p{color:rgba(255,255,255,.75)}
.ssw-on-dark .ssw-ico,.has-navy-background-color .ssw-ico{background:rgba(245,166,35,.15);color:var(--accent)}

/* ---------- Split with image + badge ---------- */
.ssw-split{gap:clamp(2rem,5vw,4.5rem)!important}
.ssw-media{position:relative}
.ssw-media .wp-block-image{margin:0}
.ssw-media .wp-block-image img{border-radius:18px;box-shadow:var(--sh-2);width:100%;aspect-ratio:5/4;object-fit:cover;display:block}
.ssw-media.ssw-media-contain .wp-block-image img{object-fit:contain;background:#fff;padding:1.5rem;aspect-ratio:auto}
.ssw-media::before{content:"";position:absolute;inset:auto -18px -18px auto;width:62%;height:62%;border-radius:18px;background:repeating-linear-gradient(45deg,rgba(245,166,35,.18) 0 2px,transparent 2px 12px);z-index:-1}
.ssw-badge{position:absolute!important;left:-14px;bottom:28px;background:var(--navy);color:#fff;border-radius:16px;padding:1rem 1.25rem!important;box-shadow:var(--sh-3);max-width:230px;margin:0!important}
.ssw-badge p{margin:0;color:rgba(255,255,255,.8);font-size:.86rem;line-height:1.35}
.ssw-badge .ssw-badge-big{display:block;font-size:2rem;font-weight:800;color:var(--accent);line-height:1;letter-spacing:-.03em;margin-bottom:.25rem}
@media (max-width:781px){.ssw-badge{left:12px;bottom:12px}.ssw-media::before{display:none}}
.ssw-ticks{list-style:none;padding-left:0!important}
.ssw-ticks li{padding-left:2rem;position:relative;margin:.65rem 0}
.ssw-ticks li::before{content:"";position:absolute;left:0;top:.2em;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%2306182B' d='M8 13.2 4.8 10l-1.1 1.1L8 15.4l8.3-8.3-1.1-1.1z'/%3E%3C/svg%3E") center/80% no-repeat}
.ssw-ticks strong{color:var(--navy)}
.ssw-on-dark .ssw-ticks strong{color:#fff}

/* ---------- Steps ---------- */
.ssw-steps{display:grid!important;grid-template-columns:repeat(4,1fr);gap:1.5rem!important;counter-reset:step;position:relative}
.ssw-steps::before{content:"";position:absolute;top:28px;left:8%;right:8%;height:2px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.3) 0 8px,transparent 8px 16px)}
.ssw-steps>*{margin:0!important;position:relative;text-align:center}
.ssw-steps>*::before{counter-increment:step;content:counter(step);display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto 1.2rem;border-radius:50%;background:var(--accent);color:var(--deep);font-weight:800;font-size:1.25rem;box-shadow:0 0 0 8px var(--wp--preset--color--navy),0 0 0 9px rgba(255,255,255,.15);position:relative;z-index:1}
.ssw-steps h3{color:#fff!important;font-size:1.15rem!important;margin:0 0 .4rem}
.ssw-steps p{color:rgba(255,255,255,.78);font-size:.95rem;margin:0 auto;max-width:28ch}
@media (max-width:900px){.ssw-steps{grid-template-columns:1fr 1fr}.ssw-steps::before{display:none}}
@media (max-width:560px){.ssw-steps{grid-template-columns:1fr}}

/* ---------- Colour swatches ---------- */
.ssw-swatches{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:1rem;list-style:none;padding:0!important}
.ssw-swatches li{margin:0;font-size:.85rem;font-weight:700;color:var(--navy);text-align:center}
.ssw-swatches li i{display:block;aspect-ratio:1;border-radius:14px;margin-bottom:.5rem;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),var(--sh-1);background:var(--c)}
.ssw-note{font-size:.84rem!important;color:var(--muted)!important}

/* ---------- Spec table ---------- */
.ssw-specs{margin:0}
.ssw-specs table{border-collapse:separate;border-spacing:0;width:100%;font-size:.97rem;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.ssw-specs td{padding:.85rem 1.1rem;text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--line)}
.ssw-specs tr:last-child td{border-bottom:0}
.ssw-specs tr td:first-child{font-weight:700;width:44%;color:var(--navy);background:var(--wp--preset--color--sky)}
.ssw-specs tr:nth-child(even) td:last-child{background:#fcfdfe}

/* ---------- Panels ---------- */
.ssw-panel{border-radius:18px;padding:clamp(1.4rem,3vw,2.2rem)!important;border:1px solid var(--line);background:#fff;box-shadow:var(--sh-1)}
.ssw-panel h3{margin-top:0}
.ssw-panel-dark{background:var(--navy);border:0;color:#fff}
.ssw-panel-dark h3{color:#fff}
.ssw-panel-dark p,.ssw-panel-dark li{color:rgba(255,255,255,.85)}
.ssw-sticky{position:sticky;top:120px}

/* ---------- FAQ ---------- */
.wp-block-details{border:1px solid var(--line);border-radius:12px;padding:0;margin-bottom:.8rem;background:#fff;transition:box-shadow .2s,border-color .2s}
.wp-block-details[open]{box-shadow:var(--sh-1);border-color:transparent}
.wp-block-details summary{font-weight:800;cursor:pointer;color:var(--navy);padding:1.1rem 3.2rem 1.1rem 1.25rem;list-style:none;position:relative;font-size:1.02rem}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"+";position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--wp--preset--color--sky);color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;transition:transform .25s,background .25s}
.wp-block-details[open] summary::after{content:"\2212";background:var(--accent)}
.wp-block-details>:not(summary){padding:0 1.25rem;color:var(--muted)}
.wp-block-details>:last-child{padding-bottom:1.1rem;margin-bottom:0}

/* ---------- Area pills + links ---------- */
.ssw-pills{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0!important}
.ssw-pills li{margin:0}
.ssw-pills a,.ssw-pills span{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 1rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;font-weight:700;font-size:.93rem;transition:background .2s,color .2s,border-color .2s}
.ssw-pills a::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.ssw-pills a:hover{background:var(--accent);color:var(--deep);border-color:var(--accent)}
.ssw-pills.ssw-pills-light a,.ssw-pills.ssw-pills-light span{background:#fff;border-color:var(--line);color:var(--navy)}
.ssw-pills.ssw-pills-light a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.ssw-linkrow{display:flex;flex-wrap:wrap;gap:.6rem}

/* ---------- Pattern backgrounds ---------- */
.ssw-grid-bg{background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:44px 44px}
.ssw-glow{position:relative;overflow:hidden}
.ssw-glow::before{content:"";position:absolute;width:560px;height:560px;right:-160px;top:-220px;border-radius:50%;background:radial-gradient(circle,rgba(245,166,35,.22),transparent 65%);pointer-events:none}
.ssw-glow>*{position:relative}

/* ---------- Review band ---------- */
.ssw-review{border-radius:22px;padding:clamp(2rem,4vw,3rem)!important;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-1)}
.ssw-stars{font-size:1.6rem!important;letter-spacing:.2em;color:var(--accent);margin:0!important}

/* ---------- CTA ---------- */
.ssw-cta-cover{border-radius:24px;overflow:hidden;min-height:0!important;padding:clamp(2.2rem,5vw,4rem)!important}
.ssw-cta-cover .wp-block-cover__background{background:linear-gradient(100deg,rgba(6,24,43,.95),rgba(10,37,64,.8))!important;opacity:1!important}
.ssw-cta-cover h2{color:#fff;margin:0 0 .6rem}
.ssw-cta-cover p{color:rgba(255,255,255,.85)}
.ssw-cta-wrap{padding-top:0!important}

/* ---------- Forms (Contact Form 7) ---------- */
.wpcf7 form p{margin:0 0 .9rem}
.wpcf7 label{display:block;font-weight:700;font-size:.88rem;color:var(--navy)}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 select,.wpcf7 textarea{width:100%;margin-top:.35rem;padding:.8rem .95rem;border:1.5px solid #D5DCE4;border-radius:10px;font:inherit;font-size:.97rem;background:#FAFBFC;box-sizing:border-box;transition:border-color .2s,background .2s,box-shadow .2s}
.wpcf7 textarea{min-height:96px;resize:vertical}
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(27,111,181,.12)}
.wpcf7 input[type=file]{font-size:.85rem;margin-top:.35rem}
.wpcf7 input[type=submit]{background:var(--accent);color:var(--deep);border:0;border-radius:999px;padding:1rem 1.4rem;font-weight:800;font-size:1rem;cursor:pointer;width:100%;box-shadow:0 8px 22px rgba(245,166,35,.4);transition:transform .2s,box-shadow .2s}
.wpcf7 input[type=submit]:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(245,166,35,.5)}
.wpcf7 input[type=submit]:disabled{opacity:.5;cursor:not-allowed;transform:none}
.wpcf7 .ssw-form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 .9rem}
@media (max-width:600px){.wpcf7 .ssw-form-row{grid-template-columns:1fr}}
.wpcf7 .ssw-form-note{font-size:.8rem;color:var(--muted)}
.wpcf7-spinner{position:absolute}

/* ---------- Footer ---------- */
.ssw-footer{position:relative}
.ssw-footer a{color:rgba(255,255,255,.82);text-decoration:none;transition:color .2s}
.ssw-footer a:hover{color:var(--accent)}
.ssw-footer p,.ssw-footer li{color:rgba(255,255,255,.72)}
.ssw-footer h2{font-size:.78rem!important;text-transform:uppercase;letter-spacing:.14em;color:#fff!important;margin-bottom:1rem}
.ssw-footer ul{list-style:none;padding-left:0!important}
.ssw-footer li{margin:.5rem 0}
.ssw-footer .wp-block-site-logo img{background:#fff;border-radius:12px;padding:.6rem .8rem}
.ssw-footer .ssw-foot-phone a{font-size:1.5rem;font-weight:800;color:#fff;letter-spacing:-.01em}
.ssw-footer hr{border-color:rgba(255,255,255,.12)!important;opacity:1}

/* ---------- Sticky mobile call/quote bar ---------- */
.ssw-mobilebar{display:none}
@media (max-width:781px){
  .ssw-mobilebar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:10px;right:10px;bottom:10px;z-index:60;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(6,24,43,.35)}
  .ssw-mobilebar a{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem .5rem;font-weight:800;text-decoration:none;font-size:1rem}
  .ssw-mobilebar svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
  .ssw-mobilebar .ssw-mb-call{background:var(--navy);color:#fff}
  .ssw-mobilebar .ssw-mb-quote{background:var(--accent);color:var(--deep)}
  body{padding-bottom:78px}
}

/* ---------- Map ---------- */
.ssw-map iframe{width:100%;height:380px;border:0;border-radius:18px;box-shadow:var(--sh-1);display:block}

/* ---------- Reveal on scroll ---------- */
@media (prefers-reduced-motion:no-preference){
  .ssw-js .ssw-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
  .ssw-js .ssw-reveal.is-in{opacity:1;transform:none}
}

/* ---------- Misc ---------- */
.ssw-overlap{margin-top:-70px!important;position:relative;z-index:3}
@media (max-width:781px){.ssw-overlap{margin-top:0!important}}
.wp-block-column>.wp-block-image img{width:100%}
.ssw-kicker-num{font-size:.8rem;font-weight:800;color:var(--accent);letter-spacing:.12em}


/* =========================================================
   v3 – refinements, header, mega menu, interactive modules
   ========================================================= */
body{font-family:var(--wp--preset--font-family--manrope)}
h1,h2,h3,h4,.ssw-btn,.wp-block-button__link,.ssw-stat,.ssw-badge-big{font-family:var(--wp--preset--font-family--jakarta)}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.28s}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.ssw-lock{overflow:hidden}
.ssw-progress{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),#ffcf6b);transform-origin:0 50%;transform:scaleX(0);z-index:100;pointer-events:none}
.admin-bar .ssw-progress{top:32px}

/* Refined swatches */
.ssw-swatches{grid-template-columns:repeat(6,1fr)!important}
@media (max-width:1100px){.ssw-swatches{grid-template-columns:repeat(4,1fr)!important}}
@media (max-width:560px){.ssw-swatches{grid-template-columns:repeat(3,1fr)!important}}
.ssw-badge .ssw-badge-big{font-size:1.55rem}
.ssw-specs{margin-top:1.5rem}
.ssw-on-dark .ssw-feature a,.ssw-on-dark .ssw-lead a{color:var(--accent)}

/* ---------- Buttons (HTML) ---------- */
.ssw-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--accent);color:var(--deep)!important;font-weight:800;text-decoration:none!important;border-radius:999px;padding:.78rem 1.3rem;font-size:.95rem;line-height:1;box-shadow:0 6px 18px rgba(245,166,35,.35);transition:transform .2s var(--ease),box-shadow .2s;border:0;cursor:pointer;white-space:nowrap}
.ssw-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(245,166,35,.45)}
.ssw-btn-sm{padding:.6rem 1rem;font-size:.85rem}
.ssw-btn-block{display:flex;width:100%}
.ssw-btn-ghost{background:transparent;color:var(--navy)!important;box-shadow:inset 0 0 0 2px var(--line)}

/* ---------- Top bar v3 ---------- */
.ssw-topbar-in{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;font-size:.82rem}
.ssw-topbar-in p{margin:0;color:rgba(255,255,255,.85)}
.ssw-topbar-in a{color:#fff;text-decoration:none;font-weight:700}
.ssw-sep{margin:0 .55rem;opacity:.45}
.ssw-dot{background:#f5a623;box-shadow:0 0 0 3px rgba(245,166,35,.25)}
.ssw-is-open .ssw-dot{background:#3ddc84;box-shadow:0 0 0 3px rgba(61,220,132,.25);animation:sswPulse 2s infinite}
@keyframes sswPulse{50%{box-shadow:0 0 0 6px rgba(61,220,132,0)}}
@media (max-width:780px){.ssw-hide-sm{display:none}.ssw-topbar-in{justify-content:center}.ssw-topbar-in .ssw-sep{display:none}}

/* ---------- Header v3 ---------- */
.ssw-header{padding-left:var(--wp--preset--spacing--50)!important;padding-right:var(--wp--preset--spacing--50)!important}
.ssw-header-in{padding:.85rem 0;gap:1.5rem!important;transition:padding .25s var(--ease)}
.ssw-header.is-stuck .ssw-header-in{padding:.5rem 0}
.ssw-header .wp-block-site-logo img{max-height:56px;transition:max-height .25s}
.ssw-header.is-stuck .wp-block-site-logo img{max-height:46px}
.ssw-navwrap{flex:1;display:flex;justify-content:center}
.ssw-nav{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0}
.ssw-nav>li{position:static}
.ssw-nav>li>a,.ssw-nav-trigger{display:inline-flex;align-items:center;gap:.3rem;padding:.6rem .85rem;border-radius:999px;font:700 .95rem/1 var(--wp--preset--font-family--jakarta);color:var(--navy);text-decoration:none;background:none;border:0;cursor:pointer;transition:background .2s,color .2s}
.ssw-nav>li>a:hover,.ssw-nav-trigger:hover,.ssw-has-mega.is-open .ssw-nav-trigger{background:var(--wp--preset--color--sky);color:var(--blue)}
.ssw-nav>li.is-current>a,.ssw-nav>li>a[aria-current]{color:var(--blue);box-shadow:inset 0 -2px 0 var(--accent);border-radius:0}
.ssw-chev{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.ssw-has-mega.is-open .ssw-chev{transform:rotate(180deg)}
.ssw-i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ssw-mega{position:absolute;left:0;right:0;top:100%;padding:0 var(--wp--preset--spacing--50);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility 0s .22s;z-index:60}
.ssw-has-mega.is-open .ssw-mega{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.ssw-mega-inner{max-width:1240px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:0 0 22px 22px;box-shadow:var(--sh-3);display:grid;grid-template-columns:1fr 1.25fr 1.25fr 1fr;gap:1.5rem;padding:1.75rem}
.ssw-mega-h{display:block;font:800 .78rem/1 var(--wp--preset--font-family--jakarta);letter-spacing:.12em;text-transform:uppercase;color:var(--blue);text-decoration:none;margin-bottom:.9rem}
.ssw-mega-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}
.ssw-mega-col a:not(.ssw-mega-h){display:flex;gap:.8rem;align-items:flex-start;padding:.65rem .7rem;border-radius:12px;text-decoration:none;color:var(--navy);transition:background .18s}
.ssw-mega-col a:not(.ssw-mega-h):hover{background:var(--wp--preset--color--sky)}
.ssw-mega-col a .ssw-i{width:38px;height:38px;padding:9px;border-radius:10px;background:linear-gradient(135deg,#FFF3DC,#FFE2A8);color:var(--navy)}
.ssw-mega-col strong{display:block;font:700 .95rem/1.2 var(--wp--preset--font-family--jakarta)}
.ssw-mega-col small{display:block;color:var(--muted);font-size:.82rem;margin-top:.15rem}
.ssw-mega-promo{background:var(--navy) radial-gradient(circle at 100% 0,rgba(245,166,35,.28),transparent 55%);color:#fff;border-radius:16px;padding:1.4rem}
.ssw-mega-promo strong{display:block;font:800 1.2rem/1.2 var(--wp--preset--font-family--jakarta);margin:.3rem 0 .5rem}
.ssw-mega-promo p{color:rgba(255,255,255,.8);font-size:.88rem;margin:0 0 .6rem}
.ssw-mega-kicker{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.ssw-mega-hours{font-weight:700;color:#fff!important}
.ssw-hctas{display:flex;align-items:center;gap:.9rem}
.ssw-hphone{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--navy)}
.ssw-hphone-ico{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--wp--preset--color--sky);color:var(--blue)}
.ssw-hphone small{display:block;font-size:.72rem;color:var(--muted);font-weight:600;line-height:1.1}
.ssw-hphone strong{display:block;font:800 1rem/1.2 var(--wp--preset--font-family--jakarta);letter-spacing:-.01em}
.ssw-burger{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.ssw-burger span{display:block;width:20px;height:2px;border-radius:2px;background:var(--navy)}
@media (max-width:1180px){.ssw-hphone small{display:none}.ssw-nav>li>a,.ssw-nav-trigger{padding:.55rem .6rem}}
@media (max-width:1080px){.ssw-navwrap,.ssw-hphone{display:none}.ssw-burger{display:flex}}
@media (max-width:560px){.ssw-hctas .ssw-btn{display:none}}

/* Drawer */
.ssw-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);background:#fff;z-index:120;transform:translateX(100%);transition:transform .35s var(--ease);display:flex;flex-direction:column;box-shadow:var(--sh-3)}
.ssw-drawer.is-open{transform:none}
.ssw-scrim{position:fixed;inset:0;background:rgba(6,24,43,.5);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s;z-index:110}
.ssw-drawer.is-open+.ssw-scrim{opacity:1;visibility:visible;transition-delay:0s}
.ssw-drawer-top{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--line)}
.ssw-drawer-title{font:800 1.1rem var(--wp--preset--font-family--jakarta);color:var(--navy)}
.ssw-drawer-x{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--navy)}
.ssw-drawer-body{flex:1;overflow:auto;padding:.5rem 1.25rem}
.ssw-drawer-acc>button,.ssw-drawer-link{display:flex;width:100%;justify-content:space-between;align-items:center;padding:1rem 0;border:0;border-bottom:1px solid var(--line);background:none;font:800 1.1rem var(--wp--preset--font-family--jakarta);color:var(--navy);text-decoration:none;cursor:pointer;text-align:left}
.ssw-drawer-acc ul{list-style:none;margin:0;padding:.25rem 0 .75rem;display:none}
.ssw-drawer-acc.is-open ul{display:block}
.ssw-drawer-acc.is-open .ssw-chev{transform:rotate(180deg)}
.ssw-drawer-acc li a{display:flex;gap:.7rem;align-items:center;padding:.6rem .25rem;color:var(--navy);text-decoration:none;font-weight:600}
.ssw-drawer-acc li a .ssw-i{color:var(--blue)}
.ssw-drawer-foot{padding:1.25rem;border-top:1px solid var(--line);display:grid;gap:.6rem;background:var(--wp--preset--color--sky)}
.ssw-drawer-foot p{margin:0;font-size:.82rem;color:var(--muted);text-align:center}

/* ---------- Home hero v3 ---------- */
.ssw-kenburns .wp-block-cover__image-background{animation:sswKen 22s ease-out both}
@keyframes sswKen{from{transform:scale(1.12)}to{transform:scale(1)}}
.ssw-h1-anim span{display:inline-block;animation:sswUp .8s var(--ease) both}
.ssw-h1-anim span:nth-child(2){animation-delay:.08s}.ssw-h1-anim span:nth-child(3){animation-delay:.16s}.ssw-h1-anim span:nth-child(4){animation-delay:.28s}
@keyframes sswUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.ssw-cover-home .ssw-lead,.ssw-cover-home .wp-block-buttons,.ssw-proof{animation:sswUp .8s .35s var(--ease) both}
.ssw-cover-home .ssw-formcard{animation:sswUp .9s .25s var(--ease) both}
.ssw-proof{display:flex;gap:2rem;list-style:none;padding:0!important;margin:2.2rem 0 0!important;flex-wrap:wrap}
.ssw-proof li{display:flex;align-items:center;gap:.7rem;margin:0}
.ssw-proof strong{font:800 1.9rem/1 var(--wp--preset--font-family--jakarta);color:#fff;letter-spacing:-.03em}
.ssw-proof span{font-size:.8rem;line-height:1.3;color:rgba(255,255,255,.75)}
.ssw-proof li+li{padding-left:2rem;border-left:1px solid rgba(255,255,255,.18)}
@media (max-width:600px){.ssw-proof{gap:1rem}.ssw-proof li+li{padding-left:1rem}.ssw-proof strong{font-size:1.4rem}}
.ssw-cover-home .wp-block-cover__background{background:linear-gradient(100deg,rgba(6,24,43,.94) 0%,rgba(6,24,43,.8) 42%,rgba(6,24,43,.3) 80%,rgba(6,24,43,.15) 100%)!important}
.ssw-marquee-band{padding:0!important;overflow:hidden}
.ssw-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ssw-marquee-track{display:flex;width:max-content;animation:sswMarq 45s linear infinite}
.ssw-marquee span{padding:.95rem 1.4rem;font:800 .95rem var(--wp--preset--font-family--jakarta);color:var(--deep);white-space:nowrap;display:flex;align-items:center;gap:1.4rem}
.ssw-marquee span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--deep);opacity:.35}
@keyframes sswMarq{to{transform:translateX(-50%)}}
.ssw-marquee:hover .ssw-marquee-track{animation-play-state:paused}

/* ---------- Multi-step quote form ---------- */
.ssw-fprog{display:flex;align-items:center;gap:.75rem;margin:.25rem 0 1.1rem}
.ssw-fprog-label{font-size:.78rem;font-weight:800;color:var(--muted);white-space:nowrap}
.ssw-fprog-bar{flex:1;height:6px;border-radius:6px;background:var(--wp--preset--color--sky);overflow:hidden}
.ssw-fprog-bar i{display:block;height:100%;width:33%;background:linear-gradient(90deg,var(--accent),#ffcf6b);border-radius:6px;transition:width .4s var(--ease)}
.ssw-fq{font:800 1.05rem var(--wp--preset--font-family--jakarta)!important;color:var(--navy)!important;margin:0 0 .8rem!important}
.ssw-ptiles .wpcf7-radio{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.ssw-ptiles .wpcf7-list-item{margin:0}
.ssw-ptiles label{display:flex!important;align-items:center;gap:.6rem;padding:.8rem .8rem;border:1.5px solid #D5DCE4;border-radius:12px;background:#FAFBFC;cursor:pointer;font-size:.9rem!important;transition:border-color .18s,background .18s,box-shadow .18s;min-height:52px}
.ssw-ptiles label:hover{border-color:var(--blue);background:#fff}
.ssw-ptiles input{position:absolute;opacity:0;pointer-events:none}
.ssw-ptiles .wpcf7-list-item-label{font-weight:700;color:var(--navy)}
.ssw-ptiles label::before{content:"";width:22px;height:22px;flex:none;border-radius:6px;background:var(--accent);-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.ssw-ptiles label:has(input:checked){border-color:var(--accent);background:#FFF8EB;box-shadow:0 0 0 3px rgba(245,166,35,.2)}
.ssw-ptiles .wpcf7-list-item:nth-child(1) label{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E")}
.ssw-ptiles .wpcf7-list-item:nth-child(2) label{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M3 15h18M9 3v18M15 3v18'/%3E%3C/svg%3E")}
.ssw-ptiles .wpcf7-list-item:nth-child(3) label{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='2' y='4' width='20' height='16' rx='1'/%3E%3Cpath d='M12 4v16M9 12h1M14 12h1'/%3E%3C/svg%3E")}
.ssw-ptiles .wpcf7-list-item:nth-child(4) label{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M2 4h5l3 16H5zM10 4h4l-1 16h-2zM17 4h5l-3 16h-5z'/%3E%3C/svg%3E")}
.ssw-ptiles .wpcf7-list-item:nth-child(5) label{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='2' width='18' height='20' rx='1'/%3E%3Cpath d='M12 2v20M9.5 12h.01M14.5 12h.01'/%3E%3C/svg%3E")}
.ssw-ptiles .wpcf7-list-item:nth-child(6) label{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 12h18M12 3v18'/%3E%3C/svg%3E")}
.ssw-ptiles .wpcf7-list-item:nth-child(7) label{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='4' y='2' width='16' height='20' rx='2'/%3E%3Cpath d='M9 22v-4h6v4M8 6h.01M16 6h.01M12 6h.01M12 10h.01M12 14h.01M16 10h.01M16 14h.01M8 10h.01M8 14h.01'/%3E%3C/svg%3E")}
.ssw-ptiles .wpcf7-list-item:nth-child(8) label{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.1 9a3 3 0 0 1 5.8 1c0 2-3 3-3 3M12 17h.01'/%3E%3C/svg%3E")}
.ssw-factions{display:flex;gap:.6rem;margin-top:.4rem}
.ssw-factions>*{flex:1}
.ssw-fbtn{background:var(--navy);color:#fff;border:0;border-radius:999px;padding:.95rem 1.2rem;font:800 .98rem var(--wp--preset--font-family--jakarta);cursor:pointer;transition:background .2s,transform .2s}
.ssw-fbtn:hover{background:var(--blue);transform:translateY(-1px)}
.ssw-fbtn-ghost{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 2px var(--line);flex:0 0 auto}
.ssw-fbtn-ghost:hover{background:var(--wp--preset--color--sky);color:var(--navy)}
.ssw-factions .wpcf7-submit{margin:0!important}
.ssw-js .ssw-fstep[hidden]{display:none!important}
.ssw-invalid input,.ssw-invalid textarea,.ssw-invalid select,.ssw-invalid.ssw-ptiles label,.ssw-ptiles .ssw-invalid label{border-color:#e5484d!important;background:#fff5f5!important}
.ssw-fstep{animation:sswFade .35s var(--ease)}
@keyframes sswFade{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.wpcf7 form .wpcf7-response-output{border-radius:10px;margin:1rem 0 0;font-size:.9rem}
.ssw-formcard .ssw-form-note{margin-top:.6rem!important;text-align:center}

/* ---------- Stats v3 ---------- */
.ssw-stats .wp-block-column{text-align:center}
.ssw-stats .ssw-stat{font-size:clamp(2rem,3.6vw,2.8rem)}

/* ---------- Tabs ---------- */
.ssw-tablist{display:inline-flex;gap:.35rem;padding:.35rem;border-radius:999px;background:var(--wp--preset--color--sky);border:1px solid var(--line);margin-bottom:1.75rem;flex-wrap:wrap}
.ssw-tablist button{display:inline-flex;align-items:center;gap:.5rem;border:0;background:transparent;padding:.7rem 1.2rem;border-radius:999px;font:800 .95rem var(--wp--preset--font-family--jakarta);color:var(--muted);cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.ssw-tablist button[aria-selected=true]{background:#fff;color:var(--navy);box-shadow:var(--sh-1)}
.ssw-tablist button[aria-selected=true] .ssw-i{color:var(--accent)}
.ssw-tabpanel.is-in{animation:sswFade .45s var(--ease)}
.ssw-js .ssw-tabpanel[hidden]{display:none!important}

/* ---------- Spotlight on cards ---------- */
.ssw-feature{position:relative;overflow:hidden}
.ssw-feature::after{content:"";position:absolute;inset:0;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(245,166,35,.12),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.ssw-feature:hover::after{opacity:1}

/* ---------- Colour visualiser ---------- */
.ssw-viz{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
@media (max-width:900px){.ssw-viz{grid-template-columns:1fr}}
.ssw-viz-stage{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--sh-2);background:#fff}
.ssw-viz-svg{display:block;width:100%;height:auto}
.ssw-viz-svg .vz-frame *{fill:var(--frame);transition:fill .45s var(--ease)}
.ssw-viz-label{position:absolute;left:1rem;bottom:1rem;margin:0;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);padding:.55rem .9rem;border-radius:999px;font-size:.85rem;color:var(--muted);box-shadow:var(--sh-1)}
.ssw-viz-label strong{color:var(--navy)}
.ssw-viz-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}
@media (max-width:560px){.ssw-viz-grid{grid-template-columns:repeat(4,1fr);gap:.5rem}}
.ssw-viz-grid button{border:0;background:none;padding:0;cursor:pointer;text-align:center;font:700 .74rem/1.2 var(--wp--preset--font-family--manrope);color:var(--navy)}
.ssw-viz-grid button i{display:block;aspect-ratio:1;border-radius:12px;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),var(--sh-1);margin-bottom:.4rem;transition:transform .2s var(--ease),box-shadow .2s}
.ssw-viz-grid button:hover i{transform:translateY(-3px)}
.ssw-viz-grid button[aria-pressed=true] i{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--accent),var(--sh-2)}

/* ---------- Service map ---------- */
.ssw-map-wrap{position:relative;border-radius:22px;overflow:hidden;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1)}
.ssw-map{display:block;width:100%;height:auto}
.vz-ring{fill:rgba(245,166,35,.05);stroke:rgba(245,166,35,.35);stroke-dasharray:4 6}
.vz-ringlbl{fill:rgba(245,166,35,.8);font:700 11px var(--wp--preset--font-family--manrope)}
.vz-road{fill:none;stroke:rgba(255,255,255,.14);stroke-width:5;stroke-linecap:round}
.vz-roadlbl{fill:rgba(255,255,255,.45);font:800 11px var(--wp--preset--font-family--jakarta)}
.vz-pin{fill:rgba(255,255,255,.55)}
.vz-pin-main{fill:#fff;stroke:var(--accent);stroke-width:3}
.vz-lbl{fill:rgba(255,255,255,.6);font:600 12px var(--wp--preset--font-family--manrope)}
.vz-lbl-main{fill:#fff;font:800 14px var(--wp--preset--font-family--jakarta)}
.vz-link:hover .vz-pin-main{fill:var(--accent)}
.vz-link:hover .vz-lbl-main{fill:var(--accent)}
.vz-fac{fill:var(--accent)}
.vz-pulse{fill:rgba(245,166,35,.35);transform-box:fill-box;transform-origin:center;animation:sswRing 2.2s infinite}
@keyframes sswRing{from{transform:scale(.6);opacity:1}to{transform:scale(2.4);opacity:0}}
.vz-faclbl{fill:var(--accent);font:800 12px var(--wp--preset--font-family--jakarta)}
.ssw-js .ssw-map-wrap .vz-ring{transform-box:fill-box;transform-origin:center;transform:scale(.4);opacity:0;transition:transform 1.1s var(--ease),opacity 1.1s}
.ssw-js .ssw-map-wrap.is-in .vz-ring{transform:none;opacity:1}

/* ---------- Collage ---------- */
.ssw-collage{position:relative;padding:0 0 12% 0}
.ssw-collage .wp-block-image{margin:0}
.ssw-collage img{display:block;width:100%;border-radius:18px;object-fit:cover}
.ssw-col-a{width:82%}
.ssw-col-a img{aspect-ratio:4/3.3;box-shadow:var(--sh-2)}
.ssw-col-b{position:absolute!important;right:0;bottom:0;width:48%;border:6px solid #fff;border-radius:22px;box-shadow:var(--sh-3)}
.ssw-col-b img{aspect-ratio:1;border-radius:16px}
.ssw-collage .ssw-badge{left:-14px;bottom:18%;}

/* ---------- Product quick facts (overlaps hero) ---------- */
.ssw-facts-band{margin-top:-46px!important;position:relative;z-index:4;padding-top:0!important;padding-bottom:0!important}
.ssw-facts{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0!important;background:#fff;border-radius:18px;box-shadow:var(--sh-2);overflow:hidden}
.ssw-facts li{display:flex;gap:.8rem;align-items:center;padding:1.2rem 1.3rem;margin:0}
.ssw-facts li+li{border-left:1px solid var(--line)}
.ssw-facts .ssw-i{width:40px;height:40px;padding:9px;border-radius:12px;background:linear-gradient(135deg,#FFF3DC,#FFE2A8);color:var(--navy)}
.ssw-facts small{display:block;font-size:.74rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.ssw-facts strong{display:block;font:800 1.05rem/1.25 var(--wp--preset--font-family--jakarta);color:var(--navy)}
@media (max-width:900px){.ssw-facts{grid-template-columns:1fr 1fr}.ssw-facts li:nth-child(3){border-left:0}.ssw-facts li:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:600px){.ssw-facts-band{margin-top:-28px!important}.ssw-facts li{padding:.9rem}.ssw-facts strong{font-size:.92rem}}
.ssw-cover-page{padding-bottom:5rem!important}

/* ---------- Footer CTA row ---------- */
.ssw-foot-cta{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;padding-bottom:2.5rem;margin-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.12)}
.ssw-foot-cta h2{font-size:clamp(1.6rem,3vw,2.4rem)!important;text-transform:none!important;letter-spacing:-.03em!important;margin:0!important;color:#fff!important}
.ssw-foot-cta h2 span{color:var(--accent)}
.ssw-foot-cta .ssw-btn{font-size:1.05rem;padding:1rem 1.5rem}

/* ---------- Mobile polish ---------- */
@media (max-width:600px){
  .ssw-cover .ssw-chips{display:none}
  .ssw-cover{padding-top:2.5rem!important;padding-bottom:3.5rem!important}
  .ssw-cover-page{min-height:0!important;padding-bottom:4rem!important}
  .ssw-cover-home{min-height:0!important}
  .ssw-tablist{display:flex;width:100%}
  .ssw-tablist button{flex:1;justify-content:center;padding:.65rem .5rem;font-size:.85rem}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.ssw-viz{grid-template-columns:1.25fr 1fr}
.ssw-viz-grid{grid-template-columns:repeat(4,1fr)}
@media (min-width:1100px){.ssw-viz-grid{grid-template-columns:repeat(4,1fr);gap:.6rem .7rem}.ssw-viz-grid button i{aspect-ratio:1.35}}
@media (max-width:600px){
  .ssw-cover-home .ssw-eyebrow{font-size:.68rem!important;letter-spacing:.1em}
  .ssw-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
  .ssw-proof li{flex-direction:column;align-items:flex-start;gap:.25rem;padding:0!important;border:0!important}
  .ssw-proof span br{display:none}
  .ssw-ptiles label{font-size:.82rem!important;padding:.65rem;min-height:48px}
  .ssw-cover-home .wp-block-buttons .is-style-outline{display:none}
}

/* Facebook links */
.ssw-social a{display:inline-flex;align-items:center;gap:.6rem;font-weight:700}
.ssw-social svg,.ssw-fb svg,.ssw-drawer-fb svg{width:18px;height:18px;fill:currentColor}
.ssw-social svg{width:34px;height:34px;padding:8px;border-radius:50%;background:rgba(255,255,255,.08);box-sizing:border-box;transition:background .2s}
.ssw-social a:hover svg{background:#1877F2;color:#fff}
.ssw-fb{display:inline-flex;vertical-align:middle}
.ssw-drawer-fb{display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;color:var(--navy);text-decoration:none;font-size:.9rem}

/* =========================================================
   Blog / guides
   ========================================================= */
.ssw-blog-hero{padding:clamp(3rem,7vw,5.5rem) var(--wp--preset--spacing--50)!important}
.ssw-blog-hero h1,.ssw-blog-hero .wp-block-query-title,.ssw-blog-hero .wp-block-post-title{color:#fff;font-size:clamp(2.1rem,4.4vw,3.3rem)!important;line-height:1.08;margin:.3rem 0 1rem;max-width:22ch}
.ssw-post-hero .wp-block-post-title{max-width:none}
.ssw-blog-hero .ssw-lead,.ssw-blog-hero .wp-block-term-description{color:rgba(255,255,255,.85);max-width:60ch}
.ssw-postcat{font-size:.74rem!important;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ssw-postcat a{color:var(--blue);text-decoration:none}
.ssw-on-dark .ssw-postcat a{color:var(--accent)}
.ssw-postmeta{gap:.4rem 1.2rem!important;font-size:.9rem;color:rgba(255,255,255,.75)}
.ssw-postmeta p,.ssw-postmeta .wp-block-post-date{margin:0;color:rgba(255,255,255,.75)}
.ssw-postgrid .wp-block-post-template{gap:1.5rem!important}
@media (max-width:980px){.ssw-postgrid .wp-block-post-template.is-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:600px){.ssw-postgrid .wp-block-post-template.is-layout-grid{grid-template-columns:1fr!important}}
.ssw-postcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;height:100%;display:flex;flex-direction:column;transition:box-shadow .3s var(--ease),transform .3s var(--ease)}
.ssw-postcard:hover{box-shadow:var(--sh-2);transform:translateY(-4px)}
.ssw-postcard .wp-block-post-featured-image{margin:0;overflow:hidden}
.ssw-postcard .wp-block-post-featured-image img{transition:transform .7s var(--ease);width:100%}
.ssw-postcard:hover .wp-block-post-featured-image img{transform:scale(1.05)}
.ssw-postcard-body{padding:1.3rem 1.4rem 1.4rem!important;display:flex;flex-direction:column;gap:.5rem;flex:1}
.ssw-postcard-body>*{margin:0!important}
.ssw-postcard .wp-block-post-title{font-size:1.2rem!important;line-height:1.25}
.ssw-postcard .wp-block-post-title a{color:var(--navy);text-decoration:none}
.ssw-postcard .wp-block-post-title a:hover{color:var(--blue)}
.ssw-postcard .wp-block-post-excerpt__excerpt{color:var(--muted);font-size:.95rem;line-height:1.55;margin:0}
.ssw-postdate{font-size:.82rem;color:var(--muted);margin-top:auto!important;padding-top:.4rem}
.wp-block-query-pagination{margin-top:2.5rem!important;gap:.4rem}
.wp-block-query-pagination a,.wp-block-query-pagination .current{display:inline-flex;min-width:42px;height:42px;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--line);text-decoration:none;font-weight:700;color:var(--navy);padding:0 .9rem}
.wp-block-query-pagination .current{background:var(--navy);color:#fff;border-color:var(--navy)}
.ssw-post-wrap{padding-top:0!important;padding-bottom:clamp(3rem,6vw,5rem)!important}
.ssw-post-feature{margin-top:-3rem!important;position:relative;z-index:2}
.ssw-post-feature img{border-radius:18px;box-shadow:var(--sh-2)}
.ssw-post-hero{padding-bottom:5rem!important}
.ssw-prose{font-size:1.08rem;line-height:1.75}
.ssw-prose>*{margin-top:1.1em}
.ssw-prose h2{font-size:clamp(1.5rem,2.6vw,1.9rem)!important;margin-top:2em!important}
.ssw-prose h3{font-size:1.25rem!important;margin-top:1.6em!important}
.ssw-prose ul,.ssw-prose ol{padding-left:1.3rem}
.ssw-prose li{margin:.4rem 0}
.ssw-prose li::marker{color:var(--accent)}
.ssw-prose blockquote,.ssw-prose .ssw-tip{border-left:4px solid var(--accent);background:var(--wp--preset--color--sand);padding:1rem 1.25rem;border-radius:0 12px 12px 0;margin-left:0}
.ssw-prose .ssw-tip p{margin:0}
.ssw-prose table{width:100%;border-collapse:collapse;font-size:.97rem}
.ssw-prose td,.ssw-prose th{border:1px solid var(--line);padding:.7rem .9rem;text-align:left;vertical-align:top}
.ssw-prose th{background:var(--wp--preset--color--sky);color:var(--navy)}
.ssw-post-cta{margin-top:3rem!important;padding:clamp(1.5rem,3vw,2.2rem)!important;border-radius:18px;background:var(--wp--preset--color--sky);border:1px solid var(--line)}
.ssw-post-cta h3{margin-top:0}
.ssw-cta-plain{border-radius:24px;padding:clamp(2.2rem,5vw,4rem)!important;background:var(--navy) radial-gradient(circle at 100% 0,rgba(245,166,35,.25),transparent 55%)!important}
.ssw-related-h{margin-bottom:1.5rem!important}

/* blog hero alignment + spacing */
.ssw-blog-hero > h1,.ssw-blog-hero > .wp-block-query-title,.ssw-blog-hero > .wp-block-post-title,.ssw-blog-hero > .ssw-lead,.ssw-blog-hero > .wp-block-term-description{margin-left:max(0px,calc((100% - 1240px)/2))!important;margin-right:auto!important}
.ssw-blog-hero + .ssw-section{margin-top:0!important;padding-top:clamp(2.5rem,5vw,4rem)!important}
.ssw-post-hero > .wp-block-post-title,.ssw-post-hero > h1{max-width:860px!important;margin-left:max(0px,calc((100% - 860px)/2))!important}

.ssw-fstep .wpcf7-turnstile{margin:.4rem 0 1rem;min-height:65px}

@media (max-width:600px){.ssw-eyebrow{font-size:12px!important;letter-spacing:.12em}button[data-colour] span{font-size:12px!important}}

/* guides strip */
.ssw-guides{background:var(--wp--preset--color--sky);padding:clamp(3.5rem,7vw,6rem) 1.25rem;margin-top:0!important;margin-bottom:0!important;max-width:none!important}
.ssw-guides-grid.n2 img{aspect-ratio:16/8!important}
.ssw-guides-in{max-width:1240px;margin:0 auto}
.ssw-guides-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;flex-wrap:wrap;margin-bottom:2rem}
.ssw-guides-head h2{margin:0 0 .5rem;font-size:clamp(1.75rem,3.4vw,2.5rem);line-height:1.1;color:var(--navy)}
.ssw-guides-lead{margin:0;color:var(--muted);max-width:56ch}
.ssw-guides-all{font-weight:800;color:var(--navy);text-decoration:none;white-space:nowrap;border-bottom:2px solid var(--accent);padding-bottom:2px}
.ssw-guides-all::after{content:" \2192"}
.ssw-guides-all:hover{color:var(--blue)}
.ssw-guides-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.ssw-guides-grid.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ssw-guides .ssw-postcard h3{margin:0;font-size:1.2rem;line-height:1.25}
.ssw-guides .ssw-postcard figure a{display:block}
.ssw-guides-more{margin-top:auto!important;padding-top:.4rem;font-weight:800;font-size:.9rem;color:var(--blue)}
.ssw-guides-more::after{content:" \2192"}
.ssw-guides .ssw-postcard{position:relative}
.ssw-guides .ssw-postcard h3 a::after{content:"";position:absolute;inset:0}
.ssw-guides .ssw-postcat{position:relative;z-index:1}
@media (max-width:980px){.ssw-guides-grid,.ssw-guides-grid.n2{grid-template-columns:repeat(2,minmax(0,1fr))}.ssw-guides-grid>:nth-child(3){display:none}}
@media (max-width:600px){.ssw-guides-grid,.ssw-guides-grid.n2{grid-template-columns:1fr}.ssw-guides-grid>:nth-child(3){display:flex}}
