/* ============================================================
   sunlit-type.css  —  v2, 17 August 2026
   Verified against the Brand Kit (Notion source of truth,
   page 3933ccd8-b02a-81fa-b7b6-e7dbdb2e42c4).

   WHY THIS FILE EXISTS
   sunlit-brand.css declares palette and type tokens but applies
   none of them to any element. Every page therefore sets its own
   fonts and its own headline sizes, which is why nothing matches.
   This file applies the tokens. One scale, every page.

   ------------------------------------------------------------
   READ THIS FIRST — THE FONT IS THE REAL BUG
   ------------------------------------------------------------
   The Brand Kit specifies sunlit-brand.css as ~331 KB with
   Cormorant Garamond SELF-HOSTED (embedded woff, offline-proof,
   no Google Fonts dependency). The version currently in the
   deploy folder is ~2 KB and pulls the font over an @import
   from fonts.googleapis.com.

   CSS @import is render-blocking and unreliable. When it
   resolves, headings render in Cormorant. When it does not, they
   fall back to Georgia. That is the source of the two different
   serifs across the site — not a styling decision, a load
   failure. Cormorant also has a much smaller x-height than
   Georgia, so the same CSS size renders visibly different
   depending on which font won.

   The Brand Kit log records that this exact bug was already
   found and fixed once: "Cormorant Garamond self-hosted after a
   Google Fonts dependency caused a fallback in local preview."
   The rebuild reintroduced it.

   ACTION: recover the original ~331 KB sunlit-brand.css from
   Drive folder "06 - Brand & Logo Library" and put it back in
   the deploy folder. Until that happens, headings will keep
   flipping between two faces no matter what this file says.
   ------------------------------------------------------------

   LOAD ORDER, on every page, in <head>:

       <link rel="stylesheet" href="sunlit-brand.css">
       <link rel="stylesheet" href="sunlit-type.css">
       <link rel="stylesheet" href="sunlit-pages.css">

   Any inline <style> block in a page's <head> still beats this
   file. Those blocks are the second cause of the drift and must
   be deleted from the page files.
   ============================================================ */


/* ---- 1. TYPE SCALE ---------------------------------------- */

:root{
  --t-h1:   clamp(2.25rem, 1.6rem + 2.6vw, 3.75rem);
  --t-h2:   clamp(1.5rem,  1.2rem + 1.2vw, 2.125rem);
  --t-h3:   clamp(1.125rem,1.02rem + 0.4vw, 1.375rem);
  --t-lead: clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem);
  --t-body: 1rem;        /* Brand Kit 02 */
  --t-small:0.875rem;
  --t-micro:0.75rem;

  --lh-tight:1.15;
  --lh-snug:1.3;
  --lh-body:1.55;        /* Brand Kit 02 — 1.55, not 1.6 */

  --ls-display:0.05em;
  --ls-eyebrow:0.22em;   /* Brand Kit 02 range: .18-.28em */
  --ls-button:0.16em;

  /* Brand Kit 02 weights:
     400 quiet display | 500 primary headings | 600 titles/cards */
  --w-quiet:400;
  --w-head:500;
  --w-title:600;
}


/* ---- 2. BASE ---------------------------------------------- */

html{ -webkit-text-size-adjust:100%; }

body{
  font-family:var(--body);
  font-size:var(--t-body);
  line-height:var(--lh-body);
  color:var(--ink);              /* Brand Kit 01 - ink is primary text */
  background:var(--stone-lt);    /* Brand Kit 01 - page background */
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}


/* ---- 3. HEADINGS -----------------------------------------
   Cormorant Garamond, ALL CAPS via text-transform per the
   standing rule. Never rely on typed capitals.
   ----------------------------------------------------------- */

h1, h2, h3, h4, h5, h6,
.dcaps, .serif, .display{
  font-family:var(--display);
  color:var(--ink);
}

h1, h2, h3, h4, h5, h6, .dcaps{
  text-transform:uppercase;
  letter-spacing:var(--ls-display);
  margin:0;
}

h1{ font-size:var(--t-h1); line-height:var(--lh-tight); font-weight:var(--w-head); }
h2{ font-size:var(--t-h2); line-height:var(--lh-snug);  font-weight:var(--w-head); }
h3{ font-size:var(--t-h3); line-height:var(--lh-snug);  font-weight:var(--w-title); }
h4{ font-size:var(--t-h3); line-height:var(--lh-snug);  font-weight:var(--w-title); }

/* Quiet display - large Cormorant used as texture, not as a
   heading. Brand Kit 02 assigns weight 400 to this. */
.display--quiet{ font-weight:var(--w-quiet); }

/* Italic accents. Brand Kit 02: italic 400/500, IN-LINE ONLY,
   never whole paragraphs. Stays in Cormorant, inherits size. */
h1 em, h2 em, h3 em, h1 i, h2 i, h3 i, .accent{
  font-family:var(--display);
  font-style:italic;
  font-weight:var(--w-head);
  text-transform:none;
  color:var(--brass-d);
}
p em, p i{ font-style:italic; }   /* body italics stay in the sans */


/* ---- 4. RUNNING TEXT ------------------------------------- */

