/* =====================================================================
   Hemingway Website 2.0 — site-wide Treatment B layer for inner pages.
   Loaded LAST on every public page except the homepage (which uses
   home2.css). It (1) remaps the existing theme variables to charcoal and
   copper, (2) styles the shared hb-header / hb-footer, and (3) restyles
   the common page components to match the new homepage.
   Page content and the older stylesheets are untouched.
   ===================================================================== */

/* ---------- 1. Token remap (recolors every component that uses variables) ---------- */
:root{
  --paper:#1F2427; --paper-deep:#1F2427; --surface:#283033; --card:#283033; --card-hover:#303639;
  --field:#191D20; --dark-block:#181C1F;
  --ink:#E9ECEC; --concrete:#B9C0C2; --steel:#8A9397;
  --rust:#E07A3C; --rust-dim:#C45A20; --rust-bright:#E88A4A;
  --line:rgba(233,236,236,.10); --line-soft:rgba(233,236,236,.07); --line-mid:rgba(233,236,236,.16);
  --hb-charcoal:#1F2427; --hb-panel:#303639; --hb-copper:#C45A20; --hb-copper-hi:#E07A3C;
  --hb-ink:#E9ECEC; --hb-ink-2:#B9C0C2; --hb-ink-3:#8A9397; --hb-line:rgba(233,236,236,.10); --hb-line-2:rgba(233,236,236,.18);
  --hb-sans:'Montserrat',system-ui,sans-serif; --hb-mono:'IBM Plex Mono',ui-monospace,monospace; --hb-brand:'Trajan Pro',Georgia,serif;
}
body{background:var(--hb-charcoal);color:var(--hb-ink)}
:focus-visible{outline:2px solid var(--hb-copper-hi);outline-offset:3px}

