
:root{--ink:#0d1b2a;--ink2:#1b2a41;--sand:#fbf6ee;--paper:#fffdf9;--gold:#f4b942;--coral:#ff6b4a;--teal:#14b8a6;--purple:#7c3aed;--sun:#ffd23f;--sky:#38bdf8;--muted:#5b6475;--line:#e8e1d5;
--r:18px;--shadow:0 10px 30px rgba(13,27,42,.12);--serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.6;font-size:17px;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:#0b6e63}a:hover{color:var(--coral)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--ink);padding:.6rem 1rem;z-index:100}.skip:focus{left:1rem}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
h1,h2,h3{line-height:1.15;margin:0 0 .6em}
h2{font-family:var(--serif);font-size:clamp(1.9rem,4.5vw,3rem);letter-spacing:-.01em}
h3{font-size:1.15rem}
section{padding:64px 0}
.top{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:16px;padding:10px 20px;background:rgba(13,27,42,.92);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);color:#fff}
.brand{color:#fff;text-decoration:none;font-family:var(--serif);font-weight:700;font-size:1.15rem;white-space:nowrap}
.brand .spark{color:var(--gold)}
.top nav{display:flex;gap:18px;margin-left:auto}
.top nav a{color:#dfe6f0;text-decoration:none;font-size:.95rem}.top nav a:hover{color:var(--gold)}
.btn{display:inline-block;background:linear-gradient(135deg,var(--gold),#ff9a3c);color:var(--ink);font-weight:800;text-decoration:none;padding:14px 26px;border-radius:999px;box-shadow:0 8px 22px rgba(244,185,66,.35);transition:transform .15s ease,box-shadow .15s ease;letter-spacing:.01em}
.btn:hover{transform:translateY(-2px);color:var(--ink);box-shadow:0 12px 28px rgba(244,185,66,.5)}
.btn-sm{padding:9px 18px;font-size:.92rem;box-shadow:none}
.btn.ghost{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.6);box-shadow:none}
.btn.ghost:hover{background:rgba(255,255,255,.22);color:#fff}
.hero{position:relative;min-height:min(88vh,820px);padding:0;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--ink)}
.slides,.slide{position:absolute;inset:0;margin:0}
.slide img{width:100%;height:100%;object-fit:cover}
.slide{opacity:0;animation:fade 36s infinite}
.slide.s0{opacity:1}
.s0{animation-delay:0s}.s1{animation-delay:6s}.s2{animation-delay:12s}.s3{animation-delay:18s}.s4{animation-delay:24s}.s5{animation-delay:30s}
@keyframes fade{0%{opacity:0;transform:scale(1.04)}3%{opacity:1}17%{opacity:1}20%{opacity:0;transform:scale(1.1)}100%{opacity:0}}
.slide.s0{animation-name:fade0}
@keyframes fade0{0%{opacity:1;transform:scale(1.04)}17%{opacity:1}20%{opacity:0;transform:scale(1.1)}97%{opacity:0}100%{opacity:1}}
@media (prefers-reduced-motion:reduce){.slide{animation:none}.slide:not(.s0){display:none}}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,27,42,0) 0%,rgba(13,27,42,.05) 40%,rgba(13,27,42,.78) 100%)}
.eyebrow,.lede{text-shadow:0 2px 12px rgba(0,0,0,.55)}
.hero-copy{position:relative;max-width:1180px;margin:0 auto;padding:0 20px 64px;width:100%}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:var(--gold);margin:0 0 .6rem}
.hero h1{font-family:var(--serif);font-size:clamp(2.8rem,9vw,6.2rem);letter-spacing:-.02em;margin:0 0 .25em;text-shadow:0 4px 30px rgba(0,0,0,.35)}
.lede{font-size:clamp(1.05rem,2.4vw,1.35rem);max-width:640px;margin:0 0 1.6rem;color:#f2f5f9}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}.cta-row.center{justify-content:center}
.facts{background:var(--ink);color:#fff;padding:26px 0 30px}
.facts ul{list-style:none;margin:0 auto;padding:0 20px;max-width:1180px;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;text-align:center}
.facts li strong{display:block;font-family:var(--serif);font-size:clamp(1.6rem,4vw,2.4rem);color:var(--gold);line-height:1.1}
.facts li span{font-size:.85rem;color:#c9d3e0;text-transform:uppercase;letter-spacing:.08em}
.ratings{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin:18px 20px 4px}
.ratings a{color:#fff;text-decoration:none;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);padding:6px 14px;border-radius:999px;font-size:.92rem}
.ratings a:hover{background:rgba(255,255,255,.16);color:var(--gold)}
.facts .fine{text-align:center;color:#9fb0c4;margin:6px 20px 0}
.fine{font-size:.82rem;color:var(--muted)}
.intro{max-width:820px}.intro p{font-size:1.08rem}
.highlights{padding-top:24px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);transition:transform .2s ease}
.card:hover{transform:translateY(-4px)}
.card img{aspect-ratio:3/2;object-fit:cover;width:100%}
.card div{padding:18px 20px 22px}.card p{margin:0;color:var(--muted)}
.card h3{font-family:var(--serif);font-size:1.3rem}
.gallery-sec{background:var(--sand)}.sub{color:var(--muted);margin-top:-.4em}
.gallery{display:grid;grid-auto-flow:dense;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:8px;padding:0 8px;max-width:1500px;margin:0 auto}
.gallery a{position:relative;overflow:hidden;border-radius:10px;display:block}
.gallery a.wide{grid-column:span 2;grid-row:span 2}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gallery a:hover img{transform:scale(1.05)}
.tour{display:grid;grid-template-columns:1.25fr 1fr;gap:34px;align-items:center;margin:0 0 56px}
.tour:nth-of-type(even){grid-template-columns:1fr 1.25fr}
.tour:nth-of-type(even) .tour-img{order:2}
.tour-img{display:grid;gap:8px;grid-template-columns:1fr 1fr}
.tour-img img{border-radius:12px;width:100%;height:100%;object-fit:cover;aspect-ratio:3/2}
.tour-img img:first-child{grid-column:span 2}
.tour-img.n4 img:first-child{grid-column:span 1}.tour-img.n4{grid-template-columns:1fr 1fr}
.tour-img.n2 img{grid-column:span 1}.tour-img.n2 img:first-child{grid-column:span 1}
.tour-text h3{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2rem)}
.ticks{padding:0;list-style:none}.ticks li{padding-left:1.6em;position:relative;margin:.5em 0}
.ticks li::before{content:"✦";position:absolute;left:0;color:var(--coral)}
.beds{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow)}
.beds h3{font-family:var(--serif);font-size:1.6rem}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:.96rem}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
tbody th{white-space:nowrap}
.drive tbody th{white-space:normal}
caption{text-align:left;color:var(--muted);font-size:.88rem;padding-bottom:8px}
.plan{margin:24px 0 0}.plan img{border-radius:12px;border:1px solid var(--line)}.plan figcaption{color:var(--muted);font-size:.88rem;margin-top:6px}
.amen-sec{background:var(--ink);color:#fff}
.amen-sec h2{color:#fff}
.amen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.amen{background:var(--ink2);border-radius:var(--r);padding:22px 22px 12px;border:1px solid rgba(255,255,255,.08)}
.amen h3{color:var(--gold);font-size:1rem;text-transform:uppercase;letter-spacing:.1em}
.amen ul{list-style:none;padding:0;margin:0}.amen li{padding:7px 0;border-top:1px solid rgba(255,255,255,.08);color:#e4eaf2;font-size:.96rem}
.amen li:first-child{border-top:0}
.drive td:nth-child(3){font-weight:700;color:#0b6e63;white-space:nowrap}
.drive td:nth-child(2){white-space:nowrap}
.maplink{font-weight:700}
.rules{background:var(--sand);max-width:none}.rules>*{max-width:820px;margin-left:auto;margin-right:auto}
.faq{max-width:860px}
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{cursor:pointer;list-style:none;padding:16px 36px 16px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{margin:0;font-size:1.08rem;display:inline}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:1.6rem;color:var(--coral);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 18px;color:#2e3a4d}
.book{background:radial-gradient(1200px 400px at 50% 0%,#24476b 0%,var(--ink) 70%);color:#fff;text-align:center}
.book h2{color:#fff}.book a{color:var(--gold)}.book .btn{color:var(--ink)}
.also{margin-top:18px;color:#c9d3e0}
.foot{background:#08121d;color:#c9d3e0;padding:30px 0 90px;font-size:.92rem}.foot a{color:#fff}.foot .fine{color:#93a3b8}
.sticky-book{position:fixed;left:16px;right:16px;bottom:max(14px,env(safe-area-inset-bottom));text-align:center;z-index:60;display:none;opacity:0;transform:translateY(120%);transition:opacity .25s,transform .25s;pointer-events:none}
.sticky-book.on{opacity:1;transform:none;pointer-events:auto}
.lb{position:fixed;inset:0;background:rgba(5,10,18,.94);z-index:200;display:flex;align-items:center;justify-content:center}
.lb[hidden]{display:none}
.lb figure{margin:0;max-width:94vw;max-height:88vh;text-align:center}
.lb img{max-width:94vw;max-height:80vh;width:auto;height:auto;margin:0 auto;border-radius:8px}
.lb figcaption{color:#e4eaf2;margin-top:10px;font-size:.95rem}
.lb button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:2rem;line-height:1;cursor:pointer}
.lb-x{top:16px;right:16px}.lb-prev{left:12px;top:50%}.lb-next{right:12px;top:50%}
@media (max-width:900px){
 .top nav{display:none}.top .btn-sm{margin-left:auto}
 .cards{grid-template-columns:1fr 1fr}
 .tour,.tour:nth-of-type(even){grid-template-columns:1fr;gap:18px}
 .tour:nth-of-type(even) .tour-img{order:0}
 .facts ul{grid-template-columns:repeat(3,1fr);row-gap:18px}
 .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
}
@media (max-width:600px){
 body{font-size:16px}
 section{padding:48px 0}
 .cards{grid-template-columns:1fr}
 .hero{min-height:86vh}
 .hero-copy{padding-bottom:44px}
 .hero .cta-row .btn{flex:1 1 auto;text-align:center}
 .sticky-book{display:block}
 .beds{padding:18px 14px}
 th,td{padding:9px 8px}
 .drive{font-size:.9rem}
 .eyebrow{font-size:.72rem;letter-spacing:.1em}
 .brand{font-size:1.02rem}
}

.slide picture{display:block;width:100%;height:100%}
.hero h1{font-size:clamp(2.1rem,6vw,4.4rem);max-width:15ch}
.hero h1 .kicker{display:block;font-family:var(--sans);font-size:clamp(.95rem,2vw,1.15rem);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sun);margin-bottom:.5em;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.eyebrow{color:#fff;opacity:.95}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.center{text-align:center}
.proof{padding:40px 20px 24px}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.quote{margin:0;background:#fff;border-radius:var(--r);padding:20px 22px;box-shadow:var(--shadow);border-top:5px solid var(--teal)}
.quote:nth-child(2){border-top-color:var(--purple)}.quote:nth-child(3){border-top-color:var(--sun)}
.quote blockquote{margin:0 0 .6em;font-family:var(--serif);font-size:1.15rem;line-height:1.4}
.quote figcaption{font-size:.85rem;color:var(--muted);font-weight:600}
.quotes.on-dark{margin:28px 0 8px;text-align:left}.quotes.on-dark .quote{background:rgba(255,255,255,.08);box-shadow:none;color:#fff}.quotes.on-dark figcaption{color:#c9d3e0}
.video-sec{background:linear-gradient(135deg,#0d1b2a,#2a1b5c);color:#fff}
.video-sec p{color:#e6ebf3;max-width:760px}.video-sec a{color:var(--sun)}
.vframe{position:relative;aspect-ratio:16/9;width:100%;border-radius:var(--r);overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.35);background:#000;margin:18px 0 12px}
.vframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-sec .fine{color:#c9d3e0}
.standout{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:18px;margin-bottom:34px}
.standout figure{margin:0;position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);background:var(--ink)}
.standout .big{grid-row:1 / span 2}
.standout img{width:100%;height:100%;object-fit:cover}
.standout figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 14px;color:#fff;background:linear-gradient(180deg,rgba(13,27,42,0),rgba(13,27,42,.85));font-size:.95rem}
.standout figcaption strong{display:block;font-size:1.15rem;color:var(--sun)}
.standout .big figcaption{font-size:1.05rem}.standout .big figcaption strong{font-size:1.5rem}
h3.sub{font-family:var(--serif);font-size:1.5rem;margin:0 0 16px}
.cards.one{grid-template-columns:1fr;max-width:620px;margin:28px auto 0}
.diff{columns:2;column-gap:40px;padding-left:1.2em;margin:0 0 20px}.diff li{margin:0 0 .45em;break-inside:avoid}
.diff li::marker{color:var(--teal)}
.all-amen{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:0}
.all-amen summary{cursor:pointer;padding:16px 20px;font-weight:800;list-style:none}
.all-amen summary::before{content:"+ ";color:var(--teal)}
.all-amen[open] summary::before{content:"– "}
.all-amen .amen-grid{padding:0 20px 20px}
.book .call{margin:14px 0 0;color:#e6ebf3}.book .call a{color:var(--sun);font-weight:800}
.btn{background:linear-gradient(135deg,var(--sun),#ff9a3c)}
@media (max-width:700px){
 .quotes{grid-template-columns:1fr;gap:12px}
 .proof{padding:28px 16px 12px}
 .standout{grid-template-columns:1fr;grid-template-rows:auto}
 .standout .big{grid-row:auto}
 .standout figure{aspect-ratio:4/3}
 .diff{columns:1}
 .hero h1{font-size:2.2rem}
 .hero .cta-row .btn{font-size:.95rem;padding:13px 16px}
}

.vsub{color:#fff;margin-top:30px}
