body[data-view="attractions"]:not([data-view="home"]) #content-view { background:#fffffc; padding:24px; border-radius:34px; }
.attractions-board { --attractions-green:#086624; --attractions-pink:#ff0861; --attractions-lime:#86c814; color:#343434; }
.attractions-board * { box-sizing:border-box; }
.attractions-heading { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:12px; align-items:center; min-height:236px; padding:4px 8px 0; }
.attractions-lead { min-width:0; position:relative; z-index:1; }
.attractions-board .attractions-eyebrow { margin:0 0 12px; color:var(--attractions-green); font:900 13px/1.4 "Nunito","Trebuchet MS",sans-serif; text-transform:uppercase; letter-spacing:1.4px; }
.attractions-board .attractions-lead h1 { position:relative; display:inline-block; margin:0 0 12px; color:var(--attractions-green); font:900 clamp(40px,3.8vw,68px)/1.05 var(--font-heading); text-transform:uppercase; }
.attractions-burst { width:58px; height:58px; color:#ffbe00; }
.attractions-title-burst { position:absolute; right:-66px; top:0; transform:rotate(-10deg); }
.attractions-board p.attractions-intro { margin:0; max-width:610px; font:600 clamp(14px,1.13vw,19px)/1.55 "Nunito","Trebuchet MS",sans-serif; }
.attractions-art { position:relative; height:236px; min-width:0; }
.attractions-sign { position:absolute; width:62%; left:2%; top:-16px; transform:rotate(-8deg); }
.attractions-sign>img { display:block; width:100%; height:auto; }
.attractions-board p.attractions-sign-text { position:absolute; inset:22% 10% 28%; display:flex; flex-direction:column; justify-content:center; margin:0; color:var(--attractions-green); text-align:center; font:900 clamp(20px,2.15vw,38px)/1.08 var(--font-heading); text-transform:uppercase; }
.attractions-sign-text span { display:block; white-space:nowrap; }
.attractions-mascot { position:absolute; bottom:0; right:-8px; display:block; width:43%; max-width:245px; height:auto; transform:rotate(4deg); }
.attractions-mascot-burst { position:absolute; right:0; top:-2px; width:48px; height:48px; color:#ff0861; transform:rotate(45deg); }
.attractions-floor-tabs { display:inline-flex; flex-wrap:wrap; gap:7px; margin:0 8px 20px; padding:4px; border-radius:32px; background:linear-gradient(120deg,#fffefa,#f6f2e3); }
.attractions-floor-tabs button { display:flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:8px 22px; border:1px solid transparent; border-radius:28px; background:transparent; color:#343434; font:900 21px/1.1 var(--font-heading); cursor:pointer; transition:background-color 180ms,box-shadow 180ms; }
.attractions-floor-tabs button[aria-pressed="true"] { border-color:#7ac617; color:white; background:linear-gradient(115deg,#67bd06,#9bdf12); box-shadow:inset 0 2px 2px #ffffff40,0 3px 6px #78b31125; }
.attractions-floor-tabs button:nth-child(2):not([aria-pressed="true"]) { background:#fffefd; border-color:#eddec6; box-shadow:0 2px 4px #89702309; }
.attractions-icon { display:block; width:24px; height:24px; flex:none; }
.attractions-floor-tabs button:nth-child(2) .attractions-icon { color:var(--attractions-pink); }
.attractions-floor-tabs button:nth-child(3) .attractions-icon { color:#942aff; }
.attractions-floor-tabs button[aria-pressed="true"] .attractions-icon { color:inherit; }
.attractions-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:0 2px 6px; }
.attractions-card { display:block; position:relative; min-width:0; padding:0; border:1px solid #f6eddb; border-radius:26px; background:white; text-align:left; cursor:pointer; box-shadow:0 4px 9px #ac863617; transition:transform 180ms,box-shadow 180ms; }
.attractions-card-image { display:block; overflow:hidden; border-radius:25px; }
.attractions-card-image img { display:block; width:100%; height:auto; aspect-ratio:3/1; object-fit:cover; }
.attractions-card-bottom { display:flex; position:relative; align-items:center; min-height:86px; gap:10px; padding:10px 12px 12px 61px; }
.attractions-card-symbol { position:absolute; left:10px; top:-22px; width:48px; height:48px; color:var(--card-accent); filter:drop-shadow(0 3px 2px #89702320); }
.attractions-card-symbol>.attractions-icon { width:48px; height:48px; overflow:visible; }
.attractions-card-copy { flex:1; min-width:0; }
.attractions-board .attractions-card h2 { margin:0 0 5px; color:var(--attractions-green); font:900 clamp(18px,1.45vw,26px)/1.08 var(--font-heading); text-transform:uppercase; overflow-wrap:anywhere; }
.attractions-card-description { display:block; color:#555; font:600 13px/1.4 "Nunito","Trebuchet MS",sans-serif; }
.attractions-360 { display:flex; flex:none; justify-content:center; align-items:center; gap:5px; min-height:38px; padding:7px 10px; border-radius:23px; color:white; background:linear-gradient(110deg,#a9d92a,#64bb00); box-shadow:inset 0 2px 2px #ffffff42,0 3px 7px #a0c42324; font:900 20px/1 var(--font-heading); }
.attractions-360 .attractions-icon { width:18px; height:18px; }
.attraction-color-pink { --card-accent:#ff0861; }
.attraction-color-blue { --card-accent:#0083ff; }
.attraction-color-orange { --card-accent:#ff9700; }
.attraction-color-purple { --card-accent:#942aff; }
.attraction-color-lime { --card-accent:#80bd19; }
.attractions-card:focus-visible,.attractions-floor-tabs button:focus-visible { outline:3px solid #942aff; outline-offset:4px; }
@media (hover:hover) and (pointer:fine) {
  .attractions-card:hover { transform:translateY(-3px); box-shadow:0 7px 16px #ac863628; }
  .attractions-floor-tabs button:not([aria-pressed="true"]):hover { background:#eef6e0; }
}
@media (min-width:1101px), (min-width:1025px) and (min-height:551px) {
  body[data-view="attractions"]:not([data-view="home"]) { --panel-top:14.2vh; }
  body[data-view="attractions"]:not([data-view="home"]) #content-view { left:calc(var(--gutter) + var(--sidebar-width) + 32px); right:2vw; max-width:none; height:calc(100dvh - var(--panel-top) - 20px); max-height:calc(100dvh - var(--panel-top) - 20px); }
}
@media (max-width:1250px) and (min-width:1025px) {
  .attractions-heading { min-height:208px; }
  .attractions-art { height:208px; }
  .attractions-board .attractions-lead h1 { font-size:40px; }
  .attractions-title-burst { right:-42px; width:38px; height:38px; }
  .attractions-grid { gap:12px; }
  .attractions-card-bottom { padding:12px 10px 12px 12px; flex-wrap:wrap; }
  .attractions-card-symbol { width:38px; height:38px; left:8px; top:-27px; }
  .attractions-card-symbol>.attractions-icon { width:38px; height:38px; }
  .attractions-360 { min-height:32px; padding:6px 8px; font-size:17px; }
}
@media (max-width:1024px), (max-width:1100px) and (max-height:550px) {
  body[data-view="attractions"]:not([data-view="home"]) #content-view { padding:16px var(--mobile-page-inset) calc(var(--bottom-nav-clearance) + 24px); border-radius:0; }
  .attractions-heading { min-height:210px; padding:4px 0 0; }
  .attractions-art { height:210px; }
  .attractions-title-burst { right:-44px; width:40px; height:40px; }
  .attractions-floor-tabs { margin-left:0; margin-right:0; }
  .attractions-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .attractions-board p.attractions-sign-text { font-size:clamp(19px,2.8vw,29px); }
}
@media (max-width:619px) {
  .attractions-heading { grid-template-columns:1fr; gap:0; }
  .attractions-board .attractions-eyebrow { font-size:11px; letter-spacing:.8px; }
  .attractions-board .attractions-lead h1 { font-size:clamp(36px,10vw,52px); }
  .attractions-board p.attractions-intro { font-size:15px; }
  .attractions-art { height:205px; margin:14px 0 8px; }
  .attractions-sign { width:68%; left:2%; top:8px; }
  .attractions-mascot { width:42%; right:-5px; }
  .attractions-board p.attractions-sign-text { font-size:clamp(19px,6vw,29px); }
  .attractions-mascot-burst { top:20px; width:38px; height:38px; }
  .attractions-floor-tabs { display:flex; flex-wrap:nowrap; gap:3px; margin-bottom:16px; padding:3px; }
  .attractions-floor-tabs button { flex:1; min-width:0; gap:6px; min-height:46px; padding:7px 7px; font-size:18px; }
  .attractions-floor-tabs .attractions-icon { width:19px; height:19px; }
  .attractions-grid { grid-template-columns:1fr; gap:16px; padding:0 2px; }
  .attractions-card-image img { aspect-ratio:2.5/1; }
  .attractions-card-bottom { min-height:88px; padding-left:61px; }
  .attractions-board .attractions-card h2 { font-size:23px; }
}
@media (prefers-reduced-motion:reduce) {
  .attractions-card,.attractions-floor-tabs button { transition:none; }
}
