.birthday-page .header>.btn{color:var(--ink)}
.birthday-breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;padding:28px 0 36px;font-size:16px;color:var(--muted)}.birthday-breadcrumbs a:hover{text-decoration:underline;color:var(--green)}
.birthday-hero{padding-bottom:55px}.birthday-intro{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.birthday-intro h1{font:600 clamp(42px,4.7vw,67px)/1.1 var(--display);letter-spacing:-1px;margin:0 0 24px}.birthday-intro h1 span{color:var(--pink)}.birthday-intro .birthday-lead{font-size:26px;font-weight:750;line-height:1.4;margin-bottom:18px}.birthday-intro p:not(.eyebrow):not(.birthday-lead){color:var(--muted);font-size:18px}.birthday-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}.birthday-cover{position:relative;margin:0 0 22px;min-width:0}.birthday-cover>img{width:100%;height:450px;object-fit:cover;object-position:44% center;border-radius:30% 7% 24% 5%/10% 25% 8% 30%}.birthday-cover figcaption{position:absolute;bottom:-22px;right:0;background:var(--forest);color:white;padding:18px 25px;font-size:18px;line-height:1.5;border-left:4px solid var(--yellow)}
.birthday-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);margin-top:60px;padding-top:30px;gap:30px}.birthday-highlights strong{display:block;font-size:27px;line-height:1.3}.birthday-highlights span{display:block;font-size:16px;color:var(--muted);margin-top:7px}
.birthday-service-nav{display:flex;gap:12px 26px;flex-wrap:wrap;padding-block:25px;border-bottom:1px solid var(--line);font-size:16px;font-weight:700}.birthday-service-nav a{padding-bottom:5px}.birthday-service-nav a[aria-current=page]{border-bottom:3px solid var(--pink);color:var(--green)}.birthday-service-nav a:hover{color:var(--green)}
.birthday-program{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.birthday-program article{border-top:1px solid var(--line);padding-top:25px}.birthday-number{display:block;font:600 44px/1 var(--display);color:var(--green);margin-bottom:22px}.birthday-program h3{font-size:26px;margin-bottom:20px}.birthday-program p{font-size:18px;color:var(--muted)}
.birthday-prices{display:grid;grid-template-columns:1fr 1fr;gap:28px}.birthday-rate{background:white;padding:35px;border-top:4px solid var(--green);display:flex;flex-direction:column}.birthday-tag{font-size:16px;color:var(--green);font-weight:750;min-height:28px;margin-bottom:12px}.birthday-rate h3{font-size:28px}.birthday-price{font:600 54px/1.2 var(--display);margin:24px 0 8px}.birthday-capacity{font-size:18px}.birthday-rate ul{padding-left:23px;color:var(--muted);font-size:18px;flex:1}.birthday-rate li{margin:10px 0}.birthday-rate dl{margin:10px 0 28px;border-top:1px solid var(--line);font-size:18px}.birthday-rate dl>div{display:flex;gap:15px;justify-content:space-between;margin-top:15px}.birthday-rate dd{font-weight:800;white-space:nowrap;margin:0}.birthday-rate .btn{align-self:flex-start}.birthday-rate-note{font-size:16px;color:var(--muted);margin:25px 0 38px;max-width:930px}.birthday-exclusive{display:grid;grid-template-columns:1.4fr 1fr;gap:45px;background:var(--forest);color:white;padding:40px}.birthday-exclusive .eyebrow{color:var(--yellow)}.birthday-exclusive h3{font-size:32px;margin-bottom:20px}.birthday-exclusive p:not(.eyebrow){color:#e0e8dc;font-size:18px}.birthday-slots{display:flex;gap:15px;flex-wrap:wrap;margin-top:22px}.birthday-slots span{border:1px solid #ffffff55;padding:6px 15px;font-size:18px}.birthday-exclusive-price{align-self:center;justify-self:end}.birthday-exclusive-price strong{font:600 48px/1.3 var(--display);display:block;margin:8px 0 25px}.birthday-exclusive-price .btn{color:var(--ink)}
.birthday-comfort{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.birthday-photo-pair{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;align-items:center}.birthday-photo-pair img{width:100%;height:470px;object-fit:cover;border-radius:4px}.birthday-photo-pair img+img{height:310px}.birthday-comfort h2{margin-bottom:25px}.birthday-comfort h3{font-size:25px;margin-top:30px}.birthday-comfort p{font-size:18px;color:var(--muted)}.birthday-extras{padding-left:23px;font-size:18px}.birthday-extras li{margin:9px 0}.birthday-comfort .text-link{margin-top:24px}
.birthday-faq{max-width:940px}.birthday-faq details{border-top:1px solid #ccd1c2;padding:22px 0}.birthday-faq details:last-child{border-bottom:1px solid #ccd1c2}.birthday-faq summary{font-size:22px;font-weight:750;cursor:pointer;line-height:1.5}.birthday-faq details p{font-size:18px;color:var(--muted);margin-top:18px;padding-right:28px}
.birthday-book>.wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:65px}.birthday-book h2{margin-bottom:25px}.birthday-book .btn{margin-top:28px}.birthday-contacts{display:grid;gap:20px}.birthday-contacts article{background:var(--cream);padding:25px}.birthday-contacts .metro{display:inline-block;background:#e3eadc;color:var(--green);font-size:16px;font-weight:750;padding:5px 12px;margin-bottom:15px}.birthday-contacts .metro.night{background:var(--purple);color:white}.birthday-contacts h3{font-size:26px}.birthday-contacts p{font-size:18px;margin:12px 0}.birthday-contacts a[href^=tel]{font-weight:750;font-size:22px;display:block}.birthday-contacts .text-link{margin-top:15px}.birthday-page .prototype-note{font-size:12px}
@media(max-width:1000px){.birthday-intro{gap:30px}.birthday-cover>img{height:420px}.birthday-program{gap:25px}.birthday-rate{padding:28px}.birthday-comfort,.birthday-book>.wrap{gap:35px}.birthday-exclusive{gap:28px}.birthday-exclusive-price strong{font-size:42px}}
@media(max-width:750px){.birthday-intro,.birthday-prices,.birthday-exclusive,.birthday-comfort,.birthday-book>.wrap{grid-template-columns:1fr}.birthday-intro h1{font-size:55px}.birthday-intro{gap:40px}.birthday-cover>img{height:390px}.birthday-program{grid-template-columns:1fr}.birthday-program article{display:grid;grid-template-columns:45px 1fr;column-gap:20px}.birthday-program h3{align-self:center;margin-bottom:22px}.birthday-program p{grid-column:2}.birthday-program p+p{margin-top:15px}.birthday-number{margin:0}.birthday-exclusive-price{justify-self:start}.birthday-highlights{gap:20px}.birthday-highlights strong{font-size:23px}.birthday-comfort{gap:38px}.birthday-photo-pair{max-width:620px}.birthday-exclusive{padding:32px}.birthday-rate{padding:30px}.birthday-tag{min-height:0}.birthday-rate .btn{align-self:stretch}.birthday-book>.wrap{gap:38px}}
@media(max-width:480px){.birthday-intro h1{font-size:42px}.birthday-intro .birthday-lead{font-size:24px}.birthday-cover>img{height:330px}.birthday-cover figcaption{font-size:16px;padding:15px 20px}.birthday-actions{align-items:stretch;flex-direction:column;gap:20px}.birthday-actions .btn{width:100%}.birthday-highlights{grid-template-columns:1fr;margin-top:50px;gap:20px}.birthday-highlights>div{display:grid;grid-template-columns:115px 1fr;gap:15px;align-items:center}.birthday-highlights span{margin:0}.birthday-highlights strong{font-size:22px}.birthday-service-nav{gap:10px 18px}.birthday-rate{padding:25px 22px}.birthday-price{font-size:48px}.birthday-rate dl>div{flex-wrap:wrap;gap:4px 12px}.birthday-program article{grid-template-columns:32px 1fr;column-gap:16px}.birthday-number{font-size:34px}.birthday-program h3{font-size:25px}.birthday-exclusive{padding:28px 22px}.birthday-exclusive h3{font-size:28px}.birthday-exclusive-price strong{font-size:43px}.birthday-exclusive .btn{width:100%}.birthday-exclusive-price{width:100%}.birthday-photo-pair{gap:12px}.birthday-photo-pair img{height:330px}.birthday-photo-pair img+img{height:230px}.birthday-faq summary{font-size:20px}.birthday-faq details p{padding-right:0}.birthday-contacts article{padding:24px 22px}.birthday-contacts h3{font-size:25px}.birthday-book .btn{width:100%}}

/* New room photos supplied by the owner. */
.birthday-room-gallery{display:grid;grid-template-columns:.8fr 1.2fr;grid-template-rows:1fr 1fr;gap:16px;align-self:center;min-width:0}
.birthday-room-gallery img{width:100%;height:100%;min-height:0;object-fit:cover;border-radius:4px}
.birthday-room-gallery .room-table{grid-row:1 / 3;object-position:center}
.birthday-room-gallery img:not(.room-table){aspect-ratio:16 / 10}
@media(max-width:480px){.birthday-room-gallery{gap:10px;grid-template-columns:1fr}.birthday-room-gallery .room-table{grid-row:auto;max-height:380px;object-position:center 60%}.birthday-room-gallery img:not(.room-table){aspect-ratio:16 / 9;height:auto}}
@media(max-width:1000px){.birthday-comfort{grid-template-columns:1fr}} @media(max-width:480px){.birthday-room-gallery{grid-template-rows:auto}.birthday-room-gallery .room-table{height:380px}}

/* Key facts styled like the school excursion page. */
.birthday-highlights{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:55px;padding-top:30px;border-top:1px solid #cdd2bf}
.birthday-highlights>div{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto;gap:0;min-width:0;align-items:start}
.birthday-highlights span{font-size:16px;color:var(--muted);margin:0 0 7px}
.birthday-highlights strong{font-size:23px;font-weight:800;line-height:1.35;color:var(--green);min-height:0}

@media(max-width:1000px){.birthday-highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px}}
@media(max-width:580px){.birthday-highlights{grid-template-columns:1fr}.birthday-highlights strong{font-size:23px}}
