/* CST SITE — phase-2 chrome. Pieces the one-page #8 never needed: nav, mobile sheet,
   sub-page hero, answer blocks, FAQ, breadcrumb, CTA band. Built ONLY from #8's tokens
   (/site.css). Loaded after site.css on every page. Page-unique CSS goes in the page. */

/* ---------- nav ---------- */
.p2nav{position:fixed;inset:0 0 auto 0;z-index:1000;display:flex;align-items:center;gap:28px;
  padding:14px clamp(16px,4vw,48px);color:var(--ink);
  transition:background .5s var(--ease),backdrop-filter .5s var(--ease),border-color .5s var(--ease);
  border-bottom:1px solid transparent}
.p2nav.scrolled{background:#0C141C;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-color:var(--hair)}
.p2nav.on-light:not(.scrolled){color:var(--ink-l)}
.p2nav .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.p2nav .brand img{width:34px;height:34px;border-radius:50%;display:block}
.p2nav .brand span{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.p2nav ul{display:flex;gap:26px;list-style:none;margin:0 0 0 auto;padding:0}
.p2nav ul a{font-family:var(--grot);font-size:14px;letter-spacing:.02em;color:inherit;text-decoration:none;
  opacity:.78;transition:opacity .3s}
.p2nav ul a:hover,.p2nav ul a[aria-current="page"]{opacity:1}
.p2nav ul a[aria-current="page"]{box-shadow:inset 0 -1px 0 var(--brass)}
#p2sheet a[aria-current="page"]{color:var(--brass-hi)}
.p2foot-nav a[aria-current="page"]{color:var(--ink)}
.p2nav .p2cta{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;color:var(--ink-l);background:var(--brass);padding:10px 16px;border-radius:2px;
  transition:background .3s}
.p2nav .p2cta:hover{background:var(--brass-hi)}
.p2nav-toggle{display:none;margin-left:auto;background:none;border:0;color:inherit;padding:0;cursor:pointer;
  width:48px;height:48px;margin-right:-12px;flex-direction:column;align-items:center;justify-content:center;gap:7px;border-radius:50%}
.p2nav-toggle span{display:block;width:22px;height:1px;background:currentColor;margin:0;transition:transform .45s var(--ease)}
.p2nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.p2nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
/* safe areas (desktop insets are 0, so desktop is unchanged) */
.p2nav{padding-top:calc(14px + env(safe-area-inset-top,0px));
  padding-left:max(clamp(16px,4vw,48px),env(safe-area-inset-left,0px));
  padding-right:max(clamp(16px,4vw,48px),env(safe-area-inset-right,0px))}

/* ---------- menu sheet ----------
   No JS: the sheet stays [hidden] (the footer carries every link).
   With site.js: .p2sheet-js is added, links are wrapped in .p2sheet-links and the
   contact link + phone move into a .p2sheet-dock pinned above the home indicator. */
#p2sheet{position:fixed;inset:0;z-index:990;
  background:radial-gradient(120% 60% at 100% 0%,rgba(22,39,58,.9) 0%,rgba(12,20,28,0) 60%),#0C141C;
  padding:calc(84px + env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) 0 max(24px,env(safe-area-inset-left,0px));
  display:flex;flex-direction:column;gap:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
#p2sheet[hidden]{display:none!important}
.sheet-open .p2nav{background:#0C141C;border-color:var(--hair)}
#p2sheet a{flex:0 0 auto;-webkit-tap-highlight-color:transparent}
#p2sheet > a,.p2sheet-links a{font-family:'Libre Caslon Text',Georgia,serif;font-size:26px;line-height:1.15;color:var(--ink);text-decoration:none;
  display:flex;align-items:center;gap:14px;min-height:52px;padding:6px 0;border-bottom:1px solid var(--hair)}
#p2sheet > a.tel{font-family:var(--mono);font-size:15px;color:var(--brass);border:0;margin-top:auto}
.p2sheet-links{display:flex;flex-direction:column;margin-bottom:auto;padding-bottom:20px}
.p2sheet-links a::after{content:'\2192';margin-left:auto;font-family:var(--mono);font-size:14px;color:var(--faint);transition:transform .3s var(--ease),color .3s}
.p2sheet-links a[aria-current="page"]{color:var(--brass-hi)}
.p2sheet-links a[aria-current="page"]::before{content:'';width:18px;height:1px;background:var(--brass-hi);flex:0 0 auto}
.p2sheet-links a[aria-current="page"]::after{content:'';}
.p2sheet-links a:active{color:var(--brass-hi)}
.p2sheet-links a:active::after{transform:translateX(4px);color:var(--brass-hi)}
.p2sheet-dock{position:sticky;bottom:0;z-index:2;display:grid;grid-template-columns:1fr;gap:10px;
  margin-left:calc(-1 * max(24px,env(safe-area-inset-left,0px)));margin-right:calc(-1 * max(24px,env(safe-area-inset-right,0px)));
  padding:16px max(24px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px));
  background:#0C141C;box-shadow:0 -18px 22px -6px #0C141C;border-top:1px solid rgba(217,168,94,.28)}
.p2sheet-dock a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 16px;border-radius:2px;
  font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-align:center;text-decoration:none;
  transition:transform .2s var(--ease),background .3s,border-color .3s}
.p2sheet-dock a.go{background:var(--brass);color:var(--ink-l);border:1px solid var(--brass)}
.p2sheet-dock a.tel{background:transparent;color:var(--brass-hi);border:1px solid rgba(217,168,94,.55)}
.p2sheet-dock a:active{transform:scale(.975)}
.p2sheet-dock a.go:active{background:var(--brass-hi)}
.p2sheet-dock svg{width:15px;height:15px;flex:0 0 auto}
@media (max-height:700px){
  #p2sheet > a,.p2sheet-links a{font-size:22px;min-height:48px;padding:4px 0}
  #p2sheet{padding-top:calc(72px + env(safe-area-inset-top,0px))}
  .p2sheet-dock{padding-top:12px;gap:8px}
  .p2sheet-dock a{min-height:48px}
}
/* landscape phone: two-up dock, still scrolls */
@media (max-height:500px) and (min-width:560px){
  .p2sheet-dock{grid-template-columns:1fr 1fr}
  .p2sheet-links{display:grid;grid-template-columns:1fr 1fr;column-gap:32px}
}
/* motion: sheet fades, links rise in turn, dock last */
.p2sheet-js{opacity:0;transition:opacity .32s var(--ease)}
.p2sheet-js.is-open{opacity:1}
.p2sheet-js .p2sheet-links a,.p2sheet-js .p2sheet-dock{opacity:0;transform:translateY(16px);
  transition:opacity .4s var(--ease),transform .55s var(--ease);transition-delay:0ms}
.p2sheet-js.is-open .p2sheet-links a,.p2sheet-js.is-open .p2sheet-dock{opacity:1;transform:none;
  transition-delay:calc(70ms + var(--si,0) * 38ms)}
html.sheet-open{overflow:hidden}
@media (max-width:900px){
  .p2nav ul,.p2nav .p2cta{display:none}
  .p2nav-toggle{display:flex}
}
@media (prefers-reduced-motion:reduce){
  .p2sheet-js,.p2sheet-js .p2sheet-links a,.p2sheet-js .p2sheet-dock,.p2nav-toggle span{transition:none!important}
  .p2sheet-js .p2sheet-links a,.p2sheet-js .p2sheet-dock{opacity:1;transform:none}
}

/* ---------- sub-page hero (cinematic-lite) ---------- */
.p2hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;overflow:hidden;
  padding:120px clamp(16px,6vw,96px) clamp(40px,8vh,88px);color:var(--ink)}
