/* Accessible variants preserve the crimson identity while strengthening legibility. */
:root{--accent-text:#f05a66;--focus-dark:#111113;--focus-light:#fff}
html{scroll-padding-block:24px}
*,*::before,*::after{box-sizing:border-box}
.skip-link{position:fixed;top:12px;left:12px;z-index:1000;transform:translateY(-180%);padding:12px 18px;background:#fff;color:#111113;font:600 16px/1.5 'DM Sans',Arial,sans-serif;text-decoration:underline;border:2px solid #111113}
.skip-link:focus{transform:none}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #111113!important;outline-offset:3px;box-shadow:0 0 0 7px #fff!important}
#main-content:focus,#home-content:focus{outline:none}
:where(a,button,input,select,textarea,summary){scroll-margin-block:24px}
p,li,figcaption,.field,.contact-aside,.policy-content{overflow-wrap:anywhere}
.site-links a,.navlinks a,.footer-page-links a,.legal-footer a{min-height:44px;display:inline-flex;align-items:center}
.site-footer nav a{min-height:44px}
.site-links a:hover,.navlinks a:hover,.site-links a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.site-links a[aria-current=page]{text-decoration-thickness:2px}
.legal-footer{width:100%;flex-basis:100%;grid-column:1/-1;border-top:1px solid #ffffff40;padding-top:22px;margin-top:8px;font:14px/1.75 'DM Sans',Arial,sans-serif;letter-spacing:0;text-transform:none;color:#c8c8d0}
.legal-footer p{max-width:none;margin:0 0 8px;color:#c8c8d0;font-size:14px}
.legal-footer nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.legal-footer a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer{flex-wrap:wrap}
.section-label b,.service small,.service [aria-expanded=true] .plus,.red{color:var(--accent-text)}
.light,.intro,.contact,.closing{--accent-text:#b71929}
/**** Homepage hierarchy and image-backed text ****/
.hero-content{isolation:isolate}
.hero h1{background:#111113ed;box-shadow:0 0 35px 22px #111113ed;width:fit-content;max-width:100%}
.hero h1 em{color:#f05a66}
.hero-desc{background:#111113ed;box-shadow:0 0 20px 12px #111113ed}
.hero .kicker{color:#fff;background:#111113ed;width:fit-content}
.hero-foot{background:#111113ed;color:#fff}
.hero-actions .text-button{background:#111113ed;padding:10px 12px;color:#fff}
.hero-actions{flex-wrap:wrap}
.hero{height:auto;min-height:960px;padding-bottom:145px}
.hero-content{padding-bottom:25px}
.navcta,.pill{color:#fff}
.statement{background:#19191d}
.statement h2 em{color:#f05a66}
.statement .section-label,.statement p{color:#fff}
.visual-label{color:#fff;background:#111113f5;padding:7px 10px}
.visual-title{color:#fff;background:#111113ed;box-shadow:0 0 18px 9px #111113ed}
.project-meta small{max-width:none;text-align:left}
.project .browser-frame{color:#111113}
.view-icon,.play,.scroll-indicator,.site-menu-toggle,.menu-toggle,.action.secondary{border-color:#9898a2}
.close,.chapters button{border-color:#9898a2;min-width:44px;min-height:44px}
.chapters button.active{background:#D92332;color:#fff}
.reveal{opacity:1;transform:none}
.contact .section-label{color:#55555f}
/**** Form controls and readable links ****/
.contact-form input,.contact-form select,.contact-form textarea{border:1px solid #767680}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#62626b;opacity:1}
.contact-form input[aria-invalid=true],.contact-form textarea[aria-invalid=true]{border:2px solid #b71929}
.checks label{min-height:44px;padding-block:6px}
.checks input{border:1px solid #767680}
.contact-form p a,.policy-content a,.contact-aside a,.media-access-note a{color:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}
.form-errors{border:2px solid #b71929;background:#fff;padding:18px;margin-bottom:25px;color:#111113}
.form-errors p{color:#111113;margin-top:0}
.form-errors ul{margin-bottom:0}
.form-errors li{color:#111113}
.form-errors a{text-decoration:underline;text-underline-offset:3px}
.lightbox button{width:44px;height:44px}
.lightbox img{max-width:100%;height:auto}
.image-caption{overflow-wrap:anywhere}
/**** Policies ****/
.policy-content{padding:0 7% 85px;max-width:1000px;font-size:18px;line-height:1.8}
.policy-content p,.policy-content li{max-width:760px;color:#c8c8d0}
.policy-content h2{font-family:'DM Sans',Arial,sans-serif;text-transform:none;font-size:28px;font-weight:700;line-height:1.35;margin:44px 0 16px;color:#fff}
.policy-content code{font-size:.95em;color:#fff}
.policy-date{font-size:15px;color:#c8c8d0}
.policy-toc{display:flex;flex-wrap:wrap;gap:10px 24px;margin:25px 0}
.policy-toc a{min-height:44px;display:inline-flex;align-items:center}
.media-access-note{font-size:16px;color:#c8c8d0;max-width:760px}
@media(max-width:760px){.policy-content{font-size:17px;padding-bottom:60px}.policy-content h2{font-size:25px}.legal-footer{font-size:14px}.hero{min-height:0;padding-bottom:0}.hero-foot{position:relative;inset:auto;margin:25px 7% 0;padding-bottom:25px;gap:16px;flex-wrap:wrap}.hero-content{margin-top:85px;padding-bottom:25px}.brand-ending{white-space:normal}.hero h1{font-size:clamp(46px,11.8vw,73px)}.about-heading h1{overflow-wrap:anywhere}.service-band .service-title{position:static}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
html.no-motion,html.no-motion * ,html.no-motion *::before,html.no-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(forced-colors:active){a,button,input,select,textarea,summary{forced-color-adjust:auto}:focus-visible{outline:3px solid Highlight!important}.brand-period::after{background:none;border:2px solid CanvasText}}

.workflow-lines{stroke-opacity:.6}

.hero .nav{background:#111113e8;box-shadow:0 0 24px 14px #111113cc}
.view-icon,.scroll-indicator{background:#111113;color:#fff}

/* Large display type retains the original crimson; small accents use AA variants. */
.hero h1 em,.statement h2 em{color:#D92332}
