/* ══ Wednesday Projects — Typography ══
   All font declarations and text utility classes live here.
   common.css handles layout, components and design tokens.
   ══════════════════════════════════════════════════════════ */

/* ══ FONT TOKENS — duplicated here so var(--serif/--sans) resolve before common.css loads ══ */
:root{
  --serif:"Cormorant Garamond",serif;
  --sans:"Jost",sans-serif;
}

/* ══ FONT FACES — self-hosted woff2 ══ */
/* Cormorant Garamond 300 normal — all serif headings */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url('./assets/fonts/cormorant-garamond-300-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url('./assets/fonts/cormorant-garamond-300-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Cormorant Garamond 400 normal — portfolio cards, service/team names, result totals */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('./assets/fonts/cormorant-garamond-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('./assets/fonts/cormorant-garamond-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Cormorant Garamond 300 italic — <em> inside serif headings */
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300;font-display:swap;src:url('./assets/fonts/cormorant-garamond-300-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300;font-display:swap;src:url('./assets/fonts/cormorant-garamond-300-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Jost 300 normal — all body text (body default) */
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url('./assets/fonts/jost-300-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url('./assets/fonts/jost-300-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Jost 400 normal — nav, buttons, labels */
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('./assets/fonts/jost-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('./assets/fonts/jost-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ══ SHAPE — Cormorant Garamond (serif), weight 300 ══ */
.serif-68{font-family:var(--serif);font-size:clamp(36px,5.5vw,68px);font-weight:300;line-height:1.1} /* Page hero h1 */
.serif-42{font-family:var(--serif);font-size:clamp(24px,3.5vw,42px);font-weight:300;line-height:1.2} /* Section h2, CTA headings */
.serif-32{font-family:var(--serif);font-size:clamp(22px,3vw,32px);font-weight:300;line-height:1.3}   /* Success panels, sub-headings */
.serif-30{font-family:var(--serif);font-size:clamp(22px,2.5vw,30px);font-weight:300;line-height:1.3} /* Property room headings */
.serif-26{font-family:var(--serif);font-size:26px;font-weight:300;line-height:1.3}                   /* Modal headings */

/* ══ SHAPE — Jost (sans) — inherits font-family and weight-300 from body ══ */
.sans-15{font-size:15px;line-height:1.95} /* Hero body text on dark bg */
.sans-14{font-size:14px;line-height:1.85} /* Intro / brief body */
.sans-13{font-size:13px;line-height:1.9}  /* Standard body copy */
.sans-12{font-size:12px;line-height:1.7}  /* Disclaimers, fine print */
.sans-11{font-size:11px;line-height:1.5}  /* Notes, secondary text */
.sans-9{font-size:9px;letter-spacing:.3em;text-transform:uppercase} /* Labels — always uppercase, weight inherited */

/* ══ COLOUR ══ */
.c-white{color:#fff}
.c-ivory{color:var(--ivory-light)}
.c-ivory-mid{color:rgba(240,237,230,.78)} /* Body text on dark hero backgrounds */
.c-ivory-dim{color:rgba(240,237,230,.7)}  /* Body text on charcoal section backgrounds */
.c-charcoal{color:var(--charcoal)}
.c-grey{color:var(--mid-grey)}
.c-light-grey{color:var(--light-grey)}
.c-gold{color:var(--gold)}
.c-gold-light{color:var(--gold-light)}
.c-error{color:#a05040} /* Validation error messages */

/* ══ MODIFIERS ══ */
.italic{font-style:italic}
.regular{font-weight:400}        /* Override body default of 300 */
.tracking-sm{letter-spacing:.22em}
.tracking-md{letter-spacing:.3em}
.tracking-lg{letter-spacing:.32em}
.uppercase{text-transform:uppercase}

/* ══ COMPONENTS ══ */
.btn-gold{display:inline-block;font-family:var(--sans);font-size:11px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--charcoal);background:var(--gold-light);border:none;padding:15px 40px;cursor:pointer;transition:background .3s,letter-spacing .3s;text-decoration:none}
.btn-gold:hover{background:var(--gold);letter-spacing:.26em}
