/* Dolly Park redesign — original theme-park system */
:root{
  --park-cream:#fff8e8;
  --park-sky:#cfeefa;
  --park-grass:#8dc98b;
  --park-leaf:#367963;
  --park-path:#f0d4a8;
  --park-yellow:#ffd45c;
  --park-coral:#ef7767;
  --park-purple:#7658c9;
  --park-blue:#3173d9;
  --park-ink:#18304b;
}

body{background:var(--park-cream);color:var(--park-ink)}
.trail-progress{position:fixed;z-index:1001;left:0;right:0;top:0;height:5px;background:rgba(255,255,255,.4);pointer-events:none}
.trail-progress i{display:block;width:var(--scroll-progress,0%);height:100%;border-radius:0 99px 99px 0;background:linear-gradient(90deg,var(--park-coral),var(--park-yellow),var(--park-purple));box-shadow:0 0 12px rgba(239,119,103,.4)}
.site-head{border-bottom:2px solid var(--park-ink);background:rgba(255,248,232,.92)}
.nav{height:78px}.brand span{color:var(--park-ink);font-size:38px}.brand small{color:var(--park-purple);font-size:7px}
.nav-links a{padding:7px 11px;border-radius:99px}.nav-links a:hover,.nav-links a[aria-current="page"]{background:var(--park-yellow)}
.nav-links a:after{display:none}.button{border-width:2px;border-radius:99px}.button-dark{background:var(--park-ink)}
.button-primary{background:var(--park-coral);box-shadow:5px 5px 0 var(--park-ink)}
.button-ghost{background:rgba(255,255,255,.7)}

.park-hero{position:relative;min-height:870px;overflow:hidden;border-bottom:3px solid var(--park-ink);background:var(--park-sky)}
.park-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,248,232,.84) 0,rgba(255,248,232,.58) 34%,rgba(255,248,232,.08) 62%,transparent 78%);pointer-events:none}
.park-hero-landscape{position:absolute;inset:0}.park-hero-landscape img{width:100%;height:100%;object-fit:cover;object-position:center;transform:translate3d(var(--parallax-x,0),var(--parallax-y,0),0) scale(1.035);transition:transform .2s ease-out}
.park-hero-grid{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.82fr);gap:54px;min-height:870px;align-items:center;padding-block:90px 115px}
.park-ticket{position:relative;max-width:650px;padding:42px 46px 38px;border:3px solid var(--park-ink);border-radius:34px;background:rgba(255,253,246,.94);box-shadow:13px 14px 0 rgba(24,48,75,.9);transform:rotate(-1deg);backdrop-filter:blur(6px)}
.park-ticket:before,.park-ticket:after{content:"";position:absolute;right:34px;width:18px;height:18px;border:2px solid var(--park-ink);border-radius:50%;background:var(--park-sky)}
.park-ticket:before{top:34px}.park-ticket:after{bottom:34px}
.park-admit{display:block;margin-bottom:24px;color:var(--park-purple);font-size:9px;font-weight:900;letter-spacing:.2em}
.park-ticket h1{margin:24px 0 20px;font-size:clamp(54px,5.8vw,82px);line-height:.98}.park-ticket h1 em{text-decoration-color:var(--park-coral)}
.park-ticket .hero-lead{font-size:16px;line-height:1.75}.park-ticket .hero-actions{margin-top:26px}.park-ticket .trust-row{margin-top:27px}
.park-entry{position:relative;min-height:640px;align-self:end}
.park-phone{position:absolute;z-index:2;right:44px;top:30px;width:285px;height:550px;overflow:hidden;border:4px solid var(--park-ink);border-radius:44px;background:white;box-shadow:11px 12px 0 var(--park-purple);transform:rotate(3deg)}
.park-phone img{width:100%;height:100%;object-fit:cover;object-position:top}
.park-guide-dog{position:absolute;z-index:5;left:-10px;bottom:8px;width:245px;filter:drop-shadow(8px 10px 0 rgba(24,48,75,.2))}
.park-sign{position:absolute;z-index:4;right:5px;bottom:18px;width:230px;padding:18px 20px;border:3px solid var(--park-ink);border-radius:20px 20px 8px 8px;background:var(--park-yellow);box-shadow:8px 8px 0 var(--park-coral);transform:rotate(-2deg)}
.park-sign:before{content:"";position:absolute;left:27px;right:27px;top:-25px;height:25px;border-left:4px solid var(--park-ink);border-right:4px solid var(--park-ink)}
.park-sign small,.park-sign b,.park-sign span{display:block}.park-sign small{font-size:8px;font-weight:900;letter-spacing:.18em}.park-sign b{margin:7px 0 2px;font:650 22px/1.15 var(--serif)}.park-sign span{font-size:10px;font-weight:800}
.park-scroll-ticket{position:absolute;z-index:5;left:50%;bottom:17px;display:flex;align-items:center;gap:18px;padding:10px 14px 10px 18px;border:2px solid var(--park-ink);border-radius:99px;background:var(--park-cream);font-size:8px;font-weight:900;letter-spacing:.2em;transform:translateX(-50%)}
.park-scroll-ticket i{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--park-yellow);font-style:normal}
.park-cloud{position:absolute;z-index:2;width:150px;height:42px;border-radius:99px;background:rgba(255,255,255,.72);filter:blur(.2px)}
.park-cloud:before,.park-cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.park-cloud:before{left:28px;bottom:12px;width:58px;height:58px}.park-cloud:after{right:24px;bottom:8px;width:42px;height:42px}.park-cloud-a{top:96px;left:-180px}.park-cloud-b{top:165px;right:-160px;transform:scale(.7)}

