


/* standalone-preview reset: browsers apply body{margin:8px} by default, which shows as a gutter on all four sides around .ac (WP/Elementor themes reset this at publish) */
html,body{margin:0;padding:0}

.ac{
  --head:"Bricolage Grotesque","Segoe UI",sans-serif;
  --cond:"Bricolage Grotesque","Segoe UI",sans-serif;
  --body:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif; /* mono retired (owner: consistent 2-font system) - labels keep their uppercase + letter-spacing */

  --navy:#0F2036;        /* steel-navy band (Lone Star kit) */
  --navy-2:#1B3A5C;
  --ink:#22303F;         /* warm near-black body text */
  --head-ink:#132437;
  --blue:#1E3A5F; --blue-2:#2E5379;
  --red:#D2232A; --red-2:#E23B41; --red-deep:#A81B21;
  --gold:#D99A2B;        /* gold carries emphasis on navy */
  --paper:#FAF8F3;       /* limestone canvas */
  --paper-2:#FFFFFF;
  --muted:#5A6472;
  --muted-2:#8D96A2;
  --line:rgba(19,36,55,.14);
  --line-2:rgba(19,36,55,.07);
  --line-d:rgba(255,255,255,.15);
  --line-d2:rgba(255,255,255,.08);
  --btn-text:#fff;

  --wrap:1140px; --sp:80px;
  --r:6px; --r-lg:12px; --pill:999px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --sh-sm:0 1px 2px rgba(15,32,54,.05),0 6px 20px -12px rgba(15,32,54,.22);
  --sh:0 40px 90px -44px rgba(15,32,54,.55),0 8px 24px -18px rgba(15,32,54,.4);

  font-family:var(--body);color:var(--ink);background:var(--paper);
  font-size:1.0625rem;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:clip;
}
.ac *{box-sizing:border-box;margin:0;padding:0}
.ac img{max-width:100%;display:block}
.ac a{color:inherit;text-decoration:none}
.ac h1,.ac h2,.ac h3,.ac h4,.ac .mega__h,.ac .foot__h{font-family:var(--head);color:var(--head-ink);line-height:1.08;font-weight:800;letter-spacing:-.015em;text-wrap:balance}
.ac h1{font-family:var(--cond);font-weight:900;font-size:clamp(3rem,6.6vw,6rem);line-height:.94;letter-spacing:-.02em}
.ac .sechead{font-size:clamp(2.05rem,4vw,3.35rem);font-weight:800}
.ac h3{font-size:clamp(1.2rem,1.7vw,1.45rem);font-weight:700}
.ac p{max-width:64ch;text-wrap:pretty}
.ac .wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.ac section{padding:var(--sp) 0;position:relative}
.ac .red{color:var(--red)}
.ac .num{font-variant-numeric:tabular-nums lining-nums}

