/*
  Magic Kingdom v4 — enlarged / accessibility-oriented refinement.
  Approved visual reference remains the source of truth.
  Desktop target: 1920×1080 class monitor, with content filling ~92–95% of width.
*/
:root{
  --max:1760px;
  --radius:18px;
  --radius-sm:12px;
}

/* ---------- GLOBAL: +50% type and roomier blocks ---------- */
body{font-size:25.5px;line-height:1.58}
.container{max-width:1760px}
.section{padding:132px 48px}
.section-head{gap:51px;margin-bottom:57px}
.section-head h2,h2{font-size:clamp(52px,6.3vw,81px)}
.section-head p{max-width:855px}
.eyebrow{font-size:16.5px;margin-bottom:18px}

/* Exact approved logo asset in the upper-left corner of every page. */
.site-header{
  min-height:138px;height:138px;
  padding:0 clamp(38px,4vw,78px);
  gap:48px;
  background:linear-gradient(90deg,#011a19 0%,#073e3d 37%,#0b5e5e 100%);
}
.home .site-header{background:transparent}
.site-header > .brand{
  width:300px;height:142px;min-width:300px;
  background:url('../images/magic-kingdom-logo.svg') left center/contain no-repeat;
  margin:0;
}
.site-header > .brand > *{display:none!important}
.nav{gap:42px}
.nav a{font-size:21px}
.btn{padding:21px 36px;border-radius:15px;font-size:22.5px;gap:12px}
.btn-small{padding:16.5px 27px}
.menu-toggle{font-size:36px}

/* Inner pages: enlarge all principal page modules by ~1.5x. */
.page-hero{padding:142px 48px 117px}
.page-hero .container{max-width:1560px}
.page-hero h1{font-size:clamp(68px,9vw,108px);margin:12px 0 27px}
.page-hero p{max-width:1110px;font-size:27px}
.intro-grid{gap:105px}
.lead{font-size:clamp(45px,6.15vw,74px)}
.copy p{margin-bottom:27px}
.facts{gap:18px;margin-top:66px}
.fact{padding:33px 35px;border-radius:21px}
.fact strong{font-size:45px}.fact span{font-size:19.5px}
.featured-rooms{gap:27px}
.room-card{min-height:597px;border-radius:24px}
.room-card-media{height:339px}
.room-card-body{padding:29px 27px 26px;gap:14px}
.room-card h3{font-size:39px}.room-meta{font-size:18px;gap:14px}.room-card p{font-size:21px}.room-card .link{padding:14px 18px;border-radius:12px;font-size:19.5px}
.badge{top:20px;right:20px;padding:9px 14px;border-radius:12px;font-size:15px}
.power-banner{min-height:413px;border-radius:27px}.power-copy{padding:66px 69px;max-width:930px}.power-copy h2{font-size:clamp(57px,6.45vw,84px)}
.feature-grid{gap:21px;margin-top:51px}.feature{padding:33px;border-radius:18px}.feature b{margin-bottom:11px}
.nearby-grid{gap:27px}.place-card{border-radius:21px;padding:41px}.place-card h3{font-size:41px}
.quote{max-width:1350px;font-size:clamp(51px,7.5vw,90px)}.quote small{font-size:16.5px;margin-bottom:26px}
.room-hero{min-height:820px}.room-hero-media{min-height:820px}.room-hero-copy{padding:102px clamp(45px,7vw,123px)}.room-hero h1{font-size:clamp(72px,8.7vw,111px)}.quick-facts{gap:12px;margin:42px 0}.quick-facts div{padding:20px 21px;border-radius:15px}.quick-facts strong{font-size:19.5px}.quick-facts span{font-size:18px}
.story-grid{gap:105px}.story-grid .label{font-size:16.5px}.story-grid p{font-size:27px}
.gallery{gap:15px}.gallery button{border-radius:18px;min-height:285px}
.amenities{gap:24px}.amenity{border-radius:21px;padding:36px}.amenity h3{font-size:39px;margin-bottom:15px}.notice{padding:26px 29px;border-left-width:5px;border-radius:15px;font-size:21px}
.booking-box{border-radius:24px;padding:54px;gap:45px}.booking-box h2{font-size:62px}.form-card{max-width:1320px;padding:57px;border-radius:27px}.form-grid{gap:27px}.field{gap:11px}.field label{font-size:18px}.field input,.field select,.field textarea{padding:20px 21px;border-radius:15px}.form-result{margin-top:33px;padding:30px;border-radius:18px}
.breadcrumbs{font-size:18px;margin-bottom:42px}.two-col{gap:90px}.checks{gap:18px}.checks li{padding-left:38px}.map-box{min-height:540px;border-radius:27px;padding:51px}.map-box h3{font-size:57px}
.footer{padding:72px max(42px,calc((100vw - 1760px)/2));gap:54px}.footer h4{font-size:19.5px;margin-bottom:18px}.footer a{margin:11px 0;font-size:19.5px}.footer p{font-size:18px}.footer-brand{margin-bottom:24px}

/* ---------- HOME: exact composition, scaled to fill a standard monitor ---------- */
.home-reference{
  --ref-shell:1760px;
  font-size:21px;
  line-height:1.45;
}
.home-reference .reference-shell{
  width:min(var(--ref-shell),calc(100% - 96px));
}
.home-reference .home-header{
  width:min(var(--ref-shell),calc(100% - 96px));
  height:142px;min-height:142px;
  padding:0;
  gap:0;
}
.home-reference .home-header > .home-brand{
  width:300px;height:142px;min-width:300px;
  padding:0;
  background:url('../images/magic-kingdom-logo.svg') left center/contain no-repeat;
}
.home-reference .home-brand > *{display:none!important}
.home-reference .home-nav{height:142px;gap:69px}
.home-reference .home-nav a{font-size:19.5px}
.home-reference .home-header-cta{margin-left:78px;width:225px;height:60px;border-radius:12px;font-size:19.5px}

.home-reference .reference-hero{height:627px;min-height:627px}
.home-reference .reference-hero-photo img{object-position:72% 47%}
.home-reference .reference-hero-shade{
  z-index:1;
  background:linear-gradient(90deg,rgba(1,26,25,.995) 0%,rgba(4,61,58,.97) 31%,rgba(18,111,105,.82) 49%,rgba(54,151,143,.30) 64%,rgba(0,0,0,0) 80%);
}
/* Palm/leaf layer taken directly from the approved visual reference. */
.home-reference .reference-hero:after{
  content:'';display:block;position:absolute;z-index:1;
  left:0;top:0;width:310px;height:100%;
  background:url('../images/palm-left.png') left center/auto 100% no-repeat;
  opacity:.92;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 58%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 58%,transparent 100%);
}
.home-reference .reference-hero-copy{padding-top:189px}
.home-reference .reference-hero-copy h1{font-size:76.5px;line-height:.98;margin-bottom:30px;max-width:700px}
.home-reference .reference-hero-copy p{font-size:22.5px;line-height:1.45;margin-bottom:35px;max-width:585px}
.home-reference .reference-hero-actions{gap:24px}
.home-reference .ref-btn{height:65px;border-radius:11px;font-size:19.5px}
.home-reference .ref-btn-primary{width:249px}
.home-reference .ref-btn-ghost{width:231px}

