.first-visit { --visit-blue:#173c5a; --visit-muted:#626b70; }
.first-visit main { font-size:16px; line-height:1.7; }
.first-visit h2,.first-visit h3 { font-family:var(--serif); font-weight:400; }
.first-visit h2 { margin:0 0 1.2rem; font-size:clamp(2rem,3.6vw,3rem); line-height:1.15; }
.first-visit h3 { margin:0 0 .55rem; font-size:1.5rem; line-height:1.2; }
.first-visit main p { margin:0 0 1rem; }
.visit-hero { position:relative; min-height:550px; display:flex; align-items:center; isolation:isolate; color:white; background:#292922; }
.visit-hero-image { position:absolute; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center 56%; }
.visit-hero:after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(10,16,18,.89),rgba(10,16,18,.65) 40%,rgba(10,16,18,.08) 80%); }
.visit-hero-copy { max-width:650px; padding:4.5rem 0; }
.visit-eyebrow { display:block; font-size:.7rem; text-transform:uppercase; letter-spacing:.16em; font-weight:500; margin-bottom:1.25rem; }
.visit-hero .visit-eyebrow { color:#e7cfaa; }
.visit-hero h1 { margin:0 0 1.3rem; font:400 clamp(2.7rem,4.6vw,4.2rem)/1.12 var(--serif); text-wrap:balance; }
.visit-hero p { max-width:420px; color:#eeeae3; font-size:1.04rem; }
.visit-button { display:inline-flex; align-items:center; justify-content:center; gap:1.5rem; padding:.8rem 1.15rem; background:var(--visit-blue); color:white; font-size:.85rem; font-weight:500; }
.visit-button:hover { background:#254f6d; }
.visit-hero .visit-button { margin-top:.8rem; color:#243743; background:#fff; }
.visit-section { padding:3.6rem 0; }
.visit-heading { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; margin-bottom:2rem; }
.visit-heading h2:before { content:""; display:block; height:2px; width:45px; background:#99acba; margin-bottom:1.1rem; }
.visit-heading h2 { margin:0; }
.visit-heading > span { font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; color:var(--visit-blue); }
.visit-essentials { display:grid; grid-template-columns:repeat(4,1fr); }
.visit-essentials article { padding:.5rem 1.8rem; text-align:center; border-right:1px solid var(--line); }
.visit-essentials article:last-child { border:0; }
.visit-essentials svg,.visit-quiet-note svg { width:38px; height:38px; fill:none; stroke:var(--visit-blue); stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; }
.visit-essentials h3 { font-size:1.35rem; max-width:200px; margin:.9rem auto .6rem; }
.visit-essentials p { font-size:.85rem; color:var(--visit-muted); line-height:1.65; }
.visit-arrival { padding-top:1rem; }
.visit-arrival-grid { display:grid; grid-template-columns:1fr 1fr; }
.visit-location { padding:3rem; background:var(--visit-blue); color:white; }
.visit-location .visit-eyebrow { color:#ccd8df; }
.visit-location .visit-button { border:1px solid #91a8b8; margin:.5rem 0 1.8rem; }
.visit-parking { border-top:1px solid #ffffff30; padding-top:1.5rem; }
.visit-parking h3 { font-size:1.3rem; }
.visit-parking p { font-size:.88rem; color:#e0e7eb; }
.visit-schedule { padding:3rem; background:#f4f4f1; }
.visit-schedule .visit-eyebrow { color:var(--visit-blue); }
.visit-schedule dl { margin:1.3rem 0; }
.visit-schedule dl>div { display:flex; justify-content:space-between; gap:1rem; padding:.7rem 0; border-bottom:1px solid #d9dfdf; font-size:.9rem; }
.visit-schedule dd { margin:0; text-align:right; }
.visit-schedule dd small { display:block; color:var(--visit-muted); font-size:.7rem; }
.visit-schedule>p,.visit-calendar p { font-size:.8rem; color:var(--visit-muted); }
.visit-calendar { margin-top:1.5rem; }
.visit-text-link { font-size:.82rem; font-weight:500; color:var(--visit-blue); border-bottom:1px solid #aabac4; padding-bottom:.2rem; }
.visit-expect { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:stretch; }
.visit-expect>img { width:100%; height:100%; max-height:580px; min-height:380px; object-fit:cover; object-position:42% center; }
.visit-expect-copy { padding:.3rem 0; }
.visit-expect article { display:flex; gap:1.2rem; padding:1.3rem 0; border-bottom:1px solid var(--line); }
.visit-expect article:first-child { padding-top:0; }
.visit-expect article:last-child { border:0; padding-bottom:0; }
.visit-number { color:#8299aa; font:400 1.2rem var(--serif); padding-top:.15rem; }
.visit-expect p { color:var(--visit-muted); font-size:.92rem; }
.visit-quiet-note { display:flex; align-items:center; gap:1.4rem; background:#f4f4f1; padding:1.4rem 2rem; margin-top:2rem; }
.visit-quiet-note svg { flex-shrink:0; }
.visit-quiet-note p { margin:0!important; font-size:.9rem; color:var(--visit-muted); }
.visit-quiet-note strong { display:block; color:var(--ink); font-weight:500; }
.visit-faq-section { background:#fafaf8; }
.visit-faq-grid { display:grid; grid-template-columns:1fr 1fr; column-gap:3rem; align-items:start; }
.visit-faq-grid details { border-bottom:1px solid #dce0e1; scroll-margin-top:2rem; }
.visit-faq-grid summary { display:flex; justify-content:space-between; gap:1rem; padding:1rem 0; font-size:.9rem; line-height:1.5; cursor:pointer; list-style:none; }
.visit-faq-grid summary::-webkit-details-marker { display:none; }
.visit-faq-grid summary:after { content:"+"; color:var(--visit-blue); flex-shrink:0; font-size:1.1rem; }
.visit-faq-grid details[open] summary:after { content:"−"; }
.visit-faq-grid summary:focus-visible { outline:2px solid var(--visit-blue); outline-offset:4px; }
.visit-faq-grid details p { color:var(--visit-muted); font-size:.88rem; padding:0 1.5rem .5rem 0; }
.visit-welcome { padding:4rem 0; text-align:center; background:linear-gradient(#ffffffeb,#ffffffed),url('../img/IMG_7935.jpg') center 60%/cover; }
.visit-welcome h2 { font-size:clamp(2rem,3.6vw,3rem); }
.first-visit main .visit-welcome p { max-width:680px; margin:0 auto 1.5rem; }
.visit-welcome .visit-eyebrow { color:var(--visit-blue); }
.visit-welcome .visit-contact { display:block; width:fit-content; margin:1rem auto 0; font-size:.8rem; color:var(--visit-blue); }
.first-visit .site-footer { background:#123450; }
@media(max-width:800px) {
 .visit-hero { min-height:480px; }
 .visit-hero-copy { max-width:560px; }
 .visit-hero:after { background:linear-gradient(90deg,#101619df,#10161980); }
 .visit-section { padding:2.5rem 0; }
 .visit-heading > span { display:none; }
 .visit-essentials { grid-template-columns:1fr 1fr; row-gap:1.5rem; }
 .visit-essentials article { padding:.5rem 1rem; }
 .visit-essentials article:nth-child(2) { border:0; }
 .visit-arrival-grid,.visit-expect { grid-template-columns:1fr; }
 .visit-location,.visit-schedule { padding:2rem; }
 .visit-expect { gap:1.7rem; }
 .visit-expect>img { height:300px; min-height:0; }
 .visit-faq-grid { grid-template-columns:1fr; }
 .visit-quiet-note { padding:1.2rem; }
}
@media(max-width:420px) { .visit-location,.visit-schedule { padding:1.5rem; } .visit-hero h1 { font-size:2.6rem; } .visit-essentials h3 { font-size:1.2rem; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
