:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, sans-serif; background: #f2eee6; color: #282b2a; } * { box-sizing: border-box; } body { margin: 0; } header { width: min(1160px, calc(100% - 36px)); margin: 0 auto; padding: 22px 0; display: flex; justify-content: space-between; border-bottom: 1px solid #bdb8ac; } header a { color: inherit; font-weight: 800; } main { width: min(1160px, calc(100% - 36px)); margin: 56px auto 90px; } .hero { display: grid; grid-template-columns: 1fr 0.7fr; gap: 24px 60px; align-items: end; } .hero > p { grid-column: 1 / -1; color: #a14a35; font-size: 0.76rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; } h1 { margin: 0; font: 500 clamp(4rem, 10vw, 9rem)/0.84 Georgia, serif; letter-spacing: -0.065em; } .hero > div { color: #68645c; font: 1.2rem/1.65 Georgia, serif; } .notice { margin-top: 30px; padding: 15px 18px; border-radius: 10px; background: #dce9db; color: #275035; font-weight: 700; } .rooms { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 55px; } .rooms article { min-height: 255px; padding: 23px; display: flex; flex-direction: column; border: 1px solid #cbc5b9; border-radius: 17px; background: #faf7f0; } .rooms span, .kicker { color: #9a4f3a; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; } .rooms h2 { margin: auto 0 8px; font: 500 2.2rem Georgia, serif; } .rooms p { color: #69645b; line-height: 1.55; } .rooms strong { margin-top: 12px; } .booking { display: grid; grid-template-columns: 0.7fr 1fr; gap: 55px; margin-top: 80px; padding-top: 45px; border-top: 1px solid #bdb8ac; } .booking h2, .admin h2 { margin: 10px 0; font: 500 3rem Georgia, serif; } .booking p, .admin p { color: #68645c; line-height: 1.6; } form { padding: 24px; border-radius: 18px; background: #fffdf8; box-shadow: 0 15px 45px #50493f16; } label { display: block; margin-bottom: 13px; font-size: 0.82rem; font-weight: 800; } input, select { width: 100%; margin-top: 6px; padding: 12px; border: 1px solid #bcb4a6; border-radius: 8px; background: white; font: inherit; } button { width: 100%; padding: 13px 18px; border: 0; border-radius: 9px; background: #31594d; color: white; font: inherit; font-weight: 800; cursor: pointer; } .errors { margin-bottom: 14px; padding: 10px 14px; border-radius: 8px; background: #f5dfda; color: #8b3328; } .errors p { margin: 4px 0; color: inherit; } .admin { max-width: 780px; } .admin form { max-width: 430px; margin: 30px 0; } .booking-list { display: grid; gap: 14px; margin: 35px 0; } .booking-list article { padding: 20px; border: 1px solid #cbc5b9; border-radius: 14px; background: #faf7f0; } code { padding: 2px 5px; border-radius: 4px; background: #e5dfd3; } a { color: #31594d; } @media (max-width: 760px) { .hero, .booking { grid-template-columns: 1fr; } .rooms { grid-template-columns: 1fr; } .rooms article { min-height: 210px; } }