.p2hero > video,.p2hero > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.p2hero .shade{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(8,14,20,.45) 0%,rgba(8,14,20,.15) 40%,rgba(8,14,20,.82) 100%)}
.p2hero .inner{position:relative;z-index:2;max-width:980px;width:100%;min-width:0}
.crumb{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fog);margin:0 0 18px}
.crumb a{color:inherit;text-decoration:none}
.crumb a:hover{color:var(--brass-hi)}
.p2hero h1{font-family:'Libre Caslon Text',Georgia,serif;font-weight:400;
  font-size:clamp(34px,5.4vw,76px);line-height:1.04;letter-spacing:-.015em;margin:0}
.p2hero .dek{font-family:var(--grot);font-weight:300;font-size:clamp(17px,1.5vw,21px);line-height:1.5;
  color:var(--bone-dim);max-width:620px;margin:22px 0 0}

/* ---------- answer blocks ---------- */
.p2body{position:relative;z-index:2;padding:clamp(64px,11vh,130px) clamp(16px,6vw,96px)}
.p2body.light{background:var(--bone);color:var(--ink-l)}
.p2grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);max-width:1280px;margin:0 auto}
.p2grid h2{font-family:'Libre Caslon Text',Georgia,serif;font-weight:400;font-size:clamp(28px,3.2vw,46px);
  line-height:1.1;margin:0}
