/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@600;700;800;900&family=Nunito+Sans:wght@400;500;600;700&display=swap');
:root{
  --blue:#0070A9;
  --blue-deep:#005A88;
  --blue-soft:rgba(0,112,169,.10);
  --ember:#FA943A;
  --ember-deep:#E07A1E;
  --ember-soft:rgba(250,148,58,.16);
  --ink:#06253B;
  --charcoal:#0A2F4B;
  --slate:#0F3A5A;
  --slate-2:#144669;
  --bone:#F3F8FC;
  --bone-dim:#A9BCCB;
  --bone-faint:rgba(243,248,252,.12);
  --paper:#EEF5FA;
  --white:#FFFFFF;
  --bg:var(--white);
  --fg:var(--ink);
  --fg-dim:#4E6478;
  --line:rgba(6,37,59,.10);
  --surface:var(--white);
  --surface-2:#F6FAFD;
  --eyebrow:var(--blue);
  --shadow:0 22px 46px -24px rgba(6,37,59,.28);
  --fs-h1:clamp(2.8rem,6.4vw,5.2rem);
  --fs-h2:clamp(2.3rem,4.4vw,3.6rem);
  --fs-h2-sm:clamp(1.9rem,3.2vw,2.6rem);
  --fs-h3:1.6rem;
  --fs-h4:1.25rem;
  --fs-lede:clamp(1.4rem,1.9vw,1.6rem);
  --fs-body:19px;
  --fs-card:17px;
  --fs-ui:14px;
  --fs-label:13px;
  --r-sm:12px;
  --r:20px;
  --r-lg:28px;
  --maxw:1240px;
  --ease:cubic-bezier(.22,1,.36,1);
  --font-display:"Nunito",system-ui,sans-serif;
  --font-body:"Nunito Sans",system-ui,sans-serif;
  --font-mono:"Nunito",system-ui,sans-serif;
}
.dark{
  --bg:var(--ink);--fg:var(--bone);--fg-dim:var(--bone-dim);--line:var(--bone-faint);
  --surface:var(--slate);--surface-2:var(--slate-2);--eyebrow:var(--ember);
  --shadow:0 22px 46px -24px rgba(0,0,0,.6);
  background:var(--bg);color:var(--fg);
}
.paper{background:var(--paper);}
.paper{--surface:var(--white);}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
::selection{background:var(--ember);color:var(--ink);}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.eyebrow{font-family:var(--font-mono);font-size:var(--fs-label);font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:var(--eyebrow);display:inline-flex;align-items:center;gap:12px;}
.eyebrow::before{content:"";width:26px;height:1px;background:currentColor;opacity:.7;}
h1,h2,h3{font-family:var(--font-display);font-weight:900;line-height:1.02;letter-spacing:-.005em;text-transform:uppercase;margin:0;color:var(--fg);}
.h-sec{font-size:var(--fs-h2);text-wrap:balance;}
p{margin:0;}
.lede{font-size:var(--fs-lede);font-weight:500;color:var(--fg-dim);line-height:1.55;max-width:54ch;}
:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:6px;}
.btn{position:relative;display:inline-flex;align-items:center;gap:.7em;font-family:var(--font-mono);font-weight:800;font-size:var(--fs-ui);
  letter-spacing:.08em;text-transform:uppercase;padding:18px 28px;border-radius:var(--r-sm);overflow:hidden;isolation:isolate;
  transition:transform .5s var(--ease),color .35s var(--ease),box-shadow .5s var(--ease);white-space:nowrap;}
.btn svg{width:16px;height:16px;transition:transform .45s var(--ease);}
.btn-primary{background:var(--ember);color:#fff;box-shadow:0 12px 28px -14px rgba(250,148,58,.7);}
.btn-primary::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ember-deep);transform:translateY(101%);transition:transform .5s var(--ease);}
.btn-primary:hover::before{transform:translateY(0);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 32px -14px rgba(250,148,58,.8);}
.btn-primary:hover svg{transform:translate(4px,-4px);}
.btn-primary.btn-blue{background:var(--blue);box-shadow:0 12px 28px -14px rgba(0,112,169,.7);}
.btn-primary.btn-blue::before{background:var(--blue-deep);}
.btn-primary.btn-blue:hover{box-shadow:0 18px 32px -14px rgba(0,112,169,.8);}
.btn-ghost.hover-ember::before{background:var(--ember);}
.btn-ghost.hover-ember:hover{color:#fff;border-color:var(--ember);box-shadow:0 14px 28px -14px rgba(250,148,58,.7);}
.btn-ghost{color:var(--fg);border:1.5px solid var(--line);background:transparent;}
.btn-ghost::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--blue);transform:translateY(101%);transition:transform .5s var(--ease);}
.btn-ghost:hover{color:#fff;border-color:var(--blue);transform:translateY(-3px);}
.btn-ghost:hover::before{transform:translateY(0);}
.dark .btn-ghost::before{background:var(--bone);}
.dark .btn-ghost:hover{color:var(--ink);border-color:var(--bone);}
.btn-call{display:none;}
@media(max-width:820px){.btn-contact{display:none;}.btn-call{display:inline-flex;}}
.swoosh{position:absolute;left:0;right:0;height:clamp(40px,6vw,84px);pointer-events:none;z-index:2;line-height:0;}
.swoosh svg{width:100%;height:100%;display:block;}
.swoosh-top{top:calc(-1 * clamp(40px,6vw,84px) + 1px);}
.swoosh-bottom{bottom:-1px;}
.swoosh-white svg{fill:#fff;}
.swoosh-paper svg{fill:var(--paper);}
.swoosh-ink svg{fill:var(--ink);}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:clamp(40px,6vw,64px);}
.sec-head .lede{margin-top:18px;}
.services{padding:clamp(80px,11vw,140px) 0;position:relative;}
.svc-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;}
.svc{flex:0 1 calc((100% - 40px)/3);}
.svc{background:var(--surface);border:1px solid var(--line);position:relative;overflow:hidden;border-radius:var(--r);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);display:flex;flex-direction:column;}
.svc:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.svc-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:#C9D9E6;}
.svc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease);}
.svc:hover .svc-img img{transform:scale(1.06);}
.svc-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1;}
.svc-ico{width:44px;height:44px;border-radius:12px;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.svc-ico svg{width:24px;height:24px;}
.svc h3{font-size:var(--fs-h3);line-height:1.15;margin:0 0 10px;color:var(--fg);letter-spacing:0;}
.svc p{font-size:var(--fs-card);color:var(--fg-dim);line-height:1.5;}
.svc .more{margin-top:auto;padding-top:14px;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;color:var(--blue);display:inline-flex;align-items:center;gap:8px;}
.svc .more svg{width:13px;height:13px;transition:transform .35s var(--ease);}
.svc:hover .more svg{transform:translateX(4px);}
.faq{position:relative;padding:clamp(80px,11vw,140px) 0;}
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,6vw,80px);align-items:start;}
.faq-list{display:flex;flex-direction:column;gap:12px;}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:0 24px;transition:border-color .3s,box-shadow .3s;}
.faq details[open]{border-color:rgba(0,112,169,.35);box-shadow:var(--shadow);}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;
  font-family:var(--font-display);font-weight:800;font-size:1.75rem;line-height:1.25;text-transform:none;letter-spacing:0;color:var(--fg);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary i{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--blue-soft);position:relative;transition:background .3s;}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;background:var(--blue);transform:translate(-50%,-50%);border-radius:2px;transition:transform .3s var(--ease),background .3s;}
