@font-face{font-family:"Libre Baskerville";font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/LibreBaskerville-Bold.woff2) format("woff2")}
@font-face{font-family:"Libre Baskerville";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/LibreBaskerville-Regular.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/SourceSans3-Regular.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/SourceSans3-SemiBold.woff2) format("woff2")}

:root{
  --navy:#12263F; --sand:#E8DCC4; --cream:#FAF6EE; --copper:#B8672D;
  --copper-deep:#8F4A18; --sea:#3E7C80; --ink:#1E2328; --muted:#4A5260;
  --font-heading:"Libre Baskerville",Georgia,serif;
  --font-body:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
  --gutter:16px; --wrap:1080px; --read:40rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6}
img{max-width:100%;height:auto}
h1,h2,h3{font-family:var(--font-heading);font-weight:700;color:var(--navy);margin:0}
p{margin:0 0 1em}
a{color:var(--copper-deep);text-underline-offset:.18em}
a:hover{color:var(--navy)}
:focus-visible{outline:3px solid var(--copper-deep);outline-offset:3px}
.on-navy :focus-visible,.site-footer :focus-visible{outline-color:var(--sand)}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.skip{position:absolute;left:var(--gutter);top:-4rem;background:var(--navy);color:var(--cream);padding:.6rem 1rem;z-index:10}
.skip:focus{top:.5rem}

/* header */
.site-header{background:var(--cream);border-bottom:1px solid var(--sand)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;padding-bottom:12px}
.brand img{display:block;width:190px;height:auto}
.nav{display:flex;gap:4px}
.nav a{white-space:nowrap;display:inline-block;padding:.55rem .7rem;min-height:44px;line-height:1.7;color:var(--navy);font-weight:600;text-decoration:none;border-bottom:3px solid transparent}
.nav a:hover{border-bottom-color:var(--copper)}
.nav a[aria-current="page"]{border-bottom-color:var(--copper-deep)}

/* buttons: labels use capitals per brand guide */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.7rem 1.3rem;background:var(--copper-deep);color:#fff;font:600 14px/1.2 var(--font-body);letter-spacing:.09em;text-transform:uppercase;text-decoration:none;border:2px solid var(--copper-deep);border-radius:2px}
.btn:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn.ghost:hover{background:var(--navy);color:var(--cream)}
.on-navy .btn.ghost{color:var(--sand);border-color:var(--sand)}
.on-navy .btn.ghost:hover{background:var(--sand);color:var(--navy);border-color:var(--sand)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}

/* hero: the one bold moment */
.hero{background:var(--navy);color:var(--sand);position:relative;padding:48px 0 150px}
.hero-grid{display:grid;gap:32px;grid-template-columns:1fr;align-items:center}
.hero h1{color:var(--cream);font-size:clamp(2rem,4.6vw,3.1rem);line-height:1.14;margin-bottom:.55em}
.hero p.lede{font-size:1.15rem;max-width:34rem;color:var(--sand);margin-bottom:1.6em}
.hero-media video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#0b1626;outline:1px solid rgba(232,220,196,.35);outline-offset:-1px}
.media-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;font-size:.88rem;color:var(--sand)}
.vid-toggle{flex:none;background:transparent;color:var(--sand);border:1.5px solid var(--sand);border-radius:2px;font:600 13px/1 var(--font-body);padding:.5rem .8rem;min-height:36px;cursor:pointer}
.vid-toggle:hover{background:var(--sand);color:var(--navy)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:64px;background:url(/img/waves.svg) repeat-x left bottom;margin-bottom:28px}
.hero::before{content:"";position:absolute;left:0;right:0;bottom:0;height:28px;background:var(--cream)}

/* sections */
section{padding:56px 0}
section.tight{padding:40px 0}
.section-sand{background:var(--sand)}
h2{font-size:1.5rem;line-height:1.3;margin-bottom:.6em}
.wrap.read{max-width:var(--wrap)}
.wrap.read>*{max-width:var(--read)}

.feature{display:grid;gap:28px;grid-template-columns:1fr}
.feature h3{font-size:1.75rem;line-height:1.2;margin-bottom:.3em}
.county{font:600 14px/1.3 var(--font-body);letter-spacing:.09em;text-transform:uppercase;color:var(--copper-deep);margin:0 0 .6em}
.status{display:inline-block;background:var(--navy);color:var(--sand);padding:.2rem .65rem;font-weight:600;font-size:.95rem;border-radius:2px;margin-bottom:1em}
.glance{list-style:none;margin:0 0 1.4em;padding:0;border-top:1px solid var(--sand)}
.glance li{padding:.55rem 0;border-bottom:1px solid var(--sand)}

