/* ---- Brand settings: change these per brand ---- */
:root{
  --bg:#fff4e0;        /* page background */
  --ink:#2b1d16;       /* main text */
  --muted:#5e4a3e;     /* secondary text, must still pass WCAG AA on --bg */
  --accent:#c63c1c;    /* links, underlines, button */
  --accent-ink:#ffffff;/* text on the accent button */
  --rule:rgba(43,29,22,.14);
  --display:"Display","Arial Rounded MT Bold",system-ui,sans-serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mark-size:clamp(3rem,15vw,5.8rem);
  --mark-case:uppercase;    /* uppercase for all-caps wordmarks */
  --mark-track:.01em;
  --mark-weight:700;
}

/* ---- Layout: normally left alone ---- */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 var(--body)}
a{color:var(--accent);text-underline-offset:.2em}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{flex:1;width:100%;max-width:36rem;margin:0 auto;padding:clamp(3rem,12vh,7rem) 1.5rem 3rem;text-align:center;display:flex;flex-direction:column;align-items:center}
.mark{margin:0 0 1.75rem}
.logo{display:block;max-width:min(78vw,22rem);height:auto;margin:0 auto}
.wordmark{margin:0;font-family:var(--display);font-weight:var(--mark-weight);font-size:var(--mark-size);line-height:.95;letter-spacing:var(--mark-track);text-transform:var(--mark-case);color:var(--ink)}
.wordmark small{display:block;font-size:.38em;letter-spacing:.2em;margin-bottom:.25em}
.line{text-wrap:pretty;margin:0 0 1rem;font-size:clamp(1.05rem,3.6vw,1.25rem);max-width:30rem}
.extra{margin:0 0 1rem;color:var(--muted);font-size:.95rem}
.soon{margin:.25rem 0 2rem;color:var(--muted);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase}
.signup{width:100%;max-width:26rem;margin:0 0 2.25rem;text-align:left}
.signup label{display:block;font-size:.9rem;font-weight:600;margin-bottom:.4rem}
.signup .row{display:flex;flex-direction:column;gap:.5rem}
@media (min-width:480px){.signup .row{flex-direction:row}}
.signup input{flex:1;min-width:0;font:inherit;padding:.7rem .85rem;border:1px solid var(--rule);border-radius:6px;background:transparent;color:var(--ink)}
.signup button{font:600 1rem/1 var(--body);padding:.8rem 1.1rem;border:0;border-radius:6px;background:var(--accent);color:var(--accent-ink);cursor:pointer}
.signup .small{margin:.5rem 0 0;font-size:.8rem;color:var(--muted)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.social{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 1.5rem}
.social a{color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:600;letter-spacing:.06em;border-bottom:2px solid var(--accent);padding-bottom:2px}
.social a:hover{color:var(--accent)}
.contact{margin:2rem 0 0;font-size:.9rem;color:var(--muted)}
.foot{padding:1.25rem 1.5rem 1.75rem;text-align:center;font-size:.8rem;color:var(--muted);border-top:1px solid var(--rule)}
.foot p{margin:0}
.foot a{color:inherit}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---- Brand extras ---- */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.logo{width:min(84vw,22rem)}.social a{border-bottom-color:#ff5a36}
