/* Serene v3 — photo-led Home sections (.ss-v3). Motion: transform/opacity only, strong ease-out, reduced-motion safe. */
:root{--v3-ease:cubic-bezier(.23,1,.32,1);--v3-ease-io:cubic-bezier(.77,0,.175,1)}
.ss-site .ss-section.ss-v3{max-width:none!important;padding-left:0;padding-right:0;gap:0}
/* Elementor "optimized markup" may drop .elementor-widget-container, so size the widget element itself. */
.ss-site .ss-v3>.elementor-widget{width:100%;max-width:var(--ss-max)!important;margin:0 auto;padding:0 var(--ss-gutter);box-sizing:border-box}
.ss-site .ss-v3>.elementor-widget>.elementor-widget-container{max-width:none;padding:0}
.ss-site .ss-v3-hero-sec{padding:0}
.ss-site .ss-v3-hero-sec>.elementor-widget{max-width:none!important;padding:0}
/* type — selectors carry .ss-section so they beat the base h1/h2/p rules in serene.css */
.ss-site .ss-section p.v3-eyebrow{font:700 14.5px/1.2 var(--ss-body);letter-spacing:.16em;text-transform:uppercase;color:var(--ss-brass-deep);display:flex;align-items:center;gap:14px;margin:0 0 18px}
.ss-site .ss-section p.v3-eyebrow::before{content:"";width:34px;height:2px;background:var(--ss-brass);flex:none}
.ss-site .ss-section h1.v3-h1,.ss-site .ss-section h2.v3-h2,.ss-site .ss-section .v3-quiet h3,.ss-site .ss-section .v3-offer h3,.ss-site .ss-section .v3-faq h3{font-family:var(--ss-display);font-weight:700;color:var(--ss-pine);letter-spacing:-.025em;line-height:1.06;margin:0 0 20px;text-wrap:balance}
.ss-site .ss-section h2.v3-h2{font-size:clamp(34px,3.8vw,56px);max-width:22ch}
.ss-site .ss-section p.v3-lede-sm{font-size:18px;line-height:1.65;color:var(--ss-muted);max-width:52ch;margin:0}
.ss-site .ss-section p.v3-fine,.ss-site .ss-section .v3-fine{font:400 13px/1.55 var(--ss-body);color:var(--ss-muted);margin:14px 0 0}
.ss-site .v3-link{display:inline-flex;align-items:center;gap:8px;font:600 15px var(--ss-body);color:var(--ss-pine);text-decoration:none;border-bottom:1px solid var(--ss-brass);padding-bottom:2px}
.ss-site .v3-link i{font-style:normal;transition:transform 160ms var(--v3-ease)}
.ss-site .v3-link:hover i{transform:translateX(4px)}
/* buttons */
.ss-site .v3-btn{transition:transform 160ms var(--v3-ease),background 160ms,color 160ms,box-shadow 160ms}
.ss-site .v3-btn:active{transform:scale(.97)}
.ss-site .ss-btn.v3-btn-ghost{background:transparent!important;color:var(--ss-pine)!important;border-color:var(--ss-line-strong)!important;box-shadow:none}
.ss-site .ss-btn.v3-btn-ghost:hover{background:var(--ss-pine)!important;color:var(--ss-paper)!important;border-color:var(--ss-pine)!important}
/* reveal */
html.js .ss-site [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity 700ms var(--v3-ease),transform 700ms var(--v3-ease);transition-delay:calc(var(--i,0)*60ms)}
html.js .ss-site [data-reveal].is-in{opacity:1;transform:none}
/* ---------- hero ---------- */
.ss-site .v3-hero{position:relative;min-height:min(78vh,760px);display:grid;grid-template-rows:1fr auto;color:#fff;isolation:isolate;overflow:hidden}
/* CTA band (replaces the full quote form on inner pages) */
.ss-site .v3-cta{display:grid;grid-template-columns:1.4fr auto;gap:32px;align-items:center}
.ss-site .v3-cta .v3-h2{margin-bottom:10px}
.ss-site .v3-cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.ss-site .ss-section .v3-cta-actions a.ss-header-phone{font-size:18px;color:var(--ss-pine)}
/* "In more depth" accordion reuses FAQ styling; body may carry h4 + several paragraphs */
.ss-site .v3-more .v3-faq-body h4{font:600 15px var(--ss-body);color:var(--ss-pine);margin:8px 0 6px}
.ss-site .v3-more .v3-faq-body p{margin-bottom:14px}
/* specials band on Home */
.ss-site .v3-band{display:grid;grid-template-columns:1fr 2fr;gap:32px 48px;align-items:start}
.ss-site .v3-band-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.ss-site .v3-band-list li{display:grid;grid-template-columns:1.1fr 1.4fr auto;gap:16px;align-items:center;padding:18px 0;border-top:1px solid var(--ss-line)}
.ss-site .v3-band-list li:last-child{border-bottom:1px solid var(--ss-line)}
.ss-site .v3-band-list strong{font:700 19px/1.25 var(--ss-display);color:var(--ss-pine)}
.ss-site .v3-band-list span{font:400 15px/1.5 var(--ss-body);color:var(--ss-muted)}
.ss-site .v3-band-all{grid-column:2;justify-self:start;margin-top:8px}
@media(max-width:767px){.ss-site .v3-cta,.ss-site .v3-band{grid-template-columns:1fr}.ss-site .v3-band-list li{grid-template-columns:1fr}.ss-site .v3-band-all{grid-column:1}}
.ss-site .v3-hero-media{position:absolute;inset:0;z-index:-1;background:var(--ss-pine)}
.ss-site .v3-hero-video,.ss-site .v3-hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.02)}
.ss-site .v3-hero-poster{display:none}
.ss-site .v3-hero.is-paused .v3-hero-poster,.ss-site .v3-hero.no-video .v3-hero-poster{display:block}
.ss-site .v3-hero.is-paused .v3-hero-video,.ss-site .v3-hero.no-video .v3-hero-video{display:none}
.ss-site .v3-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0e2320cc 0%,#0e2320ad 30%,#0e232070 55%,#0e23202e 72%,#0e232000 85%),linear-gradient(180deg,#0e232000 70%,#0e232066 100%)}
.ss-site .v3-hero-inner{position:relative;max-width:var(--ss-max);width:100%;margin:0 auto;padding:clamp(72px,10vh,120px) var(--ss-gutter) 40px;align-self:center}
.ss-site .ss-section .v3-hero p.v3-eyebrow{color:#e5cf9a}.ss-site .ss-section .v3-hero p.v3-eyebrow::before{background:#e5cf9a}
.ss-site .ss-section .v3-hero h1.v3-h1{font-size:clamp(46px,6.4vw,96px);color:#fff;max-width:11ch;letter-spacing:-.03em;margin-bottom:26px;text-shadow:0 2px 24px #0e232066}
.ss-site .v3-h1 span{display:block}
.ss-site .ss-section .v3-hero p.v3-lede{font-size:clamp(17px,1.35vw,21px);line-height:1.6;color:#f3efe6e6;max-width:50ch;margin:0 0 30px}
.ss-site .v3-actions{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 22px}
.ss-site .v3-hero .ss-btn.v3-btn-ghost{color:#fff!important;border-color:#ffffff66!important;backdrop-filter:blur(6px)}
.ss-site .v3-hero .ss-btn.v3-btn-ghost:hover{background:#fff!important;color:var(--ss-pine)!important;border-color:#fff!important}
.ss-site .v3-hero .ss-btn.v3-btn-primary{background:#fff!important;color:var(--ss-pine)!important;border-color:#fff!important}
.ss-site .v3-hero .ss-btn.v3-btn-primary:hover{background:#e5cf9a!important;border-color:#e5cf9a!important}
.ss-site .ss-section .v3-hero p.v3-powered{font:500 13px var(--ss-body);letter-spacing:.04em;color:#f3efe699;margin:0}
.ss-site .v3-trust{list-style:none;margin:0;padding:22px var(--ss-gutter);display:flex;flex-wrap:wrap;gap:10px 36px;justify-content:center;font:600 14.5px var(--ss-body);color:#fff;border-top:1px solid #ffffff2e;background:#0e232066;backdrop-filter:blur(10px)}
.ss-site .v3-trust li{display:inline-flex;align-items:center;gap:10px}
.ss-site .v3-trust li::before{content:"";width:6px;height:6px;border-radius:50%;background:#e5cf9a}
.ss-site .v3-video-toggle{position:absolute;right:var(--ss-gutter);bottom:78px;z-index:2;font:600 12px var(--ss-body);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:#0e232080;border:1px solid #ffffff55;border-radius:6px;padding:8px 14px;cursor:pointer;backdrop-filter:blur(8px)}
.ss-site .v3-video-toggle .v3-vt-play{display:none}
.ss-site .v3-hero.is-paused .v3-video-toggle .v3-vt-play{display:inline}.ss-site .v3-hero.is-paused .v3-video-toggle .v3-vt-pause{display:none}
.ss-site .v3-fine-hero{text-align:center;padding:12px var(--ss-gutter) 0;margin:0;font-size:12px}
/* page heroes (all non-Home pages): photo instead of video, shorter */
.ss-site .v3-page-hero{min-height:min(46vh,480px);grid-template-rows:1fr}
.ss-site .v3-page-hero .v3-hero-poster{display:block}
/* A page hero that plays video: the poster shows until playback starts, then steps aside. */
.ss-site .v3-page-hero.v3-has-video .v3-hero-poster{display:none}
.ss-site .v3-page-hero.v3-has-video.is-paused .v3-hero-poster,
.ss-site .v3-page-hero.v3-has-video.no-video .v3-hero-poster{display:block}
.ss-site .v3-page-hero.v3-has-video .v3-video-toggle{bottom:20px}
.ss-site .v3-page-hero .v3-hero-shade{background:linear-gradient(90deg,#0e2320c2 0%,#0e2320a3 30%,#0e232066 55%,#0e232026 72%,#0e232000 85%),linear-gradient(180deg,#0e232000 74%,#0e23204d 100%)}
.ss-site .v3-page-hero .v3-hero-inner{padding:clamp(56px,9vh,96px) var(--ss-gutter) clamp(48px,8vh,80px)}
.ss-site .ss-section .v3-hero h1.v3-h1-page{font-size:clamp(40px,5.2vw,76px);max-width:16ch}
.ss-site .v3-page-hero+.v3-fine-hero{display:none}
/* first content section after a page hero gets normal top padding */
.ss-site .ss-v3-page-hero-sec+.ss-section{padding-top:var(--ss-space)}
@media(max-width:767px){.ss-site .v3-hero.v3-page-hero{min-height:min(70svh,560px)}.ss-site .ss-section .v3-hero h1.v3-h1-page{font-size:clamp(34px,9.5vw,44px)}}
/* ---------- partners ---------- */
.ss-site .ss-section.ss-v3-partners-sec{padding-top:48px;padding-bottom:48px;background:#fff!important;border-bottom:1px solid var(--ss-line)}
.ss-site .v3-partners{display:grid;grid-template-columns:1fr;gap:14px;align-items:center;justify-items:start}
.ss-site .ss-section p.v3-partners-label{font:600 12px var(--ss-body);letter-spacing:.16em;text-transform:uppercase;color:var(--ss-brass-deep);margin:0}
.ss-site .v3-seals{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%}
.ss-site .v3-seals li{display:flex;flex-direction:column;align-items:center;gap:14px;padding:22px 16px;background:#fff;border:0;border-radius:0;font:600 15px var(--ss-body);color:var(--ss-pine);text-align:center}
.ss-site .v3-seals img{height:132px;width:auto;max-width:100%;object-fit:contain;background:none;border:0;padding:0}
@media(max-width:767px){
  /* Keep all three seals on one row. Stacking them at full height cost three screens of scroll.
     Height goes auto so the wide Premier Partner lockup is bounded by its column width while the
     two square shields are bounded by max-height. */
  .ss-site .ss-section.ss-v3-partners-sec{padding-top:30px;padding-bottom:30px}
  .ss-site .v3-seals{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}
  .ss-site .v3-seals li{padding:6px 2px;gap:8px;font-size:11.5px;line-height:1.3}
  .ss-site .v3-seals img{height:auto;width:auto;max-height:56px;max-width:100%}
}
.ss-site .v3-partners .v3-fine{grid-column:1/-1;margin:4px 0 0}
/* ---------- bento ---------- */
.ss-site .v3-head{margin-bottom:36px}
.ss-site .v3-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.ss-site .v3-bento{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:300px;gap:16px}
.ss-site .v3-tile{position:relative;display:block;overflow:hidden;border-radius:8px;background:var(--ss-pine);color:#fff!important;text-decoration:none;isolation:isolate}
.ss-site .ss-section .v3-tile:hover{color:#fff!important}
.ss-site .v3-tile.big{grid-row:span 2}
.ss-site .v3-tile.wide{grid-column:span 2}
.ss-site .v3-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--v3-ease);will-change:transform}
.ss-site .v3-tile-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0e232000 28%,#0e2320e6 100%);transition:opacity 300ms}
.ss-site .v3-tile-body{position:absolute;inset:auto 0 0 0;padding:26px;display:grid;gap:6px}
.ss-site .v3-num{font:600 11px var(--ss-body);letter-spacing:.2em;color:#e5cf9a}
.ss-site .v3-tile-title{font:700 clamp(26px,2.1vw,34px)/1.12 var(--ss-display);letter-spacing:-.02em;text-shadow:0 2px 14px #0e2320b3,0 1px 3px #0e232099}
.ss-site .v3-tile-copy{font:400 15px/1.5 var(--ss-body);color:#f3efe6e6;text-shadow:0 1px 8px #0e232099;max-width:38ch;max-height:0;opacity:0;overflow:hidden;transition:max-height 300ms var(--v3-ease),opacity 300ms}
.ss-site .v3-tile-cta{font:600 14px var(--ss-body);letter-spacing:.04em;text-shadow:0 1px 8px #0e232099;display:inline-flex;gap:8px;align-items:center;margin-top:6px}
.ss-site .v3-tile-cta i{font-style:normal;transition:transform 200ms var(--v3-ease)}
@media(hover:hover) and (pointer:fine){
  .ss-site .v3-tile:hover img{transform:scale(1.05)}
  .ss-site .v3-tile:hover .v3-tile-copy{max-height:80px;opacity:1}
  .ss-site .v3-tile:hover .v3-tile-cta i{transform:translateX(5px)}
}
.ss-site .v3-tile:focus-visible{outline:3px solid var(--ss-brass);outline-offset:4px}
/* ---------- splits ---------- */
.ss-site .v3-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,88px);align-items:center}
.ss-site .v3-split-rev .v3-split-copy{order:2}
.ss-site .v3-split-copy p{font-size:17px;line-height:1.7;color:var(--ss-slate);margin:0 0 20px;max-width:56ch}
.ss-site .v3-split-copy .ss-btn{margin-top:6px}
.ss-site .v3-photo{margin:0}
.ss-site .v3-photo img{width:100%;height:auto;display:block;border-radius:8px;box-shadow:var(--ss-shadow-lg)}
.ss-site .v3-photo figcaption{font:13px/1.5 var(--ss-body);color:var(--ss-muted);margin-top:12px}
.ss-site .v3-stack{position:relative;margin:0;padding:0 12% 14% 0}
.ss-site .v3-stack-a{width:100%;height:auto;display:block;border-radius:8px;box-shadow:var(--ss-shadow-lg);aspect-ratio:4/3;object-fit:cover}
.ss-site .v3-stack-b{position:absolute;right:0;bottom:0;width:48%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:8px;border:6px solid var(--ss-ivory);box-shadow:var(--ss-shadow-lg)}
.ss-site .v3-strip{margin:34px 0 0;padding:18px;background:#fff;border:1px solid var(--ss-line);border-radius:8px}
.ss-site .v3-strip img{width:100%;height:auto;display:block}
.ss-site .v3-strip figcaption{font:12px/1.5 var(--ss-body);color:var(--ss-muted);margin-top:8px}
.ss-site .v3-photo-sm{margin-top:34px;max-width:420px}
.ss-site .v3-photo-sm img{border-radius:6px;box-shadow:var(--ss-shadow)}
/* compare slider (wireframe ↔ 3D model): clip-path only, no layout animation */
.ss-site .v3-compare{position:relative;border-radius:8px;overflow:hidden;box-shadow:var(--ss-shadow-lg);aspect-ratio:1372/1300;background:#e9ebee;user-select:none;touch-action:pan-y;isolation:isolate}
.ss-site .v3-compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:0;box-shadow:none}
.ss-site .v3-compare-before{position:absolute;inset:0;will-change:clip-path}
.ss-site .v3-compare-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:3;-webkit-appearance:none;appearance:none}
.ss-site .v3-compare-handle{position:absolute;top:0;bottom:0;width:2px;background:#fff;transform:translateX(-1px);pointer-events:none;z-index:2;box-shadow:0 0 0 1px #0e232033}
.ss-site .v3-compare-handle span{position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;box-shadow:0 6px 18px -6px #14302b80;display:grid;place-items:center}
.ss-site .v3-compare-handle span::before{content:"◂ ▸";font:600 12px/1 var(--ss-body);color:var(--ss-pine);letter-spacing:2px}
.ss-site .v3-compare-range:focus-visible~.v3-compare-handle span{outline:3px solid var(--ss-brass);outline-offset:3px}
.ss-site .v3-compare-tag{position:absolute;top:14px;z-index:2;font:600 11px/1 var(--ss-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ss-pine);background:#ffffffe6;padding:8px 10px;border-radius:6px;pointer-events:none}
.ss-site .v3-tag-l{left:14px}.ss-site .v3-tag-r{right:14px}
/* stats */
.ss-site .v3-stats{list-style:none;margin:clamp(48px,6vw,80px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ss-site .v3-stats li{background:#fff;border:1px solid var(--ss-line);border-radius:8px;padding:26px 24px;display:grid;gap:8px}
.ss-site .v3-stats strong{font:700 clamp(28px,2.4vw,36px)/1 var(--ss-display);color:var(--ss-pine);letter-spacing:-.02em}
.ss-site .v3-stats li>span{font:400 14px/1.5 var(--ss-body);color:var(--ss-muted)}
/* ---------- lookbook ---------- */
/* Lead photo above a photo strip. */
/* Elementor ships `.elementor-widget:not(...) figure{margin:0}` at equal specificity and loads
   after the child theme, so the gap under a feature photo has to be forced. */
.ss-site .ss-section figure.v3-feature{margin:0 0 clamp(40px,4.5vw,64px)!important;border-radius:10px;overflow:hidden;box-shadow:var(--ss-shadow-lg)}
.ss-site .ss-section figure.v3-feature img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
@media(max-width:767px){.ss-site .ss-section figure.v3-feature img{aspect-ratio:4/3}
  .ss-site .v3-look-nav{display:none}}
/* Arrows ride the left and right edges of the strip itself; sitting up in the heading row put
   them far from the thing they move and made them easy to scroll past. */
.ss-site .v3-head+.v3-look-wrap{margin-top:clamp(26px,3vw,38px)}
.ss-site .v3-look-wrap{position:relative}
.ss-site .v3-look-nav{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:0;pointer-events:none}
/* Straddle the edge: half the button overlaps the photo, half sits on the page. */
.ss-site .v3-arrow svg{width:24px;height:24px;display:block}
.ss-site .v3-arrow-prev{margin-left:-28px}
.ss-site .v3-arrow-next{margin-right:-28px}
.ss-site .v3-look-nav .v3-arrow{pointer-events:auto}
.ss-site .v3-arrow{width:56px;height:56px;border-radius:50%;border:0;background:#fff;color:#111;cursor:pointer;display:grid;place-items:center;box-shadow:0 10px 24px -6px #14302b59,0 2px 6px #14302b26,0 0 0 1px #14302b12;transition:transform 160ms var(--v3-ease),box-shadow 160ms}
@media(hover:hover) and (pointer:fine){.ss-site .v3-arrow:hover{transform:scale(1.07);box-shadow:0 14px 30px -6px #14302b6b,0 2px 8px #14302b2e,0 0 0 1px #14302b1f}}
.ss-site .v3-arrow:focus-visible{outline:3px solid var(--ss-brass);outline-offset:3px}
.ss-site .v3-arrow:active{transform:scale(.94)}
.ss-site .v3-lookbook{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(-1*var(--ss-gutter));padding:0 var(--ss-gutter)}
.ss-site .v3-lookbook::-webkit-scrollbar{display:none}
.ss-site .v3-track{list-style:none;margin:0;padding:0 0 8px;display:flex;gap:18px}
.ss-site .v3-slide{flex:0 0 min(42vw,560px);scroll-snap-align:start}
.ss-site .v3-slide figure{margin:0}
.ss-site .v3-slide img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:8px;box-shadow:var(--ss-shadow)}
.ss-site .v3-slide figcaption{font:13px/1.5 var(--ss-body);color:var(--ss-muted);margin-top:10px}
.ss-site .v3-quiet{margin-top:clamp(40px,5vw,64px);padding:clamp(24px,3vw,40px);background:#fff;border:1px solid var(--ss-line);border-radius:8px;max-width:820px}
.ss-site .v3-quiet h3{font-size:clamp(24px,2.2vw,32px);margin-bottom:12px}
.ss-site .v3-quiet p{font-size:16px;line-height:1.65;color:var(--ss-slate);margin:0 0 16px}
/* ---------- local ---------- */
.ss-site .v3-local{max-width:720px}
.ss-site .v3-local p:not(.v3-eyebrow){font-size:18px;line-height:1.65;margin:0 0 26px}
/* ---------- specials ---------- */
.ss-site .v3-offers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ss-site .v3-offer{background:#fff;border:1px solid var(--ss-line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:transform 320ms var(--v3-ease),box-shadow 320ms}
.ss-site .v3-offer:hover{transform:translateY(-4px);box-shadow:var(--ss-shadow)}
.ss-site .v3-offer>img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.ss-site .v3-offer-body{padding:24px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.ss-site .v3-offer h3{font-size:clamp(24px,2vw,30px);margin:0}
.ss-site .v3-offer p{margin:0;font-size:15px;line-height:1.55;color:var(--ss-slate)}
.ss-site .v3-offer .v3-fine{margin:0}
.ss-site .v3-offer .ss-btn{margin-top:auto;align-self:flex-start}
/* ---------- faq ---------- */
.ss-site .v3-faq-wrap{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(32px,5vw,72px);align-items:start}
.ss-site .v3-faq-wrap .v3-head{position:sticky;top:120px}
.ss-site .v3-faq{border-top:1px solid var(--ss-line)}
.ss-site .v3-faq:last-child{border-bottom:1px solid var(--ss-line)}
.ss-site .v3-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;cursor:pointer}
.ss-site .v3-faq summary::-webkit-details-marker{display:none}
.ss-site .v3-faq h3{font-size:clamp(19px,1.5vw,23px);margin:0}
.ss-site .v3-faq-icon{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--ss-line-strong);position:relative;transition:background 160ms,border-color 160ms,transform 200ms var(--v3-ease)}
.ss-site .v3-faq-icon::before,.ss-site .v3-faq-icon::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--ss-pine);transform:translate(-50%,-50%)}
.ss-site .v3-faq-icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.ss-site .v3-faq[open] .v3-faq-icon{background:var(--ss-pine);border-color:var(--ss-pine);transform:rotate(45deg)}
.ss-site .v3-faq[open] .v3-faq-icon::before,.ss-site .v3-faq[open] .v3-faq-icon::after{background:#fff}
.ss-site .v3-faq-body p{font-size:16px;line-height:1.7;color:var(--ss-muted);margin:0 0 22px;max-width:62ch}
.ss-site .v3-faq-body{animation:v3-fade 240ms var(--v3-ease)}
@keyframes v3-fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
/* ---------- quote ---------- */
.ss-site .ss-v3-quote-sec{display:grid!important;grid-template-columns:1fr 1.35fr;gap:clamp(24px,4vw,56px);align-items:stretch;max-width:var(--ss-max)!important;padding-left:var(--ss-gutter);padding-right:var(--ss-gutter)}
.ss-site .ss-v3-quote-sec>.elementor-widget{max-width:none!important;padding:0;margin:0}
.ss-site .v3-quote-media{position:relative;border-radius:8px;overflow:hidden;min-height:420px;height:100%;color:#fff}
.ss-site .v3-quote-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ss-site .v3-quote-note{position:absolute;inset:auto 0 0 0;padding:28px;background:linear-gradient(180deg,#0e232000,#0e2320e6)}
.ss-site .ss-section .v3-quote-note p.v3-eyebrow{color:#e5cf9a}.ss-site .ss-section .v3-quote-note p.v3-eyebrow::before{background:#e5cf9a}
.ss-site .ss-section .v3-quote-note p:not(.v3-eyebrow){font-size:16px;line-height:1.6;margin:0 0 14px;color:#f3efe6}
.ss-site .ss-section .v3-quote-note a.ss-header-phone{color:#fff!important;font-size:20px}
/* ---------- responsive ---------- */
@media(max-width:1200px){
  .ss-site .v3-bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:260px}
  .ss-site .v3-stats{grid-template-columns:repeat(2,1fr)}
  .ss-site .v3-faq-wrap{grid-template-columns:1fr}.ss-site .v3-faq-wrap .v3-head{position:static}
}
@media(max-width:767px){
  /* Content-height hero. Forcing a full viewport and bottom-aligning the copy pushed all the
     slack to the top, which read as a big empty band above the headline. */
  .ss-site .v3-hero{min-height:auto}
  .ss-site .v3-hero-video{display:none}.ss-site .v3-hero-poster{display:block}.ss-site .v3-video-toggle{display:none}
  .ss-site .v3-hero-shade{background:linear-gradient(180deg,#0e232066 0%,#0e232099 55%,#0e2320e6 100%)}
  .ss-site .v3-hero-inner{padding:36px var(--ss-gutter) 30px;align-self:stretch}
  .ss-site .v3-h1{font-size:clamp(40px,11.5vw,54px)}
  .ss-site .v3-actions .ss-btn{width:100%}
  .ss-site .v3-trust{gap:8px 18px;justify-content:center;font-size:13px;padding:16px var(--ss-gutter)}
  .ss-site .v3-partners{grid-template-columns:1fr}
  .ss-site .v3-head-row{flex-direction:column;align-items:flex-start;gap:18px}
  .ss-site .v3-bento{grid-template-columns:1fr;grid-auto-rows:240px}
  .ss-site .v3-tile.big,.ss-site .v3-tile.wide{grid-row:auto;grid-column:auto}
  .ss-site .v3-tile-copy{max-height:none;opacity:1}
  .ss-site .v3-split,.ss-site .ss-v3-quote-sec{grid-template-columns:1fr}
  .ss-site .v3-split-rev .v3-split-copy{order:0}
  .ss-site .v3-stats{grid-template-columns:1fr 1fr;gap:10px}.ss-site .v3-stats li{padding:18px 16px}
  .ss-site .v3-slide{flex-basis:84vw}
  .ss-site .v3-offers{grid-template-columns:1fr}
  .ss-site .v3-quote-media{min-height:320px}
}
@media(prefers-reduced-motion:reduce){
  .ss-site [data-reveal]{transition:opacity 200ms ease;transform:none}
  .ss-site .v3-tile img,.ss-site .v3-offer,.ss-site .v3-faq-body{transition:none;animation:none}
  .ss-site .v3-tile:hover img{transform:none}
}
/* CTA band → pine, gold button (same voice as the featured deal card) */
.ss-site .ss-section.ss-v3-cta-sec{background:var(--ss-pine)!important;border-top:3px solid var(--ss-brass)}
.ss-site .ss-v3-cta-sec .v3-cta{color:#f3efe6}
.ss-site .ss-section .ss-v3-cta-sec .v3-cta h2.v3-h2,.ss-site .ss-section.ss-v3-cta-sec h2.v3-h2{color:#fff}
.ss-site .ss-section.ss-v3-cta-sec p.v3-eyebrow{color:#e5cf9a}.ss-site .ss-section.ss-v3-cta-sec p.v3-eyebrow::before{background:#e5cf9a}
.ss-site .ss-section.ss-v3-cta-sec p.v3-lede-sm{color:#f3efe6cc}
.ss-site .ss-section.ss-v3-cta-sec .ss-btn.v3-btn-primary{background:#e5cf9a!important;color:var(--ss-pine)!important;border-color:#e5cf9a!important}
.ss-site .ss-section.ss-v3-cta-sec .ss-btn.v3-btn-primary:hover{background:#fff!important;border-color:#fff!important}
.ss-site .ss-section.ss-v3-cta-sec .v3-cta-actions a.ss-header-phone{color:#fff}
/* stats cards + specials band rows: brass edge */
.ss-site .v3-stats li{border-top:3px solid var(--ss-brass)}
.ss-site .v3-band-list li{border-left:3px solid var(--ss-brass);padding-left:16px}
/* bento tile tag reads like the deal ribbon */
.ss-site .v3-num{background:#ffffffe6;color:var(--ss-pine);padding:7px 10px;border-radius:4px;display:inline-block;width:max-content}
/* bold claims block */
.ss-site .ss-v3-claims-sec{background:#fff!important;border-top:3px solid var(--ss-brass);border-bottom:1px solid var(--ss-line)}
.ss-site .v3-claims{display:grid;gap:28px}
.ss-site .ss-section .v3-claims-head h2.v3-h2{max-width:26ch;margin-bottom:12px}
.ss-site .v3-claims-bare .v3-claims-head{margin-bottom:0}
.ss-site .v3-claims-bare .v3-claims-head p.v3-lede-sm{max-width:64ch}
.ss-site .v3-claims-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.ss-site .v3-claims-list li{display:grid;gap:10px;padding:22px 26px 24px 0;border-top:1px solid var(--ss-line)}
.ss-site .v3-claims-list li+li{border-left:1px solid var(--ss-line);padding-left:26px}
.ss-site .v3-claims-list strong{font:700 clamp(19px,1.6vw,22px)/1.2 var(--ss-display);color:var(--ss-pine);letter-spacing:-.015em}
.ss-site .v3-claims-list span{font:400 15px/1.55 var(--ss-body);color:var(--ss-muted)}
@media(max-width:767px){.ss-site .v3-claims-list{grid-template-columns:1fr}.ss-site .v3-claims-list li+li{border-left:0;padding-left:0}}

/* ===== v3.1 — design package: rendering process, packet viewer, downloads ===== */
.ss-site .ss-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* --- how a rendering gets made --- */
.ss-site .v3-rp{display:grid;gap:clamp(36px,4.5vw,60px)}
.ss-site .v3-rp-head{max-width:72ch}
.ss-site .v3-rp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.ss-site .v3-rp-steps li{display:grid;gap:9px;align-content:start;padding:24px 22px 26px 0;border-top:2px solid var(--ss-brass)}
.ss-site .v3-rp-steps li+li{border-left:1px solid var(--ss-line);padding-left:22px}
.ss-site .v3-rp-n{font:700 12px/1 var(--ss-body);letter-spacing:.16em;color:var(--ss-brass-deep)}
.ss-site .v3-rp-steps strong{font:700 clamp(18px,1.5vw,21px)/1.22 var(--ss-display);color:var(--ss-pine);letter-spacing:-.015em}
.ss-site .v3-rp-steps li>span:last-child{font:400 15px/1.55 var(--ss-body);color:var(--ss-muted)}
.ss-site .v3-rp-compare{margin:0 auto;max-width:860px;width:100%}
.ss-site .v3-rp-compare figcaption{font:400 14px/1.55 var(--ss-body);color:var(--ss-muted);margin-top:14px;text-align:center}

/* --- the packet viewer --- */
.ss-site .ss-v3-pk-sec>.elementor-widget{max-width:1240px!important}
.ss-site .v3-pk-wrap{display:grid;gap:clamp(28px,3.5vw,44px)}
.ss-site .v3-pk-head{max-width:70ch}
.ss-site .v3-pk{border-radius:12px;overflow:hidden;background:var(--ss-pine);box-shadow:0 40px 90px -46px #14302bb3}
.ss-site .v3-pk-bar{display:flex;align-items:center;gap:16px;padding:13px 18px;background:#0e2320;border-bottom:1px solid #ffffff1a}
.ss-site .v3-pk-dots{display:flex;gap:7px;flex:none}
.ss-site .v3-pk-dots i{width:10px;height:10px;border-radius:50%;background:#ffffff2b}
.ss-site .v3-pk-url{font:500 13px var(--ss-body);color:#f3efe673;background:#ffffff0f;border-radius:6px;padding:7px 15px;flex:1;max-width:430px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-site .v3-pk-url em{font-style:normal;color:var(--ss-gold-soft,#e5cf9a)}
.ss-site .v3-pk-body{display:grid;grid-template-columns:234px 1fr}
.ss-site .v3-pk-rail{display:flex;flex-direction:column;gap:2px;padding:18px 14px;background:#0e232066;border-right:1px solid #ffffff14}
.ss-site .v3-pk-tab{display:flex;align-items:baseline;gap:12px;width:100%;text-align:left;padding:13px 14px;border:0;border-radius:6px;background:transparent;color:#f3efe6a8;font:600 15px var(--ss-body);cursor:pointer;transition:background 180ms var(--v3-ease),color 180ms var(--v3-ease)}
.ss-site .v3-pk-n{font:700 11px/1 var(--ss-body);letter-spacing:.12em;color:#e5cf9a7a;flex:none}
.ss-site .v3-pk-tab[aria-selected="true"]{background:var(--ss-ivory);color:var(--ss-pine)}
.ss-site .v3-pk-tab[aria-selected="true"] .v3-pk-n{color:var(--ss-brass-deep)}
.ss-site .v3-pk-tab:focus-visible{outline:2px solid #e5cf9a;outline-offset:2px}
@media(hover:hover) and (pointer:fine){.ss-site .v3-pk-tab:hover:not([aria-selected="true"]){background:#ffffff14;color:#fff}}
.ss-site .v3-pk-stage{display:grid;background:var(--ss-ivory);padding:clamp(22px,3vw,38px)}
.ss-site .v3-pk-panel{grid-area:1/1;min-width:0;display:grid;align-content:start;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity 200ms var(--v3-ease),transform 200ms var(--v3-ease),visibility 0s linear 200ms}
.ss-site .v3-pk-panel.is-on{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s,0s,0s}
.ss-site .v3-pk-panel:focus{outline:none}
.ss-site .v3-pk-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,3vw,40px);align-items:center}
.ss-site .v3-pk-figure img{width:100%;display:block;border-radius:8px;box-shadow:var(--ss-shadow)}
.ss-site .ss-section .v3-pk-kicker{font:600 11px var(--ss-body);letter-spacing:.16em;text-transform:uppercase;color:var(--ss-brass-deep);margin:0 0 12px}
.ss-site .ss-section .v3-pk-copy h3,.ss-site .ss-section .v3-pk-panel-head h3,.ss-site .ss-section .v3-pk-next h3{font:700 clamp(23px,2.1vw,31px)/1.12 var(--ss-display);color:var(--ss-pine);letter-spacing:-.022em;margin:0 0 12px}
.ss-site .ss-section .v3-pk-copy p,.ss-site .ss-section .v3-pk-panel-head p,.ss-site .ss-section .v3-pk-next p{font:400 16px/1.62 var(--ss-body);color:var(--ss-muted);margin:0 0 16px;max-width:54ch}
.ss-site .v3-pk-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ss-site .v3-pk-list li{position:relative;padding-left:22px;font:400 15px/1.5 var(--ss-body);color:var(--ss-pine)}
.ss-site .v3-pk-list li::before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:2px;background:var(--ss-brass)}
.ss-site .v3-pk-panel-head{margin-bottom:20px}
.ss-site .v3-pk-gallery{display:grid;grid-template-columns:1.55fr 1fr;gap:18px}
.ss-site .v3-pk-gallery-3{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}
.ss-site .v3-pk-gal-lead{grid-column:1/-1}
.ss-site .v3-pk-gallery figure{margin:0}
.ss-site .v3-pk-gallery img{width:100%;display:block;border-radius:8px}
.ss-site .v3-pk-gallery figcaption{font:500 13px var(--ss-body);color:var(--ss-muted);margin-top:10px}
.ss-site .v3-pk-compare{max-width:600px}
.ss-site .v3-pk-video video{width:100%;display:block;border-radius:8px;background:#0e2320;aspect-ratio:16/9;box-shadow:var(--ss-shadow)}
.ss-site .v3-sheets{display:grid;grid-template-columns:1fr 170px;gap:20px;align-items:start}
.ss-site .v3-sheet-main{margin:0;background:#fff;border:1px solid var(--ss-line);border-radius:8px;padding:14px}
.ss-site .v3-sheet-main img{width:100%;display:block;border-radius:2px}
.ss-site .v3-sheet-main figcaption{display:grid;gap:3px;padding-top:12px;margin-top:12px;border-top:1px solid var(--ss-line)}
.ss-site .v3-sheet-cap{font:700 16px var(--ss-display);color:var(--ss-pine)}
.ss-site .v3-sheet-note{font:400 14px/1.5 var(--ss-body);color:var(--ss-muted)}
.ss-site .v3-sheet-rail{display:grid;gap:8px;max-height:560px;overflow:auto}
.ss-site .v3-sheet-thumb{display:grid;gap:6px;padding:8px;border:1px solid var(--ss-line);border-radius:6px;background:#fff;cursor:pointer;text-align:left;transition:border-color 160ms var(--v3-ease),transform 160ms var(--v3-ease),box-shadow 160ms var(--v3-ease)}
.ss-site .v3-sheet-thumb img{width:100%;display:block}
.ss-site .v3-sheet-thumb span{font:600 11px/1.3 var(--ss-body);color:var(--ss-muted)}
.ss-site .v3-sheet-thumb[aria-pressed="true"]{border-color:var(--ss-brass);box-shadow:0 0 0 1px var(--ss-brass)}
.ss-site .v3-sheet-thumb[aria-pressed="true"] span{color:var(--ss-pine)}
.ss-site .v3-sheet-thumb:focus-visible{outline:2px solid var(--ss-brass);outline-offset:2px}
@media(hover:hover) and (pointer:fine){.ss-site .v3-sheet-thumb:hover{border-color:var(--ss-line-strong);transform:translateY(-2px)}}
.ss-site .v3-pk-panel:has(.v3-pk-next){align-content:center}
.ss-site .v3-pk-next{display:grid;gap:4px;max-width:58ch}

/* --- downloads --- */
.ss-site .v3-dl{display:grid;gap:clamp(26px,3vw,40px)}
.ss-site .v3-dl-head{max-width:66ch}
.ss-site .v3-dl-list{list-style:none;margin:0;padding:0;display:grid}
.ss-site .v3-dl-item{border-top:1px solid var(--ss-line)}
.ss-site .v3-dl-item:last-child{border-bottom:1px solid var(--ss-line)}
.ss-site .v3-dl-link{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:22px 14px;text-decoration:none;transition:background 180ms var(--v3-ease)}
.ss-site .v3-dl-type{font:700 11px/1 var(--ss-body);letter-spacing:.1em;color:var(--ss-brass-deep);background:#fff;border:1px solid var(--ss-line);border-radius:4px;padding:11px 12px}
.ss-site .v3-dl-text{display:grid;gap:4px;min-width:0}
.ss-site .v3-dl-text strong{font:700 clamp(17px,1.5vw,20px)/1.25 var(--ss-display);color:var(--ss-pine);letter-spacing:-.015em}
.ss-site .v3-dl-note{font:400 15px/1.5 var(--ss-body);color:var(--ss-muted)}
.ss-site .v3-dl-meta{font:500 13px var(--ss-body);color:var(--ss-brass-deep)}
.ss-site .v3-dl-go{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--ss-line-strong);color:var(--ss-pine);flex:none;transition:transform 180ms var(--v3-ease),background 180ms var(--v3-ease),color 180ms var(--v3-ease),border-color 180ms var(--v3-ease)}
.ss-site .v3-dl-link:focus-visible{outline:2px solid var(--ss-brass);outline-offset:-2px}
@media(hover:hover) and (pointer:fine){
  .ss-site .v3-dl-link:hover{background:#fff}
  .ss-site .v3-dl-link:hover .v3-dl-go{background:var(--ss-pine);border-color:var(--ss-pine);color:#fff;transform:translateY(2px)}
}

/* --- responsive --- */
@media(max-width:1023px){
  .ss-site .v3-pk-body{grid-template-columns:1fr}
  .ss-site .v3-pk-rail{flex-direction:row;overflow-x:auto;gap:6px;border-right:0;border-bottom:1px solid #ffffff14;padding:12px;scrollbar-width:none}
  .ss-site .v3-pk-rail::-webkit-scrollbar{display:none}
  .ss-site .v3-pk-tab{flex:none;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 14px;font-size:14px}
  .ss-site .v3-pk-split,.ss-site .v3-pk-gallery,.ss-site .v3-pk-gallery-3,.ss-site .v3-sheets{grid-template-columns:1fr}
  .ss-site .v3-pk-split .v3-pk-figure{order:-1}
  .ss-site .v3-sheet-rail{grid-auto-flow:column;grid-auto-columns:136px;max-height:none;overflow-x:auto;padding-bottom:4px}
  .ss-site .v3-rp-steps{grid-template-columns:1fr 1fr}
  .ss-site .v3-rp-steps li:nth-child(odd)+li{border-left:1px solid var(--ss-line)}
  .ss-site .v3-rp-steps li:nth-child(odd){border-left:0;padding-left:0}
}
@media(max-width:600px){
  .ss-site .v3-rp-steps{grid-template-columns:1fr}
  .ss-site .v3-rp-steps li,.ss-site .v3-rp-steps li+li{border-left:0;padding-left:0;padding-right:0}
  .ss-site .v3-dl-link{grid-template-columns:auto 1fr;gap:14px;padding:20px 4px}
  .ss-site .v3-dl-go{display:none}
  .ss-site .v3-pk-url{display:none}
}

/* --- reduced motion: keep the fade, drop the movement --- */
@media(prefers-reduced-motion:reduce){
  .ss-site .v3-pk-panel{transform:none;transition:opacity 150ms linear,visibility 0s linear 150ms}
  .ss-site .v3-pk-panel.is-on{transition-delay:0s,0s}
  .ss-site .v3-sheet-thumb:hover,.ss-site .v3-dl-link:hover .v3-dl-go{transform:none}
}

/* ===== hero estimate card: slim, beside the headline, expands on first interaction ===== */
/* Two columns only on the Home hero, which is the one with a copy wrapper and the estimate card.
   Page heroes have no .v3-hero-copy, so their eyebrow/h1/lede would auto-place into the grid. */
.ss-site .v3-hero:not(.v3-page-hero) .v3-hero-inner{display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,368px);gap:clamp(30px,4vw,64px);align-items:center}
.ss-site .v3-hero-copy{min-width:0}

.ss-site .ss-quote-mini{width:100%;background:#ffffffd1;backdrop-filter:blur(14px) saturate(115%);
  border:1px solid #ffffff5c;border-radius:10px;padding:22px 22px 20px;
  box-shadow:0 24px 54px -26px #0e2320b3,0 1px 3px #0e23201f}
.ss-site .ss-section .ss-quote-mini p.ss-mini-title{
  font:700 12px/1.2 var(--ss-body);letter-spacing:.15em;text-transform:uppercase;
  color:var(--ss-pine);margin:0 0 14px}
.ss-site .ss-section .ss-quote-mini p.ss-mini-fine{font:400 11.5px/1.45 var(--ss-body);color:var(--ss-muted);margin:10px 0 0}
.ss-site .ss-section .ss-quote-mini p.ss-mini-fine a{color:var(--ss-brass-deep)}

/* strip the saved template's own panel, heading and intro — the card supplies its own frame */
.ss-site .ss-quote-mini .ss-quote{padding:0!important;border:0!important;background:transparent!important;
  border-radius:0!important;box-shadow:none!important;max-width:none!important}
.ss-site .ss-quote-mini .elementor-widget-heading,
.ss-site .ss-quote-mini .elementor-widget-text-editor{display:none}
.ss-site .ss-quote-mini .elementor-form-fields-wrapper{row-gap:0}
.ss-site .ss-quote-mini .elementor-field-group{padding:0!important;margin-bottom:10px;width:100%;max-width:100%;flex:0 0 100%}
.ss-site .ss-quote-mini .elementor-field-group > label{font:600 11px/1 var(--ss-body);letter-spacing:.06em;
  text-transform:uppercase;color:var(--ss-muted);margin-bottom:6px}
.ss-site .ss-quote-mini .elementor-field-textual{min-height:44px;font-size:15px;border-radius:6px}

/* collapsed: name + email only; the expand button stands in for submit */
.ss-site .ss-quote-mini:not(.is-open) .elementor-field-group{display:none}
.ss-site .ss-quote-mini:not(.is-open) .elementor-field-group-name,
.ss-site .ss-quote-mini:not(.is-open) .elementor-field-group-email{display:block}
.ss-site .ss-quote-mini:not(.is-open) .elementor-field-type-submit{display:none}
.ss-site .ss-quote-mini .ss-mini-more,
.ss-site .v3-hero .ss-quote-mini .ss-btn.v3-btn-primary,
.ss-site .ss-quote-mini .elementor-field-type-submit button{
  width:100%;margin-top:4px;min-height:56px;padding-top:17px!important;padding-bottom:17px!important;
  background:var(--ss-pine)!important;color:#fff!important;border-color:var(--ss-pine)!important}
@media(hover:hover) and (pointer:fine){
  .ss-site .v3-hero .ss-quote-mini .ss-btn.v3-btn-primary:hover,
  .ss-site .ss-quote-mini .elementor-field-type-submit button:hover{
    background:var(--ss-moss-deep)!important;border-color:var(--ss-moss-deep)!important}}
.ss-site .ss-quote-mini.is-open .ss-mini-more{display:none}


/* expanded rows ease in rather than snapping */
.ss-site .ss-quote-mini.is-open .elementor-field-group{animation:ssMiniIn 220ms var(--v3-ease) both}
@keyframes ssMiniIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ss-site .ss-quote-mini.is-open .elementor-field-group{animation:none}}

@media(max-width:1023px){
  .ss-site .v3-hero:not(.v3-page-hero) .v3-hero-inner{grid-template-columns:1fr;gap:26px}
  .ss-site .ss-quote-mini{max-width:420px}
}

/* ===== blog: editorial layout for single posts (theme default was 1140px of 16px/24 Inter) ===== */
.ss-site.single-post main.site-main,
.ss-site.blog main.site-main,
.ss-site.archive main.site-main{
  --ss-measure:70ch;
  max-width:none;padding:clamp(56px,8vh,104px) var(--ss-gutter) clamp(64px,8vh,104px)}

.ss-site.single-post .page-header{max-width:var(--ss-measure);margin:0 auto clamp(28px,4vh,44px);
  padding-bottom:clamp(22px,3vh,32px);border-bottom:1px solid var(--ss-line)}
.ss-site.single-post .page-header h1.entry-title{
  font:700 clamp(36px,4.2vw,58px)/1.06 var(--ss-display);letter-spacing:-.028em;color:var(--ss-pine);
  margin:0;text-wrap:balance;max-width:24ch}

.ss-site.single-post .page-content{max-width:var(--ss-measure);margin:0 auto}
.ss-site.single-post .page-content > p{font:400 19px/1.78 var(--ss-body);color:#3a4a44;margin:0 0 1.35em}
.ss-site.single-post .page-content > p:first-of-type{font-size:21px;line-height:1.7;color:var(--ss-pine)}
.ss-site.single-post .page-content h2{
  font:700 clamp(26px,2.5vw,34px)/1.15 var(--ss-display);letter-spacing:-.022em;color:var(--ss-pine);
  margin:2.1em 0 .5em;padding-top:.65em;border-top:2px solid var(--ss-brass);max-width:26ch}
.ss-site.single-post .page-content h3{
  font:700 clamp(19px,1.6vw,22px)/1.25 var(--ss-display);color:var(--ss-pine);margin:1.9em 0 .4em}
.ss-site.single-post .page-content ul,
.ss-site.single-post .page-content ol{margin:0 0 1.5em;padding-left:1.1em}
.ss-site.single-post .page-content li{font:400 18px/1.7 var(--ss-body);color:#3a4a44;margin-bottom:.5em}
.ss-site.single-post .page-content li::marker{color:var(--ss-brass)}
.ss-site.single-post .page-content a{color:var(--ss-pine);text-decoration:none;
  border-bottom:1px solid var(--ss-brass);padding-bottom:1px}
@media(hover:hover) and (pointer:fine){
  .ss-site.single-post .page-content a:hover{border-bottom-color:var(--ss-pine)}}
.ss-site.single-post .page-content strong{color:var(--ss-pine)}

/* figures breathe past the text measure, as in print */
.ss-site.single-post .page-content figure{margin:clamp(34px,5vh,52px) 0;width:100%}
@media(min-width:900px){
  .ss-site.single-post .page-content figure{width:calc(100% + 140px);margin-left:-70px}
}
.ss-site.single-post .page-content figure img{width:100%;height:auto;display:block;border-radius:8px;
  box-shadow:var(--ss-shadow)}
.ss-site.single-post .page-content figcaption{font:400 13.5px/1.55 var(--ss-body);color:var(--ss-muted);
  margin-top:12px;padding-left:2px}
@media(min-width:900px){.ss-site.single-post .page-content figcaption{padding-left:70px}}

/* ===== blog index and category archives ===== */
.ss-site.blog .page-header,
.ss-site.archive .page-header{max-width:var(--ss-measure);margin:0 auto clamp(30px,4vh,48px);
  padding-bottom:clamp(20px,3vh,30px);border-bottom:2px solid var(--ss-brass)}
.ss-site.blog .page-header .page-title,
.ss-site.archive .page-header .page-title,
.ss-site.blog .page-header h1,
.ss-site.archive .page-header h1{
  font:700 clamp(34px,3.6vw,50px)/1.08 var(--ss-display);letter-spacing:-.026em;color:var(--ss-pine);margin:0}

.ss-site.blog .page-content > article,
.ss-site.archive .page-content > article{
  max-width:var(--ss-measure);margin:0 auto;padding:clamp(26px,3.4vh,38px) 0;
  border-bottom:1px solid var(--ss-line);display:grid;gap:10px}
.ss-site.blog .page-content > article:last-of-type,
.ss-site.archive .page-content > article:last-of-type{border-bottom:0}

.ss-site.blog article .entry-title,
.ss-site.archive article .entry-title{
  font:700 clamp(23px,2.3vw,30px)/1.18 var(--ss-display);letter-spacing:-.02em;margin:0;max-width:28ch}
.ss-site.blog article .entry-title a,
.ss-site.archive article .entry-title a{color:var(--ss-pine);text-decoration:none;
  background-image:linear-gradient(var(--ss-brass),var(--ss-brass));background-size:0 2px;
  background-position:0 100%;background-repeat:no-repeat;transition:background-size 240ms var(--v3-ease)}
.ss-site.blog article p,
.ss-site.archive article p{font:400 17px/1.65 var(--ss-body);color:var(--ss-muted);margin:0;max-width:62ch}
.ss-site.blog article .entry-title + p::after,
.ss-site.archive article .entry-title + p::after{
  content:"Read the guide \2192";display:block;margin-top:14px;
  font:600 14px var(--ss-body);letter-spacing:.03em;color:var(--ss-brass-deep)}
@media(hover:hover) and (pointer:fine){
  .ss-site.blog article:hover .entry-title a,
  .ss-site.archive article:hover .entry-title a{background-size:100% 2px}
}

.ss-site.blog .pagination,
.ss-site.archive .pagination{max-width:var(--ss-measure);margin:clamp(34px,5vh,52px) auto 0;
  display:flex;justify-content:space-between;gap:16px;padding-top:26px;border-top:1px solid var(--ss-line)}
.ss-site.blog .pagination a,
.ss-site.archive .pagination a{font:600 15px var(--ss-body);color:var(--ss-pine);text-decoration:none;
  border:1px solid var(--ss-line-strong);border-radius:6px;padding:12px 20px;transition:background 160ms,color 160ms}
@media(hover:hover) and (pointer:fine){
  .ss-site.blog .pagination a:hover,
  .ss-site.archive .pagination a:hover{background:var(--ss-pine);color:#fff;border-color:var(--ss-pine)}
}

/* ===== further-reading card (was a fine-print footnote line) ===== */
.ss-site .v3-readmore{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px 22px;
  margin:clamp(26px,3vw,36px) 0 0;padding:22px 24px;background:#fff;text-decoration:none;
  border:1px solid var(--ss-line);border-left:3px solid var(--ss-brass);border-radius:8px;
  box-shadow:0 1px 2px #14302b0d;
  transition:transform 180ms var(--v3-ease),box-shadow 180ms,border-color 180ms}
.ss-site .v3-readmore-kicker{grid-column:1;font:700 11px/1 var(--ss-body);letter-spacing:.16em;
  text-transform:uppercase;color:var(--ss-brass-deep)}
.ss-site .v3-readmore-title{grid-column:1;font:700 clamp(18px,1.6vw,21px)/1.3 var(--ss-display);
  color:var(--ss-pine);letter-spacing:-.015em}
.ss-site .v3-readmore-go{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:46px;height:46px;
  border-radius:50%;background:var(--ss-pine);color:#fff;flex:none;
  transition:transform 180ms var(--v3-ease),background 180ms}
.ss-site .v3-readmore-go svg{width:20px;height:20px;display:block}
.ss-site .v3-readmore:focus-visible{outline:3px solid var(--ss-brass);outline-offset:3px}
@media(hover:hover) and (pointer:fine){
  .ss-site .v3-readmore:hover{transform:translateY(-2px);box-shadow:var(--ss-shadow);
    border-color:var(--ss-line-strong)}
  .ss-site .v3-readmore:hover .v3-readmore-go{transform:translateX(4px);background:var(--ss-brass)}
}
@media(prefers-reduced-motion:reduce){
  .ss-site .v3-readmore,.ss-site .v3-readmore-go{transition:none}
  .ss-site .v3-readmore:hover{transform:none}
  .ss-site .v3-readmore:hover .v3-readmore-go{transform:none}
}
@media(max-width:600px){.ss-site .v3-readmore{padding:18px 18px;gap:12px 16px}
  .ss-site .v3-readmore-go{width:40px;height:40px}}

/* Gallery CTA under a photo strip */
.ss-site .v3-look-more{display:flex;justify-content:center;margin-top:clamp(26px,3vw,38px)}
.ss-site .v3-look-more .ss-btn{min-height:50px}

/* ===== local pages: estimate card beside the ask ===== */
.ss-site .v3-local-quote{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);
  gap:clamp(28px,4vw,56px);align-items:center}
.ss-site .v3-local-quote-copy{min-width:0}
.ss-site .v3-local-quote .ss-quote-mini{background:#fff;backdrop-filter:none;
  border:1px solid var(--ss-line);box-shadow:var(--ss-shadow)}
@media(max-width:1023px){
  .ss-site .v3-local-quote{grid-template-columns:1fr;gap:26px}
  .ss-site .v3-local-quote .ss-quote-mini{max-width:420px}
}
