@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600&family=Montserrat:wght@300;400;500&display=swap');

:root {
    --slate: #1A3B43;
    --nav-bg: #3B6B78;
    --nav-active: #92C5D6;
    --teal: #438284;
    --light-blue: #D1E9F0;
    --sage-green: #D5E4B8;
    --text-olive: #4F5D2F;
}

html { scroll-behavior: smooth; }

/* Global Font Settings */
body { 
    font-family: 'Montserrat', sans-serif; 
    margin: 0; 
    padding: 0; 
    color: #333; 
    line-height: 1.6; 
}

h1, h2, h3, .logo-text { 
    font-family: 'Cormorant Garamond', serif; 
    text-transform: uppercase;
    font-weight: 400;
}

/* Header */
header { background: #1A3B43; color: white; padding: 30px 20px; text-align: center; }
.logo-wrap { display: flex; align-items: center; justify-content: center; gap: 20px; }
.logo-line { height: 1px; background: white; width: 100px; }
.logo-text { font-size: 2.5rem; letter-spacing: 4px; font-weight: 300; }
.tagline { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.1rem; margin-top: 5px; letter-spacing: 2px; }

/* Navigation */
nav { display: flex; flex-wrap: wrap; width: 100%; background: #3B6B78; border-bottom: 1px solid rgba(255,255,255,0.1); }
nav a { 
    flex: 1; 
    min-width: 120px; 
    text-align: center; 
    padding: 12px 5px; 
    text-decoration: none; 
    color: white; 
    font-size: 0.75rem; 
    text-transform: uppercase; 
    letter-spacing: 1px; 
    border-right: 1px solid rgba(255,255,255,0.1);
    transition: 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box; 
}
nav a:last-child { border-right: none; }
nav a:hover, nav a.active { background: #92C5D6; color: #1A3B43; }

/* Containers */
section { padding: 40px 20px; text-align: center; }
.bg-sage { background-color: #D5E4B8; color: #4F5D2F; }
.bg-blue { background-color: #D1E9F0; color: #4F5D2F; }

h2 { 
    font-size: 2.2rem; 
    letter-spacing: 3px; 
    margin-top: 0; 
    margin-bottom: 20px; 
}

/* Buttons */
.btn-book { 
    background: #438284; 
    color: white !important; 
    padding: 14px 35px; 
    text-decoration: none; 
    display: inline-block; 
    margin: 20px 0; 
    font-size: 0.8rem; 
    letter-spacing: 2px; 
    text-transform: uppercase; 
    border: none; 
}

/* Checklist - Using Montserrat (Sans-Serif) for clinical legibility */
.checklist { 
    list-style: none; 
    padding: 0; 
    display: inline-block; 
    text-align: left; 
    font-family: 'Cormorant Garamond', serif; 
    font-size: 1rem; 
    margin-top: 10px; 
}
.checklist li { margin-bottom: 10px; }
.checklist li:before { content: "•"; color: #438284; margin-right: 10px; }

/* Footer */
footer { background: #1A3B43; color: white; padding: 50px 20px; }
.footer-grid { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }

/* Back to Top */
#backToTop { display: none; position: fixed; bottom: 20px; right: 20px; z-index: 9999; border: none; background-color: #438284; color: white; cursor: pointer; padding: 12px 18px; border-radius: 2px; font-size: 18px; box-shadow: 0 4px 10px rgba(0,0,0,0.3); }

/* Social Media */
.social-links { margin: 15px 0; }
.social-links a { color: white; font-size: 1.5rem; margin-right: 20px; transition: 0.3s; text-decoration: none; display: inline-block; }
.social-links a:hover { color: #92C5D6; transform: translateY(-3px); }

/* Mobile */
@media (max-width: 768px) {
    .logo-text { font-size: 1.8rem; }
    .logo-line { width: 40px; }
    nav a { flex: 1 0 33.33%; border-bottom: 1px solid rgba(255,255,255,0.1); height: 60px; }
    nav a:last-child { flex: 1 0 100%; border-right: none; background-color: #438284; }
}