.room-hero{height:520px;background-size:cover;background-position:center;color:#fff;display:flex;align-items:end;padding:70px 8vw}.room-hero h1{font:72px Georgia;margin:12px 0}.room-page{max-width:1180px;margin:100px auto;padding:0 24px;display:grid;grid-template-columns:1fr 340px;gap:70px}.room-main>h2,.room-calendar h2,.meal-rates>h2,.restaurant-intro h2{font:52px Georgia;margin:15px 0}.room-amenities{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--ice);padding:25px;margin:30px 0 50px}.room-gallery{display:grid;grid-template-columns:1.5fr 1fr;gap:10px}.room-gallery img{width:100%;height:230px;object-fit:cover}.room-gallery img:first-child{grid-row:span 2;height:470px}.room-book{height:max-content;position:sticky;top:20px;background:var(--navy);color:#fff;padding:35px}.room-book>span{font-size:9px;letter-spacing:.15em;color:#83cbff}.room-book>b{display:block;font:52px Georgia}.room-book form{display:grid;gap:15px;margin-top:25px}.room-book label{font-size:10px}.room-book input{display:block;width:100%;padding:13px;margin-top:6px}.room-book button{padding:15px;border:0;background:var(--blue);color:#fff}.room-calendar{max-width:1180px;margin:0 auto 110px;padding:55px 24px;background:var(--ice)}.mini-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:35px}.mini-calendar div{background:#fff;border:1px solid var(--line);padding:12px;min-height:85px}.mini-calendar span,.mini-calendar small{display:block;font-size:9px}.mini-calendar b{display:block;font:24px Georgia}.mini-calendar .free{border-top:3px solid #43a96c}.mini-calendar .busy{border-top:3px solid var(--blue);background:#e5f3ff}.meal-rates{max-width:1140px;margin:0 auto 110px;padding:0 24px}.meal-rates>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.meal-rates article{background:var(--navy);color:#fff;padding:30px}.meal-rates span{color:#76c9ff}.meal-rates h3{font:25px Georgia}.meal-rates b{font:35px Georgia}.restaurant-intro{max-width:1160px;margin:110px auto;padding:0 24px}.menu-board{max-width:1180px;margin:0 auto 100px;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.menu-board article{background:var(--ice);padding:38px}.menu-board article>span,.about-story span{font-size:9px;letter-spacing:.18em;color:var(--blue)}.menu-board h2{font:36px Georgia}.menu-board ul{list-style:none;padding:0}.menu-board li{border-top:1px solid var(--line);padding:15px 0}.menu-board i{float:right;font-size:10px;color:var(--muted)}.meal-plan-banner,.offer-note{max-width:1130px;margin:0 auto 110px;padding:45px;background:var(--sky);display:flex;justify-content:space-between;align-items:center}.meal-plan-banner a{background:var(--blue);color:#fff;padding:15px 20px;text-decoration:none}.offers-hero{height:500px;color:#fff;background:linear-gradient(90deg,#032441e8,#03244145),url('kivulini-veranda.jpg') center/cover;display:flex;align-items:end;padding:70px 8vw}.offers-hero h1{font:75px Georgia}.offers-grid{max-width:1180px;margin:100px auto;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.offers-grid article{background:var(--ice);padding:40px;min-height:310px}.offers-grid article>span{font:48px Georgia;color:#b8daef}.offers-grid small{display:block;color:var(--blue);letter-spacing:.14em}.offers-grid h2{font:34px Georgia}.offers-grid p{color:var(--muted);line-height:1.7}.offers-grid a{font-weight:bold}.about-story{max-width:1180px;margin:0 auto 110px;padding:0 24px;display:grid;grid-template-columns:1.25fr .75fr;align-items:center}.about-story img{width:100%;height:560px;object-fit:cover}.about-story>div{background:var(--navy);color:#fff;padding:50px;margin-left:-40px}.about-story h2{font:40px Georgia}.about-values{max-width:1160px;margin:100px auto;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.about-values article{padding:35px;background:var(--ice)}.about-values h3{font:27px Georgia}
@media(max-width:850px){.room-page{grid-template-columns:1fr}.room-book{position:static}.mini-calendar{grid-template-columns:repeat(4,1fr)}.menu-board,.offers-grid,.about-story{grid-template-columns:1fr}.about-story>div{margin:0}.about-values{grid-template-columns:1fr}}@media(max-width:560px){.room-gallery{grid-template-columns:1fr}.room-gallery img,.room-gallery img:first-child{height:240px;grid-row:auto}.room-amenities,.meal-rates>div{grid-template-columns:1fr}.mini-calendar{grid-template-columns:repeat(3,1fr)}}