.p2grid .copy p:not(._pin){font-family:var(--grot);font-weight:300;font-size:18px;line-height:1.65;margin:0 0 1.1em;max-width:62ch}
.over-l{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin:0 0 16px}
.ticks{list-style:none;padding:0;margin:8px 0 0}
.ticks li{font-family:var(--grot);font-size:17px;line-height:1.5;padding:14px 0;border-top:1px solid var(--hair)}
.light .ticks li{border-color:rgba(20,32,44,.12)}
.ticks li::before{content:'';display:inline-block;width:14px;height:1px;background:var(--brass);vertical-align:middle;margin-right:14px}
@media (max-width:820px){ .p2grid{grid-template-columns:1fr} }

/* ---------- FAQ (native details: works without JS) ---------- */
.faq{max-width:900px;margin:0 auto}
.faq details{border-top:1px solid var(--hair);padding:0}
.light .faq details{border-color:rgba(20,32,44,.14)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;
  padding:24px 0;font-family:'Libre Caslon Text',Georgia,serif;font-size:clamp(19px,1.8vw,24px);line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-family:var(--mono);color:var(--brass);transition:transform .35s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{font-family:var(--grot);font-weight:300;font-size:17px;line-height:1.65;margin:0 0 26px;max-width:66ch}

/* ---------- CTA band + footer nav ---------- */
.p2cta-band{position:relative;z-index:2;text-align:center;padding:clamp(72px,14vh,150px) 16px}
.p2cta-band h2{font-family:'Libre Caslon Text',Georgia,serif;font-weight:400;font-size:clamp(36px,6vw,84px);margin:0}
.p2cta-band .row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:30px}
.btn{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;
  padding:15px 22px;border-radius:2px;border:1px solid var(--brass);color:var(--brass-hi);transition:all .3s var(--ease)}
.btn.solid{background:var(--brass);color:var(--ink-l)}
.btn:hover{background:var(--brass-hi);border-color:var(--brass-hi);color:var(--ink-l)}
.p2foot-nav{display:flex;flex-wrap:wrap;gap:10px 26px;list-style:none;padding:0;margin:0}
.p2foot-nav a{font-family:var(--grot);font-size:14px;color:var(--fog);text-decoration:none}
.p2foot-nav a:hover{color:var(--brass-hi)}
.reviews-slot[hidden]{display:none!important}

/* ---------- THE FOOTER (round 2): replaces the per-page "Call Bill." landfall ----------
   One proper footer on every page: roundel, number, quote button, every page, credits.
   Overrides #8's single-row footer strip via footer.p2foot. */
footer.p2foot{display:block;position:relative;z-index:2;padding:clamp(56px,10vh,110px) clamp(16px,6vw,96px) 34px;
  border-top:1px solid var(--hair);background:linear-gradient(to bottom,rgba(11,21,32,.0),rgba(6,12,19,.96) 30%)}
.p2foot-top{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
  max-width:1280px;margin:0 auto;padding-bottom:clamp(26px,4vh,44px);border-bottom:1px solid var(--hair)}
.p2foot-id{display:flex;align-items:center;gap:24px}
.p2foot-seal{width:96px;height:96px;border-radius:50%;overflow:hidden;flex:0 0 auto;display:block;
  box-shadow:0 0 0 1px rgba(217,168,94,.45),0 10px 34px rgba(0,0,0,.55);transition:transform .6s var(--ease)}