.home-reference .reference-booking-wrap{margin-top:-47px}
.home-reference .reference-booking{
  width:min(var(--ref-shell),calc(100% - 96px));height:104px;
  padding:18px 27px;border-radius:15px;gap:21px;
  box-shadow:0 12px 35px rgba(13,61,56,.14)
}
.home-reference .reference-booking-field{height:66px;padding:8px 20px 6px;border-radius:9px}
.home-reference .reference-booking-field>span:first-child{font-size:13.5px;margin-bottom:6px}
.home-reference .field-line{gap:12px}
.home-reference .field-line input,.home-reference .field-line select{font-size:16.5px}
.home-reference .field-line svg{width:23px;height:23px}
.home-reference .ref-btn-search{height:66px;border-radius:9px}

.home-reference .reference-rooms{padding-top:36px;padding-bottom:23px}
.home-reference .reference-room-grid{gap:27px}
.home-reference .reference-room-card{height:366px;border-radius:17px}
.home-reference .reference-room-photo{height:203px}
.home-reference .reference-room-body{padding:17px 20px;min-height:164px}
.home-reference .reference-room-body h2{font-size:30px;margin-bottom:8px}
.home-reference .reference-room-body p{font-size:15px;margin-bottom:14px}
.home-reference .reference-room-more{height:47px;border-radius:9px;font-size:15px}