.faq summary i::before{width:12px;height:2px;} .faq summary i::after{width:2px;height:12px;}
.faq details[open] summary i{background:var(--ember);}
.faq details[open] summary i::before,.faq details[open] summary i::after{background:#fff;}
.faq details[open] summary i::after{transform:translate(-50%,-50%) rotate(90deg);}
.faq details p{padding:0 44px 24px 0;font-size:var(--fs-body);line-height:1.62;color:var(--fg-dim);max-width:60ch;}
.cta{position:relative;padding:clamp(70px,9vw,110px) 0;overflow:clip;--fg-dim:#D9E3EC;}
.cta-glow{position:absolute;left:50%;bottom:-40%;transform:translateX(-50%);width:90vw;height:60vw;background:radial-gradient(circle,var(--ember-soft),transparent 60%);z-index:0;pointer-events:none;}
.cta .wrap{position:relative;z-index:2;}
.cta h2{font-size:var(--fs-h2);text-wrap:balance;color:var(--fg);margin-bottom:24px;}
.cta h2 em{font-style:normal;color:var(--ember);}
.cta-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.cta-phone{font-family:var(--font-mono);font-weight:800;font-size:17px;color:var(--fg);display:flex;align-items:center;gap:10px;letter-spacing:.04em;}
.cta-phone svg{width:17px;height:17px;color:var(--ember);}
.cta-note{font-family:var(--font-body);font-size:var(--fs-card);letter-spacing:0;text-transform:none;color:#D9E3EC;margin-top:28px;line-height:1.6;}
.cta-note a{color:#fff;font-weight:700;}
.cta-note a:hover{color:var(--ember);}
.sec-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:clamp(36px,5vw,56px);}
.sec-cta.center{justify-content:center;}
.band .sec-cta{margin-top:34px;}
.dark .btn-ghost{color:var(--bone);border-color:rgba(243,248,252,.35);}
@media(max-width:540px){.sec-cta .btn{width:100%;justify-content:center;}}
.cta{text-align:left;}
.cta-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,90px);align-items:start;}
.cta-copy{position:sticky;top:110px;}
.cta .lede{margin:0 0 36px;text-align:left;}
.cta-row{justify-content:flex-start;}
.cta .eyebrow{display:inline-flex;}
.form-card{background:var(--white);color:var(--ink);border-radius:var(--r);padding:clamp(22px,2.6vw,30px);max-width:520px;margin-left:auto;box-shadow:0 40px 80px -40px rgba(0,0,0,.7);}
.form-card h3{font-size:var(--fs-h3);color:var(--ink);}
.form-sub{font-size:var(--fs-card);color:#4E6478;margin:6px 0 16px;line-height:1.45;}
/* Quote-form heading block: centered, balanced wrap. Applies to the static .cform
   cards and the Gravity Forms (ID 1) panels alike. */
.form-card > h3,.form-panel > h3,.gf-panel > h3{text-align:center;text-wrap:balance;}
.form-card > .form-sub,.form-card > .f-sub,.form-panel > .form-sub,.form-panel > .f-sub,.gf-panel > .f-sub{
  text-align:center;text-wrap:balance;max-width:44ch;margin-left:auto;margin-right:auto;}
.cform{display:flex;flex-direction:column;gap:11px;}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.f-field{display:flex;flex-direction:column;gap:4px;}
.f-field span{font-family:var(--font-mono);font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);}
.f-field input,.f-field select,.f-field textarea{font-family:var(--font-body);font-size:var(--fs-card);color:var(--ink);background:var(--paper);
  border:1.5px solid rgba(6,37,59,.1);border-radius:10px;padding:9px 13px;width:100%;line-height:1.35;transition:border-color .3s,box-shadow .3s,background .3s;}
.f-field textarea{resize:vertical;min-height:84px;}
.f-field select{appearance:none;-webkit-appearance:none;padding-right:40px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070A9' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 14px center;background-size:16px;}
.f-field input:focus,.f-field select:focus,.f-field textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px var(--blue-soft);}
.f-field input::placeholder,.f-field textarea::placeholder{color:#8FA3B4;}
.f-submit{width:100%;justify-content:center;margin-top:4px;padding:14px 22px;}
.f-fine{font-size:var(--fs-label);color:#7A8A98;line-height:1.5;}
.f-ok{font-weight:700;color:var(--blue);background:var(--blue-soft);border-radius:var(--r-sm);padding:12px 14px;}
@media(max-width:1080px){.cta-grid{grid-template-columns:1fr;}.cta-copy{position:static;}.form-card{max-width:none;margin-left:0;}}
@media(max-width:540px){.f-row{grid-template-columns:1fr;}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.08s;} .reveal.d2{transition-delay:.16s;} .reveal.d3{transition-delay:.24s;} .reveal.d4{transition-delay:.32s;}
.parallax{background-color:var(--charcoal);background-position:center center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed;}
@media(max-width:820px){.parallax{background-attachment:scroll;}}
.band{position:relative;text-align:center;overflow:hidden;padding:clamp(110px,22vh,230px) 0;}
.band-inner{position:relative;z-index:2;}
.band .eyebrow{display:inline-flex;justify-content:center;margin-bottom:20px;}
.band-line{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:var(--fs-h2);line-height:1.08;letter-spacing:0;color:var(--bone);max-width:26ch;margin:0 auto;text-wrap:balance;}
.band-line em{font-style:normal;color:var(--ember);}
.band-sub{font-family:var(--font-body);font-size:clamp(1.5rem,2.1vw,1.85rem);font-weight:500;color:#fff;margin:24px auto 0;max-width:44ch;line-height:1.45;text-wrap:balance;}
.cta.parallax{background-image:linear-gradient(rgba(4,26,43,.9) 0%,rgba(6,37,59,.86) 50%,rgba(4,26,43,.95) 100%),url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/bg-cta.webp');}
.header{position:fixed;top:0;left:0;right:0;z-index:100;}
.topbar{background:var(--ink);color:var(--bone);font-family:var(--font-mono);font-weight:700;font-size:12.5px;letter-spacing:.06em;
  transition:max-height .45s var(--ease),opacity .3s;max-height:44px;overflow:hidden;}
.topbar-inner{max-width:var(--maxw);margin:0 auto;padding:9px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;}
.topbar span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}
.topbar svg{width:14px;height:14px;color:var(--ember);}
.topbar a:hover{color:var(--ember);}
.topbar .areas{color:var(--bone-dim);}
.topbar .areas b{color:var(--bone);font-weight:800;}
.nav{background:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:10px clamp(18px,3vw,44px);position:relative;
  box-shadow:0 12px 32px -20px rgba(6,37,59,.35);transition:padding .45s var(--ease);}
.nav::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:4px;
  background:linear-gradient(90deg,var(--blue) 0%,var(--blue) 55%,var(--ember) 55%,var(--ember) 100%);}
.header.scrolled .topbar{max-height:0;opacity:0;}
.header.scrolled .nav{padding-top:10px;padding-bottom:10px;}
/* Logo: slightly shorter at rest, and only a few px smaller once scrolled */
.header.scrolled .logo img{height:74px;}
@media(max-width:1320px){.header.scrolled .logo img{height:66px;}}
@media(max-width:1200px){.logo img{height:62px;}.header.scrolled .logo img{height:60px;}}
@media(max-width:540px){.header.scrolled .logo img{height:52px;}}
.nav-links{display:flex;align-items:center;gap:4px;background:var(--paper);border-radius:999px;padding:5px;}
.nav-links a{font-size:var(--fs-ui);font-weight:800;color:var(--ink);white-space:nowrap;letter-spacing:.02em;
  padding:9px 15px;border-radius:999px;transition:background .3s var(--ease),color .3s var(--ease),box-shadow .3s var(--ease);}
.nav-links a:hover,.nav-links a.active{background:#fff;color:var(--blue);box-shadow:0 6px 16px -10px rgba(6,37,59,.4);}
.nav-item{position:relative;}
.nav-item > a{display:inline-flex;align-items:center;gap:6px;}
.nav-links .chev{width:14px;height:14px;transition:transform .3s var(--ease);opacity:.75;}
.nav-item:hover > a .chev,.nav-item:focus-within > a .chev{transform:rotate(180deg);}
.nav-item:hover > a,.nav-item:focus-within > a{background:#fff;color:var(--blue);box-shadow:0 6px 16px -10px rgba(6,37,59,.4);}
.dd{position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%,8px);min-width:260px;background:#fff;border-radius:var(--r);
  padding:10px;box-shadow:0 30px 60px -24px rgba(6,37,59,.45),0 0 0 1px rgba(6,37,59,.06);
  opacity:0;visibility:hidden;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s;z-index:20;}
.dd::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;}
.dd::after{content:"";position:absolute;top:-6px;left:50%;width:12px;height:12px;background:#fff;transform:translateX(-50%) rotate(45deg);border-radius:2px;
  box-shadow:-2px -2px 4px -3px rgba(6,37,59,.2);}
.nav-item:hover .dd,.nav-item:focus-within .dd{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:0s;}
.dd a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;font-size:15px;font-weight:700;color:var(--ink);white-space:nowrap;letter-spacing:0;transition:background .25s,color .25s;}
.dd a:hover{background:var(--paper);color:var(--blue);}
.dd a span{display:flex;flex-direction:column;gap:1px;line-height:1.25;}
.dd a small{font-size:13px;font-weight:500;color:var(--fg-dim);}
.dd-ico{width:36px;height:36px;border-radius:10px;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.dd-ico svg{width:18px;height:18px;}
.dd-sm{width:17px;height:17px;color:var(--blue);flex-shrink:0;}
.dd a:hover .dd-sm{color:var(--ember-deep);}
.dd-services{min-width:320px;}
.dd-areas{min-width:520px;}
.dd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 6px;}
.dd-grid a{padding:8px 12px;font-weight:600;}
.dd-all{margin-top:6px;border-top:1px solid var(--line);border-radius:0 0 12px 12px;color:var(--blue);justify-content:space-between;font-family:var(--font-mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;}
.dd-all svg{width:15px;height:15px;}
.dd-all:hover{background:transparent;color:var(--ember-deep);}
.nav-item:last-child .dd{left:auto;right:0;transform:translate(0,8px);}
.nav-item:last-child:hover .dd,.nav-item:last-child:focus-within .dd{transform:translate(0,0);}
.nav-item:last-child .dd::after{left:auto;right:28px;transform:rotate(45deg);}
.nav-right{display:flex;align-items:center;gap:14px;}
.nav-phone{font-family:var(--font-mono);font-weight:800;font-size:15px;white-space:nowrap;letter-spacing:.02em;color:var(--ink);
  display:flex;align-items:center;gap:9px;padding:10px 16px;border-radius:999px;border:1.5px solid rgba(0,112,169,.25);transition:all .3s var(--ease);}
.nav-phone svg{width:15px;height:15px;color:var(--ember);}
.nav-phone:hover{background:var(--blue);border-color:var(--blue);color:#fff;}
.nav-phone:hover svg{color:#fff;}
.nav .btn{padding:12px 22px;border-radius:999px;}
.logo{display:inline-flex;align-items:center;flex-shrink:0;}
.logo-plate{display:inline-flex;align-items:center;transition:transform .4s var(--ease);}
.logo:hover .logo-plate{transform:translateY(-1px);}
.logo img{height:80px;width:auto;display:block;transition:height .45s var(--ease);}
.nav-toggle{display:none;width:24px;height:18px;position:relative;}
.nav-toggle span{position:absolute;left:0;height:2px;width:100%;background:var(--blue);border-radius:2px;transition:transform .4s var(--ease),opacity .3s;}
.nav-toggle span:nth-child(1){top:0;} .nav-toggle span:nth-child(2){top:8px;} .nav-toggle span:nth-child(3){top:16px;}
.page-hero{position:relative;padding:clamp(200px,17vw,260px) 0 clamp(110px,12vw,170px);background-color:var(--paper);background-size:0 0;background-repeat:no-repeat;}
.page-hero::after{content:"";position:absolute;inset:0;z-index:0;background-image:inherit;background-repeat:no-repeat;background-size:cover;background-position:center top;background-attachment:fixed;pointer-events:none;}
.page-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(95deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.84) 32%,rgba(255,255,255,.45) 52%,rgba(255,255,255,.08) 68%,rgba(255,255,255,0) 100%),
    linear-gradient(0deg,#fff 0%,rgba(255,255,255,.5) 12%,rgba(255,255,255,0) 30%);}
.page-hero .wrap{position:relative;z-index:2;}
.page-hero .eyebrow{color:var(--ember-deep);}
.page-hero .btn-ghost{background:rgba(255,255,255,.92);color:var(--ink);border-color:rgba(6,37,59,.22);box-shadow:0 8px 20px -14px rgba(6,37,59,.35);backdrop-filter:blur(4px);}
.page-hero .btn-ghost:hover{color:#fff;border-color:var(--blue);}
.ph-inner{max-width:min(800px,60vw);}
.page-hero h1{font-size:clamp(2.8rem,5.4vw,4.7rem);text-wrap:balance;margin-top:18px;color:var(--ink);}
.page-hero h1 em{font-style:normal;color:var(--blue);}
.page-hero .lede{margin-top:24px;max-width:46ch;font-size:clamp(1.5rem,2vw,1.75rem);text-wrap:pretty;}
.ph-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px;}
.ph-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:38px;}
.ph-facts span{display:inline-flex;align-items:center;gap:9px;padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.92);
  border:1px solid var(--line);font-size:14.5px;color:var(--fg-dim);box-shadow:0 6px 16px -12px rgba(6,37,59,.3);backdrop-filter:blur(4px);}
.ph-facts b{color:var(--ink);font-weight:800;}
.ph-facts svg,.ph-facts img{width:17px;height:17px;color:var(--blue);flex-shrink:0;}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;font-family:var(--font-mono);font-size:var(--fs-label);font-weight:700;letter-spacing:.04em;color:var(--fg-dim);}
.crumbs a{color:var(--blue);transition:color .3s;}
.crumbs a:hover{color:var(--ember-deep);}
.crumbs svg{width:12px;height:12px;opacity:.5;}
.rise .ln{display:block;}
.rise .ln>span{display:block;transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);}
.has-motion .rise .ln>span{opacity:0;transform:translateY(16px);}
.has-motion .rise.in .ln>span{opacity:1;transform:none;}
.rise .ln:nth-child(2)>span{transition-delay:.1s;}
.rise .ln:nth-child(3)>span{transition-delay:.2s;}
.rise .ln:nth-child(4)>span{transition-delay:.3s;}
.wipe>img{transition:opacity 1.4s var(--ease),transform 1.8s var(--ease);}
.has-motion .wipe>img{opacity:0;transform:translateY(14px) scale(1.02);}
.has-motion .wipe.in>img{opacity:1;transform:none;}
.eyebrow.draw::before{transition:width .9s var(--ease) .12s;}
.has-motion .eyebrow.draw::before{width:0;}
.has-motion .eyebrow.draw.in::before{width:26px;}
.lift{transition:transform .6s var(--ease),box-shadow .6s var(--ease),border-color .6s var(--ease);}
.lift:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
@media(max-width:1080px){.ph-inner{max-width:min(620px,74vw);}}
@media(max-width:1200px){.page-hero::after{background-attachment:scroll;background-position:center 20%;}}
@media(max-width:820px){
  .page-hero{padding-top:148px;}
  .page-hero::before{background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.9) 58%,#fff 100%);}
  .ph-inner,.page-hero .lede{max-width:none;}
}
@media(max-width:540px){.page-hero{padding:118px 0 80px;}.ph-cta{flex-direction:column;}.ph-cta .btn{width:100%;justify-content:center;}.ph-facts{gap:8px;margin-top:28px;}.ph-facts span{font-size:13px;padding:8px 13px;}}
@media(max-width:1180px){.svc{flex-basis:calc((100% - 20px)/2);}}
@media(max-width:1080px){.faq-grid,.cta-grid{grid-template-columns:minmax(0,1fr);}}
@media(max-width:1200px){.parallax{background-attachment:scroll;}}
@media(max-width:820px){.sec-head{flex-direction:column;align-items:flex-start;}}
@media(max-width:700px){.svc{flex-basis:calc((100% - 20px)/2);}}
@media(max-width:540px){
  :root{--fs-body:17.5px;--fs-card:16.5px;--fs-h1:40px;--fs-h2:34px;--fs-h2-sm:27px;--fs-h3:22px;--fs-h4:18.5px;--fs-lede:18.5px;}
  .services,.faq{padding-top:56px;padding-bottom:56px;}
  .faq{padding-bottom:96px;}
  .swoosh{height:34px;}
  .swoosh-top{top:-33px;}
  .sec-head{margin-bottom:22px;gap:14px;}
  .sec-head .lede,.lede{margin-top:12px !important;}
  .h-sec{margin-top:12px !important;}
  .sec-cta{margin-top:26px;}
  .band{padding:72px 0 84px;}
  .band .eyebrow{margin-bottom:12px;}
  .band-sub{margin-top:14px;}
  .band-sub{font-size:1.2rem;}
  .band-line{max-width:none;}
  .faq details{padding:0 16px;}
  .faq summary{font-size:1.3rem;padding:16px 0;gap:14px;}
  .faq details p{padding:0 0 18px;}
  .cta{padding:56px 0 72px;}
  .cta h2{margin-top:12px !important;}
  .cta .lede{margin-bottom:22px;}
  .form-card{padding:22px 18px;}
  .svc{flex-basis:100%;}
  .cta-row{flex-direction:column;}
  .faq details{padding:0 18px;} .faq details p{padding-right:0;}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
  .reveal{opacity:1;transform:none;} .parallax{background-attachment:scroll;} .page-hero::after{background-attachment:scroll;}
  .rise .ln>span{opacity:1;transform:none;} .wipe>img{opacity:1;transform:none;} .eyebrow.draw::before{width:26px;}
}
@media(max-width:1400px){.nav-phone{display:none;}}
@media(max-width:820px){.topbar{display:none;}}
@media(max-width:1320px){.logo img{height:70px;}.nav-links a{padding:9px 12px;}.nav .btn{padding:11px 18px;}}
/* ===== Mobile menu (rebuilt): state lives in hidden checkboxes so open/close and the
   dropdowns work with a single tap on every browser, with or without JavaScript. ===== */
.mm-state,.mm-gstate{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;pointer-events:none;}
@media(max-width:1200px){
  .nav-links{display:none;} .nav .btn{display:none;} .nav-toggle{display:block;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
  .mobile-menu{position:fixed;inset:0;z-index:99;background:var(--white);display:flex;flex-direction:column;padding:104px 24px 32px;overflow-y:auto;-webkit-overflow-scrolling:touch;
    visibility:hidden;opacity:0;transform:translateX(28px);transition:opacity .28s var(--ease),transform .28s var(--ease),visibility 0s .28s;}
  #mmOpen:checked ~ .mobile-menu{visibility:visible;opacity:1;transform:none;transition:opacity .28s var(--ease),transform .28s var(--ease),visibility 0s;}
  #mmOpen:checked ~ .header .nav{box-shadow:none;}
  #mmOpen:checked ~ .header .nav-toggle span{background:var(--ink);}
  #mmOpen:checked ~ .header .nav-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg);}
  #mmOpen:checked ~ .header .nav-toggle span:nth-child(2){opacity:0;}
  #mmOpen:checked ~ .header .nav-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
  body.menu-open,body:has(#mmOpen:checked){overflow:hidden;}
  body:has(#mmOpen:checked) .mbar{display:none;}
  .mm-links{display:flex;flex-direction:column;}
  .mm-links > a,.mm-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0;
    font-family:var(--font-display);font-weight:800;font-size:24px;line-height:1.2;color:var(--ink);padding:16px 4px;border-bottom:1px solid var(--line);
    background:none;border-left:0;border-right:0;border-top:0;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;}
  .mm-links > a svg,.mm-toggle .chev{width:22px;height:22px;color:var(--blue);flex-shrink:0;}
  .mm-toggle .chev{transition:transform .25s var(--ease);}
  .mm-links > a:active,.mm-toggle:active{color:var(--blue);}
  .mm-group{display:flex;flex-direction:column;}
  .mm-group .mm-sub{display:none;padding:2px 4px 16px 12px;border-bottom:1px solid var(--line);}
  .mm-gstate:checked ~ .mm-toggle{color:var(--blue);border-bottom-color:transparent;}
  .mm-gstate:checked ~ .mm-toggle .chev{transform:rotate(180deg);}
  .mm-gstate:checked ~ .mm-sub{display:flex;flex-direction:column;}
  .mm-gstate:checked ~ .mm-sub.mm-sub-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:12px;}
  .mm-sub a{display:flex;align-items:center;font-family:var(--font-body);font-weight:600;font-size:18.5px;line-height:1.3;color:var(--fg-dim);padding:10px 0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
  .mm-sub a .dd-sm{width:20px;height:20px;margin-right:12px;color:var(--blue);flex-shrink:0;}
  .mm-sub a:active{color:var(--blue);}
  .mm-sub .mm-all{grid-column:1 / -1;color:var(--blue);font-weight:800;font-size:18px;margin-top:6px;}
  .mm-contact{margin-top:auto;padding-top:28px;display:flex;flex-direction:column;gap:12px;}
  .mm-phone,.mm-mail{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-weight:800;color:var(--ink);font-size:17px;}
  .mm-mail{font-weight:600;font-size:15px;color:var(--fg-dim);}
  .mm-phone svg,.mm-mail svg{width:18px;height:18px;color:var(--ember);}
  .mm-contact .btn{margin-top:8px;width:100%;justify-content:center;border-radius:999px;}
  .mm-note{font-size:13px;color:var(--fg-dim);text-align:center;margin-top:4px;}
}
@media(min-width:1201px){.mobile-menu{display:none;}}
@media(max-width:540px){.logo img{height:54px;}}

.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:180px 0 90px;background:var(--paper);}
.hero-photo{position:absolute;inset:0;z-index:0;background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-bg-carpet-solutions.webp');background-size:cover;background-position:center 40%;
  transform:scale(1.1) translate(1.5%,1%);animation:heroZoom 26s ease-out forwards;}
@keyframes heroZoom{to{transform:scale(1) translate(0,0);}}
.hero-grad{position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    linear-gradient(95deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 34%,rgba(255,255,255,.45) 62%,rgba(255,255,255,.15) 100%),
    linear-gradient(0deg,rgba(255,255,255,.96) 4%,rgba(255,255,255,0) 40%),
    radial-gradient(60% 60% at 80% 40%,rgba(0,112,169,.08),transparent 60%);}
.hero-inner{position:relative;z-index:3;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.hero h1 .hero-sparks{position:absolute;left:min(62%,560px);top:-44px;width:120px;height:70px;pointer-events:none;display:block;}
.hero-sparks .spark{position:absolute;opacity:0;transform:scale(0);transform-origin:center;}
.hero-sparks .s1{width:28px;height:28px;left:58px;top:20px;color:var(--ember);animation:sparkIn .8s var(--ease) 1.05s forwards,twinkle 4.2s ease-in-out 1.9s infinite;}
.hero-sparks .s2{width:13px;height:13px;left:40px;top:8px;color:var(--ember);animation:sparkIn .7s var(--ease) 1.3s forwards,twinkle 3.6s ease-in-out 2.3s infinite;}
.hero-sparks .s3{width:10px;height:10px;left:90px;top:10px;color:var(--blue);animation:sparkIn .7s var(--ease) 1.5s forwards,twinkle 3.9s ease-in-out 2.6s infinite;}
@keyframes sparkIn{to{opacity:1;transform:scale(1);}}
@keyframes twinkle{0%,100%{opacity:1;transform:scale(1) rotate(0deg);}50%{opacity:.6;transform:scale(.88) rotate(8deg);}}
@media(max-width:820px){.hero h1 .hero-sparks{display:none;}}
.hero-cta .btn-primary:hover{box-shadow:0 0 0 6px rgba(250,148,58,.22),0 20px 40px -12px rgba(250,148,58,.85);}
.hero-eyebrow{margin-bottom:26px;opacity:0;}
.hero h1{margin-top:8px;}
.hero h1{position:relative;font-size:var(--fs-h1);text-wrap:balance;color:var(--ink);}
.hero h1 .line{display:block;}
.hero h1 .line span{display:block;opacity:0;transform:translateY(16px);}
.hero h1 em{font-style:normal;color:var(--blue);position:relative;}
.hero-sub{margin:30px 0 38px;max-width:46ch;opacity:0;color:var(--fg-dim);}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;opacity:0;}
.trust{position:relative;z-index:3;border-top:1px solid var(--line);scroll-margin-top:96px;margin-top:clamp(40px,6vh,68px);}
.trust-inner{max-width:var(--maxw);margin:0 auto;padding:18px 28px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
  font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);opacity:0;}
.trust-inner b{color:var(--ink);font-weight:800;}
.badge{display:inline-flex;align-items:center;gap:9px;padding:9px 16px;border-radius:999px;background:#fff;border:1px solid var(--line);
  font-family:var(--font-body);font-size:14.5px;letter-spacing:0;text-transform:none;color:var(--fg-dim);box-shadow:0 6px 16px -12px rgba(6,37,59,.3);}
.badge svg{width:17px;height:17px;color:var(--blue);flex-shrink:0;}
.badge-google{border-color:rgba(250,148,58,.45);background:#FFF7EE;}
.badge .stars{font-size:12px;letter-spacing:1px;}
.stars{color:var(--ember);letter-spacing:2px;font-size:13px;}
.marquee{background:var(--blue);color:#fff;padding:15px 0;overflow:hidden;position:relative;z-index:4;}
.marquee-track{display:flex;gap:0;white-space:nowrap;width:max-content;animation:scroll 64s linear infinite;}
.marquee-track span{font-family:var(--font-display);font-weight:800;font-size:15px;letter-spacing:.1em;text-transform:uppercase;padding:0;display:flex;align-items:center;gap:10px;}
.marquee-track span svg{width:20px;height:20px;color:var(--ember);flex-shrink:0;}
.marquee-track span::after{content:"";width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.5);margin:0 30px;flex-shrink:0;}
@keyframes scroll{to{transform:translateX(-50%);}}
.stats{padding:clamp(64px,9vw,110px) 0;position:relative;overflow:hidden;
  background:radial-gradient(90% 120% at 50% 0%,#0F3F62 0%,var(--ink) 60%);}
.stats-glow{position:absolute;left:50%;top:-40%;transform:translateX(-50%);width:80vw;height:60vw;
  background:radial-gradient(circle,rgba(0,112,169,.28),transparent 60%);pointer-events:none;}
.stats .wrap{position:relative;z-index:1;}
.stats-head{text-align:center;margin-bottom:clamp(32px,4vw,48px);}
.stats-head .eyebrow{display:inline-flex;}
.stats-title{font-size:var(--fs-h2-sm);margin-top:14px;color:var(--bone);}
.stats-panel{position:relative;border-radius:var(--r-lg);padding:clamp(8px,1.5vw,18px);
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  box-shadow:0 40px 80px -40px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.08);}
.stats-panel::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(120deg,rgba(0,112,169,.9),rgba(255,255,255,.12) 45%,rgba(250,148,58,.9));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;}
.stats-spark{position:absolute;right:28px;top:-22px;width:44px;height:44px;color:var(--ember);filter:drop-shadow(0 0 14px rgba(250,148,58,.7));}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.stat{position:relative;padding:clamp(26px,3vw,40px) clamp(20px,2.6vw,36px);text-align:left;border-left:1px solid rgba(255,255,255,.1);
  transition:background .4s var(--ease);border-radius:calc(var(--r-lg) - 10px);}
.stat:first-child{border-left:none;}
.stat:hover{background:rgba(255,255,255,.04);}
.stat-ico{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(250,148,58,.55);color:var(--ember);display:flex;align-items:center;justify-content:center;
  margin-bottom:26px;background:rgba(250,148,58,.08);box-shadow:0 0 0 6px rgba(250,148,58,.06);transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
.stat:hover .stat-ico{transform:translateY(-3px);box-shadow:0 0 0 8px rgba(250,148,58,.1),0 12px 24px -12px rgba(250,148,58,.7);}
.stat-ico svg{width:20px;height:20px;}
.stat .num{font-family:var(--font-display);font-weight:900;font-size:clamp(3rem,4.8vw,4.4rem);line-height:.95;letter-spacing:-.02em;
  display:flex;align-items:baseline;gap:.1em;color:#fff;
  background:linear-gradient(180deg,#fff 30%,#BFD8EA);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.stat .num .u{font-size:.42em;font-weight:800;letter-spacing:0;
  background:linear-gradient(180deg,var(--ember),var(--ember-deep));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.stat .lab{font-family:var(--font-body);font-size:var(--fs-card);line-height:1.45;color:#B9CCDC;margin-top:16px;font-weight:500;}
@media(max-width:1080px){
  .stats-grid{grid-template-columns:1fr 1fr;}
  .stat:nth-child(3){border-left:none;}
  .stat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.1);}
}
.ba{padding:clamp(80px,11vw,140px) 0;}
.ba-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,6vw,80px);align-items:center;}
.ba-frame{position:relative;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);user-select:none;box-shadow:var(--shadow);}
.ba-img{position:absolute;inset:0;background-size:cover;background-position:center;}
.ba-before{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/b1.webp');}
.ba-after{clip-path:inset(0 0 0 50%);background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/a1.webp');}
.ba-lbl{position:absolute;top:16px;z-index:3;font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#fff;
  background:rgba(6,37,59,.62);padding:8px 14px;border-radius:999px;backdrop-filter:blur(3px);}
.ba-lbl.l{left:16px;} .ba-lbl.r{right:16px;background:var(--ember);color:#fff;}
.ba-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;z-index:4;transform:translateX(-1px);pointer-events:none;}
.ba-handle::after{content:"";position:absolute;top:50%;left:50%;width:48px;height:48px;border-radius:50%;background:var(--ember);transform:translate(-50%,-50%);
  box-shadow:0 8px 24px -8px rgba(0,0,0,.5);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M8 7l-4 5 4 5M16 7l4 5-4 5'/></svg>");
  background-size:24px;background-repeat:no-repeat;background-position:center;}
.ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:6;-webkit-appearance:none;appearance:none;}
.ba-range::-webkit-slider-thumb{-webkit-appearance:none;width:48px;height:100%;}
.ba-range::-moz-range-thumb{width:48px;height:100%;border:0;}
.ba-note{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);margin-top:16px;text-align:center;}
.ba,.process,.area{position:relative;}
.stats{padding-bottom:clamp(96px,14vw,180px);}
.why{padding:clamp(80px,11vw,140px) 0;position:relative;overflow:hidden;}
.why-glow{position:absolute;top:-30%;right:-10%;width:60vw;height:60vw;background:radial-gradient(circle,var(--ember-soft),transparent 62%);pointer-events:none;z-index:0;}
.why .wrap{position:relative;z-index:1;}
.why{--fg-dim:#DCE6EE;}
.why-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,90px);align-items:center;}
.pill-row{display:flex;gap:14px;margin:34px 0 0;}
.pill{flex:1;background:rgba(6,37,59,.55);border:1px solid rgba(255,255,255,.16);padding:24px 18px;border-radius:var(--r);text-align:center;
  backdrop-filter:blur(6px);transition:transform .4s var(--ease),border-color .4s,background .4s;}
.pill:hover{transform:translateY(-5px);border-color:var(--ember);background:rgba(255,255,255,.1);}
.pill svg{width:30px;height:30px;color:var(--ember);margin:0 auto 14px;}
.pill .t{font-family:var(--font-display);font-weight:800;font-size:var(--fs-h4);letter-spacing:.06em;text-transform:uppercase;color:var(--fg);}
.pill .d{font-family:var(--font-body);font-size:var(--fs-body);color:#D3DEE8;margin-top:8px;line-height:1.4;}
.cred-list{list-style:none;margin:34px 0 0;padding:0;}
.cred-list li{display:flex;align-items:flex-start;gap:18px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.14);}
.cred-list li:last-child{border-bottom:none;}
.cred-list .ck{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--ember);color:#fff;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.cred-list .ck svg{width:18px;height:18px;}
.cred-list h4{font-family:var(--font-display);font-weight:800;font-size:var(--fs-h3);line-height:1.15;text-transform:uppercase;letter-spacing:.01em;color:#fff;margin:0 0 8px;}
.cred-list p{font-size:var(--fs-lede);color:var(--fg-dim);line-height:1.55;}
.process{padding:clamp(80px,11vw,140px) 0;}
.proc-list{position:relative;max-width:820px;}
.proc{position:relative;display:grid;grid-template-columns:56px 1fr;gap:28px;padding:24px 0;align-items:start;}
.proc:not(:last-child)::before{content:"";position:absolute;left:27px;top:54px;width:2px;height:100%;background:var(--line);z-index:0;}
.proc-num{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);font-weight:800;font-size:var(--fs-ui);background:var(--paper);border:2px solid var(--line);color:var(--ink);
  transition:background .45s var(--ease),border-color .45s var(--ease),color .45s var(--ease),transform .45s var(--ease),box-shadow .45s var(--ease);}
