/* Telar Indigo - core tokens, reset, typography */
:root{
  /* core color tokens - graphite-chalk family */
  --color-ink:#2C2A2A;
  --color-ink-raised:#3A3635;
  --color-paper:#ECE6E2;
  --color-paper-dim:#C9BFB9;
  --color-line:#4A2A26;
  --color-accent:#C25A3D;          /* terracotta accent / CTA */
  /* brand brick scale */
  --brick:#993333;
  --brick-deep:#6E2420;
  --bg-darkest:#211513;
  /* technical (free naming) */
  --radius:4px;
  --radius-lg:10px;
  --shadow-1:0 1px 2px rgba(10,5,4,.35);
  --shadow-2:0 14px 38px rgba(10,5,4,.45);
  --space-1:8px;
  --space-2:16px;
  --space-3:24px;
  --space-4:32px;
  --space-5:48px;
  --space-6:64px;
  --space-7:96px;
  --gutter:clamp(16px,4vw,40px);
  --container:1180px;
  --ff-display:"Fraunces",Georgia,"Times New Roman",serif;
  --ff-body:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}

@font-face{font-family:"Fraunces";src:url("../fonts/fraunces.woff2") format("woff2");font-weight:400 700;font-display:swap;font-style:normal;}
@font-face{font-family:"Inter";src:url("../fonts/inter.woff2") format("woff2");font-weight:400 700;font-display:swap;font-style:normal;}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{animation:none !important;transition:none !important;}}
body{
  margin:0;
  background:var(--color-paper);
  color:#241917;
  font-family:var(--ff-body);
  font-size:17px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto;}
a{color:var(--brick-deep);text-decoration-thickness:1px;text-underline-offset:2px;}
a:hover{color:var(--color-accent);}
h1,h2,h3,h4{font-family:var(--ff-display);line-height:1.12;font-weight:600;color:var(--brick-deep);margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,5vw,3.35rem);letter-spacing:-.01em;}
h2{font-size:clamp(1.55rem,3.4vw,2.35rem);}
h3{font-size:clamp(1.2rem,2vw,1.5rem);}
p{margin:0 0 1.1em;max-width:68ch;}
ul,ol{margin:0 0 1.1em;padding-left:1.25em;}
li{margin:.3em 0;}
strong{color:var(--brick-deep);}

.wrap{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--gutter);}
.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-to-content{position:absolute;left:8px;top:-120px;z-index:300;background:var(--brick-deep);color:var(--color-paper);padding:10px 16px;border-radius:var(--radius);transition:top .18s var(--ease);}
.skip-to-content:focus{top:8px;color:var(--color-paper);}

:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;}

.btn{
  display:inline-flex;align-items:center;gap:.5em;justify-content:center;
  min-height:48px;padding:13px 26px;border-radius:var(--radius);
  font-family:var(--ff-body);font-weight:600;font-size:16px;line-height:1;
  border:1px solid transparent;cursor:pointer;text-decoration:none;
  transition:background .2s var(--ease),transform .2s var(--ease),border-color .2s var(--ease);
}
.btn-fill{background:var(--color-accent);color:#1a0d09;}
.btn-fill:hover{background:#d8704f;color:#1a0d09;transform:translateY(-1px);}
.btn-line{background:transparent;color:var(--color-paper);border-color:rgba(236,230,226,.4);}
.btn-line:hover{border-color:var(--color-accent);color:var(--color-paper);}
.btn-ghost{background:transparent;color:var(--brick-deep);border-color:var(--color-line);}
.btn-ghost:hover{border-color:var(--color-accent);color:var(--color-accent);}

.eyebrow{font-family:var(--ff-body);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent);margin:0 0 var(--space-2);}
.lede{font-size:1.18rem;color:#3a2c28;}

.section{padding:clamp(48px,7vw,96px) 0;}
.section-tight{padding:clamp(36px,5vw,64px) 0;}
.section-dark{background:var(--bg-darkest);color:var(--color-paper-dim);}
.section-dark h2,.section-dark h3{color:var(--color-paper);}
.section-graphite{background:var(--color-ink);color:var(--color-paper-dim);}
.section-graphite h2,.section-graphite h3{color:var(--color-paper);}

.is-rise{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease);}
.is-rise.shown{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.is-rise{opacity:1;transform:none;}}
