/* Self-hosted fonts (no Google Fonts CDN) */
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/barlow-400.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/barlow-500.woff2) format('woff2')}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/barlow-semi-condensed-500.woff2) format('woff2')}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-semi-condensed-600.woff2) format('woff2')}

/* Resets */
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:#fff;color:#0B202D;font:400 17px/1.6 'Barlow',system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0;padding:0}
ul,ol{list-style:none}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
a:hover{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:#0B202D;color:#fff}
:focus-visible{outline:2px solid #EF2E45;outline-offset:3px}

/* Entrance reveal – only active when site.js sets data-motion="on" (never with reduced motion) */
html[data-motion="on"] [data-reveal]{opacity:0;transform:translate3d(0,28px,0);transition:opacity .9s cubic-bezier(.2,.65,.2,1),transform .9s cubic-bezier(.2,.65,.2,1)}
html[data-motion="on"] [data-reveal][data-in]{opacity:1;transform:none}

/* Hover details (parent hover → child movement) */
[data-arrow]{transition:transform .35s cubic-bezier(.2,.65,.2,1)}
a:hover [data-arrow],button:hover [data-arrow]{transform:translateX(4px)}
[data-zoom]{transition:transform 1.2s cubic-bezier(.2,.65,.2,1)}
a:hover [data-zoom]{transform:scale(1.035)}
[data-uline]{transform:scaleX(0);transform-origin:left center;transition:transform .4s cubic-bezier(.2,.65,.2,1)}
a:hover [data-uline],[data-active="true"] [data-uline]{transform:scaleX(1)}
[data-focusline]{transform:scaleX(0);transform-origin:left center;transition:transform .35s cubic-bezier(.2,.65,.2,1)}
[data-field]:focus-within [data-focusline]{transform:scaleX(1)}

/* Brand slots: monochrome → colour on hover (opacity cross-fade) */
[data-brand-mono],[data-brand-color]{transition:opacity .4s ease}
[data-brand-color]{opacity:0}
[data-brand] img[data-brand-mono]{opacity:.72}
[data-brand]:hover [data-brand-color]{opacity:1}
[data-brand]:hover [data-brand-mono]{opacity:0}

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