.p2foot-seal:hover{transform:rotate(8deg) scale(1.04)}
.p2foot-seal img{width:100%;height:100%;display:block}
.p2foot-id .name{font-family:'Libre Caslon Text',Georgia,serif;font-size:clamp(22px,2.2vw,30px);color:var(--ink);margin:0;line-height:1.15}
.p2foot-id .place{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--fog);margin:10px 0 0}
.p2foot-act{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.p2foot-tel{font-family:var(--mono);font-size:clamp(20px,2.2vw,30px);letter-spacing:.1em;color:var(--brass-hi);
  text-decoration:none;border-bottom:1px solid rgba(217,168,94,.35);padding-bottom:6px;transition:color .4s,border-color .4s}
.p2foot-tel:hover{color:var(--bone);border-color:var(--bone)}
.p2foot-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;max-width:1280px;margin:0 auto;
  padding:clamp(36px,6vh,60px) 0}
.p2foot-cols .h{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);margin:0 0 16px}
.p2foot-cols ul{list-style:none;margin:0;padding:0}
.p2foot-cols li{margin:0 0 11px}
.p2foot-cols a,.p2foot-cols span{font-family:var(--grot);font-size:15px;color:var(--bone-dim);text-decoration:none;transition:color .3s}
.p2foot-cols a:hover{color:var(--brass-hi)}
.p2foot-cols a[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -1px 0 var(--brass)}
.p2foot-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:1280px;margin:0 auto;
  padding-top:22px;border-top:1px solid var(--hair)}
.p2foot-base span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(237,232,221,.34)}
@media (max-width:760px){
  .p2foot-top{flex-direction:column;align-items:flex-start}
  .p2foot-seal{width:72px;height:72px}
  .p2foot-act{width:100%;flex-direction:column;align-items:stretch}
  .p2foot-act .btn{text-align:center}
  .p2foot-cols{grid-template-columns:1fr 1fr}
  .p2foot-cols > div:last-child{grid-column:1 / -1}
}

/* ---------- page finale (round 2): the one closing ask per page, flows into the footer ---------- */
.p2finale{position:relative;z-index:2;text-align:center;padding:clamp(90px,18vh,190px) 16px clamp(70px,12vh,130px)}
.p2finale h2{font-family:'Libre Caslon Text',Georgia,serif;font-weight:400;font-size:clamp(40px,7vw,104px);line-height:1.05;margin:0;color:var(--ink)}
.p2finale p:not(.over-l){font-family:var(--grot);font-weight:300;font-size:clamp(17px,1.5vw,21px);color:var(--bone-dim);margin:22px auto 0;max-width:54ch}
.p2finale .row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px}

/* =====================================================================
   MOBILE PASS (09-14) — the shared phone layer. Zero page markup: the bar is
   injected by site.js, everything else styles markup the pages already have.
   Desktop stays as approved: touch/phone rules are scoped below.
   ===================================================================== */

/* ---------- taps: no grey flash, a real press ---------- */
a,button,summary,label,[role="button"]{-webkit-tap-highlight-color:transparent}
.btn,.faq summary,.p2nav-toggle,.p2bar a,.p2sheet-dock a{touch-action:manipulation}
.btn:active{transform:scale(.97);transition-duration:.12s}
.btn.solid:active{background:var(--brass-hi);border-color:var(--brass-hi)}
.p2nav ul a:active,.p2nav .p2cta:active{opacity:.7}
.p2nav-toggle:active{background:rgba(237,232,221,.08)}
.p2nav-toggle:focus{outline:none}
.p2nav-toggle:focus-visible{outline:1px solid var(--brass-hi);outline-offset:-2px}
#p2sheet a:focus{outline:none}
#p2sheet a:focus-visible{outline:1px solid var(--brass-hi);outline-offset:3px}
.p2nav .brand img{transition:transform .25s var(--ease),width .4s var(--ease),height .4s var(--ease)}
.p2nav .brand:active img{transform:scale(.93)}
.p2foot-cols a:active,.p2foot-tel:active,.crumb a:active{color:var(--brass-hi)}
.p2foot-seal:active{transform:scale(.95)}
.faq summary:active{color:var(--brass-hi)}
.lk:active{transform:scale(.985);border-color:rgba(217,168,94,.6)}
.tile-a:active{transform:scale(.985)}
@media (hover:none){
  /* sticky hover on touch: undo the lifts that only make sense under a mouse */
  .btn:hover{transform:none;box-shadow:none}
  .btn:not(.solid):hover{background:transparent;color:var(--brass-hi);border-color:var(--brass)}
  .btn.solid:hover{background:var(--brass);border-color:var(--brass)}
  .btn:active{transform:scale(.97)}
  .p2foot-seal:hover{transform:none}
}

