/* Minimal polish to match the screenshot */
:root{ --brand:#ff6a00; }
html,body{ scroll-behavior:smooth; }
.card{ background:#fff; border:1px solid #e5e7eb; border-radius:.75rem; padding:1rem; }
.eyebrow{ font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:#6b7280; }
.h2{ font-size:clamp(1.5rem,3vw,2rem); font-weight:700; }
.link-row{ display:block; padding:.4rem .55rem; border-radius:.5rem; }
.link-row:hover{ background:#f6f6f6; color:var(--brand); }
.chip{ display:inline-block; border:1px solid #e5e7eb; padding:.4rem .6rem; border-radius:.5rem; }
.chip:hover{ border-color:#cbd5e1; color:var(--brand); }
.btn-primary{ background:var(--brand); color:#fff; padding:.6rem .9rem; border-radius:.5rem; font-weight:600; }
.btn-primary:hover{ opacity:.9; }
.btn-white{ background:#fff; color:#111; padding:.6rem .9rem; border-radius:.5rem; font-weight:600; }
.btn-secondary{ border:1px solid #e5e7eb; padding:.5rem .8rem; border-radius:.5rem; }
.btn-secondary:hover{ border-color:#cbd5e1; color:var(--brand); }
.btn-link{ color:var(--brand); font-weight:600; }
.text-outline{ -webkit-text-stroke:1px #e5e7eb; color:transparent; }
.nav-circle{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:#fff; border:1px solid #e5e7eb; }

/* =========================================================
   Accessibility enhancements — visual appearance unchanged
   ========================================================= */

/* --- Skip link (visually hidden until focused) --- */
.skip-link{position:absolute;top:-999px;left:0;z-index:99999;background:#1a1a1a;color:#fff;font-weight:700;font-size:.9rem;padding:10px 18px;border-radius:0 0 4px 0;text-decoration:none;white-space:nowrap;transition:top .1s;}
.skip-link:focus{top:0;outline:3px solid var(--brand);outline-offset:0;}

/* --- Keyboard focus indicators --- */
:focus:not(:focus-visible){outline:none;}
:focus-visible{outline:3px solid var(--brand);outline-offset:3px;border-radius:2px;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--brand);outline-offset:3px;border-radius:2px;}
a:focus,button:focus,input:focus,textarea:focus,select:focus{outline:3px solid var(--brand);outline-offset:3px;border-radius:2px;}
body.using-mouse a:focus,body.using-mouse button:focus,body.using-mouse input:focus,body.using-mouse textarea:focus,body.using-mouse select:focus{outline:none;}

/* High-contrast focus on dark backgrounds */
nav a:focus-visible,footer a:focus-visible,.bg--dark a:focus-visible,.imagebg a:focus-visible{outline-color:#fff;background-color:rgba(255,106,0,.25);border-radius:2px;}
nav a:focus,footer a:focus,.bg--dark a:focus,.imagebg a:focus{outline-color:#fff;}
body.using-mouse nav a:focus,body.using-mouse footer a:focus,body.using-mouse .bg--dark a:focus,body.using-mouse .imagebg a:focus{outline:none;background-color:transparent;}

/* --- Visually hidden utility --- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* --- Mobile nav touch target --- */
@media(max-width:768px){.nav-mobile-toggle{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;}}

/* --- Footer link contrast: override opacity-based fade with explicit colour ---
   Default: bg--dark a = #fff, opacity 0.5 on #232323 ≈ 3.1:1 (WCAG fail).
   Fix: raise opacity to 0.75 → ≈5.7:1 (WCAG AA pass). */
.footer-4 .footer__navigation li a,.footer__navigation li a{opacity:0.75;}
.footer-4 .footer__navigation li a:hover,.footer__navigation li a:hover{opacity:1;}

/* --- Footer touch targets: ensure min 44x44 px tap area --- */
.footer__navigation li a{display:inline-block;min-height:44px;line-height:44px;padding:0 4px;}

/* --- Footer section headings: h4 visually styled as h6 to fix heading-order --- */
footer h4.footer-section-heading{font-family:'Roboto',sans-serif,Helvetica,Arial,sans-serif;font-size:0.625em;font-weight:600;line-height:2.6em;letter-spacing:1px;text-transform:uppercase;color:#ffffff;margin-top:0;margin-bottom:2.36363636363636em;}

/* --- Reduced motion --- */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}
