/* Tyngsboro Dental Care: identity + system tokens (homepage-spec 0.1, ADDENDUM 1 applied).
   Only genuinely fixed values live here; viewport-relative recipe values are authored in site.css
   as their mechanism (vh, vw, %, max(), clamp(), fr). */
:root {
  /* faces (FLAVOR: house family-one set; no precedent face is imported) */
  --font-display: "Open Sans", "Segoe UI", Arial, sans-serif;   /* 400 600 700 800 */
  --font-body: "Lato", "Segoe UI", Arial, sans-serif;            /* 400 700 */
  --font-quote: "Newsreader", Georgia, serif;                    /* italic 500, H5 pull-quote ONLY */

  /* hues (FLAVOR, measured from their site.css) */
  --primary: #125CA6;       /* pills, links, focus on light, H0 ribbon + dropdown panel (ADDENDUM F1). white on it 6.76 */
  --primary-deep: #0E4A86;  /* pressed states; H7 texture base. white on it 8.97 */
  --ink: #0A2440;           /* text, H0 menu bar (ADDENDUM F1), drawer, footer. 15.68 on white */
  --sky: #E2EFFF;           /* H4 band */
  --sky-mat: #D4E4F7;       /* H4 mat */
  --sky-strong: #BFD9F2;    /* H3 band, arrow hover */
  --cream: #F7F3EC;         /* H6 band */
  --gold: #BD9A5F;          /* hover fills/text, rules, bullets, active marks. <5% of any viewport */
  --emergency: #C00000;     /* H0 emergency device + its restatements + form error state (ADDENDUM F4) */
  --white: #FFFFFF;

  /* derived text / lines */
  --ink-70: #546679;        /* required marker, form note. 5.91 on white, 5.67 on cream */
  --field-line: #7D90A4;    /* input boundary 3.28:1 on white */
  --row-line: rgba(10, 36, 64, 0.45);   /* H3 checklist divider */
  --fact-line: rgba(10, 36, 64, 0.18);  /* H2 phone fact-row hairline (ADDENDUM V5.3) */
  --on-dark-line: rgba(255, 255, 255, 0.2);
  --on-dark-soft: rgba(255, 255, 255, 0.88);  /* drawer child rows */
  --error: var(--emergency); /* ADDENDUM F4: one red hue sitewide; error state only */
  --error-wash: #FFF6F6;
  --map-land: #E5F3DF;      /* H7 map box fallback = the capture's land green (spec H7 mechanism) */
  --ring-soft: rgba(10, 36, 64, 0.2);   /* H5 arrow ring (--ink at 20%) */
  --dot-off: rgba(10, 36, 64, 0.3);     /* H5 phone pager dot (--ink at 30%) */

  /* widget-native carve-outs (outside the hue budget) */
  --g-star: #FBBC04; --g-star-empty: #DADCE0;
  --g-blue: #4285F4; --g-red: #EA4335; --g-yellow: #FBBC05; --g-green: #34A853;
  --fb-blue: #1877F2;       /* Facebook brand roundel (ADDENDUM V5.4) */

  /* shadows (recipe-measured) */
  --shadow-dd: rgba(0, 0, 0, 0.2) 10px 17.3px 25px 0;
  --shadow-sticky: rgba(24, 23, 24, 0.35) 0 3px 7px;
  --shadow-card: rgba(0, 0, 0, 0.1) 0 4px 6px;
  --shadow-card-hover: rgba(0, 0, 0, 0.15) 0 8px 12px;   /* EH card hover (easthamilton-interactive/06, ADDENDUM 2 M3.4) */
  --shadow-field: rgba(0, 0, 0, 0.05) 0 1px 2px;
  --shadow-chip: rgba(0, 0, 0, 0.12) 0 2px 6px;

  /* radii (pills never equal cards) */
  --radius-pill: 50px;
  --radius-card: 18px;
  --radius-field: 4px;
  --radius-tab: 0 0 10px 10px;
  --radius-chip: 28.8px;

  /* chrome heights (fixed px; content-height header, never vh) */
  --ribbon-h: 32px;
  --brand-h: 80px;
  --bar-h: 32px;
  --header-h: 144px;        /* 32 + 80 + 32, owner cap 125-145 */
  --sticky-brand-h: 64px;
  --sticky-h: 96px;         /* 64 + 32 */
  --mbar-h: 80px;
  --actionbar-h: 56px;

  /* focus (quincy-interactive/04 ring, recoloured) */
  --focus-light: 2px dashed var(--primary);
  --focus-dark: 2px dashed #FFFFFF;
  --focus-offset: 3px;
}

/* v3 bold rebuild (homepage-spec-v3 0.1) */
:root {
  --wm-alpha: 0.10;                        /* chapter watermark opacity; budget 0.08-0.12 (G6.20) */
  --chap-pad: clamp(88px, calc(68px + 6.4vw), 160px);   /* coastal chapter top padding: 160 @1440, 150 @1280, 88 phone */
  --fluid-display: clamp(38px, calc(33.1px + 1.59vw), 56px); /* coastal T3 fluid type: 56 @1440, 53.45 @1280; phone step 38 */
  --split-gap: 64px;                       /* coastal column gap (744.5 - 680.5) */
  --split-gutter: 40px;                    /* coastal ~39.9 content inset */
}