/* ---------- anchors land below the fixed nav ---------- */
[id]{scroll-margin-top:calc(80px + env(safe-area-inset-top,0px))}

/* ---------- full-height helpers: 100vh fallback first, then the small viewport ---------- */
.svh{min-height:100vh;min-height:100svh}
.svh-h{height:100vh;height:100svh}

/* ---------- mobile action bar (injected by site.js; phones only) ---------- */
.p2bar{position:fixed;left:0;right:0;bottom:0;z-index:980;display:none;
  grid-template-columns:auto minmax(0,1fr);gap:8px;
  padding:10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));
  background:rgba(11,21,32,.95);-webkit-backdrop-filter:blur(18px) saturate(1.25);backdrop-filter:blur(18px) saturate(1.25);
  box-shadow:0 -14px 34px rgba(0,0,0,.26);
  transform:translateY(calc(100% + 16px));visibility:hidden;
  transition:transform .45s var(--ease),visibility 0s linear .45s}
.p2bar::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,rgba(217,168,94,0),rgba(217,168,94,.75) 22%,rgba(217,168,94,.75) 78%,rgba(217,168,94,0))}
.p2bar.on{transform:none;visibility:visible;transition:transform .6s var(--ease),visibility 0s}
.p2bar a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 18px;border-radius:2px;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;white-space:nowrap;
  transition:transform .18s var(--ease),background .25s,border-color .25s,color .25s}
.p2bar svg{width:15px;height:15px;flex:0 0 auto}
.p2bar-call{color:var(--brass-hi);border:1px solid rgba(217,168,94,.55);background:#0E1822}
.p2bar-go{color:var(--ink-l);background:var(--brass);border:1px solid var(--brass)}
.p2bar a:active{transform:scale(.96)}
.p2bar-call:active{border-color:var(--brass-hi);background:rgba(217,168,94,.12)}
.p2bar-go:active{background:var(--brass-hi);border-color:var(--brass-hi)}
.p2bar a:focus-visible{outline:2px solid var(--bone);outline-offset:2px}
@media (max-width:700px){ .p2bar{display:grid} }
@media (max-width:350px){ .p2bar a{padding:0 12px;letter-spacing:.08em;font-size:11px} }
html.p2bar-on.p2bar-pad body{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}

/* ---------- touch targets: phones AND any coarse pointer (landscape phones, iPad) ----------
   Size-only rules; layout (stacking, one-column footer) stays phone-only below.
   Mouse/trackpad desktops are pointer:fine, so the approved desktop layout never sees this. */
@media (max-width:700px), (pointer:coarse){
  .p2nav .brand{min-height:48px;min-width:48px}
  .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;text-align:center}
  .faq summary{min-height:56px;align-items:center;padding-top:14px;padding-bottom:14px}
  .p2finale a[href^="tel:"]:not(.btn){min-height:48px;display:inline-flex;align-items:flex-end}
  .p2foot-tel{display:inline-flex;align-items:center;min-height:48px}
  .p2foot-cols li{margin:0}
  .p2foot-cols a,.p2foot-cols span{display:flex;align-items:center;min-height:48px}
  .p2foot-seal{min-width:48px;min-height:48px}
}

/* touch device wide enough for the desktop nav (iPad landscape): its links become 48px targets.
   Never below 901px — the ≤900px rule hides these links behind the hamburger. */
@media (pointer:coarse) and (min-width:901px){
  .p2nav ul a,.p2nav .p2cta{display:inline-flex;align-items:center;min-height:48px}
}
/* the phone nav row: roundel + one-line wordmark + hamburger, never wraps (320–412) */
@media (max-width:900px){
  .p2nav .p2cta,.p2nav ul{display:none!important}
  .p2nav-toggle{flex:0 0 48px;width:48px;min-width:48px;height:48px}
  .p2nav .brand{min-width:0;flex:0 1 auto}
  .p2nav .brand img{flex:0 0 auto}
  .p2nav .brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
}