.park-status-strip{position:relative;z-index:4;border-bottom:0;background:var(--park-ink)}
.park-status-strip .proof-grid{gap:12px;padding-block:20px}.park-status-strip .proof-grid div{position:relative;padding:18px 19px;border:2px solid var(--park-ink);border-radius:18px 18px 5px 5px;color:var(--park-ink);background:var(--park-yellow);box-shadow:4px 4px 0 rgba(255,255,255,.22)}
.park-status-strip .proof-grid div:nth-child(2){background:#cde8ff}.park-status-strip .proof-grid div:nth-child(3){background:#cbe3c2}.park-status-strip .proof-grid div:nth-child(4){background:#f6c8c2}
.park-status-strip .proof-grid span{color:#435067}

.section{position:relative;padding-block:110px}.section-index{padding:7px 12px;border:2px solid currentColor;border-radius:99px;background:rgba(255,255,255,.55)}
.park-story{overflow:hidden;background:linear-gradient(180deg,#fff8e8,#f5efd9)}
.park-story:before,.park-attractions:before,.park-directory:before{content:"";position:absolute;inset:55px 0 auto;height:3px;background:repeating-linear-gradient(90deg,transparent 0 18px,var(--park-coral) 18px 29px,transparent 29px 47px);opacity:.38}
.story-card{border:3px solid var(--park-ink);border-radius:84px 84px 22px 22px;box-shadow:8px 9px 0 var(--park-ink);transition:transform .25s ease}.story-card:nth-child(1){transform:rotate(-1.4deg)}.story-card:nth-child(2){transform:translateY(18px) rotate(1deg)}.story-card:nth-child(3){transform:rotate(-.5deg)}.story-card:hover{transform:translateY(-8px) rotate(0)}
.story-card:after{border-width:2px}.editorial-figure{border:3px solid var(--park-ink);border-radius:34px;box-shadow:11px 12px 0 var(--park-purple)}.editorial-figure figcaption{background:var(--park-yellow)}

.park-attractions,.park-directory{overflow:hidden;background:linear-gradient(180deg,#dff2df 0,#f7f0d9 100%)}
.park-attractions .split-heading,.park-directory-heading{position:relative;z-index:2}.park-directory-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:52px}.park-directory-heading>span{font-size:9px;font-weight:900;letter-spacing:.2em}.park-directory-heading h2{max-width:800px;margin:0;font-size:clamp(44px,6vw,74px)}
.feature-grid{position:relative;z-index:2;gap:26px}.attraction-card{--base-turn:0deg;position:relative;min-height:360px;border:3px solid var(--park-ink);border-radius:95px 95px 24px 24px;background:#fffdf5;box-shadow:8px 9px 0 var(--park-ink);transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(var(--base-turn));transform-style:preserve-3d;transition:transform .18s ease,box-shadow .18s ease}
.attraction-card:nth-child(3n+1){--base-turn:-1deg}.attraction-card:nth-child(3n+2){--base-turn:1deg;transform:perspective(900px) translateY(18px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(var(--base-turn))}.attraction-card:nth-child(3n){--base-turn:-.4deg}
.attraction-card:hover{box-shadow:13px 15px 0 var(--accent)}.attraction-card a{padding:29px 26px}.attraction-card:before{content:"";position:absolute;inset:12px;border:2px dashed color-mix(in srgb,var(--accent) 65%,var(--park-ink));border-radius:78px 78px 15px 15px;pointer-events:none;opacity:.52}
.attraction-card-top{display:flex;align-items:center;justify-content:space-between}.attraction-card-top i{width:18px;height:18px;border:3px solid var(--park-ink);border-radius:50%;background:var(--accent)}
.attraction-card .feature-number{font-size:9px}.attraction-card .feature-plan{margin-top:46px;border:1px solid var(--park-ink);border-radius:99px}.attraction-card h3{font-size:29px}.attraction-card .text-link b{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;color:white;background:var(--park-ink)}
.feature-grid-all .attraction-card:last-child{border-radius:95px 95px 24px 24px;background:#fffdf5}.feature-grid-all .attraction-card:last-child a{display:flex}.feature-grid-all .attraction-card:last-child .feature-plan{margin:46px 0 18px}.feature-grid-all .attraction-card:last-child .text-link{align-self:flex-start;margin-top:auto;padding-top:28px}

.park-grove{overflow:hidden;background:linear-gradient(135deg,#17334a,#204d48)}
.park-grove:before{content:"";position:absolute;left:0;right:0;top:-28px;height:70px;border-radius:0 0 50% 50%;background:#f7f0d9}
.privacy-art{border:3px solid rgba(255,255,255,.7);border-radius:50% 50% 30px 30px;background:radial-gradient(circle at 50% 45%,rgba(255,212,92,.18),transparent 42%),#17334a}
.park-info{background:#dcecf7}.park-info .faq-list details,.feature-faq .faq-list details{margin:12px 0;border:2px solid var(--park-ink);border-radius:22px;background:rgba(255,255,255,.76);overflow:hidden}.park-info .faq-list summary,.feature-faq .faq-list summary{padding:22px 24px}.park-info .faq-list details p,.feature-faq .faq-list details p{padding:0 58px 24px 24px}

.download-band{position:relative;background:linear-gradient(135deg,var(--park-purple),var(--park-blue))}.download-band:before{content:"EXIT GATE · SEE YOU SOON";position:absolute;left:50%;top:14px;color:rgba(255,255,255,.55);font-size:8px;font-weight:900;letter-spacing:.3em;transform:translateX(-50%)}
.download-action{border:3px solid var(--park-ink);border-radius:24px;background:var(--park-cream);box-shadow:9px 9px 0 var(--park-yellow)}
.site-footer{background:#13283c}

.park-map-hero{position:relative;min-height:760px;overflow:hidden;background:#dcefd8}.park-map-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,248,232,.92) 0 35%,rgba(255,248,232,.34) 58%,transparent 80%)}
.park-map-landscape{position:absolute;inset:0}.park-map-landscape img{width:100%;height:100%;object-fit:cover;transform:translate3d(var(--parallax-x,0),var(--parallax-y,0),0) scale(1.04);transition:transform .2s ease-out}
.park-map-hero .page-hero-grid{position:relative;z-index:2;min-height:620px;align-items:center}.park-board{padding:36px 38px;border:3px solid var(--park-ink);border-radius:32px;background:rgba(255,253,246,.93);box-shadow:11px 12px 0 var(--park-ink);backdrop-filter:blur(5px)}
.park-board h1{font-size:clamp(48px,5.7vw,76px)}.park-map-ticket{border:3px solid var(--park-ink);border-radius:110px 110px 25px 25px;background:var(--park-yellow);box-shadow:10px 11px 0 var(--park-coral)}
.park-map-ticket img{right:15px;width:240px}.park-map-ticket strong{opacity:.2}.park-directory{background:#edf4df}.park-attraction-grid{grid-template-columns:repeat(3,1fr)}

.attraction-hero{overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 24%,#dff3f8),var(--park-cream))}
.attraction-hero:before{content:"";position:absolute;left:0;right:0;bottom:-55px;height:115px;border-radius:50% 50% 0 0;background:var(--park-grass);opacity:.35}
.feature-hero-copy{position:relative;z-index:2}.feature-hero-copy .feature-plan{border:2px solid var(--park-ink);border-radius:99px}.direct-answer{border:2px solid var(--park-ink);border-left:9px solid var(--accent);border-radius:0 24px 24px 0;padding:20px 24px;background:rgba(255,255,255,.72)}
.attraction-stage{min-height:650px;transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .18s ease}.attraction-stage .media-backdrop{inset:48px 0 20px 52px;border:3px solid var(--park-ink);border-radius:160px 160px 25px 25px;background:color-mix(in srgb,var(--accent) 58%,white);box-shadow:11px 12px 0 var(--park-ink)}
.attraction-stage .media-backdrop:before{content:"";position:absolute;left:32px;right:32px;top:28px;height:18px;border-top:3px dashed var(--park-ink);opacity:.45}.attraction-stage .media-backdrop:after{background:var(--park-yellow)}
.attraction-stage .feature-device{height:545px;border-width:4px;box-shadow:9px 10px 0 var(--park-purple)}.attraction-stage .feature-dog{right:-22px;bottom:-5px;width:190px}.attraction-stage .media-label{left:4px;bottom:30px;border:3px solid var(--park-ink);border-radius:18px;background:var(--park-yellow);box-shadow:7px 7px 0 var(--park-coral)}
.attraction-stage .media-label small{display:block;font-size:7px;font-weight:900;letter-spacing:.18em}.answer-band{background:var(--park-ink)}
.steps-grid{gap:16px;border:0;background:transparent}.steps-grid li{position:relative;border:3px solid var(--park-ink);border-radius:70px 70px 22px 22px;background:#fffdf5;box-shadow:6px 7px 0 var(--park-path)}.steps-grid li:before{content:"";position:absolute;left:50%;top:-10px;width:20px;height:20px;border:3px solid var(--park-ink);border-radius:50%;background:var(--accent);transform:translateX(-50%)}
.scope-section{background:#dff0dc}.scope-card{border:3px solid var(--park-ink);border-radius:32px}.scope-card.yes{box-shadow:9px 9px 0 var(--park-grass)}.scope-card.no{box-shadow:9px 9px 0 var(--park-coral)}
.feature-faq{background:#dcecf7}.related-section{background:#f3e9ff}.related-grid a{border:3px solid var(--park-ink);border-radius:34px 34px 16px 16px}.related-grid a:hover{transform:translateY(-7px) rotate(-1deg);box-shadow:9px 10px 0 var(--accent)}

.park-info-hero,.park-news-hero,.park-story-hero{overflow:hidden;background:linear-gradient(135deg,#cfeefa,#f8e9c0)}
.park-info-hero:before,.park-news-hero:before,.park-story-hero:before{content:"";position:absolute;left:0;right:0;bottom:-85px;height:180px;border-radius:50% 50% 0 0;background:rgba(141,201,139,.55)}
.park-info-hero .page-hero-grid,.park-news-hero .page-hero-grid,.park-story-hero .page-hero-grid{position:relative;z-index:2;align-items:center}.park-booth{border:3px solid var(--park-ink);border-radius:110px 110px 24px 24px;background:var(--park-yellow);box-shadow:10px 10px 0 var(--park-coral)}
.faq-page-content{background:#f5efdc}.faq-editorial{border-radius:40px}.faq-layout aside{border:3px solid var(--park-ink);border-radius:28px;background:var(--park-yellow);box-shadow:7px 8px 0 var(--park-ink)}
.faq-layout aside a{border-top:1px dashed var(--park-ink)}.faq-group h2{font-size:46px}.faq-page-content .faq-list details{margin:12px 0;border:2px solid var(--park-ink);border-radius:22px;background:white;overflow:hidden}.faq-page-content .faq-list summary{padding:22px 24px}.faq-page-content .faq-list details p{padding:0 54px 24px 24px}
.park-notice-board .update-stamp{border:3px solid var(--park-ink);border-radius:90px 90px 24px 24px;background:var(--park-yellow)}.park-news-list{background:#fff8e8}.timeline article{margin-bottom:16px;padding:28px;border:3px solid var(--park-ink);border-radius:28px;background:white;box-shadow:6px 6px 0 var(--park-path)}
.park-story-poster{border:3px solid var(--park-ink);border-radius:110px 110px 24px 24px;background:var(--park-purple)}.park-origin{background:#fff8e8}.park-origin blockquote{border:3px solid var(--park-ink);border-left:10px solid var(--park-coral);border-radius:0 30px 30px 0;background:var(--park-yellow)}
.park-principles{background:#dff0dc}.park-principles article{border:3px solid var(--park-ink);border-radius:70px 70px 20px 20px;box-shadow:7px 8px 0 var(--park-ink);transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .18s}.park-principles article:nth-child(2n){background:#fff0c7}.park-principles article:nth-child(3){background:#f3e9ff}
.park-lost-hero{min-height:calc(100vh - 78px);display:grid;align-items:center}.park-lost-booth{border:3px solid var(--park-ink);border-radius:110px 110px 24px 24px;background:var(--park-yellow)}

.has-js .reveal{transform:translateY(28px) scale(.985);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}
.has-js .reveal.is-visible{transform:none}.has-js .attraction-card.reveal.is-visible{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(var(--base-turn))}.has-js .attraction-card:nth-child(3n+2).reveal.is-visible{transform:perspective(900px) translateY(18px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(var(--base-turn))}

@media (prefers-reduced-motion:no-preference){
  .park-cloud-a{animation:cloudDrift 31s linear infinite}.park-cloud-b{animation:cloudDriftBack 37s linear infinite}
  .park-guide-dog{animation:parkGuide 4.2s ease-in-out infinite}.park-scroll-ticket i{animation:arrowHop 1.4s ease-in-out infinite}
  .park-status-strip .proof-grid div:nth-child(odd){animation:signSway 5.5s ease-in-out infinite}.park-status-strip .proof-grid div:nth-child(even){animation:signSway 5.5s .8s ease-in-out infinite reverse}
  .attraction-card-top i{animation:lampGlow 2.4s ease-in-out infinite}
  @keyframes cloudDrift{from{transform:translateX(0)}to{transform:translateX(calc(100vw + 340px))}}
  @keyframes cloudDriftBack{from{transform:translateX(0) scale(.7)}to{transform:translateX(calc(-100vw - 340px)) scale(.7)}}
  @keyframes parkGuide{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(1deg)}}
  @keyframes arrowHop{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
  @keyframes signSway{0%,100%{transform:rotate(-.35deg)}50%{transform:rotate(.55deg)}}
  @keyframes lampGlow{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 50%,transparent)}50%{box-shadow:0 0 0 8px transparent}}
}

@media (max-width:1050px){
  .park-hero-grid{grid-template-columns:1fr .72fr;gap:28px}.park-ticket{padding:34px}.park-entry{min-height:610px}.park-phone{right:0;width:250px;height:510px}.park-guide-dog{left:-30px;width:205px}.park-sign{right:-5px;width:205px}.park-attraction-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:780px){
  .site-head{background:rgba(255,248,232,.97)}.nav-links{background:var(--park-cream)}
  .park-hero{min-height:1180px}.park-hero:after{background:linear-gradient(180deg,rgba(255,248,232,.92),rgba(255,248,232,.58) 49%,rgba(255,248,232,.08) 75%)}.park-hero-landscape img{object-position:68% center}
  .park-hero-grid{display:block;min-height:1120px;padding-top:45px}.park-ticket{max-width:none;padding:30px 27px;border-radius:28px;transform:none}.park-ticket h1{font-size:50px}.park-entry{min-height:535px;margin-top:26px}.park-phone{right:5%;top:10px;width:220px;height:435px}.park-guide-dog{left:4%;bottom:8px;width:180px}.park-sign{right:0;bottom:10px;width:190px}
  .park-scroll-ticket{bottom:14px}.park-cloud{display:none}.park-status-strip .proof-grid{grid-template-columns:1fr 1fr}
  .section{padding-block:82px}.story-card:nth-child(n){transform:none}.park-directory-heading{display:block}.park-directory-heading h2{margin-top:12px}.park-attraction-grid{grid-template-columns:1fr}.attraction-card:nth-child(n){transform:none}.has-js .attraction-card:nth-child(n).reveal.is-visible{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
  .park-map-hero{min-height:1000px}.park-map-hero:after{background:linear-gradient(180deg,rgba(255,248,232,.92),rgba(255,248,232,.5) 62%,transparent)}.park-map-hero .page-hero-grid{min-height:auto}.park-board{padding:27px}.park-map-ticket{margin-top:35px;min-height:320px}
  .attraction-stage{min-height:570px}.attraction-stage .feature-dog{right:0;width:145px}.steps-grid li{border-radius:55px 55px 20px 20px}
  .park-info-hero .page-hero-grid,.park-news-hero .page-hero-grid,.park-story-hero .page-hero-grid{display:block}.park-info-hero .park-board,.park-news-hero .park-board,.park-story-hero .park-board{margin-bottom:35px}.park-booth,.park-story-poster{min-height:330px}.faq-layout aside{margin-bottom:35px}.timeline article{display:grid}
}

@media (max-width:430px){
  .park-hero{min-height:1130px}.park-ticket{padding:25px 21px}.park-ticket h1{font-size:42px}.park-admit{max-width:250px}.park-entry{min-height:490px}.park-phone{right:2%;width:190px;height:390px}.park-guide-dog{left:-4px;bottom:20px;width:145px}.park-sign{right:0;bottom:18px;width:166px;padding:14px}.park-sign b{font-size:18px}.park-status-strip .proof-grid{grid-template-columns:1fr}.park-map-hero{min-height:940px}.park-board h1{font-size:42px}.park-map-ticket{min-height:280px}.attraction-stage{min-height:510px}.attraction-stage .feature-device{height:455px}.attraction-stage .feature-dog{width:120px}.park-directory-heading h2{font-size:44px}.faq-group h2{font-size:38px}
}

@media (prefers-reduced-motion:reduce){
  .park-hero-landscape img,.park-map-landscape img,.attraction-card,.attraction-stage,.park-principles article{transform:none!important}
}

/* Professional brand refinement — joyful character, restrained product UI */
body{background:#fbf8f0}
.site-head{border-bottom:1px solid rgba(24,48,75,.2);background:rgba(251,248,240,.94)}
.nav-links a{border-radius:8px}.nav-links a:hover,.nav-links a[aria-current="page"]{background:#f5df96}
.button{border-width:1px;border-radius:10px}.button-primary{box-shadow:4px 4px 0 var(--park-ink)}

.park-hero{min-height:820px;border-bottom:1px solid rgba(24,48,75,.22);background:radial-gradient(circle at 82% 17%,rgba(255,212,92,.48),transparent 22%),radial-gradient(circle at 74% 74%,rgba(118,88,201,.18),transparent 27%),linear-gradient(135deg,#fff9ed 8%,#e5f2eb 100%)}
.park-hero:after{background:linear-gradient(90deg,rgba(255,249,237,.72),transparent 68%)}
.park-hero-grid{min-height:820px;padding-block:72px 95px}
.park-ticket{max-width:670px;padding:42px 44px;border:1px solid rgba(24,48,75,.28);border-radius:24px;background:rgba(255,253,247,.95);box-shadow:0 22px 70px rgba(24,48,75,.14);transform:none}
.park-ticket:before,.park-ticket:after{display:none}.park-admit{margin-bottom:20px;color:var(--park-purple)}
.park-entry{min-height:620px}.park-phone{border-width:2px;box-shadow:0 25px 55px rgba(24,48,75,.24)}
.park-guide-dog{filter:drop-shadow(0 14px 14px rgba(24,48,75,.18))}
.park-sign{border:1px solid rgba(24,48,75,.4);border-radius:16px;background:#ffe070;box-shadow:0 16px 32px rgba(24,48,75,.15);transform:rotate(-1deg)}
.park-sign:before{display:none}.park-scroll-ticket{border:0;background:rgba(255,255,255,.76);box-shadow:0 8px 24px rgba(24,48,75,.1)}

.park-status-strip{background:#18304b}.park-status-strip .proof-grid{gap:1px;padding-block:0;background:rgba(255,255,255,.18)}
.park-status-strip .proof-grid div{padding:22px 20px;border:0;border-radius:0;box-shadow:none}
.section-index{padding:0;border:0;border-radius:0;background:transparent}.section-index:before{content:"";width:24px;height:2px;background:currentColor}
.park-story:before,.park-attractions:before,.park-directory:before{display:none}
.story-card,.story-card:nth-child(n){border:1px solid rgba(24,48,75,.45);border-radius:22px;box-shadow:0 16px 32px rgba(24,48,75,.09);transform:none}
.story-card:hover{transform:translateY(-5px)}.editorial-figure{border:1px solid rgba(24,48,75,.42);border-radius:24px;box-shadow:0 20px 50px rgba(24,48,75,.12)}

.park-attractions,.park-directory{background:linear-gradient(180deg,#edf5eb,#fbf8f0)}
.attraction-card,.attraction-card:nth-child(n){min-height:340px;border:1px solid rgba(24,48,75,.5);border-radius:20px;background:#fffdf8;box-shadow:0 12px 30px rgba(24,48,75,.09);transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.attraction-card:before{display:none}.attraction-card:hover{box-shadow:0 20px 38px color-mix(in srgb,var(--accent) 22%,rgba(24,48,75,.12))}
.attraction-card .feature-plan{margin-top:40px;border:0}.attraction-card-top i{width:12px;height:12px;border:0}
.feature-grid-all .attraction-card:last-child{border-radius:20px;background:#fffdf8}.feature-grid-all .attraction-card:last-child .feature-plan{margin-top:40px}

.park-grove{background:linear-gradient(135deg,#132c43,#174943)}.park-grove:before{display:none}

/* 15 張功能卡以完整 5 × 3 網格顯示；最後一張不再橫跨整行。 */
.feature-grid-all .feature-card:last-child{grid-column:auto;min-height:340px;border-radius:20px;background:#fffdf8}
.feature-grid-all .feature-card:last-child a{display:flex;grid-template-columns:none;gap:0;align-items:stretch}
.feature-grid-all .feature-card:last-child .feature-plan{margin:40px 0 18px}
.feature-grid-all .feature-card:last-child p{-webkit-line-clamp:4}
.feature-grid-all .feature-card:last-child .text-link{align-self:auto;justify-self:auto;margin-top:auto;padding-top:28px}
.privacy-art{min-height:540px;border:1px solid rgba(255,255,255,.25);border-radius:28px;background:radial-gradient(circle at 50% 82%,rgba(255,212,92,.2),transparent 36%),linear-gradient(160deg,#142b43,#183e47);overflow:hidden}
.privacy-orbit{display:none}.privacy-dog-mark{left:50%;top:auto;bottom:-105px;width:min(650px,118%);max-width:none;filter:drop-shadow(0 22px 28px rgba(0,0,0,.3));transform:translateX(-50%)}
.privacy-art>span{left:24px;top:24px;bottom:auto;color:#fff9e8}
.park-info .faq-list details,.feature-faq .faq-list details{border-width:1px;border-radius:16px}

.download-band:before{display:none}.download-action{border-width:1px;border-radius:18px;box-shadow:0 18px 38px rgba(24,48,75,.18)}
.park-map-hero{min-height:620px;background:radial-gradient(circle at 78% 24%,rgba(255,212,92,.48),transparent 24%),linear-gradient(135deg,#edf5eb,#f7ecd3)}
.park-map-hero:after{display:none}.park-map-hero .page-hero-grid{min-height:440px}.park-board{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.park-map-ticket{border:1px solid rgba(24,48,75,.42);border-radius:24px;background:#ffdc69;box-shadow:0 20px 42px rgba(24,48,75,.18)}

.attraction-hero:before,.park-info-hero:before,.park-news-hero:before,.park-story-hero:before{display:none}
.attraction-stage .media-backdrop{border-width:1px;border-radius:34px;box-shadow:0 20px 46px rgba(24,48,75,.18)}
.attraction-stage .media-backdrop:before{border-top-width:1px}.attraction-stage .feature-device{border-width:2px;box-shadow:0 20px 42px rgba(24,48,75,.24)}
.attraction-stage .media-label{border-width:1px;border-radius:12px;box-shadow:0 12px 25px rgba(24,48,75,.16)}
.direct-answer{border-width:1px;border-left-width:7px;border-radius:0 16px 16px 0}
.steps-grid li{border-width:1px;border-radius:20px;box-shadow:0 12px 28px rgba(24,48,75,.08)}.steps-grid li:before{display:none}
.scope-card{border-width:1px;border-radius:20px}.scope-card.yes,.scope-card.no{box-shadow:0 15px 30px rgba(24,48,75,.1)}
.related-grid a{border-width:1px;border-radius:18px}.related-grid a:hover{box-shadow:0 18px 34px color-mix(in srgb,var(--accent) 26%,transparent)}

.park-info-hero,.park-news-hero,.park-story-hero{background:linear-gradient(135deg,#e4f1f5,#f7edd2)}
.park-booth,.park-story-poster,.park-lost-booth{border-width:1px;border-radius:24px;box-shadow:0 20px 44px rgba(24,48,75,.16)}
.faq-layout aside{border-width:1px;border-radius:18px;box-shadow:0 12px 28px rgba(24,48,75,.09)}
.faq-page-content .faq-list details{border-width:1px;border-radius:16px}
.park-notice-board .update-stamp{border-width:1px;border-radius:24px}.timeline article{border-width:1px;border-radius:18px;box-shadow:0 12px 28px rgba(24,48,75,.08)}
.park-story-poster{border-radius:24px}.park-origin blockquote{border-width:1px;border-left-width:7px;border-radius:0 18px 18px 0}
.park-principles article{border-width:1px;border-radius:20px;box-shadow:0 12px 28px rgba(24,48,75,.08)}

@media (prefers-reduced-motion:no-preference){
  .privacy-dog-mark{animation:privacyPeek 6s ease-in-out infinite}
  .park-status-strip .proof-grid div:nth-child(n){animation:none}
  @keyframes privacyPeek{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-9px)}}
}

@media (max-width:780px){
  .park-hero{min-height:1100px}.park-hero:after{background:linear-gradient(180deg,rgba(255,249,237,.88),transparent 72%)}.park-hero-grid{min-height:1050px}
  .park-ticket{padding:30px 27px}.park-status-strip .proof-grid{gap:1px}.park-map-hero{min-height:auto}.park-map-hero .page-hero-grid{min-height:auto}
  .park-map-ticket{border-radius:20px}.steps-grid li{border-radius:18px}
  .privacy-art{min-height:450px}.privacy-dog-mark{bottom:-70px;width:min(650px,112%)}
}

@media (max-width:430px){
  .park-hero{min-height:1070px}.park-ticket{padding:25px 21px}.park-entry{min-height:470px}.park-sign{width:160px}
  .privacy-art{min-height:370px}.privacy-dog-mark{bottom:-48px;width:118%}.privacy-art>span{left:18px;top:18px}
}

/* Dolly Money Personality Quiz — official acquisition entry */
.persona-promo{position:relative;overflow:hidden;padding:72px 0;background:radial-gradient(circle at 12% 18%,rgba(255,212,92,.32),transparent 25%),linear-gradient(135deg,#241335 0,#3d2158 58%,#145044 100%);color:#fffaf0}
.persona-promo:after{content:"";position:absolute;right:-90px;bottom:-120px;width:360px;height:360px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 42px rgba(255,255,255,.035),0 0 0 84px rgba(255,255,255,.025)}
.persona-promo-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:clamp(40px,6vw,72px);align-items:center}
.persona-promo-art{position:relative;max-width:340px;margin-inline:auto;padding:12px;border:1px solid rgba(255,255,255,.24);border-radius:26px;background:rgba(255,255,255,.08);box-shadow:0 24px 58px rgba(0,0,0,.3);transform:rotate(-1.2deg)}
.persona-promo-art:after{content:"16";position:absolute;right:-18px;bottom:-18px;display:grid;width:72px;height:72px;place-items:center;border:2px solid #18304b;border-radius:50%;color:#18304b;background:#ffd45c;font:800 23px/1 var(--serif);box-shadow:5px 6px 0 #ef7767}
.persona-promo-art img{display:block;width:100%;height:auto;aspect-ratio:1122/1402;object-fit:cover;border-radius:20px}
.persona-promo-kicker{display:block;margin-bottom:18px;color:#f7df9a;font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.persona-promo-copy h2{max-width:720px;margin:0;font-size:clamp(38px,4.5vw,58px);line-height:1.07;color:#fffaf0}
.persona-promo-copy>p{max-width:660px;margin:24px 0 0;color:#e6dce9;font-size:17px;line-height:1.8}
.persona-promo-proof{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}
.persona-promo-proof span{padding:8px 12px;border:1px solid rgba(255,255,255,.25);border-radius:99px;color:#fffaf0;background:rgba(255,255,255,.08);font-size:11px;font-weight:800}
.persona-quiz-button{position:relative;isolation:isolate;width:174px;height:174px;min-height:174px;flex-direction:column;padding:24px;border:2px solid #18304b;border-radius:50%;color:#18304b;background:#ffd45c;box-shadow:8px 9px 0 #ef7767;font-size:15px;line-height:1.25;text-align:center;animation:personaQuizPulse 2.6s ease-in-out infinite}
.persona-quiz-button:before{content:"";position:absolute;z-index:-1;inset:-12px;border:1px solid rgba(255,212,92,.58);border-radius:50%;animation:personaQuizRing 2.6s ease-out infinite}
.persona-quiz-button span{display:grid;width:38px;height:38px;margin-top:7px;place-items:center;border:1px solid #18304b;border-radius:50%;font-size:21px;transition:transform .2s ease}
.persona-quiz-button:hover{color:#18304b;background:#ffe48a;border-color:#18304b;transform:translateY(-4px) scale(1.03);box-shadow:10px 12px 0 #ef7767}
.persona-quiz-button:hover span{transform:translateX(4px)}
.persona-quiz-button:focus-visible{outline:4px solid #fffaf0;outline-offset:7px}
@keyframes personaQuizPulse{0%,100%{box-shadow:8px 9px 0 #ef7767,0 0 0 0 rgba(255,212,92,.26)}50%{box-shadow:8px 9px 0 #ef7767,0 0 0 12px rgba(255,212,92,0)}}
@keyframes personaQuizRing{0%{opacity:.85;transform:scale(.92)}75%,100%{opacity:0;transform:scale(1.12)}}
@media (max-width:780px){.persona-promo{padding:72px 0}.persona-promo-grid{grid-template-columns:1fr;gap:42px}.persona-promo-art{width:min(84vw,390px)}.persona-promo-copy{text-align:center}.persona-promo-copy h2,.persona-promo-copy>p{margin-inline:auto}.persona-promo-proof{justify-content:center}}
@media (max-width:430px){.persona-promo{padding:58px 0}.persona-promo-art{width:min(82vw,330px);padding:10px;border-radius:24px}.persona-promo-art img{border-radius:16px}.persona-promo-art:after{right:-10px;bottom:-14px;width:58px;height:58px;font-size:19px}.persona-promo-copy h2{font-size:36px}.persona-promo-copy>p{font-size:15px}.persona-promo-proof span{font-size:10px}.persona-quiz-button{width:154px;height:154px;min-height:154px;margin-inline:auto;padding:20px;font-size:14px;box-shadow:7px 8px 0 #ef7767}.persona-quiz-button:before{inset:-9px}}