/* ---------- 2. Shared header ---------- */
header.hb-header{position:sticky;top:0;z-index:60;padding:0;margin:0;background:rgba(31,36,39,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--hb-line)}
.hb-wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.hb-util{font:500 .74rem/1 var(--hb-mono);color:var(--hb-ink-3);border-bottom:1px solid var(--hb-line)}
.hb-util .hb-wrap{display:flex;justify-content:space-between;gap:16px;padding-top:8px;padding-bottom:8px}
.hb-util a{color:inherit;text-decoration:none;margin-right:18px}
.hb-util a:last-child{margin-right:0}
.hb-util a:hover{color:var(--hb-copper-hi)}
.hb-nav{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px}
.hb-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.hb-brand img{width:44px;height:44px;border-radius:0}
.hb-brand-text{font:400 1.12rem/1.05 var(--hb-brand);letter-spacing:.02em;color:var(--hb-ink)}
.hb-brand-text small{display:block;font:600 .56rem/1 var(--hb-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--hb-copper-hi);margin-top:5px}
.hb-links{display:flex;align-items:center;gap:22px;font:500 .86rem/1.2 var(--hb-sans)}
.hb-links>a,.hb-dd>button{color:var(--hb-ink-2);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;padding:6px 0;position:relative;border-radius:0}
.hb-links>a:not(.hb-cta)::after,.hb-dd>button::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--hb-copper-hi);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.hb-links>a:not(.hb-cta):hover::after,.hb-dd:hover>button::after,.hb-dd:focus-within>button::after,.hb-links>a[aria-current="page"]::after{transform:scaleX(1)}
.hb-links>a:hover,.hb-dd>button:hover,.hb-links>a[aria-current="page"]{color:#fff}
.hb-dd{position:relative}
.hb-dd-menu{position:absolute;top:100%;left:-14px;min-width:240px;padding:8px;background:var(--hb-panel);border:1px solid var(--hb-line-2);border-radius:4px;display:none;flex-direction:column;box-shadow:0 18px 40px -18px rgba(0,0,0,.6);z-index:5}
.hb-dd:hover .hb-dd-menu,.hb-dd:focus-within .hb-dd-menu,.hb-dd.open .hb-dd-menu{display:flex}
.hb-dd-menu a{padding:9px 12px;text-decoration:none;color:var(--hb-ink-2);border-radius:2px;border:0;background:none;font-size:.86rem}
.hb-dd-menu a:hover,.hb-dd-menu a:focus{background:rgba(224,122,60,.12);color:#fff}
.hb-links>a.hb-cta{color:#fff;background:var(--hb-copper);padding:12px 16px;border-radius:2px;font-weight:600}
.hb-links>a.hb-cta:hover{background:#D3672A}
.hb-mobile-util{display:none}
.hb-menu-btn{display:none;background:none;border:1px solid var(--hb-line-2);width:44px;height:40px;border-radius:2px;cursor:pointer;position:relative;padding:0}
.hb-menu-btn i,.hb-menu-btn i::before,.hb-menu-btn i::after{position:absolute;left:11px;right:11px;height:2px;background:var(--hb-ink);content:""}
.hb-menu-btn i{top:19px}.hb-menu-btn i::before{top:-6px;left:0;right:0}.hb-menu-btn i::after{top:6px;left:0;right:0}
.hb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- 3. Shared footer ---------- */
footer.hb-footer{background:var(--hb-charcoal);color:var(--hb-ink-2);border-top:1px solid var(--hb-line);padding:72px 0 40px;font:500 .88rem/1.6 var(--hb-sans)}
.hb-footer a{color:inherit;text-decoration:none}
.hb-footer a:hover{color:#fff}
.hb-f-top{display:grid;grid-template-columns:1.1fr 1.4fr;gap:48px}
.hb-footer .hb-brand{margin-bottom:18px}
.hb-footer p{margin:0 0 14px}
.hb-tagline{margin:4px 0 16px !important;padding-left:14px;border-left:2px solid var(--hb-copper-hi);font:600 .92rem/1.35 var(--hb-sans);color:var(--hb-ink)}
.hb-tagline em{font-style:normal;color:var(--hb-copper-hi)}
.hb-f-links{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.hb-f-links h4{font:600 .7rem/1 var(--hb-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--hb-copper-hi);margin:0 0 14px}
.hb-f-links a{display:block;padding:5px 0}
.hb-f-legal-links{margin:40px 0 0 !important;font-size:.8rem}
.hb-f-legal{font-size:.74rem;color:var(--hb-ink-3);margin:12px 0 0 !important;max-width:70em}

/* ---------- 4. Page components ---------- */
/* Typography */
h1,h2,h3,.punch{font-family:var(--hb-sans);font-weight:600;letter-spacing:-.02em}
h1 em,h2 em,.punch em{font-style:normal;color:var(--hb-copper-hi)}
.eyebrow,.eyebrow-sm,.section-label{font-family:var(--hb-mono) !important;font-weight:600;letter-spacing:.16em !important;text-transform:uppercase;color:var(--hb-copper-hi)}
.page-hero .section-label::before{background:var(--hb-copper-hi)}

/* Page hero: blueprint grid like the homepage story stage */
section.page-hero,section.blueprint{background-color:var(--hb-charcoal) !important;background-image:
  linear-gradient(rgba(196,90,32,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(196,90,32,.075) 1px,transparent 1px),
  linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) !important;
  background-size:120px 120px,120px 120px,24px 24px,24px 24px !important;background-position:-1px -1px !important}
section.blueprint::before{display:none !important}
.page-hero h1{font-weight:600;letter-spacing:-.025em;line-height:1.05;font-size:clamp(2.3rem,4.4vw,3.6rem)}
.page-hero p{color:var(--hb-ink-2)}
.hero-photo img,.split-media img{border-radius:4px}
.hero-photo{box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}

/* Buttons */
.btn{font-family:var(--hb-sans);font-weight:600;border-radius:2px !important;letter-spacing:0}
.btn-primary{background:var(--hb-copper) !important;border-color:var(--hb-copper) !important;color:#fff !important}
.btn-primary:hover{background:#D3672A !important;border-color:#D3672A !important}
.btn-outline{background:transparent !important;border:1px solid rgba(233,236,236,.38) !important;color:var(--hb-ink) !important}
.btn-outline:hover{border-color:var(--hb-copper-hi) !important;color:#fff !important}

/* Cards and panels pick up the panel tone */
.local-card,.card,.aud-card,.cap,.peek,.outcome,.sample-card,.price-card{border-radius:4px}

/* Contrast: alternating sections become paper, with light-theme variables scoped inside */
section.alt-bg{background:#F3F0EB !important;color:#1F2427;
  --ink:#1F2427; --concrete:#454C50; --steel:#6B7377; --paper:#F3F0EB; --paper-deep:#F3F0EB;
  --surface:#FFFFFF; --card:#FFFFFF; --card-hover:#FAF8F4; --field:#FFFFFF; --dark-block:#E9E5DE;
  --line:rgba(31,36,39,.12); --line-soft:rgba(31,36,39,.08); --line-mid:rgba(31,36,39,.18);
  --rust:#C45A20; --rust-bright:#B4521C;
  --hb-ink:#1F2427; --hb-ink-2:#454C50; --hb-ink-3:#6B7377; --hb-copper-hi:#C45A20}
section.alt-bg h1,section.alt-bg h2,section.alt-bg h3,section.alt-bg .punch{color:#1F2427}
section.alt-bg .btn-outline{border-color:rgba(31,36,39,.4) !important;color:#1F2427 !important}
section.alt-bg .btn-outline:hover{border-color:var(--hb-copper) !important;color:var(--hb-copper) !important}

/* Closing call-to-action band: copper, as on the homepage */
section.cta2{background:var(--hb-copper) !important;background-image:none !important}
section.cta2::before,section.cta2::after{display:none !important}
section.cta2 .section-label,section.cta2 .eyebrow{color:#fff !important;opacity:.85}
section.cta2 h2{color:#fff}
section.cta2 p{color:rgba(255,255,255,.9) !important}
section.cta2 .btn-primary{background:var(--hb-charcoal) !important;border-color:var(--hb-charcoal) !important}
section.cta2 .btn-outline{border-color:rgba(255,255,255,.6) !important;color:#fff !important}

/* ---------- 5. Responsive chrome ---------- */
@media (max-width:1100px){.hb-links{gap:16px;font-size:.8rem}}
@media (max-width:960px){
  .hb-util{display:none}
  .hb-menu-btn{display:block}
  .hb-links{position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--hb-charcoal);border-bottom:1px solid var(--hb-line-2);padding:8px 24px 24px;display:none;max-height:calc(100vh - 76px);overflow:auto}
  .hb-links.open{display:flex}
  .hb-links>a,.hb-dd>button{padding:14px 0;border-bottom:1px solid var(--hb-line);text-align:left;width:100%}
  .hb-dd-menu{position:static;box-shadow:none;border:0;background:none;padding:0 0 8px 12px}
  .hb-dd:hover .hb-dd-menu{display:none}.hb-dd.open .hb-dd-menu{display:flex}
  .hb-links>a.hb-cta{margin-top:16px;text-align:center}
  .hb-mobile-util{display:block;margin-top:8px}
  .hb-f-top{grid-template-columns:1fr}
}
@media (max-width:600px){.hb-wrap{padding:0 20px}.hb-f-links{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.hb-links>a::after,.hb-dd>button::after{transition:none}}
