/* Global rules — verbatim from the prototype <style> blocks (Home ∪ Story ∪ Legal) */
html{scroll-behavior:smooth}
body{margin:0;background:#1D2023;color:#ECEAE5;font-family:'Geist',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:#ECEAE5;text-decoration:none}
a:hover{color:#9A9C9E}
::selection{background:#ECEAE5;color:#1D2023}
input,textarea,button{font-family:inherit}

/* Transformation classes — reproduce the prototype's sc-if / style-hover / style-focus / template vars */
@media (max-width:759.98px){.dc-desktop{display:none!important}}
@media (min-width:760px){.dc-mobile{display:none!important}}
.dc-menu[hidden]{display:none!important}
.dc-field:focus{border-bottom-color:#ECEAE5!important}
.dc-btn:hover{background:#ECEAE5!important;color:#1D2023!important}
.dc-btn:disabled{cursor:default}
.dc-foot-link:hover{color:#ECEAE5!important}
.dc-in:hover{border-color:#ECEAE5!important;color:#ECEAE5!important}
.dc-tl{grid-template-columns:repeat(4,minmax(0,1fr))}
.dc-tl-item{padding:44px 40px 0 0}
.dc-tl-last{padding:44px 0 0 0}
@media (max-width:759.98px){
  .dc-tl{grid-template-columns:minmax(0,1fr)}
  .dc-tl-item{padding:0 0 52px 36px}
  .dc-tl-last{padding:0 0 0 36px}
}
/* Design audit 2026-10-04: keyboard focus ring; no flash before the reveal fade (html.js is set inline in <head>) */
a:focus-visible, button:focus-visible { outline: 1px solid #ECEAE5; outline-offset: 4px; }
html.js [data-reveal]:not([data-rv]) { opacity: 0; }
@media (prefers-reduced-motion: reduce) { html.js [data-reveal] { opacity: 1 !important; } }
/* Honeypot: off-screen, not display:none (some bots skip hidden fields) */
.dc-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
