:root { color-scheme: light; }
body { margin: 0; font-family: 'Libre Franklin', sans-serif; color: #10182F; background: #FAFAFA; }
.container { max-width: 980px; margin: 0 auto; padding: 2.5rem 1rem 4rem; }
.site-nav { display: flex; align-items: center; justify-content: space-between; padding: 1.5rem 0; }
.logo { height: 60px; width: auto; }
.btn-book { font-size: 1.1rem; padding: 1rem 2rem; border-radius: 1rem; }
.hero { padding: 3rem 0 2rem; }
.eyebrow { text-transform: uppercase; letter-spacing: .08em; color: #416975; font-weight: 700; font-size: 1rem; }
h1 { font-size: clamp(2.2rem, 5vw, 3.4rem); margin: .4rem 0 1.2rem; color: #10182F; font-weight: 700; }
h1 .accent { color: #408393; }
h2 { font-size: 1.8rem; margin: 2rem 0 1rem; }
h3 { color: #336a77; }
.lead { font-size: 1.15rem; line-height: 1.7; max-width: 800px; color: #747989; }
.grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 1rem; }
article { background: #fff; border: 1px solid #e2eced; border-radius: 10px; padding: 1rem; }
article p { color: #747989; }
.actions { display: flex; gap: 1.5rem; flex-wrap: wrap; margin-top: 2rem; align-items: center; }
.btn { display: inline-block; background: #416975; color: #fff; text-decoration: none; padding: .9rem 1.8rem; border-radius: 1rem; font-weight: 500; font-size: 1.1rem; transition: background-color 0.25s ease, transform 0.25s ease; box-shadow: 0 0.4rem 1rem rgba(0,0,0,0.1); }
.btn:hover { background: #408393; transform: scale(1.03); }
.btn-secondary { background: #fff; color: #10182F; border: 1px solid #d0d5dd; box-shadow: 0 0.2rem 0.6rem rgba(0,0,0,0.06); }
.btn-secondary:hover { background: #F2F8F9; color: #336a77; }
ol li { margin-bottom: .6rem; }
ol li strong { color: #336a77; }
.cta { background: #F2F8F9; border-radius: 10px; padding: 1.2rem; margin-top: 2rem; }
a { color: #408393; }
a:hover { color: #336a77; }
