/* Access improvements are part of the design, rather than a third-party overlay. */
:root { --nav-offset: 90px; }
html { scroll-padding-top: calc(var(--nav-offset) + 20px); }
[hidden] { display: none !important; }
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible { outline: 3px solid #472433; outline-offset: 4px; box-shadow: 0 0 0 6px #fff7ed; }
#main:focus { outline: none; }
.skip:focus { top: 8px; left: 8px; z-index: 1000; }
:where(button, summary) { min-height: 44px; }
.menu-toggle,.video-toggle,.voices-controls button,.voices-controls .voice-toggle,.voice-picker { min-width:44px; min-height:44px; }
.video-toggle { background:#33252cdb; color:#fff8ef; border-color:#f7e7d1; }
.article-reading { min-width: 0; }
.affiliate-notice { position:static; margin:0 0 26px; padding:0; color:#73635f; font:14px/1.65 var(--sans); }
.affiliate-notice p { margin:0; }
.affiliate-notice strong { font-weight:600; }
.affiliate-notice a, .policy-content a, .form-privacy a, .privacy-dialog a, .map-consent a { text-decoration:underline; text-underline-offset:3px; }
.article-body a:not(.button) { text-decoration:underline; text-underline-offset:3px; }
.article-body th { text-align:left; }
.form-privacy { font-size:14px; line-height:1.65; color:#59464a; margin:14px 0; }
.policy-heading { padding-bottom:32px; background:radial-gradient(ellipse at 10% 0,#ead0c2,transparent 70%); }
.policy-heading h1 { font-size:clamp(46px,6vw,82px); margin:20px 0; }
.policy-heading>p { max-width:640px; }
.policy-date { font-size:14px; color:#63504d; margin-top:18px; }
.policy-content { max-width:980px; margin:auto; padding-top:28px; font-size:17px; line-height:1.8; }
.policy-content h2 { font-size:32px; margin:32px 0 14px; line-height:1.2; }
.policy-content p + p { margin-top:14px; }
.footer-policy { display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:22px; padding-top:18px; border-top:1px solid #b6908240; font-size:13px; color:#593940; }
.footer-policy a,.footer-policy button { display:inline-flex; align-items:center; min-height:44px; }
.footer-policy button,.inline-button { border:0; background:none; color:inherit; font:inherit; padding:0; text-decoration:underline; text-underline-offset:3px; }
.privacy-dialog { width:min(560px,calc(100% - 32px)); max-height:85svh; overflow:auto; border:1px solid #bb958a; border-radius:12px; background:#fbf1e7; color:#493139; padding:32px; box-shadow:0 25px 90px #30162250; }
.privacy-dialog::backdrop { background:#30202b88; }
.privacy-dialog h2 { font-size:38px; margin:14px 0 20px; }
.privacy-dialog p { font-size:15px; line-height:1.7; margin:14px 0; }
.privacy-close { display:block; margin-left:auto; border:0; background:none; color:inherit; width:44px; font-size:28px; }
.privacy-option { display:flex; align-items:center; gap:12px; padding:18px 0; }
.privacy-option input { width:22px; height:22px; accent-color:#683b4a; }
.privacy-actions { display:flex; gap:12px; flex-wrap:wrap; margin:16px 0; }
.privacy-actions button,.map-consent button { border:1px solid #70434f; border-radius:5px; background:#673847; color:#fff8ed; padding:11px 17px; font:inherit; }
.privacy-actions button:last-child { background:transparent; color:#573440; }
.map-frame { position:relative; }
.map-consent { min-height:350px; height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:16px; padding:32px 7%; background:radial-gradient(ellipse at 20% 0,#e6c4ac,transparent 65%),linear-gradient(125deg,#f4e8d4,#edd7d7); color:#54323d; }
.map-consent>span { font:48px var(--serif); }
.map-consent h3 { font-size:32px; }.map-consent p { max-width:520px; font-size:16px; }
.map-consent .map-privacy-note { font-size:13px; }
.voices-toolbar { flex-wrap:wrap; }
.voices-window { height:auto; min-height:354px; }
.voice-slide { min-height:354px; height:auto; }
.voice-slide blockquote { flex:auto; }
.voices-source,.voices-note,.voice-card-top>span:last-child,.voice-author>div>span,.voice-count { color:#68454c; }
.voice-stars { color:#845125; }
.voice-picker .voice-portrait { opacity:1; }
.voice-card-top>span:last-child,.voice-author>div>span,.voices-source { font-size:11px; }
.voice-author strong { font-size:13px; }
.voices-rating>span { color:#67444a; }
.voices-intro .eyebrow { white-space:normal; }
.announcement-message { white-space:normal; text-align:center; line-height:1.5; }
.announcement-stage { overflow:visible; }
.footer-socials { position:static; flex-direction:row; flex-wrap:wrap; margin-top:18px; }
.hero-description,.hero .hero-foot { color:#fff6eb; }
.reduce-motion *, .reduce-motion *::before, .reduce-motion *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
.reduce-motion .reveal { opacity:1!important; transform:none!important; }
.reduce-motion .discovery-scene { height:auto!important; }
.reduce-motion .discovery-stage { position:relative!important; top:auto!important; height:auto!important; }
.reduce-motion .discovery-viewport { overflow-x:auto!important; }
.reduce-motion .discovery-row { transform:none!important; }
.reduce-motion .signature-name { transform:none!important; }
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
  .reveal { opacity:1!important; transform:none!important; }
}
@media(max-width:760px) {
  :root { --nav-offset:80px; }
  .affiliate-notice { font-size:14px; margin-bottom:22px; }
  .voices-portraits { flex-wrap:wrap; }.voices-controls { margin-left:auto; }
  .voices-intro { padding-right:0; }.voices-rating { position:static; text-align:left; display:flex; margin-bottom:24px; }
  .voices-rating>span { max-width:none; }.voices-rating>strong { font-size:40px; }
  .voice-slide { min-height:326px; }.voices-window { min-height:326px; }
  .footer-policy { gap:4px 18px; }
  .policy-content { font-size:16px; }.policy-heading h1 { font-size:46px; }
}
@media(max-height:550px) { .nav { position:relative; } }
@media(forced-colors:active) { button,a:focus-visible { border:1px solid ButtonText; } .affiliate-notice { border:1px solid CanvasText; } }

/* Deeper gradients keep light copy readable over photography and moving video. */
.signature { background:radial-gradient(ellipse at 12% 100%,#7c4a40,transparent 50%),radial-gradient(ellipse at 85% 5%,#74425d,transparent 55%),linear-gradient(115deg,#472132,#693447,#70414b); }
.discovery-card:after { inset:40% 0 0; background:linear-gradient(transparent,#211c24d9 68%,#211c24eb); }
.arrival-photo-note { background:#30232dd9; padding:12px 18px; border-radius:4px; }
@media(min-width:761px) {
  .hero:after { background:linear-gradient(90deg,#2a202ff2 0%,#382336e6 32%,#513044c7 58%,transparent 85%),linear-gradient(0deg,#2c2236e6 0%,#64425588 20%,transparent 47%); }
}
@media(max-width:760px) {
  .arrival-shade { background:linear-gradient(180deg,#241e29f2 0%,#32202cdd 25%,#241b23bf 35%,#261c242b 49%,#33232df0 68%,#38252f 87%,#422b35 100%); }
}