.proc:hover .proc-num{background:var(--ember);border-color:var(--ember);color:#fff;transform:scale(1.07);box-shadow:0 10px 26px -10px rgba(250,148,58,.7);}
.proc-content{padding-top:3px;}
.proc-ttl{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--fs-h3);line-height:1.08;letter-spacing:0;color:var(--fg);transition:color .35s var(--ease);}
.proc:hover .proc-ttl{color:var(--blue);}
.proc-desc{margin-top:8px;font-size:var(--fs-body);line-height:1.62;color:var(--fg-dim);max-width:56ch;}
.proc-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(36px,5vw,72px);align-items:start;}
.proc-layout .proc-list{max-width:none;}
.proc-visual{position:sticky;top:120px;}
.pv-card{background:var(--ink);border-radius:var(--r-lg);padding:20px;box-shadow:0 36px 70px -40px rgba(6,37,59,.6);}
.pv-stage{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:#C9D9E6;}
.pv-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .7s var(--ease),transform 1.2s var(--ease);}
.pv-img.on{opacity:1;transform:scale(1);}
.pv-meta{display:flex;align-items:center;gap:13px;margin-top:18px;padding:0 4px 4px;}
.pv-num{font-family:var(--font-mono);font-weight:800;font-size:var(--fs-label);color:#fff;background:var(--ember);border-radius:8px;padding:6px 9px;line-height:1;}
.pv-name{font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:var(--fs-h4);color:var(--bone);}
.pv-bar{height:4px;border-radius:4px;background:rgba(243,248,252,.14);margin:14px 4px 0;overflow:hidden;}
.pv-bar span{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--blue),var(--ember));transition:width .7s var(--ease);}
.pv-dots{display:flex;gap:7px;margin-left:auto;}
.pv-dots i{width:7px;height:7px;border-radius:50%;background:rgba(243,248,252,.2);transition:background .35s var(--ease),transform .35s var(--ease);}
.pv-dots i.on{background:var(--ember);transform:scale(1.3);}
@media(max-width:980px){.proc-layout{grid-template-columns:minmax(0,1fr);}.proc-visual{position:static;max-width:420px;margin-top:8px;}}
.reviews{padding:clamp(80px,11vw,140px) 0;overflow:hidden;}
.rev-marquee{position:relative;overflow:hidden;width:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);}
.rev-track{display:flex;align-items:stretch;width:max-content;animation:revscroll 120s linear infinite;padding:12px 0 24px;}
.rev-marquee:hover .rev-track{animation-play-state:paused;}
@keyframes revscroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.rev-marquee .rev{width:360px;flex-shrink:0;margin-right:20px;}
.rev-track{padding-bottom:24px;}
.rev{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;display:flex;flex-direction:column;
  transition:transform .4s var(--ease),border-color .4s,box-shadow .4s;}
.rev:hover{border-color:var(--ember);box-shadow:var(--shadow);transform:translateY(-4px);}
.rev .stars{font-size:15px;margin-bottom:18px;}
.rev .q{font-size:var(--fs-card);line-height:1.6;color:var(--fg);flex:1;}
.rev .who{margin-top:22px;display:flex;align-items:center;gap:12px;}
.rev .av{width:40px;height:40px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;color:#fff;font-size:15px;flex-shrink:0;}
.rev .nm{font-weight:700;font-size:var(--fs-card);color:var(--fg);}
.rev .src{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--fg-dim);letter-spacing:.06em;margin-top:2px;}
.g-badge{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);
  background:var(--surface);border:1px solid var(--line);padding:10px 18px 10px 14px;border-radius:999px;}
