/* 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%); }
}

/* Keep the existing palette, with readable secondary copy over warm gradients. */
:root { --muted:#63504d; }
.intro>p:last-child,.history-copy>p,.contact>div>p:not(.eyebrow),
.journal-card p,.journal-feature>div>p:not(.eyebrow),.journal-heading>p:not(.eyebrow),
.article-deck,.article-byline,.map-foot,.form-note,.form-status,
.contact label>span,.journal-load p { color:#63504d; }
.history-copy .eyebrow,.voices-intro .eyebrow,
.boutique-page .feature-copy .eyebrow { color:#75434b; }
.history-photo figcaption { color:#63504d; }
.boutique-page .feature-copy>p:not(.eyebrow),.tour-heading>p:not(.eyebrow),.tour-caption p { color:#63504d; }
.voices-controls .voice-toggle { color:#593940; }
.refined-footer .footer-brand>p,.refined-footer .eyebrow,
.refined-footer .footer-visit p,.refined-footer .footer-bottom { color:#593940; }
.footer-invitation em { color:#75434b; }
.boutique-page .shop-hero-copy h1 em,.boutique-page .team h2 em { color:#fff2de; }
.journal-heading h1 em { color:#75434b; }
.contact input,.contact textarea { border-bottom-color:#80666b; }
/* User text-spacing overrides must not clip the script signature. */
.signature-name { white-space:normal; overflow-wrap:anywhere; }
.history-copy>p:not(.eyebrow),.history-photos figcaption,.map-foot { color:#593940; }
.boutique-page .tour-heading>p:last-child,.boutique-page .tour-caption p { color:#593940; }
.refined-footer .footer-top>div>p:not(.eyebrow),.refined-footer .footer-signoff { color:#593940; }
/* Flow with enlarged text instead of letting it collide with fixed-height chrome. */
.nav { height:auto; min-height:90px; flex-wrap:wrap; column-gap:20px; row-gap:12px; padding-top:12px; padding-bottom:12px; }
.nav .nav-signature>span { white-space:normal; overflow-wrap:anywhere; }
.hero { display:flex; flex-direction:column; justify-content:space-between; height:auto; max-height:none; min-height:clamp(690px,calc(100svh - 126px),980px); }
.hero .hero-copy { height:auto; min-height:calc(clamp(690px,calc(100svh - 126px),980px) - 145px); flex-shrink:0; }
.hero-arrival { position:relative; bottom:auto; left:auto; right:auto; width:100%; margin:0 0 32px; flex-wrap:wrap; }
.hero-directions { flex-wrap:wrap; }
.reduce-motion .discovery-viewport { display:block; overflow:visible!important; }
.reduce-motion .discovery-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; padding:12px 6%; gap:18px; }
.reduce-motion .discovery-card { width:100%; height:230px; transform:none!important; }
.reduce-motion .discovery-cue,.reduce-motion .discovery-progress { display:none; }
@media(max-width:760px) {
  .nav { min-height:80px; }
  .hero { min-height:clamp(680px,calc(100svh - 110px),850px); }
  .hero .hero-copy { min-height:calc(clamp(680px,calc(100svh - 110px),850px) - 170px); }
  .hero-arrival { margin-bottom:24px; }
  .reduce-motion .discovery-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .reduce-motion .discovery-card { height:190px; }
  .reduce-motion .discovery-card figcaption { font-size:17px; gap:6px; left:10px; }
}
@media(forced-colors:active) {
  .hero h1 em,.signature-name { background:none; color:CanvasText; -webkit-text-fill-color:CanvasText; }
}
#mobile-menu { top:var(--nav-bottom,var(--nav-offset)); max-height:calc(100dvh - var(--nav-bottom,var(--nav-offset))); overflow:auto; }
.boutique-page .shop-hero { height:auto; min-height:600px; }
.boutique-page .shop-hero-copy { height:auto; min-height:600px; }
.journal-invitation h2 em { color:#fff2de; }
@media(max-width:760px) {
  .boutique-page .shop-hero,.boutique-page .shop-hero-copy { min-height:520px; }
  .boutique-page .shop-hero-copy { padding-top:43px; }
  .boutique-page .shop-hero:after { background:linear-gradient(0deg,#2b202df5 0%,#3b2936d9 70%,#30232705 92%); }
}
