.sr-only { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
:focus-visible { outline:3px solid #ff82af;outline-offset:5px; }
section:focus,main:focus { outline:none; }
.language-switch a { display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:28px;color:#bfb9ae;letter-spacing:.1em; }
.language-switch a[aria-current] { color:#ff74a6; }
.header nav a { padding:15px 0; }
.hero-right:focus-within,.hero-left:focus-within,.scroll-cue:focus-visible { opacity:1!important;visibility:visible!important; }
.motion-ready .reveal:focus-within { opacity:1;transform:none; }
.eyebrow,.project-category,.mantra,.text-link { color:#ff6499; }
.slider-total,footer small,.skill .skill-tools { color:#b7ae9f; }
.button-primary { background:#c80b4c;color:#fff; }
.button:focus-visible { clip-path:none; }
.project-slider .project-card:focus-visible { outline:3px solid #fff;outline-offset:-5px; }
.slider-buttons button { min-width:44px; }
.footer-legal { flex-basis:100%;border-top:1px solid var(--border);padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:16px 30px;color:#c5bdae;font-size:13px;line-height:1.6; }
footer { flex-wrap:wrap; }
.footer-legal p { margin:0; }
.footer-legal>div { display:flex;flex-wrap:wrap;gap:8px 24px; }
.footer-legal a { padding:10px 0;text-decoration:underline;text-underline-offset:5px; }
.footer-legal a:hover { color:#ff82af; }
.policy-open { overflow:hidden; }
.policy-dialog { width:min(850px,calc(100vw - 40px));max-height:calc(100svh - 48px);padding:0;border:1px solid #746452;background:#100d0f;color:var(--cream);box-shadow:0 30px 120px #000a; }
.policy-dialog::backdrop { background:rgba(0,0,0,.82); }
.policy-top { display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--border);padding:12px 28px;font:700 12px BarlowCondensed,sans-serif;letter-spacing:.14em; }
.policy-top span span { color:var(--pink);margin:0 8px; }
.policy-close { width:44px;height:44px;border:1px solid #756653;background:transparent;font:32px/1 Barlow,sans-serif; }
.policy-close:hover { background:#c80b4c; }
.policy-scroll { overflow-y:auto;overscroll-behavior:contain;max-height:calc(100svh - 125px);padding:32px clamp(22px,5vw,56px) 48px;scrollbar-color:#ef1763 #221c1e; }
#policy-title,.policy-page h1 { font:400 clamp(48px,7vw,76px)/1 Bebas,sans-serif;margin:18px 0 30px; }
.policy-body { font:400 16px/1.75 Barlow,Arial,sans-serif;color:#d6cfc4;overflow-wrap:anywhere; }
.policy-body h2 { font:700 24px/1.3 BarlowCondensed,sans-serif;letter-spacing:.02em;color:var(--cream);margin:32px 0 12px; }
.policy-body p { margin:0 0 18px; }
.policy-body a { color:#ff82af;text-decoration:underline;text-underline-offset:3px; }
.policy-body strong { color:var(--cream); }
.cookie-entry { margin:24px 0;padding:24px;background:#1b1419;border:1px solid #746452; }
.policy-body .cookie-entry h3 { margin:0 0 18px;color:#ff82af;font-size:19px;line-height:1.5; }
.cookie-entry dl { margin:0; }
.cookie-entry dl>div { display:grid;grid-template-columns:145px 1fr;gap:16px;padding:12px 0;border-top:1px solid #493b42; }
.cookie-entry dt { font-weight:700;color:var(--cream); }
.cookie-entry dd { margin:0;min-width:0; }
@media(max-width:600px) {
 .cookie-entry { padding:18px; }
 .cookie-entry dl>div { grid-template-columns:1fr;gap:4px; }
}
.policy-page { max-width:850px;margin:auto;padding:45px 24px 70px; }
.policy-page nav { display:flex;justify-content:space-between;gap:24px;margin-bottom:48px; }
.policy-page nav a { display:inline-block;padding:12px 0;text-decoration:underline; }
.policy-page footer { padding:24px 0;margin-top:40px; }
@media(max-width:760px) {
 .footer-legal { flex-direction:column;align-items:flex-start; }
 .policy-dialog { width:calc(100vw - 20px);max-height:calc(100svh - 20px); }
 .policy-top { padding:8px 18px; }
 .policy-scroll { max-height:calc(100svh - 85px);padding:25px 22px 40px; }
 .header nav a { padding:10px 0; }
}
@media(forced-colors:active) {
 a,button { forced-color-adjust:auto; }
 .project-card:focus-visible { outline:3px solid Highlight; }
}
.consent-settings { padding:10px 0;background:none;border:0;color:inherit;text-decoration:underline;text-underline-offset:5px;font:inherit; }
.consent-banner { position:fixed;bottom:20px;left:20px;right:20px;z-index:50;display:flex;align-items:center;gap:30px;padding:28px 64px 28px 30px;max-width:1180px;margin:auto;background:#151014;border:1px solid #766752;box-shadow:0 15px 70px #000b;color:var(--cream); }
.consent-banner[hidden] { display:none; }
.consent-copy { flex:1; }
.consent-copy h2 { font:400 30px/1.1 Bebas,sans-serif;margin:0 0 10px; }
.consent-copy p { font:400 14px/1.5 Barlow,sans-serif;margin:0 0 8px;max-width:650px; }
.consent-copy .consent-state { font-size:12px;color:#c5bdae; }
.consent-links { display:flex;flex-wrap:wrap;gap:8px 24px; }
.consent-links a { font-size:13px;text-decoration:underline;text-underline-offset:3px;color:#ff82af;padding:5px 0; }
.consent-actions { display:flex;gap:12px; }
.consent-actions button { background:#251923;border:1px solid #ff82af;padding:14px 18px;min-height:46px;min-width:150px;font:700 13px BarlowCondensed,sans-serif;letter-spacing:.03em; }
.consent-actions button:hover { background:#a50942; }
.consent-close { position:absolute;right:8px;top:8px;width:44px;height:44px;border:0;background:none;color:var(--cream);font-size:27px; }
.final-actions { max-width:880px; }
.final-actions .button { height:auto;min-height:48px;padding:14px 20px;gap:12px;line-height:1.4; }
.final-actions .button svg { flex:none; }
@media(max-width:900px) {
 .consent-banner { flex-direction:column;align-items:stretch;gap:15px; }
 .consent-actions button { flex:1; }
}
@media(max-width:500px) {
 .consent-banner { bottom:10px;left:10px;right:10px;padding:24px 18px 18px;max-height:calc(100svh - 25px);overflow-y:auto; }
 .consent-copy h2 { font-size:27px;padding-right:28px; }
 .consent-copy p { font-size:13px; }
 .consent-actions { gap:10px; }
 .consent-actions button { min-width:0;padding:12px 9px; }
 .final-actions .button { letter-spacing:.08em; }
}