.g-ico{width:20px;height:20px;flex-shrink:0;display:inline-block;}
.g-ico-sm{width:14px;height:14px;margin-right:6px;vertical-align:-2px;}
.badge .g-ico{width:18px;height:18px;}
.rev .src{display:flex;align-items:center;}
.g-badge .g{font-family:var(--font-display);font-weight:900;font-size:var(--fs-h3);color:var(--fg);letter-spacing:0;text-transform:none;}
.area{padding:clamp(80px,11vw,140px) 0;}
.area-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(40px,6vw,80px);align-items:center;}
.cities{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px;}
.city{font-family:var(--font-mono);font-size:var(--fs-ui);font-weight:800;letter-spacing:.02em;padding:11px 20px;border:1.5px solid rgba(0,112,169,.35);border-radius:999px;color:var(--blue);background:var(--blue-soft);transition:all .3s var(--ease);}
.city:hover{border-color:var(--blue);color:#fff;background:var(--blue);transform:translateY(-2px);box-shadow:0 10px 20px -12px rgba(0,112,169,.6);}
.city.hub{border-color:var(--ember);color:var(--ink);background:var(--ember);}
.city.hub:hover{background:var(--ember-deep);border-color:var(--ember-deep);color:var(--ink);box-shadow:0 10px 20px -12px rgba(250,148,58,.7);}
.area-note{margin-top:28px;}
.area-note a{color:var(--blue);font-weight:700;white-space:nowrap;}
.area-note a:hover{color:var(--ember-deep);}
.area-visual{position:relative;}
.area-map{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/service-area-map-v2.webp');position:relative;z-index:1;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background-color:#C9D9E6;background-size:cover;background-position:center;}
.area-map .map-tag{position:absolute;left:16px;bottom:16px;z-index:2;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#fff;
  background:rgba(6,37,59,.7);padding:8px 14px;border-radius:999px;backdrop-filter:blur(3px);display:inline-flex;align-items:center;gap:8px;}
.area-map .map-tag i{width:8px;height:8px;border-radius:50%;background:var(--ember);}
.process .sec-cta{margin-top:12px;}
.band-1{background-image:linear-gradient(rgba(6,37,59,.5),rgba(6,37,59,.66)),url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/band-pet-safe.webp');}
.band-2{background-image:linear-gradient(rgba(6,37,59,.58),rgba(6,37,59,.72)),url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/band-wasatch.webp');}
.why.parallax{background-image:linear-gradient(rgba(4,26,43,.93),rgba(6,37,59,.9)),url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/bg-why-us.webp');}
@media(max-width:820px){.hero{padding-top:120px;}}
@media(max-width:1080px){
  .why-grid,.area-grid,.ba-grid{grid-template-columns:minmax(0,1fr);}
  .area-visual{width:100%;max-width:460px;margin:0 auto;}
}
@media(max-width:820px){.proc{gap:20px;}.trust-inner{gap:18px;}}
@media(max-width:540px){
  .hero{padding:104px 0 20px;min-height:auto;}
  .hero h1{line-height:1.05;}
  .hero-sub{margin:14px 0 22px;}
  .trust{margin-top:18px;border-top:none;}
  .trust-inner{padding:6px 18px 18px;display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .badge{padding:10px 12px;font-size:13px;justify-content:center;text-align:center;}
  .badge-google{grid-column:1 / -1;font-size:14px;}
  .badge span span{white-space:nowrap;}
  .stats-panel{padding:6px;}
  .stat{padding:22px 12px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;}
  .stat .num{font-size:2.4rem;justify-content:center;gap:.06em;}
  .stat .num .u{font-size:.34em;}
  .stat .lab{font-size:15px;margin-top:10px;}
  .stat-ico{width:36px;height:36px;margin-bottom:14px;}
  .stat-ico svg{width:17px;height:17px;}
  .stats-spark{width:32px;height:32px;right:18px;top:-16px;}
  .stats-head{margin-bottom:18px;}
  .stats-title{margin-top:10px;}
  .marquee{padding:12px 0;}
  .marquee-track span{font-size:12.5px;letter-spacing:.08em;gap:7px;}
  .marquee-track span svg{width:16px;height:16px;}
  .marquee-track span::after{margin:0 18px;}
  .ba,.why,.process,.reviews,.area{padding-top:56px;padding-bottom:56px;}
  .stats{padding-top:48px;}
  .stats,.band-1,.why,.band-2{padding-bottom:84px;}
  .area-map{background-color:var(--paper);border:1.5px solid rgba(0,112,169,.2);}
  .pill-row{gap:10px;}
  .pill{min-width:calc(50% - 5px);padding:18px 12px;}
  .pill:last-child{min-width:100%;}
  .proc{grid-template-columns:44px 1fr;gap:16px;padding:18px 0;}
  .proc-num{width:44px;height:44px;font-size:13px;}
  .proc:not(:last-child)::before{left:21px;top:44px;}
  .rev-marquee .rev{width:250px;margin-right:12px;padding:18px 16px;border-radius:16px;}
  .rev .stars{font-size:12px;margin-bottom:10px;}
  .rev .q{font-size:14.5px;line-height:1.5;}
  .rev .who{margin-top:14px;gap:10px;}
  .rev .av{width:32px;height:32px;font-size:13px;}
  .rev .nm{font-size:14px;}
  .rev .src{font-size:11.5px;}
  .cities{gap:8px;}
  .city{padding:9px 14px;font-size:13.5px;}
  .stats-grid{grid-template-columns:1fr 1fr;} .pill-row{flex-wrap:wrap;} .pill{min-width:calc(50% - 7px);}
  .hero-cta{flex-direction:column;} .hero-cta .btn{width:100%;justify-content:center;}
  .process .sec-cta{padding-left:0!important;}
}
@media(prefers-reduced-motion:reduce){
  .hero h1 .line span{opacity:1;transform:none;}
  .hero-eyebrow,.hero-sub,.hero-cta,.trust-inner{opacity:1;}
}

.site-footer{padding:clamp(56px,7vw,84px) 0 32px;}
.site-footer.dark{background:#041A2B;}
.site-footer .wrap{max-width:1400px;}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:clamp(36px,5vw,72px);padding-bottom:44px;border-bottom:1px solid var(--line);align-items:start;}
.foot-legal{display:inline-flex;gap:22px;flex-wrap:wrap;}
.foot-brand .logo{display:block;margin-bottom:20px;}
.foot-brand .logo img{height:96px;width:auto;}
.foot-brand p{font-size:var(--fs-card);color:var(--fg-dim);line-height:1.6;max-width:36ch;}
.foot-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
.foot-badges span{font-family:var(--font-mono);font-weight:800;font-size:12px;letter-spacing:.06em;color:var(--bone);
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:6px 11px;border-radius:999px;}
.foot-col h5{font-family:var(--font-mono);font-weight:800;font-size:var(--fs-label);letter-spacing:.16em;text-transform:uppercase;color:var(--ember);margin:0 0 18px;line-height:1;}
.foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.foot-col a{display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-card);color:var(--fg-dim);line-height:1.4;transition:color .3s;}
.foot-col a:hover{color:var(--ember);}
.foot-col .static{display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-card);color:var(--fg-dim);line-height:1.4;}
.foot-contact svg{width:18px;height:18px;flex-shrink:0;color:var(--ember);}
.foot-contact li:first-child a{color:var(--bone);font-weight:700;}
.foot-contact .btn{margin-top:22px;padding:13px 22px;font-size:13px;}
.foot-contact .btn,.foot-contact .btn:hover{color:#fff;}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:24px;
  font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.04em;color:var(--fg-dim);}
.foot-bottom a{color:var(--fg-dim);transition:color .3s;}
.foot-bottom a:hover{color:var(--ember);}
.mbar{display:none;}
@media(max-width:820px){
  .mbar{position:fixed;left:0;right:0;bottom:0;z-index:98;display:grid;grid-template-columns:1fr 1.3fr;gap:10px;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(12px);
    border-top:1px solid var(--line);box-shadow:0 -12px 30px -18px rgba(6,37,59,.35);}
  .mbar a{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-mono);font-weight:800;font-size:14px;
    letter-spacing:.06em;text-transform:uppercase;padding:14px 12px;border-radius:999px;}
  .mbar svg{width:17px;height:17px;}
  .mbar-call{color:var(--blue);border:1.5px solid rgba(0,112,169,.35);background:var(--blue-soft);}
  .mbar-book{color:#fff;background:var(--ember);box-shadow:0 10px 24px -12px rgba(250,148,58,.8);}
  body{padding-bottom:78px;}
  body.menu-open .mbar{display:none;}
}
@media(max-width:1000px){.foot-grid{grid-template-columns:1fr 1fr;gap:36px 28px;}.foot-brand{grid-column:1 / -1;}}
@media(max-width:540px){
  .foot-brand .logo img{height:72px;}
  .foot-grid{grid-template-columns:1fr;gap:32px;} .foot-brand{grid-column:auto;}
}

.svc-all{position:relative;padding:clamp(48px,6vw,80px) 0 clamp(80px,11vw,140px);}
.segments{position:relative;padding:clamp(80px,11vw,140px) 0;}
.seg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.seg{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;}
.segments.dark .seg{--fg:#06253B;--fg-dim:#4E6478;--line:#DCE6EE;background:#fff;border-color:rgba(255,255,255,.6);box-shadow:0 30px 60px -30px rgba(0,0,0,.55);}
.segments.dark .seg .eyebrow{color:var(--blue);}
.segments.dark .seg .checks li svg{background:var(--blue-soft);color:var(--blue);}
.segments.dark .seg .btn-ghost{color:var(--ink);border-color:var(--line);}
.segments.dark .seg .btn-ghost::before{background:var(--ink);}
.segments.dark .seg .btn-ghost:hover{color:#fff;border-color:var(--ink);}
.segments .seg-glow{position:absolute;left:15vw;top:0;width:70vw;height:40vw;background:radial-gradient(ellipse at center top,rgba(0,112,169,.32),transparent 62%);z-index:0;pointer-events:none;}
.segments .wrap{position:relative;z-index:1;}
.seg-img{aspect-ratio:3/2;overflow:hidden;background:#C9D9E6;}
.seg-img img{width:100%;height:100%;object-fit:cover;}
.seg-body{padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;flex:1;}
.seg-body .eyebrow{font-size:11px;letter-spacing:.16em;}
.seg-body h3{font-size:clamp(1.7rem,2.4vw,2.3rem);line-height:1.08;margin-top:14px;}
.seg-body > p{font-size:var(--fs-card);color:var(--fg-dim);line-height:1.6;margin-top:14px;}
.checks{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;}
.checks li{display:flex;align-items:flex-start;gap:12px;font-size:var(--fs-card);line-height:1.5;color:var(--fg);}
.checks li svg{flex-shrink:0;width:24px;height:24px;padding:5px;border-radius:50%;background:var(--blue-soft);color:var(--blue);margin-top:1px;}
.seg .sec-cta{margin-top:auto;padding-top:30px;}
.extras{position:relative;padding:clamp(80px,11vw,140px) 0;}
.extra-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.extra{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(26px,3vw,36px);overflow:hidden;}
.extra::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--ember),var(--blue));transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease);}
.extra:hover::after{transform:scaleX(1);}
.extra-ico{width:52px;height:52px;border-radius:16px;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;transition:background .5s var(--ease),color .5s var(--ease);}
.extra:hover .extra-ico{background:var(--ember);color:#fff;}
.extra-ico svg{width:24px;height:24px;}
.extra h3{font-size:var(--fs-h4);line-height:1.2;margin-top:22px;letter-spacing:.01em;}
.extra p{font-size:var(--fs-card);color:var(--fg-dim);line-height:1.55;margin-top:8px;}
.extra-feat{grid-row:span 2;padding:0;display:flex;flex-direction:column;justify-content:flex-end;min-height:520px;color:#fff;border:none;}
.extra-feat img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease);}
.extra-feat:hover img{transform:scale(1.05);}
.extra-feat::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(6,37,59,0) 22%,rgba(6,37,59,.55) 50%,rgba(6,37,59,.94) 100%);}
.extra-feat .ef-body{position:relative;z-index:2;padding:clamp(26px,3vw,36px);}
.extra-feat .extra-ico{background:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(4px);}
.extra-feat h3{color:#fff;font-size:var(--fs-h3);}
.extra-feat p{color:#E6EEF5;}
.extra-feat .eyebrow{color:var(--ember);margin-bottom:12px;}
.extra-wide{grid-column:1/-1;display:grid;grid-template-columns:52px minmax(0,1fr);gap:22px;align-items:start;}
.extra-wide h3{margin-top:4px;}
.extra-wide p{max-width:60ch;}
@media(max-width:1080px){.extra-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.extra-feat{min-height:440px;}.extra-wide{grid-column:1/-1;}}
@media(max-width:820px){.seg-grid{grid-template-columns:minmax(0,1fr);}}
@media(max-width:540px){
  .svc-all,.segments,.extras{padding-top:56px;padding-bottom:84px;}
  .extra-grid{grid-template-columns:minmax(0,1fr);}
  .extra-feat{grid-row:auto;min-height:380px;}
  .extra-wide{grid-column:auto;grid-template-columns:minmax(0,1fr);gap:0;}
  .extra-wide h3{margin-top:22px;}
}

.story{position:relative;padding:clamp(48px,6vw,80px) 0 clamp(80px,11vw,140px);}
.story-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,6vw,90px);align-items:center;}
.story-copy p:not(.lede){font-size:var(--fs-body);color:var(--fg-dim);line-height:1.65;margin-top:18px;max-width:60ch;}
.story-copy .lede{margin-top:22px;color:var(--fg);}
.story-quote{position:relative;margin:34px 0 0;padding:34px 32px 26px 84px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden;}
.story-quote::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--ember),var(--blue));}
.sq-mark{position:absolute;left:26px;top:14px;font-family:var(--font-display);font-weight:900;font-size:5.5rem;line-height:1;color:var(--ember);opacity:.9;}
.story-quote p{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.4;color:var(--ink);letter-spacing:-.005em;}
.story-quote footer{display:flex;align-items:center;gap:12px;margin-top:18px;font-family:var(--font-mono);font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ember-deep);}
.sq-line{width:26px;height:2px;background:var(--ember);}
@media(max-width:540px){.story-quote{padding:30px 22px 22px 60px;}.sq-mark{left:16px;font-size:4.2rem;}}
.story-media{position:relative;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#C9D9E6;}
.story-media img{width:100%;height:100%;object-fit:cover;}
.values{position:relative;padding:clamp(80px,11vw,140px) 0;}
.values .swoosh-top{z-index:3;}
.values-glow{position:absolute;left:10vw;top:0;width:80vw;height:50vw;background:radial-gradient(ellipse at center,rgba(0,112,169,.3),transparent 60%);pointer-events:none;}
.values .wrap{position:relative;z-index:1;}
.val-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.val{position:relative;background:#fff;border-radius:var(--r-lg);padding:clamp(26px,2.8vw,36px);overflow:hidden;--fg:#06253B;--fg-dim:#4E6478;color:#06253B;box-shadow:0 30px 60px -30px rgba(0,0,0,.55);}
.val::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--ember),var(--blue));transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease);}
.val:hover::after{transform:scaleX(1);}
.val-idx{position:absolute;right:18px;top:6px;font-family:var(--font-display);font-weight:900;font-size:4.6rem;line-height:1;color:var(--paper);pointer-events:none;transition:color .5s var(--ease);}
.val:hover .val-idx{color:var(--ember-soft);}
.val-ico{position:relative;width:52px;height:52px;border-radius:16px;background:var(--ember);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 24px -12px rgba(250,148,58,.8);}
.val-ico svg{width:24px;height:24px;}
.val h3{position:relative;font-size:1.25rem;line-height:1.15;margin-top:22px;color:#06253B;}
.val p{position:relative;font-size:15px;color:#4E6478;line-height:1.6;margin-top:10px;}
.promise{margin-top:clamp(28px,3vw,40px);display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:0;background:var(--slate);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);overflow:hidden;}
.promise-media{position:relative;min-height:340px;background:#0F3A5A;}
.promise-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.promise-body{padding:clamp(28px,4vw,52px);display:flex;flex-direction:column;justify-content:center;}
.promise-body .eyebrow{color:var(--ember);}
.promise h3{font-size:var(--fs-h2-sm);line-height:1.08;margin-top:14px;color:#fff;}
.promise .checks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0 0;}
.promise .checks li{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:var(--bone);font-size:15px;}
.promise .checks li svg{background:var(--ember);color:#fff;}
.promise .sec-cta{margin-top:28px;}
.band-about{background-image:linear-gradient(rgba(6,37,59,.55),rgba(6,37,59,.7)),url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/band-about.webp');}
.about-reviews{position:relative;padding:clamp(80px,11vw,140px) 0;}
.rev-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
@media(max-width:1080px){.story-grid{grid-template-columns:minmax(0,1fr);}.story-media{max-width:520px;aspect-ratio:4/3;}.promise{grid-template-columns:minmax(0,1fr);}.promise-media{min-height:280px;}.rev-grid{grid-template-columns:minmax(0,1fr);max-width:640px;}.val-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}

@media(max-width:540px){
  .story,.values,.about-reviews{padding-top:56px;padding-bottom:84px;}
  .val-grid{grid-template-columns:minmax(0,1fr);}
  .promise .checks{grid-template-columns:minmax(0,1fr);}
}
.ph-services{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-bg-services.webp');}
.ph-about{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-bg-about-v5.webp');}
.ph-contact{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-bg-contact-v2.webp');}
.ph-process{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-bg-process-v3.webp');}
.ph-why{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-bg-why-v3.webp');}
.ph-insights{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-bg-insights-v2.webp');}
.ph-faq{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-bg-faq.webp');}
.ph-areas{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-bg-areas.webp');}
/* Service page heroes */
.ph-carpet{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-bg-carpet-v2.webp');}
.ph-tile{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-bg-tile.webp');}
.ph-upholstery{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-bg-upholstery.webp');}
.ph-windows{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-bg-windows.webp');}
.ph-ducts{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-bg-ducts.webp');}
/* Shared hero for every city page */
.ph-city{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-bg-city-v2.webp');}
.sec{position:relative;padding:clamp(80px,11vw,140px) 0;}
.sec-tight{position:relative;padding:clamp(48px,6vw,80px) 0 clamp(80px,11vw,140px);}
.icard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(24px,3vw,36px);}
.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,56px);align-items:start;}
.c-cards{display:grid;gap:16px;}
.c-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:18px;align-items:start;padding:24px 26px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);}
.c-ico{width:54px;height:54px;border-radius:16px;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;}
.c-ico svg{width:24px;height:24px;}
.c-card h3{font-size:var(--fs-h4);letter-spacing:.01em;}
.c-card p{margin-top:6px;color:var(--fg-dim);font-size:var(--fs-card);line-height:1.55;}
.c-card a.big{display:inline-block;margin-top:8px;font-family:var(--font-display);font-weight:900;font-size:clamp(1.05rem,3.6vw,1.35rem);color:var(--ink);transition:color .3s;overflow-wrap:anywhere;}
.c-card a.big:hover{color:var(--blue);}
.c-note{margin-top:8px;padding:18px 22px;border-left:4px solid var(--ember);background:var(--paper);border-radius:0 var(--r) var(--r) 0;font-size:var(--fs-card);color:var(--fg-dim);}
.form-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(26px,3.5vw,44px);box-shadow:var(--shadow);}
.form-panel h3{font-size:var(--fs-h3);}
.form-panel .f-sub{color:var(--fg-dim);font-size:var(--fs-card);margin-top:8px;}
.next-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;position:relative;}
.ns{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;}
.ns-img{position:relative;aspect-ratio:3/2;background:#C9D9E6;overflow:hidden;}
.ns-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease);}
.ns:hover .ns-img img{transform:scale(1.05);}
.ns-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,37,59,0) 55%,rgba(6,37,59,.35) 100%);pointer-events:none;}
.ns-num{position:absolute;left:20px;bottom:20px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--ember);color:#fff;font-family:var(--font-mono);font-weight:800;letter-spacing:.06em;box-shadow:0 10px 24px -10px rgba(0,0,0,.5);}
.ns-body{padding:clamp(22px,2.6vw,30px);}
.ns h3{font-size:var(--fs-h4);letter-spacing:.01em;}
.ns p{margin-top:8px;color:var(--fg-dim);font-size:var(--fs-card);line-height:1.55;}
.ms .ns-num{position:static;background:var(--ink);box-shadow:none;}
.band-contact{background-image:linear-gradient(rgba(6,37,59,.7),rgba(6,37,59,.8)),url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/band-areas.webp');}
.band-process{background-image:linear-gradient(rgba(6,37,59,.62),rgba(6,37,59,.78)),url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/band-process.webp');}
.band-why{background-image:linear-gradient(rgba(6,37,59,.62),rgba(6,37,59,.8)),url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/band-why.webp');}
.band-city{background-image:linear-gradient(rgba(6,37,59,.62),rgba(6,37,59,.8)),url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/band-park-city.webp');}
.band-city-shared{background-image:linear-gradient(rgba(6,37,59,.62),rgba(6,37,59,.8)),url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/band-city.webp');}
.band-carpet{background-image:linear-gradient(rgba(6,37,59,.62),rgba(6,37,59,.8)),url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/band-carpet.webp');}
.band-tile{background-image:linear-gradient(rgba(6,37,59,.62),rgba(6,37,59,.8)),url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/band-tile.webp');}
.band-upholstery{background-image:linear-gradient(rgba(6,37,59,.62),rgba(6,37,59,.8)),url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/band-upholstery.webp');}
.band-windows{background-image:linear-gradient(rgba(6,37,59,.62),rgba(6,37,59,.8)),url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/band-windows.webp');}
.band-ducts{background-image:linear-gradient(rgba(6,37,59,.62),rgba(6,37,59,.8)),url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/band-ducts.webp');}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.fact{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 28px;display:flex;align-items:center;gap:18px;}
.fact .n{font-family:var(--font-display);font-weight:900;font-size:clamp(2rem,3vw,2.6rem);line-height:1;color:var(--blue);white-space:nowrap;}
.fact .n small{font-size:.5em;font-weight:800;}
.fact p{color:var(--fg-dim);font-size:var(--fs-card);line-height:1.45;}
.tl{position:relative;max-width:1000px;margin:0 auto;}
.tl::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--blue) 0%,var(--ember) 100%);transform:translateX(-50%);opacity:.35;}
.tl-step{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(40px,6vw,90px);align-items:center;padding:clamp(28px,4vw,48px) 0;}
.tl-step::before{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;border-radius:50%;background:var(--white);border:4px solid var(--blue);transform:translate(-50%,-50%);z-index:1;box-shadow:0 0 0 8px var(--paper);}
.tl-step:nth-child(even)::before{border-color:var(--ember);}
.tl-num{font-family:var(--font-display);font-weight:900;font-size:clamp(4rem,9vw,8rem);line-height:.9;color:transparent;-webkit-text-stroke:2px var(--blue);opacity:.28;}
.tl-step:nth-child(even) .tl-num{-webkit-text-stroke-color:var(--ember);}
.tl-copy h3{font-size:var(--fs-h3);line-height:1.12;margin-top:12px;}
.tl-copy p{margin-top:12px;color:var(--fg-dim);font-size:var(--fs-body);line-height:1.6;}
.tl-copy .tag{display:inline-block;margin-top:14px;padding:6px 12px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-family:var(--font-mono);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.tl-step:nth-child(odd) .tl-num{text-align:right;}
.tl-step:nth-child(even) .tl-copy{order:-1;text-align:right;}
.tl-step:nth-child(even) .tl-num{text-align:left;}
.prep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.prep{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(26px,3vw,40px);}
.prep h3{font-size:var(--fs-h3);line-height:1.12;margin-top:14px;}
.prep .checks{margin-top:22px;}
.wn-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.wn{border-radius:var(--r-lg);padding:clamp(26px,3vw,40px);}
.wn.do{background:var(--white);border:1px solid var(--line);}
.wn.never{background:var(--ink);color:var(--bone);}
.wn h3{font-size:var(--fs-h3);line-height:1.12;margin-top:14px;}
.wn.never .eyebrow{color:var(--ember);}
.wn ul{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;}
.wn li{display:flex;align-items:flex-start;gap:12px;font-size:var(--fs-card);line-height:1.5;}
.wn li svg{flex-shrink:0;width:24px;height:24px;padding:5px;border-radius:50%;margin-top:1px;}
.wn.do li svg{background:var(--blue-soft);color:var(--blue);}
.wn.never li svg{background:rgba(250,148,58,.18);color:var(--ember);}
.wn.never li{color:var(--bone);}
.reason{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,90px);align-items:center;padding:clamp(28px,4vw,48px) 0;}
.reason + .reason{border-top:1px solid var(--line);}
.reason:nth-child(even) .r-media{order:-1;}
.r-media{aspect-ratio:3/2;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#C9D9E6;}
.r-media img{width:100%;height:100%;object-fit:cover;}
.r-idx{font-family:var(--font-mono);font-weight:800;font-size:12px;letter-spacing:.2em;color:var(--ember-deep);}
.r-copy h3{font-size:var(--fs-h2-sm);line-height:1.08;margin-top:12px;}
.r-copy p{margin-top:16px;color:var(--fg-dim);line-height:1.6;max-width:52ch;}
.g-card{max-width:900px;margin:0 auto;text-align:center;}
.g-card .g-big{font-family:var(--font-display);font-weight:900;font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;text-transform:uppercase;color:#fff;margin-top:18px;}
.g-card .g-big em{font-style:normal;color:var(--ember);}
.g-card p{margin:20px auto 0;color:#D9E3EC;max-width:56ch;font-size:var(--fs-lede);line-height:1.5;}
.post-feat{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:0;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:20px;}
.post-feat .p-media{min-height:320px;}
.post-feat .p-body{padding:clamp(28px,4vw,52px);display:flex;flex-direction:column;justify-content:center;}
.post-feat h3{font-size:var(--fs-h2-sm);line-height:1.08;margin-top:14px;}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.post{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;}
.p-media{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,var(--slate),var(--ink));display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);}
.p-media svg{width:48px;height:48px;}
.p-media.c1{background:linear-gradient(135deg,#0070A9,#06253B);}
.p-media.c2{background:linear-gradient(135deg,#FA943A,#E07A1E);}
.p-media.c3{background:linear-gradient(135deg,#144669,#0F3A5A);}
.p-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.p-body{padding:clamp(22px,2.6vw,30px);display:flex;flex-direction:column;flex:1;}
.p-meta{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);}
.p-meta .cat{color:var(--blue);}
.post h3{font-size:var(--fs-h4);line-height:1.25;margin-top:12px;letter-spacing:.01em;text-transform:none;}
.post h3 a:hover,.post-feat h3 a:hover{color:var(--blue);}
.post p{margin-top:10px;color:var(--fg-dim);font-size:var(--fs-card);line-height:1.55;}
.post .more,.post-feat .more{margin-top:auto;padding-top:18px;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;color:var(--blue);display:inline-flex;align-items:center;gap:8px;}
.post .more svg,.post-feat .more svg{width:13px;height:13px;transition:transform .35s var(--ease);}
.post:hover .more svg,.post-feat:hover .more svg{transform:translateX(4px);}
.cat-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(28px,4vw,44px);}
.cat-row a{padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:var(--white);font-family:var(--font-mono);font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-dim);transition:all .3s;}
.cat-row a.on,.cat-row a:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.faq-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start;}
.faq-side{position:sticky;top:110px;}
.faq-search{position:relative;margin-bottom:22px;}
.faq-search input{width:100%;padding:14px 16px 14px 46px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--white);font:inherit;font-size:15px;color:var(--fg);outline:none;transition:border-color .3s;}
.faq-search input:focus{border-color:var(--blue);}
.faq-search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--fg-dim);}
.faq-nav{display:flex;flex-direction:column;gap:4px;}
.faq-nav a{padding:11px 14px;border-radius:12px;font-weight:700;font-size:15px;color:var(--fg-dim);transition:all .3s;display:flex;justify-content:space-between;align-items:center;}
.faq-nav a:hover,.faq-nav a.on{background:var(--white);color:var(--ink);box-shadow:0 8px 20px -14px rgba(6,37,59,.35);}
.faq-nav a span{font-family:var(--font-mono);font-size:12px;color:var(--blue);}
.faq-group + .faq-group{margin-top:clamp(40px,5vw,64px);}
.faq-group h2{font-size:var(--fs-h3);margin-bottom:18px;scroll-margin-top:110px;}
.faq-group[hidden],.faq-list details[hidden]{display:none;}
.faq-empty{display:none;padding:26px;border:1px dashed var(--line);border-radius:var(--r);color:var(--fg-dim);text-align:center;}
.faq-empty.show{display:block;}
.areas-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start;}
.county{position:relative;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(24px,3vw,34px) clamp(24px,3vw,34px) clamp(24px,3vw,34px) calc(clamp(24px,3vw,34px) + 6px);
  box-shadow:0 26px 50px -32px rgba(6,37,59,.42);}
.county::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--blue) 0%,var(--blue) 55%,var(--ember) 100%);}
.county::after{content:"";position:absolute;right:-90px;top:-110px;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle at center,rgba(0,112,169,.10),transparent 68%);pointer-events:none;}
.county:hover{transform:translateY(-5px);border-color:rgba(0,112,169,.32);box-shadow:0 40px 70px -34px rgba(6,37,59,.5);}
.county + .county{margin-top:18px;}
.county-head{display:flex;align-items:center;gap:14px;position:relative;z-index:1;}
.county-ico{width:50px;height:50px;flex-shrink:0;border-radius:15px;background:var(--blue-soft);color:var(--blue);
  display:flex;align-items:center;justify-content:center;transition:background .5s var(--ease),color .5s var(--ease),transform .5s var(--ease);}
.county-ico svg{width:23px;height:23px;}
.county:hover .county-ico{background:var(--blue);color:#fff;transform:rotate(-6deg) scale(1.06);}
.county h3{font-size:var(--fs-h4);letter-spacing:.01em;line-height:1.2;}
.county-meta{display:block;margin-top:3px;font-family:var(--font-mono);font-weight:800;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);}
.county p{margin-top:14px;color:var(--fg-dim);font-size:var(--fs-card);position:relative;z-index:1;}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;position:relative;z-index:1;}
.chips a,.chips span{padding:9px 15px;border-radius:999px;border:1.5px solid #DCE6EE;background:var(--paper);font-size:14px;font-weight:700;color:var(--ink);transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease),box-shadow .3s var(--ease);}
.chips a:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-2px);box-shadow:0 10px 18px -10px rgba(6,37,59,.6);}
/* Right column matches the county stack top to bottom. Not sticky — the map
   flexes to absorb whatever height the counties need. */
.areas-grid{align-items:stretch;}
.county-stack{display:flex;flex-direction:column;}
.area-side{position:static !important;top:auto !important;display:flex;flex-direction:column;gap:20px;align-self:stretch;}
.area-side .area-map{margin-bottom:0;flex:1 1 auto;aspect-ratio:auto !important;height:auto;min-height:420px;}
.area-side .callout{flex:0 0 auto;padding:clamp(24px,2.6vw,32px);}
.area-side .callout .btn{margin-top:18px;}
/* Slow drift on the map photo + a pulsing beacon on the tag. */
.area-map::after{content:"";position:absolute;inset:-6%;z-index:0;
  background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/service-area-map-v2.webp');
  background-size:cover;background-position:center;
  animation:mapDrift 30s ease-in-out infinite alternate;}
.area-map .map-tag{z-index:3;}
@keyframes mapDrift{
  0%{transform:scale(1.04) translate3d(0,0,0);}
  100%{transform:scale(1.13) translate3d(-2.2%,-1.6%,0);}
}
.area-map .map-tag i{position:relative;box-shadow:0 0 0 0 rgba(250,148,58,.75);animation:beacon 2.6s var(--ease) infinite;}
@keyframes beacon{
  0%{box-shadow:0 0 0 0 rgba(250,148,58,.7);}
  70%{box-shadow:0 0 0 12px rgba(250,148,58,0);}
  100%{box-shadow:0 0 0 0 rgba(250,148,58,0);}
}
.callout{position:relative;overflow:hidden;background:var(--ink);color:var(--bone);border-radius:var(--r-lg);padding:clamp(26px,3vw,40px);}
.callout::before{content:"";position:absolute;right:-120px;top:-130px;width:340px;height:340px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at center,rgba(250,148,58,.28),transparent 66%);animation:calloutGlow 7s ease-in-out infinite alternate;}
@keyframes calloutGlow{
  0%{transform:scale(.88);opacity:.55;}
  100%{transform:scale(1.12);opacity:1;}
}
.callout > *{position:relative;z-index:1;}
@media(prefers-reduced-motion:reduce){
  .area-map::after,.area-map .map-tag i,.callout::before{animation:none;}
  .area-map::after{transform:scale(1.06);}
}
.callout h3{font-size:var(--fs-h3);line-height:1.12;color:#fff;}
.callout .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35);}
.callout .btn-ghost:hover{border-color:var(--blue);}
.callout p{margin-top:10px;color:var(--bone-dim);font-size:var(--fs-card);}
.callout .btn{margin-top:20px;}
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(36px,6vw,90px);align-items:center;}
/* City pages: bigger portrait photo with a location tag */
.split.city-split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);}
.city-media{position:relative;aspect-ratio:4/5;}
.city-media .city-tag{position:absolute;left:18px;bottom:18px;z-index:2;font-family:var(--font-mono);font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#fff;
  background:rgba(6,37,59,.72);padding:9px 15px;border-radius:999px;backdrop-filter:blur(3px);display:inline-flex;align-items:center;gap:9px;line-height:1;}
.city-media .city-tag i{width:8px;height:8px;border-radius:50%;background:var(--ember);}
.reviews.over{overflow:visible;}
.split .lede{margin-top:22px;}
.split p.body{margin-top:16px;color:var(--fg-dim);line-height:1.6;}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.plan{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(26px,3vw,36px);}
.plan.pop{border-color:var(--ember);box-shadow:var(--shadow);}
.plan .pill-pop{position:absolute;top:-13px;left:26px;padding:6px 12px;border-radius:999px;background:var(--ember);color:#fff;font-family:var(--font-mono);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;}
.plan .freq{font-family:var(--font-mono);font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);}
.plan h3{font-size:var(--fs-h3);margin-top:12px;}
.plan p{margin-top:12px;color:var(--fg-dim);font-size:var(--fs-card);line-height:1.55;}
.stain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.mini-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.ms{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;}
.ms .ns-num{width:40px;height:40px;font-size:13px;}
.ms h3{font-size:1.05rem;margin-top:16px;letter-spacing:.01em;}
.ms p{margin-top:6px;color:var(--fg-dim);font-size:14.5px;line-height:1.5;}
/* ===== Service page: plan icons, stain cards (dark), image steps ===== */
.plan-ico{width:50px;height:50px;border-radius:15px;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:18px;
  transition:background .5s var(--ease),color .5s var(--ease),transform .5s var(--ease);}
.plan-ico svg{width:23px;height:23px;}
.plan:hover .plan-ico{background:var(--blue);color:#fff;transform:rotate(-6deg) scale(1.06);}
.plan.pop .plan-ico{background:var(--ember-soft);color:var(--ember-deep);}
.plan.pop:hover .plan-ico{background:var(--ember);color:#fff;}

.stains-sec{position:relative;overflow:hidden;background:radial-gradient(90% 120% at 50% 0%,#0F3F62 0%,var(--ink) 60%);}
.stains-glow{position:absolute;left:50%;top:-40%;transform:translateX(-50%);width:80vw;height:60vw;background:radial-gradient(circle,rgba(0,112,169,.28),transparent 60%);pointer-events:none;}
.stains-sec .wrap{position:relative;z-index:1;}
.stains-sec .lede{color:var(--bone-dim);}
/* Stains: photo cards on the dark section */
.stain-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.stain{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r-lg);background:rgba(255,255,255,.05);border:1px solid rgba(243,248,252,.14);
  box-shadow:0 30px 60px -34px rgba(0,0,0,.7);}
.stain:hover{transform:translateY(-5px);border-color:rgba(0,112,169,.6);box-shadow:0 40px 70px -34px rgba(0,0,0,.8);}
.stain{padding:24px 22px 22px;}
.stain-ico{width:54px;height:54px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px;
  background:rgba(0,112,169,.18);color:#7CC4E8;border:1px solid rgba(0,112,169,.45);transition:background .5s var(--ease),color .5s var(--ease),transform .5s var(--ease);}
.stain-ico svg{width:24px;height:24px;}
.stain-ico.hard{background:rgba(250,148,58,.14);color:var(--ember);border-color:rgba(250,148,58,.45);}
.stain-ico.no{background:rgba(243,248,252,.06);color:var(--bone-dim);border-color:rgba(243,248,252,.2);}
.stain:hover .stain-ico{transform:rotate(-6deg) scale(1.06);}
.stain:hover .stain-ico.ok{background:var(--blue);color:#fff;}
.stain:hover .stain-ico.hard{background:var(--ember);color:#fff;}
.stain-badge{position:static;display:inline-block;align-self:flex-start;margin-bottom:12px;padding:5px 10px;border-radius:999px;font-family:var(--font-mono);font-weight:800;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#fff;white-space:nowrap;}
.stain-badge.ok{background:rgba(0,112,169,.9);}
.stain-badge.hard{background:rgba(224,122,30,.92);}
.stain-badge.no{background:rgba(6,37,59,.85);border:1px solid rgba(243,248,252,.35);}
.stain-body{padding:0;}
.stain h3{font-size:1.05rem;letter-spacing:.01em;color:#fff;line-height:1.2;}
.stain p{margin-top:6px;color:var(--bone-dim);font-size:14.5px;line-height:1.5;}
@media(max-width:1080px){.stain-cards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:540px){.stain-cards{grid-template-columns:minmax(0,1fr);}}

/* On the day: intro on the left, four stacked step rows on the right */
.steps-split{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(36px,6vw,88px);align-items:start;}
.steps-intro .lede{margin-top:22px;}
.steps-intro .sec-cta{margin-top:30px;}
.step-row{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:center;padding:18px 0;border-top:1px solid var(--line);}
.step-row:last-child{border-bottom:1px solid var(--line);}
.step-thumb{position:relative;aspect-ratio:3/2;border-radius:16px;overflow:hidden;background:#C9D9E6;border:1px solid var(--line);box-shadow:0 18px 36px -24px rgba(6,37,59,.4);}
.step-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease);}
.step-row:hover .step-thumb img{transform:scale(1.06);}
.step-thumb .ns-num{position:absolute;left:12px;bottom:12px;width:40px;height:40px;font-size:13px;background:var(--ember);box-shadow:0 8px 18px -8px rgba(250,148,58,.8);}
.step-txt h3{font-size:1.25rem;letter-spacing:.01em;line-height:1.2;}
.step-txt p{margin-top:6px;color:var(--fg-dim);font-size:var(--fs-card);line-height:1.55;}
@media(max-width:1080px){.steps-split{grid-template-columns:minmax(0,1fr);}}
@media(max-width:640px){.step-row{grid-template-columns:120px minmax(0,1fr);gap:14px;}.step-txt h3{font-size:1.1rem;}}

.ms{padding:0;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 26px 50px -32px rgba(6,37,59,.42);}
.ms-img{position:relative;aspect-ratio:3/2;overflow:hidden;background:#C9D9E6;}
.ms-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease);}
.ms:hover .ms-img img{transform:scale(1.05);}
.ms .ns-num{position:absolute;left:14px;bottom:14px;background:var(--ember);box-shadow:0 8px 18px -8px rgba(250,148,58,.8);}
.ms-body{padding:20px 22px 24px;}
.ms-body h3{margin-top:0;}
@media(max-width:1080px){.stain-cards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:540px){.stain-cards{grid-template-columns:minmax(0,1fr);}}

.hood{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.hood-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(26px,3vw,36px);}
.hood-card h3{font-size:var(--fs-h3);line-height:1.12;margin-top:12px;}
.hood-card p{margin-top:10px;color:var(--fg-dim);line-height:1.6;}
.local-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.local{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 26px 50px -32px rgba(6,37,59,.42);}
.local::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;z-index:3;
  background:linear-gradient(90deg,var(--ember),var(--ember-deep));
  transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease);}
.local:hover::after{transform:scaleX(1);}
.local:hover{transform:translateY(-5px);border-color:rgba(250,148,58,.45);box-shadow:0 40px 70px -32px rgba(224,122,30,.45);}
.local-img{position:relative;aspect-ratio:3/2;overflow:hidden;background:#C9D9E6;}
.local-img::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 55%,rgba(250,148,58,.22));opacity:0;transition:opacity .6s var(--ease);}
.local:hover .local-img::after{opacity:1;}
.local-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease);}
.local:hover .local-img img{transform:scale(1.05);}
.local-body{padding:clamp(22px,2.6vw,30px);display:flex;flex-direction:column;flex:1;}
.local .c-ico{width:46px;height:46px;border-radius:14px;margin-bottom:16px;
  background:var(--blue-soft);color:var(--blue);
  transition:background .5s var(--ease),color .5s var(--ease),transform .5s var(--ease);}
.local .c-ico svg{width:21px;height:21px;}
.local:hover .c-ico{background:var(--blue);color:#fff;transform:rotate(-6deg) scale(1.06);}
.local h3{font-size:var(--fs-h4);letter-spacing:.01em;}
.local h3::after{content:"";display:block;width:26px;height:3px;border-radius:2px;margin-top:10px;
  background:var(--ember);transition:width .6s var(--ease);}
.local:hover h3::after{width:52px;}
.local p{margin-top:12px;color:var(--fg-dim);font-size:var(--fs-card);line-height:1.55;}
@media(max-width:1080px){
  .contact-grid,.areas-grid,.split,.reason,.post-feat{grid-template-columns:minmax(0,1fr);}
  .reason:nth-child(even) .r-media{order:0;}
  .r-media{max-width:620px;}
  .city-media{aspect-ratio:4/3;}
  .plans,.local-grid,.post-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .mini-steps{grid-template-columns:repeat(2,minmax(0,1fr));}
  .faq-layout{grid-template-columns:minmax(0,1fr);}
  .faq-side,.area-side{position:static;}
  .faq-nav{flex-direction:row;flex-wrap:wrap;}
  .area-side .area-map{max-width:520px;aspect-ratio:4/3 !important;flex:none;min-height:0;}
}
@media(max-width:820px){
  .tl::before{left:20px;}
  .tl-step{grid-template-columns:minmax(0,1fr);padding-left:56px;gap:6px;}
  .tl-step::before{left:20px;top:28px;transform:translate(-50%,0);}
  .tl-step .tl-num,.tl-step:nth-child(odd) .tl-num,.tl-step:nth-child(even) .tl-num{text-align:left;font-size:3.2rem;}
  .tl-step:nth-child(even) .tl-copy{order:0;text-align:left;}
  .next-steps,.facts,.prep-grid,.wn-grid,.stain-grid,.hood{grid-template-columns:minmax(0,1fr);}
}
@media(max-width:540px){
  .sec,.sec-tight{padding-top:56px;padding-bottom:84px;}
  .plans,.local-grid,.post-grid,.mini-steps{grid-template-columns:minmax(0,1fr);}
  .c-card{grid-template-columns:minmax(0,1fr);gap:12px;}
  .fact{flex-direction:column;align-items:flex-start;gap:8px;}
}
.svc-grid.four .svc{flex-basis:calc((100% - 60px)/4);}
@media(max-width:1180px){.svc-grid.four .svc{flex-basis:calc((100% - 20px)/2);}}
@media(max-width:540px){.svc-grid.four .svc{flex-basis:100%;}}
.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:clamp(36px,5vw,56px);}
.pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--white);font-family:var(--font-mono);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-dim);transition:all .3s;}
.pager .page-numbers:hover,.pager .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink);}
.pager .dots{border:none;background:none;}
.post-hero::after{background-position:center 40%;}
.post-hero::before{background:linear-gradient(95deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.9) 40%,rgba(255,255,255,.6) 62%,rgba(255,255,255,.2) 100%),linear-gradient(0deg,#fff 0%,rgba(255,255,255,.5) 12%,rgba(255,255,255,0) 30%);}
.post-inner{max-width:min(860px,64vw);}
.page-hero h1.post-title{font-size:clamp(2.2rem,4.2vw,3.6rem);text-transform:none;letter-spacing:-.01em;line-height:1.08;}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:26px;font-family:var(--font-mono);font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);}
.post-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--ember);}
.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(36px,5vw,80px);align-items:start;}
.prose{max-width:720px;font-size:var(--fs-body);line-height:1.7;color:var(--fg);}
.prose>*+*{margin-top:1.25em;}
.prose h2,.prose h3,.prose h4{text-transform:none;letter-spacing:-.005em;line-height:1.2;margin-top:2em;}
.prose h2{font-size:clamp(28px,2.6vw,36px);}
.prose h3{font-size:clamp(22px,1.9vw,27px);}
.prose h4{font-size:20px;}
.prose p{color:var(--fg);}
.prose a{color:var(--blue);font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;}
.prose a:hover{color:var(--ember-deep);}
.prose ul,.prose ol{padding-left:1.4em;}
.prose li+li{margin-top:.5em;}
.prose li::marker{color:var(--blue);font-weight:800;}
.prose img{border-radius:var(--r-lg);border:1px solid var(--line);}
.prose figure{margin:2em 0;}
.prose figcaption{margin-top:10px;font-size:14px;color:var(--fg-dim);}
.prose blockquote{margin:2em 0;padding:22px 26px;border-left:4px solid var(--ember);background:var(--paper);border-radius:0 var(--r) var(--r) 0;font-family:var(--font-display);font-weight:800;font-size:clamp(20px,1.6vw,24px);line-height:1.4;color:var(--ink);}
.prose blockquote p{margin:0;}
.prose hr{border:none;height:1px;background:var(--line);margin:2.5em 0;}
.prose table{width:100%;border-collapse:collapse;font-size:var(--fs-card);}
.prose th,.prose td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;}
.prose th{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);}
.prose .wp-block-embed iframe,.prose iframe{max-width:100%;border-radius:var(--r);}
.prose strong{color:var(--ink);}
.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:2.5em;}
.post-tags a{padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:var(--paper);font-size:13px;font-weight:700;color:var(--ink);transition:all .3s;}
.post-tags a:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.post-share{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:2em;padding-top:1.5em;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.post-share span{color:var(--fg-dim);margin-right:6px;}
.post-share a,.post-share button{padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:var(--white);color:var(--ink);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;transition:all .3s;}
.post-share a:hover,.post-share button:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:2.5em;}
.pn{display:flex;flex-direction:column;gap:6px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--white);transition:all .4s var(--ease);}
.pn:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--blue);}
.pn.next{text-align:right;}
.pn-lbl{font-family:var(--font-mono);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);}
.pn-ttl{font-family:var(--font-display);font-weight:800;font-size:1.05rem;line-height:1.3;color:var(--ink);}
.post-side .side-card{background:var(--ink);color:var(--bone);border-radius:var(--r-lg);padding:clamp(24px,3vw,32px);}
.post-side{align-self:stretch;}
.post-side .sticky{position:sticky;top:110px;}
.post-side .side-card .eyebrow{white-space:nowrap;}
.side-card .eyebrow{color:var(--ember);}
.side-card h3{color:#fff;font-size:var(--fs-h3);margin-top:12px;}
.side-card p{margin-top:10px;color:var(--bone-dim);font-size:var(--fs-card);line-height:1.55;}
.side-card .btn{margin-top:20px;width:100%;justify-content:center;}
.side-call{display:block;margin-top:14px;text-align:center;font-size:14px;font-weight:700;color:var(--bone-dim);}
.side-call:hover{color:#fff;}
.side-list{list-style:none;margin:24px 0 0;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:10px;}
.side-list a{color:var(--bone);font-weight:700;font-size:15px;display:flex;align-items:center;gap:10px;transition:color .3s;}
.side-list a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ember);flex-shrink:0;}
.side-list a:hover{color:var(--ember);}
@media(max-width:1080px){.post-layout{grid-template-columns:minmax(0,1fr);}.post-side .sticky{position:static;}.post-inner{max-width:min(860px,80vw);}}
@media(max-width:820px){.post-inner{max-width:none;}}
@media(max-width:540px){.post-nav{grid-template-columns:minmax(0,1fr);}.pn.next{text-align:left;}.prose{font-size:1.05rem;}}
.contact-dark{overflow:clip;}
.contact-dark .wrap{position:relative;z-index:1;}
.contact-dark .c-card{--fg:#06253B;--fg-dim:#4E6478;background:#fff;border-color:rgba(255,255,255,.6);box-shadow:0 30px 60px -30px rgba(0,0,0,.55);}
.contact-dark .c-card h3,.contact-dark .c-card a.big{color:#06253B;}
.contact-dark .c-card a.big:hover{color:var(--blue);}
.contact-dark .c-note{background:rgba(255,255,255,.08);border-left-color:var(--ember);color:var(--bone-dim);}
.contact-dark .c-note a{color:var(--ember)!important;}
.contact-dark .form-panel{--fg:#06253B;--fg-dim:#4E6478;--line:#DCE6EE;color:#06253B;border-color:rgba(255,255,255,.6);}
.contact-dark .form-panel h3{color:#06253B;}
.c-card{grid-template-columns:54px minmax(0,1fr) 28px;}
.c-link{cursor:pointer;}
.c-link .c-ico{transition:background .5s var(--ease),color .5s var(--ease),transform .5s var(--ease);}
.c-link:hover .c-ico{background:var(--ember);color:#fff;transform:rotate(-6deg);}
.c-link .big{display:inline-block;margin-top:8px;font-family:var(--font-display);font-weight:900;font-size:clamp(1.05rem,3.6vw,1.35rem);color:#06253B;overflow-wrap:anywhere;transition:color .3s;}
.c-link:hover .big{color:var(--blue);}
.c-arrow{align-self:center;width:28px;height:28px;border-radius:50%;background:var(--paper);color:var(--blue);display:flex;align-items:center;justify-content:center;transition:transform .5s var(--ease),background .5s var(--ease),color .5s var(--ease);}
.c-arrow svg{width:14px;height:14px;}
.c-link:hover .c-arrow{transform:translateX(4px);background:var(--ink);color:#fff;}
/* Contact icons pulse in turn: phone x3, then email x3, then office x3, repeat.
   One pulse = 2.8s (unchanged), so each icon owns an 8.4s slot of a 25.2s cycle. */
.c-pulse{position:relative;--slot:0;}
.c-pulse-2{--slot:1;}
.c-pulse-3{--slot:2;}
.c-pulse::before,.c-pulse::after{content:"";position:absolute;inset:0;border-radius:16px;border:2px solid var(--blue);opacity:0;
  animation:cpulse3 25.2s var(--ease) infinite;animation-delay:calc(var(--slot) * 8.4s);}
.c-pulse::after{animation-delay:calc(var(--slot) * 8.4s + 1.4s);}
@keyframes cpulse3{
  0%{transform:scale(1);opacity:.6}
  11.1%{transform:scale(1.6);opacity:0}
  11.11%{transform:scale(1);opacity:.6}
  22.2%{transform:scale(1.6);opacity:0}
  22.21%{transform:scale(1);opacity:.6}
  33.3%{transform:scale(1.6);opacity:0}
  33.31%,100%{transform:scale(1);opacity:0}
}
@media(prefers-reduced-motion:reduce){.c-pulse::before,.c-pulse::after{animation:none;}}
.c-map{border-radius:var(--r-lg);overflow:hidden;border:1px solid rgba(255,255,255,.14);aspect-ratio:16/8;background:var(--slate);filter:saturate(.85);}
.c-map iframe{width:100%;height:100%;border:0;display:block;}
.contact-dark .cta-glow{animation:breathe 9s ease-in-out infinite;}
@keyframes breathe{0%,100%{transform:translateX(-50%) scale(1);opacity:.9}50%{transform:translateX(-46%) scale(1.12);opacity:1}}
.contact-dark .form-panel label{color:#06253B;}
.contact-dark .form-panel input:focus,.contact-dark .form-panel select:focus,.contact-dark .form-panel textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,112,169,.14);}
.contact-dark .f-submit svg{transition:transform .4s var(--ease);}
.contact-dark .f-submit:hover svg{transform:translateX(5px);}
.ns-img .ns-num{transform:scale(.4);opacity:0;transition:transform .7s cubic-bezier(.34,1.56,.64,1) .55s,opacity .4s ease .55s;}
.ns-img.wipe.in .ns-num{transform:scale(1);opacity:1;}
@media(max-width:540px){.c-card{grid-template-columns:minmax(0,1fr);}.c-arrow{display:none;}}
@media(prefers-reduced-motion:reduce){.c-pulse::before,.c-pulse::after,.contact-dark .cta-glow{animation:none;}.ns-img .ns-num{transform:none;opacity:1;}}
.contact-grid{align-items:stretch;}
.c-col{display:flex;flex-direction:column;}
.c-intro{margin-bottom:32px;}
.c-cards{display:flex;flex-direction:column;justify-content:space-between;gap:16px;}
.c-cards .c-card{flex:1;align-content:center;}
.c-map{margin-top:20px;aspect-ratio:16/5;min-height:260px;}
.gf-panel{display:flex;flex-direction:column;}
.gf-wrap{flex:1;margin-top:18px;display:flex;flex-direction:column;}
.gf-wrap .gform_wrapper,.gf-wrap form,.gf-wrap .gform-body{display:flex;flex-direction:column;flex:1;}
.gf-wrap .gform_wrapper .gform_fields{flex:1;align-content:start;}
.gf-wrap .gform_wrapper .gfield:has(textarea){display:flex;flex-direction:column;}
.gf-wrap .gform_wrapper .gfield:has(textarea) .ginput_container{flex:1;display:flex;}
.gf-wrap .gform_wrapper .gform_fields:has(textarea){grid-template-rows:auto auto auto 1fr;}
.gf-wrap .gform_wrapper{margin:0;}
.gf-wrap .gform_wrapper .gform_fields{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.gf-wrap .gform_wrapper .gfield{grid-column:1/-1;margin:0;}
.gf-wrap .gform_wrapper .gfield.gf-half,.gf-wrap .gform_wrapper .gfield.gfield--width-half{grid-column:auto;}
.gf-wrap .gform_wrapper .gfield_label,.gf-wrap .gform_wrapper legend.gfield_label{display:block;margin:0 0 4px;font-family:var(--font-mono);font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);}
.gf-wrap .gform_wrapper .gfield_required{color:var(--ember);}
.gf-wrap .gform_wrapper input:not([type=submit]):not([type=checkbox]):not([type=radio]),.gf-wrap .gform_wrapper select,.gf-wrap .gform_wrapper textarea{width:100%;font-family:var(--font-body);font-size:var(--fs-card);color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;transition:border-color .3s,box-shadow .3s,background .3s;}
.gf-wrap .gform_wrapper textarea{resize:vertical;min-height:110px;}
.gf-wrap .gform_wrapper select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070A9' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;}
.gf-wrap .gform_wrapper input:focus,.gf-wrap .gform_wrapper select:focus,.gf-wrap .gform_wrapper textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px var(--blue-soft);}
.gf-wrap .gform_wrapper ::placeholder{color:#8FA3B4;}
.gf-wrap .gform_wrapper .gfield_description,.gf-wrap .gform_wrapper .gform_validation_errors{font-size:13px;color:#7A8A98;margin-top:4px;}
.gf-wrap .gform_wrapper .gfield_error input,.gf-wrap .gform_wrapper .gfield_error textarea,.gf-wrap .gform_wrapper .gfield_error select{border-color:#D9534F;}
.gf-wrap .gform_wrapper .validation_message,.gf-wrap .gform_wrapper .gfield_validation_message{font-size:13px;color:#D9534F;margin-top:4px;padding:0;background:none;border:none;}
.gf-wrap .gform_wrapper .gform_validation_errors{background:rgba(217,83,79,.08);border:1px solid rgba(217,83,79,.3);border-radius:12px;padding:12px 14px;color:#B33B37;margin-bottom:12px;}
.gf-wrap .gform_wrapper .gform_validation_errors h2{font-size:14px;margin:0;text-transform:none;color:#B33B37;letter-spacing:0;}
.gf-wrap .gform_wrapper .gform_footer{margin:6px 0 0;padding:0;}
.gf-wrap .gform_wrapper .gform_footer input[type=submit],.gf-wrap .gform_wrapper .gform_footer button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;padding:14px 22px;border-radius:999px;border:none;background:var(--ember);color:#fff;font-family:var(--font-mono);font-weight:800;font-size:var(--fs-ui);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;box-shadow:0 14px 28px -14px rgba(250,148,58,.7);transition:transform .4s var(--ease),background .3s;}
.gf-wrap .gform_wrapper .gform_footer input[type=submit]:hover,.gf-wrap .gform_wrapper .gform_footer button:hover{background:var(--ember-deep);transform:translateY(-3px);}
.gf-wrap .gform_wrapper .gform_ajax_spinner{margin-left:10px;}
.gf-wrap .gform_confirmation_message{padding:22px 24px;border-radius:12px;background:var(--blue-soft);color:var(--ink);font-weight:700;}
.gf-wrap .gform_wrapper .ginput_container_consent label,.gf-wrap .gform_wrapper .gfield_checkbox label,.gf-wrap .gform_wrapper .gfield_radio label{font-size:14px;color:var(--fg-dim);}
.gf-panel .f-fine{margin-top:14px;}
@media(max-width:1080px){.c-map{aspect-ratio:16/8;}.c-cards .c-card{flex:none;}}
@media(max-width:540px){.gf-wrap .gform_wrapper .gform_fields{grid-template-columns:1fr;}.gf-wrap .gform_wrapper .gfield.gf-half,.gf-wrap .gform_wrapper .gfield.gfield--width-half{grid-column:1/-1;}}
.c-panel{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);border:1px solid rgba(255,255,255,.6);box-shadow:0 30px 60px -30px rgba(0,0,0,.55);overflow:hidden;--fg:#06253B;--fg-dim:#4E6478;color:#06253B;}
.c-row{display:grid;grid-template-columns:50px minmax(0,1fr) 28px;gap:16px;align-items:center;padding:22px clamp(20px,2.4vw,28px);border-bottom:1px solid #E6EEF5;transition:background .3s;}
.c-row:hover{background:var(--paper);}
.c-row .c-ico{width:50px;height:50px;border-radius:14px;}
.c-row .c-ico svg{width:22px;height:22px;}
.c-row h3{font-family:var(--font-mono);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);}
.c-row .big{display:block;margin-top:4px;font-family:var(--font-display);font-weight:900;font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.2;color:#06253B;overflow-wrap:anywhere;transition:color .3s;}
.c-row:hover .big{color:var(--blue);}
.c-row p{margin-top:4px;font-size:14px;line-height:1.45;color:#4E6478;}
.c-panel .c-map{flex:1;margin:0;border-radius:0;border:none;aspect-ratio:auto;min-height:200px;filter:none;}
.contact-dark .c-panel .c-pulse::before,.contact-dark .c-panel .c-pulse::after{border-radius:14px;}
.gf-wrap .gform_wrapper .gfield_required,.gf-wrap .gform_wrapper .gform_required_legend,.gf-wrap .gform_wrapper .gfield_required_text{display:none!important;}
.gf-wrap .gform_wrapper .gform_fields{gap:14px;}
.gf-wrap .gform_wrapper .gfield_label,.gf-wrap .gform_wrapper legend.gfield_label{margin-bottom:6px;font-size:11.5px;letter-spacing:.14em;}
.gf-wrap .gform_wrapper input:not([type=submit]):not([type=checkbox]):not([type=radio]),.gf-wrap .gform_wrapper select,.gf-wrap .gform_wrapper textarea{padding:13px 16px;border-radius:12px;border:1.5px solid #DCE6EE;background:var(--paper);font-size:15.5px;line-height:1.35;box-shadow:none;}
.gf-wrap .gform_wrapper input:not([type=submit]):hover,.gf-wrap .gform_wrapper select:hover,.gf-wrap .gform_wrapper textarea:hover{border-color:#B9CBDA;}
.gf-wrap .gform_wrapper select{background-color:var(--paper);}
.gf-wrap .gform_wrapper textarea{min-height:150px;}
.gf-wrap .gform_wrapper .gform_footer,.gf-wrap .gform_wrapper .gform-footer{margin:8px 0 0!important;padding:0!important;display:block;}
.gf-wrap .gform_wrapper .gform_footer input[type=submit],.gf-wrap .gform_wrapper .gform-footer input[type=submit],.gf-wrap .gform_wrapper .gform_footer button,.gf-wrap .gform_wrapper .gform-footer button,.gf-wrap .gform_wrapper .gform_button{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;width:100%!important;margin:0!important;padding:16px 22px!important;border-radius:999px!important;border:none!important;background:var(--ember)!important;color:#fff!important;font-family:var(--font-mono)!important;font-weight:800!important;font-size:var(--fs-ui)!important;letter-spacing:.12em!important;text-transform:uppercase!important;line-height:1!important;cursor:pointer;box-shadow:0 14px 28px -14px rgba(250,148,58,.7);transition:transform .4s var(--ease),background .3s,box-shadow .4s var(--ease);}
.gf-wrap .gform_wrapper .gform_footer input[type=submit]:hover,.gf-wrap .gform_wrapper .gform-footer input[type=submit]:hover,.gf-wrap .gform_wrapper .gform_button:hover{background:var(--ember-deep)!important;transform:translateY(-3px);box-shadow:0 20px 34px -14px rgba(250,148,58,.75);}
.gf-panel h3{font-size:var(--fs-h3);}
.gf-panel .f-sub{margin-top:8px;}
@media(max-width:1080px){.c-panel .c-map{min-height:260px;}}
.c-panel .c-map{border-top:4px solid var(--ember);}
.gf-wrap .gform_wrapper select{height:52px!important;padding:0 44px 0 16px!important;line-height:normal!important;color:var(--ink)!important;}
.gf-wrap .gform_wrapper input:not([type=submit]):not([type=checkbox]):not([type=radio]){height:52px!important;padding-top:0!important;padding-bottom:0!important;}
.gf-wrap .gform_wrapper ::placeholder,.gf-wrap .gform_wrapper input::placeholder,.gf-wrap .gform_wrapper textarea::placeholder{color:#B4C2CE!important;opacity:1!important;}
.gf-wrap .gform_wrapper select:has(option[value=""]:checked){color:#B4C2CE!important;}
.gf-wrap .gform_wrapper select option{color:var(--ink);}
.cform .f-sub,.gf-panel .f-sub{text-wrap:pretty;}

/* ===== Form controls: select fixes + styled dropdown list ===== */
/* 1. Gravity Forms select: lock size/alignment and keep our chevron from being
      overridden or tiled by GF's theme CSS (focus/open state included). */
.gf-wrap .gform_wrapper select,.gf-wrap .gform_wrapper select:focus,.gf-wrap .gform_wrapper select:hover{
  box-sizing:border-box!important;display:block!important;width:100%!important;
  height:52px!important;min-height:52px!important;max-height:52px!important;
  padding:0 44px 0 16px!important;line-height:50px!important;vertical-align:middle;
  font-size:15.5px!important;color:var(--ink)!important;
  background-color:var(--paper)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070A9' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:16px!important;
  cursor:pointer;}
.gf-wrap .gform_wrapper select:focus{background-color:#fff!important;border-color:var(--blue)!important;box-shadow:0 0 0 4px var(--blue-soft)!important;outline:none!important;}
.gf-wrap .gform_wrapper select:has(option[value=""]:checked),.gf-wrap .gform_wrapper select.gf_placeholder{color:#B4C2CE!important;}
.gf-wrap .gform_wrapper select{appearance:none;-webkit-appearance:none;}
/* 2. Inputs: same box model so placeholders sit centred. */
.gf-wrap .gform_wrapper input:not([type=submit]):not([type=checkbox]):not([type=radio]){box-sizing:border-box!important;height:52px!important;min-height:52px!important;line-height:normal!important;padding-top:0!important;padding-bottom:0!important;}
/* 3. Focus rule must not use the background shorthand (it wiped the chevron). */
.f-field select:focus{background-color:#fff;}
/* 4. The dropdown list itself. Chromium (customizable select) gets a fully
      styled panel; other browsers keep the native list with tidier options. */
.f-field select option,.gf-wrap .gform_wrapper select option{font-family:var(--font-body);font-size:16px;color:var(--ink);padding:8px 10px;}
.f-field select option[value=""],.gf-wrap .gform_wrapper select option[value=""]{color:#8FA3B4;}
@supports (appearance:base-select){
  .f-field select,.f-field select:hover,.f-field select:focus,.f-field select:open,
  .gf-wrap .gform_wrapper select,.gf-wrap .gform_wrapper select:hover,.gf-wrap .gform_wrapper select:focus,.gf-wrap .gform_wrapper select:open{appearance:base-select!important;-webkit-appearance:base-select!important;}
  .f-field select::picker-icon,.gf-wrap .gform_wrapper select::picker-icon{display:none;}
  .f-field select::picker(select),.gf-wrap .gform_wrapper select::picker(select){
    appearance:base-select;box-sizing:border-box;min-width:anchor-size(width);margin-top:8px;padding:6px;
    border:1.5px solid #DCE6EE;border-radius:14px;background:#fff;
    box-shadow:0 24px 48px -22px rgba(6,37,59,.38),0 0 0 1px rgba(6,37,59,.02);
    opacity:0;transform:translateY(-6px);transition:opacity .25s var(--ease),transform .25s var(--ease),display .25s allow-discrete,overlay .25s allow-discrete;}
  .f-field select:open::picker(select),.gf-wrap .gform_wrapper select:open::picker(select){opacity:1;transform:none;}
  @starting-style{.f-field select:open::picker(select),.gf-wrap .gform_wrapper select:open::picker(select){opacity:0;transform:translateY(-6px);}}
  .f-field select option,.gf-wrap .gform_wrapper select option{display:block;padding:10px 12px;border-radius:9px;font-size:15.5px;line-height:1.3;cursor:pointer;transition:background .2s,color .2s;}
  .f-field select option::checkmark,.gf-wrap .gform_wrapper select option::checkmark{display:none;}
  .f-field select option:hover,.f-field select option:focus-visible,.gf-wrap .gform_wrapper select option:hover,.gf-wrap .gform_wrapper select option:focus-visible{background:var(--paper);color:var(--ink);outline:none;}
  .f-field select option:checked,.gf-wrap .gform_wrapper select option:checked{background:var(--blue-soft);color:var(--blue);font-weight:700;}
  .f-field select option[value=""]:checked,.gf-wrap .gform_wrapper select option[value=""]:checked{background:transparent;color:#8FA3B4;font-weight:400;}
}

.faq-side-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:0 20px 40px -30px rgba(6,37,59,.35);}
.faq-side-lbl{display:block;margin:18px 0 8px 14px;font-family:var(--font-mono);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ember-deep);}
.faq-search{margin-bottom:0;}
.faq-search input{background:var(--paper);border-color:transparent;}
.faq-search input:focus{background:#fff;border-color:var(--ember);box-shadow:0 0 0 4px rgba(250,148,58,.18);}
.faq-nav a{position:relative;padding:11px 14px 11px 18px;border-radius:12px;}
.faq-nav a::before{content:"";position:absolute;left:6px;top:50%;height:0;width:3px;border-radius:3px;background:var(--ember);transform:translateY(-50%);transition:height .4s var(--ease);}
.faq-nav a:hover,.faq-nav a.on{background:var(--paper);color:var(--ink);box-shadow:none;}
.faq-nav a.on::before{height:60%;}
.faq-nav a span{min-width:24px;height:24px;padding:0 8px;border-radius:999px;background:var(--blue-soft);color:var(--blue);display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;transition:all .3s;}
.faq-nav a.on span{background:var(--ember);color:#fff;}
.faq-help{margin-top:16px;background:var(--ink);color:var(--bone);border-radius:var(--r-lg);padding:24px;position:relative;overflow:hidden;}
.faq-help::after{content:"";position:absolute;right:-40px;bottom:-60px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(250,148,58,.35),transparent 65%);pointer-events:none;}
.faq-help .eyebrow{color:var(--ember);}
.faq-help h3{color:#fff;font-size:1.25rem;margin-top:10px;}
.faq-help p{margin-top:8px;font-size:14.5px;color:var(--bone-dim);line-height:1.5;}
.faq-help .btn{margin-top:16px;width:100%;justify-content:center;}
.faq-help .btn svg{width:16px;height:16px;}
.fg-head{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid var(--line);position:relative;}
.fg-head::after{content:"";position:absolute;left:0;bottom:-2px;width:64px;height:2px;background:var(--ember);}
.fg-num{font-family:var(--font-mono);font-weight:800;font-size:12px;letter-spacing:.14em;color:var(--ember-deep);padding:6px 10px;border-radius:999px;background:var(--ember-soft);}
.faq-group h2{margin-bottom:0;}
.fg-count{margin-left:auto;font-family:var(--font-mono);font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);}
.faq.sec-tight details{border-left:3px solid transparent;transition:border-color .4s var(--ease),box-shadow .4s var(--ease),transform .4s var(--ease);}
.faq.sec-tight details:hover{transform:translateX(4px);}
.faq.sec-tight details[open]{border-left-color:var(--ember);border-color:var(--ember);box-shadow:0 22px 44px -28px rgba(250,148,58,.45);}
.faq.sec-tight summary:hover i{background:var(--ember-soft);}
.faq.sec-tight summary:hover i::before,.faq.sec-tight summary:hover i::after{background:var(--ember-deep);}
.faq.sec-tight details p{padding-left:4px;border-top:1px dashed var(--line);padding-top:14px;}
@media(max-width:1080px){.faq-help{display:none;}.faq-nav{flex-direction:row;flex-wrap:wrap;gap:6px;}.faq-nav a::before{display:none;}}
@media(max-width:540px){.fg-count{display:none;}}
.tips{position:relative;}
.tip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.tip{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(26px,3vw,36px);overflow:hidden;}
.tip::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--ember),var(--blue));transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease);}
.tip:hover::after{transform:scaleX(1);}
.tip-num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--ember);color:#fff;font-family:var(--font-mono);font-weight:800;font-size:13px;letter-spacing:.06em;box-shadow:0 12px 24px -12px rgba(250,148,58,.8);}
.tip h3{font-size:1.2rem;line-height:1.15;margin-top:20px;letter-spacing:.01em;}
.tip p{margin-top:10px;color:var(--fg-dim);font-size:var(--fs-card);line-height:1.6;}
@media(max-width:1080px){.tip-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:540px){.tip-grid{grid-template-columns:minmax(0,1fr);}}
.promise-sec{overflow:visible;}
.promise-sec .wrap{position:relative;z-index:1;}
.promise-sec .wn-grid{position:relative;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}
.promise-sec .wn{position:relative;border-radius:var(--r-lg);padding:clamp(28px,3.4vw,44px);overflow:hidden;}
.promise-sec .wn::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;}
.promise-sec .wn.do{--fg:#06253B;--fg-dim:#4E6478;background:#fff;border:none;box-shadow:0 30px 60px -30px rgba(0,0,0,.55);}
.promise-sec .wn.do::before{background:linear-gradient(90deg,var(--blue),var(--blue-deep));}
.promise-sec .wn.never{background:var(--slate);border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 60px -30px rgba(0,0,0,.6);}
.promise-sec .wn.never::before{background:linear-gradient(90deg,var(--ember),var(--ember-deep));}
.wn-badge{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;font-family:var(--font-mono);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;}
.wn.do .wn-badge{background:var(--blue-soft);color:var(--blue);}
.wn.never .wn-badge{background:rgba(250,148,58,.18);color:var(--ember);}
.promise-sec .wn h3{font-size:clamp(1.8rem,2.6vw,2.4rem);line-height:1.05;margin-top:16px;}
.promise-sec .wn.do h3{color:#06253B;}
.promise-sec .wn.never h3{color:#fff;}
.promise-sec .wn ul{margin-top:26px;gap:0;}
.promise-sec .wn li{padding:12px 0;border-top:1px solid rgba(6,37,59,.08);font-size:15.5px;}
.promise-sec .wn.never li{border-top-color:rgba(255,255,255,.1);}
.promise-sec .wn li svg{width:32px;height:32px;padding:7px;}
.promise-sec .wn.do li{color:#06253B;}
.promise-sec .wn.do li svg{background:var(--blue);color:#fff;}
.promise-sec .wn.never li svg{background:var(--ember);color:#fff;}
.wn-vs{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:56px;height:56px;border-radius:50%;background:var(--ink);border:2px solid var(--ember);color:var(--ember);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:900;font-size:1.1rem;text-transform:uppercase;box-shadow:0 0 0 10px var(--ink);}
@media(max-width:820px){.wn-vs{display:none;}}
.tl-dark .wrap{position:relative;z-index:1;}
.tl-dark .tl::before{background:linear-gradient(180deg,var(--ember) 0%,var(--blue) 100%);opacity:.6;}
.tl-dark .tl-step::before{background:var(--ink);border-color:var(--ember);box-shadow:0 0 0 8px var(--ink),0 0 24px rgba(250,148,58,.45);}
.tl-dark .tl-step:nth-child(even)::before{border-color:var(--blue);box-shadow:0 0 0 8px var(--ink),0 0 24px rgba(0,112,169,.55);}
.tl-dark .tl-num{-webkit-text-stroke:2px rgba(255,255,255,.55);opacity:.5;}
.tl-dark .tl-step:nth-child(even) .tl-num{-webkit-text-stroke-color:rgba(255,255,255,.55);}
.tl-dark .tl-copy .eyebrow{color:var(--ember);}
.tl-dark .tl-copy h3{color:#fff;}
.tl-dark .tl-copy p{color:var(--bone-dim);}
.tl-dark .tl-copy .tag{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.14);}
@media(max-width:820px){.tl-dark .tl::before{left:20px;}}
.stat-strip{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 30px 60px -36px rgba(6,37,59,.35);overflow:hidden;}
.stat-strip::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--ember),var(--blue));}
.ss-cell{position:relative;padding:clamp(28px,3.4vw,44px) clamp(24px,3vw,40px);}
.ss-cell + .ss-cell::before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:1px;background:var(--line);}
.ss-ico{position:absolute;right:clamp(20px,2.4vw,32px);top:clamp(24px,3vw,40px);width:44px;height:44px;border-radius:14px;background:var(--ember-soft);color:var(--ember-deep);display:flex;align-items:center;justify-content:center;}
.ss-ico svg{width:22px;height:22px;}
.ss-num{display:flex;align-items:baseline;gap:4px;font-family:var(--font-display);font-weight:900;font-size:clamp(3rem,4.6vw,4.4rem);line-height:.95;color:var(--ink);letter-spacing:-.02em;}
.ss-num em{font-style:normal;font-size:.42em;color:var(--blue);font-weight:800;}
.ss-lbl{display:block;margin-top:14px;font-family:var(--font-mono);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ember-deep);}
.ss-cell p{margin-top:8px;color:var(--fg-dim);font-size:15px;line-height:1.5;max-width:26ch;}
@media(max-width:820px){.stat-strip{grid-template-columns:minmax(0,1fr);}.ss-cell + .ss-cell::before{left:8%;right:8%;top:0;bottom:auto;width:auto;height:1px;}}
.segments.dark,.contact-dark,.values.dark,.promise-sec,.tl-dark,.site-footer.dark{background:radial-gradient(90% 120% at 50% 0%,#0F3F62 0%,var(--ink) 60%);clip-path:inset(-90px 0 0 0);}
.seg-glow,.values-glow,.contact-dark .cta-glow{left:50%;top:-40%;bottom:auto;transform:translateX(-50%);width:80vw;height:60vw;background:radial-gradient(circle,rgba(0,112,169,.28),transparent 60%);animation:none;}
.site-footer.dark{clip-path:none;}
.tl::before{display:none;}
.tl-step::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%) scaleY(0);transform-origin:top;background:linear-gradient(180deg,var(--ember),var(--blue));opacity:.7;transition:transform 1.5s var(--ease);}
.tl-step:first-child::after{top:50%;}
.tl-step:last-child::after{bottom:50%;}
.has-motion .tl-step.in::after{transform:translateX(-50%) scaleY(1);}
.tl-step::before{transform:translate(-50%,-50%) scale(0);transition:transform .6s cubic-bezier(.34,1.56,.64,1) .3s;}
.tl-step.in::before,.tl-step:not(.reveal)::before{transform:translate(-50%,-50%) scale(1);}
.tl-media{position:relative;aspect-ratio:3/2;border-radius:var(--r-lg);overflow:hidden;background:var(--slate);border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 60px -30px rgba(0,0,0,.6);}
.tl-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease);}
.tl-step:hover .tl-media img{transform:scale(1.05);}
.tl-badge{position:absolute;left:18px;bottom:18px;width:48px;height:48px;border-radius:50%;background:var(--ember);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:800;letter-spacing:.06em;box-shadow:0 10px 24px -10px rgba(0,0,0,.6);}
.has-motion .tl-media{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease) .25s;}
.has-motion .tl-step.in .tl-media{clip-path:inset(0 0 0 0);}
.has-motion .tl-copy{opacity:0;transform:translateX(-28px);transition:opacity .9s var(--ease) .55s,transform .9s var(--ease) .55s;}
.has-motion .tl-step:nth-child(even) .tl-copy{transform:translateX(28px);}
.has-motion .tl-step.in .tl-copy{opacity:1;transform:none;}
.tl-step.reveal{transform:none;}
.tl-step:nth-child(even) .tl-media{order:1;}
@media(max-width:820px){
  .tl-step::after{left:20px;}
  .tl-step:first-child::after{top:28px;} .tl-step:last-child::after{bottom:auto;height:28px;}
  .tl-step:nth-child(even) .tl-media{order:0;}
  .tl-media{max-width:520px;margin-bottom:10px;}
  .has-motion .tl-copy,.has-motion .tl-step:nth-child(even) .tl-copy{transform:translateY(16px);}
}
@media(prefers-reduced-motion:reduce){.tl-step::after{transform:translateX(-50%) scaleY(1);}.tl-step::before{transform:translate(-50%,-50%) scale(1);}.has-motion .tl-media{clip-path:none;}.has-motion .tl-copy{opacity:1;transform:none;}}
.swoosh-into{bottom:calc(-1 * clamp(40px,6vw,84px) + 1px);z-index:3;}
.over{position:relative;z-index:1;}
.contact-dark,.values.dark,.promise-sec,.segments.dark,.tl-dark{clip-path:none;overflow:hidden;}
.prep{padding:0;overflow:hidden;display:flex;flex-direction:column;}
.prep-img{position:relative;aspect-ratio:3/2;background:#C9D9E6;overflow:hidden;}
.prep-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease);}
.prep:hover .prep-img img{transform:scale(1.05);}
.prep-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,37,59,0) 50%,rgba(6,37,59,.45) 100%);pointer-events:none;}
.prep-tag{position:absolute;left:20px;bottom:20px;z-index:1;display:inline-flex;align-items:center;gap:9px;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--ink);font-family:var(--font-mono);font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 10px 24px -12px rgba(0,0,0,.5);}
.prep-tag .dot{width:8px;height:8px;border-radius:50%;background:var(--blue);}
.prep.after .prep-tag .dot{background:var(--ember);}
.prep-body{padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;flex:1;}
.prep h3{margin-top:0;}
.prep-sub{margin-top:8px;color:var(--fg-dim);font-size:var(--fs-card);line-height:1.55;}
.prep .checks{margin-top:20px;}
.prep .checks li{padding:10px 0;border-top:1px solid var(--line);}
.prep.after .checks li svg{background:var(--ember-soft);color:var(--ember-deep);}
.tl-copy .tag{display:inline-flex;align-items:center;gap:7px;}
.tl-copy .tag svg{width:14px;height:14px;color:var(--ember);flex-shrink:0;}
.site-footer .wrap{max-width:1400px;}

/* ===== Privacy Policy page ===== */
.ph-privacy{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-bg-privacy.webp');}
.pp-glance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.pp-tile{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,2.6vw,28px);box-shadow:0 26px 50px -32px rgba(6,37,59,.35);}
.pp-tile .c-ico{width:46px;height:46px;border-radius:14px;margin-bottom:16px;transition:background .5s var(--ease),color .5s var(--ease),transform .5s var(--ease);}
.pp-tile .c-ico svg{width:21px;height:21px;}
.pp-tile:hover .c-ico{background:var(--blue);color:#fff;transform:rotate(-6deg) scale(1.06);}
.pp-tile h3{font-size:1.05rem;letter-spacing:.01em;}
.pp-tile p{margin-top:8px;color:var(--fg-dim);font-size:15px;line-height:1.55;}

.pp-sec-wrap{position:relative;padding-top:clamp(56px,7vw,90px);}
.pp-progress{position:sticky;top:0;z-index:5;height:3px;background:transparent;margin-bottom:-3px;}
.pp-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--ember));transform:scaleX(0);transform-origin:left;transition:transform .15s linear;}
.pp-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start;}
.pp-side{position:sticky;top:110px;}
.pp-side-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:0 20px 40px -30px rgba(6,37,59,.35);}
.pp-side-lbl{display:block;margin:4px 0 10px 14px;font-family:var(--font-mono);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ember-deep);}
.pp-nav{display:flex;flex-direction:column;gap:2px;}
.pp-nav a{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px 10px 18px;border-radius:12px;font-weight:700;font-size:14.5px;color:var(--fg-dim);transition:all .3s;}
.pp-nav a::before{content:"";position:absolute;left:6px;top:50%;height:0;width:3px;border-radius:3px;background:var(--ember);transform:translateY(-50%);transition:height .4s var(--ease);}
.pp-nav a span{min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--blue-soft);color:var(--blue);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-weight:800;transition:all .3s;flex-shrink:0;}
.pp-nav a:hover,.pp-nav a.on{background:var(--paper);color:var(--ink);}
.pp-nav a.on::before{height:60%;}
.pp-nav a.on span{background:var(--ember);color:#fff;}
.pp-side-foot{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);}
.pp-side-link{display:block;padding:4px 14px;font-size:14px;font-weight:700;color:var(--blue);overflow-wrap:anywhere;}
.pp-side-link:hover{color:var(--ember-deep);}

.pp-body{max-width:760px;}
.pp-intro{font-size:1.2rem;line-height:1.65;color:var(--fg-dim);}
.pp-sec{position:relative;padding:clamp(30px,4vw,44px) 0;border-top:1px solid var(--line);scroll-margin-top:110px;}
.pp-body .pp-sec:first-of-type{margin-top:1.5em;}
.pp-sec .pp-num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--font-mono);font-weight:800;font-size:12px;letter-spacing:.06em;margin-bottom:12px;}
.pp-body.prose .pp-sec h2{margin-top:0;font-size:clamp(1.6rem,2.4vw,2.1rem);}
.pp-body.prose .pp-sec h3{margin-top:1.4em;font-size:1.2rem;}
.pp-body.prose .pp-sec>*+*{margin-top:1em;}
.pp-tldr{margin-top:14px !important;border:1.5px solid var(--line);border-radius:14px;background:var(--paper);overflow:hidden;transition:border-color .3s;}
.pp-tldr[open]{border-color:var(--ember);}
.pp-tldr summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 16px;font-family:var(--font-mono);font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);}
.pp-tldr summary::-webkit-details-marker{display:none;}
.pp-tldr summary::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ember);flex-shrink:0;}
.pp-tldr summary::after{content:"+";margin-left:auto;font-size:18px;line-height:1;color:var(--ember-deep);transition:transform .4s var(--ease);}
.pp-tldr[open] summary::after{transform:rotate(45deg);}
.pp-tldr p{margin:0;padding:0 16px 14px;font-size:1.05rem;color:var(--ink);}
.pp-contact{display:flex;flex-direction:column;gap:10px;margin-top:16px;}
.pp-contact a,.pp-contact span{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:var(--ink);text-decoration:none;}
.pp-contact a:hover{color:var(--blue);}
.pp-contact svg{width:18px;height:18px;color:var(--ember);flex-shrink:0;}
.pp-foot{margin-top:2.5em;padding-top:1.5em;border-top:1px solid var(--line);font-size:14px;color:var(--fg-dim);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.pp-top{text-decoration:none !important;color:var(--blue);font-weight:800;}
@media(max-width:1080px){.pp-layout{grid-template-columns:minmax(0,1fr);}.pp-side{position:static;}.pp-nav{flex-direction:row;flex-wrap:wrap;}.pp-side-foot{display:none;}.pp-glance{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:540px){.pp-glance{grid-template-columns:minmax(0,1fr);}.pp-nav a{font-size:13.5px;padding:8px 10px 8px 16px;}}

/* ===== Privacy Policy page ===== */
.ph-privacy{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-bg-privacy.webp');}
.policy{padding-bottom:clamp(90px,12vw,150px);}
.policy-summary{margin-bottom:clamp(40px,6vw,64px);}
.policy-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px;}
.pq{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px;}
.pq .c-ico{width:44px;height:44px;border-radius:13px;margin-bottom:14px;}
.pq .c-ico svg{width:20px;height:20px;}
.pq h3{font-size:1.05rem;letter-spacing:.01em;}
.pq p{margin-top:6px;color:var(--fg-dim);font-size:14.5px;line-height:1.5;}
.policy-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start;}
.policy-side{position:sticky;top:110px;}
.policy-side-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:0 20px 40px -30px rgba(6,37,59,.35);}
.policy-side-card .faq-side-lbl{margin-top:4px;}
.policy-nav{display:flex;flex-direction:column;gap:2px;}
.policy-nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;font-weight:700;font-size:14.5px;color:var(--fg-dim);transition:all .3s;}
.policy-nav a i{font-style:normal;font-family:var(--font-mono);font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--blue);width:22px;flex-shrink:0;opacity:.8;}
.policy-nav a:hover{background:var(--paper);color:var(--ink);}
.policy-nav a.on{background:var(--ink);color:#fff;box-shadow:0 10px 22px -14px rgba(6,37,59,.6);}
.policy-nav a.on i{color:var(--ember);opacity:1;}
.policy-progress{height:4px;border-radius:999px;background:var(--paper);margin:16px 12px 14px;overflow:hidden;}
.policy-progress span{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--ember));transition:width .25s linear;}
.policy-toggle{display:block;width:100%;padding:11px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--white);font-family:var(--font-mono);font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);cursor:pointer;transition:all .3s;}
.policy-toggle:hover{border-color:var(--blue);background:var(--blue-soft);}
.policy-body{max-width:760px;}
.policy-intro{font-size:var(--fs-lede);font-weight:500;color:var(--fg-dim);line-height:1.55;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:8px;}
.policy-sec{border-bottom:1px solid var(--line);scroll-margin-top:110px;}
.policy-sec summary{list-style:none;display:flex;align-items:center;gap:16px;padding:24px 0;cursor:pointer;}
.policy-sec summary::-webkit-details-marker{display:none;}
.policy-sec .ps-num{flex-shrink:0;width:38px;height:38px;border-radius:50%;background:var(--paper);color:var(--blue);font-family:var(--font-mono);font-size:12px;font-weight:800;letter-spacing:.06em;display:inline-flex;align-items:center;justify-content:center;transition:background .4s var(--ease),color .4s var(--ease),transform .4s var(--ease);}
.policy-sec[open] .ps-num,.policy-sec summary:hover .ps-num{background:var(--blue);color:#fff;}
.policy-sec[open] .ps-num{background:var(--ember);}
.policy-sec summary h2{font-size:clamp(1.35rem,2vw,1.7rem);line-height:1.15;flex:1;margin:0;}
.policy-sec summary i{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--paper);position:relative;transition:background .4s var(--ease),transform .5s var(--ease);}
.policy-sec summary i::before,.policy-sec summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .4s var(--ease);}
.policy-sec summary i::after{transform:translate(-50%,-50%) rotate(90deg);}
.policy-sec[open] summary i{transform:rotate(180deg);}
.policy-sec[open] summary i::after{transform:translate(-50%,-50%) rotate(0deg);}
.policy-sec summary:hover i{background:var(--ember-soft);}
.ps-body{padding:0 0 30px 54px;}
.ps-body p{color:var(--fg);font-size:var(--fs-card);line-height:1.65;}
.ps-body p + p,.ps-body .checks + p,.ps-body .policy-table + p,.ps-body .policy-note + p{margin-top:16px;}
.ps-body .checks{margin-top:16px;}
.ps-body .checks li span{color:var(--fg);}
.ps-body a{color:var(--blue);font-weight:700;}
.ps-body a:hover{color:var(--ember-deep);}
.policy-note{margin-top:18px;background:var(--paper);border-left:3px solid var(--ember);border-radius:0 var(--r) var(--r) 0;padding:18px 20px;}
.policy-note .eyebrow{color:var(--ember-deep);}
.policy-note p{margin-top:8px;}
.policy-table{margin-top:18px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;}
.pt-row{display:grid;grid-template-columns:1fr 1.5fr 1.4fr;gap:16px;padding:14px 18px;font-size:15px;line-height:1.5;border-top:1px solid var(--line);}
.pt-row:first-child{border-top:0;}
.pt-row.pt-head{background:var(--paper);font-family:var(--font-mono);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);}
.pt-row span:nth-child(n+2){color:var(--fg-dim);}
.pt-row.pt-head span{color:var(--blue);}
.policy-contact{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:20px;background:var(--ink);color:var(--bone);border-radius:var(--r-lg);padding:26px;position:relative;overflow:hidden;}
.policy-contact::after{content:"";position:absolute;right:-60px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(250,148,58,.32),transparent 66%);pointer-events:none;}
.policy-contact > *{position:relative;z-index:1;}
.policy-contact .eyebrow{color:var(--ember);}
.policy-contact h3{color:#fff;font-size:1.3rem;margin-top:8px;}
.policy-contact p{color:var(--bone-dim);margin-top:8px;font-size:15px;}
.policy-contact-links{display:flex;flex-direction:column;justify-content:center;gap:12px;}
.policy-contact-links a{display:inline-flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:15.5px;transition:color .3s;overflow-wrap:anywhere;}
.policy-contact-links a svg{width:18px;height:18px;color:var(--ember);flex-shrink:0;}
.policy-contact-links a:hover{color:var(--ember);}
.policy-updated{margin-top:26px;font-family:var(--font-mono);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);}
@media(max-width:1080px){.policy-layout{grid-template-columns:minmax(0,1fr);}.policy-side{position:static;}.policy-quick{grid-template-columns:repeat(2,minmax(0,1fr));}.policy-body{max-width:none;}}
@media(max-width:640px){.policy-quick{grid-template-columns:minmax(0,1fr);}.ps-body{padding-left:0;}.pt-row{grid-template-columns:minmax(0,1fr);gap:4px;}.pt-row.pt-head{display:none;}.policy-contact{grid-template-columns:minmax(0,1fr);}}

