/* Soft photographic windows, with the road trip arriving across their foreground. */
body[data-concept] .hero{background:#ecf6f8;padding-bottom:22px}
body[data-concept] .hero-intro{background:#ecf6f8;padding:27px 5% 34px}
body[data-concept] .hero-intro h1{font-size:clamp(40px,4.1vw,64px)}
body[data-concept] .park-portals{padding:0 4%;gap:24px;background:transparent}
body[data-concept] .park-portal{height:max(490px,calc(100svh - var(--review-height) - 282px));border:0;border-radius:34px;box-shadow:0 12px 28px #00314c15;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
body[data-concept] .park-portal[data-park=rooskey]{transform:translateY(14px)}
body[data-concept] .park-portal:hover{transform:translateY(-5px);box-shadow:0 22px 40px #00314c26}
body[data-concept] .park-portal[data-park=rooskey]:hover{transform:translateY(9px)}
.park-portal:after{background:linear-gradient(180deg,#00314c9e,#00314c3b 55%,#00314c08 80%,#00314c38)}
.park-portal[data-park=dublin] .portal-photo{object-position:64% 52%}
.park-portal[data-park=rooskey] .portal-photo{object-position:53% 62%}
.photo-credits{margin-top:25px;padding-top:15px;border-top:1px solid #ffffff30;color:#bbd7df;font-size:12px;max-width:900px}
.photo-credits summary{cursor:pointer;font-size:13px}
.photo-credits p{margin-top:12px;line-height:1.7}
.photo-credits a{text-decoration:underline;text-underline-offset:3px}
body[data-concept] .portal-copy{top:29px;left:6%;right:6%;z-index:6}
body[data-concept] .portal-logo{width:76px;height:76px;top:0;right:0;box-shadow:0 6px 20px #00314c26}
.portal-kicker{padding-right:82px;letter-spacing:1.6px;font-size:11px;margin-bottom:12px}
.portal-copy h2{font-size:clamp(65px,6.6vw,110px);letter-spacing:.5px;margin-bottom:6px}
.portal-mood{font:italic clamp(26px,2.6vw,42px)/1.1 var(--serif);color:white;letter-spacing:-.7px;margin-bottom:13px}
.portal-location{font-size:14px;color:#f0faff}
.portal-cta{border-radius:100px;padding:10px 19px;margin-top:18px;gap:28px;font-size:14px}
.portal-cta>span{display:grid;place-items:center;background:#00314c15;width:29px;height:29px;border-radius:50%;font-size:20px}
.portal-footnote{left:6%;font-size:10px;letter-spacing:1.5px;bottom:20px}
body[data-concept] .camper-vehicle{width:min(39vw,635px);right:28%;bottom:-69px}
body[data-concept] .drive-scene{bottom:-13px}
body[data-concept] .escape-marquee{margin:0;transform:none;padding:12px 0;border:0}
body[data-concept] .escape-marquee>div{font-size:40px}
body[data-concept] .escape-marquee i{font-size:34px}
body[data-concept] .amenity-strip{background:#fff;border-bottom:1px solid #d7e8ed;padding:24px 5%;font-size:13px;gap:15px}
body[data-concept] .stay-section{background:#f7fafb}
.stay-section>.section{display:grid;grid-template-columns:1fr 1.25fr;gap:8%;padding-top:90px;padding-bottom:90px}
.stay-section .section-heading{display:block;margin:0}
.stay-section .section-heading>p{margin-top:25px;font-size:16px}
.stay-section .section-heading h2{font-size:clamp(35px,3.5vw,56px)}
.stay-section .section-heading .eyebrow{margin-bottom:20px}
.stay-section .stay-item summary{grid-template-columns:30px 1fr 22px;gap:12px;padding:24px 0}
.stay-section .stay-short{display:none}
.stay-section .stay-item h3{font-size:28px}
.stay-section .stay-detail{display:block;padding:0 0 24px 42px}
.stay-section .stay-detail .inline-button{margin-top:16px}
body[data-concept] .explore-image{border:0;border-radius:32px;transform:none;box-shadow:none}
.explore-tabs{gap:8px;border:0}
.explore-tabs button{padding:10px 17px;border:1px solid var(--line);border-radius:100px;font-size:14px}
body[data-concept] .explore-tabs [data-explore=sea][aria-pressed=true]{background:var(--brand-dublin);color:var(--brand-navy);border-color:var(--brand-dublin)}
body[data-concept] .explore-tabs [data-explore=river][aria-pressed=true]{background:var(--brand-rooskey);color:#001b2a;border-color:var(--brand-rooskey)}
body[data-concept=retro] .hero,body[data-concept=retro] .hero-intro{background:var(--brand-dublin)}
body[data-concept=retro] .park-portal{border:6px solid #fff;border-radius:45px}
body[data-concept=nature] .hero,body[data-concept=nature] .hero-intro{background:var(--brand-navy)}
body[data-concept=nature] .park-portal{border-radius:110px 34px 34px 34px}
body[data-concept=nature] .park-portal[data-park=rooskey]{border-radius:34px 110px 34px 34px}
body[data-concept=nature] .portal-copy{top:36px}
body[data-concept=nature] .portal-logo{width:76px;height:76px}
@media(min-width:1600px){body[data-concept] .camper-vehicle{bottom:-70px}}
@media(max-width:1100px){.portal-copy h2{font-size:6.6vw}.portal-mood{font-size:29px}.portal-kicker{font-size:10px;letter-spacing:1px}body[data-concept] .portal-logo{width:62px;height:62px}.portal-cta{gap:20px}.stay-section>.section{gap:5%;grid-template-columns:1fr 1.2fr}}
@media(max-width:860px){
  body[data-concept] .hero-intro h1{font-size:4.5vw}
  body[data-concept] .park-portals{gap:13px;padding:0 3%}
  body[data-concept] .park-portal{height:520px;border-radius:28px}
  body[data-concept] .portal-copy{text-align:center;top:25px}
  body[data-concept] .portal-logo{position:static;width:76px;height:76px;margin:0 auto 15px}
  .portal-kicker{padding:0;font-size:11px;margin-bottom:10px}
  .portal-copy h2{font-size:8.5vw}
  .portal-mood{font-size:29px}
  .portal-location{font-size:13px}
  body[data-concept] .camper-vehicle{width:75%;right:12%;bottom:-56px}
  .stay-section>.section{display:block;padding-top:65px;padding-bottom:65px}
  .stay-section .section-heading{margin-bottom:35px}
  .stay-section .section-heading>p{margin-top:15px}
  .stay-section .section-heading h2{font-size:42px}
}
@media(max-width:570px){
  body[data-concept] .hero{padding-bottom:28px}
  body[data-concept] .hero-intro{padding:21px 5% 28px}
  body[data-concept] .hero-intro h1{font-size:9.2vw}
  body[data-concept] .park-portals{gap:9px;padding:0 3%}
  body[data-concept] .park-portal{height:495px;border-radius:25px;box-shadow:0 8px 18px #00314c16}
  body[data-concept] .park-portal[data-park=rooskey]{transform:translateY(12px)}
  body[data-concept] .portal-copy{top:20px;left:5%;right:5%}
  body[data-concept] .portal-logo{width:65px;height:65px;margin-bottom:16px}
  .portal-kicker{font-size:10px;letter-spacing:0;margin-bottom:11px}
  .portal-copy h2{font-size:11.8vw;margin-bottom:8px}
  .portal-mood{font-size:22px;line-height:1.08;min-height:48px;letter-spacing:-.5px;max-width:140px;margin:0 auto 11px}
  .portal-location{font-size:12px;min-height:38px;line-height:1.4;max-width:135px}
  .portal-cta{font-size:13px;gap:6px;padding:8px 10px;min-height:45px;margin-top:11px;line-height:1.2}
  .portal-cta>span{background:none;width:auto;height:auto;flex-shrink:0;font-size:19px}
  body[data-concept] .camper-vehicle{width:99%;right:.5%;bottom:-48px}
  body[data-concept] .drive-scene{bottom:2px}
  body[data-concept=retro] .park-portal{border-width:3px}
  body[data-concept=nature] .park-portal,body[data-concept=nature] .park-portal[data-park=rooskey]{border-radius:80px 80px 25px 25px}
  body[data-concept] .amenity-strip{font-size:12px;padding:23px 6%;display:grid;grid-template-columns:1fr 1fr;text-align:center}
  .amenity-strip i{display:none}
  body[data-concept] .escape-marquee>div{font-size:30px}
  body[data-concept] .escape-marquee i{font-size:27px}
  .stay-section .section-heading h2{font-size:39px}
  .stay-section .stay-item h3{font-size:24px}
  .stay-section .stay-detail{padding-left:0}
}
@media(prefers-reduced-motion:reduce){body[data-concept] .park-portal{transition:none}}
