/* A destination-first opening: both parks are the main experience. */
body[data-concept] .header{height:98px;max-width:none;padding:0 5%;background:white;color:var(--brand-navy);border:0;gap:28px}
body[data-concept] .wordmark{line-height:0;font-size:0;letter-spacing:0;flex-shrink:0}
body[data-concept] .wordmark img{width:174px;height:80px;object-fit:contain;background:#fff}
body[data-concept] .nav{gap:25px;font-size:14px;font-weight:500}
.nav-dublin,.nav-rooskey{border-bottom:3px solid var(--brand-dublin)}
.nav-rooskey{border-color:var(--brand-rooskey)}
body[data-concept] .nav-book{color:var(--brand-navy);background:#f1f7f9;border-color:#c4dbe2;font-size:14px}
body[data-concept] .hero{background:#fff;min-height:0}
body[data-concept] .hero-landscape{display:none}
body[data-concept] .hero-main{max-width:none;min-height:0;padding:0;isolation:isolate}
.hero-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 5% 27px;background:#fff;color:var(--brand-navy)}
body[data-concept] .hero-intro .eyebrow{font-size:12px;letter-spacing:1.8px;color:var(--brand-navy);animation:none}
body[data-concept] .hero-intro h1{font-family:var(--serif);font-size:clamp(38px,3.9vw,62px);line-height:1.05;letter-spacing:-1.5px;margin:9px 0 0;max-width:none;transform:none;animation:none;white-space:nowrap}
body[data-concept] .hero-intro h1 span,body[data-concept] .hero-intro h1 em{display:inline;font:inherit;letter-spacing:inherit;color:var(--brand-navy);margin:0;white-space:normal;text-shadow:none}
body[data-concept] .hero-intro h1 em{font-style:italic;color:#247c79}
#hero-description{font-size:16px;line-height:1.65;max-width:250px;color:#486474;flex-shrink:0}
.park-portals{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#fff}
.park-portal{height:max(470px,calc(100svh - var(--review-height) - 238px));position:relative;overflow:hidden;color:#fff;border-bottom:7px solid var(--park-color)}
.park-portal:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#00314cba 0%,#00314c65 45%,#00314c0a 72%,#00314c55 100%);pointer-events:none;transition:background .35s}
.portal-photo{width:100%;height:100%;object-fit:cover;object-position:center 45%;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.park-portal[data-park=dublin] .portal-photo{object-position:40% 56%}
.park-portal[data-park=rooskey] .portal-photo{object-position:52% 57%}
.park-portal:hover .portal-photo{transform:scale(1.055)}
.portal-copy{position:absolute;z-index:2;inset:32px 6% auto 9%}
.portal-logo{position:absolute;right:0;top:0;width:90px;height:90px;background:#fff;padding:6px;border-radius:50%;box-shadow:0 5px 24px #00314c30}
.portal-kicker{font-size:12px;font-weight:600;letter-spacing:2px;color:white;margin-bottom:13px;padding-right:92px}
.portal-copy h2{font:800 clamp(75px,7.8vw,135px)/.9 var(--display);letter-spacing:1px;margin:0 0 13px}
.portal-location{font-size:16px;line-height:1.5}
.portal-cta{display:inline-flex;align-items:center;gap:34px;background:var(--park-color);color:#001b2a;padding:11px 18px;margin-top:22px;border-radius:2px;font-size:16px;font-weight:700;transition:background .2s,transform .2s;box-shadow:0 4px 18px #00314c20}
.portal-cta>span{font-size:24px;transition:transform .2s}
.park-portal:hover .portal-cta{background:#fff;transform:translateY(-2px)}
.park-portal:hover .portal-cta>span{transform:translate(2px,-2px)}
.portal-footnote{position:absolute;z-index:2;bottom:22px;left:9%;font-size:11px;letter-spacing:1.7px}
body[data-concept] .hero-bottom{display:none}
body[data-concept] .drive-scene{bottom:3px;height:420px;z-index:4;transform:translate3d(var(--van-x,0px),var(--van-y,0px),0)}
body[data-concept] .camper-vehicle{width:min(46vw,740px);right:2%;bottom:-70px}
body[data-concept] .hero .camper-vehicle img{filter:drop-shadow(0 16px 8px #00314c40)}
body[data-concept] .footer .wordmark{padding:8px 15px;background:white;border-radius:2px}
body[data-concept] .footer .wordmark img{width:174px;height:80px}
body[data-concept=retro] .hero-intro{background:var(--brand-dublin)}
body[data-concept=retro] .hero-intro h1 em{color:#fff}
body[data-concept=retro] .hero-intro #hero-description{color:var(--brand-navy)}
body[data-concept=retro] .park-portals{background:var(--brand-dublin);gap:20px;padding:0 22px 22px}
body[data-concept=retro] .park-portal{border:7px solid white;border-bottom:7px solid var(--park-color);border-radius:90px 90px 4px 4px;height:max(460px,calc(100svh - var(--review-height) - 246px))}
body[data-concept=retro] .portal-copy{top:32px}
body[data-concept=nature] .hero-intro,body[data-concept=nature] .park-portals{background:var(--brand-navy)}
body[data-concept=nature] .hero-intro h1 span,body[data-concept=nature] .hero-intro .eyebrow{color:#fff}
body[data-concept=nature] .hero-intro h1 em{color:#85d7d0}
body[data-concept=nature] .hero-intro #hero-description{color:#bfdde2}
body[data-concept=nature] .park-portals{gap:20px;padding:0 22px 22px}
body[data-concept=nature] .park-portal{border-radius:160px 160px 2px 2px;height:max(460px,calc(100svh - var(--review-height) - 246px))}
body[data-concept=nature] .portal-copy{top:35px}
body[data-concept=nature] .portal-logo{width:82px;height:82px;right:3%;top:0}
@media(min-width:1600px){body[data-concept] .camper-vehicle{bottom:-92px}.portal-copy{top:50px}.portal-logo{width:110px;height:110px}}
@media(max-width:1100px){body[data-concept] .nav{gap:15px}.hero-intro{gap:20px}#hero-description{font-size:14px}.portal-copy{inset:30px 6% auto 7%}.portal-logo{width:74px;height:74px}.portal-kicker{letter-spacing:1.2px;font-size:11px}.portal-copy h2{font-size:8.3vw}.portal-cta{font-size:15px;gap:25px}}
@media(max-width:860px){
  body[data-concept] .header{height:88px;padding:0 5%}
  body[data-concept] .wordmark img{width:151px;height:69px}
  body[data-concept] .nav{display:none}
  body[data-concept] .nav.open{display:flex;top:87px;background:white;color:var(--brand-navy)}
  .hero-intro{padding:22px 5%;gap:15px}
  body[data-concept] .hero-intro h1{font-size:4.3vw;letter-spacing:-.8px}
  body[data-concept] .hero-intro .eyebrow{font-size:11px;letter-spacing:1px}
  #hero-description{font-size:13px}
  .park-portal{height:475px}
  .portal-copy{inset:24px 7% auto;text-align:center}
  .portal-logo,body[data-concept=nature] .portal-logo{position:static;width:82px;height:82px;margin:0 auto 18px}
  .portal-kicker{padding:0;font-size:11px;margin-bottom:12px}
  .portal-copy h2{font-size:9vw}
  .portal-location{font-size:14px}
  .portal-cta{font-size:14px;gap:20px;margin-top:17px;padding:10px 15px}
  .portal-footnote{display:none}
  body[data-concept] .camper-vehicle{width:65%;right:1%;bottom:-70px}
  body[data-concept] .drive-scene{transform:none!important}
  body[data-concept=retro] .park-portal,body[data-concept=nature] .park-portal{height:475px;border-radius:100px 100px 3px 3px}
  body[data-concept=retro] .park-portals,body[data-concept=nature] .park-portals{gap:12px;padding:0 12px 12px}
}
@media(max-width:570px){
  body[data-concept] .header{height:80px;padding:0 5%}
  body[data-concept] .wordmark img{width:144px;height:66px}
  body[data-concept] .menu-toggle{font-size:12px;color:var(--brand-navy);border-color:#a9c7d2}
  body[data-concept] .nav.open{top:79px}
  .hero-intro{display:block;padding:20px 5% 23px;text-align:center}
  body[data-concept] .hero-intro .eyebrow{font-size:10px;letter-spacing:1px;line-height:1.5}
  body[data-concept] .hero-intro h1{font-size:9.4vw;line-height:1.1;white-space:normal;margin-top:9px;letter-spacing:-1px}
  body[data-concept] .hero-intro h1 span{display:block}
  #hero-description{display:none}
  .park-portals{gap:2px}
  .park-portal,body[data-concept=retro] .park-portal,body[data-concept=nature] .park-portal{height:450px;border-bottom-width:6px}
  .portal-copy,body[data-concept=retro] .portal-copy,body[data-concept=nature] .portal-copy{top:23px;left:6%;right:6%}
  .portal-logo,body[data-concept=nature] .portal-logo{width:72px;height:72px;padding:5px;margin-bottom:18px}
  .portal-kicker{font-size:12px;letter-spacing:.2px;margin-bottom:12px}
  .portal-copy h2{font-size:13.2vw;letter-spacing:0;margin-bottom:10px}
  .portal-location{font-size:12px;line-height:1.5;min-height:36px;max-width:145px;margin:auto}
  .portal-cta{font-size:14px;gap:8px;padding:8px 11px;margin-top:15px;max-width:100%;min-height:46px;white-space:normal;line-height:1.3}
  .portal-cta>span{font-size:20px}
  body[data-concept] .camper-vehicle{width:100%;right:0;bottom:-47px}
  body[data-concept] .drive-scene{height:300px;bottom:0}
  body[data-concept=retro] .park-portals,body[data-concept=nature] .park-portals{gap:7px;padding:0 8px 10px}
  body[data-concept=retro] .park-portal{border-width:3px}
  body[data-concept=retro] .portal-copy h2,body[data-concept=nature] .portal-copy h2{font-size:12.5vw}
  body[data-concept=retro] .portal-cta,body[data-concept=nature] .portal-cta{gap:6px;padding:8px}
}
@media(prefers-reduced-motion:reduce){.portal-photo,.portal-cta,.portal-cta>span{transition:none}.park-portal:hover .portal-photo,.park-portal:hover .portal-cta{transform:none}}