/* ===== Site-wide QA pass ===== */
/* Type: an intermediate step so phones and small tablets scale smoothly */
@media(max-width:820px){:root{--fs-body:17.5px;--fs-card:16.5px;--fs-lede:clamp(18.5px,2.5vw,21px);}
  .page-hero .lede{font-size:clamp(19px,2.6vw,22px);}}
/* City-page split was ignoring the tablet collapse (more specific selector) */
@media(max-width:1080px){.split.city-split{grid-template-columns:minmax(0,1fr);}.city-media{max-width:620px;}}
/* Stain cards: two-up on phones so the section isn't eight tall cards deep */
@media(max-width:540px){
  .stain-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .stain-body{padding:14px 14px 16px;}
  .stain h3{font-size:.95rem;}
  .stain p{font-size:13.5px;}
  .stain-badge{font-size:9px;padding:5px 8px;letter-spacing:.08em;}
  .stain{padding:18px 16px 18px;}
  .stain-ico{width:44px;height:44px;border-radius:13px;}
  .stain-ico svg{width:20px;height:20px;}
}
/* Mobile / tablet parallax. background-attachment:fixed is ignored on iOS, so each
   parallax section paints its image on a viewport-fixed layer that is clipped to
   the section. The photo stays put while the page scrolls over it. */
