.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Purpose-drawn SVG controls: identical on iOS, Android and desktop, never emoji. */
.ui-icon{display:inline-block;flex:0 0 auto;width:22px;height:22px;vertical-align:middle;overflow:visible;pointer-events:none}
.button>.ui-icon,.nav-cta>.ui-icon{margin-left:0}
.text-link>.ui-icon,.inline-link>.ui-icon,.intent-cta>.ui-icon{width:20px;height:20px}
.caption-arrow>.ui-icon{display:block;width:21px;height:21px}
.final-call>a>.ui-icon{width:.65em;height:.65em;stroke-width:1.3}
footer>div a>.ui-icon{width:14px;height:14px;margin-left:5px}
.north-indicator>.ui-icon{width:24px;height:30px}
.map-zoom button{display:inline-flex;align-items:center;justify-content:center}
.map-zoom .ui-icon{width:20px;height:20px}
.intent-controls button .ui-icon{display:none}
/* The illustrated Sasquatch and his text cue now trigger the same interaction. */
.mascot-hint{appearance:none;border:0;background:transparent;padding:0;margin:0;font:inherit;color:#e4c298;pointer-events:auto;cursor:pointer;min-height:44px;align-items:center;justify-content:center;gap:9px}
.scene-ready .mascot-hint{display:flex}
.mascot-hint>.ui-icon{width:22px;height:22px}
.mascot-hint .mascot-hint-copy{font-size:9px;line-height:1.5;letter-spacing:1px;font-weight:700;margin:0;transform:none;text-align:left;text-transform:uppercase}
.mascot-hint-copy small{display:block;font-size:7px;letter-spacing:1.6px;font-weight:400}
.mascot-hint:focus-visible{outline:2px solid #fbf0dd;outline-offset:5px}
#motion-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap}
#motion-toggle .ui-icon{width:15px;height:15px}
#motion-toggle .motion-play{display:none}
#motion-toggle[aria-pressed=true] .motion-play{display:block}
#motion-toggle[aria-pressed=true] .motion-pause{display:none}
#motion-toggle:disabled .ui-icon{display:none}
.squatch-tap>.ui-icon{width:15px;height:15px;margin-left:3px;vertical-align:-3px}
#close-photo{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
#close-photo .ui-icon{width:24px;height:24px}
.button,.text-link,.inline-link,.intent-cta,.menu-toggle,.intent-controls button,.map-toolbar button,.mascot-hint,#motion-toggle,#close-photo{touch-action:manipulation}
.button:focus-visible,.text-link:focus-visible,.inline-link:focus-visible,.intent-cta:focus-visible{outline:3px solid #b35435;outline-offset:5px}
.cinematic-hero a:focus-visible,.cinematic-hero button:focus-visible,.header a:focus-visible,.header button:focus-visible,.final-call a:focus-visible{outline-color:#fbf0dd}
@media(hover:hover) and (pointer:fine){
  .button>.ui-icon,.text-link>.ui-icon,.inline-link>.ui-icon,.intent-cta>.ui-icon{transition:transform .22s ease}
  .button:hover>.ui-icon,.text-link:hover>.ui-icon,.inline-link:hover>.ui-icon,.intent-cta:hover>.ui-icon{transform:translateY(-2px)}
  .mascot-hint:hover{color:#fbf0dd}
}
/* Phones have their own deliberate hierarchy and 44–60px touch targets. */
@media(max-width:760px){
  .header{gap:14px}
  .wordmark{min-width:0}
  .menu-toggle{min-height:44px;min-width:78px;padding:10px 12px;border-radius:6px;font-size:11px;letter-spacing:.03em;flex-shrink:0}
  .header nav{max-height:calc(100svh - 78px);overflow-y:auto;overscroll-behavior:contain}
  .header nav .nav-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;border-radius:6px;min-height:56px;background:#fbf0dd;color:#10251d;font-size:14px}
  .header nav .nav-cta>.ui-icon{width:22px;height:22px;float:none}
  .cinematic-hero{padding-bottom:22px}
  .cinematic-hero .hero-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:stretch;margin-top:27px;max-width:430px}
  .cinematic-hero .hero-actions .button,.cinematic-hero .hero-actions .text-link{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:0;min-height:56px;gap:16px;padding:14px 18px;border-radius:6px;font-size:14px;font-weight:700;line-height:1.3;letter-spacing:.015em;text-decoration:none;transition:transform .16s ease,background-color .16s ease,border-color .16s ease}
  .cinematic-hero .hero-actions .button{background:#fbf0dd;color:#10251d;border:1px solid #fbf0dd;box-shadow:0 3px 0 #0000001a}
  .cinematic-hero .hero-actions .text-link{min-height:52px;color:#fbf0dd;background:#fbf0dd06;border:1px solid #fbf0dd4d}
  .cinematic-hero .hero-actions .ui-icon{width:25px;height:25px;stroke-width:1.55}
  .cinematic-hero .hero-actions .button:active,.cinematic-hero .hero-actions .text-link:active{transform:translateY(1px) scale(.99)}
  .cinematic-hero .hero-actions .text-link:active{background:#fbf0dd14}
  .mascot-scene{margin-top:34px;margin-bottom:80px}
  .mascot-scene .mascot-hint{position:absolute;inset:auto 0 -68px;width:max-content;max-width:100%;min-height:52px;margin:0 auto;padding:9px 18px 9px 12px;border:1px solid #e4c29845;border-radius:40px;background:#0d1b14d9;gap:11px;color:#edd3b0;transition:background-color .16s ease,transform .16s ease}
  .mascot-hint>.ui-icon{width:30px;height:30px;padding:5px;box-sizing:content-box;border:1px solid #e4c29845;border-radius:50%;color:#fbf0dd}
  .mascot-hint .mascot-hint-copy{font-size:12px;line-height:1.45;letter-spacing:.01em;text-transform:none}
  .mascot-hint-copy small{font-size:8px;line-height:1.55;letter-spacing:.13em;color:#d9b992;font-weight:700}
  .mascot-scene .mascot-hint:active{transform:scale(.97);background:#203629}
  .cinematic-hero .hero-bottom{position:relative;inset:auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;align-items:center;margin:4px 0 0;width:100%;font-size:8px;letter-spacing:.14em;line-height:1.5}
  .cinematic-hero .hero-bottom button{min-height:44px;padding:10px 12px;border:1px solid #e6d5bf33;border-radius:6px;background:#fbf0dd05;font-size:10px;letter-spacing:.02em}
  .cinematic-hero .hero-bottom button:disabled{border-color:transparent;background:none;color:#d9d3c5;padding-inline:0}
  .intent-inner{padding-block:40px;gap:25px}
  .intent-controls{grid-template-columns:minmax(0,1fr);gap:8px}
  .intent-controls button{display:flex;align-items:center;text-align:left;gap:14px;min-height:58px;padding:12px 16px;border:1px solid #2447353b;border-radius:6px;background:#fbf0dd88;font-size:13px;font-weight:700;line-height:1.4;letter-spacing:.015em;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .16s ease}
  .intent-controls button .intent-icon{display:block;width:24px;height:24px}
  .intent-controls button .intent-chevron{display:block;margin-left:auto;width:17px;height:17px;opacity:.7}
  .intent-controls button[aria-pressed=true]{box-shadow:none;background:var(--intent-accent);border-color:var(--intent-accent);color:#fff8e9}
  .intent-controls button[aria-pressed=true] .intent-chevron{display:none}
  .intent-controls button[aria-pressed=true] .intent-check{display:block;margin-left:auto;width:20px;height:20px}
  .intent-controls button:active{transform:scale(.99)}
  .intent-hint{font-size:11px;line-height:1.6;margin:12px 0 20px}
  .intent-message{min-height:0;font-size:14px;line-height:1.75;margin-bottom:16px}
  .intent-cta{display:flex;width:100%;justify-content:space-between;gap:14px;font-size:13px;min-height:48px;padding:10px 0}
  #intent-cta-label{min-width:0}
  .button{border-radius:6px;min-height:52px;font-size:13px;gap:16px;padding:14px 17px}
  .inline-link{min-height:44px;font-size:13px;line-height:1.5;gap:14px;padding:10px 0;max-width:100%}
  .facebook-updates{display:flex;width:fit-content}
  .location-details>.inline-link{width:100%;justify-content:space-between}
  .squatch-tap{line-height:1.5;letter-spacing:.04em;min-height:32px}
  .squatch-tap>.ui-icon{display:none}
  .caption-arrow{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;height:30px;border:1px solid #fbf0dd80;border-radius:50%;background:#05060655}
  .caption-arrow>.ui-icon{width:15px;height:15px;stroke-width:1.7}
  .food-strip .caption-arrow{width:26px;height:26px}
  .food-strip .caption-arrow>.ui-icon{width:13px;height:13px}
  .inquiry-panel{padding:25px 20px;border-radius:6px;box-shadow:5px 5px 0 #a34228}
  .field label{font-size:12px;line-height:1.5;margin-bottom:8px}
  .field input,.field input[type=date],.field select,.field textarea,.draft-panel textarea{font-size:16px;line-height:1.5;min-height:48px;border-radius:4px;padding:11px 12px}
  .field-hint,.required-note,.form-disclosure,.draft-help{font-size:11px;line-height:1.65}
  .form-submit{min-height:56px;margin-top:6px}
  .draft-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  .draft-actions .button{font-size:13px;min-height:52px;padding:13px 16px}
  #edit-inquiry{font-size:12px}
  .regional-map{margin-inline:0;width:100%;border-radius:6px;overflow:hidden;box-shadow:4px 4px 0 #17271c15}
  .map-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  .map-views{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .map-toolbar button{border-radius:5px;min-width:0;font-size:11px;min-height:44px;padding:10px 6px}
  .map-zoom{gap:6px;justify-self:end;margin-left:0}
  .map-zoom button{width:44px}
  .map-fallback summary{min-height:44px;padding-block:10px}
  .final-call>a{font-size:clamp(42px,12.4vw,70px)}
  .final-call>a>.ui-icon{width:.6em;height:.6em}
  footer>div{gap:4px}
  footer>div a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-size:12px;border-bottom:1px solid #fbf0dd25}
  footer>div a>.ui-icon{width:16px;height:16px}
  dialog{width:calc(100vw - 24px);max-height:92svh;padding:52px 12px 15px;border-radius:6px}
  #close-photo{top:4px;right:6px}
}
@media(max-width:480px){.form-row{grid-template-columns:minmax(0,1fr);gap:0}}
@media(max-width:360px){
  .hero-actions{max-width:100%}
  .cinematic-hero .hero-bottom{font-size:7px;letter-spacing:.1em;gap:8px}
  .cinematic-hero .hero-bottom button{font-size:9px;padding-inline:8px;gap:6px}
  .inquiry-panel{padding-inline:17px}
  .map-heading{gap:12px}
  .map-heading h3{font-size:21px}
  .map-views{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.motion-paused .ui-icon,.motion-paused .button,.motion-paused .text-link,.motion-paused .mascot-hint,.motion-paused .intent-controls button{transition:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){
  .ui-icon,.button,.text-link,.inline-link,.intent-cta,.mascot-hint,.intent-controls button{transition:none!important;transform:none!important}
}
@media(forced-colors:active){
  .ui-icon{stroke:currentColor}
  .button,.text-link,.mascot-hint,.intent-controls button,.caption-arrow{border-color:ButtonText}
}
/* Owner-approved contrast refinements; established palette and layout retained. */
.field input,.field select,.field textarea,.draft-panel textarea{border-color:#93826b}
.inline-link:hover{color:#a34228}
.cinematic-hero .text-link:hover{color:#fbf0dd}
.final-call>a:focus-visible{outline:3px solid #fbf0dd;outline-offset:5px}
.sighting-farewell .sighting-copy .eyebrow{opacity:1}
@media(max-width:760px){.draft-help{font-size:11px!important;line-height:1.65}}
