/* ============================================================
   AMPRITE ELECTRIC - DESIGN SYSTEM V2
   Luxury editorial: deep pine green, champagne gold, cream.
   Light gold (#c9a35c) lives on dark surfaces only.
   Deep gold (#8a6a3b) lives on light surfaces only.
   Footer sits on its own charcoal-green surface.
   ============================================================ */

:root{
  --ink:#13241b;
  --pine:#0a2619;          /* dark band surface */
  --pine-2:#0e3322;        /* dark band alt / glance */
  --forest:#16452c;
  --emerald:#1f7a3c;       /* logo green accent */
  --gold:#c9a35c;          /* gold on dark */
  --gold-deep:#8a6a3b;     /* gold on light */
  --champagne:#e9dcbe;
  --cream:#f4efe3;
  --alabaster:#fbf9f3;
  --paper:#ffffff;
  --line:#e3dcc8;
  --line-dark:rgba(233,220,190,.16);
  --muted:#5d6b60;
  --footer-bg:#101511;     /* charcoal green, distinct from pine */
  --shadow:0 24px 60px rgba(10,38,25,.16);
  --shadow-sm:0 10px 30px rgba(10,38,25,.10);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',system-ui,Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--paper);font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.wrap-narrow{max-width:900px;margin:0 auto;padding:0 28px}

h1,h2,h3,.serif{font-family:var(--serif);font-weight:500;line-height:1.12;letter-spacing:.01em}
h1{font-size:clamp(2.6rem,5.6vw,4.6rem)}
h2{font-size:clamp(2.1rem,3.8vw,3.2rem)}
h3{font-size:1.55rem}
h1 em,h2 em,h3 em{font-style:italic;color:var(--gold)}
.on-light h1 em,.on-light h2 em,.on-light h3 em{color:var(--gold-deep)}
p.lead{font-size:1.2rem;line-height:1.8}

/* Reveal on scroll */
.rv{opacity:1;transform:none;transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* Eyebrow labels */
.eyebrow{display:inline-flex;align-items:center;gap:16px;font-size:.76rem;letter-spacing:.34em;text-transform:uppercase;font-weight:400;color:var(--gold-deep)}
.eyebrow::before{content:"";display:inline-block;width:46px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.eyebrow.lined::after{content:"";display:inline-block;width:46px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.band-dark .eyebrow,.hero .eyebrow,.cta-band .eyebrow,.why-band .eyebrow{color:var(--gold)}

/* Buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:12px;font-family:var(--sans);font-size:.8rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:18px 36px;border:1px solid transparent;cursor:pointer;transition:all .35s var(--ease);overflow:hidden}
.btn .ar{display:inline-block;width:22px;height:1px;background:currentColor;position:relative;transition:width .35s var(--ease)}
.btn .ar::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.btn:hover .ar{width:34px}
.btn-gold{background:var(--gold);color:#fff}
.btn-gold:hover{background:#b8924e;box-shadow:0 10px 24px rgba(201,163,92,.35);transform:translateY(-2px)}
.btn-outline{border-color:rgba(255,255,255,.5);color:#fff}
.btn-outline:hover{background:rgba(255,255,255,.08);border-color:var(--gold);color:var(--gold)}
.on-light .btn-outline{border-color:var(--gold-deep);color:var(--gold-deep)}
.on-light .btn-outline:hover{background:var(--gold-deep);color:#fff}
.btn-ghost{color:var(--pine);border-color:var(--pine)}
.btn-ghost:hover{background:var(--pine);color:#fff;transform:translateY(-2px)}

/* Section bands */
.band{padding:110px 0;position:relative}
.band-dark{background:var(--pine);color:#f2eee0}
.band-dark::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 420px at 85% -10%,rgba(201,163,92,.10),transparent 60%);pointer-events:none}
.band-dark h2,.band-dark h3{color:#fff}
.band-dark p{color:rgba(242,238,224,.82)}
.band-white{background:var(--paper)}
.band-cream{background:var(--cream)}
.band-alabaster{background:var(--alabaster)}
.band-head{max-width:760px;margin-bottom:64px}
.band-head.center{margin-left:auto;margin-right:auto;text-align:center}
.band-head.center .eyebrow{justify-content:center}
.band-head h2{margin-top:20px}
.band-head p{margin-top:20px;color:var(--muted)}
.band-dark .band-head p{color:rgba(242,238,224,.76)}

/* Top microbar */
.microbar{background:var(--pine);color:rgba(242,238,224,.85);font-size:.78rem;letter-spacing:.08em;padding:10px 0;border-bottom:1px solid var(--line-dark)}
.microbar .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.microbar a{color:var(--gold);font-weight:400}
.microbar a:hover{color:#fff}
.microbar .mb-phones{display:flex;gap:26px;flex-wrap:wrap}

/* Header / navigation */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:18px;height:88px}
.brand{display:flex;align-items:center;gap:15px;flex-shrink:0}
.site-header:not(.scrolled) .brand img{filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}
.brand img{height:48px;width:auto}
.brand-text{display:flex;flex-direction:column;line-height:1.12}
.brand-text .bt-name{font-family:var(--serif);font-size:1.32rem;font-weight:600;color:var(--pine);line-height:1.02}
.brand-text .bt-tag{font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-deep)}
.main-nav{display:flex;align-items:center;gap:2px}
.main-nav>li{position:relative}
.main-nav>li>a,.main-nav>li>button{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-size:.79rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:none;border:0;padding:11px 12px;cursor:pointer;position:relative;transition:color .25s}
.main-nav>li>a::after,.main-nav>li>button::after{content:"";position:absolute;left:15px;right:100%;bottom:4px;height:1px;background:var(--gold-deep);transition:right .35s var(--ease)}
.main-nav>li>a:hover::after,.main-nav>li>button:hover::after,.main-nav>li.active>a::after,.main-nav>li.active>button::after{right:15px}
.main-nav>li>a:hover,.main-nav>li>button:hover,.main-nav>li.active>a,.main-nav>li.active>button{color:var(--gold-deep)}
.caret{width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(16px);background:var(--pine);min-width:290px;padding:30px 34px;opacity:0;visibility:hidden;transition:all .3s var(--ease);box-shadow:var(--shadow);border-top:2px solid var(--gold)}
.dropdown.mega{min-width:740px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 40px;align-content:start}
.dd-open .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(8px)}
.dd-col{min-width:0}
.dd-label{font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:0 0 9px;padding-top:16px}
.dd-col:first-child .dd-label:first-child,.dropdown>.dd-label:first-child{padding-top:0}
.dd-col .dd-label:first-child{padding-top:0}
.dropdown a{display:block;font-family:var(--serif);font-size:1.05rem;color:rgba(255,255,255,.9);padding:6px 0;transition:color .25s,padding-left .25s}
.dropdown a:hover{color:var(--gold);padding-left:6px}
.dropdown .dd-all{margin-top:16px;font-family:var(--sans);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.dropdown.mega .dd-all{grid-column:1/-1;border-top:1px solid var(--line-dark);padding-top:16px}
.dropdown.mega .dd-emergency{grid-column:1/-1;margin-top:18px;display:block;background:var(--emergency);color:#fff;font-family:var(--sans);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;text-align:center;padding:12px 16px;border-radius:3px;transition:filter .2s}
.dropdown.mega .dd-emergency:hover{filter:brightness(1.12);color:#fff;padding-left:16px}
.drawer .dw-emergency{display:block;background:var(--emergency);color:#fff;text-align:center;font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;padding:12px 14px;border-radius:3px;margin:14px 0 4px}
.drawer .dw-emergency:hover{filter:brightness(1.12);color:#fff}
.nav-cta{margin-left:10px;display:flex;align-items:center;gap:9px;flex-shrink:0}
.nav-cta .btn{padding:13px 18px;font-size:.74rem;letter-spacing:.09em;white-space:nowrap}

/* Mobile drawer */
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:10px}
.nav-toggle span{display:block;width:26px;height:2px;background:var(--pine);margin:6px 0;transition:.3s}
.drawer{position:fixed;inset:0;background:var(--pine);z-index:100;padding:34px 30px 70px;overflow-y:auto;transform:translateX(100%);transition:transform .4s var(--ease)}
.drawer.open{transform:translateX(0)}
.drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.drawer-top img{height:38px}
.drawer-close{background:none;border:1px solid rgba(255,255,255,.4);color:#fff;font-size:1.15rem;width:46px;height:46px;cursor:pointer;line-height:1}
.drawer .dw-label{font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:28px 0 6px}
.drawer a{display:block;font-family:var(--serif);font-size:1.22rem;color:#fff;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.drawer a:hover{color:var(--gold)}
.drawer .dw-call{margin-top:34px;text-align:center}

/* ============ HERO SLIDER ============ */
.hero{position:relative;min-height:86vh;display:flex;align-items:center;color:#fff;background:var(--pine);overflow:hidden}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease;z-index:0}
.hero-slide.on{opacity:1;z-index:1}
.hero-slide .hs-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1);transition:transform 9s linear}
.hero-slide.on .hs-bg{transform:scale(1.05)}
.hero-veil{position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,26,17,.93) 0%,rgba(7,26,17,.7) 46%,rgba(7,26,17,.32) 100%);z-index:2;pointer-events:none}
.hero-inner{position:relative;z-index:3;padding:130px 0 210px;width:100%}
.hero-copy{position:relative;min-height:330px}
.hero-text{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .9s var(--ease),transform .9s var(--ease),visibility .9s}
.hero-text.on{opacity:1;visibility:visible;transform:none}
.hero h1,.hero .h1{font-family:var(--serif);font-weight:500;line-height:1.1;font-size:clamp(2.6rem,5.6vw,4.6rem);max-width:900px;margin-top:24px;color:#fff;text-shadow:0 2px 22px rgba(0,0,0,.4)}
.hero p{max-width:600px;margin-top:26px;font-size:1.16rem;color:rgba(255,255,255,.94);text-shadow:0 1px 12px rgba(0,0,0,.5)}
.hero-ctas{display:flex;gap:18px;margin-top:40px;flex-wrap:wrap}
/* editorial text arrows */
.txt-arrow{position:absolute;top:50%;z-index:4;background:none;border:0;color:#fff;font-family:var(--sans);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;padding:14px 6px}
.txt-arrow::before{content:"";display:block;width:54px;height:1px;background:rgba(255,255,255,.7);margin-bottom:9px;transition:width .35s var(--ease),background .35s}
.txt-arrow:hover::before{width:84px;background:var(--gold)}
.txt-arrow:hover{color:var(--gold)}
.txt-arrow.prev{left:34px}
.txt-arrow.next{right:34px;text-align:right}
.txt-arrow.next::before{margin-left:auto}
.hero-count{position:absolute;right:40px;bottom:120px;z-index:4;font-family:var(--serif);font-style:italic;font-size:1.1rem;color:rgba(255,255,255,.8);letter-spacing:.12em}
.hero-count b{font-size:1.6rem;color:var(--gold);font-weight:500}

/* Inline quote bar overlapping hero bottom */
.quote-bar{position:relative;z-index:6;margin-top:-86px}
.quote-bar form{background:#fff;border-top:3px solid var(--gold);box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr 1.15fr 1.15fr auto;align-items:stretch}
.quote-bar .qb-field{padding:24px 26px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px;transition:background .3s}
.quote-bar .qb-field:focus-within{background:var(--alabaster)}
.quote-bar label{font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-deep)}
.quote-bar input,.quote-bar select{border:0;outline:0;font-family:var(--sans);font-size:1.02rem;font-weight:300;color:var(--ink);background:transparent}
.quote-bar button{border:0;border-radius:0}
.qb-note{text-align:center;font-size:.78rem;letter-spacing:.06em;color:var(--muted);margin-top:14px}

/* ============ SERVICES STAGE SLIDER (fixed three panes) ============ */
.svc-stage{position:relative;margin-top:64px}
.stage-row{position:relative;display:flex;align-items:center;justify-content:center;min-height:540px}
.stage-pane{position:absolute;overflow:hidden;cursor:pointer;background:var(--pine-2)}
.stage-pane img{width:100%;height:100%;object-fit:cover;transition:opacity .5s ease,transform 6s linear}
.stage-pane:hover img{transform:scale(1.04)}
.stage-side{top:50%;transform:translateY(-50%);width:17%;height:72%;opacity:.85;transition:opacity .3s}
.stage-side:hover{opacity:1}
.stage-side.left{left:0}
.stage-side.right{right:0}
.stage-center{position:relative;width:62%;height:540px;margin:0 auto;box-shadow:var(--shadow);cursor:default}
.stage-cap{position:absolute;left:0;bottom:0;max-width:78%;padding:26px 34px;background:rgba(7,26,17,.72);backdrop-filter:blur(8px);border-top:1px solid rgba(201,163,92,.4);border-right:1px solid rgba(201,163,92,.4)}
.stage-cap .st-tag{font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.stage-cap h3{font-size:1.9rem;color:#fff;margin-top:6px}
.stage-cap a{display:inline-flex;align-items:center;gap:10px;margin-top:12px;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.stage-cap a .ar{display:inline-block;width:26px;height:1px;background:var(--gold);position:relative}
.stage-cap a .ar::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid var(--gold);border-right:1px solid var(--gold);transform:rotate(45deg)}
.stage-nav{display:flex;justify-content:center;gap:120px;margin-top:30px}
.stage-nav .txt-arrow{position:static;color:var(--ink)}
.band-dark .stage-nav .txt-arrow{color:#fff}
.stage-nav .txt-arrow::before{background:var(--gold-deep)}
.stage-count{text-align:center;font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--muted);margin-top:8px}
.stage-count b{color:var(--gold-deep);font-size:1.4rem;font-weight:500}

/* Breadcrumbs */
.crumbs{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.75);display:flex;gap:10px;flex-wrap:wrap}
.crumbs a:hover{color:var(--gold)}
.crumbs span{color:var(--gold)}

/* Glance bar (service pages) */
.glance{background:var(--pine-2);color:#fff;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.glance .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.glance-cell{padding:30px 32px;border-right:1px solid var(--line-dark)}
.glance-cell:last-child{border-right:0}
.glance-cell .g-label{font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.glance-cell .g-value{font-family:var(--serif);font-size:1.2rem;margin-top:6px}
.glance-cell a{border-bottom:1px solid var(--gold)}
.glance-cell a:hover{color:var(--gold)}

/* Cards / service grid */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.svc-card{position:relative;background:var(--paper);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s}
.svc-card::after{content:"";position:absolute;top:14px;right:14px;width:26px;height:26px;border-top:1px solid var(--gold);border-right:1px solid var(--gold);opacity:0;transition:opacity .4s}
.svc-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:var(--gold)}
.svc-card:hover::after{opacity:1}
.svc-card .sc-img{height:235px;overflow:hidden;background:var(--pine-2)}
.svc-card .sc-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.svc-card:hover .sc-img img{transform:scale(1.07)}
.svc-card .sc-body{padding:30px 30px 32px;display:flex;flex-direction:column;flex:1}
.svc-card .sc-tag{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-deep)}
.svc-card h3{margin:10px 0 12px}
.svc-card p{font-size:.97rem;color:var(--muted);flex:1}
.svc-card .sc-link{margin-top:22px;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);display:inline-flex;align-items:center;gap:11px}
.svc-card .sc-link::after{content:"";width:34px;height:1px;background:var(--gold);transition:width .35s var(--ease)}
.svc-card:hover .sc-link::after{width:58px}

/* Image-split sections */
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.split.rev .split-media{order:2}
.split-media{position:relative}
.split-media img{width:100%;height:520px;object-fit:cover;position:relative;z-index:1}
.split-frame::after{content:"";position:absolute;top:20px;left:20px;right:-20px;bottom:-20px;border:1px solid var(--gold);z-index:0;pointer-events:none}
.split-frame::before{content:"";position:absolute;left:-14px;bottom:-14px;width:90px;height:90px;background:linear-gradient(135deg,var(--gold),transparent 70%);opacity:.35;z-index:0}
.split-body h2{margin:18px 0 24px}
.split-body p{color:var(--muted);margin-bottom:16px}
.band-dark .split-body p{color:rgba(242,238,224,.8)}
.split-body .btn{margin-top:16px}
.fact-card{background:var(--pine);color:#fff;padding:32px 34px;margin-top:28px;border-left:3px solid var(--gold);transition:transform .35s var(--ease)}
.fact-card:hover{transform:translateX(6px)}
.fact-card .fc-label{font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.fact-card .fc-value{font-family:var(--serif);font-size:1.5rem;margin-top:6px;color:#fff;display:block}

/* Photo pair */
.photo-pair{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;align-items:stretch}
.photo-pair img{width:100%;height:430px;object-fit:cover}
.photo-pair figure{position:relative;overflow:hidden}
.photo-pair figcaption{position:absolute;left:0;right:0;bottom:0;padding:42px 24px 18px;background:linear-gradient(to top,rgba(7,26,17,.85),transparent);color:#fff;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase}

/* Checklist */
.check-list li{display:flex;gap:15px;padding:10px 0;font-size:1.03rem;align-items:flex-start;border-bottom:1px dashed var(--line)}
.check-list li:last-child{border-bottom:0}
.check-list li svg{flex-shrink:0;margin-top:8px}
.band-dark .check-list li{border-color:var(--line-dark)}

/* Numbered process / pillars */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.process.three{grid-template-columns:repeat(3,1fr)}
.step{position:relative;padding-top:8px}
.step .st-num{font-family:var(--serif);font-style:italic;font-size:5rem;line-height:1;color:transparent;-webkit-text-stroke:1px var(--gold);transition:color .4s}
.step:hover .st-num{color:var(--gold)}
.step h3{margin:16px 0 10px;font-size:1.32rem}
.step p{font-size:.96rem;color:var(--muted)}
.band-dark .step p{color:rgba(242,238,224,.78)}

/* Benefits grid with numerals */
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line)}
.benefit{padding:38px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .35s}
.benefit:hover{background:var(--alabaster)}
.benefit:nth-child(3n){border-right:0}
.benefit .b-num{font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--gold-deep)}
.benefit h3{font-size:1.25rem;margin:10px 0 8px}
.benefit p{font-size:.94rem;color:var(--muted)}

/* Icon feature grid */
.icon-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:36px 46px}
.icon-grid.four{grid-template-columns:repeat(4,1fr)}
.feat .ft-icon{width:58px;height:58px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gold);margin-bottom:20px;transition:background .35s,transform .35s}
.feat:hover .ft-icon{background:rgba(201,163,92,.12);transform:translateY(-4px)}
.feat h3{font-size:1.22rem;margin-bottom:8px}
.feat p{font-size:.95rem;color:var(--muted)}
.band-dark .feat p,.why-band .feat p{color:rgba(242,238,224,.78)}
.band-dark .feat h3,.why-band .feat h3{color:#fff}

/* Why-choose band */
.why-band{position:relative;color:#fff;padding:120px 0}
.why-band .wb-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.why-band .wb-veil{position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,26,17,.94),rgba(7,26,17,.82))}
.why-band .wrap{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.why-band h2{color:#fff}
.why-band p{color:rgba(242,238,224,.85)}

/* Marquee strip */
.marquee{background:var(--pine);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);overflow:hidden;padding:24px 0}
.marquee-track{display:flex;white-space:nowrap;animation:marquee 40s linear infinite;width:max-content}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track span{font-family:var(--serif);font-style:italic;font-size:1.55rem;color:rgba(242,238,224,.8)}
.marquee-track span::after{content:"";display:inline-block;width:7px;height:7px;background:var(--gold);border-radius:50%;margin:0 36px;vertical-align:middle}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Trusted-by strip */
.trusted{padding:64px 0;background:var(--alabaster);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trusted .t-label{text-align:center;font-size:.68rem;letter-spacing:.34em;text-transform:uppercase;color:var(--muted);margin-bottom:30px}
.trusted-names{display:flex;flex-wrap:wrap;justify-content:center;gap:20px 52px}
.trusted-names span{font-family:var(--serif);font-size:1.3rem;color:var(--forest);opacity:.8;transition:opacity .3s}
.trusted-names span:hover{opacity:1}

/* FAQ */
.faq{max-width:840px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line);padding:8px 0;transition:background .3s}
.band-dark .faq details{border-color:var(--line-dark)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:22px;cursor:pointer;list-style:none;font-family:var(--serif);font-size:1.32rem;padding:20px 0}
.faq summary:hover{color:var(--gold-deep)}
.band-dark .faq summary:hover{color:var(--gold)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .plus{flex-shrink:0;width:32px;height:32px;border:1px solid var(--gold);position:relative;transition:background .3s}
.faq details[open] summary .plus{background:var(--gold)}
.faq summary .plus::before,.faq summary .plus::after{content:"";position:absolute;background:var(--gold);top:50%;left:50%;transform:translate(-50%,-50%)}
.faq details[open] summary .plus::before,.faq details[open] summary .plus::after{background:#fff}
.faq summary .plus::before{width:12px;height:1px}
.faq summary .plus::after{width:1px;height:12px;transition:.25s}
.faq details[open] summary .plus::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.faq details p{padding:0 50px 24px 0;color:var(--muted)}
.band-dark .faq details p{color:rgba(242,238,224,.78)}

/* ============ CASE STUDIES (project gallery) ============ */
.case{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:center;padding:70px 0;border-bottom:1px solid var(--line)}
.case:last-of-type{border-bottom:0}
.case.rev .case-media{order:2}
.case-media{position:relative;overflow:hidden}
.case-media img{width:100%;height:460px;object-fit:cover;transition:transform .8s var(--ease)}
.case:hover .case-media img{transform:scale(1.04)}
.case-media .cm-tag{position:absolute;top:0;left:0;background:var(--pine);color:var(--gold);font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;padding:12px 20px}
.case-num{font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--gold-deep)}
.case-body h3{font-size:2rem;margin:10px 0 16px}
.case-body p{color:var(--muted)}
.case-facts{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:26px;border:1px solid var(--line)}
.case-facts div{padding:16px 20px;border-right:1px solid var(--line)}
.case-facts div:last-child{border-right:0}
.case-facts .cf-label{font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-deep);display:block}
.case-facts .cf-value{font-family:var(--serif);font-size:1.1rem}
.case-body .case-link{display:inline-flex;align-items:center;gap:11px;margin-top:24px;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep)}
.case-body .case-link::after{content:"";width:36px;height:1px;background:var(--gold);transition:width .35s}
.case-body .case-link:hover::after{width:60px}

/* Project cards */
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.proj-card{position:relative;overflow:hidden;height:350px;display:block}
.proj-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.proj-card:hover img{transform:scale(1.07)}
.proj-card .pc-cap{position:absolute;left:0;right:0;bottom:0;padding:52px 28px 24px;background:linear-gradient(to top,rgba(7,26,17,.94),transparent);color:#fff}
.proj-card .pc-cap .pc-tag{font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.proj-card .pc-cap h3{font-size:1.28rem;margin-top:5px;color:#fff}
.proj-card::after{content:"";position:absolute;inset:14px;border:1px solid rgba(201,163,92,.0);transition:border-color .4s;pointer-events:none}
.proj-card:hover::after{border-color:rgba(201,163,92,.55)}

/* CTA band */
.cta-band{position:relative;color:#fff;padding:120px 0;text-align:center}
.cta-band .cb-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.cta-band .cb-veil{position:absolute;inset:0;background:rgba(7,26,17,.9)}
.cta-band .wrap{position:relative}
.cta-band h2{max-width:780px;margin:20px auto 0;color:#fff}
.cta-band p{max-width:580px;margin:22px auto 0;color:rgba(242,238,224,.85)}
.cta-band .hero-ctas{justify-content:center}
.cta-band .cb-phone{display:inline-block;font-family:var(--serif);font-size:2.3rem;color:var(--gold);margin-top:28px;border-bottom:1px solid rgba(201,163,92,.4);transition:border-color .3s}
.cta-band .cb-phone:hover{border-color:var(--gold)}

/* Editorial keyword section */
.editorial p{color:var(--muted);margin-bottom:16px}
.band-dark .editorial p{color:rgba(242,238,224,.8)}
.editorial a{color:var(--gold-deep);border-bottom:1px solid var(--gold)}
.band-dark .editorial a{color:var(--gold)}
.area-chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.area-chips a{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--line);padding:11px 20px;color:var(--ink);transition:.3s}
.area-chips a:hover{border-color:var(--gold);color:var(--gold-deep);transform:translateY(-2px)}
.band-dark .area-chips a{border-color:var(--line-dark);color:#fff}
.band-dark .area-chips a:hover{border-color:var(--gold);color:var(--gold)}

/* Related services */
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.rel-card{position:relative;border:1px solid var(--line);padding:34px;transition:.35s var(--ease);display:block;background:var(--paper)}
.rel-card::after{content:"";position:absolute;left:34px;bottom:24px;width:30px;height:1px;background:var(--gold);transition:width .35s}
.rel-card:hover::after{width:56px}
.rel-card:hover{border-color:var(--gold);transform:translateY(-5px);box-shadow:var(--shadow-sm)}
.rel-card .rc-tag{font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-deep)}
.rel-card h3{font-size:1.3rem;margin:8px 0 22px}

/* Team */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.team-card{background:#fff;border:1px solid var(--line);text-align:center;overflow:hidden;transition:.35s var(--ease)}
.team-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-sm);border-color:var(--gold)}
.team-card .tc-photo{height:280px;overflow:hidden;background:var(--cream)}
.team-card .tc-photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%;transition:transform .6s var(--ease)}
.team-card:hover .tc-photo img{transform:scale(1.05)}
.team-card .tc-body{padding:26px 22px 30px}
.team-card h3{font-size:1.3rem}
.team-card .tc-role{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep);margin-top:6px;display:block}
.team-card .tc-phone{display:block;margin-top:12px;font-size:.92rem;color:var(--muted)}
.team-card .tc-phone:hover{color:var(--gold-deep)}

/* Timeline */
.timeline{position:relative;max-width:880px;margin:0 auto}
.timeline::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:1px;background:linear-gradient(var(--gold),rgba(201,163,92,.2))}
.tl-item{position:relative;padding:0 0 48px 52px}
.tl-item::before{content:"";position:absolute;left:2px;top:8px;width:13px;height:13px;background:var(--cream);border:1px solid var(--gold);transition:background .3s}
.tl-item:hover::before{background:var(--gold)}
.tl-item .tl-year{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-deep)}
.tl-item h3{margin:6px 0 8px}
.tl-item p{color:var(--muted)}

/* ============ CUSTOMER LIST V2 ============ */
.cust-acc{max-width:980px;margin:0 auto}
.cust-acc details{border:1px solid var(--line);margin-bottom:14px;background:#fff;transition:border-color .3s}
.cust-acc details:hover{border-color:var(--gold)}
.cust-acc summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;padding:24px 30px}
.cust-acc summary::-webkit-details-marker{display:none}
.cust-acc summary .ca-title{display:flex;align-items:baseline;gap:18px;flex:1}
.cust-acc summary .ca-num{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--gold-deep)}
.cust-acc summary h3{font-size:1.4rem}
.cust-acc summary .ca-count{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-align:right;min-width:118px}
.cust-acc summary .plus{flex-shrink:0;width:30px;height:30px;border:1px solid var(--gold);position:relative}
.cust-acc details[open] summary .plus{background:var(--gold)}
.cust-acc summary .plus::before,.cust-acc summary .plus::after{content:"";position:absolute;background:var(--gold);top:50%;left:50%;transform:translate(-50%,-50%)}
.cust-acc details[open] summary .plus::before,.cust-acc details[open] summary .plus::after{background:#fff}
.cust-acc summary .plus::before{width:12px;height:1px}
.cust-acc summary .plus::after{width:1px;height:12px}
.cust-acc details[open] summary .plus::after{opacity:0}
.cust-acc .ca-body{padding:0 30px 28px;columns:3;column-gap:40px}
.cust-acc .ca-body li{font-size:.93rem;color:var(--muted);padding:5px 0;break-inside:avoid;border-bottom:1px dashed var(--line)}

/* Forms (contact page) */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.form-grid .full{grid-column:1/-1}
.field label{display:block;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:9px}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fff;padding:16px 17px;font-family:var(--sans);font-size:1rem;font-weight:300;color:var(--ink);outline:0;transition:border-color .3s,box-shadow .3s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,163,92,.15)}
.contact-cols{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;align-items:start}
.contact-info-card{background:var(--pine);color:#fff;padding:46px 42px;border-top:3px solid var(--gold)}
.contact-info-card .ci-row{padding:17px 0;border-bottom:1px solid var(--line-dark)}
.contact-info-card .ci-row:last-child{border-bottom:0}
.contact-info-card .ci-label{font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.contact-info-card .ci-value{font-family:var(--serif);font-size:1.28rem;margin-top:4px}
.contact-info-card a{color:#fff}
.contact-info-card a:hover{color:var(--gold)}
.form-note{font-size:.85rem;color:var(--muted);margin-top:16px}

/* ============ FOOTER (own surface) ============ */
.site-footer{background:var(--footer-bg);color:rgba(242,238,224,.75);padding:90px 0 0;border-top:3px solid var(--gold)}
.footer-grid{display:grid;grid-template-columns:1.1fr 2.3fr .9fr .9fr;gap:52px;padding-bottom:64px}
.footer-grid>div:nth-child(2){column-count:2;column-gap:30px}
.footer-grid>div:nth-child(2) h4{column-span:all}
.footer-grid>div:nth-child(2) a{break-inside:avoid}
.site-footer h4{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:22px;font-weight:400}
.site-footer a{display:block;padding:5px 0;font-size:.94rem;color:rgba(242,238,224,.75);transition:color .25s,padding-left .25s}
.site-footer a:hover{color:var(--gold);padding-left:4px}
.footer-brand img{height:50px;margin-bottom:22px;background:#fff;padding:4px;border-radius:2px}
.footer-brand p{font-size:.95rem;max-width:310px;color:rgba(242,238,224,.7)}
.footer-bottom{border-top:1px solid rgba(242,238,224,.12);padding:26px 0;font-size:.78rem;letter-spacing:.08em;color:rgba(242,238,224,.55)}
.footer-bottom .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}

/* Floating pill */
.float-pill{position:fixed;right:28px;bottom:28px;z-index:90;background:var(--gold);color:#fff;font-size:.76rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:17px 28px;box-shadow:0 14px 34px rgba(10,38,25,.4);display:inline-flex;align-items:center;gap:10px;transition:.35s var(--ease)}
.float-pill:hover{background:#b8924e;transform:translateY(-4px)}

/* Page hero (interior) */
.page-hero{position:relative;color:#fff;padding:150px 0 120px;background:var(--pine);overflow:hidden}
.page-hero .ph-bg{position:absolute;inset:0;background-size:cover;background-position:center;animation:phzoom 16s ease both}
@keyframes phzoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.page-hero .ph-veil{position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,26,17,.94),rgba(7,26,17,.5))}
.page-hero .wrap{position:relative}
.page-hero h1{margin-top:24px;max-width:860px;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.4)}
.page-hero p{max-width:620px;margin-top:22px;font-size:1.13rem;color:rgba(255,255,255,.93)}
.page-hero .crumbs{margin-bottom:10px}
.page-hero .hero-ctas{margin-top:36px}

/* Who-we-serve editorial + sidebar */
.serve-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:start}
.serve-side{background:var(--pine);color:#fff;padding:40px 38px;border-top:3px solid var(--gold);position:sticky;top:120px}
.serve-side h3{color:#fff;font-size:1.4rem;margin-bottom:18px}
.serve-side li{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--line-dark);font-size:.96rem;color:rgba(242,238,224,.85)}
.serve-side li:last-child{border-bottom:0}
.serve-side li::before{content:"";flex-shrink:0;width:7px;height:7px;background:var(--gold);margin-top:10px}

/* Responsive */
@media(max-width:1240px){
  .main-nav,.nav-cta{display:none}
  .nav-toggle{display:block}
}
@media(max-width:1080px){
  .card-grid,.proj-grid,.related{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .process{grid-template-columns:repeat(2,1fr)}
  .icon-grid.four{grid-template-columns:repeat(2,1fr)}
  .benefits{grid-template-columns:repeat(2,1fr)}
  .benefit:nth-child(3n){border-right:1px solid var(--line)}
  .benefit:nth-child(2n){border-right:0}
  .quote-bar form{grid-template-columns:1fr 1fr}
  .quote-bar button{grid-column:1/-1}
  .cust-acc .ca-body{columns:2}
  .stage-center{width:70%}
  .stage-side{width:13%}
  .txt-arrow.prev{left:14px}
  .txt-arrow.next{right:14px}
}
@media(max-width:760px){
  .band{padding:70px 0}
  .split,.why-band .wrap,.form-grid,.contact-cols,.serve-grid,.case,.photo-pair{grid-template-columns:1fr}
  .split.rev .split-media,.case.rev .case-media{order:0}
  .split-media img{height:340px}
  .case-media img{height:300px}
  .card-grid,.proj-grid,.related,.process,.process.three,.icon-grid,.icon-grid.four,.team-grid,.benefits{grid-template-columns:1fr}
  .benefit{border-right:0 !important}
  .glance .wrap{grid-template-columns:1fr}
  .glance-cell{border-right:0;border-bottom:1px solid var(--line-dark)}
  .glance-cell:last-child{border-bottom:0}
  .quote-bar form{grid-template-columns:1fr}
  .quote-bar .qb-field{border-right:0;border-bottom:1px solid var(--line)}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .hero-inner{padding:100px 0 140px}
  .hero-copy{min-height:420px}
  .microbar .wrap{justify-content:center}
  .mb-address{display:none}
  .float-pill{right:16px;bottom:16px;padding:14px 20px}
  .cust-acc .ca-body{columns:1}
  .page-hero{padding:110px 0 86px}
  .stage-row{min-height:420px}
  .stage-center{width:100%;height:420px}
  .stage-side{display:none}
  .stage-cap{max-width:100%;padding:20px 22px}
  .stage-cap h3{font-size:1.4rem}
  .stage-nav{gap:60px}
  .txt-arrow.prev,.txt-arrow.next{display:none}
  .hero-count{display:none}
  .serve-side{position:static}
  .photo-pair img{height:280px}
}

/* ============================================================
   V3 ADDITIONS - in-hero transparent nav, quote card,
   trusted carousel, gallery polish
   ============================================================ */
:root{--hdr:88px}

/* Transparent header that overlays the hero, then solidifies on scroll */
.site-header{background:transparent;border-bottom:1px solid transparent;box-shadow:none;transition:background .4s var(--ease),border-color .4s,box-shadow .4s}
.site-header.scrolled{background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom-color:var(--line);box-shadow:0 6px 26px rgba(10,38,25,.08)}
.hero,.page-hero{margin-top:calc(-1 * var(--hdr))}
.site-header:not(.scrolled) .bt-name{color:#fff}
.site-header:not(.scrolled) .bt-tag{color:var(--gold)}
.site-header:not(.scrolled) .main-nav>li>a,
.site-header:not(.scrolled) .main-nav>li>button{color:#fff}
.site-header:not(.scrolled) .main-nav>li>a::after,
.site-header:not(.scrolled) .main-nav>li>button::after{background:var(--gold)}
.site-header:not(.scrolled) .main-nav>li>a:hover,
.site-header:not(.scrolled) .main-nav>li>button:hover,
.site-header:not(.scrolled) .main-nav>li.active>a,
.site-header:not(.scrolled) .main-nav>li.active>button{color:var(--gold)}
.site-header:not(.scrolled) .nav-toggle span{background:#fff}

/* ---- Redesigned in-hero quote card ---- */
.quote-section{position:relative;z-index:6}

.quote-card{margin-top:-56px;background:#fff;border-top:3px solid var(--gold);box-shadow:var(--shadow);display:grid;grid-template-columns:.92fr 1.4fr}
.qc-intro{padding:42px 44px;background:var(--pine);color:#fff;position:relative;overflow:hidden}
.qc-intro::after{content:"";position:absolute;right:-40px;bottom:-40px;width:160px;height:160px;background:radial-gradient(circle,rgba(201,163,92,.3),transparent 70%)}
.qc-intro .eyebrow{color:var(--gold)}
.qc-intro h2{color:#fff;font-size:1.9rem;margin:16px 0 14px}
.qc-intro p{color:rgba(242,238,224,.82);font-size:.98rem;margin-bottom:14px}
.qc-intro .qc-phone{font-size:.92rem;color:rgba(242,238,224,.9)}
.qc-intro .qc-phone a{color:var(--gold);border-bottom:1px solid rgba(201,163,92,.5)}
.qc-form{display:grid;grid-template-columns:1fr 1fr;gap:0}
.qc-form .qb-field{padding:22px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:7px;transition:background .3s}
.qc-form .qb-field:nth-child(2n){border-right:0}
.qc-form .qb-field:focus-within{background:var(--alabaster)}
.qc-form label{font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-deep)}
.qc-form input,.qc-form select{border:0;outline:0;font-family:var(--sans);font-size:1.02rem;font-weight:300;color:var(--ink);background:transparent;width:100%;padding-left:8px}
.qc-form .qb-submit{grid-column:1/-1;border-bottom:0}
.qb-full{grid-column:1/-1}
.qb-field textarea{width:100%;font:inherit;color:inherit;background:transparent;border:1px solid var(--line);border-radius:2px;padding:10px 12px;resize:vertical}
.qb-field textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.qc-form button{width:100%;border:0;border-radius:0;padding:22px;justify-content:center}

/* ---- Modern trusted-by carousel ---- */
.trusted{padding:60px 0;background:var(--alabaster);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.trusted .t-label{text-align:center;font-size:.68rem;letter-spacing:.34em;text-transform:uppercase;color:var(--muted);margin-bottom:36px}
.t-carousel{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.t-track{display:flex;align-items:center;gap:0;width:max-content;animation:tscroll 38s linear infinite}
.trusted:hover .t-track{animation-play-state:paused}
.t-track .t-item{display:inline-flex;align-items:center;gap:18px;padding:0 46px;white-space:nowrap}
.t-track .t-item::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);opacity:.6}
.t-track .t-item span{font-family:var(--serif);font-size:1.5rem;color:var(--forest);transition:color .3s}
.t-track .t-item:hover span{color:var(--gold-deep)}
@keyframes tscroll{to{transform:translateX(-50%)}}

/* ---- Gallery filter (projects) ---- */
.gal-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:46px}
.gal-filter button{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;padding:11px 22px;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;transition:.3s}
.gal-filter button:hover{border-color:var(--gold);color:var(--gold-deep)}
.gal-filter button.active{background:var(--pine);border-color:var(--pine);color:#fff}
.proj-card.hide{display:none}

/* ---- Stat band ---- */
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line-dark)}
.stat-band .stat{padding:38px 28px;text-align:center;border-right:1px solid var(--line-dark)}
.stat-band .stat:last-child{border-right:0}
.stat-band .s-num{font-family:var(--serif);font-size:3rem;color:var(--gold);line-height:1}
.stat-band .s-label{display:block;margin-top:10px;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(242,238,224,.8)}

/* ---- Case-study detail gallery + overview ---- */
.cs-overview{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:start}
.cs-facts{border:1px solid var(--line)}
.cs-facts .csf-row{padding:18px 24px;border-bottom:1px solid var(--line)}
.cs-facts .csf-row:last-child{border-bottom:0}
.cs-facts .csf-label{font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-deep);display:block}
.cs-facts .csf-value{font-family:var(--serif);font-size:1.22rem}
.cs-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.cs-gallery figure{position:relative;overflow:hidden;background:var(--pine-2)}
.cs-gallery img{width:100%;height:340px;object-fit:cover;transition:transform .7s var(--ease)}
.cs-gallery figure:hover img{transform:scale(1.05)}
.cs-gallery figure::after{content:"";position:absolute;inset:12px;border:1px solid rgba(201,163,92,0);transition:border-color .4s;pointer-events:none}
.cs-gallery figure:hover::after{border-color:rgba(201,163,92,.5)}

@media(max-width:900px){
  .quote-card{grid-template-columns:1fr}
  .stat-band{grid-template-columns:repeat(2,1fr)}
  .stat-band .stat:nth-child(2n){border-right:0}
  .cs-overview{grid-template-columns:1fr;gap:36px}
}
@media(max-width:560px){
  .cs-gallery{grid-template-columns:1fr}
  .cs-gallery img{height:260px}
  .qc-form{grid-template-columns:1fr}
  .qc-form .qb-field{border-right:0}
  .t-track .t-item span{font-size:1.25rem}
  .stat-band{grid-template-columns:1fr}
  .stat-band .stat{border-right:0;border-bottom:1px solid var(--line-dark)}
}

/* ---- Case-study cards (projects index) ---- */
.case-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;text-align:left}
.case-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--gold)}
.case-card .cc-img{height:230px;overflow:hidden;background:var(--pine-2);position:relative}
.case-card .cc-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.case-card:hover .cc-img img{transform:scale(1.06)}
.case-card .cc-img .cc-tag{position:absolute;top:0;left:0;background:var(--pine);color:var(--gold);font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;padding:9px 16px}
.case-card .cc-body{padding:26px 28px 30px;display:flex;flex-direction:column;flex:1}
.case-card h3{font-size:1.42rem;margin:0 0 12px}
.case-card p{font-size:.96rem;color:var(--muted);flex:1}
.case-card .cc-btn{margin-top:22px;display:inline-flex;align-items:center;gap:11px;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);font-weight:500}
.case-card .cc-btn::after{content:"";width:30px;height:1px;background:var(--gold);transition:width .35s var(--ease)}
.case-card:hover .cc-btn::after{width:54px}
.case-card.hide{display:none}

/* Keep heads in frame on cover-cropped images with people */
.svc-card .sc-img img{object-position:center 28%}
.stage-center img,.stage-side img{object-position:center 22%}
.proj-card img,.case-card .cc-img img{object-position:center 30%}
.split-media img,.cs-gallery img{object-position:center 35%}
.team-card .tc-photo img{object-position:center 20%}

/* ---- Testimonials ---- */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.testi-card{background:#fff;border:1px solid var(--line);padding:38px 34px;display:flex;flex-direction:column;transition:.35s var(--ease)}
.testi-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-sm);border-color:var(--gold)}
.testi-card .tq{font-family:var(--serif);font-size:1.32rem;line-height:1.5;color:var(--ink);flex:1}
.testi-card .tq::before{content:"\201C";font-family:var(--serif);font-size:3.4rem;color:var(--gold);line-height:0;display:block;height:26px}
.testi-card .ta{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}
.testi-card .ta b{display:block;font-family:var(--sans);font-weight:500;font-size:.95rem;letter-spacing:.02em}
.testi-card .ta span{font-size:.82rem;color:var(--muted);letter-spacing:.04em}
@media(max-width:900px){.testi-grid{grid-template-columns:1fr}}

/* ---- Our Story archive (then & now) ---- */
.archive-row{display:grid;grid-template-columns:1fr 1.05fr 1fr;gap:46px;align-items:center}
.archive-photo{position:relative;margin:0}
.archive-photo img{width:100%;height:430px;object-fit:cover;object-position:center 30%;box-shadow:var(--shadow);transition:transform .5s var(--ease)}
.archive-photo:hover img{transform:translateY(-5px)}
.archive-photo figcaption{margin-top:14px;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:12px}
.archive-photo figcaption .ay{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--gold-deep);letter-spacing:0;text-transform:none}
.archive-mid{text-align:center;padding:0 6px}
.archive-mid h3{font-size:1.7rem;margin:14px 0 14px}
.archive-mid p{color:var(--muted);font-size:.98rem}
@media(max-width:900px){.archive-row{grid-template-columns:1fr;gap:34px}.archive-photo img{height:380px}}

/* ---- Testimonials (modern v2) ---- */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.testi-card{background:#fff;border:1px solid var(--line);border-radius:3px;padding:34px 30px 28px;display:flex;flex-direction:column;position:relative;box-shadow:0 10px 30px rgba(10,38,25,.05);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.testi-card::before{content:none}
.testi-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.testi-card .stars{color:var(--gold);font-size:1.02rem;letter-spacing:4px;margin-bottom:18px}
.testi-card .tq{font-family:var(--serif);font-size:1.28rem;line-height:1.5;color:var(--ink);flex:1;margin:0}
.testi-card .tq::before{content:none}
.testi-card .ta{display:flex;align-items:center;gap:14px;margin-top:26px;border-top:1px solid var(--line);padding-top:20px}
.testi-card .ta-ini{width:48px;height:48px;flex-shrink:0;border-radius:50%;background:var(--pine);color:var(--gold);font-family:var(--serif);font-size:1.15rem;display:flex;align-items:center;justify-content:center;letter-spacing:.02em}
.testi-card .ta b{display:block;font-family:var(--sans);font-weight:500;font-size:.96rem}
.testi-card .ta span{font-size:.8rem;color:var(--muted)}
@media(max-width:900px){.testi-grid{grid-template-columns:1fr}}

/* ---- File upload field ---- */
.field input[type=file]{width:100%;border:1px dashed var(--gold-deep);background:var(--alabaster);padding:14px 16px;font-family:var(--sans);font-size:.92rem;color:var(--muted);cursor:pointer}
.field input[type=file]::file-selector-button{font-family:var(--sans);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;background:var(--pine);color:#fff;border:0;padding:10px 18px;margin-right:14px;cursor:pointer;transition:background .3s}
.field input[type=file]::file-selector-button:hover{background:var(--gold-deep)}

/* ---- Testimonial carousel (centered, one at a time) ---- */
.tcar{text-align:center}
.tcar-quote{font-family:var(--serif);font-size:5rem;line-height:1;color:var(--gold);display:block;height:40px;margin-bottom:18px}
.tcar-stage{position:relative;max-width:860px;margin:0 auto}
.tcar-slide{display:none}
.tcar-slide.on{display:block;animation:tcfade .6s var(--ease)}
@keyframes tcfade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.tcar-stars{color:var(--gold);letter-spacing:7px;font-size:1.05rem;margin-bottom:26px}
.tcar-q{font-family:var(--serif);font-size:1.7rem;line-height:1.5;color:var(--ink);max-width:800px;margin:0 auto}
.tcar-name{margin-top:32px;font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-deep)}
.tcar-meta{margin-top:9px;font-size:.85rem;color:var(--muted);letter-spacing:.04em}
.tcar-nav{display:flex;align-items:center;justify-content:center;gap:34px;margin-top:46px}
.tcar-nav button{width:56px;height:56px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--gold-deep);font-size:1.1rem;cursor:pointer;transition:.3s var(--ease)}
.tcar-nav button:hover{border-color:var(--gold);background:var(--gold);color:#fff}
.tcar-count{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--muted);letter-spacing:.12em}
@media(max-width:640px){.tcar-q{font-size:1.32rem}}

/* ============ RESPONSIVE: large screens ============ */
@media(min-width:1700px){
  .wrap{max-width:1480px}
  body{font-size:18px}
  .stage-center{height:600px}
  .stage-row{min-height:600px}
}
@media(min-width:2200px){
  .wrap{max-width:1660px}
  .hero h1,.hero .h1{font-size:5.2rem}
}
/* ============ RESPONSIVE: small phones ============ */
@media(max-width:480px){
  .wrap,.wrap-narrow{padding:0 18px}
  .band{padding:60px 0}
  h1,.hero h1,.hero .h1{font-size:2.15rem}
  h2{font-size:1.8rem}
  .hero-ctas{flex-direction:column;align-items:stretch;gap:12px}
  .hero-ctas .btn{width:100%;justify-content:center}
  .btn{padding:15px 24px}
  .quote-card{margin-top:-24px}
  .qc-intro{padding:30px 26px}
  .tcar-q{font-size:1.22rem}
  .tcar-nav{gap:22px}
  .tcar-nav button{width:48px;height:48px}
  .stat-band .s-num{font-size:2.4rem}
  .testi-grid,.card-grid,.proj-grid,.related,.team-grid,.benefits,.cs-gallery{grid-template-columns:1fr}
  .archive-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-grid>div:nth-child(2){column-count:1}
  .microbar{font-size:.7rem}
  .brand-text .bt-name{font-size:1.1rem}
  .marquee-track span{font-size:1.2rem}
}

/* ---- Communities served (service areas) ---- */
.area-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 44px}
.area-region h4{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 15px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.area-region .area-chips{margin-top:0;gap:9px}
.area-region .area-chips span{display:inline-block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);padding:8px 13px;color:var(--muted)}
.area-region .area-chips a{padding:8px 13px}
@media(max-width:900px){.area-cols{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.area-cols{grid-template-columns:1fr}}

/* ---- Location pages: map + stats ---- */
.loc-map-wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.map-embed{position:relative;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
.map-embed iframe{display:block;width:100%;height:420px;border:0;filter:saturate(.95)}
.loc-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}
.loc-stat{background:var(--alabaster);border:1px solid var(--line);padding:22px 24px}
.loc-stat .ls-val{font-family:var(--serif);font-size:2rem;color:var(--pine);line-height:1}
.loc-stat .ls-lab{display:block;margin-top:8px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep)}
.band-dark .loc-stat{background:rgba(255,255,255,.04);border-color:var(--line-dark)}
.band-dark .loc-stat .ls-val{color:#fff}
@media(max-width:860px){.loc-map-wrap{grid-template-columns:1fr;gap:30px}.map-embed iframe{height:340px}}

/* All city chips share one resting style — the .hot class is kept in the markup
   (it still marks core service areas for future use) but is no longer styled
   differently, so the grid reads as one consistent set. */
.area-region .area-chips a,
.area-region .area-chips a.hot{border-color:var(--line);color:var(--ink)}
/* every city chip fills on hover */
.area-region .area-chips a:hover,
.area-region .area-chips a.hot:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff;transform:none}

/* ---- Modern service capabilities section ---- */
.svc-caps{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.svc-caps-head h2{margin-top:18px}
.svc-caps-head p{margin-top:18px;color:var(--muted)}
.svc-caps-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.cap-card{position:relative;background:var(--alabaster);border:1px solid var(--line);padding:30px 28px;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.cap-card::before{content:"";position:absolute;top:-1px;left:-1px;height:3px;width:39px;background:var(--gold);transition:width .4s var(--ease)}
.cap-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm);border-color:var(--gold)}
.cap-card:hover::before{width:100%}
.cap-num{font-family:var(--serif);font-size:1.7rem;color:var(--gold-deep);display:block;margin-bottom:10px;line-height:1}
.cap-card h3{font-size:1.16rem;margin-bottom:8px}
.cap-card p{font-size:.95rem;color:var(--muted);line-height:1.6}
.cap-card.cap-cta{background:var(--pine);border:1px solid var(--pine)}
.cap-card.cap-cta::before{background:var(--gold)}
.cap-card.cap-cta .cap-num{color:var(--gold);margin-left:-3px}
.cap-card.cap-cta h3{color:#fff}
.cap-card.cap-cta p{color:rgba(242,238,224,.82)}
.cap-card.cap-cta a{color:var(--gold)}
.main-nav .dd-parent{cursor:pointer}
@media(max-width:900px){.svc-caps{grid-template-columns:1fr;gap:34px}}
@media(max-width:560px){.svc-caps-grid{grid-template-columns:1fr}}

/* ---- Location credentials band (before CTA) ---- */
.creds-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:940px;margin:46px auto 0}
.creds-stats .loc-stat{text-align:center}
@media(max-width:760px){.creds-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.creds-stats{grid-template-columns:1fr}}


/* ---- Custom select arrow (contact form) ---- */
.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%238a6a3b' stroke-width='1.6'/></svg>");background-repeat:no-repeat;background-position:right 18px center;padding-right:46px}


/* custom select arrow on homepage quote form */
.qc-form select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%238a6a3b' stroke-width='1.6'/></svg>");background-repeat:no-repeat;background-position:right 6px center;padding-right:30px}

/* buttons inside editorial/dark bands keep their own text color, not the link-gold */
.editorial a.btn, .band-dark .editorial a.btn, .band-dark a.btn-gold{color:#fff;border-bottom:0}

/* ============================================================
   CLIENT UPDATE 2026 - Emergency (red) + Preventive Maintenance (blue)
   ============================================================ */
:root{
  --emergency:#c62828;        /* emergency red on light */
  --emergency-bright:#ff6a5c; /* emergency red on dark surfaces */
  --pm-blue:#1668b8;          /* preventive maintenance blue */
  --pm-blue-deep:#0f4f8f;
}

/* Microbar: 24/7 Emergency Service emphasized */
.microbar .mb-emergency{color:var(--emergency-bright);font-weight:500;letter-spacing:.06em}
.microbar .mb-emergency a{color:var(--emergency-bright);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.microbar .mb-emergency a:hover{color:#fff}

/* Emergency button (red) */
.btn-emergency{background:var(--emergency);color:#fff;border-color:var(--emergency)}
.btn-emergency:hover{background:#a81e1e;box-shadow:0 10px 24px rgba(198,40,40,.4);transform:translateY(-2px);color:#fff}
.nav-cta .btn-emergency{margin-left:10px}

/* PM button / highlighted nav link (blue) */
.btn-pm{background:var(--pm-blue);color:#fff;border-color:var(--pm-blue)}
.btn-pm:hover{background:var(--pm-blue-deep);box-shadow:0 10px 24px rgba(22,104,184,.38);transform:translateY(-2px);color:#fff}

/* Highlighted "Maintenance Plans" nav item */
.main-nav>li>a.nav-pm{color:#fff;background:var(--pm-blue);border-radius:999px;padding:11px 20px;letter-spacing:.1em;transition:background .25s,box-shadow .25s}
.main-nav>li>a.nav-pm:hover{color:#fff;background:var(--pm-blue-deep);box-shadow:0 8px 20px rgba(22,104,184,.35)}
.main-nav>li>a.nav-pm::after{display:none}
.main-nav>li>a.nav-pm .pm-dot{width:7px;height:7px;border-radius:50%;background:#8fd0ff;display:inline-block;margin-left:2px;box-shadow:0 0 0 0 rgba(143,208,255,.7);animation:pmpulse 2.2s infinite}
@keyframes pmpulse{0%{box-shadow:0 0 0 0 rgba(143,208,255,.6)}70%{box-shadow:0 0 0 7px rgba(143,208,255,0)}100%{box-shadow:0 0 0 0 rgba(143,208,255,0)}}
@media(prefers-reduced-motion:reduce){.main-nav>li>a.nav-pm .pm-dot{animation:none}}

/* Highlighted PM link inside the Services mega dropdown */
.dropdown a.dd-pm{color:#bfe0ff;font-weight:500}
.dropdown a.dd-pm::before{content:"\2605";margin-right:7px;color:#7fbef0;font-size:.8em}
.dropdown a.dd-pm:hover{color:#fff}

/* Floating pill: emergency variant */
.float-pill.float-emergency{background:var(--emergency)}
.float-pill.float-emergency:hover{background:#a81e1e}

/* ---- Preventive Maintenance plans page ---- */
.pm-intro-highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:8px}
@media(max-width:900px){.pm-intro-highlights{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.pm-intro-highlights{grid-template-columns:1fr}}
.pm-hl{background:#fff;border:1px solid var(--line);border-top:3px solid var(--pm-blue);padding:26px 24px}
.pm-hl h3{font-family:var(--sans);font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pm-blue-deep);font-weight:500;margin-bottom:8px}
.pm-hl p{font-size:.96rem;color:var(--muted);line-height:1.6}

.plan-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;margin-top:44px}
@media(max-width:760px){.plan-cards{grid-template-columns:1fr}}
.plan-card{position:relative;background:#fff;border:1px solid var(--line);padding:40px 38px;display:flex;flex-direction:column}
.plan-card.featured{border:2px solid var(--pm-blue);box-shadow:0 24px 60px rgba(22,104,184,.16)}
.plan-badge{position:absolute;top:-14px;left:38px;background:var(--pm-blue);color:#fff;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;padding:7px 16px}
.plan-name{font-family:var(--sans);font-size:.78rem;letter-spacing:.26em;text-transform:uppercase;color:var(--pm-blue-deep);font-weight:500}
.plan-price{font-family:var(--serif);font-size:3.2rem;line-height:1;color:var(--ink);margin:14px 0 2px}
.plan-price span{font-family:var(--sans);font-size:1rem;letter-spacing:.02em;color:var(--muted)}
.plan-year{font-size:.92rem;color:var(--muted);margin-bottom:22px}
.plan-feat{list-style:none;margin:0 0 30px;padding:24px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:13px;flex:1}
.plan-feat li{position:relative;padding-left:30px;font-size:1rem;line-height:1.5;color:var(--ink)}
.plan-feat li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--pm-blue);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'><path d='M20 6L9 17l-5-5'/></svg>");background-repeat:no-repeat;background-position:center}

/* Comparison table */
.pm-compare{width:100%;border-collapse:collapse;margin-top:20px;background:#fff;border:1px solid var(--line)}
.pm-compare thead th{font-family:var(--sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;padding:20px 18px;text-align:center;border-bottom:2px solid var(--line);vertical-align:bottom}
.pm-compare thead th.feat-col{text-align:left;color:var(--gold-deep)}
.pm-compare thead th.p-standard{color:var(--ink)}
.pm-compare thead th.p-preferred{color:var(--pm-blue-deep);background:rgba(22,104,184,.06)}
.pm-compare thead th .pt-price{display:block;font-family:var(--serif);font-size:1.5rem;letter-spacing:0;text-transform:none;color:var(--ink);margin-top:4px}
.pm-compare thead th .pt-tag{display:block;font-size:.6rem;color:var(--pm-blue);margin-top:6px}
.pm-compare tbody td{padding:15px 18px;border-bottom:1px solid var(--line);font-size:.95rem;color:var(--ink)}
.pm-compare tbody td.mark{text-align:center;width:20%}
.pm-compare tbody td.p-preferred{background:rgba(22,104,184,.05)}
.pm-compare .yes{color:var(--pm-blue);font-size:1.15rem;font-weight:700}
.pm-compare .no{color:#cbb;font-size:1.05rem}
.pm-compare tbody tr:last-child td{border-bottom:0}
.pm-compare-wrap{overflow-x:auto}
.pm-compare-note{font-size:.82rem;color:var(--muted);margin-top:16px;line-height:1.6}

/* Services page: PM availability highlight banner */
.pm-banner{display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:space-between;background:linear-gradient(120deg,var(--pm-blue-deep),var(--pm-blue));color:#fff;padding:30px 38px;margin-bottom:44px;box-shadow:0 18px 40px rgba(22,104,184,.22)}
.pm-banner .pmb-text{display:flex;flex-direction:column;gap:4px}
.pm-banner .pmb-ey{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:#bfe0ff}
.pm-banner h3{font-family:var(--serif);font-size:1.7rem;color:#fff;font-weight:500}
.pm-banner .btn{background:#fff;color:var(--pm-blue-deep);border-color:#fff}
.pm-banner .btn:hover{background:#eaf3fb;color:var(--pm-blue-deep);transform:translateY(-2px)}
.svc-card.svc-pm{border-top:3px solid var(--pm-blue)}
.svc-card.svc-pm .sc-tag{color:var(--pm-blue-deep)}

@media(max-width:1180px){.nav-cta .btn{padding:13px 20px}.main-nav>li>a,.main-nav>li>button{padding:12px 11px}}

.drawer a.dw-pm{color:#8fd0ff;font-weight:500}
.drawer a.dw-pm:hover{color:#bfe0ff}

/* About: photo inside a timeline entry */
.tl-item .tl-photo{margin:16px 0 4px;max-width:520px}
.tl-item .tl-photo img{width:100%;height:auto;display:block;border:1px solid var(--line)}
.tl-item .tl-photo figcaption{font-size:.8rem;color:var(--muted);letter-spacing:.04em;padding:8px 2px 0;font-style:italic}

/* About: archive / in-memoriam gallery */
.archive-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:44px}
@media(max-width:860px){.archive-gallery{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}}
.arch-fig{margin:0;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.arch-media{position:relative;aspect-ratio:1/1;overflow:hidden;background-size:cover;background-position:center;background-color:#0a2619}
.arch-media::before{content:"";position:absolute;inset:-8%;background-image:inherit;background-size:cover;background-position:center;filter:blur(18px) brightness(.9);z-index:0}
.arch-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;z-index:1}
.arch-fig figcaption{padding:18px 20px 20px;font-size:.9rem;line-height:1.55;color:var(--muted)}
.arch-fig figcaption .af-year{display:block;font-family:var(--sans);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:6px}

/* Maintenance Plans button: pulsing "light" (dot + gentle glow) */
.btn-pm .pm-dot{width:7px;height:7px;border-radius:50%;background:#dff0ff;display:inline-block;margin-left:3px;vertical-align:middle;box-shadow:0 0 6px 1px rgba(223,240,255,.9);animation:pmpulse 2.2s infinite}
.nav-cta .btn-pm{animation:pmglow 2.6s ease-in-out infinite}
@keyframes pmglow{0%,100%{box-shadow:0 0 0 0 rgba(45,140,230,0)}50%{box-shadow:0 0 16px 2px rgba(45,140,230,.55)}}
@media(prefers-reduced-motion:reduce){.btn-pm .pm-dot,.nav-cta .btn-pm{animation:none}}

/* PM page: hover on Why Join highlight boxes + comparison table rows */
.pm-hl{transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.pm-hl:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(22,104,184,.16);border-top-color:var(--pm-blue-deep)}
.pm-compare tbody tr{transition:background .2s}
.pm-compare tbody tr:hover td{background:rgba(22,104,184,.09)}
.pm-compare tbody tr:hover td.p-preferred{background:rgba(22,104,184,.15)}

/* ---- Service areas coverage map ---- */
.area-map{height:660px;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:var(--pine-2)}
.area-map .leaflet-container{font:inherit}
.area-pin span{display:block;width:15px;height:15px;border-radius:50%;background:#c62828;border:2px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.5)}
.area-map a{color:var(--gold-deep)}
@media(max-width:760px){.area-map{height:420px}}

/* ---- AE Electric Service reunification ---- */
.ae-lockup{background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:26px}
.ae-lockup img{width:100%;height:auto;max-height:300px;object-fit:contain}
.formerly-ae{margin:10px 0 0;font-size:.83rem;line-height:1.6;opacity:.72}
.formerly-ae a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
.formerly-ae a:hover{color:#fff}
.ae-notice{background:var(--pine-2);border-bottom:1px solid var(--line);color:#f3f1ec}
.ae-notice .wrap{display:flex;align-items:center;gap:16px;padding:11px 0;font-size:.9rem;line-height:1.5}
.ae-notice strong{color:var(--gold);font-weight:500}
.ae-notice a.ae-more{color:var(--gold);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.ae-notice a.ae-more:hover{color:#fff}
.ae-notice button{margin-left:auto;background:none;border:0;color:inherit;font:inherit;font-size:1.35rem;line-height:1;opacity:.6;cursor:pointer;padding:0 2px}
.ae-notice button:hover{opacity:1}
@media(max-width:760px){
  .ae-lockup{padding:16px}
  .ae-notice .wrap{flex-wrap:wrap;gap:4px 14px;padding:10px 0;font-size:.82rem}
  .ae-notice .wrap > span{flex:1 1 100%}
  .ae-notice button{font-size:1.2rem}
}

/* Form success state (Resend pipeline) */
.form-success{padding:22px 24px;border:1px solid var(--emerald);border-radius:10px;background:var(--alabaster);color:var(--ink);font-size:1.05rem;line-height:1.6}
.form-success a{color:var(--forest);font-weight:600}