@media(max-width:1200px){
  .parallax{isolation:isolate;clip-path:inset(0);background-attachment:scroll;}
  .parallax::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
    background-image:inherit;background-color:inherit;background-size:cover;background-position:center;background-repeat:no-repeat;}
  .page-hero{isolation:isolate;clip-path:inset(0);}
  .page-hero::after{position:fixed;background-attachment:scroll;background-position:center 30%;}
}
/* Mobile menu: a 44px tap target around the 24px icon, and an explicit close label */
.nav-toggle{padding:0;margin-left:8px;}
.nav-toggle::before{content:"";position:absolute;inset:-13px -10px;border-radius:12px;}
.nav-toggle:focus-visible{outline:none;}
.nav-toggle:focus-visible::before{box-shadow:0 0 0 3px var(--blue-soft);}
body.menu-open .nav-toggle span{background:var(--ink);}
@media(max-width:1200px){
}

/* ===== Insights: elevated blog cards ===== */
.cat-row a{padding:10px 18px;box-shadow:0 8px 18px -14px rgba(6,37,59,.35);transition:all .3s var(--ease);}
.cat-row a:hover{transform:translateY(-2px);}
.post-feat{position:relative;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);border-color:var(--line);margin-bottom:28px;
  box-shadow:0 34px 70px -36px rgba(6,37,59,.45);transition:transform .6s var(--ease),box-shadow .6s var(--ease),border-color .6s var(--ease);}
