body{font-family:var(--sans);font-size:15px;line-height:1.65;color:var(--text-main);background:var(--bg-main);-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
::selection{color:#181818;background:var(--accent-bright)}
img{width:100%;height:100%;object-fit:cover}
button{border:0;background:none}
.container{width:min(var(--content),calc(100% - var(--pad)*2));margin-inline:auto}
.section{padding-block:var(--section-space)}
.skip-link{position:fixed;z-index:1000;left:16px;top:16px;padding:12px 16px;color:#111;background:#ffffff;transform:translateY(-160%);transition:transform .2s}
.skip-link:focus{transform:translateY(0)}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.17em;text-transform:uppercase;color:#717171}
.eyebrow--light{color:rgba(255,255,255,.72)}
.eyebrow-rule{width:32px;height:1px;background:var(--accent);display:inline-block}
h1,h2,h3,p{overflow-wrap:break-word}
h1,h2,h3{font-weight:500;letter-spacing:-.055em}
h2{font-size:clamp(42px,5.2vw,76px);line-height:.99}
h2 em,h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.025em}
.section-heading{margin-bottom:clamp(48px,6vw,78px)}
.section-heading--split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.65fr);align-items:end;gap:7vw}
.section-heading h2{margin-top:26px;max-width:690px}
.section-intro{max-width:435px;padding-bottom:4px}
.section-intro p{color:var(--text-secondary);font-size:15px;line-height:1.8}
.section-intro p+p{margin-top:14px}
.section-intro .text-link{margin-top:28px}
.lead-copy{font-size:clamp(20px,2vw,25px);line-height:1.43;letter-spacing:-.035em;color:#353535}
.micro-note{font-size:11px!important;line-height:1.6!important;color:#858585!important}
.button{min-height:54px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:34px;border:1px solid transparent;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease);border-radius:3px}
.button span{font-size:16px;line-height:1;transition:transform .25s var(--ease)}
.button:hover span{transform:translate(4px,-2px)}
.button--primary{background:var(--accent);color:#ffffff}
.button--primary:hover{background:#c81020}
.button--light{background:#ffffff;color:#181818}
.button--light:hover{background:var(--accent-bright)}
.button--outline-light{border-color:rgba(255,255,255,.52);color:#fff;background:rgba(0,0,0,.08)}
.button--outline-light:hover{color:#181818;background:#ffffff}
.button--dark-outline{border-color:#bfbfbf;background:transparent;color:var(--text-main)}
.button--dark-outline:hover{border-color:var(--text-main);background:var(--text-main);color:#fff}
.button--small{min-height:42px;padding-inline:17px;font-size:11px;gap:22px}
.text-link{display:inline-flex;align-items:center;gap:16px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--accent);padding-bottom:7px;width:max-content;max-width:100%;transition:gap .25s var(--ease),color .25s var(--ease)}
.text-link span{font-size:16px;line-height:1;color:var(--accent)}
.text-link:hover{gap:23px}
.text-link--large{font-size:12px}
.text-link--light{color:#f5f5f5}
.section-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:55px}
.section-footnote{font-size:11px;color:var(--text-secondary);letter-spacing:.015em}
.media-frame{position:relative;overflow:hidden;background:#ffffff}
.media-frame img{transition:transform 1s var(--ease)}
.media-frame:hover img{transform:scale(1.018)}
.image-tag{position:absolute;z-index:1;left:15px;bottom:15px;max-width:calc(100% - 30px);padding:7px 10px;background:rgba(255,255,255,.94);color:#4d4d4d;font-size:11px;font-weight:700;letter-spacing:.1em;line-height:1.35;text-transform:uppercase}
.image-tag--dark{background:rgba(20,20,20,.78);color:#fff}
.js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js [data-reveal].is-visible{opacity:1;transform:none}
.js [data-reveal].delay-1{transition-delay:.08s}
.js [data-reveal].delay-2{transition-delay:.16s}
.js [data-reveal].delay-3{transition-delay:.24s}
.toast{position:fixed;z-index:1500;bottom:24px;left:50%;max-width:min(420px,calc(100% - 32px));padding:12px 18px;background:#181818;color:#fff;font-size:12px;line-height:1.5;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translate(-50%,18px);transition:opacity .25s,transform .25s}
.toast.is-visible{opacity:1;transform:translate(-50%,0)}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:900px){.section-heading--split{grid-template-columns:minmax(0,1fr);gap:24px}.section-intro{max-width:620px}.section-intro .text-link{margin-top:21px}}
@media(max-width:640px){.section{padding-block:84px}.section-heading{margin-bottom:42px}.section-heading h2{margin-top:20px}.section-footer{align-items:flex-start;flex-direction:column;margin-top:34px}.button{min-height:52px}.section-footnote{max-width:38ch}.toast{bottom:82px}}
@media(min-width:1081px) and (max-width:1200px){body .site-header .nav-list{gap:10px}body .site-header .nav-trigger,body .site-header .nav-link{font-size:11px}body .site-header .header-actions{gap:8px}body .site-header .header-quote{display:none}}
@media(min-width:1101px) and (max-width:1320px){body .site-header .nav-list{gap:8px}body .site-header .nav-trigger,body .site-header .nav-link{font-size:11px}body .site-header .header-actions{gap:8px}body .site-header .header-quote{display:none}body .site-header .header-actions .button{min-height:38px;padding-inline:10px;font-size:11px;gap:9px}body .site-header .mega-panel--solutions{left:-180px;width:min(700px,calc(100vw - 44px))}}
@media(min-width:1321px) and (max-width:1500px){body .site-header .nav-list{gap:clamp(9px,.8vw,12px)}body .site-header .nav-trigger,body .site-header .nav-link{font-size:11px}body .site-header .header-actions{gap:9px}body .site-header .header-quote{display:none}body .site-header .header-actions .button{min-height:40px;padding-inline:11px;font-size:11px;gap:10px}}
.footer-link-pending{color:rgba(255,255,255,.48);font-size:inherit;line-height:inherit;cursor:default}

/* Usability fixes, 2026-10-07 */
form,form :is(fieldset,label,legend){min-width:0}
form :is(input,select,textarea){min-width:0;max-width:100%}
form :is(input[type=file],legend){overflow-wrap:anywhere}
@media(max-width:1280px){.primary-navigation[inert]{visibility:hidden}}