/* ---------- phones ---------- */
@media (max-width:700px){
  /* type mechanics */
  h1,h2{text-wrap:balance}
  p,li,dd,figcaption{text-wrap:pretty}
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:max(16px,1em)}

  /* nav: 48px targets, compact once scrolled */
  .p2nav{gap:12px;padding-top:calc(6px + env(safe-area-inset-top,0px));padding-bottom:6px;
    transition:background .5s var(--ease),backdrop-filter .5s var(--ease),border-color .5s var(--ease),padding .4s var(--ease)}
  .p2nav.scrolled{padding-top:calc(2px + env(safe-area-inset-top,0px));padding-bottom:2px}
  .p2nav .brand{min-height:48px;min-width:48px;padding-right:6px}
  .p2nav .brand span{font-size:10.5px;letter-spacing:.16em}
  .p2nav.scrolled .brand img{width:30px;height:30px}

  /* buttons are thumb targets */
  .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;text-align:center}

  /* FAQ: full-width rows, a real target, a visible open/close mark */
  .faq summary{min-height:56px;align-items:center;gap:16px;padding-top:14px;padding-bottom:14px;line-height:1.3}
  .faq summary::after{flex:0 0 30px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;
    border:1px solid rgba(217,168,94,.38);border-radius:50%;font-size:15px;line-height:1}
  .faq details p{font-size:16.5px}

  /* finale: stacked asks, the phone number is a target */
  .p2finale{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
  .p2finale .row{flex-direction:column;align-items:stretch;gap:12px;max-width:420px;margin-left:auto;margin-right:auto}
  .p2finale .row .btn{min-height:56px;flex:0 0 auto}
  .p2finale a[href^="tel:"]:not(.btn){min-height:48px;display:inline-flex;align-items:flex-end}

  /* footer: one column for thumbs */
  footer.p2foot{padding:52px max(20px,env(safe-area-inset-right,0px)) calc(26px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px))}
  .p2foot-top{gap:28px;padding-bottom:32px}
  .p2foot-id{gap:18px;width:100%}
  .p2foot-id > div{flex:1 1 auto;min-width:0}
  .p2foot-seal{width:64px;height:64px}
  .p2foot-id .name{font-size:23px;text-wrap:balance}
  .p2foot-id .place{font-size:10px;letter-spacing:.12em;line-height:1.7;margin-top:6px}
  .p2foot-act{width:100%;flex-direction:column;align-items:stretch;gap:12px}
  .p2foot-tel{display:flex;align-items:center;justify-content:center;gap:14px;min-height:60px;padding:0 16px;
    font-size:24px;letter-spacing:.08em;border:1px solid rgba(217,168,94,.45);border-radius:2px}
  .p2foot-tel::before{content:'';width:20px;height:20px;flex:0 0 auto;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D9A85E' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M6.6 3.5h3l1.5 4-2 1.3a11 11 0 0 0 6.1 6.1l1.3-2 4 1.5v3a2 2 0 0 1-2 2A16.6 16.6 0 0 1 4.6 5.5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E")}
  .p2foot-act .btn{min-height:56px}
  .p2foot-cols{grid-template-columns:1fr;gap:28px;padding:30px 0 26px}
  .p2foot-cols > div:last-child{grid-column:auto}
  .p2foot-cols .h{margin:0 0 4px}
  .p2foot-cols li{margin:0;border-bottom:1px solid var(--hair)}
  .p2foot-cols li:last-child{border-bottom:0}
  .p2foot-cols a,.p2foot-cols span{display:flex;align-items:center;min-height:48px;font-size:16px}
  .p2foot-cols a::after{content:'\2192';margin-left:auto;padding-left:12px;font-family:var(--mono);font-size:13px;color:var(--faint)}
  .p2foot-cols a[aria-current="page"]{box-shadow:none;color:var(--brass-hi)}
  .p2foot-base{flex-direction:column;gap:6px;padding-top:18px}
  .p2foot-base span{line-height:1.8}
}
@media (prefers-reduced-motion:reduce){
  .p2bar,.p2bar.on{transition:none}
  .p2bar{transform:none}
  .p2nav{transition:none}
}

/* ---------- phones/tablets: solid chrome (WebKit let content bleed through the 92–95% glass) ---------- */
@media (max-width:900px){
  .p2nav.scrolled{background:#0C141C;-webkit-backdrop-filter:none;backdrop-filter:none}
  .p2bar{background:#0B1520;-webkit-backdrop-filter:none;backdrop-filter:none}
}
