* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    color: #211f1b;
    background: #f7f2ea;
}

a {
    color: inherit;
    text-decoration: none;
}

/* ============================================================
   HEADER
============================================================ */

.site-header {
    position: sticky;
    top: 0;
    z-index: 20;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 24px;

    padding: 22px 44px;

    background: rgba(247,242,234,0.92);

    border-bottom: 1px solid rgba(33,31,27,.10);

    backdrop-filter: blur(14px);
}

.brand {

    font-size: 1.35rem;

    letter-spacing: .18em;

    text-transform: uppercase;

}

.site-nav {

    display:flex;

    gap:24px;

    font-family:Arial,sans-serif;

    font-size:.78rem;

    letter-spacing:.13em;

    text-transform:uppercase;

}

.site-nav a,

.login-link{

    opacity:.72;

}

.site-nav a:hover,

.site-nav a[aria-current="page"],

.login-link:hover{

    opacity:1;

}

.login-link{

    font-family:Arial,sans-serif;

    font-size:.78rem;

    letter-spacing:.13em;

    text-transform:uppercase;

}

/* ============================================================
   HERO
============================================================ */

.visit-hero{

    padding:120px 44px 90px;

    color:#fffaf2;

    background:
        linear-gradient(rgba(24,24,20,.58),rgba(24,24,20,.72)),
        linear-gradient(135deg,#55614b,#2b3028);

}

.eyebrow,

.section-kicker,

.card-kicker{

    margin:0 0 16px;

    font-family:Arial,sans-serif;

    font-size:.76rem;

    letter-spacing:.18em;

    text-transform:uppercase;

}

.visit-hero h1{

    margin:0;

    max-width:760px;

    font-size:clamp(3.3rem,7vw,6.8rem);

    line-height:.95;

    font-weight:400;

    letter-spacing:-.05em;

}

.visit-hero p{

    margin-top:28px;

    max-width:620px;

    font-size:1.22rem;

    line-height:1.7;

}

/* ============================================================
   BUTTONS
============================================================ */

.hero-actions{

    display:flex;

    gap:14px;

    margin-top:34px;

    flex-wrap:wrap;

}

.primary-cta,

.secondary-cta{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-height:46px;

    padding:0 22px;

    border-radius:999px;

    font-family:Arial,sans-serif;

    font-size:.78rem;

    letter-spacing:.12em;

    text-transform:uppercase;

}

.primary-cta{

    color:#fff;

    background:#6f1d1b;

}

.secondary-cta{

    border:1px solid currentColor;

}

/* ============================================================
   SUB NAVIGATION
============================================================ */

.visit-nav-section{

    position:sticky;

    top:74px;

    z-index:10;

    display:flex;

    flex-wrap:wrap;

    gap:14px;

    padding:18px 44px;

    background:rgba(247,242,234,.95);

    border-bottom:1px solid rgba(33,31,27,.10);

}

.visit-nav-section a{

    padding:10px 16px;

    border-radius:999px;

    border:1px solid rgba(33,31,27,.14);

    font-family:Arial,sans-serif;

    font-size:.72rem;

    letter-spacing:.11em;

    text-transform:uppercase;

}

.visit-nav-section a:hover{

    color:#6f1d1b;

    border-color:#6f1d1b;

}

/* ============================================================
   CONTENT
============================================================ */

.visit-section{

    max-width:1180px;

    margin:auto;

    padding:92px 44px;

}

.section-header{

    max-width:820px;

    margin-bottom:40px;

}

.section-header h2,

.split-section h2,

.faq-section h2{

    margin:0;

    font-size:clamp(2rem,4vw,4.2rem);

    line-height:1.05;

    font-weight:400;

    letter-spacing:-.04em;

}

.section-header p,

.split-section p,

.experience-card p,

.private-panel p,

.faq-grid p{

    font-size:1.05rem;

    line-height:1.75;

    color:rgba(33,31,27,.72);

}

/* ============================================================
   EXPERIENCE GRID
============================================================ */

.experience-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:24px;

}

.experience-card{

    overflow:hidden;

    background:#fffaf2;

    border-radius:24px;

    border:1px solid rgba(33,31,27,.10);

}

.image-placeholder,

.feature-image-placeholder{

    min-height:260px;

    background:
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.32),transparent 34%),
    linear-gradient(135deg,#7d7258,#2d3528);

}

.experience-card h3{

    margin:22px 22px 8px;

    font-size:1.55rem;

    font-weight:400;

}

.experience-card p{

    margin:0 22px 24px;

}

.card-kicker{

    margin:22px 22px 0;

    color:#6f1d1b;

}

/* ============================================================
   SPLIT
============================================================ */

.split-section{

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:58px;

}

.feature-image-placeholder{

    min-height:430px;

    border-radius:28px;

}

/* ============================================================
   PRIVATE
============================================================ */

.private-panel{

    padding:42px;

    background:#fffaf2;

    border-radius:28px;

    border:1px solid rgba(33,31,27,.10);

}

/* ============================================================
   MAP
============================================================ */

.map-placeholder{

    min-height:420px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:28px;

    background:#d8d2c9;

    color:#666;

    font-family:Arial,sans-serif;

}

/* ============================================================
   FAQ
============================================================ */

.faq-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

}

.faq-grid article{

    background:#fffaf2;

    border-radius:20px;

    padding:28px;

    border:1px solid rgba(33,31,27,.10);

}

/* ============================================================
   FOOTER
============================================================ */

.site-footer{

    display:flex;

    justify-content:space-between;

    padding:34px 44px;

    font-family:Arial,sans-serif;

    font-size:.78rem;

    letter-spacing:.12em;

    text-transform:uppercase;

    color:rgba(33,31,27,.62);

}

/* ============================================================
   MOBILE
============================================================ */

@media(max-width:900px){

    .site-header{

        flex-direction:column;

        align-items:flex-start;

        padding:20px;

    }

    .site-nav{

        flex-wrap:wrap;

    }

    .visit-nav-section{

        position:static;

        padding:18px 24px;

    }

    .visit-hero{

        padding:84px 24px 70px;

    }

    .visit-section{

        padding:72px 24px;

    }

    .experience-grid,

    .split-section,

    .faq-grid{

        grid-template-columns:1fr;

    }

    .site-footer{

        flex-direction:column;

        padding:24px;

    }

}