.points{display:grid;gap:28px;grid-template-columns:1fr}
.points h3{font-size:1.1rem;line-height:1.35;margin-bottom:.35em}

/* listing page */
.crumbs{font-size:.95rem;color:var(--muted);padding-top:20px}
.crumbs a{color:var(--muted)}
.listing-head{padding-top:12px;padding-bottom:32px}
.listing-head h1{font-size:clamp(2rem,5vw,2.4rem);line-height:1.15;margin-bottom:.35em}
.contact-row{margin-top:1.2em}
.quote{font-family:var(--font-heading);font-weight:700;color:var(--navy);font-size:clamp(1.4rem,3.2vw,1.9rem);line-height:1.35;margin:0 0 .5em;max-width:28em}
.quote-by{font-weight:600;margin:0 0 1.2em}
.disclosure{border-left:4px solid var(--copper);padding:.1rem 0 .1rem 1rem;max-width:var(--read)}
.legend{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:0 0 1.4em;font-size:.95rem}
.group{margin-top:40px}
.group:first-of-type{margin-top:0}
.group h3{font-size:1.2rem;margin-bottom:.4em}
dl.facts{margin:0;border-top:2px solid var(--navy)}
.row{display:grid;grid-template-columns:1fr;gap:2px;padding:.8rem 0;border-bottom:1px solid var(--sand)}
dl.facts dt{font-weight:600;color:var(--navy)}
dl.facts dd{margin:0}
dl.facts dd p{margin:0 0 .45em}
dl.facts dd p:last-child{margin-bottom:0}
.note{display:block;font-size:.95rem;color:var(--muted);margin-top:.15rem}
.src{display:inline-block;font:600 13px/1.4 var(--font-body);padding:0 .5rem;border-radius:2px;margin-left:.4rem;white-space:nowrap;vertical-align:.05em}
.src.seen{background:var(--sand);color:var(--navy)}
.src.site{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy)}
.src.board{background:var(--sand);color:var(--navy)}
.legend .src{margin-left:0}
.cta-box{background:var(--sand);padding:24px;max-width:var(--read)}
.cta-box h2{font-size:1.25rem}
.cta-box p:last-child{margin-bottom:0}

/* lounges index */
.entry{display:block;padding:24px 0;border-top:2px solid var(--navy);border-bottom:1px solid var(--sand);text-decoration:none;color:var(--ink)}
.entry h2{margin-bottom:.2em}
.entry:hover h2{color:var(--copper-deep)}

/* footer */
.site-footer{background:var(--navy);color:var(--sand);padding:40px 0 32px;font-size:.95rem}
.site-footer a{color:var(--sand)}
.site-footer a:hover{color:#fff}
.footer-grid{display:grid;gap:24px;grid-template-columns:1fr}
.site-footer img{display:block;width:200px;height:auto}
.site-footer p{margin:0 0 .6em;max-width:36rem}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:.3em}

@media (min-width:720px){
  :root{--gutter:24px}
  .brand img{width:230px}
  .hero{padding:72px 0 170px}
  .hero-grid{grid-template-columns:1fr 1.25fr;gap:48px}
  .feature{grid-template-columns:1.1fr 1fr;gap:56px}
  .points{grid-template-columns:repeat(3,1fr);gap:36px}
  .row{grid-template-columns:12rem 1fr;gap:24px}
  .footer-grid{grid-template-columns:1.4fr 1fr}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.site-header,.site-footer,.hero::after{display:none}}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* photos */
