/* Adam Hajnos Design System — what tokens.json cannot declare. Load after tokens.css (generated from tokens.json). */
/* latin-ext faces, by unicode-range (carries the dotless ȷ used in the wordmark); the latin faces come from tokens.json */
@font-face{font-family:'Source Sans 3';font-style:italic;font-weight:200 900;font-display:swap;src:url('../fonts/SourceSans3-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:200 900;font-display:swap;src:url('../fonts/SourceSans3-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Stack Sans Headline';font-style:normal;font-weight:200 700;font-display:swap;src:url('../fonts/StackSansHeadline-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
:root{
/* Rules (composites of color tokens) */
--rule-grid:1px solid var(--grid);
--rule-strong:1px solid var(--black);
--rule-on-dark:1px solid var(--black-rule);
--rule-accent:2px solid var(--raspberry);
/* Photo protection on After Hours only — keeps type legible over warm imagery */
--protect-dark-left:linear-gradient(90deg,rgba(23,23,23,.92) 0%,rgba(23,23,23,.6) 40%,rgba(23,23,23,0) 75%); /* @kind color */
--protect-dark-bottom:linear-gradient(0deg,rgba(23,23,23,.85) 0%,rgba(23,23,23,0) 55%); /* @kind color */
/* Motion */
--ease-out:cubic-bezier(.16,1,.3,1); /* @kind other */
--ease-inout:cubic-bezier(.65,0,.35,1); /* @kind other */
--dur-fast:160ms; /* @kind other */
--dur-base:320ms; /* @kind other */
--dur-reveal:700ms; /* @kind other */
/* Type roles */
--type-headline-family:var(--font-display);
--type-body-family:var(--font-text);
--type-label-family:var(--font-text);
}
/* Minimal element defaults */
html{-webkit-font-smoothing:antialiased;}
body{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-text);font-size:var(--text-body);line-height:var(--leading-body);}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-bold);letter-spacing:var(--tracking-heading);line-height:var(--leading-heading);margin:0;}
p{margin:0;text-wrap:pretty;}
a{color:var(--text-primary);text-decoration:underline;text-decoration-color:var(--raspberry);text-underline-offset:4px;text-decoration-thickness:1px;}
a:hover{color:var(--raspberry);}
::selection{background:var(--raspberry);color:var(--white);}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;}
@keyframes ah-reveal{from{transform:translateY(102%)}to{transform:none}}
@keyframes ah-fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
