/* Size-matched stand-ins for the web fonts, used for the split second before
   Google Fonts arrives, so text doesn't jump when the real fonts swap in
   (Lighthouse, 2026-10-21: the portfolio page shifted 0.4 on load). */
@font-face{font-family:"Inter Fallback";src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0%;size-adjust:107.06%}
@font-face{font-family:"Montserrat Fallback";src:local("Arial");ascent-override:84.95%;descent-override:22.03%;line-gap-override:0%;size-adjust:113.95%}
.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* ===========================================================
   TMG SITE, SHARED STYLES
   Every page except the homepage loads this file. The homepage
   (c4-the-hybrid.html) still carries its own inline copy, and is
   where every one of these decisions was made and argued: read its
   comments for the WHY behind a value before changing it here.

   Generated 2026-10-20 by pulling every rule whose selectors only
   use the shared pieces: tokens, base, type, buttons, cards, bands,
   FAQ, the fade-in reveal, the ticker, the nav and mega menu, the
   menu drawer and the footer. Scene, pin and camera rules are left
   out on purpose: only the homepage animates. Order is preserved,
   because later rules override earlier ones.

   ‼️ Two states for motion, never merged: .motion-off (no motion at
   all) and .no-sda (no scroll-driven animation support, so reveals
   fall back to a script). Both are set by the head script.
   =========================================================== */
@keyframes kUp{from{opacity:0;transform:translate3d(0,26px,0)} to{opacity:1;transform:none}}
@keyframes kTick{from{transform:translate3d(0,0,0)} to{transform:translate3d(-50%,0,0)}}
@keyframes kNavBar{from{opacity:0} to{opacity:1}}
@keyframes kDrawerIn{from{transform:translate3d(100%,0,0)} to{transform:none}}
@keyframes kDrawerBd{from{opacity:0} to{opacity:1}}
@keyframes kDrawerRow{from{opacity:0;transform:translate3d(22px,0,0)} to{opacity:1;transform:none}}
:root{--gold:#E8B547;
  --gold-dk:#C8973A;
  --green:#1F3A2A;
  --green-deep:#13261A;
  --green-2:#6B8F4E;
  --charcoal:#1A1A1A;
  --slate:#6B7280;
  --lgray:#F5F5F5;
  --off:#FAFAF7;
  --white:#FFFFFF;

  
  --cream:#F0E7D6;
  --cream-dk:#DED1B6;
  --glass:#FFF4DE;
  --sky-1:#F6E8CE;
  --sky-2:#E9D4AE;
  --cool:#121821;        
  --cool-2:#1A2432;
  --cool-line:#2B3849;

  --sans:'Inter','Inter Fallback',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,system-ui,sans-serif;
  --head:'Montserrat','Montserrat Fallback',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,system-ui,sans-serif;
  --serif:Georgia,'Iowan Old Style','Times New Roman',serif;

  --pad:clamp(18px,4.6vw,68px);
  --max:1260px;
  --r:18px;}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;              
  -webkit-text-size-adjust:100%;
  scroll-behavior:auto;}
@supports not (overflow:clip){
  html{overflow-x:hidden}
}
body{margin:0;
  overflow-x:clip;
  background:var(--off);
  color:var(--charcoal);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;}
