.site-header nav a[aria-current="page"]{color:var(--orange);box-shadow:inset 0 -2px var(--orange)}
.site-header nav a,.header-action,.footer-nav a{min-height:44px;display:inline-flex;align-items:center}
.footer-nav{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:20px;font-size:12px}
.footer-small{margin-top:10px}
.home-next{background:#e9eddf;padding:55px 0 60px;border-top:1px solid var(--line)}
.page-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}
.page-links>a{background:var(--cream);border:1px solid #cbd4bf;border-radius:10px;padding:26px;display:flex;flex-direction:column;align-items:start}
.page-links .small-label{font-size:8px;color:#617356}
.page-links h3{font-size:28px;margin-top:18px}
.page-links p{font-size:13px;line-height:1.85;color:#56664f;margin:18px 0 24px}
.page-link-action{font-size:12px;margin-top:auto;padding:8px 0}
.page-links>a:hover{border-color:#78916e}
.page-links>a:focus-visible,.room-cover:focus-visible,.dorm-hero-media a:focus-visible,.dorm-photo-grid a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.page-heading{padding-top:55px;padding-bottom:35px}
.page-heading h1,.arrival-section h1,.help-page h1{font-size:clamp(42px,4.8vw,66px);letter-spacing:-2px}
.page-heading .eyebrow{margin-bottom:18px}
.page-intro{max-width:550px;font-size:15px;line-height:1.85;color:#56664f;margin-top:22px}
.dorms-content{background:#e9eddf;border-top:1px solid var(--line);padding:25px 0 45px}
.dorm-bathroom-note{font-size:13px;color:#56664f;margin:0 0 24px}
.dorm-questions{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start;margin-top:40px;padding-top:32px;border-top:1px solid #cbd4bf}
.dorm-questions h2{font-size:34px}
.dorm-questions .eyebrow{margin-bottom:14px}
.dorm-questions>div>p:not(.eyebrow){font-size:13px;line-height:1.85;color:#56664f;max-width:380px;margin-top:18px}
.page-cta{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:40px 0 45px}
.page-cta .eyebrow{margin-bottom:14px}
.page-cta h2{font-size:35px}
.page-cta .button{margin-top:0;flex:none}
.arrival-section{padding-top:48px}
.help-page{padding-top:65px;padding-bottom:45px}
.help-page .text-link{display:inline-flex;align-items:center;gap:18px;margin-top:24px;font-size:12px;min-height:44px}
.help-more{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line);padding:35px 0 60px}
.help-more h2{font-size:35px}
.help-more .eyebrow{margin-bottom:15px}
.help-more>div>p:not(.eyebrow){font-size:13px;color:#56664f;margin-top:18px;max-width:370px}
.help-more .text-link{display:inline-block;font-size:12px;padding:12px 0;margin-top:10px}
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;color:#647169;padding-top:20px}
.breadcrumbs a{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid transparent}
.breadcrumbs a:hover{color:var(--orange)}
.dorm-switcher{display:flex;flex-wrap:wrap;gap:10px;padding:15px 0 20px;border-bottom:1px solid var(--line)}
.dorm-switcher a{font-size:12px;display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid #bdc8b1;border-radius:24px}
.dorm-switcher a[aria-current="page"]{background:var(--green);border-color:var(--green);color:var(--cream)}
.dorm-switcher a:hover{border-color:var(--orange)}
.dorm-hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:40px 0 45px}
.dorm-hero h1{font-family:Cambria,'Times New Roman',serif;font-variant-numeric:lining-nums;font-size:clamp(38px,4vw,56px);line-height:1.1;letter-spacing:-1.3px;max-width:520px}
.dorm-hero .eyebrow{font-size:9px;margin-bottom:18px}
.dorm-hero .page-intro{font-size:14px;max-width:430px}
.dorm-facts{margin:25px 0 0;border-top:1px solid #cbd4bf;font-size:13px}
.dorm-facts>div{display:flex;justify-content:space-between;gap:24px;padding:10px 0;border-bottom:1px solid #cbd4bf}
.dorm-facts dt{color:#647169}
.dorm-facts dd{margin:0;text-align:right;font-weight:600}
.dorm-note{font-size:12px;color:#647169;line-height:1.85;margin-top:18px}
.dorm-hero-copy button{font-family:inherit;border:0;cursor:pointer}
.dorm-hero-copy .text-link{font-size:12px;display:flex;align-items:center;gap:18px;min-height:44px;margin-top:8px;max-width:330px}
.dorm-hero-media a{display:block;position:relative;overflow:hidden;border-radius:100px 100px 8px 8px;background:#e9eddf}
.dorm-hero-media img{width:100%;height:540px;object-fit:contain}
.dorm-hero-media figcaption{font-size:11px;text-align:center;color:#647169;margin-top:10px}
.dorm-gallery{padding:30px 0 40px;border-top:1px solid var(--line)}
.dorm-gallery h2{font-size:35px}
.dorm-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.dorm-photo-grid a{position:relative;display:block;background:#e9eddf;border-radius:8px;overflow:hidden}
.dorm-photo-grid img{width:100%;height:275px;object-fit:cover;object-position:center;transition:transform .25s}
.dorm-photo-grid a:hover img{transform:scale(1.025)}
.dorm-photo-grid a>span{position:absolute;bottom:12px;right:12px;background:var(--cream);border-radius:20px;padding:6px 11px;font-size:10px}
.dorm-photo-grid figcaption{font-size:12px;line-height:1.7;color:#56664f;padding-top:11px}
.dorm-next{display:flex;gap:35px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:35px 0 50px}
.dorm-next .eyebrow{margin-bottom:14px}
.dorm-next h2{font-size:35px}
.dorm-next p:not(.eyebrow){font-size:12px;color:#647169;max-width:430px;margin-top:17px}
.dorm-next>div:last-child{flex:none;min-width:250px}
.dorm-next .button{margin-top:0}
.dorm-next .text-link{display:block;font-size:12px;min-height:44px;padding-top:14px}
@media(max-width:1050px){.dorm-hero{gap:35px}.dorm-hero-media img{height:480px}.dorm-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-links{gap:18px}.page-links>a{padding:22px}.page-links h3{font-size:25px}}
@media(max-width:760px){.site-header .header-action{font-size:10px;padding:10px 12px}.site-header nav a{font-size:12px;padding:10px 0;min-height:44px}.site-header nav{gap:15px}.home-next{padding:35px 0 40px}.page-links{grid-template-columns:1fr;gap:16px;margin-top:24px}.page-links>a{padding:24px}.page-links h3{font-size:28px}.page-links p{margin:14px 0 12px;font-size:13px}.page-heading{padding-top:35px;padding-bottom:25px}.page-heading h1,.arrival-section h1,.help-page h1{font-size:44px;letter-spacing:-1.5px}.page-intro{font-size:14px;margin-top:18px}.dorms-content{padding:22px 0 30px}.dorm-bathroom-note{font-size:12px}.dorm-questions{grid-template-columns:1fr;gap:20px;margin-top:30px;padding-top:25px}.dorm-questions h2{font-size:30px}.page-cta{display:block;padding:30px 0 35px}.page-cta h2{font-size:30px}.page-cta .button{margin-top:22px}.arrival-section{padding-top:35px}.help-page{padding-top:35px;padding-bottom:30px}.help-more{grid-template-columns:1fr;gap:25px;padding:25px 0 35px}.help-more h2{font-size:30px}.footer-nav{gap:8px 22px;font-size:11px;margin-top:10px}.breadcrumbs{padding-top:12px;font-size:10px;gap:8px}.dorm-switcher{gap:8px;padding:12px 0 16px}.dorm-switcher a{font-size:11px;padding:8px 12px}.dorm-hero{grid-template-columns:1fr;gap:25px;padding:30px 0}.dorm-hero h1{font-size:39px;letter-spacing:-1px}.dorm-hero .page-intro{font-size:13px}.dorm-facts{font-size:12px;margin-top:21px}.dorm-hero-media{max-width:480px;width:100%;margin:auto}.dorm-hero-media a{border-radius:70px 70px 8px 8px}.dorm-hero-media img{height:420px}.dorm-hero-media figcaption{font-size:10px}.dorm-gallery{padding:25px 0 30px}.dorm-gallery h2{font-size:31px}.dorm-photo-grid{gap:18px 12px}.dorm-photo-grid img{height:190px}.dorm-photo-grid figcaption{font-size:11px;padding-top:8px}.dorm-photo-grid a>span{font-size:9px;bottom:8px;right:8px;padding:5px 8px}.dorm-next{display:block;padding:30px 0 35px}.dorm-next h2{font-size:30px}.dorm-next>div:last-child{min-width:0;margin-top:24px}}
@media(max-width:360px){.site-header .header-action{display:inline-flex}.site-header nav{gap:8px}.site-header nav a{font-size:11px}.dorm-hero h1{font-size:35px}.dorm-photo-grid{grid-template-columns:1fr}.dorm-photo-grid img{height:265px}.dorm-hero-media img{height:365px}}
@media(prefers-reduced-motion:reduce){.dorm-photo-grid img{transition:none}.dorm-photo-grid a:hover img{transform:none}}

/* Booking actions and the hotel reference share Georgie’s established styling. */
.site-header .booking-action{background:var(--green);color:var(--cream)}
.site-header .booking-action:hover{background:#163d2f}
.booking-buttons{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:26px}
.booking-buttons .button{margin-top:0;gap:20px;min-height:52px}
.button-outline{border:1px solid var(--green);background:transparent;color:var(--green)}
.button-outline:hover{background:#e9eddf}
.dorm-hero-copy button.button-outline{border:1px solid var(--green)}
.booking-note{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.8}
.hotel-reference{font-size:12px;color:var(--green);margin-top:14px;margin-bottom:0;line-height:1.8}
.hotel-reference a{display:inline-block;padding:8px 0;font-weight:600}
.pod-questions p a,.faq-list p a{font-weight:600}
/* Repeated rows use separators between items, without framing lines. */
.faq-list,.pod-questions,.dorm-facts,.pod-facts{border-top:0}
.faq-list>details:last-child,.pod-questions>details:last-child,.dorm-facts>div:last-child,.pod-facts>div:last-child{border-bottom:0}
.booking-buttons a:focus-visible,.booking-buttons button:focus-visible,.booking-action:focus-visible,.hotel-reference a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
@media(max-width:760px){.booking-buttons{margin-top:24px}.hotel-reference{font-size:12px}.site-header .booking-action{font-size:12px;min-height:44px}.site-header .booking-action span{margin-left:10px}}

/* Arrival guide: show the complete portrait route without cropping landmarks. */
.arrival-section{padding-bottom:35px}
.arrival-video{width:100%;max-width:340px;justify-self:center}
.arrival-video .video-panel{aspect-ratio:512/910;background:#122e23}
.arrival-video video{display:block;width:100%;height:100%;object-fit:contain}
.video-open{display:flex;justify-content:space-between;align-items:center;min-height:44px;font-size:12px;margin-top:10px;color:var(--cream)}
.reception-photos{padding-top:55px;padding-bottom:20px}
.arrival-photo-grid{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.arrival-photo-grid a{display:block;border-radius:8px;overflow:hidden;background:#e9eddf}
.arrival-photo-grid img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}
.arrival-photo-grid figcaption{padding-top:18px}
.arrival-photo-grid .small-label{font-size:8px;color:var(--muted);letter-spacing:1.5px}
.arrival-photo-grid h3{font-size:25px;margin-top:12px}
.arrival-photo-grid p{font-size:12px;line-height:1.85;color:var(--muted);margin-top:12px}
.arrival-booking-note{font-size:12px;color:var(--muted);border-top:1px solid var(--line);margin-top:30px;padding-top:20px}
@media(max-width:1050px){.arrival-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.arrival-video{max-width:320px}.reception-photos{padding-top:35px}.arrival-photo-grid{grid-template-columns:1fr;gap:30px;max-width:480px;margin:25px auto 0}.arrival-photo-grid img{max-height:480px}.arrival-photo-grid h3{font-size:28px}.arrival-photo-grid p{font-size:13px}.arrival-photo-grid figcaption{padding-top:14px}}

/* Put the practical arrival steps and essential address details in one opening block. */
.arrival-section{padding-top:48px;padding-bottom:42px}
.arrival-section h1{margin:0 0 24px}
.arrival-section .arrival-nav{border-radius:7px;margin-bottom:26px}
.arrival-section .arrival-nav-inner{padding:14px 22px;gap:20px}
.arrival-section .arrival-nav-inner a{flex:1;min-width:0;min-height:44px}
.arrival-section .arrival-nav-inner a:focus-visible{outline:3px solid var(--cream);outline-offset:3px}
.arrival-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
.arrival-details .page-intro{margin-top:0}
.arrival-details .text-link{margin-top:12px}
.arrival-details .update-note{margin:0}
#arrival-address{scroll-margin-top:20px}
.checkin-section>.arrival-booking-note{border-top:0;margin-top:22px;padding-top:0}
@media(max-width:760px){
  .arrival-section{padding-top:32px;padding-bottom:34px}
  .arrival-section h1{margin-bottom:18px}
  .arrival-section .arrival-nav{margin-bottom:22px}
  .arrival-section .arrival-nav-inner{gap:0;padding:8px 18px}
  .arrival-section .arrival-nav-inner a{min-height:48px;padding:10px 0}
  .arrival-section .arrival-nav-inner a:first-child{border-top:0}
  .arrival-details{grid-template-columns:1fr;gap:22px}
}

/* Put the booking action near the title on desktop; keep the photo first on phones. */
.dorm-hero{grid-template-areas:"intro media" "actions media" "facts media";row-gap:0;align-items:start}
.dorm-hero-intro{grid-area:intro;min-width:0}
.dorm-hero-actions{grid-area:actions;min-width:0}
.dorm-hero-facts{grid-area:facts;min-width:0}
.dorm-hero-actions .text-link{display:flex;align-items:center;gap:18px;min-height:44px;margin-top:8px;max-width:330px}
.dorm-hero-media{grid-area:media;align-self:start}
body[data-room="6-bed-mixed"] .dorm-hero{grid-template-areas:"intro media" "choice media" "actions media" "facts media"}
.six-bed-choice{grid-area:choice;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
.six-bed-choice>div{min-width:0;padding:15px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.six-bed-choice strong,.six-bed-choice span{display:block}
.six-bed-choice strong{font-family:var(--serif);font-size:1.15rem;font-weight:400;line-height:1.2}
.six-bed-choice span{margin-top:7px;font-size:.82rem;line-height:1.55;color:var(--muted)}
.six-bed-choice+.dorm-hero-actions .booking-buttons{margin-top:18px}
.dorm-next{display:block;padding:24px 0 32px}
.dorm-next>p:not(.eyebrow){max-width:760px;margin:0;font-size:1rem;line-height:1.7}
.dorm-next-links{display:flex;flex-wrap:wrap;gap:4px 26px;margin-top:12px}
.dorm-next-links .text-link{display:inline-flex;align-items:center;gap:12px;margin:0;padding:8px 0;min-height:44px;font-size:.875rem}
@media(max-width:760px){
  .dorm-hero{grid-template-areas:"intro" "media" "actions" "facts";gap:22px}
  body[data-room="6-bed-mixed"] .dorm-hero{grid-template-areas:"intro" "media" "choice" "actions" "facts"}
  .six-bed-choice{grid-template-columns:1fr;gap:8px;margin-top:0}
  .six-bed-choice>div{padding:14px 16px}
  .dorm-hero-actions .booking-buttons,.dorm-hero-facts .dorm-facts{margin-top:0}
  .dorm-next{padding:22px 0 30px}
  .dorm-next-links{display:grid;gap:2px;margin-top:14px}
}
@media(max-width:360px){
  .breadcrumbs{display:none}
  .dorm-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px 0 12px}
  .dorm-switcher a{justify-content:center;text-align:center;font-size:11px;padding:8px 5px}
  .dorm-hero{padding-top:22px}
}
