html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
}

* {
    font-family: "Nunito Sans", sans-serif;
}

/* Hero background */
.hero-bg {
    background:
        linear-gradient(to bottom, rgba(28, 20, 16, .3) 0%, rgba(28, 20, 16, .75) 100%),
        url('https://images.unsplash.com/photo-1524492412937-b28074a5d7da?w=1600&q=80') center/cover no-repeat;
}

/* Logo mark ring */
.logo-mark::after {
    content: '';
    width: 14px;
    height: 14px;
    border: 2px solid #FDF8F0;
    border-radius: 9999px;
}

/* Section label rule */
.section-label::before {
    content: '';
    width: 20px;
    height: 1px;
    background: currentColor;
    flex-shrink: 0;
}

/* Hero eyebrow rule */
.hero-eyebrow::before {
    content: '';
    width: 32px;
    height: 1px;
    background: #F5A623;
    display: inline-block;
}

/* Scroll line */
.scroll-line {
    width: 1px;
    height: 60px;
    background: linear-gradient(to bottom, rgba(212, 133, 10, .8), transparent);
}

/* Review quote mark */
.review-card::before {
    content: '\201C';
    font-family: 'Cormorant Garamond', serif;
    font-size: 5rem;
    color: #D4850A;
    opacity: .25;
    position: absolute;
    top: .5rem;
    left: 1rem;
    line-height: 1;
}

/* Star shape */
.star {
    width: 12px;
    height: 12px;
    background: #D4850A;
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}

/* Calendar event dot */
.cal-cell.has-event::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 4px;
    border-radius: 9999px;
    background: #D4850A;
}

/* Fade-in scroll animation */
.fade-in {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s ease, transform .7s ease;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Newsletter input placeholder */
.newsletter-input::placeholder {
    color: rgba(246, 237, 217, .3);
}

/* Dropdown arrow for dest-select */
.dest-select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23D4850A' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .7rem center;
}

/* clamp font sizes not available in Tailwind CDN */
.hero-h1 {
    font-size: clamp(3.2rem, 7vw, 6.5rem);
}

.section-title {
    font-size: clamp(2rem, 4vw, 3.2rem);
}

/* NOTE: Image protection styles live in prevent-img-download.css only.
   Do NOT add pointer-events, touch-callout, or user-drag rules here
   as they conflict with tap-to-navigate on mobile. */