.home-reference .reference-power{height:257px;border-radius:17px;margin-bottom:23px}
.home-reference .reference-power-copy{padding:42px 41px}
.home-reference .reference-power-copy h2{font-size:58.5px;margin-bottom:14px}
.home-reference .reference-power-copy p{font-size:16px;max-width:650px}
.home-reference .reference-compass{right:51px;top:88px;width:116px;height:116px}
.home-reference .reference-compass:before,.home-reference .reference-compass:after{top:11px;height:92px}
.home-reference .reference-compass span:before,.home-reference .reference-compass span:after{top:12px;height:90px}
.home-reference .reference-compass i{left:47px;top:24px;width:21px;height:68px;border-left-width:11px;border-right-width:11px;border-bottom-width:33px}

.home-reference .reference-why{height:176px;grid-template-columns:183px repeat(5,1fr);padding-top:6px;margin-bottom:15px}
.home-reference .reference-why>h2{font-size:40.5px;margin-top:12px}
.home-reference .reference-why-item{height:140px;padding:0 12px}
.home-reference .reference-why-item svg{width:51px;height:51px;margin-bottom:8px}
.home-reference .reference-why-item b{font-size:15px;margin-bottom:6px}
.home-reference .reference-why-item span{font-size:12.75px}

.home-reference .reference-nearby{margin-bottom:17px}
.home-reference .reference-nearby-head{height:44px}
.home-reference .reference-nearby-head h2{font-size:40.5px}
.home-reference .reference-nearby-head>a{font-size:13.5px;margin-top:11px}
.home-reference .reference-nearby-head>a span{margin-left:8px;width:26px;height:26px;font-size:21px}
.home-reference .reference-nearby-grid{gap:23px}
.home-reference .reference-place-card{height:180px;border-radius:17px}

.home-reference .reference-bottom-cta{height:123px;border-radius:17px;margin-bottom:20px;grid-template-columns:36% 64%}
.home-reference .reference-bottom-copy{padding:18px 29px;gap:23px}
.home-reference .reference-bottom-copy>svg{width:68px;height:68px}
.home-reference .reference-bottom-copy h2{font-size:34.5px;margin-bottom:6px}
.home-reference .reference-bottom-copy p{font-size:12px}
.home-reference .reference-bottom-form{padding:20px 18px;gap:12px;border-radius:0 15px 15px 0}
.home-reference .reference-bottom-form label{border-radius:9px;padding:8px 15px}
.home-reference .reference-bottom-form label>span{font-size:12px;margin-bottom:6px}
.home-reference .reference-bottom-form input,.home-reference .reference-bottom-form select{font-size:13.5px}
.home-reference .reference-bottom-form button{border-radius:9px;font-size:15px}

.home-reference .reference-footer{height:144px}
.home-reference .reference-footer-inner{height:144px}
.home-reference .reference-footer-brand{height:90px}
.home-reference .reference-footer-brand .home-brand-crown{top:5px;left:72px;width:32px;height:21px}
.home-reference .reference-footer-brand>span:last-child{padding-top:12px}
.home-reference .reference-footer-brand b{font-size:28.5px}.home-reference .reference-footer-brand small{font-size:13.5px;margin-top:5px}
.home-reference .reference-footer-item{height:57px;gap:18px;padding-left:39px}
.home-reference .reference-footer-item svg{width:39px;height:39px}
.home-reference .reference-footer-item span{font-size:15px}.home-reference .reference-footer-item span small{font-size:12px;margin-top:3px}
.home-reference .reference-footer-social{height:57px;gap:21px}.home-reference .reference-footer-social span{font-size:26px}.home-reference .reference-footer-social span:nth-child(2){font-size:13.5px}

/* Desktop 1366-ish: still large, but keep the layout usable. */
@media(max-width:1450px) and (min-width:1001px){
  body{font-size:22px}
  .site-header{height:124px;min-height:124px;padding:0 34px;gap:28px}
  .site-header > .brand{width:255px;height:121px;min-width:255px}
  .nav{gap:25px}.nav a{font-size:18px}.btn-small{font-size:18px;padding:15px 22px}
  .home-reference .reference-shell,.home-reference .home-header,.home-reference .reference-booking{width:calc(100% - 64px)}
  .home-reference .home-header > .home-brand{width:255px;height:121px;min-width:255px}
  .home-reference .home-header{height:124px;min-height:124px}.home-reference .home-nav{height:124px;gap:34px}.home-reference .home-nav a{font-size:17px}.home-reference .home-header-cta{margin-left:34px;width:190px;height:54px;font-size:17px}
  .home-reference .reference-hero-copy{padding-top:175px}.home-reference .reference-hero-copy h1{font-size:68px}.home-reference .reference-hero-copy p{font-size:20px}
}

