/* Fonts are self-hosted (SIL Open Font License): no third-party requests. */
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/bodoni-moda-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/bodoni-moda-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/bodoni-moda-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Cinzel";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/cinzel-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Cinzel";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/cinzel-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Pinyon Script";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/pinyon-script-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"EB Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/eb-garamond-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"EB Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/eb-garamond-latin-500-normal.woff2) format("woff2")}
/* Nine Pearls brand tokens. Day is pearl stationery and navy ink; Night is black lacquer.
   Monochrome: ink, pearl white and silver grey. Display: Bodoni Moda, always upright.
   Body: Jost. No gradients on text, no glass, no emoji. */
:root{
  --paper:#F4F3F0;
  --paper-2:#E9E7E3;
  --card:#FFFFFF;
  --ink:#111111;
  --muted:#5C5C5C;
  --line:rgba(17,17,17,.12);
  --line-strong:rgba(17,17,17,.3);
  --claret:#111111;
  --claret-ink:#FFFFFF;
  --hover:#3A3A3A;
  --spare:#6A6864;
  --champagne:#B08D57;
  --champagne-text:#7D6233;
  --pearl:#FFFFFF;
  --pearl-fill:#FFFFFF; --pearl-shade:#B9B3A8; --pearl-edge:#A39D92; --pearl-glint:#FFFFFF; --thread:#B08D57; --pearl-drop:0 1px 3px rgba(17,17,17,.3);
  --good:#2F6B4F;
  --warn:#9A3B2A;
  --shadow:0 1px 0 rgba(255,255,255,.8) inset, 0 20px 40px -32px rgba(17,17,17,.45);
  --display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --body:"EB Garamond","Garamond","Iowan Old Style",Georgia,serif;
  --label:"Cinzel","Trajan Pro",Georgia,serif;
  --script:"Pinyon Script","Snell Roundhand",cursive;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --paper:#0B0B0B; --paper-2:#161616; --card:#141414; --ink:#F2F1EE; --muted:#A3A19C;
  --line:rgba(242,241,238,.13); --line-strong:rgba(242,241,238,.3);
  --claret:#F2F1EE; --claret-ink:#0B0B0B; --hover:#CFCDC8; --spare:#9A9894; --champagne:#C9A66B; --champagne-text:#D4B57E; --pearl:#F7F5F0; --pearl-fill:#F6F3EC; --pearl-shade:#BDB9B1; --pearl-edge:#F6F3EC; --pearl-glint:#FFFFFF; --thread:#C9A66B; --pearl-drop:0 1px 3px rgba(0,0,0,.6);
  --good:#7FC4A0; --warn:#E58A76;
  --shadow:0 1px 0 rgba(255,255,255,.04) inset, 0 24px 50px -30px rgba(0,0,0,.9);
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{background:var(--paper)}
body{margin:0;color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
:focus-visible{outline:2px solid var(--champagne);outline-offset:3px}
img{max-width:100%;display:block}

.headband{height:6px;background:var(--ink)}
.wordmark{font-family:var(--label);font-weight:500;letter-spacing:.2em;text-transform:uppercase;font-size:18px;text-decoration:none;white-space:nowrap}
.wordmark .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--champagne);margin:0 .5em;vertical-align:middle;transform:translateY(-2px)}
.eyebrow{font-family:var(--label);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--champagne-text);font-weight:500}
.script{font-family:var(--script);font-weight:400;letter-spacing:0;text-transform:none}
.num{font-variant-numeric:tabular-nums lining-nums}
.rule{border:0;height:4px;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);margin:0}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:2px;padding:14px 22px;font-family:var(--label);font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .15s ease,color .15s ease}
.btn:hover{background:var(--hover);border-color:var(--hover);color:var(--claret-ink)}
.btn.claret{background:var(--claret);border-color:var(--claret);color:var(--claret-ink)}
.btn.claret:hover{background:var(--hover);border-color:var(--hover);color:var(--claret-ink)}
.btn.line{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn.line:hover{border-color:var(--ink);background:transparent;color:var(--ink)}
.btn[disabled]{opacity:.55;cursor:wait}
.link{background:none;border:0;padding:0;color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong);cursor:pointer}
.link:hover{text-decoration-color:var(--claret)}

.field{width:100%;background:var(--card);border:1px solid var(--line-strong);border-radius:2px;padding:12px 14px;font-size:16px}
.field:focus{outline:none;border-color:var(--ink)}
label.lab{display:flex;flex-direction:column;gap:6px;font-family:var(--label);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500}
.msg-error{color:var(--warn);font-size:14px;min-height:1.4em;margin:0}
.msg-ok{color:var(--good);font-size:14px;margin:0}

@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}

.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:var(--paper);padding:10px 14px;z-index:20;text-decoration:none}
.skip:focus{top:12px}

/* Monogram: Roman numeral nine on claret with a champagne hairline, like a monogrammed box. */
.mono{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:12px;vertical-align:middle;transform:translateY(-2px);background:#111111;color:#F4F3F0;font-family:var(--display);font-weight:500;font-size:14px;letter-spacing:-.02em;box-shadow:inset 0 0 0 2px #111111,inset 0 0 0 3px #B08D57}
/* Brand logo (her Canva lockup). Sits on its own pearl-white plate so it reads in Night mode too. */
.wordmark .logo{display:block;height:clamp(76px,9vw,108px);width:auto;border-radius:6px}
.top .wordmark .logo{height:64px}
footer .wordmark .logo{height:84px}
:root[data-theme="dark"] .wordmark .logo{padding:2px}