.shot{margin:0}
.shot img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:var(--sand)}
.shot figcaption{font-size:.92rem;color:var(--muted);padding-top:.4rem}
.gallery{display:grid;gap:20px 14px;grid-template-columns:1fr;margin-bottom:.8rem}
.banner{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.banner .shot img{aspect-ratio:2/1;object-position:50% 35%}
@media (min-width:720px){
  .gallery{grid-template-columns:repeat(6,1fr)}
  .gallery .shot{grid-column:span 2}
  .gallery .shot.half{grid-column:span 3}
  .gallery .shot.wide{grid-column:span 4;grid-row:span 2;display:flex;flex-direction:column}
  .gallery .shot.wide img{flex:1;aspect-ratio:auto;min-height:0;height:auto}
}

.clip{margin:0;max-width:52rem}
.clip video{display:block;width:100%;aspect-ratio:16/9;background:#0b1626}
.clip figcaption{font-size:.92rem;color:var(--muted);padding-top:.4rem}

/* visit notes */
.post{padding-top:12px;padding-bottom:56px}
.post>*{max-width:46rem}
.post h1{font-size:clamp(1.9rem,4.6vw,2.4rem);line-height:1.18;margin-bottom:.4em}
.byline{color:var(--muted);margin-bottom:1.4em}
.post-fig{margin-bottom:1.6em}
.prose p{font-size:1.1rem;line-height:1.7;margin-bottom:1.1em}
.nav a{padding-left:.55rem;padding-right:.55rem}

/* unverified listings */
.src.news,.src.tour,.src.dir{background:transparent;color:var(--muted);border:1.5px dashed var(--muted);padding:0 .45rem}
.status.unver{background:var(--cream);color:var(--copper-deep);box-shadow:inset 0 0 0 2px var(--copper-deep)}
.unver-box{border-left:4px solid var(--copper-deep);background:var(--sand);padding:1rem 1.2rem;max-width:var(--read)}
.unver-box p{margin:0 0 .7em}
.unver-box p:last-child{margin-bottom:0}
ul.gaps{margin:0;padding-left:1.2rem;max-width:var(--read)}
ul.gaps li{margin-bottom:.4em}
.county-head{font-size:1.15rem;margin:1.8em 0 .5em;color:var(--navy)}
.flag{display:inline-block;vertical-align:.18em;margin-left:.5rem;font:600 12px/1.6 var(--font-body);color:var(--copper-deep);box-shadow:inset 0 0 0 1.5px var(--copper-deep);padding:0 .45rem;border-radius:2px}

/* verification form */
form.verify{margin-top:2rem;max-width:var(--read)}
form.verify fieldset{border:0;margin:0;padding:0;min-width:0}
fieldset.step{border-top:2px solid var(--navy);padding-top:1rem;margin-top:2rem}
fieldset.step>legend{font-family:var(--font-heading);font-weight:700;color:var(--navy);font-size:1.25rem;padding:0;margin-bottom:.4rem}
.field{margin:0 0 1.1rem}
.field>label,.group-field>legend{display:block;font-weight:600;color:var(--navy);margin-bottom:.2rem;padding:0}
.hint{display:block;font-size:.95rem;color:var(--muted);margin-bottom:.35rem}
.req{font-weight:400;color:var(--muted);font-size:.92rem}
form.verify input[type=text],form.verify input[type=email],form.verify input[type=tel],form.verify input[type=url],form.verify select,form.verify textarea{display:block;width:100%;min-height:46px;padding:.55rem .7rem;font:400 16px/1.4 var(--font-body);color:var(--ink);background:#fff;border:1.5px solid var(--navy);border-radius:2px}
form.verify textarea{min-height:92px;resize:vertical}
form.verify select{appearance:auto}
.check{display:flex;gap:.6rem;align-items:flex-start;min-height:44px;padding:.35rem 0;font-weight:400;color:var(--ink)}
.check input{flex:none;width:22px;height:22px;margin:.15rem 0 0;accent-color:var(--copper-deep)}
.check.auth{margin-top:.4rem}
h3.sub{font-size:1.05rem;margin:1.6rem 0 .6rem;padding-top:.2rem}
.compare{margin:0 0 1.1rem}
.submit-row{margin-top:2rem}
.submit-row .btn{cursor:pointer}
ol.next{margin:.4rem 0 0;padding-left:1.3rem}
ol.next li{margin-bottom:.3em}
form.verify fieldset.step{border-top:2px solid var(--navy);padding-top:1rem;margin-top:2.2rem}
form.verify fieldset.step>legend{font-family:var(--font-heading);font-weight:700;color:var(--navy);font-size:1.25rem;padding:0;margin-bottom:.4rem}
form.verify .field>label.check,form.verify label.check{display:flex;font-weight:400;color:var(--ink);margin-bottom:0}
form.verify fieldset.group-field{margin:0 0 1.1rem;padding:0}
form.verify fieldset.group-field>legend.sr-only{position:absolute}
form.verify fieldset.step>legend{float:left;width:100%;margin:0 0 .5rem}
form.verify fieldset.step>legend+*{clear:both}
