/* Shared design tokens and components. */
:root{
    --cream:#F4EEE4;--cream-2:#EFE7D8;--paper:#FBF7EF;
    --ink:#1F3B36;--ink-2:#274A43;
    --terra:#C15F3C;--terra-soft:#CB7350;--umber:#CF8D33;--beige:#E0A24A;
    --body-ink:#34302A;--label:#71675B;
    --line:rgba(31,59,54,.15);--line-2:rgba(31,59,54,.09);
    --display:"Fraunces",serif;--body:"Figtree",sans-serif;
    --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    --muted:var(--label);--ink-soft:var(--body-ink);--card:var(--paper);--paper-2:var(--cream-2);
    --accent:var(--terra);--accent-tint:rgba(193,95,60,.12);
    --maxw:1280px;--ease:cubic-bezier(.22,.61,.36,1);
  }
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--cream);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.eyebrow{font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);display:inline-flex;align-items:center;gap:.7em}
.eyebrow::before{content:"✺";font-size:.95em;opacity:.9}
header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s var(--ease),box-shadow .4s}
header.scrolled{background:rgba(244,238,228,.92);box-shadow:0 1px 0 var(--line-2)}
.nav{display:flex;align-items:center;justify-content:space-between;height:80px}
.brand{display:flex;align-items:center}
.brand img{display:block}
.brand .logo-dark{height:36px;width:auto}
.brand .logo-light{height:36px;width:auto;display:none}
header.scrolled .brand .logo-dark{display:none}
header.scrolled .brand .logo-light{display:block}
.foot-brand .brand .logo-dark{height:40px}
.nav-links{display:flex;align-items:center;gap:32px}
.nav-links a{font-size:.92rem;font-weight:500;color:rgba(244,238,228,.86);position:relative;transition:color .25s}
header.scrolled .nav-links a{color:var(--ink)}
.nav-links a:hover{color:var(--terra)}
header.scrolled .nav-links a:hover{color:var(--terra)}
.nav-cta{font-size:.92rem;font-weight:600;color:var(--cream)!important;background:var(--terra);padding:12px 24px;border-radius:100px;transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.nav-cta:hover{background:#A64D2D;transform:translateY(-2px);box-shadow:0 10px 24px rgba(193,95,60,.28)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:24px;height:2px;background:var(--cream);transition:.3s}
header.scrolled .burger span{background:var(--ink)}
.btn{font-family:var(--body);font-size:.98rem;font-weight:600;padding:15px 30px;border-radius:100px;cursor:pointer;border:1.5px solid transparent;display:inline-flex;align-items:center;gap:.55em;transition:transform .25s var(--ease),box-shadow .25s,background .25s,border-color .25s,color .25s}
footer{background:#16302B;color:var(--cream);padding:70px 0 34px}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-brand .brand{margin-bottom:14px;color:var(--cream)}
.foot-brand .tagline{font-family:var(--display);font-style:italic;font-weight:500;color:var(--beige);font-size:1.05rem;margin-bottom:14px}
.foot-brand p{color:rgba(244,238,228,.66);font-size:.92rem;max-width:34ch}
.foot-col h2{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--beige);margin-bottom:16px;font-weight:600}
.foot-col a{display:block;color:rgba(244,238,228,.74);font-size:.92rem;margin-bottom:11px;transition:color .25s}
.foot-col a:hover{color:var(--cream)}
.foot-bot{display:flex;justify-content:space-between;align-items:center;padding-top:26px;gap:16px;flex-wrap:wrap}
.foot-bot p{font-size:.82rem;color:rgba(244,238,228,.55)}