p{ margin:0 0 1em; max-width:68ch; }
p:last-child{ margin-bottom:0; }

.lead{
  font-size:var(--t-lead);
  line-height:var(--lh-body);
  color:var(--greige);           /* Brand Kit 01 - secondary text */
  max-width:56ch;
}

small, .small{ font-size:var(--t-small); }
.muted{ color:var(--greige); }


/* ---- 5. EYEBROWS AND LABELS ------------------------------
   Brand Kit 02: uppercase, .18-.28em tracking, weight 600.
   Sans, not Cormorant. Brass-deep per Brand Kit 01.
   ----------------------------------------------------------- */

.eyebrow{
  font-family:var(--body);
  font-size:var(--t-micro);
  font-weight:var(--w-title);
  letter-spacing:var(--ls-eyebrow);
  text-transform:uppercase;
  color:var(--brass-d);
  line-height:1.4;
}

.label, .src, figcaption{
  font-family:var(--body);
  font-size:var(--t-micro);
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--greige);
}


/* ---- 6. NAV ----------------------------------------------
   Locks the three things that differ page to page right now:
   case, face, and the button colour.
   ----------------------------------------------------------- */

.site-nav, .site-nav a, nav.sunlit-nav, nav.sunlit-nav a{
  font-family:var(--body);
  font-size:var(--t-micro);
  font-weight:500;
  letter-spacing:0.14em;
  text-transform:uppercase;      /* never Title Case */
  color:var(--ink);
  text-decoration:none;
}
.site-nav a:hover, nav.sunlit-nav a:hover{ color:var(--brass-d); }

/* The single filled nav button. Brand Kit 04: square, no radius,
   brass-deep fill, white text. It is never black. */
.nav-cta, .site-nav .cta, nav.sunlit-nav .cta{
  background:var(--brass-d);
  color:var(--paper);
  padding:10px 18px;
  border-radius:0;
  font-weight:var(--w-title);
  letter-spacing:var(--ls-button);
  text-transform:uppercase;
}
.nav-cta:hover{ background:var(--brass); color:var(--paper); }

.wordmark{
  font-family:var(--display);
  font-size:1.125rem;
  font-weight:var(--w-head);
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--ink);
  text-decoration:none;
}

/* Logo mark. Brand Kit 03: AA9EAF5E charcoal lockup on all light
   backgrounds - file sunlit-logo-charcoal.png. Never A7A04ECA on
   a marketing surface, never 3DE3F00E at all.
   The Interiors page is currently rendering a broken-image icon
   and its alt text inside the header, which means a bad src path.
   Sizing and transparent colour contain the damage; the path
   still has to be corrected in the page file. */
.logo-mark{
  height:34px;
  width:auto;
  display:block;
  overflow:hidden;
  color:transparent;
}


/* ---- 7. BUTTONS -----------------------------------------
   Brand Kit 04: square, no radius.
   Solid = brass-deep fill, white text (primary).
   Ghost = brass-deep text on transparent (secondary).
   ----------------------------------------------------------- */

.btn, .button{
  display:inline-block;
  font-family:var(--body);
  font-size:var(--t-micro);
  font-weight:var(--w-title);
  letter-spacing:var(--ls-button);
  text-transform:uppercase;
  text-decoration:none;
  padding:12px 28px;
  border:1px solid var(--brass-d);
  border-radius:0;
  color:var(--brass-d);
  background:transparent;
  transition:background .15s ease, color .15s ease;
  cursor:pointer;
}
.btn:hover, .button:hover{ background:var(--brass-d); color:var(--paper); }

.btn--solid{ background:var(--brass-d); color:var(--paper); border-color:var(--brass-d); }
.btn--solid:hover{ background:var(--brass); border-color:var(--brass); }


/* ---- 8. SECTIONS ----------------------------------------
   Brand Kit 04: sections alternate Paper and Stone Light.
   Cream is an emphasis band, used sparingly.
   ----------------------------------------------------------- */

.sect--paper{ background:var(--paper); }
.sect--stone{ background:var(--stone-lt); }
.sect--cream{ background:var(--cream); }

.wrap{ max-width:var(--wrap); margin-inline:auto; padding-inline:24px; }
.rule{ width:44px; height:1px; background:var(--brass); border:0; margin:22px 0; }
hr{ border:0; border-top:1px solid var(--stone-line); margin:2rem 0; }

a{ color:var(--brass-d); }
img{ max-width:100%; height:auto; display:block; }


/* ---- 9. GUARDRAIL ---------------------------------------
   Brand Kit, locked 12 August 2026: dark backgrounds are not
   used on any Sunlit marketing or branding surface. Every
   surface is light - paper, stone-light, stone or cream. This
   includes heroes. The 5 August rule permitting dark heroes in
   ink or greige is retired.

   This has never applied to design renders. Interiors and
   exteriors may use any palette. Mark those .render.
   ----------------------------------------------------------- */

.hero, .hero--full{
  background-color:var(--stone-lt);
  color:var(--ink);
}

/* If a marketing section needs a dark ground it is a render.
   Mark it .render and it is exempt from the rule above. */
.render{ background-color:initial; }