svg{display:block;max-width:100%}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
h1,h2,h3,h4{margin:0}
ul{margin:0;padding:0;list-style:none}
::selection{background:var(--gold);color:var(--green-deep)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.h1{font-family:var(--head);font-weight:800;font-size:clamp(2.35rem,6.6vw,5.5rem);line-height:.96;letter-spacing:-.035em;text-wrap:balance}
.h2{font-family:var(--head);font-weight:800;font-size:clamp(1.95rem,5vw,4rem);line-height:1;letter-spacing:-.03em;text-wrap:balance}
.h3{font-family:var(--head);font-weight:700;font-size:clamp(1.35rem,2.5vw,2.05rem);line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
.h4{font-family:var(--head);font-weight:700;font-size:clamp(1.08rem,1.5vw,1.3rem);line-height:1.2;letter-spacing:-.012em}
.eyebrow{font-weight:600;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;line-height:1}
.lede{font-size:clamp(1.02rem,1.35vw,1.26rem);line-height:1.62;text-wrap:pretty}
.small{font-size:.86rem;line-height:1.55}
.serif{font-family:var(--serif);font-style:italic}
.gold{color:var(--gold)}
.dim{color:var(--slate)}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.sec{position:relative;padding:clamp(72px,11svh,140px) 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  min-height:52px;padding:14px 26px;border-radius:999px;
  font-family:var(--head);font-weight:700;font-size:.95rem;letter-spacing:-.01em;
  text-decoration:none;border:1.5px solid transparent;
  transition:transform 180ms cubic-bezier(.2,.7,.3,1),box-shadow 180ms ease,background-color 180ms ease;
  will-change:transform;}
.btn--gold{background:var(--gold);color:#241C06;box-shadow:0 10px 26px -12px rgba(200,151,58,.9),0 1px 0 rgba(255,255,255,.5) inset}
.btn--gold:hover{background:#F2C25C;transform:translateY(-2px)}
.btn--ghost{border-color:rgba(255,255,255,.22);color:#fff;
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.btn--ghost:hover{background:rgba(255,255,255,.12);border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
.btn--ghostd{border-color:rgba(31,58,42,.28);color:var(--green)}
.btn--ghostd:hover{border-color:var(--green);transform:translateY(-2px)}
.btn--lg{min-height:60px;padding:18px 34px;font-size:1.05rem}
.grain{position:absolute;inset:0;pointer-events:none;z-index:6;
  opacity:.4;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E");}
.card{width:min(100%,430px);
  padding:clamp(22px,2.6vw,32px);
  border-radius:var(--r);
  background:rgba(250,250,247,.93);
  border:1px solid rgba(31,58,42,.1);
  box-shadow:0 30px 70px -30px rgba(12,26,18,.55),0 1px 0 rgba(255,255,255,.7) inset;
  backdrop-filter:blur(10px) saturate(1.1);
  -webkit-backdrop-filter:blur(10px) saturate(1.1);}
.card--dark{background:rgba(14,30,20,.86);
  border-color:rgba(232,181,71,.24);
  color:#E9EDE6;
  box-shadow:0 30px 70px -30px rgba(0,0,0,.7),0 1px 0 rgba(255,255,255,.08) inset;}
.card--cool{background:rgba(18,24,33,.86);
  border-color:rgba(232,181,71,.2);
  color:#DCE3EC;
  box-shadow:0 30px 70px -30px rgba(0,0,0,.8),0 1px 0 rgba(255,255,255,.07) inset;}
.card--wide{width:min(100%,560px)}
.card .eyebrow{color:var(--gold-dk)}
.card--dark .eyebrow,.card--cool .eyebrow{color:var(--gold)}
.card .h3{margin:.45em 0 .4em}
.card p{color:var(--slate)}
.card--dark p,.card--cool p{color:rgba(233,237,230,.78)}
.chip{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  padding:7px 13px;border-radius:999px;
  border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.8);
  background:rgba(8,20,13,.42);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.reveal{animation-name:kUp;
  animation-timing-function:cubic-bezier(.22,.72,.24,1);
  animation-fill-mode:both;
  animation-timeline:view();
  animation-range:entry calc(6% + (var(--i,0) * 5%)) entry calc(56% + (var(--i,0) * 5%));}
:root{--tickh:32px}
@media (max-width:620px){
  :root{--tickh:28px}
}
:root{--navh:calc(84px + var(--tickh) + env(safe-area-inset-top))}
@media (max-width:620px){
  :root{--navh:calc(72px + var(--tickh) + env(safe-area-inset-top))}
}
.tick{position:fixed;z-index:61;top:0;left:0;right:0;
  height:calc(var(--tickh) + env(safe-area-inset-top));
  padding-top:env(safe-area-inset-top);
  display:flex;align-items:center;
  overflow:hidden;overflow:clip;
  background:#0A1810;border-bottom:1px solid rgba(255,255,255,.09);}
.tick__trk{display:flex;align-items:center;width:max-content;will-change:transform;background:#0A1810;
  animation:kTick 30s linear infinite}
.tick__set{display:flex;align-items:center;flex:none}
.tick__i{display:inline-flex;align-items:center;gap:8px;flex:none;white-space:nowrap;
  font-family:var(--body);font-weight:500;font-size:.68rem;line-height:1;
  letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.74);
  padding-inline:15px;}
.tick__d{flex:none;color:var(--gold);font-size:.62rem;line-height:1}
.tick__flag{flex-shrink:0;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.3)}
.site{position:fixed;z-index:60;top:calc(var(--tickh) + env(safe-area-inset-top));left:0;right:0;
  display:flex;align-items:center;gap:clamp(10px,1.4vw,22px);
  padding:14px var(--pad);}
.site::before{content:"";position:absolute;inset:0;z-index:-1;
  background:rgba(9,20,14,.82);border-bottom:1px solid rgba(255,255,255,.09);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  opacity:0;
  animation-name:kNavBar;animation-timeline:scroll();animation-range:0 120px;
  animation-fill-mode:both;animation-timing-function:linear;}
.site__home{display:flex;align-items:center;flex:none;border-radius:10px;text-decoration:none}
.site__home:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.site__logo{height:clamp(38px,3.4vw,46px);width:auto;flex:none;display:block;transition:opacity 180ms ease}
.site__home:hover .site__logo{opacity:.82}
.site__sp{flex:1}
.nav{display:flex;align-items:center;gap:clamp(4px,.9vw,16px)}
.nav a,.nav__top{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 10px;
  font-family:var(--head);font-weight:600;font-size:.86rem;letter-spacing:-.01em;
  color:rgba(255,255,255,.82);text-decoration:none;border-radius:8px;
  background:none;border:0;cursor:pointer;
  transition:color 160ms ease,background-color 160ms ease;}
.nav a:hover,.nav__top:hover,.nav__i:hover > .nav__top{color:#fff;background:rgba(255,255,255,.08)}
.nav__i{position:relative}
.nav__chev{width:11px;height:11px;transition:transform 180ms ease}
.nav__i:hover .nav__chev,.nav__i:focus-within .nav__chev{transform:rotate(180deg)}
.nav__sub{position:absolute;top:calc(100% + 8px);left:0;min-width:234px;
  display:grid;gap:2px;padding:8px;margin:0;list-style:none;
  background:rgba(12,26,18,.96);border:1px solid rgba(255,255,255,.1);border-radius:12px;
  box-shadow:0 30px 60px -24px rgba(0,0,0,.7);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  opacity:0;visibility:hidden;transform:translate3d(0,-6px,0);
  transition:opacity 160ms ease,transform 160ms ease,visibility 160ms;}
.nav__i:hover .nav__sub,.nav__i:focus-within .nav__sub{opacity:1;visibility:visible;transform:none}
.nav__sub a{display:flex;width:100%;font-weight:500;font-size:.84rem;color:rgba(255,255,255,.78)}
.nav__i--mega{position:static}
.nav__mega{position:absolute;top:calc(100% + 6px);right:var(--pad);
  width:min(1010px,calc(100vw - (var(--pad) * 2)));
  display:grid;grid-template-columns:repeat(4,1fr);gap:0 clamp(14px,2vw,34px);
  padding:22px clamp(18px,2vw,28px) 16px;
  background:rgba(12,26,18,.97);border:1px solid rgba(255,255,255,.1);border-radius:14px;
  box-shadow:0 40px 80px -28px rgba(0,0,0,.75);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  opacity:0;visibility:hidden;transform:translate3d(0,-6px,0);
  transition:opacity 170ms ease,transform 170ms ease,visibility 170ms;}
.nav__i--mega:hover .nav__mega,.nav__i--mega:focus-within .nav__mega{opacity:1;visibility:visible;transform:none}
.nav__mcol ul{list-style:none;margin:0;padding:0;display:grid;gap:1px}
.nav__mh{margin:0 0 7px;padding:0 10px;
  font-family:var(--head);font-weight:700;font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold);}
.nav__mcol ul + .nav__mh{margin-top:18px}
.nav .nav__mcol a{display:flex;width:100%;min-height:32px;font-weight:500;font-size:.83rem;color:rgba(255,255,255,.76)}
.nav .nav__mall{grid-column:1 / -1;justify-content:center;margin-top:16px;
  border-top:1px solid rgba(255,255,255,.1);border-radius:0;
  padding-top:15px;color:var(--gold);font-size:.82rem;}
.site__burger{display:none;align-items:center;justify-content:center;flex:none;
  width:44px;height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);cursor:pointer;}
.site__burger i{display:block;width:18px;height:2px;border-radius:2px;background:#fff;margin:2.5px 0}
.drawer{position:fixed;inset:0;z-index:70;display:none}
.drawer[open]{display:block}
.drawer__bd{position:absolute;inset:0;background:rgba(6,14,10,.66);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.drawer__p{position:absolute;top:0;right:0;bottom:0;width:min(100vw,430px);
  
  height:100vh;height:100dvh;
  display:flex;flex-direction:column;
  background:
    radial-gradient(110% 44% at 100% 100%,rgba(232,181,71,.17) 0%,rgba(232,181,71,0) 68%),
    linear-gradient(172deg,#0A1810 0%,#10231A 48%,#1B3425 100%);
  border-left:1px solid rgba(255,255,255,.1);
  box-shadow:-30px 0 80px -20px rgba(0,0,0,.65);
  padding-top:env(safe-area-inset-top);}
.drawer__p:focus{outline:none}
@media (max-width:560px){
  .drawer__p{width:100vw;border-left:0}
}
.drawer__top{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px var(--pad) 14px;border-bottom:1px solid rgba(255,255,255,.09);}
.drawer__logo{height:40px;width:auto;display:block}
.drawer__x{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:10px;
  border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;}
.drawer__x:focus-visible,.drawer__row:focus-visible,.drawer__panel a:focus-visible,.drawer__tel:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.drawer__nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px var(--pad) 20px}
.drawer__row{display:flex;align-items:center;justify-content:space-between;gap:14px;
  min-height:62px;padding:0 2px;border-bottom:1px solid rgba(255,255,255,.09);
  font-family:var(--head);font-weight:700;font-size:1.34rem;letter-spacing:-.025em;line-height:1.1;
  color:#fff;text-decoration:none;cursor:pointer;border-radius:4px;
  list-style:none;-webkit-tap-highlight-color:transparent;}
.drawer__row::-webkit-details-marker{display:none}
.drawer__chev{flex:none;width:17px;height:17px;color:var(--gold);transition:transform 200ms ease}
.drawer__acc[open] > .drawer__row .drawer__chev{transform:rotate(180deg)}
.drawer__acc[open] > .drawer__row{color:var(--gold);border-bottom-color:transparent}
.drawer__go{flex:none;width:17px;height:17px;color:rgba(255,255,255,.34)}
.drawer__panel{padding:2px 2px 18px;border-bottom:1px solid rgba(255,255,255,.09)}
.drawer__panel ol,.drawer__panel ul{list-style:none;margin:0;padding:0}
.drawer__panel a{display:flex;align-items:center;min-height:44px;
  font-family:var(--sans);font-weight:500;font-size:.98rem;letter-spacing:-.005em;
  color:rgba(237,240,233,.84);text-decoration:none;border-radius:6px;}
.drawer__svc b{flex:none;width:34px;font-family:var(--head);font-weight:700;font-size:.72rem;letter-spacing:.08em;color:var(--gold)}
.drawer__gh{margin:16px 0 2px;font-family:var(--head);font-weight:700;font-size:.66rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold);}
.drawer__gh:first-child{margin-top:6px}
.drawer__grid{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
.drawer__panel .drawer__all{justify-content:flex-start;gap:8px;margin-top:10px;
  font-family:var(--head);font-weight:700;font-size:.86rem;color:var(--gold);}
.drawer__all .drawer__go{color:var(--gold);width:15px;height:15px}
.drawer__foot{flex:none;padding:16px var(--pad) calc(16px + env(safe-area-inset-bottom));
  border-top:1px solid rgba(255,255,255,.1);background:rgba(8,18,12,.55);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.drawer__cta{display:flex;width:100%;min-height:56px;font-size:1.02rem}
.drawer__tel{display:flex;align-items:baseline;justify-content:center;gap:9px;min-height:44px;margin-top:8px;padding-top:10px;
  font-family:var(--head);font-weight:700;font-size:1.02rem;letter-spacing:-.01em;color:#fff;text-decoration:none;border-radius:6px;}
.drawer__tel span{font-family:var(--sans);font-weight:500;font-size:.8rem;letter-spacing:0;color:rgba(237,240,233,.62)}
@media (hover:hover){
  .drawer__row:hover{color:var(--gold)}
  .drawer__panel a:hover{color:#fff}
}
.drawer[open] .drawer__p{animation:kDrawerIn 340ms cubic-bezier(.2,.8,.2,1) both}
.drawer[open] .drawer__bd{animation:kDrawerBd 240ms ease both}
.drawer[open] .drawer__nav > *{animation:kDrawerRow 420ms cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(110ms + var(--i,0) * 45ms)}
.drawer[open] .drawer__foot{animation:kDrawerBd 420ms ease 300ms both}
.motion-off .drawer[open] *{animation:none !important}
.site__tel{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;
  font-family:var(--head);font-weight:600;font-size:.88rem;color:rgba(255,255,255,.9);
  text-decoration:none;letter-spacing:-.01em;}
.site__tel:hover{color:var(--gold)}
@media (max-width:1180px){
  .site__tel{display:none}
}
@media (max-width:1180px){
  .nav{display:none}
  .site__burger{display:flex}
}
@media (max-width:620px){
  .site .btn{display:none}
}
.band{position:relative;padding:clamp(76px,12svh,148px) 0}
.band--off{background:var(--off);color:var(--charcoal)}
.band--green{background:var(--green);color:#EDF0E9}
.band--deep{background:var(--green-deep);color:#EDF0E9}
.cta{text-align:center}
.cta__row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px}
.cta__tel{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:20px;padding:0 10px;font-family:var(--head);font-weight:700;font-size:1.15rem;color:#241C06;text-decoration:none;letter-spacing:-.015em}
.ft{background:var(--green-deep);color:#fff;padding:6rem 1.5rem calc(2.5rem + env(safe-area-inset-bottom))}
.ft__inner{max-width:1280px;margin:0 auto}
.ft a{color:#fff;text-decoration:none;transition:color 150ms ease}
.ft a:hover{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.ft__cols{display:flex;gap:2.5rem 4rem;align-items:stretch}
.ft__col{flex:1 1 0;min-width:0}
.ft__logo{display:inline-block;margin-bottom:.5rem;line-height:0}
.ft__logo img{display:block;width:200px;max-width:100%;height:auto}
.ft__tag{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;font-size:1rem;line-height:1.3;margin:0 0 1.75rem}
.ft__tag__hi{color:var(--gold)}
.ft__addr{font-style:normal}
.ft__row{font-size:.875rem;line-height:1.6;display:flex;align-items:center;gap:.5rem;margin:0 0 .25rem}
.ft__row:last-child{margin-bottom:0}
.ft__ico{color:var(--gold);flex-shrink:0}
.ft__ico--top{align-self:flex-start;margin-top:.2rem}
.ft__flag{flex-shrink:0;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.22)}
.ft__usa{display:flex;align-items:center;gap:.5rem;margin:0 0 1.75rem;font-size:.875rem;line-height:1.6}
.ft__row:first-child{align-items:flex-start}
.ft__h{font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:0 0 1rem}
.ft__hlink{color:var(--gold) !important;text-decoration:none}
.ft__hlink:hover{text-decoration:underline;text-underline-offset:3px}
.ft__list{list-style:none;padding-left:0;margin:0;font-size:.875rem}
.ft__list li{margin-bottom:.5rem}
@media (max-width:900px){
  .ft__list li{margin-bottom:1.35rem}
}
.ft__list a{display:inline-block}
.ft__gap{margin-bottom:.5rem}
.ft .ft__audit__link{display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;padding:10px 20px;border-radius:999px;
  background:var(--gold);color:#241C06;
  font-family:var(--head);font-size:.875rem;font-weight:700;letter-spacing:-.01em;
  text-decoration:none;white-space:nowrap;
  box-shadow:0 10px 24px -14px rgba(200,151,58,.9),0 1px 0 rgba(255,255,255,.45) inset;
  transition:transform 180ms cubic-bezier(.2,.7,.3,1),box-shadow 180ms ease;}
.ft .ft__audit__link:hover,.ft .ft__audit__link:focus-visible{color:#241C06;text-decoration:none;transform:translateY(-2px);
  box-shadow:0 14px 28px -12px rgba(200,151,58,.95),0 1px 0 rgba(255,255,255,.45) inset;}
.ft__rule{border:0;height:1px;background:#FFFFFF20;margin:4rem 0 1.5rem}
.ft__btm{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.75rem}
.ft__btm p{margin:0}
.ft__btm a{display:inline-block}
.ft a{position:relative}
.ft a::after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%);}
@media (max-width:781px){
  .ft{padding-top:4rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}
  .ft__cols{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 1.25rem;align-items:start}
  .ft__col{width:auto}
  .ft__brand{grid-column:1 / -1}
  .ft__brand p{margin-top:.35rem;margin-bottom:.35rem}
  .ft__brand .ft__tag{margin-bottom:1.5rem}
  .ft__brand .ft__usa{margin:0 0 1.5rem}
  .ft__h{margin-bottom:.5rem}
  .ft__list li{margin-bottom:1.35rem}
  .ft__logo{margin-bottom:.75rem}
  .ft__rule{margin-top:1.5rem;margin-bottom:1rem}
}
.no-sda .reveal{opacity:0;transform:translateY(26px);
  transition:opacity .68s cubic-bezier(.22,.72,.24,1),transform .68s cubic-bezier(.22,.72,.24,1);}
.no-sda .reveal.in{opacity:1;transform:none}
.motion-off *,.motion-off *::before,.motion-off *::after{animation:none !important;
  transition:none !important;
  animation-timeline:none !important;}
.motion-off .reveal{opacity:1 !important;transform:none !important}
.motion-off .chip{opacity:1 !important;transform:none !important;}
@media (max-width:1000px), (max-width:1100px) and (orientation:portrait){
  .card{width:100%;max-width:560px}
  .card--wide{width:100%;max-width:560px}
}
@media (max-width:860px){
  .card,.chip{backdrop-filter:none;-webkit-backdrop-filter:none}
  .card{background:rgba(250,250,247,.97)}
  .card--dark{background:rgba(11,25,17,.95)}
  .card--cool{background:rgba(15,21,30,.95)}
  .grain{display:none}
}
@media (max-width:1000px), (max-width:1100px) and (orientation:portrait){
  .card{padding:18px 18px 20px}
  .card .h3{font-size:1.2rem;margin:.4em 0 .35em}
  .card p{font-size:.88rem}
}
.faq__list{margin-top:clamp(30px,4vw,52px);display:grid;gap:10px;max-width:780px;margin-inline:auto}
.faq__i{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-radius:14px;overflow:hidden;
  transition:background-color 180ms ease,border-color 180ms ease;}
.faq__i:hover{background:rgba(255,255,255,.1)}
.faq__i[open]{background:rgba(255,255,255,.1);border-color:rgba(232,181,71,.34)}
.faq__q{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:17px 20px;cursor:pointer;list-style:none;
  font-family:var(--head);font-weight:700;font-size:clamp(.95rem,1.4vw,1.04rem);
  letter-spacing:-.015em;line-height:1.3;color:#fff;}
.faq__q::-webkit-details-marker{display:none}
.faq__q h3{margin:0;font:inherit;letter-spacing:inherit;line-height:inherit;color:inherit}
.faq__q::after{content:"";flex:none;width:11px;height:11px;margin-right:2px;
  border-right:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);
  transform:rotate(45deg) translate(-2px,-2px);
  transition:transform 220ms cubic-bezier(.2,.7,.3,1);}
.faq__i[open] .faq__q::after{transform:rotate(225deg) translate(-2px,-2px)}
.faq__i[open] .faq__q{color:var(--gold)}
.faq__q:hover{color:var(--gold)}
.faq__a{padding:0 20px 18px}
.faq__a p{margin:0;font-size:.94rem;line-height:1.6;color:rgba(237,240,233,.84);max-width:62ch}
@media (max-width:620px){
  .faq__q{padding:15px 16px;font-size:.92rem}
  .faq__a{padding:0 16px 16px}
  .faq__a p{font-size:.88rem}
}
.band--off .eyebrow{color:#8A6618;font-size:.75rem}
#h-rvw{scroll-margin-top:calc(var(--navh) + 22px)}
.motion-off .site::before,.no-sda .site::before{opacity:1 !important;animation:none !important}
.motion-off .tick__trk{animation-name:none}
@media (max-width:1000px) and (max-height:679.98px){
  .drawer__row{min-height:52px;font-size:1.22rem}
}
@media (max-width:620px){
  .hide-sm{display:none}
}

/* ===========================================================
   EVERY PAGE BUT THE HOMEPAGE. Added 2026-10-20, not ported.
   The nav behaves exactly as on the homepage: fully see-through
   at the top, fading to dark glass over the first 120px of
   scroll. That only looks right over something dark, so a page
   opens on a .pg-hero that runs up UNDER the nav (see .pg-hero's
   padding). Boss, 2026-10-20: a solid bar over a light page read
   as gray. A page that does not open on a .pg-hero gets the
   fallback below: content starts under the nav, and the nav is
   solid from the first frame so its white links stay readable.
   =========================================================== */
main{display:block}
main:not(:has(> .pg-hero:first-child)){padding-top:var(--navh)}
body:not(:has(main > .pg-hero:first-child)) .site::before{opacity:1;animation:none}
/* Dark cards are SOLID brand green here. On the homepage they are dark glass
   over the scenes; on a plain light page the cream showed through that glass
   and turned it a muddy gray green. Boss, 2026-10-20. */
.card--dark{background:var(--green)}
/* A light band darkens its labels to #8A6618 so they read on cream. A dark
   card sitting in that band is green underneath, so its label goes back to
   the bright gold. */
.band--off :is(.card--dark,.card--cool) .eyebrow{color:var(--gold)}

/* ===========================================================
   SERVICE PAGE PIECES, 2026-10-20. New, not ported: the pieces
   every service page is built from. Green is the FRAME (hero,
   some bands, buttons); reading happens on light surfaces.
   Motion is the light kind only: the .reveal fade, hovers.
   =========================================================== */
.pg-sec{position:relative;padding:clamp(64px,9vw,120px) 0}
.pg-sec--off{background:var(--off)}
.pg-sec--cream{background:#F4EEE2}
.pg-sec--green{background:var(--green);color:#EEF1EA}
.pg-sec--deep{background:var(--green-deep);color:#EEF1EA}
.pg-head{max-width:780px;margin-bottom:clamp(30px,4vw,52px)}
.pg-head--c{margin-inline:auto;text-align:center}
.pg-head .eyebrow{color:#8A6618}
.pg-sec--green .eyebrow,.pg-sec--deep .eyebrow,.pg-hero .eyebrow{color:var(--gold)}
.pg-head .h2{margin-top:14px;font-size:clamp(1.85rem,4.2vw,3.2rem);line-height:1.04}
.pg-head .lede{margin-top:16px;color:var(--slate)}
.pg-sec--green .pg-head .lede,.pg-sec--deep .pg-head .lede{color:rgba(238,241,234,.78)}

/* the hero band */
.pg-hero{position:relative;overflow:hidden;color:#fff;
  padding:calc(var(--navh) + clamp(44px,7vw,104px)) 0 clamp(64px,9vw,124px);
  background:radial-gradient(70% 80% at 92% 0%,rgba(232,181,71,.16) 0%,rgba(232,181,71,0) 62%),linear-gradient(180deg,#1F3A2A 0%,#13261A 100%)}
.pg-hero .h1{font-size:clamp(2.25rem,5.4vw,4.4rem);letter-spacing:-.018em;line-height:1.02;max-width:17ch;margin-top:18px}
.pg-hero .lede{color:rgba(255,255,255,.8);max-width:52ch;margin-top:20px}
.pg-hero .cta__row{justify-content:flex-start}

/* grids and cards */
.pg-grid{display:grid;gap:clamp(14px,1.6vw,22px);grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.pg-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){ .pg-grid--2{grid-template-columns:1fr} }
.pg-grid--wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.pg-card{position:relative;background:#fff;color:var(--charcoal);border-radius:var(--r);padding:clamp(22px,2.4vw,30px);
  box-shadow:0 0 0 1px rgba(31,58,42,.08),0 24px 50px -32px rgba(31,58,42,.4);
  transition:transform 200ms cubic-bezier(.2,.7,.3,1),box-shadow 200ms ease}
.pg-card:hover{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(200,151,58,.35),0 30px 60px -30px rgba(31,58,42,.45)}
.pg-card--cream{background:linear-gradient(180deg,#FBF6EA,#EFE4CE)}
.pg-card h3{font-family:var(--head);font-weight:700;font-size:clamp(1.12rem,1.5vw,1.3rem);line-height:1.2;letter-spacing:-.012em;margin:0 0 10px;color:var(--green);text-wrap:balance}
.pg-card p{color:var(--slate);font-size:.96rem;line-height:1.6}
.pg-ico{width:46px;height:46px;border-radius:13px;background:var(--green);color:var(--gold);display:grid;place-items:center;margin-bottom:18px}
.pg-ico svg{width:22px;height:22px}

/* a fold-open panel ("see everything that's included") */
.pg-more{margin-top:clamp(24px,3vw,36px)}
.pg-more > summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:999px;
  border:1.5px solid rgba(232,181,71,.55);color:var(--gold);font-family:var(--head);font-weight:700;font-size:.95rem;transition:background-color 180ms ease}
.pg-more > summary::-webkit-details-marker{display:none}
.pg-more > summary:hover{background:rgba(232,181,71,.1)}
.pg-more > summary svg{width:14px;height:14px;transition:transform 200ms ease}
.pg-more[open] > summary svg{transform:rotate(180deg)}
.pg-more .when-open{display:none}
.pg-more[open] .when-open{display:inline}
.pg-more[open] .when-shut{display:none}
.pg-more__panel{margin-top:22px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.pg-more__panel h4{font-family:var(--head);font-weight:700;font-size:1rem;color:var(--green);margin-bottom:12px}

/* a checklist */
.pg-list li{position:relative;padding-left:26px;font-size:.93rem;line-height:1.5;color:#3E4651}
.pg-list li + li{margin-top:9px}
.pg-list li::before{content:"";position:absolute;left:0;top:.28em;width:16px;height:16px;border-radius:50%;
  background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.3 2.3 4.7-4.8' fill='none' stroke='%231F3A2A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}

/* tags, and a "learn more" link */
.pg-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.pg-tags li{font-size:.78rem;font-weight:600;line-height:1.2;padding:7px 11px;border-radius:999px;background:rgba(31,58,42,.07);color:var(--green)}
.pg-link{display:inline-flex;align-items:center;gap:7px;min-height:44px;margin-top:10px;font-family:var(--head);font-weight:700;font-size:.92rem;color:var(--green);text-decoration:none}
.pg-link svg{width:14px;height:14px;transition:transform 180ms ease}
.pg-link:hover{color:#8A6618}
.pg-link:hover svg{transform:translateX(3px)}

/* two plan cards */
.pg-plan{display:flex;flex-direction:column}
.pg-card .pg-plan__n{font-family:var(--head);font-weight:800;font-size:clamp(1.5rem,2.4vw,1.9rem);letter-spacing:-.02em;color:var(--green)}
.pg-card .pg-plan__sub{margin:6px 0 20px}
.pg-plan .pg-list{flex:1}
.pg-plan--plus{box-shadow:0 0 0 2px var(--gold),0 30px 60px -30px rgba(0,0,0,.55)}
.pg-note{margin-top:22px;font-size:.92rem;color:rgba(238,241,234,.78);text-align:center}

/* picture beside text */
.pg-split{display:grid;gap:clamp(28px,4.5vw,72px);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center}
.pg-shot{display:block;border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px rgba(31,58,42,.1),0 40px 80px -40px rgba(31,58,42,.6);transition:transform 260ms cubic-bezier(.2,.7,.3,1)}
.pg-shot:hover{transform:scale(1.015)}
.pg-shot img{width:100%;height:auto}
@media (max-width:860px){ .pg-split{grid-template-columns:1fr} }

/* numbered steps with an arrow between each */
.pg-steps{--sg:clamp(34px,3.4vw,48px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sg)}
.pg-step{position:relative}
.pg-num{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--green);color:var(--gold);font-family:var(--head);font-weight:800;font-size:1.05rem;margin-bottom:16px}
.pg-step:not(:last-child)::after{content:"";position:absolute;top:50%;right:calc(var(--sg) / -2 - 11px);width:22px;height:22px;translate:0 -50%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h14M13 6l6 6-6 6' fill='none' stroke='%23C8973A' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
@media (max-width:980px){
  .pg-steps{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
  .pg-step:not(:last-child)::after{top:auto;right:auto;left:50%;bottom:calc(var(--sg) / -2 - 11px);translate:-50% 0;rotate:90deg}
}

/* a sideways rail of cards, with dots and arrows */
.pg-rail{display:grid;grid-auto-flow:column;grid-auto-columns:min(84%,360px);gap:18px;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);padding:6px var(--pad) 22px;margin-inline:calc(var(--pad) * -1);scrollbar-width:none}
.pg-rail::-webkit-scrollbar{display:none}
.pg-site{scroll-snap-align:start;display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#fff;border-radius:16px;overflow:hidden;
  box-shadow:0 0 0 1px rgba(31,58,42,.08),0 24px 50px -32px rgba(31,58,42,.45);transition:transform 200ms cubic-bezier(.2,.7,.3,1)}
.pg-site:hover{transform:translateY(-4px)}
.pg-site img{aspect-ratio:16/10;width:100%;height:auto;object-fit:cover;object-position:top}
.pg-site__b{padding:16px 18px 18px}
.pg-site__t{font-family:var(--head);font-weight:700;font-size:1.05rem;color:var(--green);letter-spacing:-.01em}
.pg-site__m--top{margin:0 0 6px !important;font-family:var(--head);font-weight:700;font-size:.74rem !important;letter-spacing:.12em;text-transform:uppercase;color:#8A6618 !important}
.pg-site__m{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:.84rem;color:var(--slate)}
.pg-railnav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:6px}
.pg-dots{display:flex;gap:2px}
.pg-dots button{width:26px;height:26px;border:0;padding:0;background:none;cursor:pointer;display:grid;place-items:center}
.pg-dots button::before{content:"";width:8px;height:8px;border-radius:999px;background:rgba(31,58,42,.24);transition:width 200ms ease,background-color 200ms ease}
.pg-dots button[aria-current="true"]::before{width:22px;background:var(--gold-dk)}
.pg-arw{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(31,58,42,.22);background:#fff;color:var(--green);display:grid;place-items:center;cursor:pointer;transition:border-color 180ms ease}
.pg-arw:hover{border-color:var(--green)}
.pg-arw:disabled{opacity:.35;cursor:default}
.pg-arw svg{width:16px;height:16px}
@media (hover:none){ .pg-arw{display:none} }
/* an icon beside its headline instead of above it, so no dead space up top */
.pg-card__hd{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.pg-card__hd .pg-ico{margin:0;flex:none}
.pg-card .pg-card__hd h3{margin:0}
.pg-ico{border-radius:50%}
/* Section labels on these pages are a lot bigger than the homepage's .7rem.
   Boss, 2026-10-20: a tiny label over a giant headline read wrong. */
.pg-head .eyebrow,.pg-hero .eyebrow{font-size:clamp(.88rem,1.15vw,1.02rem);letter-spacing:.15em;line-height:1.3}

/* ===========================================================
   LIGHTER LAYOUTS, 2026-10-20 (first used on Local SEO). Boss: the
   Website Design page leaned on cards; vary it. These are open rows
   under hairlines, a number strip, a side-by-side, and a timeline.
   =========================================================== */
/* icon + headline + copy, divided by hairlines instead of boxed */
.sx-rows{display:grid;gap:0}
.sx-rows > li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;padding:22px 0;border-top:1px solid rgba(31,58,42,.14)}
.sx-rows > li:last-child{border-bottom:1px solid rgba(31,58,42,.14)}
.sx-rows .pg-ico{margin:0}
.sx-rows h3{font-family:var(--head);font-weight:700;font-size:clamp(1.08rem,1.4vw,1.22rem);line-height:1.25;letter-spacing:-.01em;color:var(--green);margin:9px 0 6px;text-wrap:balance}
.sx-rows p{color:var(--slate);font-size:.96rem;line-height:1.6}
.sx-rows p a{color:var(--green);text-underline-offset:3px}
/* one icon circle for every row list, so the Google G (which keeps its own
   colors) matches the line icons beside it. Boss, 2026-10-21. */
.pg-ico.pg-ico--soft{background:#FBF6EA;color:var(--green);box-shadow:inset 0 0 0 1.5px rgba(31,58,42,.55)}
@media (min-width:861px){
  .sx-rows--2{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,4vw,64px)}
  .sx-rows--2 > li:nth-last-child(2){border-bottom:1px solid rgba(31,58,42,.14)}
}
.sx-rows--dark > li{border-color:rgba(238,241,234,.16) !important}
.sx-rows--dark h3{color:#fff}
.sx-rows--dark p{color:rgba(238,241,234,.74)}

/* a heading block beside a list of rows */
.sx-split{display:grid;gap:clamp(28px,5vw,80px);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start}
.sx-split--map{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
@media (max-width:860px){ .sx-split,.sx-split--map{grid-template-columns:1fr} }
@media (min-width:861px){ .sx-split__head{position:sticky;top:calc(var(--navh) + 24px)} }
.sx-kicker{display:inline-block;font-family:var(--head);font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green);background:var(--gold);padding:8px 14px;border-radius:999px}
.sx-big{margin-top:18px;font-family:var(--head);font-weight:700;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.18;letter-spacing:-.015em;color:var(--green);text-wrap:balance}
.sx-aside{margin-top:22px;padding-left:16px;border-left:3px solid var(--gold);color:var(--slate);font-size:.96rem;line-height:1.6}
.sx-split__head .cta__row{margin-top:24px}
.sx-plus{grid-column:1 / -1;font-family:var(--head);font-weight:700;color:var(--gold)}
/* a fold-open button that reads as a button: a solid full-width bar.
   Boss, 2026-10-21: the outlined pill was easy to miss. */
.pg-more.pg-more--solid > summary{display:flex;justify-content:center;width:100%;min-height:58px;padding:16px 24px;border:0;border-radius:14px;
  background:var(--green);color:#fff;font-size:1.02rem;box-shadow:0 18px 36px -22px rgba(31,58,42,.7);transition:background-color 180ms ease,transform 180ms ease}
.pg-more.pg-more--solid > summary:hover{background:#2A4C37;transform:translateY(-2px)}
.pg-more.pg-more--solid > summary svg{width:16px;height:16px}
.pg-sec--green .pg-more.pg-more--solid > summary{background:var(--gold);color:var(--green)}
.pg-sec--green .pg-more.pg-more--solid > summary:hover{background:#F2C25C}
.pg-more--solid > .sx-plus{margin-top:24px}
/* a list inside an FAQ answer (the FAQ sits on green) */
.faq__a .pg-list{margin:12px 0;max-width:62ch}
.faq__a .pg-list li{font-size:.94rem;color:rgba(237,240,233,.84)}
.faq__a .pg-list + p{margin-top:0}
.pg-more__panel--2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){ .pg-more__panel--2{grid-template-columns:1fr} }
/* seven groups: the first runs full width (its list in two columns), the
   other six sit in even rows of three. Boss, 2026-10-21: a height-packed
   two-column stack read messy. */
.pg-more__panel--lead3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pg-more__panel--lead3 > :first-child{grid-column:1 / -1}
.pg-more__panel--lead3 > :first-child .pg-list{columns:2 280px;column-gap:40px}
.pg-more__panel--lead3 > :first-child .pg-list li{break-inside:avoid;margin:0 0 9px}
@media (max-width:1000px){ .pg-more__panel--lead3{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:760px){ .pg-more__panel--lead3{grid-template-columns:1fr} }

/* year one by the numbers */
.sx-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 clamp(30px,4vw,48px);border-top:1px solid rgba(238,241,234,.16);border-bottom:1px solid rgba(238,241,234,.16)}
.sx-stats > div{padding:22px 16px;text-align:center}
.sx-stats > div + div{border-left:1px solid rgba(238,241,234,.16)}
.sx-stats dt{font-family:var(--head);font-weight:800;font-size:clamp(1.6rem,2.8vw,2.4rem);letter-spacing:-.02em;line-height:1;color:var(--gold)}
.sx-stats dd{margin:8px 0 0;font-size:.84rem;line-height:1.35;color:rgba(238,241,234,.74)}
/* phones: two across, the fifth spans the row */
@media (max-width:760px){
  .sx-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sx-stats > div{border-left:0 !important}
  .sx-stats > div:nth-child(even){border-left:1px solid rgba(238,241,234,.16) !important}
  .sx-stats > div:nth-child(n+3){border-top:1px solid rgba(238,241,234,.16)}
  .sx-stats > div:last-child{grid-column:1 / -1}
}
/* a lede used as a subheadline */
.pg-head .sx-sub{font-family:var(--head);font-weight:700;font-size:clamp(1.15rem,1.9vw,1.5rem);letter-spacing:-.01em;line-height:1.25}
.pg-sec--green .pg-head .sx-sub{color:#fff}

/* an example lead feed (Tracking page): rows, not cards */
.sx-ev{margin:0;background:#fff;color:var(--charcoal);border-radius:16px;padding:clamp(16px,2vw,24px);box-shadow:0 40px 80px -40px rgba(0,0,0,.55)}
.sx-ev__hd{display:flex;align-items:center;gap:10px;font-family:var(--head);font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);padding-bottom:12px;border-bottom:1px solid #eee}
.sx-ev__live{width:9px;height:9px;border-radius:50%;background:#2E6B33;box-shadow:0 0 0 4px rgba(46,107,51,.18)}
.sx-ev ul{margin:0;padding:0;list-style:none}
.sx-ev li{display:grid;grid-template-columns:auto 1fr auto;column-gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #f0efe8}
.sx-ev li b{font-family:var(--head);font-size:.98rem;color:var(--green)}
.sx-ev li span:not(.sx-ev__dot):not(.sx-ev__dev){grid-column:2;font-size:.86rem;color:var(--slate)}
.sx-ev__dot{grid-row:1 / span 2;width:10px;height:10px;border-radius:50%;background:var(--gold)}
.sx-ev__dev{grid-column:3;grid-row:1 / span 2;font-family:var(--head);font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#8A6618;background:#FBF3DF;padding:5px 9px;border-radius:999px}
.sx-ev__ft{margin-top:12px;font-size:.84rem;color:var(--slate)}
.sx-rowlink{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.sx-rowlink svg{width:14px;height:14px;transition:transform 180ms ease}
.sx-rowlink:hover{color:#8A6618}.sx-rowlink:hover svg{transform:translateX(3px)}

/* the rank map key */
.sx-key{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:20px}
.sx-key li{display:flex;align-items:center;gap:8px;font-family:var(--head);font-weight:700;font-size:.88rem;color:var(--green)}
.sx-key i{width:14px;height:14px;border-radius:50%}
.sx-key .is-top{background:#2E6B33}.sx-key .is-page1{background:#DFA31C}.sx-key .is-buried{background:#D6402C}

/* today vs tomorrow, split by one line */
.sx-vs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px;margin-inline:auto}
.sx-vs__col{padding:8px clamp(20px,4vw,56px)}
.sx-vs__col + .sx-vs__col{border-left:1px solid rgba(238,241,234,.2)}
.sx-vs__when{white-space:nowrap;font-family:var(--head);font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.sx-vs h3{display:flex;align-items:center;gap:14px;margin:14px 0 20px;line-height:1.1;font-family:var(--head);font-weight:800;font-size:clamp(1.4rem,2.2vw,1.8rem);letter-spacing:-.015em;color:#fff}
.sx-vs h3 .pg-ico{margin:0;flex:none}
.sx-vs .pg-list li{color:rgba(238,241,234,.84)}
@media (max-width:760px){
  .sx-vs{grid-template-columns:1fr;gap:34px}
  .sx-vs__col{padding:0}
  .sx-vs__when{white-space:normal}
  .sx-vs__col + .sx-vs__col{border-left:0;border-top:1px solid rgba(238,241,234,.2);padding-top:34px}
}
.sx-callout{max-width:760px;margin:clamp(34px,4vw,52px) auto 0;text-align:center;font-size:.98rem;line-height:1.65;color:rgba(238,241,234,.78)}
.sx-callout--light{color:var(--slate)}
/* phones read everything left-aligned, so a centered head or note would be the odd one out */
@media (max-width:760px){
  .sx-callout{text-align:left;margin-inline:0}
  .pg-sec--deep .pg-head--c{text-align:left;margin-inline:0}
}

/* a timeline: one line, a numbered dot per stage */
.sx-time{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.6vw,40px);position:relative}
.sx-time::before{content:"";position:absolute;left:22px;right:22px;top:22px;height:2px;background:linear-gradient(90deg,var(--gold),rgba(232,181,71,.25))}
.sx-time > li{position:relative}
.sx-time__dot{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--green);color:var(--gold);font-family:var(--head);font-weight:800;box-shadow:0 0 0 6px var(--off)}
.pg-sec--cream .sx-time__dot{box-shadow:0 0 0 6px #F4EEE2}
.sx-time__when{margin-top:18px;font-family:var(--head);font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#8A6618}
.sx-time h3{margin:6px 0 8px;font-family:var(--head);font-weight:700;font-size:clamp(1.12rem,1.5vw,1.3rem);letter-spacing:-.01em;color:var(--green)}
.sx-time p:not(.sx-time__when){color:var(--slate);font-size:.95rem;line-height:1.6}
@media (max-width:860px){
  .sx-time{grid-template-columns:1fr;gap:28px}
  .sx-time::before{left:22px;right:auto;top:22px;bottom:22px;width:2px;height:auto;background:linear-gradient(180deg,var(--gold),rgba(232,181,71,.25))}
  .sx-time > li{display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:18px}
  .sx-time__dot{grid-row:1 / span 3}
  .sx-time__when{margin-top:4px}
}

/* the rank scan map with its before/after toggle, ported from the theme */
.tmg-rank-grid-frame{background:#fff;border-radius:16px;padding:clamp(14px,1.6vw,20px);margin:0;
  box-shadow:0 0 0 1px rgba(31,58,42,.08),0 40px 80px -40px rgba(31,58,42,.55)}
.tmg-rank-grid-frame__label{font-family:var(--head);font-size:.75rem;font-weight:600;color:var(--slate);margin-top:14px;padding-top:10px;border-top:1px solid #f0efe8;text-align:center}
.tmg-rank-grid-frame__image{display:block;width:100%;height:auto;border-radius:10px}
.tmg-rank-scan{position:relative}
.tmg-rank-scan__dots{position:absolute;inset:0}
.tmg-rank-dot{position:absolute;width:7.2%;aspect-ratio:1/1;transform:translate(-50%,-50%);border-radius:999px;display:flex;align-items:center;justify-content:center;
  font-family:var(--head);font-weight:700;font-size:clamp(.625rem,2.6vw,.8125rem);color:#fff;box-shadow:0 2px 6px rgba(26,26,26,.28);transition:background-color 400ms ease}
.tmg-rank-dot.is-top{background:#2E6B33}.tmg-rank-dot.is-page1{background:#DFA31C}.tmg-rank-dot.is-deep{background:#E06A28}.tmg-rank-dot.is-buried{background:#D6402C}
/* the before/after slider: a line at --pos with a round handle */
.tmg-rank-scan{touch-action:pan-y;cursor:ew-resize;user-select:none;-webkit-user-select:none;overflow:hidden;border-radius:10px}
.rk-line,.rk-knob{display:none}
.is-interactive .rk-line,.is-interactive .rk-knob{display:block}
.rk-line{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 0 1px rgba(31,58,42,.25),0 0 12px rgba(0,0,0,.25);pointer-events:none}
.rk-knob{position:absolute;top:50%;left:var(--pos);width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:var(--green);color:var(--gold);
  box-shadow:0 0 0 3px #fff,0 8px 20px rgba(0,0,0,.35)}
.rk-knob svg{width:24px;height:24px;margin:11px}
.rk-knob:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.rk-tag{position:absolute;top:10px;padding:6px 10px;border-radius:999px;font-family:var(--head);font-weight:700;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}
.rk-tag--l{left:10px;background:var(--green);color:#fff}
.rk-tag--r{right:10px;background:#fff;color:var(--slate);box-shadow:0 0 0 1px rgba(31,58,42,.15)}
.tmg-rank-dot{transition:background-color 400ms ease,opacity 180ms ease,transform 180ms ease}
.tmg-rank-dot.is-out{opacity:0;transform:translate(-50%,-50%) scale(.6)}
.tmg-rank-scan__stats{display:flex;justify-content:center;margin-top:16px}
.tmg-rank-scan__stat{display:flex;flex-direction:column;align-items:center;gap:2px;font-family:var(--head);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--slate);padding:0 28px}
.tmg-rank-scan__stat + .tmg-rank-scan__stat{border-left:1px solid #ebebe4}
.tmg-rank-scan__stat strong{font-size:1.375rem;font-weight:700;line-height:1.1;letter-spacing:0;color:var(--green)}

/* ===========================================================
   SALES PAGES, 2026-10-21: pricing, contact, free audit, thank you,
   not found. The forms keep the live markup (.tmg-form*), so these
   rules style that markup in the new look.
   =========================================================== */
.pg-formwrap{max-width:820px;margin-inline:auto;background:#fff;border-radius:20px;padding:clamp(22px,3.4vw,44px);
  box-shadow:0 0 0 1px rgba(31,58,42,.08),0 40px 80px -48px rgba(31,58,42,.55)}
.pg-formwrap__h{font-family:var(--head);font-weight:800;font-size:clamp(1.5rem,2.6vw,2rem);letter-spacing:-.02em;color:var(--green);margin:0 0 22px}
.tmg-form{display:grid;gap:16px}
.tmg-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:620px){ .tmg-form__row{grid-template-columns:1fr} }
.tmg-form__group{display:flex;flex-direction:column;gap:7px;min-width:0}
.tmg-form__group[hidden]{display:none}
.tmg-form__label{font-family:var(--head);font-weight:700;font-size:.88rem;color:var(--green)}
.tmg-form__req{color:#B5432F}
.tmg-form__hint{font-weight:500;color:var(--slate)}
.tmg-form__input{width:100%;font:inherit;font-size:1rem;color:var(--charcoal);background:#FBFAF6;border:1.5px solid #DAD7CC;border-radius:12px;padding:13px 14px;min-height:50px;transition:border-color 160ms ease,box-shadow 160ms ease}
.tmg-form__input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 4px rgba(31,58,42,.12);background:#fff}
.tmg-form__input:disabled{opacity:.55}
.tmg-form__select{appearance:none;-webkit-appearance:none;padding-right:42px;
  background:#FBFAF6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 6 8 10.5 12.5 6' fill='none' stroke='%231F3A2A' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") right 14px center/14px no-repeat}
.tmg-form__textarea{min-height:120px;resize:vertical}
.tmg-form__inline-check{display:inline-flex;align-items:center;gap:9px;font-size:.92rem;color:#3E4651;margin-top:4px;cursor:pointer}
.tmg-form__inline-check input{width:18px;height:18px;accent-color:var(--green)}
.tmg-form__honeypot{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.tmg-form__error{background:#FCEDEA;color:#8E2F1F;border-radius:12px;padding:12px 14px;font-size:.92rem}
.tmg-form__error[hidden]{display:none}
.tmg-form__actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:6px}
.tmg-form__submit,.tmg-audit-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 30px;border:0;border-radius:999px;
  background:var(--gold);color:var(--green);font-family:var(--head);font-weight:800;font-size:1.02rem;cursor:pointer;box-shadow:0 18px 36px -20px rgba(200,151,58,.9);transition:transform 160ms ease,background-color 160ms ease}
.tmg-form__submit:hover,.tmg-audit-submit:hover{background:#F2C25C;transform:translateY(-2px)}
.tmg-form__submit[disabled],.tmg-audit-submit[disabled]{opacity:.6;cursor:wait;transform:none}
.tmg-form__submit-spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:none;animation:pgspin .8s linear infinite}
.tmg-form__submit.is-loading .tmg-form__submit-spinner,.tmg-form__submit[aria-busy="true"] .tmg-form__submit-spinner{display:inline-block}
@keyframes pgspin{to{transform:rotate(360deg)}}
.tmg-form__small{font-size:.86rem;color:var(--slate)}
.cf-turnstile{min-height:65px}

/* contact: form beside the other ways to reach us */
.pg-contact{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(22px,3vw,40px);align-items:start}
.pg-contact .pg-formwrap{max-width:none;margin:0}
@media (max-width:900px){ .pg-contact{grid-template-columns:1fr} }
.pg-reach{background:var(--green);color:#EEF1EA;border-radius:20px;padding:clamp(22px,3vw,34px)}
.pg-reach h3{font-family:var(--head);font-weight:800;font-size:1.3rem;color:#fff;margin:0 0 16px}
.pg-reach ul{margin:0;padding:0;list-style:none}
.pg-reach li{padding:14px 0;border-top:1px solid rgba(238,241,234,.16);font-size:.98rem;line-height:1.5}
.pg-reach li span{display:block;font-family:var(--head);font-weight:700;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.pg-reach a{color:#fff;text-underline-offset:3px}
/* a short centered band with one button */
.pg-band{text-align:center;max-width:720px;margin-inline:auto}
.pg-band h3{font-family:var(--head);font-weight:800;font-size:clamp(1.5rem,2.8vw,2.2rem);letter-spacing:-.02em;line-height:1.12;color:#fff;margin:0}
.pg-band p{margin:14px auto 26px;color:rgba(238,241,234,.8);font-size:1.05rem;line-height:1.6}

/* quick-path link cards */
.sx-paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:clamp(14px,1.6vw,22px)}
.sx-path{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#fff;border-radius:var(--r);padding:clamp(22px,2.4vw,30px);
  box-shadow:0 0 0 1px rgba(31,58,42,.08),0 24px 50px -32px rgba(31,58,42,.4);transition:transform 200ms cubic-bezier(.2,.7,.3,1)}
.sx-path:hover{transform:translateY(-3px)}
.sx-path__eb{font-family:var(--head);font-weight:700;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:#8A6618}
.sx-path h3{font-family:var(--head);font-weight:700;font-size:1.22rem;color:var(--green);margin:10px 0 8px}
.sx-path p{color:var(--slate);font-size:.95rem;line-height:1.6;flex:1}
.sx-path__cta{margin-top:16px;font-family:var(--head);font-weight:700;font-size:.92rem;color:var(--green)}
/* row lists without icons, and a 3-stage timeline */
.sx-rows--plain > li{grid-template-columns:1fr}
.sx-rows--plain h3{margin-top:0}
@media (min-width:861px){ .sx-time--3{grid-template-columns:repeat(3,minmax(0,1fr))} }
.sx-time--3 h3{font-size:1.05rem;line-height:1.35}

/* free audit: copy beside the request card in the hero */
.pg-audit{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,4vw,64px);align-items:start}
@media (max-width:900px){ .pg-audit{grid-template-columns:1fr} }
.pg-audit .h1{max-width:20ch;margin-top:0;font-size:clamp(2.1rem,4vw,3.4rem)}
.pg-audit .h1 em{font-style:normal;color:var(--gold)}
.pg-list--hero{margin-top:24px}
.pg-list--hero li{color:rgba(255,255,255,.86);font-size:1.02rem}
.pg-audit__note{margin-top:18px;font-size:.92rem;color:rgba(255,255,255,.66)}
.pg-auditcard{background:#fff;color:var(--charcoal);border-radius:20px;padding:clamp(22px,2.8vw,32px);box-shadow:0 40px 80px -36px rgba(0,0,0,.6);scroll-margin-top:calc(var(--navh) + 20px)}
.pg-auditcard__h{font-family:var(--head);font-weight:800;font-size:1.35rem;color:var(--green);margin:0 0 16px}
.pg-auditcard form{display:grid;gap:14px}
.tmg-audit-field{display:flex;flex-direction:column;gap:7px}
.tmg-audit-field label{font-family:var(--head);font-weight:700;font-size:.88rem;color:var(--green)}
.tmg-audit-field input{width:100%;font:inherit;font-size:1rem;background:#FBFAF6;border:1.5px solid #DAD7CC;border-radius:12px;padding:13px 14px;min-height:50px}
.tmg-audit-field input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 4px rgba(31,58,42,.12);background:#fff}
.tmg-audit-submit{width:100%;margin-top:4px}
.pg-audit__sub{margin-top:16px;font-size:.92rem;line-height:1.6;color:rgba(255,255,255,.72)}
/* the report preview, from the live markup */
.pg-auditprev{padding:clamp(64px,9vw,120px) 0}
.tmg-audit-preview__inner{width:min(var(--max),100% - var(--pad) * 2);margin-inline:auto}
.tmg-audit-h2{font-family:var(--head);font-weight:800;font-size:clamp(1.85rem,4.2vw,3.2rem);line-height:1.04;letter-spacing:-.02em;color:var(--charcoal);max-width:20ch}
.tmg-audit-preview__lead{margin:16px 0 34px;color:var(--slate);font-size:1.08rem;line-height:1.6;max-width:62ch}
.tmg-audit-shots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
@media (max-width:1000px){ .tmg-audit-shots{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:620px){ .tmg-audit-shots{grid-template-columns:repeat(2,minmax(0,1fr))} }
.tmg-audit-shot{margin:0}
.tmg-audit-shot__btn{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px rgba(31,58,42,.1),0 24px 44px -28px rgba(31,58,42,.55);transition:transform 200ms ease}
.tmg-audit-shot__btn:hover{transform:translateY(-4px)}
.tmg-audit-shot img{display:block;width:100%;height:auto}
.tmg-audit-shot figcaption{margin-top:10px;font-size:.86rem;line-height:1.45;color:var(--slate)}
.tmg-audit-lb[hidden]{display:none}
.tmg-audit-lb{position:fixed;inset:0;z-index:200;display:grid;place-items:center}
.tmg-audit-lb__backdrop{position:absolute;inset:0;background:rgba(8,16,11,.86)}
.tmg-audit-lb__dialog{position:relative;width:min(920px,92vw);max-height:92svh;display:flex;flex-direction:column;align-items:center}
.tmg-audit-lb__figure{margin:0;display:flex;flex-direction:column;align-items:center}
.tmg-audit-lb__img{max-width:100%;max-height:78svh;border-radius:10px;background:#fff}
.tmg-audit-lb__cap{margin-top:12px;color:#fff;font-size:.95rem;text-align:center}
.tmg-audit-lb__count{margin-top:6px;color:rgba(255,255,255,.6);font-size:.82rem}
.tmg-audit-lb__close,.tmg-audit-lb__nav{position:absolute;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:var(--green);display:grid;place-items:center;cursor:pointer;z-index:2}
.tmg-audit-lb__close svg,.tmg-audit-lb__nav svg{width:20px;height:20px}
.tmg-audit-lb__close{top:-10px;right:-10px}
.tmg-audit-lb__nav--prev{left:-8px;top:40%}
.tmg-audit-lb__nav--next{right:-8px;top:40%}

/* a short hero for reading pages (legal) */
.pg-hero--short{padding-bottom:clamp(40px,6vw,72px)}
.pg-hero--short .h1{max-width:22ch;font-size:clamp(2rem,4.4vw,3.4rem)}
.pg-legal .pg-prose{margin-inline:auto}
.pg-legal .pg-prose hr{border:0;border-top:1px solid rgba(31,58,42,.15);margin:2.2em 0}
.pg-legal .pg-prose table{width:100%;border-collapse:collapse;font-size:.94rem;margin:1.2em 0}
.pg-legal .pg-prose th,.pg-legal .pg-prose td{border:1px solid rgba(31,58,42,.15);padding:10px 12px;text-align:left;vertical-align:top}
.pg-legal .pg-prose th{background:#F4EEE2;font-family:var(--head)}
.pg-legal .pg-prose .wp-block-table{overflow-x:auto;margin:0}

/* thank you: three messages, one shown */
.pg-hero--thanks,.pg-hero--404{text-align:center}
.pg-hero--thanks .h1,.pg-hero--404 .h1{margin-inline:auto}
.pg-hero--thanks .lede,.pg-hero--404 .lede{margin-inline:auto}
.pg-hero--404 .herocta{justify-content:center}
.pg-thanks__mark{color:var(--gold);display:grid;place-items:center}
.pg-thanks__v{display:none}
html[data-thanks="basic"] .pg-thanks__v[data-ty="basic"],html[data-thanks="audit"] .pg-thanks__v[data-ty="audit"],html[data-thanks="quote"] .pg-thanks__v[data-ty="quote"]{display:block}
html:not([data-thanks="basic"]) .sx-path[data-ty="basic"],html[data-thanks="basic"] .sx-path[data-ty="not-basic"]{display:none}

/* ===========================================================
   CLOSING CTA: THE STREET AT DUSK, held still. Boss, 2026-10-20:
   every page ends on the homepage's dusk storefronts, so a dark
   CTA never runs straight into the dark footer with no divider.
   No scroll animation here: this is the homepage scene's FINAL
   frame: the sun has set, the windows are lit, the hills stand
   against the last of the sky, and a green ground runs under the
   shops. Desktop shows three shops; phones and upright tablets one,
   wearing the TMG sign.
   Needs the storefront drawings (#shopBack, #sk-*, #litGlass ...)
   inlined once in the page.
   =========================================================== */
.pg-dusk{position:relative;overflow:hidden;color:#fff;background:var(--green-deep);
  display:flex;flex-direction:column;min-height:clamp(620px,92svh,920px);text-align:center}
.pg-dusk__sky{position:absolute;inset:0;
  background:radial-gradient(64% 42% at 60% 96%,rgba(232,181,71,.42) 0%,rgba(232,181,71,0) 66%),
    radial-gradient(120% 86% at 14% 0%,rgba(6,14,20,.92) 0%,rgba(6,14,20,0) 66%),
    linear-gradient(180deg,#07130F 0%,#10201A 30%,#1A2B21 56%,#2E3527 76%,#5E4C2E 92%,#8A6B3A 100%)}
.pg-dusk__hills{position:absolute;left:0;right:0;bottom:26%;height:34%}
.pg-dusk__hills svg{width:100%;height:100%}
/* height matches the hills' bottom:26%, so ground meets hills on one line */
.pg-dusk__ground{position:absolute;left:0;right:0;bottom:0;height:26%;background:linear-gradient(180deg,#1C2D21 0%,#17251B 100%)}
.pg-dusk .wrap{position:relative;z-index:6;flex:none;padding-top:clamp(64px,10svh,124px)}
.pg-dusk .h2{color:#fff;margin:0 auto;max-width:18ch}
.pg-dusk .lede{margin:20px auto 0;max-width:52ch;color:rgba(255,255,255,.82)}
.pg-dusk__street{position:relative;z-index:2;flex:1 1 auto;min-height:0;margin-top:clamp(12px,2.4svh,40px);
  display:flex;align-items:flex-end;justify-content:center;gap:clamp(6px,1vw,18px)}
.pg-dusk__street .shopsvg{width:min(31%,430px);max-width:none;height:auto;display:block;filter:drop-shadow(0 34px 50px rgba(5,12,8,.6))}
.pg-dusk__street .shopsvg:nth-child(2){position:relative;z-index:2;--agglass:#CBD7DA}
.pg-dusk__street .shopsvg:nth-child(3){--tatglass:.14;--tatink:#1B2630}
@media (max-width:1000px), (max-width:1100px) and (orientation:portrait){
  .pg-dusk__street .shopsvg:nth-child(1),.pg-dusk__street .shopsvg:nth-child(3){display:none}
  .pg-dusk__street .shopsvg:nth-child(2){width:min(118%,620px);--skag-generic:none;--skag-tmg:block}
}
@media (max-width:640px){
  .pg-dusk{min-height:clamp(560px,88svh,760px)}
  .pg-dusk .h2{font-size:1.7rem}
  .pg-dusk .lede{font-size:.92rem;line-height:1.5;margin-top:12px}
}
/* Phones: the sun just peeking over the ridge, held still. Boss, 2026-10-20.
   It sits BEFORE the hills in the markup, so the hills cover its lower half. */
.pg-dusk__sun{display:none}
@media (max-width:1000px), (max-width:1100px) and (orientation:portrait){
  .pg-dusk__sun{display:block;position:absolute;left:84%;top:50%;width:min(46vw,210px);aspect-ratio:1;border-radius:50%;translate:-50% -50%;
    background:radial-gradient(circle,rgba(255,236,196,.98) 0%,rgba(255,206,130,.85) 15%,rgba(240,160,80,.42) 30%,rgba(232,140,60,.12) 48%,rgba(232,140,60,0) 68%)}
  .pg-dusk__sky::after{content:"";position:absolute;inset:0;
    background:radial-gradient(80% 30% at 84% 50%,rgba(255,190,110,.4) 0%,rgba(232,140,70,.16) 44%,rgba(232,140,70,0) 76%)}
}
/* Desktop: the ground meets the hills at the top of the shop windows, as in
   the hero and One Team. Boss, 2026-10-20: at 26% it sat high above the
   roofs. The shops stand on the section's floor and are min(31vw,430px)
   wide; the drawing is 1200x760 and the window tops are at y331, so the
   line is that width x 760/1200 x (760-331)/760 = x .3575 up. */
@media (min-width:1001px) and (orientation:landscape), (min-width:1101px){
  .pg-dusk__hills{bottom:calc(min(31vw,430px) * .3575)}
  .pg-dusk__ground{height:calc(min(31vw,430px) * .3575)}
}
/* Desktop gets the still sun too (Boss, 2026-10-20), right of the button,
   centered just above the ridge. The hills' top edge sits at 100% minus their
   bottom minus their 34% height, and the ridge line is about 7% below that. */
@media (min-width:1001px) and (orientation:landscape), (min-width:1101px){
  .pg-dusk__sun{display:block;position:absolute;left:76%;top:calc(73% - min(31vw,430px) * .3575);width:min(20vw,280px);aspect-ratio:1;border-radius:50%;translate:-50% -50%;
    background:radial-gradient(circle,rgba(255,236,196,.98) 0%,rgba(255,206,130,.85) 15%,rgba(240,160,80,.42) 30%,rgba(232,140,60,.12) 48%,rgba(232,140,60,0) 68%)}
  .pg-dusk__sky::after{content:"";position:absolute;inset:0;
    background:radial-gradient(46% 30% at 76% 58%,rgba(255,190,110,.34) 0%,rgba(232,140,70,.14) 44%,rgba(232,140,70,0) 76%)}
}
/* The ground was #1C2D21, the same as the hills' lowest band (#1B2E1F), so
   the two read as one shape and the only visible edge sat above the roofs.
   A lighter evening green makes the line show at the window tops. Desktop. */
@media (min-width:1001px) and (orientation:landscape), (min-width:1101px){
  .pg-dusk__ground{background:linear-gradient(180deg,#34503A 0%,#263D2C 100%)}
}

/* ===========================================================
   STICKY CALL-TO-ACTION BAR, phones only. Boss, 2026-10-20: the
   audit and a call button always one tap away, as on client
   sites like SD Liquidation. Every page EXCEPT the homepage,
   whose pinned scenes are fitted to the exact screen height and
   would lose their last cards behind it. Hidden while the menu
   drawer is open. The page gets bottom padding so the footer's
   last line is never covered.
   =========================================================== */
.mcta{display:none}
@media (max-width:760px){
  .mcta{display:grid;grid-template-columns:1.35fr 1fr;gap:10px;position:fixed;z-index:55;left:0;right:0;bottom:0;
    padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));
    background:rgba(9,20,14,.9);border-top:1px solid rgba(255,255,255,.1);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .mcta .btn{min-height:50px;padding:12px 14px;font-size:.95rem;white-space:nowrap}
  body:has(.mcta){padding-bottom:calc(70px + env(safe-area-inset-bottom))}
  body:has(#drawer[open]) .mcta{display:none}
}
/* Boss, 2026-10-20: two flat halves edge to edge across the bottom, the way
   the SD Liquidation site does it, not two pills on a strip. Call on the
   left in the dark green, the audit on the right in gold. */
@media (max-width:760px){
  .mcta{grid-template-columns:1fr 1fr;gap:0;padding:0;border-top:0;background:var(--green-deep)}
  .mcta a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:calc(58px + env(safe-area-inset-bottom));
    padding:0 12px env(safe-area-inset-bottom);font-family:var(--head);font-weight:700;font-size:1.02rem;letter-spacing:-.01em;text-decoration:none;white-space:nowrap}
  .mcta__call{color:#fff;background:var(--green-deep);border-top:1px solid rgba(255,255,255,.12)}
  .mcta__call svg{width:20px;height:20px}
  .mcta__audit{color:#241C06;background:var(--gold)}
  .mcta a:active{filter:brightness(.92)}
  body:has(.mcta){padding-bottom:calc(58px + env(safe-area-inset-bottom))}
}

/* A Google review quote. Words verbatim from the review (typos may be fixed,
   length trims marked with an ellipsis); the site names the BUSINESS, not the
   person who posted it. See the homepage's reviews section for the rules. */
.pg-quote{position:relative;margin:0;padding:clamp(22px,2.6vw,32px);border-radius:var(--r);background:#fff;color:var(--charcoal);
  box-shadow:0 0 0 1px rgba(31,58,42,.08),0 24px 50px -32px rgba(31,58,42,.45)}
.pg-quote__top{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.pg-quote__top svg{width:20px;height:20px;flex:none}
.pg-quote__st{display:inline-flex;gap:2px}
.pg-quote__st svg{width:18px;height:18px}
.pg-quote blockquote{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(1.08rem,1.6vw,1.32rem);line-height:1.5;color:var(--green);text-wrap:pretty}
.pg-quote figcaption{margin-top:16px;font-size:.88rem;line-height:1.45;color:var(--slate)}
.pg-quote figcaption b{display:block;font-family:var(--head);font-weight:700;font-size:.98rem;color:var(--charcoal)}
.pg-quote a{color:inherit}
.pg-quote__src{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;font-size:.84rem;color:var(--slate);text-decoration:underline;text-underline-offset:3px}
.pg-quote--wide{max-width:860px;margin-inline:auto;text-align:center}
.pg-quote--wide .pg-quote__top{justify-content:center}
.pg-quote--wide blockquote{font-size:clamp(1.2rem,2.2vw,1.6rem)}
/* Process steps: the number sits above the headline on desktop, and to its
   left once the steps stack into one column (Boss, 2026-10-20, mobile). */
@media (max-width:980px){
  .pg-step__hd{display:flex;align-items:center;gap:14px;margin-bottom:12px}
  .pg-step__hd .pg-num{margin:0;flex:none}
  .pg-card .pg-step__hd h3{margin:0}
}
/* Real build, phones: label and headline first, then the screenshot, then
   the description and the button (Boss, 2026-10-20, mobile only). The text
   wrappers dissolve so their children can be reordered around the picture. */
@media (max-width:860px){
  .pg-split--rb{gap:0}
  .pg-split--rb .pg-split__txt,.pg-split--rb .pg-head{display:contents}
  .pg-split--rb .eyebrow{order:1}
  .pg-split--rb .h2{order:2}
  .pg-split--rb .pg-shot{order:3;margin-top:24px}
  .pg-split--rb .lede{order:4;margin-top:22px}
  .pg-split--rb .cta__row{order:5;margin-top:24px}
}

/* The call button with a tappable "(or you can text)" under it, ported from the
   homepage hero. Boss, 2026-10-20: same on the service page heroes. */
.herocta{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-top:30px}
.telpair{display:flex;flex-direction:column;align-items:center;gap:6px}
/* 44px tall so it is a real tap target; the text size is unchanged */
.telpair__sms{min-height:44px;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--sans);font-size:.78rem;line-height:1;color:rgba(255,255,255,.66);
  text-decoration:underline;text-decoration-color:rgba(255,255,255,.28);text-underline-offset:3px;
  display:inline-flex;align-items:center;min-height:32px;padding-inline:8px;
}
.telpair__sms:hover{color:var(--gold);text-decoration-color:var(--gold)}
@media (max-width:1000px), (max-width:1100px) and (orientation:portrait){
  .herocta{flex-direction:column;align-items:stretch;gap:8px;margin-top:16px;width:min(100%,296px)}
  .herocta .btn{width:100%;min-height:50px;padding:11px 20px;font-size:.92rem}
  .telpair{align-items:stretch;gap:2px}
  .telpair__sms{font-size:.78rem;align-self:center}
}
