/* Cairn / Write with Pip: shared tokens and base styles.
   Colors from ~/cairn-design (styles.css + brand v2). Fonts are self-hosted (OFL). */
@font-face{font-family:"Fraunces";src:url(/fonts/fraunces.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Lora";src:url(/fonts/lora.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url(/fonts/lora-italic.woff2) format("woff2");font-weight:400 700;font-style:italic;font-display:swap}

:root{
  --bg:#F7F4EE;--cream:#F7F1E6;--surface:#FFFDF9;--surface2:#F0ECE3;
  --ink:#22201C;--ink-brand:#3B2F27;--ink2:#5E5A52;--ink3:#8A8378;--line:#E4DED2;
  --accent:#B5562F;--accent-hover:#9E4826;--accent-l:#C96A42;--accent-soft:#F4E2D8;
  --sage:#5E7D63;--sage-soft:#E2EBDF;--gold:#B88A2E;--gold-soft:#F5EAD1;--blue:#4A6A8A;--blue-soft:#E1E8F0;
  --sand-l:#D9B98A;--sand-m:#C49A62;--sand-d:#9C7444;--pip-cream:#F3E3CC;
  --display:"Fraunces",Georgia,serif;
  --serif:"Lora","Iowan Old Style",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,system-ui,sans-serif;
  --r:14px;--r-sm:9px;
  --shadow:0 1px 2px rgba(40,30,20,.05),0 6px 20px rgba(40,30,20,.06);
  --shadow-lg:0 2px 4px rgba(40,30,20,.05),0 18px 50px rgba(60,40,20,.12);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:var(--accent)}
a:hover{color:var(--accent-hover)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:8px;z-index:100;text-decoration:none}
.skip:focus{top:12px;color:var(--bg)}

.eyebrow{font:600 12px/1.2 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--accent)}
.display{font-family:var(--display);font-variation-settings:"SOFT" 100,"WONK" 0;font-weight:600;letter-spacing:-.015em;color:var(--ink-brand)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 20px;border-radius:999px;border:1px solid transparent;background:var(--ink-brand);color:var(--cream);font:600 15px/1 var(--sans);text-decoration:none;cursor:pointer;transition:background-color .15s,transform .15s,border-color .15s;touch-action:manipulation}
.btn:hover{color:var(--cream);background:#2a211b}
.btn:active{transform:translateY(1px)}
.btn.accent{background:var(--accent);color:#fff}
.btn.accent:hover{background:var(--accent-hover);color:#fff}
.btn.ghost{background:transparent;color:var(--ink-brand);border-color:var(--line)}
.btn.ghost:hover{background:var(--surface);color:var(--ink-brand);border-color:var(--ink3)}
.btn.small{min-height:36px;padding:8px 14px;font-size:14px}
.btn[disabled]{opacity:.5;cursor:not-allowed}

.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font:600 12px/1.6 var(--sans);background:var(--surface2);color:var(--ink2);white-space:nowrap}
.chip.accent{background:var(--accent-soft);color:var(--accent)}
.chip.sage{background:var(--sage-soft);color:var(--sage)}
.chip.gold{background:var(--gold-soft);color:#8a6519}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* hidden always wins over component display rules */
[hidden]{display:none !important}