/* sprite icons */
.ac .i{width:1em;height:1em;display:inline-block;vertical-align:-.13em;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ac .i--f{fill:currentColor;stroke:none}

/* visible fact-gate placeholder pill */
.ac .nsrc{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-weight:600;font-size:.6rem;letter-spacing:.06em;color:#7A5B00;background:#FBF3DF;border:1px dashed var(--gold);border-radius:999px;padding:3px 10px;vertical-align:middle;text-transform:none}

/* mono eyebrow / spec label */
.ac h2.kicker{margin:0}
.ac .kicker{display:inline-flex;align-items:center;gap:11px;font-family:var(--mono);font-weight:500;font-size:.72rem;
  letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
.ac .kicker::before{content:"";width:7px;height:7px;background:var(--gold);transform:rotate(45deg);flex:none}
.ac .kicker b{color:var(--red);font-weight:600}
.ac .on-dark .kicker{color:#93A5BC}

/* buttons -two-button system: primary red, secondary blue; +line/+light variants; scale(1.05) hover */
.ac .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--cond);font-weight:800;
  font-size:.96rem;letter-spacing:.05em;text-transform:uppercase;line-height:1;padding:16px 28px;border:1.5px solid transparent;border-radius:var(--r);
  cursor:pointer;color:var(--btn-text);transform-origin:center;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .2s,color .2s,border-color .2s}
.ac .btn .i{width:18px;height:18px}
.ac .btn--primary{background:linear-gradient(135deg,var(--red-2),var(--red-deep));box-shadow:0 16px 34px -16px rgba(210,35,42,.42)}
.ac .btn--secondary{background:linear-gradient(135deg,var(--blue-2),var(--blue))}
.ac .btn--line{background:transparent;color:var(--head-ink);border-color:var(--line)}
.ac .btn--line:hover{border-color:var(--head-ink)}
.ac .btn--light{background:#fff;color:var(--navy)}
.ac .btn--ghost{background:transparent;color:#fff;border-color:var(--line-d)}
.ac .btn:hover{transform:scale(1.05)}
.ac .btn:focus-visible,.ac a:focus-visible,.ac button:focus-visible,.ac summary:focus-visible{outline:3px solid var(--red);outline-offset:3px}

.ac .tlink{font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--red);
  display:inline-flex;align-items:center;gap:9px;font-size:.86rem}
.ac .tlink .i{width:16px;height:16px;transition:transform .3s var(--ease)}
.ac .tlink:hover .i{transform:translateX(5px)}
.ac .on-dark .tlink{color:#E8B54D}

/* photo treatment -one consistent quiet duotone across the page */
.ac .shot{position:relative;overflow:hidden;border-radius:var(--r-lg);background:var(--navy);border:1px solid rgba(19,36,55,.08);
  box-shadow:0 30px 60px -24px rgba(15,32,54,.38),0 8px 20px -10px rgba(15,32,54,.22),14px 14px 0 -4px rgba(217,154,43,.16)}
.ac .shot img{width:100%;height:100%;object-fit:cover;filter:grayscale(.16) contrast(1.03) brightness(.97);transition:transform .8s var(--ease)}
.ac .shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,32,54,.06),rgba(15,32,54,.34));pointer-events:none}
.ac .shot--frame{outline:1px solid var(--line);outline-offset:8px}

/* ---------- TOPBAR (house chrome grammar: rating | live weather ribbon | license+phone) ---------- */
.ac .topbar{background:var(--navy);color:#B9C6D6;font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;padding:8px 0}
.ac .topbar .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:0 20px;max-width:none;padding-left:clamp(18px,3.4vw,54px);padding-right:clamp(18px,3.4vw,54px)}
.ac .topbar a{text-decoration:none;color:#fff}
.ac .topbar .star{color:var(--gold)}
.ac .topbar__rating{justify-self:start;display:flex;align-items:center;gap:7px;white-space:nowrap}
.ac .topbar__contact{justify-self:end;display:flex;align-items:center;gap:5px;white-space:nowrap}
.ac .topbar__wx{justify-self:center;display:flex;align-items:center;justify-content:center;gap:8px 16px;flex-wrap:wrap;padding:3px 22px;border-left:1px solid rgba(255,255,255,.18);border-right:1px solid rgba(255,255,255,.18)}
.ac .wxbar__now{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.ac .wxbar__ic{width:17px;height:17px;display:inline-grid;place-items:center;color:var(--gold)}
.ac .wxbar__ic svg{width:17px;height:17px}
.ac .wxbar__loc{color:#fff;font-weight:600}
.ac .wxbar__temp{color:#fff}
.ac .wxbar__cond{opacity:.85}
.ac .wxbar__msg{white-space:nowrap}
.ac .wxbar__msg a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
/* the topbar temp flips F to C (house tflip) */
.ac .tflip{position:relative;display:inline-block;min-width:3.8em;text-align:center;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.45,.05,.2,1)}
.ac .tflip.show-c{transform:rotateX(180deg)}
.ac .tflip__face{display:block;color:#fff;font-weight:600;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.ac .tflip__c{position:absolute;inset:0;transform:rotateX(180deg)}
@media(max-width:1500px){
  .ac .topbar{font-size:.68rem;letter-spacing:.02em}
  .ac .topbar .wrap{gap:0 12px;padding-left:clamp(12px,1.8vw,24px);padding-right:clamp(12px,1.8vw,24px)}
  .ac .topbar__wx{gap:5px 12px;padding:2px 12px}
  .ac .topbar__rating .rword{display:none}
}
@media(max-width:1024px){.ac .topbar__wx .wxbar__msg{display:none}}
@media(max-width:920px){.ac .topbar__contact{display:none}}
@media(max-width:560px){.ac .topbar__rating{display:none}.ac .topbar__wx{border-left:0;border-right:0;padding-left:0;padding-right:0}}
@media(max-width:380px){.ac .topbar__wx .wxbar__cond{display:none}}

/* ---------- NAV (house nav--mega: glass sticky; desktop grid = logo | centered menu | call) ---------- */
.ac .nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.ac .nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:14px;padding-bottom:14px}
@media(min-width:941px){.ac .nav .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}.ac .nav .logo{justify-self:start}.ac .nav .menu{justify-self:center}.ac .nav .navcall{justify-self:end}}
.ac .logo{display:inline-flex;align-items:center;line-height:0;text-decoration:none}
.ac .logo__img{height:46px;width:auto;display:block}
.ac .brand{display:inline-flex;align-items:center;gap:13px} /* footer white-plate lockup */
.ac .brand__logo{height:48px;width:auto;display:block}
.ac .brand--plate{background:#fff;border-radius:10px;padding:9px 14px}
.ac .brand--plate .brand__logo{height:44px}
.ac .nav .menu{display:flex;gap:24px;align-items:center}
.ac .nav .menu>a{font-family:var(--body);font-size:.92rem;font-weight:500;color:var(--ink);text-decoration:none}
.ac .nav .menu>a:hover{color:var(--red)}
.ac .nav .navcall{font-family:var(--mono);font-weight:600;font-size:.92rem;color:#fff;background:var(--red);padding:10px 16px;border-radius:3px;text-decoration:none;white-space:nowrap}

/* mega menu: opens on hover AND focus-within (keyboard); click/data-open for touch; centered on the page */
.ac .nav--mega{position:sticky;top:0}
.ac .nav--mega .wrap{position:relative}
.ac .megawrap{position:static}
.ac .megawrap>.megatrig{position:relative;display:inline-flex;align-items:center;gap:6px;font-size:.92rem;font-weight:500;color:var(--ink);text-decoration:none;background:none;border:0;font-family:var(--body);cursor:pointer;padding:0}
.ac .megawrap>.megatrig:hover{color:var(--red)}
.ac .megawrap>.megatrig svg{width:13px;height:13px;transition:transform .2s}
.ac .megawrap[data-open="true"]>.megatrig svg,.ac .megawrap:hover>.megatrig svg{transform:rotate(180deg)}
.ac .mega{position:absolute;left:50%;top:calc(100% + 12px);transform:translateX(-50%) translateY(8px);
  width:min(1000px,calc(100vw - 40px));background:linear-gradient(180deg,#fff 0%,#FCFAF5 100%);border:1px solid var(--line);border-radius:16px;
  box-shadow:0 36px 90px rgba(15,32,54,.26);padding:26px;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .18s,transform .18s,visibility .18s;z-index:70}
.ac .megawrap:hover .mega,.ac .megawrap:focus-within .mega,.ac .megawrap[data-open="true"] .mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.ac .mega::after{content:"";position:absolute;top:-7px;left:min(350px,calc(50vw - 170px));margin-left:-7px;width:14px;height:14px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}/* seats the caret under the Services trigger at every width: trigger center = 50vw - 150 (centered menu); panel left = max(20px, 50vw - 500) */
.ac .megawrap>.megatrig::after{content:"";position:absolute;left:-40px;right:-40px;bottom:-22px;height:24px}/* hover bridge under the trigger */
.ac .mega::before{content:"";position:absolute;left:-200px;right:-200px;top:-18px;height:20px}/* hover bridge across the gap to the centered panel */
.ac .mega__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 28px}
/* featured LIVE-PREVIEW band (navy panel grammar: gradient + small star watermark + gold tlink):
   full-width row seated UNDER the columns (owner call: use the dead space, not a tall side card);
   hovering/focusing any service link swaps its photo + copy (JS mf-swap) */
.ac .mega__feat{grid-column:1/-1;position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;gap:18px;
  border-radius:12px;background:linear-gradient(150deg,var(--navy-2),var(--navy));border:1px solid var(--line-d2);
  padding:12px 20px 12px 12px;text-decoration:none;transition:border-color .25s var(--ease);min-height:134px}/* reserves the tallest swap state (2-line desc) so the panel never jumps while browsing */
.ac .mega__feat:hover{border-color:rgba(217,154,43,.5)}
.ac .mega__feat .mf-ph{position:relative;width:200px;flex:none;border-radius:8px;overflow:hidden;aspect-ratio:16/9}
.ac .mega__feat .mf-ph img{width:100%;height:100%;object-fit:cover;filter:saturate(1.08) contrast(1.04)}
.ac .mega__feat .mf-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,32,54,.04),rgba(15,32,54,.26))}
.ac .mega__feat .mf-star{position:absolute;right:-22px;bottom:-26px;width:110px;height:110px;fill:var(--gold);opacity:.08;pointer-events:none;transform:rotate(12deg)}
.ac .mega__feat .mf-body{flex:1;min-width:0}
.ac .mega__feat .mf-tag{font-family:var(--mono);font-weight:600;font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:#E8B54D}
.ac .mega__feat b{display:block;font-family:var(--cond);font-weight:800;font-size:1.14rem;color:#fff;margin:3px 0 4px}
.ac .mega__feat p{font-size:.84rem;line-height:1.5;color:#B4C2D3;margin:0;max-width:56ch}
.ac .mega__feat .tlink{color:#E8B54D;font-size:.76rem;flex:none;margin-left:auto;white-space:nowrap;position:relative;z-index:1}
/* smooth swap: content eases OUT fast (.14s) and settles back IN soft (.32s); the card frame never moves.
   Under the global reduced-motion kill both transitions zero out = instant swap. */
.ac .mega__feat .mf-ph img,.ac .mega__feat .mf-body,.ac .mega__feat .tlink{transition:opacity .32s var(--ease),transform .32s var(--ease)}
.ac .mega__feat.mf-out .mf-ph img,.ac .mega__feat.mf-out .mf-body,.ac .mega__feat.mf-out .tlink{opacity:0;transform:translateY(4px);transition-duration:.14s;transition-timing-function:ease-in}
.ac .mega__col h4,.ac .mega__col .mega__h{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin:0 0 13px;padding-bottom:11px;border-bottom:1px solid var(--line)}
/* column chips = per-category gradient tiles w/ WHITE glyphs (owner reference; house category hues AC=blue / Heat=orange / IAQ=green) */
.ac .mega__col h4 .ci,.ac .mega__col .mega__h .ci{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;color:#fff;
  box-shadow:0 3px 8px -2px rgba(15,32,54,.35),inset 0 1px 0 rgba(255,255,255,.28)}
.ac .mega__col--ac h4 .ci,.ac .mega__col--ac .mega__h .ci{background:linear-gradient(135deg,#4AA3E8,#2673B8 62%,#1E5C96)}
.ac .mega__col--heat h4 .ci,.ac .mega__col--heat .mega__h .ci{background:linear-gradient(135deg,#F49B47,#E0731F 62%,#C75B1E)}
.ac .mega__col--air h4 .ci,.ac .mega__col--air .mega__h .ci{background:linear-gradient(135deg,#57BA7C,#2E8B57 62%,#247347)}
.ac .mega__col h4 .ci svg,.ac .mega__col .mega__h .ci svg{width:17px;height:17px}.ac .mega__col h4 a.megahead,.ac .mega__col .mega__h a.megahead{display:flex;align-items:center;gap:9px;color:inherit;text-decoration:none}.ac .mega__col h4 a.megahead:focus-visible,.ac .mega__col .mega__h a.megahead:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:4px}
.ac .mega__col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ac .mega__col a{display:flex;align-items:center;gap:9px;font-family:var(--body);font-size:.9rem;font-weight:500;color:var(--ink);text-decoration:none;text-transform:none;letter-spacing:0;transition:color .14s,padding .14s}
.ac .mega__col ul a::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--gold);flex:none;opacity:.75}/* the service-chip gold dot marker */
.ac .mega__col a:hover{color:var(--red);padding-left:3px}
.ac .mega__col a.all{font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.ac .mega__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.ac .mega__foot span{font-family:var(--mono);font-size:.78rem;color:var(--muted)}
.ac .mega__foot a{font-family:var(--mono);font-weight:600;font-size:.82rem;color:#fff;background:var(--red);padding:9px 16px;border-radius:4px;text-decoration:none;transition:transform .15s,box-shadow .15s}
.ac .mega__foot a:hover{color:#fff;transform:translateY(-1px);box-shadow:0 8px 18px rgba(210,35,42,.4)}

/* mobile: hamburger + right slide-in drawer (house navdrawer) */
.ac .navtoggle{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;align-items:center;justify-content:center;color:var(--navy)}
.ac .navtoggle svg{width:22px;height:22px}
.ac .navdrawer,.ac .navscrim{display:none}
@media(max-width:940px){
  .ac .nav--mega .menu{display:none}
  .ac .nav--mega .navtoggle{display:inline-flex}
  .ac .nav--mega .navcall{display:none}
  .ac .nav--mega .logo__img{height:40px}
  .ac .navdrawer .logo__img{height:34px}
  .ac .navdrawer{position:fixed;inset:0 0 0 auto;width:min(360px,86vw);background:#fff;z-index:120;box-shadow:-18px 0 50px rgba(15,32,54,.3);transform:translateX(100%);transition:transform .26s cubic-bezier(.2,.7,.2,1);overflow-y:auto;padding:18px 20px max(20px,env(safe-area-inset-bottom))}
  .ac .navdrawer.is-open{display:block;transform:none}
  .ac .navdrawer__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
  .ac .navdrawer__close{width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:1.4rem;line-height:1;color:var(--navy);cursor:pointer}
  .ac .navdrawer h4,.ac .navdrawer .mega__h{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin:18px 0 6px}
  .ac .navdrawer a{display:block;padding:10px 0;font-family:var(--body);font-size:.98rem;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-2)}
  .ac .navdrawer .ndgroup{border-bottom:1px solid var(--line-2)}
  .ac .navdrawer .ndgroup>summary{display:flex;align-items:center;justify-content:space-between;padding:11px 0;font-family:var(--body);font-size:.98rem;font-weight:600;color:var(--ink);cursor:pointer;list-style:none}
  .ac .navdrawer .ndgroup>summary::-webkit-details-marker{display:none}
  .ac .navdrawer .ndgroup>summary::after{content:"+";font-family:var(--mono);color:var(--red);font-size:1.25rem;line-height:1;transition:transform .2s}
  .ac .navdrawer .ndgroup[open]>summary::after{transform:rotate(45deg)}
  .ac .navdrawer .ndgroup>a{padding:8px 0 8px 16px;font-size:.92rem;border-bottom:0;color:var(--muted)}
  .ac .navdrawer .ndgroup>a:last-child{padding-bottom:12px}
  .ac .navdrawer .navdrawer__cta{display:block;text-align:center;margin-top:16px;background:var(--red);color:#fff;border-radius:5px;padding:13px;font-weight:700;border-bottom:0}
  .ac .navscrim.is-open{display:block;position:fixed;inset:0;background:rgba(15,32,54,.5);z-index:110}
}
.ac .drawer{position:fixed;inset:0 0 0 auto;width:min(360px,86vw);background:#fff;z-index:120;transform:translateX(100%);transition:transform .34s var(--ease);box-shadow:var(--sh);padding:24px;overflow-y:auto}
.ac .drawer.open{transform:translateX(0)}
.ac .drawer__x{margin-left:auto;display:flex;background:none;border:none;cursor:pointer;color:var(--navy)}.ac .drawer__x .i{width:26px;height:26px}
.ac .drawer a{display:block;padding:13px 6px;border-bottom:1px solid var(--line-2);font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--head-ink)}
.ac .drawer a.sub{padding-left:18px;font-weight:500;text-transform:none;letter-spacing:0;font-family:var(--body);color:var(--ink);font-size:.95rem}
.ac .drawer .btn{width:100%;margin-top:16px}
.ac .scrim{position:fixed;inset:0;background:rgba(15,32,54,.55);backdrop-filter:blur(2px);z-index:110;opacity:0;visibility:hidden;transition:.28s}
.ac .scrim.open{opacity:1;visibility:visible}
.ac [data-modal]{opacity:0;visibility:hidden;pointer-events:none;transition:.2s}
.ac [data-modal].open{opacity:1;visibility:visible;pointer-events:auto}

/* ---------- HERO (asymmetric editorial) ---------- */
.ac .hero{background:var(--paper);position:relative;overflow:hidden}
.ac .hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,68px);align-items:center;
  padding-top:clamp(48px,6vw,86px);padding-bottom:clamp(56px,7vw,104px)}
.ac .hero__idx{position:absolute;top:clamp(20px,5vw,60px);right:clamp(20px,5vw,52px);font-family:var(--cond);font-weight:900;
  font-size:clamp(6rem,14vw,13rem);line-height:1;color:var(--head-ink);opacity:.03;pointer-events:none;user-select:none}
.ac .hero h1{margin-bottom:22px}
.ac .hero h1 .red{color:var(--red)}
.ac .hero__say{font-family:var(--head);font-style:italic;font-weight:600;font-size:clamp(1.1rem,1.7vw,1.4rem);color:var(--blue);margin-bottom:20px;max-width:30ch}
.ac .hero__lead{font-size:1.12rem;color:var(--muted);max-width:46ch;margin-bottom:32px}
.ac .hero__cta{display:flex;flex-wrap:wrap;gap:13px}
.ac .hero__spec{display:flex;flex-wrap:wrap;gap:0;margin-top:38px;border-top:1px solid var(--line)}
.ac .hero__spec div{flex:1;min-width:130px;padding:18px 22px 0 0;border-right:1px solid var(--line-2)}
.ac .hero__spec div:last-child{border-right:none;padding-right:0}
.ac .hero__spec b{display:block;font-family:var(--cond);font-weight:900;font-size:1.5rem;color:var(--head-ink);line-height:1}
.ac .hero__spec span{display:block;font-family:var(--mono);font-weight:500;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.ac .hero__media{position:relative}
.ac .hero__media .shot{aspect-ratio:4/5;box-shadow:var(--sh)}
.ac .hero__tag{position:absolute;left:-14px;bottom:26px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;box-shadow:var(--sh-sm);display:flex;align-items:center;gap:12px}
.ac .hero__tag .st{color:var(--gold);font-size:.82rem;letter-spacing:2px;line-height:1}
.ac .hero__tag b{font-family:var(--cond);font-weight:900;font-size:1.15rem;color:var(--head-ink);line-height:1}
.ac .hero__tag span{display:block;font-family:var(--mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:3px}

/* ---------- POSITIONING STATEMENT ---------- */
/* ---------- ABOUT US (white, after hero) ---------- */
/* light band carries the hero's air: faint gold crown + blue floor whisper (kept low so the band reads LIGHT) + film grain + a lone-star watermark */
.ac .abt{position:relative;isolation:isolate;/* border-bottom removed v6.0e: no hairline under the services band's V */
  background:
    linear-gradient(180deg,#fff 0 50px,rgba(255,255,255,0) 150px),
    linear-gradient(0deg,#FCFBF6 0 50px,rgba(255,255,255,0) 150px),
    radial-gradient(54% 30% at 50% -3%,rgba(217,154,43,.08),transparent 70%),
    radial-gradient(64% 34% at 50% 105%,rgba(64,116,178,.09),transparent 72%),
    linear-gradient(180deg,#fff 0%,#FBF9F3 50%,#FCFBF6 100%)}
.ac .abt::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.04;
  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='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.ac .abt__star{position:absolute;right:-64px;top:50%;transform:translateY(-50%) rotate(12deg);width:min(30vw,360px);height:auto;fill:var(--gold);opacity:.06;pointer-events:none;z-index:0}
@media(prefers-reduced-motion:no-preference){.ac .abt__star{animation:abtstarbreath 6s ease-in-out infinite}}
@keyframes abtstarbreath{0%,100%{opacity:.045}50%{opacity:.085}}
@media(max-width:900px){.ac .abt__star{width:46vw;right:-34px;top:38%;opacity:.05}}
@media(max-width:600px){.ac .abt__star{display:none}}
.ac .abt>.wrap{position:relative;z-index:1}
.ac .abt__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,5vw,84px);align-items:center}
.ac .abt .sechead{margin:18px 0 0}
/* hero-signature: hand-drawn gold swash under the emphasis words (reuses the hero @keyframes h30swash; default-drawn so it is visible even if the reveal/JS never fires) */
.ac .abt .sechead .red{position:relative;color:var(--red);white-space:nowrap}/* nowrap keeps the absolutely-positioned swash tracking a single-line box (mirrors the hero em guard) */
.ac .abt__swash{position:absolute;left:-1.5%;bottom:-.04em;width:103%;height:.16em;overflow:visible;pointer-events:none;filter:drop-shadow(0 1px 3px rgba(6,14,26,.14))}
.ac .abt__swash path{fill:none;stroke:#EDAD3C;stroke-width:9;stroke-linecap:round;stroke-dasharray:230;stroke-dashoffset:0}/* #EDAD3C = the hero swash's brighter display gold, exact device match */
@media(prefers-reduced-motion:no-preference){.ac .abt__swash path{animation:h30swash .9s var(--ease) .5s both}}
.ac .abt__lead{margin:18px 0 0;font-size:1.05rem;line-height:1.7;color:var(--muted);max-width:56ch}
.ac .abt__lead--intro{font-size:1.16rem;line-height:1.62;color:#33414F;max-width:52ch}
.ac .abt__lead em{font-style:normal;font-weight:700;color:var(--ink)}
/* credentials block removed entirely (owner call; the hero shelf carries the same four KPIs) */
/* premium air: About breathes like the dark bands (desktop only; mobile keeps the compact rhythm) */
@media(min-width:768px){.ac section.abt{padding-top:104px;padding-bottom:104px}}
.ac .abt__cta{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin:32px 0 0}
.ac .abt__note{margin:16px 0 0;font-family:var(--mono);font-weight:500;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}/* --muted (5.7:1) not --muted-2 (2.84:1, failed AA on limestone) */
.ac .abt__note b{color:var(--head-ink)}
.ac .abt__media{position:relative;display:block;max-width:520px;margin-inline:auto;padding:0 26px 40px 0}
.ac .abt__dots{position:absolute;right:0;top:-24px;width:132px;height:132px;background:radial-gradient(var(--gold) 1.6px,transparent 1.6px);background-size:15px 15px;opacity:.4}/* dialed from .55 so the gold swash leads and the photo column is not gold-heavy */
.ac .abt__ph{position:relative;margin:0;border-radius:16px;overflow:hidden;box-shadow:var(--sh);background:var(--navy)}
.ac .abt__ph img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.08) brightness(1.03) contrast(1.02)}
.ac .abt__ph--a{aspect-ratio:4/4.5;border:1px solid rgba(217,154,43,.4);outline:1px solid rgba(19,36,55,.1);outline-offset:8px;box-shadow:var(--sh),-14px 14px 0 -4px rgba(217,154,43,.16)}
.ac .abt__ph--b{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:3/3.5;border:6px solid #fff;border-radius:14px;box-shadow:0 24px 50px -18px rgba(15,32,54,.45)}
.ac .abt__tag{position:absolute;top:12px;left:12px;background:rgba(15,32,54,.78);color:var(--gold);font-family:var(--mono);font-weight:500;font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;padding:6px 11px;border-radius:var(--pill)}

/* ---------- SECTION HEAD ---------- */
.ac .shead{max-width:52ch}
.ac .shead p{color:var(--muted);margin-top:18px}
.ac .on-dark .shead p{color:#B9C6D6}

/* ---------- SERVICES (editorial index -DARK band, white cards pop) ---------- */
/* hero-echo atmosphere: blue floor glow + faint gold crown + grain, so the dark bands share one air */
.ac section.svc{padding-top:104px;padding-bottom:104px;isolation:isolate;
  background:radial-gradient(46% 36% at 10% 102%,rgba(64,116,178,.22),transparent 70%),
    radial-gradient(42% 30% at 88% -2%,rgba(217,154,43,.09),transparent 70%),
    linear-gradient(180deg,var(--navy) 0%,#16304F 100%)}
.ac section.svc::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.05;
  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='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.ac .svc .wrap{position:relative;z-index:2}
.ac .svc .kicker{color:#93A5BC}
.ac .svc__head .sechead{color:#fff}
.ac .svc .tlink{color:#E8B54D}
/* centered head + 3x2 photo-card grid (owner reference); photo TAG pills replaced the counter pills, icon chips retired (fewer-icons lesson) */
.ac .svc__head{text-align:center;max-width:960px;margin:0 auto 36px}
.ac .svc__head .sechead{margin-top:14px}
.ac .svc__head>p{color:#B4C2D3;font-size:1.02rem;max-width:46ch;margin:12px auto 0}
.ac .svc__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}/* 2-col <=1024 and 1-col <=767 live in the responsive cascade below (order matters: that block comes later) */
.ac .svc__list{border-top:1px solid var(--line)}
/* service CARDS (owner reference anatomy: photo + tag pill / title / lead / gold-diamond bullets / foot link) */
.ac .svcgrp{position:relative;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;background:var(--paper-2);
  transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease)}
.ac .svcgrp:hover{transform:translateY(-4px);box-shadow:0 34px 70px -30px rgba(4,10,20,.7)}
.ac .svcgrp__ph{position:relative;aspect-ratio:16/10;overflow:hidden}
.ac .svcgrp__ph img{width:100%;height:100%;object-fit:cover;filter:saturate(1.08) contrast(1.04) brightness(1.02);transition:transform .6s var(--ease)}/* vivid per the hero rule: never grey-washed */
.ac .svcgrp:hover .svcgrp__ph img{transform:scale(1.04)}
.ac .svcgrp__ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,32,54,.05),rgba(15,32,54,.22))}
.ac .svcgrp__tag{position:absolute;left:12px;bottom:12px;z-index:2;display:inline-flex;align-items:center;gap:7px;
  background:rgba(15,32,54,.85);color:#fff;font-family:var(--mono);font-weight:600;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
  padding:6px 11px;border-radius:6px}
.ac .svcgrp__tag::before{content:"";width:6px;height:6px;background:var(--gold);transform:rotate(45deg);flex:none}
.ac .svcgrp__body{display:flex;flex-direction:column;flex:1;padding:18px 20px}
.ac .svcgrp__body h3{margin:0;font-size:1.16rem}
.ac .svcgrp__body>p{color:var(--muted);font-size:.92rem;line-height:1.6;margin:8px 0 0}
.ac .svcgrp__list{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--line-2);display:grid;gap:8px}
.ac .svcgrp__list li{position:relative;padding-left:17px;font-size:.88rem;font-weight:500;color:var(--ink)}
.ac .svcgrp__list li::before{content:"";position:absolute;left:1px;top:.42em;width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}
.ac .svcgrp .tlink{color:var(--red);margin-top:auto;padding-top:14px;font-size:.78rem}
/* SV-A: 3 category cards, each a single-column sub-service MENU list (owner pick 2026-07-11, replaced the 6-card grid).
   --cat resolves to gold (the .svcgrp default is declared last, winning over the category modifiers) = uniform gold accents;
   to color-code by category later, move the `.ac .svcgrp{--cat:var(--gold)}` line ABOVE the three modifiers. */
.ac .svcgrp--ac{--cat:#2673B8}
.ac .svcgrp--heat{--cat:#C75B1E}
.ac .svcgrp--iaq{--cat:#2E8B57}
.ac .svcgrp{--cat:var(--gold)}
.ac .svcgrp__top{position:absolute;left:0;right:0;top:0;height:4px;z-index:3;background:var(--cat)}
.ac .svcgrp__body h3{font-size:1.28rem}
.ac .svcgrp__lead{color:var(--muted);font-size:.92rem;line-height:1.6;margin:8px 0 0}
.ac .svsublabel{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line-2);font-family:var(--mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:#8A5F13}
.ac .svsub{list-style:none;margin:8px 0 0;padding:0}
.ac .svsub li+li{border-top:1px solid var(--line-2)}
.ac .svsub a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;font-size:.92rem;font-weight:500;color:var(--ink);transition:color .2s var(--ease)}
.ac .svsub a>span{position:relative;padding-left:17px}
.ac .svsub a>span::before{content:"";position:absolute;left:1px;top:.46em;width:6px;height:6px;background:var(--cat);transform:rotate(45deg)}
.ac .svsub .svarr{flex:none;width:15px;height:15px;fill:none;stroke:var(--cat);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:translateX(-5px);transition:opacity .2s var(--ease),transform .2s var(--ease)}
.ac .svsub a:hover{color:var(--cat)}
.ac .svsub a:hover .svarr{opacity:1;transform:none}
.ac .svcgrp .svcfoot{margin-top:auto;padding-top:16px}
.ac .svcgrp .svcfoot .tlink{color:var(--cat);font-size:.82rem;font-weight:700;padding-top:0}
.ac .svccomm{margin:22px auto 0;max-width:640px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;text-align:center;color:#B4C2D3;font-size:.98rem}
.ac .svccomm .tlink{color:#E8B54D;font-weight:700;font-size:.9rem}
/* brands = certified-team card row (owner reference): centered head + 5 white logo cards on a limestone band.
   Lead line is the DECK-VERBATIM install/service sentence - NO dealer-tier claims (guardrail). Marquee retired. */
.ac section.brands{padding:88px 0;background:
  linear-gradient(180deg,#FAF8F3 0 50px,rgba(255,255,255,0) 150px),
  linear-gradient(0deg,#FBF9F3 0 50px,rgba(255,255,255,0) 150px),
  radial-gradient(54% 30% at 50% -3%,rgba(217,154,43,.06),transparent 70%),
  linear-gradient(180deg,#FAF8F3 0%,#FBF9F3 100%)}/* end retuned #F6F3EB>#FBF9F3 at the slot swap (2026-07-10): band now hands off to the white reviews band over a hairline, not a dark V; #FBF9F3 = the value the rebates band used at this seam in v5.9k */
.ac .brands__head{text-align:center;max-width:960px;margin:0 auto 36px}
.ac .brands__head .sechead{margin:14px 0 12px}
.ac .brands__head p{color:var(--muted);font-size:1.02rem;margin:0 auto;max-width:56ch}
.ac .brands__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.ac .brands__card{display:grid;place-items:center;min-height:96px;padding:24px 18px;background:#fff;border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--sh-sm);transition:transform .3s var(--ease),border-color .3s var(--ease)}
.ac .brands__card:hover{transform:translateY(-3px);border-color:rgba(217,154,43,.5)}
.ac .brands__card img{height:34px;width:auto;max-width:100%}
.ac .brands__card--etc b{font-family:var(--cond);font-weight:800;font-size:1.02rem;line-height:1.3;color:var(--navy);text-align:center}
@media(max-width:1024px){.ac .brands__grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.ac .brands__grid{grid-template-columns:repeat(2,1fr)}.ac .brands__card{min-height:78px;padding:18px 14px}.ac .brands__card img{height:27px}}
.ac .svcrow{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:26px 6px;border-bottom:1px solid var(--line);
  position:relative;transition:padding .3s var(--ease)}
.ac .svcrow::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--red);transition:width .3s var(--ease)}
.ac .svcrow:hover{padding-left:20px}
.ac .svcrow:hover::before{width:3px}
.ac .svcrow__n{font-family:var(--mono);font-weight:500;font-size:.8rem;color:var(--muted-2);letter-spacing:.06em}
.ac .svcrow__m{min-width:0}
.ac .svcrow__m h3{color:var(--head-ink);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ac .svcrow__m h3 .feat{font-family:var(--mono);font-weight:600;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--red);padding:4px 8px;border-radius:100px}
.ac .svcrow__m p{font-size:.94rem;color:var(--muted);margin-top:5px;max-width:52ch}
.ac .svcrow__go{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--head-ink);flex:none;transition:.3s var(--ease)}
.ac .svcrow__go .i{width:18px;height:18px}
.ac .svcrow:hover .svcrow__go{background:var(--head-ink);color:#fff;border-color:var(--head-ink);transform:rotate(-45deg)}

/* ---------- SPEC SHEET (dark band -signature) ---------- */
.ac .spec{color:#fff;overflow:hidden;
  background:radial-gradient(46% 36% at 90% 102%,rgba(64,116,178,.2),transparent 70%),
    radial-gradient(40% 28% at 12% -2%,rgba(217,154,43,.08),transparent 70%),var(--navy)}
/* blueprint identity: faint drafting grid + grain behind the spec table */
.ac .spec::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.06;
  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='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E"),
    linear-gradient(rgba(255,255,255,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.55) 1px,transparent 1px);
  background-size:180px 180px,64px 64px,64px 64px}
/* PROOF BENTO (owner pick 2026-07-10, concept B): photo tile carries the flagship claim, mixed-size
   glass tiles break the uniform grid, claim 06 = numbers bar. No icon chips (fewer-icons taste). */
.ac .spec .b-head{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,64px);align-items:end}
.ac .spec .b-head .sechead{margin-top:14px}
.ac .spec .bh-r .spec__lead{margin-top:0}
.ac .spec .bh-r .spec__q{margin-top:22px;font-size:1.05rem}
.ac .spec .bento{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(150px,auto);gap:16px;margin-top:44px}
.ac .spec .tile{position:relative;border-radius:14px;padding:22px 24px;overflow:hidden;
  background:linear-gradient(165deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.09);transition:transform .35s var(--ease),border-color .35s var(--ease)}
.ac .spec .tile:hover{transform:translateY(-4px);border-color:rgba(217,154,43,.42)}
.ac .spec .tile .n{font-family:var(--mono);font-weight:600;font-size:.64rem;letter-spacing:.16em;color:var(--gold)}
.ac .spec .tile b{display:block;font-family:var(--head);font-weight:800;font-size:1.14rem;line-height:1.22;color:#fff;margin:10px 0 8px;text-wrap:balance}
.ac .spec .tile p{font-size:.92rem;line-height:1.6;color:#B4C2D3;max-width:44ch}
.ac .spec .t-ph{grid-column:span 5;grid-row:span 2;padding:0;display:flex;align-items:flex-end;min-height:380px;border-color:rgba(255,255,255,.14)}
.ac .spec .t-ph .ph{position:absolute;inset:0;background:url('/wp-content/uploads/alamo-assets/client-supplied/van/van-office-correct-wrap.webp') center/cover no-repeat}
.ac .spec .t-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(185deg,rgba(15,32,54,.05) 30%,rgba(15,32,54,.88) 78%)}
.ac .spec .t-ph .body{position:relative;z-index:2;padding:24px 26px}
.ac .spec .t-c2,.ac .spec .t-c4{grid-column:span 4}
.ac .spec .t-c3,.ac .spec .t-c5{grid-column:span 3}
.ac .spec .t-bar{grid-column:span 12;display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:center;
  background:linear-gradient(120deg,rgba(217,154,43,.14),rgba(255,255,255,.03) 55%);border-color:rgba(217,154,43,.3)}
.ac .spec .t-bar .nums{display:flex;gap:clamp(20px,3.5vw,46px);justify-content:flex-end;flex-wrap:wrap}
.ac .spec .t-bar .num{text-align:right}
.ac .spec .t-bar .num strong{display:block;font-family:var(--cond);font-weight:800;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1;color:#fff}
.ac .spec .t-bar .num strong em{font-style:normal;color:var(--gold)}
.ac .spec .t-bar .num span{font-family:var(--mono);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:#93A5BC}
.ac .spec .t-bar .num strong span{font:inherit;font-size:inherit;letter-spacing:inherit;text-transform:none;color:inherit}/* painter spans inside the big numeral keep display size (.num span label rule would shrink them) */
.ac .spec::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--red),transparent)}
/* .spec .wrap grid retired with the 2-col layout; the bento owns the section grid now */
.ac .spec .sechead{color:#fff}
.ac .spec__lead{color:#B9C6D6;margin-top:18px;font-size:1.05rem}
.ac .spec__q{margin-top:30px;padding-left:22px;border-left:2px solid var(--gold);font-family:var(--head);font-style:italic;font-weight:600;font-size:1.15rem;color:#E8EEF5;max-width:42ch}/* gold carries accents on navy (kit rule: red never accents dark) */
.ac .spec__who{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);margin-top:14px;font-style:normal}
.ac .spectable{border-top:1px solid var(--line-d)}
.ac .specrow{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:20px;padding:22px 0;border-bottom:1px solid var(--line-d2)}
.ac .specrow__k{font-family:var(--mono);font-weight:500;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#93A5BC}
.ac .specrow__v{font-family:var(--cond);font-weight:900;font-size:clamp(1.5rem,2.6vw,2.15rem);line-height:1;color:#fff;text-align:right}
.ac .specrow__v em{font-style:normal;color:var(--red-2)}
.ac .specrow__v s{font-family:var(--mono);font-weight:500;font-size:.62rem;letter-spacing:.14em;text-decoration:none;color:#93A5BC;display:block;margin-top:6px}

/* ---------- OWNER ---------- */
/* light band carries the hero air (About recipe); the lone-star watermark bleeds LEFT behind the photo (mirrors About's right bleed) */
.ac .owner{isolation:isolate;
  background:
    linear-gradient(180deg,#FAF8F3 0 50px,rgba(255,255,255,0) 150px),
    linear-gradient(0deg,#FCFBF6 0 50px,rgba(255,255,255,0) 150px),
    radial-gradient(54% 30% at 50% -3%,rgba(217,154,43,.07),transparent 70%),
    radial-gradient(64% 34% at 50% 105%,rgba(64,116,178,.08),transparent 72%),
    linear-gradient(180deg,var(--paper) 0%,#FBF9F3 55%,#FCFBF6 100%)}
.ac .owner::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.04;
  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='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.ac .owner>.wrap{position:relative;z-index:1}
.ac .owner__star{position:absolute;left:-64px;top:44%;transform:translateY(-50%) rotate(-12deg);width:min(28vw,340px);height:auto;fill:var(--gold);opacity:.06;pointer-events:none;z-index:0}
@media(prefers-reduced-motion:no-preference){.ac .owner__star{animation:abtstarbreath 7s ease-in-out infinite}}
@media(max-width:900px){.ac .owner__star{width:44vw;left:-34px;top:30%;opacity:.05}}
@media(max-width:600px){.ac .owner__star{display:none}}
/* owner photo vivid (hero rule: bright, never grey-washed), scoped so the generic .shot treatment stays for other uses */
.ac .owner .shot img{filter:saturate(1.08) brightness(1.03) contrast(1.02)}
.ac .owner .shot::after{background:linear-gradient(180deg,rgba(15,32,54,.04),rgba(15,32,54,.2))}
/* CONCEPT J "On the Job" (owner pick 2026-07-10): text LEFT, tall handshake photo RIGHT (borderless
   cinematic frame), creds ride a floating white proof card (house floating-card grammar, hero light chip) */
.ac .owner .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(36px,5vw,72px);align-items:center}
.ac .owner .jmedia{position:relative}
.ac .owner .jmedia .shot{aspect-ratio:4/4.4;box-shadow:var(--sh);border-radius:14px}
.ac .owner .jmedia .shot img{object-position:center 30%}
.ac .owner .jmedia .shot__tag{left:auto;right:12px}/* proof card owns the lower-left corner */
.ac .owner .oproof{position:absolute;left:-46px;bottom:34px;z-index:3;width:min(300px,84%);background:#FFFDF9;border-radius:12px;
  border-top:3px solid var(--gold);box-shadow:var(--sh);padding:18px 20px 8px}/* NOT .proof - that's the hero Google pill (inline-flex) and its layout leaks in */
.ac .owner .oproof .pt{font-family:var(--mono);font-weight:600;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.ac .owner .oproof .creds{margin-top:0;border-top:0;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.ac .owner .oproof .cred{border-right:0;border-bottom:1px solid var(--line-2);padding:12px 0}
.ac .owner .oproof .cred:nth-last-child(-n+2){border-bottom:0}
.ac .owner .jcta{margin-top:28px}
/* icon chips: block-render SVGs so they center perfectly in their tinted boxes (site-wide) */
.ac .abt__ic svg,.ac .svcgrp__ic svg{display:block}
.ac .shot__tag{position:absolute;left:12px;bottom:12px;z-index:2;display:inline-flex;align-items:center;gap:7px;
  background:rgba(15,32,54,.8);color:var(--gold);font-family:var(--mono);font-weight:500;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
  padding:6px 12px;border-radius:100px;border:1px solid rgba(217,154,43,.35)}
.ac .shot__tag svg{width:11px;height:11px;fill:var(--gold)}
.ac .owner__sig{font-family:var(--head);font-style:italic;font-weight:600;font-size:1.2rem;color:var(--blue);margin-top:24px;line-height:1.4;max-width:34ch}/* J sizing; the photo carries the drama now */
.ac .owner__signer{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:14px}
.ac .creds{display:flex;flex-wrap:wrap;gap:0;margin-top:30px;border-top:1px solid var(--line)}
.ac .cred{padding:16px 22px 0 0;border-right:1px solid var(--line-2)}
.ac .cred:last-child{border-right:none;padding-right:0}
.ac .cred b{display:block;font-family:var(--cond);font-weight:800;font-size:.98rem;color:var(--head-ink);text-transform:uppercase;letter-spacing:.02em}
.ac .cred span{display:block;font-family:var(--mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px}

/* ---------- MAINTENANCE PLANS (owner-approved M8R "Night Ledger, Tabbed", v5.9; dark band between the two light bands owner/reviews) ---------- */
/* band identity: grain + glows (NO ledger rules - that texture is pricing's), star watermark LEFT (pricing's sits right) */
.ac .mplansd{color:#fff;overflow:hidden;isolation:isolate;
  background:radial-gradient(46% 36% at 88% 102%,rgba(64,116,178,.2),transparent 70%),
    radial-gradient(40% 28% at 12% -2%,rgba(217,154,43,.09),transparent 70%),var(--navy)}
.ac section.mplansd{padding-top:104px;padding-bottom:104px}
.ac .mplansd::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.05;
  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='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.ac .mplansd>.wrap{position:relative;z-index:2}
.ac .mpd-star{position:absolute;left:-60px;top:50%;transform:translateY(-50%) rotate(-12deg);width:min(34vw,380px);height:auto;
  fill:var(--gold);opacity:.06;pointer-events:none;z-index:0}
@media(prefers-reduced-motion:no-preference){.ac .mpd-star{animation:abtstarbreath 8s ease-in-out infinite}}
.ac .mplansd .kicker{color:#93A5BC}
.ac .mplansd .sechead{color:#fff}
.ac .mplansd .sechead .red{color:var(--gold)}/* red never carries text on navy; gold takes the emphasis (final-band grammar) */
.ac .sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* layout: static story rail LEFT (pinned, nothing moves on a tab switch) - folder tabs + plan box RIGHT */
.ac .cM8R .mr-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(36px,5vw,84px);align-items:start}
.ac .cM8R .mr-rail{position:static}
.ac .cM8R .mr-rail .sechead{margin-top:14px}
.ac .cM8R .mr-rail .lead{margin-top:14px;color:#B9C6D6;font-size:1.02rem;line-height:1.62;max-width:46ch}
.ac .cM8R .mp-club{margin:12px 0 0;font-size:.95rem;color:#B9C6D6;max-width:46ch}
.ac .cM8R .mp-club b{font-family:var(--head);font-weight:700;color:#fff}
.ac .cM8R .mp-fine{margin:24px 0 0;font-size:.82rem;line-height:1.6;color:#8296AC;max-width:52ch}
.ac .cM8R .mp-cta{display:flex;align-items:center;gap:11px 22px;flex-wrap:wrap;margin-top:30px;justify-content:flex-start}
.ac .cM8R .mp-cta small{font-size:.88rem;color:#B4C2D3;max-width:40ch;line-height:1.5}
/* FILE-FOLDER tabs (owner refs): both plan names are folder tabs on the box's top edge; the open one
   is taller, gold-cream, and fuses into the white folder; the closed one is solid steel, unmissable */
.ac .cM8R .mr-tabs{display:flex;align-items:flex-end;gap:8px;padding:0 18px;margin-bottom:0}
.ac .cM8R .mr-tab{appearance:none;font:inherit;cursor:pointer;text-align:left;position:relative;z-index:2;flex:1;
  border-radius:12px 12px 0 0;padding:12px 18px 11px;
  background:#AFBCCB;border:0;color:var(--ink);
  transition:background .25s var(--ease)}
.ac .cM8R .mr-tab:hover{background:#C6D0DC}
.ac .cM8R .mr-tab b{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-family:var(--cond);font-weight:800;font-size:1.05rem;line-height:1.2;color:#2A3A4D}
.ac .cM8R .mr-tab[aria-selected="true"]{background:linear-gradient(180deg,#F3E4BE 0%,#F7EDD6 100%);padding-top:17px;margin-bottom:-1px;z-index:3}/* warm gold-cream index tab glued on the folder; selection tint, NOT the CTA gold */
.ac .cM8R .mr-tab[aria-selected="true"] b{color:var(--head-ink)}
.ac .cM8R .mtier{font-family:var(--mono);font-weight:600;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;border-radius:100px;flex:none}
.ac .cM8R .mtier--best{background:var(--red);color:#fff}
.ac .cM8R .mtier--enh{background:var(--blue-2);color:#fff}
/* the plan box: warm-white folder; on switch only the CONTENT rises (box static = no seam tear, no flicker) */
.ac .cM8R .mr-panel{position:relative;overflow:hidden;isolation:isolate;border-radius:16px;padding:30px 34px 30px;
  background:linear-gradient(180deg,#fff 0%,#FBF8F1 100%);
  box-shadow:0 44px 88px -36px rgba(4,10,20,.85),0 10px 26px -14px rgba(4,10,20,.5)}
.ac .cM8R .mr-panel.appear .mr-phead,.ac .cM8R .mr-panel.appear .mp-list{animation:mrIn .38s var(--ease)}
@keyframes mrIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ac .cM8R .mr-panel .mr-pstar{position:absolute;right:-26px;bottom:-26px;width:130px;height:130px;fill:var(--navy);opacity:.05;pointer-events:none;transform:rotate(12deg);z-index:0}
.ac .cM8R .mr-panel>*{position:relative;z-index:1}
/* head, one calm stack: eyebrow > big price > breakdown > tagline */
.ac .cM8R .mr-phead{padding-bottom:22px;border-bottom:1px solid rgba(19,36,55,.1)}
.ac .cM8R .mr-phead small{display:block;font-family:var(--mono);font-weight:600;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:#A8761B;margin-bottom:16px}/* deep gold: AA on white (display gold fails there) */
.ac .cM8R .mr-prow{display:block}
.ac .cM8R .mpr__amt{display:block;font-family:var(--cond);font-weight:900;font-size:2.9rem;line-height:1;color:var(--head-ink);letter-spacing:-.01em}
.ac .cM8R .mpr__amt em{font-style:normal;font-weight:800;font-size:1.05rem;color:var(--gold)}
.ac .cM8R .mpr{display:block;text-align:left;margin-top:10px}
.ac .cM8R .mpr__per{display:block;font-size:.86rem;color:var(--muted)}
.ac .cM8R .mpr__yr{display:block;font-size:.8rem;color:var(--muted);margin-top:4px}
.ac .cM8R .mr-phead p{font-size:.98rem;line-height:1.65;color:var(--muted);max-width:56ch;margin:16px 0 0}
/* inclusion checklist: uniform gold check roundels, roomy two-column rhythm */
.ac .cM8R .mp-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:15px 44px;margin-top:24px}
.ac .cM8R .mp-list li{position:relative;padding-left:31px;font-size:.92rem;line-height:1.55;color:var(--ink)}
.ac .cM8R .mp-list li::before{content:"";position:absolute;left:0;top:.1em;width:19px;height:19px;border-radius:6px;
  background:rgba(217,154,43,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A8761B' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.6 4.6L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat}

/* ---------- CREDITS & REBATES (owner-approved R7 "Ledger Rail" w/ icon slots, v5.9k; light, DE-BOXED per owner - hairlines/type/gold only, no cards; slot = right after the plans band) ---------- */
.ac .cR7{isolation:isolate;
  background:
    linear-gradient(180deg,#fff 0 50px,rgba(255,255,255,0) 150px),
    linear-gradient(0deg,#FBF9F3 0 50px,rgba(255,255,255,0) 150px),
    radial-gradient(64% 34% at 50% 105%,rgba(64,116,178,.06),transparent 72%),
    linear-gradient(180deg,#fff 0%,#FBF9F3 100%)}/* starts #fff = the services band bottom-V color (slot swapped with brands 2026-07-10) */
.ac section.cR7{padding-top:80px;padding-bottom:80px}
.ac .cR7::before{content:"";position:absolute;top:64px;bottom:64px;left:0;right:0;z-index:0;pointer-events:none;opacity:.035;
  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='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.ac .cR7>.wrap{position:relative;z-index:1}
.ac .cR7 .r7grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,5vw,84px);align-items:start}
.ac .cR7 .r7rail .sechead{margin-top:14px}
.ac .cR7 .r7rail .lead{margin-top:14px;color:var(--muted);font-size:1.02rem;line-height:1.62;max-width:46ch}
.ac .cR7 .r7fine{margin-top:20px;font-size:.82rem;line-height:1.6;color:var(--muted);max-width:52ch}
.ac .cR7 .r7rail .tlink{margin-top:24px}
.ac .cR7 .r7row{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;padding:24px 0 22px;border-top:1px solid var(--line)}
.ac .cR7 .r7row:last-child{border-bottom:1px solid var(--line)}
/* icon slot v2 (owner call 2026-07-10): simple premium stroke glyphs on a flat warm-tint chip,
   chip centered vertically against the whole row (spans h3+p). Recipe = the plans check-roundel
   scaled up (matte gold tint + deep-gold stroke) - flat, no glow/shadow (anti-slop stays honored) */
.ac .cR7 .r7ic{grid-row:1/3;align-self:center;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;
  background:rgba(217,154,43,.13);color:#A8761B;transition:background .3s var(--ease)}
.ac .cR7 .r7row:hover .r7ic{background:rgba(217,154,43,.21)}
.ac .cR7 .r7ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;display:block}
.ac .cR7 .r7row h3{align-self:center}
.ac .cR7 .r7row p{grid-column:2;font-size:.9rem;line-height:1.58;color:var(--muted);max-width:56ch}

/* ---------- CONTACT FORM (owner pick F1 "The Folder Desk" round 2, v5.9m/n; ported v5.9o) ----------
   Dark band between two light bands (ea above, FAQ below). Copy = the GATED v5.9m deck VERBATIM.
   Form is VISUAL-ONLY until the submit path lands (owner call, see the 9b markup comment). */
.ac .fdk{color:#fff;overflow:hidden;isolation:isolate;
  background:radial-gradient(46% 36% at 88% 102%,rgba(64,116,178,.2),transparent 70%),
    radial-gradient(40% 28% at 12% -2%,rgba(217,154,43,.09),transparent 70%),var(--navy)}
.ac section.fdk{padding-top:118px;padding-bottom:118px}
.ac .fdk::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.05;
  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='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.ac .fdk>.wrap{position:relative;z-index:2}
.ac .fdk-star{position:absolute;right:-60px;top:50%;transform:translateY(-50%) rotate(12deg);width:min(34vw,380px);height:auto;
  fill:var(--gold);opacity:.06;pointer-events:none;z-index:0}
@media(prefers-reduced-motion:no-preference){.ac .fdk-star{animation:abtstarbreath 8s ease-in-out infinite}}
.ac .fdk .kicker{color:#93A5BC}
.ac .fdk .sechead{color:#fff}
.ac .fdk .sechead .red{color:var(--gold)}/* red never carries text on navy; gold takes the emphasis */
.ac .fdk input:focus-visible,.ac .fdk textarea:focus-visible{outline:3px solid var(--red);outline-offset:3px}
/* form primitives (F1 finish folded into the base: only F1 shipped) */
.ac .fcform__t{font-family:var(--head);color:var(--head-ink);font-weight:700;line-height:1.08;font-size:clamp(1.35rem,1.9vw,1.6rem)}
.ac .fcform__t::before{content:"";display:inline-block;width:9px;height:9px;background:var(--gold);transform:rotate(45deg);margin-right:13px;vertical-align:2px}/* the kicker diamond, carried onto the card title */
.ac .fcform__s{font-size:.95rem;line-height:1.6;color:var(--muted);margin-top:8px}
.ac .fcfield{display:grid;gap:7px}
.ac .fcfield label{font-family:var(--mono);font-weight:600;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#8A5F13}/* darker than the display deep gold: AA at label size on the warm card */
.ac .fcfield input,.ac .fcfield textarea{font:inherit;font-size:.98rem;line-height:1.45;color:var(--ink);width:100%;
  padding:13px 15px;background:#FCFBF8;border:1px solid rgba(19,36,55,.16);border-radius:10px;box-shadow:inset 0 1px 2px rgba(19,36,55,.04);
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease)}
.ac .fcfield input:hover,.ac .fcfield textarea:hover{border-color:rgba(19,36,55,.3)}
.ac .fcfield textarea{resize:vertical;min-height:96px}
.ac .fcfield input:focus,.ac .fcfield textarea:focus{background:#fff;border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,154,43,.22)}
.ac .fcfield input:focus:not(:focus-visible),.ac .fcfield textarea:focus:not(:focus-visible){outline:none}/* mouse keeps the quiet gold ring; keyboard keeps the red outline */
.ac .fcconsent{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;cursor:pointer;margin-top:20px;padding-top:20px;border-top:1px solid rgba(19,36,55,.08)}
.ac .fcconsent input{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin-top:3px;flex:none;cursor:pointer;
  border:1.5px solid rgba(19,36,55,.45);border-radius:5px;background:#fff;transition:background .2s,border-color .2s}/* .45 boundary: 3:1 UI minimum */
.ac .fcconsent input:checked{border-color:#A8761B;
  background:#A8761B url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.6 4.6L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat}
.ac .fcconsent small{font-size:.76rem;line-height:1.55;color:var(--muted)}
.ac .fcrows h3{color:#fff;font-size:clamp(1.14rem,1.5vw,1.28rem)}
.ac .fcrows p{font-size:.92rem;line-height:1.6;color:#B9C6D6;max-width:52ch}
/* F1 layout: white folder card on a ghost second sheet LEFT, chip rows + cream phone bar RIGHT */
.ac .cF1 .f1grid{display:grid;grid-template-columns:.96fr 1.04fr;gap:clamp(36px,5vw,84px);align-items:start}
.ac .cF1 .f1cw{position:relative}
.ac .cF1 .f1cw::before{content:"";position:absolute;left:22px;top:22px;right:-12px;bottom:-12px;border-radius:18px;z-index:0;
  background:linear-gradient(160deg,rgba(243,228,190,.15),rgba(243,228,190,.03) 60%);pointer-events:none}/* the sheet under the folder: quiet desk-stack depth */
.ac .cF1 .f1card{position:relative;overflow:hidden;isolation:isolate;border-radius:18px;padding:36px 36px 32px;z-index:1;
  background:linear-gradient(180deg,#fff 0%,#FBF8F1 100%);border:1px solid rgba(19,36,55,.07);
  box-shadow:0 54px 100px -40px rgba(4,10,20,.9),0 12px 28px -14px rgba(4,10,20,.55)}
.ac .cF1 .f1card .f1cstar{position:absolute;right:-26px;bottom:-26px;width:130px;height:130px;fill:var(--navy);opacity:.05;pointer-events:none;transform:rotate(12deg);z-index:0}
.ac .cF1 .f1card>*{position:relative;z-index:1}
.ac .cF1 .f1card .fcgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.ac .cF1 .f1card .fcfield--full{grid-column:1/-1}
.ac .cF1 .f1card .btn{margin-top:20px;width:100%}
.ac .cF1 .f1rows{margin-top:38px;display:grid;gap:0}
.ac .cF1 .f1row{display:grid;grid-template-columns:auto 1fr;gap:7px 20px;padding:23px 0 21px;border-top:1px solid var(--line-d2)}
.ac .cF1 .f1row:first-child{border-top:0;padding-top:0}
.ac .cF1 .f1ic{grid-row:1/3;align-self:center;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;
  background:rgba(217,154,43,.13);color:var(--gold);transition:background .3s var(--ease),transform .3s var(--ease)}/* the rebates icon-slot v2 grammar */
.ac .cF1 .f1row:hover .f1ic{background:rgba(217,154,43,.22);transform:translateY(-2px)}
.ac .cF1 .f1ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;display:block}
.ac .cF1 .f1row h3{align-self:center}
.ac .cF1 .f1row p{grid-column:2}
.ac .cF1 .f1bar{margin-top:30px;display:flex;align-items:center;gap:15px;border-radius:14px;padding:15px 20px;
  background:linear-gradient(180deg,#F3E4BE 0%,#F7EDD6 100%);color:var(--head-ink);
  border:1px solid rgba(19,36,55,.1);box-shadow:0 20px 44px -26px rgba(4,10,20,.8)}
.ac .cF1 .f1bar__ic{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--red-2),var(--red-deep));box-shadow:0 10px 20px -10px rgba(210,35,42,.55)}
.ac .cF1 .f1bar__ic .i{width:19px;height:19px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ac .cF1 .f1bar span{font-size:.96rem;line-height:1.45}
.ac .cF1 .f1bar a{font-family:var(--cond);font-weight:800;white-space:nowrap;border-bottom:2px solid rgba(19,36,55,.3)}
.ac .cF1 .f1bar a:hover{border-color:var(--red)}
/* ---------- CONTACT FORM: FR-C "Split Panel" (owner pick 2026-07-11; superseded cF1) ----------
   Two-panel object: LEFT photo under navy overlay (pitch + proof + tap-to-call) / RIGHT crafted form.
   Band carries subtle depth only: warm dusk floor-glow + corner-masked blueprint grid (no glints/blob). */
.ac .fenh .fdusk{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(58% 42% at 50% 113%,rgba(217,154,43,.17),transparent 70%)}
.ac .fenh .fbp{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.6;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(135% 100% at 50% 3%,#000 40%,transparent 84%);mask-image:radial-gradient(135% 100% at 50% 3%,#000 40%,transparent 84%)}
.ac .cFC .fcpanel{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;border-radius:24px;overflow:hidden;isolation:isolate;
  box-shadow:0 80px 140px -48px rgba(0,0,0,.7),inset 0 0 0 1px rgba(217,154,43,.2)}
.ac .cFC .fcphoto{position:relative;padding:44px 42px;display:flex;flex-direction:column;min-height:600px;color:#fff;isolation:isolate}
.ac .cFC .fcphoto::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--photo) center/cover no-repeat;transform:scale(1.02)}
.ac .cFC .fcphoto::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(155deg,rgba(13,26,46,.62) 0%,rgba(13,26,46,.8) 52%,rgba(13,26,46,.94) 100%)}
.ac .cFC .fcgbp{align-self:flex-start;display:inline-flex;align-items:center;gap:9px;padding:8px 14px;border-radius:999px;margin-bottom:20px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ac .cFC .fcgbp .st{color:var(--star-gold,#F4B942);letter-spacing:1.5px;font-size:.86rem}
.ac .cFC .fcgbp b{font-family:var(--cond);font-weight:800;font-size:.98rem}
.ac .cFC .fcgbp>span{font-size:.82rem;color:#DCE5F0}
.ac .cFC .fcphoto .sechead{color:#fff;margin:0 0 24px}
.ac .cFC .fcplist{display:grid;gap:17px;margin-bottom:auto}
.ac .cFC .fcp{display:grid;grid-template-columns:auto 1fr;gap:3px 15px}
.ac .cFC .fcp__ic{grid-row:1/3;align-self:start;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  background:rgba(217,154,43,.2);color:var(--gold)}
.ac .cFC .fcp__ic svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ac .cFC .fcp h3{color:#fff;align-self:center;font-size:1.02rem}
.ac .cFC .fcp p{grid-column:2;color:#C6D2E0;font-size:.87rem;line-height:1.5;margin-top:2px}
.ac .cFC .fcpbar{margin-top:26px;display:flex;align-items:center;gap:13px;border-radius:12px;padding:13px 17px;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.17)}
.ac .cFC .fcpbar__ic{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--red-2),var(--red-deep))}
.ac .cFC .fcpbar__ic svg{width:17px;height:17px;fill:#fff}
.ac .cFC .fcpbar span{font-size:.9rem;color:#eaf0f7}
.ac .cFC .fcpbar a{font-family:var(--cond);font-weight:800;color:#fff;white-space:nowrap;border-bottom:2px solid rgba(232,181,77,.6)}
.ac .cFC .fcpbar a:hover{border-color:var(--gold)}
.ac .cFC .fcformwrap{position:relative;padding:46px 46px 42px;background:linear-gradient(180deg,#ffffff 0%,#FBF4E8 100%);
  border-left:1px solid rgba(217,154,43,.22);display:flex;flex-direction:column;justify-content:center}
.ac .cFC .fcformwrap .fcform__t{color:var(--ink)}
.ac .cFC .fcformwrap .fcgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.ac .cFC .fcformwrap .fcfield--full{grid-column:1/-1}
.ac .cFC .fcformwrap .btn{margin-top:20px;width:100%}
.ac .cFC .fcstar{position:absolute;right:-30px;top:-30px;width:130px;height:130px;fill:var(--navy);opacity:.05;transform:rotate(12deg);pointer-events:none}
@media(max-width:900px){
  .ac .cFC .fcpanel{grid-template-columns:1fr}
  .ac .cFC .fcphoto{min-height:460px}
  .ac .cFC .fcformwrap{border-left:0;border-top:1px solid rgba(217,154,43,.22)}
}

/* ---------- SERVICE AREA MAP (owner pick E10 "The Halftone", concepts v5.9q-v5.9v.3; ported v5.9w) ----------
   light band, slot 6e (form > MAP > reviews). Live INERT Google embed: bare coords hide Google's own label pin
   under our marker; the symmetric 170px side-bleed crops Google's place card while the geographic center stays
   at 50%; brand wash + edge vignette. Gold dashed coverage outline (approximate, labeled), brand-star marker at
   center, halftone navy plate floating out of the stage's top-left corner (z-index 0, UNDER the map), NAP card
   with dot-chip area tags riding the bottom-left edge (card top tuned to the owner's red line, v5.9v.3).
   Ratings ONLY via the GBP painter spans. iframe is pointer-events:none = GET DIRECTIONS is the only map action. */
.ac .mband{isolation:isolate;padding:110px 0 104px;
  background:linear-gradient(180deg,#FCFBF6 0 50px,rgba(255,255,255,0) 150px),linear-gradient(0deg,#FAF8F3 0 50px,rgba(255,255,255,0) 150px),radial-gradient(54% 30% at 50% -3%,rgba(217,154,43,.05),transparent 70%),linear-gradient(180deg,#FCFBF6 0%,#FAF8F3 100%)}
.ac .mband::before{content:"";position:absolute;top:64px;bottom:64px;left:0;right:0;z-index:0;pointer-events:none;opacity:.035;
  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='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.ac .mband>.wrap{position:relative;z-index:1}
.ac .mv-lead{margin-top:14px;color:var(--muted);font-size:1.02rem;line-height:1.62;max-width:46ch}
.ac .mv-edge{font-size:.82rem;line-height:1.6;color:var(--muted);max-width:52ch}
.ac .mv-nap{display:grid;gap:8px}
.ac .mv-nap b{font-family:var(--head);font-weight:800;font-size:1.04rem;color:var(--head-ink)}
.ac .mv-nap span{font-size:.92rem;color:var(--ink);line-height:1.5}
.ac .mv-gbp{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted)}
.ac .mv-gbp .st{color:var(--gold);letter-spacing:1px;font-size:.78rem}
.ac .mv-gbp b{font-family:var(--cond);font-weight:800;color:var(--head-ink);font-size:.92rem}
.ac .mv-note{font-family:var(--mono);font-weight:500;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}/* --muted (5.7:1) not --muted-2 (2.8:1, fails AA on limestone): the outline disclaimer is meaningful text */
.ac .lmap{position:relative;overflow:hidden;isolation:isolate}
.ac .lmap iframe{display:block;position:absolute;top:0;left:-170px;width:calc(100% + 340px);height:100%;border:0;pointer-events:none;
  filter:grayscale(.86) sepia(.1) saturate(.94) contrast(1.02)}
.ac .lmap::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(86% 74% at 50% 46%,transparent 58%,rgba(15,32,54,.16) 100%)}
.ac .pmark{position:absolute;left:50%;top:50%;z-index:2;pointer-events:none;transform:translate(-50%,-100%)}
.ac .pmark__pin{position:relative;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;
  background:#fff;border:2.5px solid var(--gold);box-shadow:0 18px 36px -12px rgba(8,18,32,.55)}
.ac .pmark__pin::after{content:"";position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);
  width:0;height:0;border:9px solid transparent;border-top:13px solid #fff;filter:drop-shadow(0 3px 2px rgba(8,18,32,.25))}
.ac .pmark__pin svg{width:26px;height:26px;fill:var(--red)}
.ac .pmark__pulse{position:absolute;left:50%;top:50%;width:54px;height:54px;border-radius:50%;
  border:2px solid var(--gold);transform:translate(-50%,-50%);opacity:0}
@media(prefers-reduced-motion:no-preference){.ac .pmark__pulse{animation:pmarkpulse 2.8s var(--ease) infinite}}
@keyframes pmarkpulse{0%{transform:translate(-50%,-50%) scale(.6);opacity:.8}70%{transform:translate(-50%,-50%) scale(2);opacity:0}100%{transform:translate(-50%,-50%) scale(2);opacity:0}}
.ac .pmark__flag{position:absolute;left:64px;top:6px;white-space:nowrap;font-family:var(--mono);font-weight:700;font-size:.62rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--head-ink);padding:8px 13px;border-radius:999px;
  background:linear-gradient(180deg,#F3E4BE 0%,#F7EDD6 100%);box-shadow:0 12px 26px -12px rgba(8,18,32,.5)}
.ac .mdir{position:absolute;right:20px;bottom:20px;z-index:3}
.ac .p3head{display:grid;grid-template-columns:1fr auto;gap:18px 48px;align-items:end;margin-bottom:92px}/* runway for the plate overhang */
.ac .p3head .mv-edge{padding-bottom:6px;max-width:38ch}
.ac .p3stage{position:relative}
.ac .p3shell{position:relative;z-index:1;border-radius:24px;overflow:hidden;height:600px;
  border:2.5px solid rgba(217,154,43,.6);
  box-shadow:0 64px 120px -48px rgba(8,18,32,.6),0 14px 34px -18px rgba(8,18,32,.4),0 0 0 1px rgba(19,36,55,.06)}
.ac .p3shell .lmap{position:absolute;inset:0}
.ac .p3ring{position:absolute;inset:0;z-index:2;pointer-events:none}
.ac .p3ring ellipse{fill:rgba(217,154,43,.045);stroke:#D99A2B;stroke-width:2.2;stroke-dasharray:2 9;stroke-linecap:round}
.ac .p3card{position:absolute;left:36px;bottom:20px;z-index:5;width:min(680px,calc(100% - 72px));
  background:linear-gradient(180deg,#fff 0%,#FBF8F1 100%);border:1px solid rgba(19,36,55,.07);border-radius:18px;
  padding:26px 28px 24px;box-shadow:0 44px 88px -36px rgba(4,10,20,.7),0 10px 26px -14px rgba(4,10,20,.45)}
.ac .p3card .tlink{margin-top:18px}
.ac .p3areas{margin-top:18px;padding-top:18px;border-top:1px solid var(--line-2)}
.ac .p3areas small{display:block;font-family:var(--mono);font-weight:600;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:#8A5F13;margin-bottom:11px}
.ac .p3chips{display:flex;flex-wrap:wrap;gap:9px}
.ac .p3chips span{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:var(--head-ink);
  background:#fff;border:1px solid rgba(217,154,43,.4);border-radius:999px;padding:6px 13px 6px 10px;line-height:1.3;
  box-shadow:0 6px 14px -8px rgba(15,32,54,.28);transition:transform .25s var(--ease),border-color .25s var(--ease)}
.ac .p3chips span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 6px rgba(217,154,43,.75);flex:none}
.ac .p3chips span:hover{transform:translateY(-2px);border-color:var(--gold)}
.ac .p3after{height:60px}/* stage tail below the shell: keeps the card's float-out room; card bottom offset is measured against THIS, not the shell */
.ac .p3note{display:block;text-align:right;margin-top:10px}
.ac .p3bub{position:absolute;z-index:6;width:132px;height:132px;border-radius:50%;
  border:4px solid #fff;box-shadow:0 0 0 3px var(--gold),0 26px 52px -20px rgba(8,18,32,.6)}
.ac .p3bub img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.ac .p3bub b{position:absolute;left:50%;bottom:-13px;transform:translateX(-50%);white-space:nowrap;
  font-family:var(--mono);font-weight:700;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;
  background:linear-gradient(135deg,var(--navy),var(--navy-2));padding:7px 13px;border-radius:999px;
  box-shadow:0 10px 22px -10px rgba(8,18,32,.7)}
.ac .p3bub--rm{right:-28px;top:38%}
.ac .p3mini{position:absolute;right:26px;top:26px;z-index:6;display:grid;gap:3px;
  background:linear-gradient(180deg,#fff 0%,#FCFAF5 100%);border:1px solid var(--line);border-radius:14px;
  padding:14px 18px;box-shadow:0 24px 48px -22px rgba(8,18,32,.55)}
.ac .p3mini b{font-family:var(--head);font-weight:800;font-size:.98rem;color:var(--head-ink)}
.ac .p3pill{position:absolute;left:50%;top:24px;transform:translateX(-50%);z-index:6;display:inline-flex;align-items:center;gap:9px;
  white-space:nowrap;font-family:var(--mono);font-weight:600;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;
  background:rgba(15,32,54,.88);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:10px 18px;
  box-shadow:0 16px 34px -14px rgba(8,18,32,.7);backdrop-filter:blur(4px)}
.ac .p3pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px rgba(217,154,43,.9)}
.ac .fx{position:absolute;left:-42px;top:-38px;z-index:0;pointer-events:none;width:410px;height:340px;border-radius:26px;overflow:hidden;
  background:radial-gradient(60% 50% at 80% 0%,rgba(64,116,178,.25),transparent 70%),linear-gradient(160deg,#16283F 0%,#0C1828 100%)}
.ac .fx::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(217,154,43,.5) 1.6px,transparent 1.7px);
  background-size:15px 15px;-webkit-mask-image:linear-gradient(125deg,#000 10%,transparent 65%);mask-image:linear-gradient(125deg,#000 10%,transparent 65%)}

/* ---------- REVIEWS (owner pick R11 "The Banner Row", dark round v5.9x; ported v5.9y) ----------
   DARK band now (owner direction): form-band grammar (navy + glows + grain + breathing star
   watermark), proof banner (painter-fed score + blurb + Google chips) over a from-our-profile
   rule and a 3-card row of the SOURCED quote set (VERIFY wording + stars vs the live GBP before
   launch). Gold #E8B54D carries emphasis on navy; red = buttons only. Top V = map band bottom
   #FAF8F3 (badge rides it); bottom seam vs the dark pricing band is FLAT (dark-dark = no V;
   the pricing band's old white top V retired with this port). Ratings via the painter ONLY. */
.ac .rvb{color:#fff;overflow:hidden;isolation:isolate;
  background:radial-gradient(46% 36% at 88% 102%,rgba(64,116,178,.2),transparent 70%),
    radial-gradient(40% 28% at 12% -2%,rgba(217,154,43,.09),transparent 70%),var(--navy)}
.ac section.rvb{padding:128px 0 118px}
.ac .rvb::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.05;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='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.ac .rvb>.wrap{position:relative;z-index:2}
.ac .rvb-star{position:absolute;right:-60px;top:50%;transform:translateY(-50%) rotate(12deg);width:min(34vw,380px);height:auto;
  fill:var(--gold);opacity:.06;pointer-events:none;z-index:0}
@media(prefers-reduced-motion:no-preference){.ac .rvb-star{animation:abtstarbreath 8s ease-in-out infinite}}
.ac .rvb .kicker{color:#93A5BC}
.ac .rvb .sechead{color:#fff}
.ac .rvb .sechead .red{color:#E8B54D}/* red never carries text on navy; gold takes the emphasis */
.ac .rvlead{margin-top:16px;color:#B9C6D6;font-size:1rem;line-height:1.62;max-width:56ch}
.ac .rvhead{margin-bottom:44px}
.ac .rvstars{color:#E8B54D;letter-spacing:2.5px;font-size:.85rem;display:block}
.ac .rvcard{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.035));
  border:1px solid rgba(255,255,255,.11);border-radius:16px;padding:26px 26px 22px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 24px 48px -30px rgba(4,10,20,.9);
  transition:border-color .3s var(--ease),transform .3s var(--ease)}
.ac .rvcard:hover{border-color:rgba(232,181,77,.45);transform:translateY(-3px)}
.ac .rvcard .rvstars{margin-bottom:12px}
.ac .rvq{color:#E7EDF4;font-size:.96rem;line-height:1.66;text-wrap:pretty}
.ac .rvwho{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-d2)}
.ac .rvwho b{display:block;font-family:var(--head);font-weight:700;font-size:.92rem;color:#fff;line-height:1.25}
.ac .rvwho small{display:block;font-family:var(--mono);font-weight:500;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#93A5BC;margin-top:3px}
.ac .rvav{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;overflow:hidden;
  background:linear-gradient(135deg,var(--navy-2),var(--navy));border:1.5px solid rgba(232,181,77,.55);
  font-family:var(--cond);font-weight:800;font-size:.78rem;color:#E8B54D;letter-spacing:.04em}
.ac .rvav img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.ac .rvcta{display:flex;flex-wrap:wrap;gap:14px;margin-top:44px;position:relative;z-index:2}
.ac .btn--ghost{background:transparent;color:#fff;border-color:var(--line-d)}
.ac .btn--ghost:hover{border-color:#E8B54D;color:#E8B54D}
.ac .cRV11 .banner{position:relative;overflow:hidden;isolation:isolate;border-radius:20px;border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg,#16283F 0%,#0C1828 100%);padding:38px 40px;display:grid;grid-template-columns:auto 1fr auto;gap:20px 44px;align-items:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 40px 80px -40px rgba(4,10,20,.95);z-index:2}
.ac .cRV11 .banner::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;
  background:repeating-linear-gradient(115deg,transparent 0 26px,rgba(255,255,255,.025) 26px 27px)}
.ac .cRV11 .banner .bscore{text-align:center}
.ac .cRV11 .banner .bscore b{font-family:var(--cond);font-weight:800;font-size:4.6rem;line-height:1;color:#fff;display:block}
.ac .cRV11 .banner .bscore .rvstars{margin-top:8px;font-size:.95rem;letter-spacing:3px}
.ac .cRV11 .banner .bscore s{display:block;text-decoration:none;margin-top:8px;font-family:var(--mono);font-weight:500;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:#93A5BC}
.ac .cRV11 .banner .bmid h3{font-family:var(--head);font-weight:800;font-size:clamp(1.25rem,2vw,1.6rem);color:#fff}
.ac .cRV11 .banner .bmid p{margin-top:10px;font-size:.92rem;line-height:1.6;color:#B9C6D6;max-width:52ch}
.ac .cRV11 .banner .bchipcol{display:grid;gap:10px}
.ac .cRV11 .banner .bchip{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-weight:600;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  color:#E7EDF4;background:rgba(255,255,255,.06);border:1px solid var(--line-d);border-radius:8px;padding:11px 16px}
.ac .cRV11 .banner .bchip svg{width:15px;height:15px}
.ac .cRV11 .banner a.bchip:hover{border-color:#E8B54D;color:#E8B54D}
.ac .cRV11 .livebar{display:flex;align-items:center;gap:10px;margin:26px 0 18px;font-family:var(--mono);font-weight:600;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:#93A5BC;position:relative;z-index:2}
.ac .cRV11 .livebar::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 9px rgba(232,181,77,.9)}
.ac .cRV11 .rvslider{position:relative;z-index:2;overflow:hidden;margin:0 -2px}
.ac .cRV11 .rvtrack{--rvn:3;display:flex;gap:16px;padding:6px 2px 12px;transition:transform .55s var(--ease)}
.ac .cRV11 .rvtrack>*{flex:0 0 calc((100% - (var(--rvn) - 1)*16px)/var(--rvn));display:flex;flex-direction:column;justify-content:center}
.ac .cRV11 .rvtrack>figure.rvcard{display:flex}
.ac .cRV11 .rvtrack .rvq{flex:1 1 auto}
.ac .cRV11 .rvbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;position:relative;z-index:2}
.ac .cRV11 .rvnav{display:flex;gap:10px}
.ac .cRV11 .rvbtn{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-d);background:rgba(255,255,255,.05);color:#fff;cursor:pointer;
  display:grid;place-items:center;transition:border-color .25s var(--ease),color .25s var(--ease)}
.ac .cRV11 .rvbtn:hover{border-color:#E8B54D;color:#E8B54D}
.ac .cRV11 .rvbtn svg{width:18px;height:18px}
.ac .cRV11 .rvdots{display:flex;gap:8px}
.ac .cRV11 .rvdots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.22);transition:background .25s var(--ease)}
.ac .cRV11 .rvdots i.on{background:#E8B54D;box-shadow:0 0 8px rgba(232,181,77,.7)}
.ac .rvcard--fam{display:grid;align-content:center;gap:14px;background:linear-gradient(160deg,rgba(232,181,77,.17),rgba(232,181,77,.05) 60%),linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border-color:rgba(232,181,77,.36)}
.ac .rvcard--fam em{font-family:var(--head);font-style:normal;font-weight:700;font-size:1.12rem;line-height:1.42;color:#F6EFDF}
.ac .rvcard--fam>span{font-family:var(--mono);font-weight:600;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#E8B54D}
.ac .rvcard--go{display:grid;align-content:center;justify-items:start;gap:14px}
.ac .rvcard--go p{font-size:.95rem;color:#D8E0EA;line-height:1.6}
.ac .rvmore{display:inline-flex;align-items:center;gap:9px;font-family:var(--cond);font-weight:800;font-size:.86rem;
  letter-spacing:.06em;text-transform:uppercase;color:#E8B54D}
.ac .rvmore .i{width:16px;height:16px;transition:transform .3s var(--ease)}
.ac .rvmore:hover .i{transform:translateX(5px)}


/* ---------- FAQ (owner pick FQ3 "The First-Open Desk" + premium pass, v6.0c; MOVED to slot 7b
   after the reviews band, owner call - which also RESOLVES the v5.9y adjacent-darks pair) ----------
   split desk: oversized head + round red ask-disc in a sticky-free rail, ghost cards right; the
   open card turns solid warm white under a gold hairline. ONE OPEN AT A TIME (details name attr +
   the JS fallback near the painter). Top seam = the reviews band's bottom V (#FAF8F3 = this top);
   bottom = the pricing band's restored top V (#F9F6EF = this bottom). */
.ac section#faq{isolation:isolate;padding-top:104px;
  background:
    linear-gradient(180deg,#FAF8F3 0 50px,rgba(255,255,255,0) 150px),
    linear-gradient(0deg,#F9F6EF 0 50px,rgba(255,255,255,0) 150px),
    radial-gradient(54% 30% at 50% -3%,rgba(217,154,43,.06),transparent 70%),
    radial-gradient(64% 34% at 50% 105%,rgba(64,116,178,.07),transparent 72%),
    linear-gradient(180deg,#FAF8F3 0%,#F9F6EF 100%)}
.ac section#faq::before{content:"";position:absolute;top:64px;bottom:64px;left:0;right:0;z-index:0;pointer-events:none;opacity:.035;
  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='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.ac section#faq>.wrap{position:relative;z-index:1}
.ac .faq__star{position:absolute;right:-70px;top:54%;transform:translateY(-50%) rotate(12deg);width:min(26vw,320px);height:auto;fill:var(--gold);opacity:.055;pointer-events:none;z-index:0}
@media(prefers-reduced-motion:no-preference){.ac .faq__star{animation:abtstarbreath 7s ease-in-out infinite}}
@media(max-width:900px){.ac .faq__star{width:42vw;right:-36px;opacity:.045}}
@media(max-width:600px){.ac .faq__star{display:none}}

/* shared hero-signature swash for the templated sections (default-drawn: survives reduced-motion + no-JS) */
.ac .swemph{position:relative;white-space:nowrap}/* nowrap keeps the swash tracking a single-line box (the hero em guard) */
.ac .swash-g{position:absolute;left:-1.5%;bottom:-.04em;width:103%;height:.16em;overflow:visible;pointer-events:none;filter:drop-shadow(0 1px 3px rgba(6,14,26,.14))}
.ac .swash-g path{fill:none;stroke:#EDAD3C;stroke-width:9;stroke-linecap:round;stroke-dasharray:230;stroke-dashoffset:0}
@media(prefers-reduced-motion:no-preference){.ac .swash-g path{animation:h30swash .9s var(--ease) .5s both}}
.ac .final .swash-g{filter:drop-shadow(0 1px 4px rgba(6,14,26,.45))}/* heavier shadow on navy, matches the hero swash */
.ac .fqgrid{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(36px,6vw,90px);align-items:start}
.ac .fqrail .sechead{font-size:clamp(2.3rem,4.4vw,3.7rem);max-width:9ch}
.ac .fqrail>p{margin-top:16px;color:var(--muted);font-size:1rem;line-height:1.6;max-width:36ch}
.ac .fqask{display:inline-flex;align-items:center;gap:14px;margin-top:30px;font-family:var(--cond);font-weight:800;
  font-size:.98rem;letter-spacing:.04em;text-transform:uppercase;color:var(--head-ink)}
.ac .fqask i{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-style:normal;
  background:linear-gradient(135deg,var(--red-2),var(--red-deep));color:#fff;box-shadow:0 12px 24px -10px rgba(210,35,42,.55);
  transition:transform .3s var(--ease)}
.ac .fqask:hover i{transform:translateX(4px)}
.ac .fqask i svg{width:18px;height:18px}
.ac .fqcol{display:grid;gap:12px}
.ac .fqitem{background:rgba(255,255,255,.55);border:1px solid var(--line-2);border-radius:14px;
  transition:border-color .3s var(--ease),background .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}
.ac .fqitem:hover{border-color:rgba(217,154,43,.45);transform:translateY(-2px)}
.ac .fqitem summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:18px;padding:19px 22px;
  font-family:var(--head);font-weight:700;font-size:1.08rem;color:var(--head-ink)}
.ac .fqitem summary::-webkit-details-marker{display:none}
.ac .fqitem[open]{background:linear-gradient(180deg,#fff 0%,#FBF8F1 100%);border-color:var(--line);position:relative;overflow:hidden;
  box-shadow:0 28px 56px -28px rgba(15,32,54,.4);transform:none}
.ac .fqitem[open]::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--gold),rgba(217,154,43,.2))}
.ac .fqitem .qb{padding:2px 58px 22px 22px;color:var(--muted);font-size:.95rem;line-height:1.65;max-width:62ch}
.ac .fqitem .pm{margin-left:auto;flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;position:relative;
  background:rgba(217,154,43,.13);transition:background .3s var(--ease),transform .3s var(--ease)}
.ac .fqitem .pm::before,.ac .fqitem .pm::after{content:"";position:absolute;background:#A8761B}
.ac .fqitem .pm::before{width:12px;height:2px}
.ac .fqitem .pm::after{width:2px;height:12px}
.ac .fqitem[open] .pm{background:rgba(217,154,43,.28);transform:rotate(45deg)}
.ac .fqitem summary:hover .pm{background:rgba(217,154,43,.24)}

/* ---------- FINAL CTA ---------- */
/* hero-echo closer: blue floor rise + gold crown + grain */
.ac .final{color:#fff;text-align:center;overflow:hidden;
  background:linear-gradient(180deg,transparent 66%,rgba(12,27,48,.55) 87%,#0C1B30 100%),
    radial-gradient(60% 42% at 50% 106%,rgba(64,116,178,.3),transparent 72%),
    radial-gradient(42% 26% at 50% -4%,rgba(217,154,43,.12),transparent 70%),var(--navy)}
.ac .final::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.05;
  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='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- dark-section identity: shape dividers + center star + star watermark ---------- */
.ac .spec,.ac .final{isolation:isolate}
.ac section.spec,.ac section.pf{padding-top:104px;padding-bottom:104px}
.ac section.final{padding-top:104px;padding-bottom:110px}
.ac .spec .wrap,.ac .final .wrap,.ac .pf .wrap{position:relative;z-index:2}
.ac .secdiv{position:absolute;top:-1px;left:0;right:0;z-index:3;pointer-events:none;color:var(--paper)}
/* dividers = the hero strip's finalized grammar (owner call): straight planes dipping to a center NOTCH + gold ridge.
   BADGE GRAMMAR FLIPPED v6.0g (owner call): the star disc rides the BOTTOM dividers (dark band > light band seams)
   and is REMOVED from the top dividers; the hero crest keeps its original disc (frozen); final > footer is dark-dark, no badge. */
.ac .secdiv .wave{display:block;width:100%;height:48px}
.ac .secdiv--btm{top:auto;bottom:-1px}
.ac .secdiv__star{position:absolute;left:50%;top:44px;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;
  background:#fff;border:2px solid var(--gold);display:grid;place-items:center;
  box-shadow:0 0 0 6px currentColor,0 14px 30px rgba(8,18,32,.45)}
.ac .secdiv__star svg{width:26px;height:26px;fill:var(--gold)}
.ac .seambadge{position:absolute;left:50%;top:-4px;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;
  background:#fff;border:2px solid var(--gold);display:grid;place-items:center;z-index:4;
  box-shadow:0 0 0 6px currentColor,0 14px 30px rgba(8,18,32,.45)}/* v6.0g: the star disc rides the BOTTOM dividers (owner call); it is a child of the light band BELOW the seam (paint order: a later sibling's background covers an earlier band's overhang, so a badge inside the dark band's own secdiv--btm gets half-covered). top:-4px = the notch tip (44px into the 48px wave). currentColor = the band's top color. */
.ac .seambadge svg{width:26px;height:26px;fill:var(--gold)}
.ac .secstar{position:absolute;right:-60px;top:50%;transform:translateY(-50%) rotate(12deg);width:min(36vw,400px);height:auto;
  fill:var(--gold);opacity:.06;pointer-events:none;z-index:0}
@media(prefers-reduced-motion:no-preference){.ac .secstar{animation:abtstarbreath 8s ease-in-out infinite}}/* same slow breath as the hero/About stars */
@media(max-width:640px){
  .ac .secdiv .wave{height:26px}
  .ac .secdiv__star{width:46px;height:46px;top:24px;box-shadow:0 0 0 4px currentColor,0 10px 22px rgba(8,18,32,.45)}
  .ac .secdiv__star svg{width:20px;height:20px}
  .ac .seambadge{width:46px;height:46px;top:-2px;box-shadow:0 0 0 4px currentColor,0 10px 22px rgba(8,18,32,.45)}
  .ac .seambadge svg{width:20px;height:20px}
  .ac section.spec,.ac section.pf,.ac section.svc,.ac section.mplansd,.ac section.abt{padding-top:78px;padding-bottom:78px}
  .ac section.final{padding-top:78px;padding-bottom:84px}
  .ac section.rvb{padding-top:84px;padding-bottom:84px}/* even mobile rhythm: was 104/128 outliers (v6.7) */
  .ac .secstar{right:-40px;width:56vw;opacity:.05}
  .ac .mpd-star{left:-36px;width:52vw;opacity:.05}
}
.ac .final::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--red),transparent)}
.ac .final .wrap{position:relative;z-index:2}
.ac .final .kicker{justify-content:center;color:#93A5BC}
.ac .final .sechead{color:#fff;max-width:20ch;margin:0 auto 18px;font-size:clamp(2.2rem,4.6vw,3.6rem)}
.ac .final .sechead .red{color:var(--gold)}
.ac .final p{color:#C9D6E4;margin:0 auto 30px;max-width:52ch}
.ac .final__cta{display:flex;gap:13px;justify-content:center;flex-wrap:wrap}
.ac .final__usps{display:flex;flex-wrap:wrap;justify-content:center;gap:0;margin-top:44px;border-top:1px solid var(--line-d)}
.ac .final__usps span{padding:20px clamp(16px,3vw,34px) 0;font-family:var(--mono);font-weight:500;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#93A5BC;border-right:1px solid var(--line-d2)}
.ac .final__usps span:last-child{border-right:none}

/* ---------- FOOTER ---------- */
.ac .foot{position:relative;isolation:isolate;color:#93A5BC;font-size:.93rem;
  background:linear-gradient(180deg,#0C1B30 0%,#081222 55%,#050C18 100%)}
.ac .foot::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.05;
  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='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.ac .foot .wrap{position:relative;z-index:1;padding-top:64px;padding-bottom:30px}
.ac .foot__grid{display:grid;grid-template-columns:1.55fr 1fr 1fr 1fr;gap:40px 36px}
.ac .foot__brand p,.ac .foot__blurb{font-size:.9rem;margin-top:16px;color:#8296AC;max-width:40ch;line-height:1.62}
.ac .foot h2,.ac .foot .foot__h{color:#fff;font-family:var(--head);font-weight:700;font-size:1.02rem;margin-bottom:6px}
.ac .foot h2 a,.ac .foot .foot__h a{display:inline;padding:0;color:#fff}
.ac .foot h2 a:hover,.ac .foot .foot__h a:hover{color:#E8B54D}
.ac .foot h2::after,.ac .foot .foot__h::after{content:"";display:block;width:34px;height:2px;background:var(--red);border-radius:2px;margin:9px 0 15px}
.ac .foot a{display:block;padding:5px 0;color:#93A5BC}.ac .foot a:hover{color:#fff}
.ac .foot__nap{font-style:normal;margin:14px 0 0;font-size:.88rem;line-height:1.75;color:#8296AC}
.ac .foot__nap a{display:inline;padding:0;color:#93A5BC}
.ac .foot__nap a:hover{color:#E8B54D}
.ac .foot__brand .brand--plate{display:inline-flex;width:auto;padding:11px 18px;border-radius:12px;box-shadow:0 14px 30px -14px rgba(0,0,0,.6)}
.ac .foot__brand .brand--plate .brand__logo{height:48px}
.ac .foot__bar{border-top:1px solid var(--line-d2);margin-top:42px;padding-top:24px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#6F8095}
.ac .foot__bar a{color:#93A5BC;text-decoration:underline;display:inline}
.ac .foot__lic{margin-top:16px;font-family:var(--mono);font-weight:600;font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:#E8B54D}
.ac .foot__social{display:flex;gap:12px;margin-top:20px}
.ac .foot__social a{display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:10px;border:1px solid var(--line-d);background:rgba(255,255,255,.04);color:#93A5BC;transition:color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.ac .foot__social a:hover{color:#E8B54D;border-color:rgba(232,181,77,.55);transform:translateY(-2px)}
.ac .foot__social svg{width:19px;height:19px}
.ac .foot__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:46px;padding-top:30px;border-top:1px solid var(--line-d2)}
.ac .foot__nav a{display:inline;padding:0;color:#C6D2DF;font-family:var(--head);font-weight:600;font-size:.92rem}
.ac .foot__nav a:hover{color:#E8B54D}
.ac .foot__copy{text-align:center;margin-top:24px;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#6F8095}
.ac .foot__copy a{display:inline;color:#93A5BC;text-decoration:underline}

/* reveal */
.ac .rev{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.ac .rev.in{opacity:1;transform:none}
.ac .rev-2{transition-delay:.09s}.ac .rev-3{transition-delay:.18s}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1024px){
  .ac .hero .wrap,.ac .spec .wrap,.ac .owner .wrap,.ac .svc .wrap{grid-template-columns:1fr;gap:44px}
  .ac .hero__media{max-width:460px}
  .ac .abt__grid{grid-template-columns:1fr;gap:52px}
  .ac .abt__media{max-width:580px}
  .ac .spec .b-head{grid-template-columns:1fr;align-items:start;gap:18px}
  .ac .owner .jmedia{max-width:560px;margin:0 auto}
  .ac .spec .t-ph{grid-column:span 12;grid-row:auto;min-height:280px}
  .ac .spec .t-c2,.ac .spec .t-c3,.ac .spec .t-c4,.ac .spec .t-c5{grid-column:span 6}
  .ac .svc__grid{grid-template-columns:1fr 1fr}
  .ac .cM8R .mr-grid{grid-template-columns:1fr;gap:44px}
  .ac .cR7 .r7grid{grid-template-columns:1fr;gap:40px}
  .ac .cF1 .f1grid{grid-template-columns:1fr;gap:46px}
  .ac .cF1 .f1grid .fcrows{order:-1}/* pitch first, card second when stacked (CSS order only; DOM stays form-first for desktop reading order) */
  .ac .p3head{grid-template-columns:1fr}
  .ac .cRV11 .banner{grid-template-columns:1fr}
  .ac .cRV11 .rvtrack{--rvn:2}
  .ac .fqgrid{grid-template-columns:1fr}
  .ac .foot__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
}
@media(max-width:767px){
  .ac{font-size:1rem;--sp:20px}
  .ac .svc__grid{grid-template-columns:1fr}
  .ac .spec .t-c2,.ac .spec .t-c3,.ac .spec .t-c4,.ac .spec .t-c5{grid-column:span 12}
  .ac .spec .t-ph::after{background:linear-gradient(185deg,rgba(15,32,54,.16) 8%,rgba(15,32,54,.94) 58%)}/* tile grows taller than the desktop scrim at phone widths; darken sooner so the overlay copy stays readable */
  .ac .owner .oproof{position:relative;left:0;bottom:0;width:min(340px,92%);margin:-52px auto 0}/* card rides the photo bottom edge instead of covering the handshake */
  .ac .spec .t-bar{grid-template-columns:1fr}
  .ac .cM8R .mr-tab b{font-size:.98rem}
  .ac .cM8R .mp-list{grid-template-columns:1fr}
  .ac section.fdk{padding-top:88px;padding-bottom:88px}
  .ac .fdk-star{right:-40px;width:56vw;opacity:.05}
  .ac .cF1 .f1card{padding:26px 20px 22px}
  .ac .cF1 .f1cw::before{left:14px;top:14px;right:-8px;bottom:-8px}
  .ac .cF1 .f1card .fcgrid{grid-template-columns:1fr}
  .ac .mband{padding:88px 0}
  .ac .p3head{margin-bottom:40px}
  .ac .p3shell{height:440px}
  .ac .p3card{position:static;width:auto;margin-top:14px}
  .ac .p3after{height:0}
  .ac .p3bub--rm{display:none}
  .ac .p3mini{display:none}/* redundant at phone width (rating lives in the topbar + the reviews band right below) and it collided with GET DIRECTIONS */
  .ac .pmark__flag{left:50%;top:calc(100% + 16px);transform:translateX(-50%)}/* centered under the pin: at 390px the side flag ran off the shell's right edge */
  .ac .p3pill{max-width:calc(100% - 32px);white-space:normal;text-align:center;line-height:1.5;font-size:.6rem;padding:8px 14px}
  .ac .fx{left:-14px;top:-24px;transform:scale(.55);transform-origin:top left}
  .ac .cRV11 .rvtrack{--rvn:1}
  .ac .spec .t-bar .nums{justify-content:flex-start}
  .ac .spec .t-bar .num{text-align:left}
  .ac .hero__spec div,.ac .stmt__row div,.ac .cred{padding-right:16px}
  .ac .final__usps{border-top:none}
  .ac .final__usps span{border-right:none;border-top:1px solid var(--line-d2);width:100%;padding:14px 0 0}
}
@media(max-width:520px){
  .ac .hero__spec div,.ac .stmt__row div,.ac .cred{flex:100%;min-width:100%;border-right:none;border-bottom:1px solid var(--line-2);padding:14px 0}
  .ac .hero__cta .btn,.ac .final__cta .btn,.ac .cM8R .mp-cta .btn{width:100%}
  .ac .abt__cta{margin-top:26px}
  .ac .abt__cta .btn{width:100%}
  .ac section.brands{padding:52px 0}
  .ac .abt__media{padding:0 14px 30px 0}
  .ac .abt__ph--b{width:52%;border-width:5px}
  .ac .svcrow{grid-template-columns:auto 1fr;gap:14px}
  .ac .svcrow__go{display:none}
  .ac .specrow{grid-template-columns:1fr}.ac .specrow__v{text-align:left;margin-top:8px}
  .ac .foot__grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.ac *{animation:none!important;transition:none!important}.ac .rev{opacity:1;transform:none}}

/* ===== ported for concept 21·G1 hero: slideshow engine + review-card ===== */
.ac .slides{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--navy)}
.ac .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.06);transition:opacity 1.4s var(--ease);will-change:opacity}
.ac .slide.is-active{opacity:1;animation:kb 8s linear forwards}
@keyframes kb{from{transform:scale(1.03)}to{transform:scale(1.13)}}
.ac .proof{display:inline-flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;box-shadow:var(--sh-sm)}
.ac .proof .st{color:var(--gold);font-size:.82rem;letter-spacing:2px;line-height:1}
.ac .proof b{font-family:var(--cond);font-weight:900;font-size:1.15rem;color:var(--head-ink);line-height:1}
.ac .proof s{display:block;font-family:var(--mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:3px;text-decoration:none}
.ac .proof--g{gap:14px;padding:13px 18px 13px 15px;border-radius:10px;box-shadow:0 24px 46px -22px rgba(15,32,54,.6);border-top:2px solid var(--gold)}
.ac .proof--g .proof__g{flex:none;padding-right:14px;border-right:1px solid var(--line);display:grid;place-items:center}
.ac .proof--g .gicon{width:27px;height:27px;display:block}
.ac .proof--g .proof__row{display:flex;align-items:center;gap:9px}
.ac .proof--g .proof__row b{font-family:var(--cond);font-weight:900;font-size:1.55rem;color:var(--head-ink);line-height:1}
.ac .proof--g .proof__row .st{font-size:.72rem;letter-spacing:1.5px}
.ac .proof--g s{font-family:var(--mono);font-size:.57rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);text-decoration:none;display:block;margin-top:5px}
.ac .proof--g s em{font-style:normal;color:var(--head-ink);font-weight:600}

/* ===== HERO (v5.1 cinematic: full-bleed real-photo slideshow, centered stack, Lone Star skin) ===== */
.ac .h30{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:0;
  background:linear-gradient(180deg,#0F2036 0%,#16304F 62%,#1E3A5F 100%)}
.ac .h30 .h30__stage{position:relative;display:grid;place-items:center;min-height:min(88svh,840px);text-align:center}
/* photo must READ as a photo: light mid scrim + text-safe radial + side vignettes; deep navy only into the shelf */
.ac .h30 .slide{filter:saturate(1.22) contrast(1.04) brightness(1.13);animation:h30kb 18s ease-in-out infinite alternate}
@keyframes h30kb{from{transform:scale(1.02)}to{transform:scale(1.11) translateY(-1.2%)}}
.ac .h30 .slides::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse 22% 24% at 88% 78%,rgba(13,26,46,.74),transparent 72%),
             radial-gradient(ellipse 64% 56% at 50% 42%,rgba(10,21,38,.58),rgba(10,21,38,.26) 58%,transparent 80%)}
.ac .h30 .slides::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(0deg,rgba(13,28,52,.97) 0%,rgba(17,36,64,.8) 24%,rgba(22,44,76,.56) 50%,rgba(27,52,88,.34) 74%,rgba(30,58,95,.24) 100%),
             linear-gradient(90deg,rgba(16,32,56,.42) 0%,rgba(16,32,56,0) 22%,rgba(16,32,56,0) 78%,rgba(16,32,56,.42) 100%)}
.ac .h30::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.045;
  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='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.ac .h30::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(64% 44% at 50% 104%,rgba(64,116,178,.4),transparent 72%),
             radial-gradient(40% 26% at 50% 0%,rgba(240,196,110,.1),transparent 70%)}
.ac .h30 .h30__poly{position:absolute;z-index:1;top:-12%;right:-14%;width:min(70vw,940px);height:min(70vw,940px);overflow:visible;pointer-events:none;
  filter:drop-shadow(0 0 16px rgba(240,196,110,.4));animation:h30polypulse 3.8s ease-in-out infinite}
.ac .h30 .h30__poly polygon{fill:none;stroke:rgba(243,200,115,.34);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}
/* star blink: dims, then back to normal */
@keyframes h30polypulse{0%,100%{opacity:.28}50%{opacity:1}}
/* gold twinkle stars: 4-point sparks that blink on a normal cadence (hidden on phones - a lone dot reads as an artifact) */
.ac .h30 .htw{position:absolute;z-index:1;width:11px;height:11px;background:#F5C868;pointer-events:none;
  clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);
  filter:drop-shadow(0 0 6px rgba(245,200,104,.8));animation:h30tw 3s ease-in-out infinite}
.ac .h30 .htw--d2{animation-delay:1.1s;width:8px;height:8px}
.ac .h30 .htw--d3{animation-delay:1.9s}
.ac .h30 .htw--d4{animation-delay:.6s;width:8px;height:8px}
@keyframes h30tw{0%,100%{opacity:.1;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}
@media(max-width:760px){.ac .h30 .htw{display:none}}
/* centered stack; every child visible by default, entrance runs via keyframes (reduced-motion kill = safe static) */
.ac .h30 .h30__wrap{position:relative;z-index:2;max-width:940px;margin:0 auto;display:flex;flex-direction:column;align-items:center;
  padding:clamp(64px,9vh,110px) 28px clamp(210px,26vh,250px)}
.ac .h30 .h30__wrap>*{animation:h30in .7s var(--ease) both}
.ac .h30 .h30__wrap>*:nth-child(2){animation-delay:.08s}
.ac .h30 .h30__wrap>*:nth-child(3){animation-delay:.16s}
.ac .h30 .h30__wrap>*:nth-child(4){animation-delay:.24s}
.ac .h30 .h30__wrap>*:nth-child(5){animation-delay:.32s}
@keyframes h30in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.ac .h30 .h30__wrap>h1{animation-name:h30fade}
@keyframes h30fade{from{opacity:0}to{opacity:1}}
.ac .h30 h1{display:flex;flex-direction:column;align-items:center;gap:20px;font-size:1em;line-height:inherit;letter-spacing:0}
.ac .h30 .kick{display:inline-flex;align-items:center;gap:8px;font-family:var(--body);font-weight:600;font-size:.74rem;
  letter-spacing:.12em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#E4324A,var(--red) 52%,var(--red-deep));
  border-radius:var(--pill);padding:7px 20px 7px 8px;
  box-shadow:0 12px 28px -8px rgba(226,59,65,.65),inset 0 1px 0 rgba(255,255,255,.28)}
.ac .h30 .kick .kicki{width:22px;height:22px;border-radius:50%;background:#fff;display:inline-grid;place-items:center;flex:none}
.ac .h30 .kick .kicki svg{width:13px;height:13px;fill:none;stroke:var(--blue);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.ac .h30 .hdisplay{font-family:var(--cond);font-weight:800;font-size:clamp(2.8rem,5.8vw,4.9rem);line-height:1.05;
  letter-spacing:-.025em;color:#fff;text-shadow:0 2px 22px rgba(6,14,26,.55);max-width:17ch;text-wrap:balance}
/* kinetic masked line reveal (Precision grammar, Alamo skin); transform lives in the keyframes, base is visible */
.ac .h30 .hline{display:block;overflow:hidden;padding:.03em .12em .3em;margin:-.03em -.12em -.3em;
  animation:h30unclip .01s linear 1.5s forwards}  /* mask is only needed during the rise; released so the swash never clips */
@keyframes h30unclip{to{overflow:visible}}
.ac .h30 .hline>span{display:inline-block;animation:h30rise 1s cubic-bezier(.16,1,.3,1) .12s both}
.ac .h30 .hline:nth-child(2)>span{animation-delay:.3s}
@keyframes h30rise{from{transform:translateY(114%)}to{transform:translateY(0)}}
.ac .h30 .hdisplay em{position:relative;font-style:normal;white-space:nowrap;color:#F0B542;text-shadow:none;
  background:linear-gradient(100deg,#EDAD3C 24%,#FFDA80 40%,#F7C255 48%,#EDAD3C 62%);background-size:230% 100%;background-position:120% 0;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:h30shine 5.2s ease-in-out 1.8s 3}
@keyframes h30shine{to{background-position:-130% 0}}
/* hand-drawn gold swash under "ten years": draws in once after the line lands */
.ac .h30 .swash{position:absolute;left:-1%;bottom:-.14em;width:102%;height:.18em;overflow:visible;pointer-events:none;
  filter:drop-shadow(0 1px 4px rgba(6,14,26,.45))}
.ac .h30 .swash path{fill:none;stroke:#EDAD3C;stroke-width:9;stroke-linecap:round;opacity:1;
  stroke-dasharray:230;stroke-dashoffset:0;animation:h30swash .9s cubic-bezier(.6,0,.3,1) 1.5s both}
@keyframes h30swash{from{stroke-dashoffset:230}to{stroke-dashoffset:0}}
.ac .h30 .hsub{margin-top:22px;font-family:var(--body);font-size:1.13rem;line-height:1.6;color:#C9D6E4;max-width:52ch;
  text-shadow:0 1px 12px rgba(6,14,26,.5)}
.ac .h30 .hchips{margin-top:26px;display:flex;gap:11px;justify-content:center;flex-wrap:wrap}
.ac .h30 .hchip{display:inline-flex;align-items:center;gap:9px;background:linear-gradient(135deg,rgba(27,49,82,.94),rgba(8,17,30,.96));
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--pill);padding:8px 17px 8px 14px;font-family:var(--body);font-weight:600;font-size:.9rem;color:#fff;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color .3s var(--ease)}
.ac .h30 .hchip:hover{border-color:rgba(217,154,43,.6)}
.ac .h30 .hchip .disc{display:flex;align-items:center;justify-content:center;flex:none}
.ac .h30 .hchip .disc svg{width:15px;height:15px;fill:none;stroke:var(--gold);stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round}
.ac .h30 .h30__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:30px}
.ac .h30 .h30__cta .btn{text-transform:capitalize;letter-spacing:.01em;padding:17px 32px;border-radius:10px;font-size:1rem}
/* primary -bold red with a light sheen sweep */
.ac .h30 .btn--primary{position:relative;overflow:hidden;background:linear-gradient(135deg,#E4324A,var(--red) 52%,var(--red-deep));
  box-shadow:0 18px 38px -14px rgba(210,35,42,.62),inset 0 1px 0 rgba(255,255,255,.22)}
.ac .h30 .btn--primary::after{content:"";position:absolute;top:0;left:-65%;width:42%;height:100%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-18deg);transition:left .55s var(--ease)}
.ac .h30 .btn--primary:hover::after{left:125%}
/* secondary -quiet ghost on navy */
.ac .h30 .btn--ghost{background:rgba(9,20,35,.4);color:#fff;border-color:rgba(255,255,255,.32)}
.ac .h30 .btn--ghost:hover{border-color:#fff;background:rgba(9,20,35,.65)}
.ac .h30 .btn--ghost .i{fill:var(--gold)}

/* floating glass proof tiles (live weather + warranty).
   Entrance keyframes declare ONLY opacity: a fill-forwards transform would permanently override the JS parallax transform.
   The bob transform lives on the INNER .hfin so it never fights the pointer parallax on the outer .hfloat. */
.ac .h30 .hfloat{position:absolute;z-index:3;will-change:transform;animation:h30fin 1s var(--ease) .9s both}
@keyframes h30fin{from{opacity:0}to{opacity:1}}
.ac .h30 .hf-l{left:clamp(20px,4.6vw,84px);top:30%}
/* Google-reviews glass box (replaces the old hero gpill AND the retired labor-warranty tile).
   Desktop: floats on the RIGHT; <=1279 it re-enters the flow at the TOP of the stack. */
.ac .h30 .hf-g{right:clamp(20px,4.6vw,84px);top:53%;animation-delay:1.15s;text-decoration:none;cursor:pointer}
/* both cards share the concept-D light chip via base .hfin; the google card (a link) keeps a hover lift */
.ac .h30 .hf-g:hover .hfin{box-shadow:0 30px 62px -20px rgba(8,18,32,.52),0 2px 6px rgba(8,18,32,.12)}
.ac .h30 .hf-wx.wx-off{display:none}
/* frosted LIGHT glass proof cards (owner reference): white blur card, white icon tile, bold value + muted sub */
/* both floating cards = the concept-D LIGHT chip (owner): warm-white card + gold hairline top + raised icon tile */
.ac .h30 .hfin{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;max-width:280px;
  background:linear-gradient(140deg,#FFFFFF 0%,#F6F2EA 100%);
  border:1px solid rgba(15,32,54,.1);border-radius:16px;padding:13px 18px 13px 13px;
  box-shadow:0 24px 54px -20px rgba(8,18,32,.45),0 2px 6px rgba(8,18,32,.1);text-align:left;
  animation:h30bob 7s ease-in-out 1.9s infinite alternate;transition:box-shadow .3s var(--ease)}
.ac .h30 .hfin::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),#EDAD3C);z-index:2}
@keyframes h30bob{from{transform:translateY(-5px)}to{transform:translateY(7px)}}
.ac .h30 .hfi{width:42px;height:42px;flex:none;border-radius:11px;background:#fff;display:grid;place-items:center;
  border:1px solid rgba(15,32,54,.08);box-shadow:0 3px 10px rgba(8,18,32,.14)}
.ac .h30 .hfi svg{width:21px;height:21px;display:block}
.ac .h30 .hf-g .hfi svg{width:26px;height:26px}/* real multicolor Google G (its paths carry their own brand fills) seated in the raised white tile */
.ac .h30 .hf-l .hfi svg{fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* Google card: gold rating stars above the number (authentic review chip; desktop-only, hidden in the mobile one-liner) */
.ac .h30 .hf-g .hstars{display:block;color:var(--gold);font-size:.66rem;letter-spacing:2px;line-height:1;margin-bottom:3px;text-shadow:0 1px 1px rgba(8,18,32,.12)}
/* weather card: live-data pulse dot (base = solid dot, ring pulse only under no-preference so reduced-motion stays visible) */
.ac .h30 .hlive{display:inline-block;width:7px;height:7px;border-radius:50%;background:#EDAD3C;vertical-align:middle;margin-right:5px;box-shadow:0 0 0 0 rgba(217,154,43,.6)}
@media(prefers-reduced-motion:no-preference){.ac .h30 .hlive{animation:hlivepulse 2.4s ease-out infinite}}
@keyframes hlivepulse{0%{box-shadow:0 0 0 0 rgba(217,154,43,.6)}70%,100%{box-shadow:0 0 0 6px rgba(217,154,43,0)}}
.ac .h30 .hft{min-width:0}
.ac .h30 .hft b{display:block;font-family:var(--cond);font-weight:800;font-size:1.35rem;line-height:1.1;color:#000;letter-spacing:-.01em}
.ac .h30 .hft small{display:block;font-family:var(--body);font-weight:600;font-size:.8rem;line-height:1.35;color:#1D242C;margin-top:2px;white-space:nowrap}
/* slide progress ticks: the active tick FILLS over the slide interval (timer, not a color swap) */
.ac .h30 .hticks{position:absolute;z-index:3;left:clamp(24px,5vw,88px);bottom:158px;display:flex;gap:8px}
.ac .h30 .hticks span{position:relative;width:34px;height:3px;border-radius:2px;background:rgba(255,255,255,.32);overflow:hidden}
.ac .h30 .hticks span::after{content:"";position:absolute;inset:0;border-radius:2px;background:var(--gold);
  transform:scaleX(0);transform-origin:left center}
.ac .h30 .hticks span.on::after{transform:scaleX(1);animation:h30tick 6s linear both}
@keyframes h30tick{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* scroll cue */
.ac .h30 .scue{position:absolute;z-index:3;right:clamp(24px,5vw,88px);bottom:154px;display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mono);font-weight:600;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#C9D6E4;transition:color .2s}
.ac .h30 .scue:hover{color:#fff}
.ac .h30 .scue .line{width:38px;height:2px;background:rgba(255,255,255,.2);position:relative;overflow:hidden;border-radius:2px}
.ac .h30 .scue .line::after{content:"";position:absolute;inset:0;background:var(--gold);animation:h30cue 2.6s cubic-bezier(.6,0,.4,1) infinite}
@keyframes h30cue{0%{transform:translateX(-100%)}58%,100%{transform:translateX(100%)}}

/* KPI band -premium, tuned to the section (icon chips + red→gold top accent, navy figures) */
/* trust strip seated on the hero's bottom edge (Precision staging heroshelf grammar, Alamo skin):
   navy bar w/ curved crest rising into the photo, white scallop curving up into About, slow sheen sweep,
   4 divider-separated icon badges on one clean baseline */
.ac .h30 .heroshelf{position:absolute;left:0;right:0;bottom:0;z-index:4;
  background:linear-gradient(180deg,#16304F 0%,var(--navy) 100%)}
/* ONE sheen overlay clipped to the strip's full silhouette (crest V + bar + bottom V tail) - the sheen
   used to live on the bar's own background, so it visibly cut off at the SVG crest/tail edges */
.ac .h30 .heroshelf::before{content:"";position:absolute;left:0;right:0;top:-48px;bottom:0;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,transparent 0%,transparent 42%,rgba(255,255,255,.17) 50%,transparent 58%,transparent 100%);
  background-size:220% 100%;background-repeat:no-repeat;background-position:130% 0;
  clip-path:polygon(0 0,50% 44px,100% 0,100% calc(100% - 34px),50% calc(100% - 12px),0 calc(100% - 34px));
  animation:h30sheen 4.5s linear infinite}
@keyframes h30sheen{from{background-position:130% 0}to{background-position:-30% 0}}
/* INVERTED V crest (house divider grammar: the edge dips DOWN to a center notch), gold ridge along the
   planes so the navy reads against the dark photo floor, star badge seated in the notch like every other divider */
.ac .h30 .heroshelf .hcrest{position:absolute;left:0;right:0;bottom:calc(100% - 1px);width:100%;height:48px;display:block}/* -1px overlap, same dpr-seam guard (v6.0f) */
.ac .h30 .heroshelf .secdiv__star{top:0;color:#fff;z-index:2;background:#fff}
.ac .h30 .heroshelf .secdiv__star svg{fill:var(--gold)}
/* bottom edge inverted to match: the navy bar tails DOWN into the white at center (V), gold ridge */
.ac .h30 .heroshelf .hveil{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:34px;display:block;z-index:0}/* -1px: the secdiv overlap trick; kills the fractional-dpr seam sliver (v6.0f) */
.ac .h30 .herokpi{position:relative;z-index:1;max-width:1320px;margin:0 auto;padding:12px 28px 38px;display:flex;align-items:center;gap:0}
/* center gap: the seated star badge owns the middle of the row */
.ac .h30 .hkpi:nth-child(2){margin-right:46px}
.ac .h30 .hkpi:nth-child(3){margin-left:46px;border-left:0}
.ac .h30 .hkpi{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;padding:0 12px}
.ac .h30 .hkpi+.hkpi{border-left:1px solid rgba(255,255,255,.15)}
.ac .h30 .hkpi .ki{width:27px;height:27px;flex:none;display:grid;place-items:center;color:var(--gold)}
.ac .h30 .hkpi .ki svg{width:26px;height:26px;display:block}
.ac .h30 .hkpi .kt{font-family:var(--cond);font-weight:700;font-size:14px;color:#fff;line-height:1.2;letter-spacing:-.012em;white-space:nowrap}
.ac .h30 .hkpi .kt b{font-weight:800;font-variant-numeric:tabular-nums}

@media(max-width:1279px){
 .ac .h30 .hfloat,.ac .h30 .hticks,.ac .h30 .scue{display:none}
 /* the Google box re-enters the flow ABOVE the stack (it replaced the old top pill) */
 .ac .h30 .hf-g{display:block;position:static;margin:72px auto 0;animation-delay:.2s}
 .ac .h30 .hf-g .hfin{animation:none;max-width:none}
 /* single line: icon tile + value + count side by side */
 .ac .h30 .hf-g .hft{display:flex;align-items:center;gap:9px}
 .ac .h30 .hf-g .hft small{margin-top:0}
 .ac .h30 .hf-g .hstars{display:none}/* keep the mobile one-liner clean: G + rating + count */
 .ac .h30 .h30__wrap{padding-top:26px;padding-bottom:clamp(170px,20vh,210px)}
}
@media(max-width:980px){
 .ac .h30 .hline{white-space:normal}
 .ac .h30 .swash{bottom:-.26em;height:.22em}  /* smaller glyphs: sit the swash clearly below the gold text, not on it */
 .ac .h30 .swash path{stroke-width:14}
}
@media(max-width:900px){
 /* strip goes static below the hero content (Precision mobile grammar): badges wrap, no dividers */
 /* mobile strip = STRAIGHT band (owner call: the V seams read as glitches at small widths):
    crest + veil hidden, badge sits on the flat top edge, sheen unclipped */
 .ac .h30 .heroshelf{position:relative;width:100%;bottom:auto;left:auto;right:auto}
 .ac .h30 .heroshelf .hcrest{display:none}
 .ac .h30 .heroshelf .hveil{display:none}
 .ac .h30 .heroshelf::before{top:0;clip-path:none}
 .ac .h30 .herokpi{flex-wrap:wrap;justify-content:center;gap:10px 4px;margin:0 auto;padding:36px 18px 24px}
 .ac .h30 .hkpi{flex:0 0 auto;padding:7px 14px;border-left:0!important;margin-left:0!important;margin-right:0!important}
 .ac .h30 .heroshelf .secdiv__star{top:0}
 .ac .h30 .h30__wrap{padding-bottom:56px}
}
@media(min-width:981px){
 .ac .h30 .hline{white-space:nowrap}
}
@media(max-width:760px){
 .ac .h30 .slides::after{background:linear-gradient(0deg,rgba(13,28,52,.97) 0%,rgba(17,36,64,.84) 24%,rgba(22,44,76,.62) 50%,rgba(27,52,88,.42) 74%,rgba(30,58,95,.32) 100%)}
 /* slide 1's van sits right of center: recenter for narrow screens (inline background-position beats media CSS without !important) */
 .ac .h30 .slide.s1{background-position:38% 55%!important}
}
@media(max-width:640px){
 .ac .h30 .h30__stage{min-height:min(94svh,760px)}
 .ac .h30 .hdisplay{font-size:clamp(2.15rem,9.4vw,2.8rem)}
 .ac .h30 .h30__cta{width:100%}
 .ac .h30 .h30__cta .btn{flex:1 1 100%;justify-content:center}
}
@media(max-width:430px){
 .ac .h30 .hkpi .kt{font-size:13px}
 .ac .h30 .hkpi{padding:6px 11px}
}
@media(max-width:560px){
 .ac .h30 .kick{font-size:.64rem;letter-spacing:.09em;padding:8px 14px;text-align:center}
 .ac .h30 .hchips{gap:8px}
}

/* ============ v6.10c PAGE CONSISTENCY PASS (owner: uniform padding / spacing / font-size) ============
   Section vertical rhythm had drifted per-section (80-128px, hardcoded). This unifies every content
   section (hero excluded) to one scale. Placed last so it wins over the per-section padding rules at
   equal specificity; star-notch dividers are position:absolute so seams are unaffected. */
.ac section:not(.h30){padding-top:104px;padding-bottom:104px}
@media(max-width:1024px){.ac section:not(.h30),.ac section#faq{padding-top:80px;padding-bottom:80px}}
@media(max-width:640px){.ac section:not(.h30),.ac section#faq{padding-top:64px;padding-bottom:64px}}
/* normalize the two oversized section H2s (faq .fqrail 3.7rem, final 3.6rem) to the page-standard clamp */
.ac .fqrail .sechead,.ac .final .sechead{font-size:clamp(2.05rem,4vw,3.35rem)}