.post-feat::after{content:"";position:absolute;left:0;right:0;top:0;height:5px;z-index:3;background:linear-gradient(90deg,var(--blue) 0%,var(--blue) 55%,var(--ember) 55%,var(--ember) 100%);}
.post-feat:hover{transform:translateY(-6px);box-shadow:0 46px 80px -36px rgba(6,37,59,.55);border-color:rgba(0,112,169,.3);}
.post-feat .p-media{min-height:400px;overflow:hidden;aspect-ratio:auto;height:100%;align-self:stretch;}
.post-feat .p-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(255,255,255,.06));pointer-events:none;}
.post-feat .p-body{padding:clamp(30px,4.5vw,60px);}
.post-feat .p-meta .cat{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--ember-soft);color:var(--ember-deep);font-size:11px;}
.post-feat .p-meta .cat::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ember);}
.post-feat h3{font-size:clamp(1.7rem,2.4vw,2.3rem);line-height:1.08;margin-top:18px;text-wrap:balance;}
.post-feat .p-body > p{font-size:var(--fs-lede);font-weight:500;margin-top:18px!important;line-height:1.55!important;}
.post-feat .more,.post .more{align-self:flex-start;margin-top:auto;padding:12px 18px;border-radius:999px;border:1.5px solid var(--line);background:var(--white);color:var(--ink);transition:all .4s var(--ease);}
.post-feat .more{padding:14px 22px;margin-top:28px;}
.post-feat:hover .more,.post:hover .more{background:var(--ink);color:#fff;border-color:var(--ink);}
.post-feat:hover .more svg,.post:hover .more svg{color:var(--ember);}
.post-grid{gap:24px;}
.post{position:relative;box-shadow:0 26px 50px -32px rgba(6,37,59,.42);transition:transform .6s var(--ease),box-shadow .6s var(--ease),border-color .6s var(--ease);}
.post::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;z-index:3;background:linear-gradient(90deg,var(--ember),var(--ember-deep));transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease);}
.post:hover{transform:translateY(-6px);box-shadow:0 40px 70px -34px rgba(6,37,59,.5);border-color:rgba(0,112,169,.3);}
.post:hover::after{transform:scaleX(1);}
.p-media{overflow:hidden;}
.p-media img{transition:transform 1s var(--ease);}
.post:hover .p-media img,.post-feat:hover .p-media img{transform:scale(1.06);}
.post .p-body{padding:clamp(24px,2.8vw,32px);}
.post .p-meta .cat{color:var(--ember-deep);}
.post h3{font-size:1.3rem;line-height:1.2;margin-top:12px;}
.post h3::after{content:"";display:block;width:26px;height:3px;border-radius:2px;margin-top:12px;background:var(--blue);transition:width .6s var(--ease),background .6s var(--ease);}
.post:hover h3::after{width:52px;background:var(--ember);}
.post p{margin-top:12px;}
.post .more{margin-top:22px;}
@media(max-width:1080px){.post-feat .p-media{min-height:0;height:auto;aspect-ratio:16/9;}}
@media(max-width:540px){.post-feat h3{font-size:1.7rem;}.post-feat .p-body > p{font-size:1.05rem;}}

/* Post page: less dead space around the article and the related grid */
.post-main{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(48px,6vw,72px);}
.post-related{padding-top:clamp(56px,7vw,88px);padding-bottom:clamp(90px,11vw,140px);}
.post-related .sec-head{margin-bottom:clamp(28px,4vw,44px);}
.post-nav{margin-top:2em;}

