/* base.css - shared finish-work rules, linked from every page.
   Extracted from main.css (previously index.html-only) per the 2026-08-17
   audit's Round 6 root-cause note: this closed 6 Tier-2 findings in one
   change (Tier-2 #10, #15, #18, #20, #21, half of #6) instead of touching
   each page's bespoke stylesheet individually. Load this AFTER any
   page-specific stylesheet so equal-specificity rules here win ties. */

/* Metric-matched fallback font: local Georgia/Times sized to match Cormorant
   Garamond's metrics, so swapping in the real webfont doesn't shift layout.
   Was index.html + trips.html only; the @font-face itself is harmless to
   declare everywhere, and reference stacks on other pages can opt in. */
@font-face{font-family:'Cormorant Garamond Fallback';src:local('Georgia'),local('Times New Roman');size-adjust:96%;ascent-override:90%;descent-override:22%;line-gap-override:0%}

/* Branded text selection (was index.html only) */
::selection{background:rgba(200,184,136,.22);color:#fbf8f3}

/* Scroll padding so #anchor links (incl. "skip to content") don't land
   underneath a fixed nav bar (was index.html only) */
:root{scroll-padding-top:72px}
@media(max-width:860px){:root{scroll-padding-top:64px}}

/* Branded focus ring, universal - beats the default blue browser outline on
   this site's dark backgrounds. Was index.html only; every other page fell
   back to invisible/mismatched default focus styling. */
:focus-visible{outline:1.5px solid rgba(200,184,136,.65);outline-offset:2px;border-radius:2px}
a:focus-visible,button:focus-visible{outline-offset:3px}

/* Baseline :active press feedback for any link/button that doesn't already
   define its own - low specificity so page-specific :active rules still win */
a:active,button:active{filter:brightness(.9)}

/* Mobile tap-highlight: mobile.css's rgba(184,108,42,.08) (index-only) is close to
   invisible, and everywhere else falls back to the browser default grey flash. Bumped
   to a visible-but-tasteful alpha, branded ember tone, site-wide (was index.html only). */
@media(hover:none){*{-webkit-tap-highlight-color:rgba(184,108,42,.18)}}

/* .nav-hamburger sets tap-highlight-color:transparent (every page) specifically so its own
   custom press state can show instead of the native grey flash - but never got one, so
   tapping it gave zero feedback for the ~150ms before the menu opens (audit Round 6 #11) */
.nav-hamburger:active{opacity:.6}

/* Global reduced-motion catch-all (was index.html only - every other page's
   .rz scroll-reveal and smooth-scroll ran ungated for anyone with the OS
   setting on) */
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Print: hide chrome/nav/modals/consent banner, force readable light colors.
   Was index.html + the 5 legal pages only; every other page printed a
   solid black/brown full-bleed background with no content.
   Every page has its own bespoke full-bleed hero (different class names per
   page, e.g. .hero-v11 on index/trips vs. page-specific classes elsewhere),
   and several headings render via a gradient background clipped to text
   (-webkit-text-fill-color:transparent) - naming each page's hero class
   individually doesn't scale. Instead strip every CSS background-image and
   force plain dark-on-white text everywhere, which also restores the
   gradient-clipped headings to plain readable text instead of disappearing. */
@media print{
 *{text-shadow:none!important;box-shadow:none!important;filter:none!important}
 html,body{background:#fff!important}
 body,body *{background-image:none!important;background-color:transparent!important;color:#111!important;-webkit-text-fill-color:#111!important}
 a{color:#111!important;text-decoration:underline}
 nav,.nav,.nav-hamburger,.nav-overlay,footer,
 .grain,.al,.seam,.hero-portal-wrap,.vbox,.pm,.hist-modal,.founder-modal,
 #img-fs,.lineup .car,.stat-grid,section.impr,.scroll-top,.osr,#ch-consent{display:none!important}
}