/* Preserve an accessible mobile layout instead of blindly scaling 1.5x on narrow screens. */
@media(max-width:1000px){
  body{font-size:18px}
  .site-header{height:92px;min-height:92px;padding:0 20px}
  .site-header > .brand{width:190px;height:90px;min-width:190px}
  .section{padding:82px 20px}
  .page-hero{padding:92px 22px 72px}.page-hero h1{font-size:56px}.page-hero p{font-size:20px}
  .home-reference{font-size:16px}
  .home-reference .reference-shell,.home-reference .home-header,.home-reference .reference-booking{width:calc(100% - 32px)}
  .home-reference .home-header{height:92px;min-height:92px}.home-reference .home-header > .home-brand{width:190px;height:90px;min-width:190px}
  .home-reference .reference-hero{height:650px;min-height:650px}.home-reference .reference-hero-copy{padding-top:190px}.home-reference .reference-hero-copy h1{font-size:52px}.home-reference .reference-hero-copy p{font-size:18px}
  .home-reference .reference-hero:after{width:190px;opacity:.78}
  .home-reference .reference-booking{height:auto;grid-template-columns:1fr 1fr;padding:14px;gap:12px}.home-reference .reference-booking-field{height:58px}.home-reference .ref-btn-search{grid-column:1/-1;height:58px}
  .home-reference .reference-room-grid{grid-template-columns:1fr 1fr}.home-reference .reference-room-card{height:330px}.home-reference .reference-room-photo{height:185px}
  .home-reference .reference-power{height:240px}.home-reference .reference-why{height:auto;grid-template-columns:1fr 1fr;padding:22px 0}.home-reference .reference-why>h2{grid-column:1/-1;margin-bottom:18px}.home-reference .reference-why-item{height:130px;border-left:0;border-top:1px solid var(--ref-line);padding-top:14px}
  .home-reference .reference-nearby-grid{grid-template-columns:1fr}.home-reference .reference-place-card{height:220px}
  .home-reference .reference-bottom-cta{height:auto;grid-template-columns:1fr}.home-reference .reference-bottom-form{border-left:1px solid #c9ddd7;border-radius:0 0 15px 15px;grid-template-columns:1fr 1fr}.home-reference .reference-bottom-form button{min-height:54px;grid-column:1/-1}
  .home-reference .reference-footer{height:auto}.home-reference .reference-footer-inner{height:auto;grid-template-columns:1fr 1fr;padding:28px 0;gap:22px}.home-reference .reference-footer-item,.home-reference .reference-footer-social{border-left:0;padding-left:0;justify-content:flex-start}
}

@media(max-width:600px){
  body{font-size:17px}.site-header > .brand{width:165px;height:78px;min-width:165px}
  .home-reference .home-header > .home-brand{width:165px;height:78px;min-width:165px}
  .home-reference .reference-hero{height:690px;min-height:690px}.home-reference .reference-hero-copy{padding-top:190px}.home-reference .reference-hero-copy h1{font-size:45px}.home-reference .reference-hero-copy p{font-size:17px}.home-reference .reference-hero-actions{flex-direction:column;width:230px}.home-reference .ref-btn-primary,.home-reference .ref-btn-ghost{width:100%}
  .home-reference .reference-booking{grid-template-columns:1fr}.home-reference .ref-btn-search{grid-column:auto}
  .home-reference .reference-room-grid{grid-template-columns:1fr}.home-reference .reference-room-card{height:390px}.home-reference .reference-room-photo{height:235px}
  .home-reference .reference-power{height:300px}.home-reference .reference-power-image{width:100%;opacity:.65}.home-reference .reference-compass{display:none}
  .home-reference .reference-why{grid-template-columns:1fr}.home-reference .reference-bottom-form{grid-template-columns:1fr}.home-reference .reference-footer-inner{grid-template-columns:1fr}
}