/* Post sidebar: sticky group holding the CTA card and icon share row */
.post-side .side-stick{position:sticky;top:110px;}
.side-share{margin-top:16px;padding:16px 18px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;box-shadow:0 20px 40px -30px rgba(6,37,59,.35);}
.side-share-lbl{font-family:var(--font-mono);font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);}
.side-share-row{display:flex;gap:8px;}
.share-btn{position:relative;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;transition:background .3s,color .3s,border-color .3s,transform .4s var(--ease);}
.share-btn svg{width:17px;height:17px;}
.share-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-2px);}
.share-btn .copied{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(4px);padding:5px 9px;border-radius:8px;background:var(--ink);color:#fff;font-family:var(--font-mono);font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s var(--ease);}
.share-btn.is-copied{background:var(--ember);border-color:var(--ember);color:#fff;}
.share-btn.is-copied .copied{opacity:1;transform:translateX(-50%) translateY(0);}
@media(max-width:1080px){.post-side .side-stick{position:static;}}

/* Home stats: icon sits left of the number instead of above it */
.stat{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:16px;row-gap:0;align-items:center;padding:clamp(20px,2.4vw,28px) clamp(18px,2.2vw,28px);}
.stat-ico{margin-bottom:0;grid-column:1;grid-row:1;align-self:center;}
.stat .num{grid-column:2;grid-row:1;font-size:clamp(2.6rem,4vw,3.6rem);}
.stat .lab{grid-column:1 / -1;grid-row:2;margin-top:14px;font-size:15.5px;line-height:1.4;text-wrap:pretty;align-self:start;}
.stat{align-content:start!important;align-items:start!important;grid-template-rows:auto auto;}
.stat-ico,.stat .num{align-self:center!important;}
.stat .lab{align-self:start!important;margin-top:14px!important;text-align:center;justify-self:stretch;}
.stat{grid-template-columns:auto auto!important;justify-content:center;}
.stat-ico{justify-self:end;}
.stat .num{justify-self:start;white-space:nowrap;}
@media(max-width:540px){.stat{grid-template-columns:40px minmax(0,1fr);column-gap:14px;}.stat-ico{width:40px;height:40px;}.stat-ico svg{width:18px;height:18px;}}

/* ===== Why Us: before / after results gallery ===== */
.results{background:var(--white);}
.res-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.res.res-lg{grid-column:span 2;}
.res{margin:0;display:flex;flex-direction:column;}
.res-frame{width:100%;box-shadow:0 30px 60px -34px rgba(6,37,59,.45);transition:transform .6s var(--ease),box-shadow .6s var(--ease);}
.res-lg .res-frame{aspect-ratio:16/10;}
.res-sm .res-frame{aspect-ratio:auto;flex:1;min-height:240px;}
@media(max-width:1080px){.res-sm .res-frame{aspect-ratio:4/3;flex:none;}}
.res:hover .res-frame{transform:translateY(-4px);box-shadow:0 44px 80px -36px rgba(6,37,59,.55);}
.res-frame .ba-img{position:absolute;inset:0;background-size:cover;background-position:center;}
.res-frame .res-after{clip-path:inset(0 0 0 var(--x));}
.res-frame .res-handle{left:var(--x);}
.res-frame .ba-lbl{top:14px;}
.res figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:12px;padding:0 4px;}
.res-svc{font-family:var(--font-mono);font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);}
.res-place{font-size:14px;color:var(--fg-dim);}
/* Results strip: navy card with the top-lit sheen, ember accents */
.res-strip{position:relative;margin-top:clamp(28px,4vw,44px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:20px;align-items:center;
  padding:26px 30px;border-radius:var(--r-lg);color:var(--bone);
  background:radial-gradient(90% 140% at 50% 0%,#0F3F62 0%,var(--ink) 65%);
  box-shadow:0 34px 70px -36px rgba(6,37,59,.6);}
.res-strip::after{content:"";position:absolute;right:-80px;top:-100px;width:300px;height:300px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(250,148,58,.25),transparent 66%);}
.res-strip > *{position:relative;z-index:1;}
.res-fact{display:flex;align-items:center;gap:14px;padding-left:0;border-left:0;}
.res-ico{flex-shrink:0;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(250,148,58,.55);background:rgba(250,148,58,.1);color:var(--ember);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 6px rgba(250,148,58,.06);}
.res-ico svg{width:20px;height:20px;}
.res-fact div{display:flex;flex-direction:column;gap:2px;}
.res-fact b{font-family:var(--font-display);font-weight:900;font-size:1.15rem;color:#fff;line-height:1.1;}
.res-fact span{font-size:14px;color:var(--bone-dim);}
.res-strip .btn{justify-self:end;}
@media(max-width:1080px){.res-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.res.res-lg{grid-column:span 2;}.res-strip{grid-template-columns:1fr 1fr;}.res-strip .btn{grid-column:1 / -1;justify-self:start;}}
@media(max-width:640px){.res-grid{grid-template-columns:minmax(0,1fr);}.res.res-lg{grid-column:auto;}.res-strip{grid-template-columns:1fr;}}

/* Results strip: gold-to-blue gradient border and a star on the left edge, like the home stats panel */
.res-strip::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;z-index:2;
  background:linear-gradient(300deg,rgba(0,112,169,.9),rgba(255,255,255,.12) 45%,rgba(250,148,58,.9));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;}
.res-strip::after{right:auto;left:-80px;border-radius:50%;}
.res-strip .res-spark{position:absolute;left:28px;top:-22px;width:44px;height:44px;color:var(--ember);filter:drop-shadow(0 0 14px rgba(250,148,58,.7));z-index:3;animation:twinkle 4s ease-in-out infinite;}
.res-strip{border-radius:var(--r-lg);}
@media(max-width:640px){.res figcaption{flex-direction:column;align-items:flex-start;gap:2px;}}

/* Insights cards render immediately; images are excluded from lazy-load in markup */
.post-feat,.post,.cat-row{opacity:1;transform:none;}
.p-media img{opacity:1;}

/* ===== Mobile pass: CTAs last, marquee without masks, smaller eyebrows ===== */
/* In two-column sections that collapse, the text column's children become grid items so the
   CTA can be ordered after the visual. Row gap is zeroed so those children keep their own
   natural spacing; the visual and the CTA get explicit top margins instead. */
@media(max-width:1080px){
  .split,.area-grid,.ba-grid,.stains-split,.steps-split,.faq-grid{row-gap:0!important;align-items:start!important;}
  .split>div:first-child,.area-grid>div:first-child,.ba-grid>div:first-child,.faq-grid>div:first-child,
  .stains-split>.stains-intro,.steps-split>.steps-intro{display:contents;}
  /* the visual (second column) */
  .split>.r-media,.split>.icard,.area-grid>.area-visual,.ba-grid>div:last-child,
  .stains-split>.stains-list,.steps-split>.steps-list,.faq-grid>.faq-list{margin-top:28px;}
  /* the CTA, last */
  .split .sec-cta,.area-grid .sec-cta,.ba-grid .ba-cta,.stains-intro .sec-cta,.steps-intro .sec-cta{order:99;margin-top:28px!important;justify-content:center;}
  .faq-grid>div:first-child>.btn{order:99;margin-top:12px!important;width:100%;justify-content:center;}
  .faq-grid>div:first-child>.btn:first-of-type{margin-top:24px!important;}
  /* text items keep tight spacing */
  .split .eyebrow,.area-grid .eyebrow,.ba-grid .eyebrow,.faq-grid .eyebrow,.stains-intro .eyebrow,.steps-intro .eyebrow{margin:0;}
  .split .h-sec,.area-grid .h-sec,.ba-grid .h-sec,.faq-grid .h-sec,.stains-intro .h-sec,.steps-intro .h-sec{margin-top:14px!important;}
  .split .lede,.area-grid .lede,.ba-grid .lede,.faq-grid .lede,.stains-intro .lede,.steps-intro .lede{margin-top:14px!important;}
  .split .body{margin-top:14px;}
  .area-grid .cities{margin-top:22px;}
  .area-grid .area-note{margin-top:18px;}
}
/* Home process: the step visual sits above the CTA on tablet/phone */
@media(max-width:980px){
  .proc-layout{row-gap:0;}
  .proc-layout>div:first-child{display:contents;}
  .proc-layout>.proc-visual{margin-top:28px;max-width:none;}
  .process .sec-cta{order:99;margin-top:28px!important;justify-content:center;}
}
/* Page heroes: fact pills before the buttons on small screens */
@media(max-width:820px){
  .ph-inner{display:flex;flex-direction:column;}
  .ph-cta{order:10;margin-top:22px;}
  .ph-facts{margin-top:22px;}
}
/* Review marquee: iOS WebKit can blank an animated layer inside a masked, clipped parent.
   Below 1080px use plain edge fades instead of a mask. */
@media(max-width:1080px){
  .rev-marquee{-webkit-mask-image:none;mask-image:none;}
  .rev-marquee::before,.rev-marquee::after{content:"";position:absolute;top:0;bottom:0;width:28px;z-index:2;pointer-events:none;}
  .rev-marquee::before{left:0;background:linear-gradient(90deg,var(--paper),rgba(239,245,250,0));}
  .rev-marquee::after{right:0;background:linear-gradient(270deg,var(--paper),rgba(239,245,250,0));}
  .rev-track{transform:translateZ(0);}
}
/* Eyebrows: tighter on phones so they hold one line */
@media(max-width:540px){
  .eyebrow{font-size:10.5px;letter-spacing:.11em;gap:10px;}
  .eyebrow::before{width:18px;}
  .page-hero .eyebrow,.hero-eyebrow{font-size:10px;letter-spacing:.1em;}
}

/* Eyebrow variants: full text on desktop, short text on phones */
.eyebrow .eb-m{display:none;}
@media(max-width:540px){.eyebrow .eb-d{display:none;}.eyebrow .eb-m{display:inline;}}
/* FAQ: larger question and answer text on phones, call button under the list */
@media(max-width:540px){
  .faq summary{font-size:22px;line-height:1.25;padding:18px 0;gap:14px;}
  .faq summary i{flex-shrink:0;}
  .faq details p{font-size:18px;line-height:1.6;}
}

/* ===== Home hero on phones: tighter eyebrow gap, pills first, CTA after the pills ===== */
.hero-cta-m{display:none;}
@media(max-width:820px){
  .hero-eyebrow{margin-bottom:10px;}
  .hero h1{margin-top:0;}
  .hero-sub{margin:16px 0 0;}
  .hero .hero-cta{display:none;}
  .hero{min-height:0;padding-bottom:28px;}
  .trust{margin-top:10px;}
  .hero-cta-m{display:flex;flex-direction:column;gap:12px;max-width:var(--maxw);margin:6px auto 0;padding:0 18px 26px;opacity:1;}
  .hero-cta-m .btn{width:100%;justify-content:center;}
  .hero-cta-m .btn-call{display:inline-flex;}
}
@media(max-width:540px){
  .trust-inner{grid-auto-rows:1fr;align-items:stretch;}
  .badge{min-height:46px;line-height:1.25;}
  .badge .bx{display:none;}
  .hero-eyebrow{margin-bottom:8px;}
}

/* ===== Why Us: featured video above the before/after gallery ===== */
.res-video{margin:0 0 26px;}
.res-video-frame{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;background:var(--ink);border:1px solid var(--line);
  box-shadow:0 34px 70px -36px rgba(6,37,59,.55);}
.res-video-frame video{display:block;width:100%;height:100%;object-fit:cover;background:var(--ink);}
.res-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;border:0;cursor:pointer;
  background:var(--ember);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 10px rgba(250,148,58,.22),0 20px 40px -14px rgba(250,148,58,.85);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),opacity .3s,visibility 0s;}
.res-play svg{width:34px;height:34px;margin-left:4px;}
.res-play:hover{transform:translate(-50%,-50%) scale(1.06);box-shadow:0 0 0 14px rgba(250,148,58,.18),0 26px 48px -14px rgba(250,148,58,.9);}
.res-play.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,visibility 0s .3s;}
.res-video figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:12px;padding:0 4px;}
@media(max-width:640px){.res-play{width:64px;height:64px;}.res-play svg{width:26px;height:26px;}.res-video figcaption{flex-direction:column;gap:2px;}}
@media(prefers-reduced-motion:reduce){.res-play,.res-play:hover{transition:none;transform:translate(-50%,-50%);}}

/* ===== Past Jobs: archive page, single job template, job cards ===== */
/* Archive hero photo */
.ph-jobs{background-image:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-bg-past-jobs-v4.webp');}

/* Single job: navy hero with the top-lit sheen, copy + 3×2 stat tiles left, job photo right */
.job-hero{position:relative;overflow:clip;padding:clamp(190px,16vw,240px) 0 clamp(72px,8vw,112px);
  background:radial-gradient(90% 120% at 50% 0%,#0F3F62 0%,var(--ink) 60%);}
/* Pattern layer under the copy and photo (hero-pattern-jobs.webp). Screen blend keeps the navy and lets only the
   light strokes through; opacity is the one knob — raise for more pattern, lower if it fights the headline. */
.job-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.28;mix-blend-mode:screen;
  background:url('https://dev7.perspectiveproductions.net/wp-content/uploads/2026/09/hero-pattern-jobs.webp') center/cover no-repeat;}
.job-hero .job-glow{z-index:0;}
.job-glow{position:absolute;right:-12vw;bottom:-30%;width:60vw;height:60vw;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(250,148,58,.16),transparent 62%);}
.job-hero .wrap{position:relative;z-index:1;}
.job-hero .crumbs{color:var(--bone-dim);}
.job-hero .crumbs a{color:#7CC4E8;}
.job-hero .crumbs a:hover{color:var(--ember);}
.job-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:"copy media" "stats media";
  column-gap:clamp(36px,5vw,72px);row-gap:clamp(28px,3vw,40px);align-items:start;}
.job-copy{grid-area:copy;}
.job-hero h1.job-title{margin-top:18px;color:#fff;font-size:clamp(38px,3.9vw,56px);line-height:1.06;letter-spacing:-.01em;text-transform:none;text-wrap:balance;}
.job-hero .lede{margin-top:22px;color:#D9E3EC;max-width:50ch;text-wrap:pretty;}
.job-media{grid-area:media;align-self:stretch;position:relative;margin:0;min-height:440px;border-radius:var(--r-lg);overflow:hidden;
  background:linear-gradient(135deg,var(--slate-2),var(--ink));border:1px solid rgba(243,248,252,.16);box-shadow:0 44px 90px -40px rgba(0,0,0,.75);}
.job-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.job-media.is-empty{display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.35);}
.job-media.is-empty>svg{width:60px;height:60px;}
.job-media .city-tag{position:absolute;left:18px;bottom:18px;z-index:2;display:inline-flex;align-items:center;gap:9px;padding:9px 15px;border-radius:999px;line-height:1;
  font-family:var(--font-mono);font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(6,37,59,.72);backdrop-filter:blur(3px);}
.job-media .city-tag i{width:8px;height:8px;border-radius:50%;background:var(--ember);}
.job-stats{grid-area:stats;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.job-stat{position:relative;display:flex;align-items:center;gap:12px;min-height:88px;padding:16px 18px;border-radius:16px;
  background:rgba(6,37,59,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(243,248,252,.16);
  box-shadow:0 18px 36px -24px rgba(0,0,0,.7);transition:transform .5s var(--ease),border-color .5s var(--ease),background .5s var(--ease);}
.js-txt{display:flex;flex-direction:column;gap:6px;min-width:0;}
.js-lbl{display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bone-dim);line-height:1.2;}
.js-val{font-family:var(--font-display);font-weight:900;font-size:18px;line-height:1.2;color:#fff;overflow-wrap:anywhere;}
.js-val a{color:#fff;text-decoration:underline;text-decoration-color:rgba(250,148,58,.7);text-decoration-thickness:2px;text-underline-offset:4px;transition:color .3s;}
.js-val a:hover{color:var(--ember);}
.js-val small{display:block;margin-top:3px;font-family:var(--font-body);font-weight:700;font-size:13px;color:var(--bone-dim);}
.js-lbl svg{width:15px;height:15px;flex-shrink:0;color:var(--ember);}
.job-pips{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;margin-left:6px;}
.job-pips i{width:8px;height:8px;border-radius:50%;background:rgba(6,37,59,.14);}
.job-pips i.on{background:var(--ember);}
.job-hero .job-pips i{background:rgba(255,255,255,.2);}
.job-hero .job-pips i.on{background:var(--ember);box-shadow:0 0 8px rgba(250,148,58,.6);}

/* Job story: heading left (sticky), write-up right */
.job-story{padding:clamp(64px,8vw,112px) 0;}
.job-story-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.5fr);gap:clamp(36px,6vw,90px);align-items:start;}
.job-story-head{position:sticky;top:130px;}
.job-story-head .h-sec{margin-top:16px;font-size:var(--fs-h2-sm);line-height:1.04;}
.job-story .prose{max-width:720px;}
.job-story .prose>:first-child{margin-top:0;}

/* From the experts: heading + lede left, check-mark card right */
.job-hl{padding:clamp(64px,8vw,112px) 0 clamp(90px,11vw,140px);}
.job-hl-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,3.5vw,48px);align-items:center;}
.job-hl-intro .h-sec{margin-top:16px;font-size:var(--fs-h2-sm);line-height:1.04;}
.job-hl-intro .lede{margin-top:18px;max-width:none;}
.job-hl-list{position:relative;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(26px,3.2vw,40px);
  box-shadow:0 26px 50px -32px rgba(6,37,59,.42);}
.job-hl-list::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--blue) 0%,var(--blue) 55%,var(--ember) 55%,var(--ember) 100%);}
.job-hl-list .checks{margin-top:0;gap:16px;}
.job-hl-list .checks li{font-size:var(--fs-body);line-height:1.55;color:var(--fg);}
.job-hl-list .checks li svg{background:var(--ember-soft);color:var(--ember-deep);margin-top:3px;}
@media(max-width:1080px){.job-hl-grid{grid-template-columns:minmax(0,1fr);align-items:start;}}

/* Fix (shared with Insights): the "elevated blog cards" rule above sets two columns on .post-feat
   outside a media query, which overrode the ≤1080px collapse. Stack the featured card again. */
@media(max-width:1080px){.post-feat{grid-template-columns:minmax(0,1fr);}}
/* Sparse job (no highlight section): tighten the gap between the write-up and "More jobs" */
.job-story + .job-more{padding-top:clamp(8px,2vw,24px);}

.post-feat .p-meta,.post .p-meta{flex-wrap:wrap;row-gap:6px;}
.post-feat .p-meta>span,.post .p-meta>span{white-space:nowrap;}

/* Job cards (archive grid + "More jobs") */
.job-more{padding:clamp(64px,8vw,112px) 0 clamp(90px,11vw,140px);}
.job-more .sec-head{margin-bottom:clamp(28px,4vw,44px);}
.jc-facts{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:16px;font-family:var(--font-mono);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);}
.jc-fact{display:inline-flex;align-items:center;gap:7px;}
.jc-fact svg{width:15px;height:15px;color:var(--blue);}
.jc-fact .job-pips{margin-left:0;}
.jc-fact b{font-weight:800;color:var(--ink);}
.job-feat .jc-facts{margin-top:22px;}
.job-card .p-media>svg,.job-feat .p-media>svg{width:48px;height:48px;}

@media(max-width:1180px){
  .job-hero-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "media" "stats";}
  .job-media{aspect-ratio:16/9;min-height:0;}
}
@media(max-width:1080px){
  .job-story-grid{grid-template-columns:minmax(0,1fr);}
  .job-story-head{position:static;}
}
@media(max-width:820px){.job-hero{padding-top:148px;}.job-hero .lede{max-width:none;}}
@media(max-width:540px){
  .job-hero{padding:118px 0 56px;}
  .job-hero h1.job-title{font-size:32px;line-height:1.1;}
  .job-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .job-stat{min-height:0;padding:14px;}
  .js-lbl{font-size:10px;letter-spacing:.08em;white-space:normal;}
  .js-val{font-size:17px;}
  .job-stat:nth-child(odd):last-child{grid-column:1 / -1;}
  .job-story,.job-hl,.job-more{padding-top:56px;padding-bottom:84px;}
}