/* High Vibe Vacay design layer (Oct 24 2026). Loaded after styles.css.
   A = Editorial Light (default): ivory, Cormorant Garamond display, Montserrat UI.
   B = Twilight Glow (?design=b): Montserrat only, floating pill nav, twilight sections, glow.
   Type scale: 12 · 14 · 17 · 20 · 24 · 32 · 44 · 60 · 84. Fonts self-hosted (SIL OFL 1.1). */
:root{--bg:#FBF8F3;--sand:#F3ECE3;--ink:#2A2421;--ink2:#4F4640;--muted:#6E645D;--line:#E6DDD2;--blush:#F6DCE0;--rose:#C9707F;--gold:#F6CF6E;--accent:#9A7322;--twi:#1E1A2B;--twi2:#2A2440;
--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;--display:var(--serif);--script:"Sacramento",cursive;
--t12:12px;--t14:14px;--t17:17px;--t20:20px;--t24:24px;--t32:32px;--t44:44px;--t60:60px;--t84:84px;--r:6px;--rc:4px;--headh:72px;--wrap:1240px;
--calm:none}
html[data-design=b]{--display:var(--sans);--r:22px;--rc:18px;--bg:#FBF8F3}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--t17);line-height:1.7;font-weight:400;letter-spacing:.005em}
.wrap{padding:0 clamp(20px,4vw,40px)}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.005em;color:inherit}
html[data-design=a] h1,html[data-design=a] h2{font-weight:300}
h1{font-size:clamp(var(--t44),5.6vw,var(--t84));line-height:1.02}
h2{font-size:clamp(var(--t32),3.4vw,var(--t44));line-height:1.1}
h3{font-size:var(--t24);line-height:1.2}
html[data-design=b] h1,html[data-design=b] h2{font-weight:500;letter-spacing:-.02em}
html[data-design=b] h1{font-size:clamp(40px,5vw,var(--t60))}html[data-design=b] h2{font-size:clamp(28px,3vw,40px)}html[data-design=b] h3{font-size:var(--t20);font-weight:600}
h1 em,h2 em,.statement em{font-style:italic;color:var(--accent)}
html[data-design=b] h1 em,html[data-design=b] h2 em{font-style:normal;background:linear-gradient(90deg,#C9707F,#D9A441);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero h1 em,.phero h1 em,.nl-hero h1 em,.nl-band h2 em,.post-cta h2 em{color:#F6E3B8}
.eyebrow,.kicker,.mono,.mono-h,.flabel,.dmeta{font-family:var(--sans);font-size:var(--t12);font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.mono-h{margin:0 0 12px;line-height:1.4}
html[data-design] h2.mono-h,html[data-design] h3.mono-h{font-family:var(--sans);font-size:var(--t12);font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.lede{font-size:var(--t20);line-height:1.6;color:var(--ink2);max-width:62ch;font-weight:300}
.small{font-size:var(--t14)}.muted{color:var(--muted)}
p,li{max-width:72ch}
.prose{font-size:var(--t17);line-height:1.75}.prose p,.prose li{max-width:68ch}
.prose h2{font-size:var(--t32);margin-top:1.8em}.prose h3{font-size:var(--t24)}
/* header */
.draft{background:var(--ink);font-family:var(--sans);font-size:var(--t12);letter-spacing:.06em}
.site-head{background:rgba(251,248,243,.9)}
.head-row{height:var(--headh);gap:24px}
.brand{font-family:var(--sans);font-size:15px;font-weight:400;letter-spacing:.32em;text-transform:uppercase}
.brand-s{font-family:var(--script);text-transform:none;letter-spacing:0;font-size:28px;color:var(--accent);margin-left:2px;vertical-align:-3px}
.nav{gap:22px}.nav a{font-size:13px;font-weight:500;letter-spacing:.06em;color:var(--ink2)}
.valnav{display:none}
.btn{font-family:var(--sans);font-weight:500;letter-spacing:.04em;font-size:14px}
html[data-design=a] .btn{border-radius:2px}
html[data-design=a] .btn-dark{background:var(--ink)}
html[data-design=b] .site-head{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;box-shadow:none;padding-top:10px}
html[data-design=b] .head-row{background:rgba(255,255,255,.82);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border:1px solid rgba(30,26,43,.08);border-radius:999px;max-width:min(var(--wrap),calc(100% - 24px));height:60px;padding:0 10px 0 24px;box-shadow:0 10px 30px rgba(30,26,43,.08)}
html[data-design=b] .brand-s{color:var(--rose)}
@media (max-width:1180px){.nav{display:none}}
/* calm grade on every photo (CSS only; files untouched) */
.dcard-img,.vptile-img,.pg-img,.bcard-img,.xcard-img,.ccard-img,.hero-img,.phero-img,.nf-img,.post-fig-img,.pl-media img{filter:var(--calm)}
/* photo credit behind an (i) */
.ph-cr{position:absolute;top:10px;right:10px;left:10px;z-index:4;font-size:var(--t12);line-height:1.45;pointer-events:none;display:flex;flex-direction:column;align-items:flex-end}
.ph-cr summary,.ph-cr p{pointer-events:auto}
.ph-cr summary{list-style:none;cursor:pointer;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.88);color:var(--ink);display:grid;place-items:center;font:italic 600 13px/1 Georgia,serif}
.ph-cr summary::-webkit-details-marker{display:none}
.ph-cr p{margin:6px 0 0;max-width:100%;overflow-wrap:anywhere;background:#fff;color:var(--ink2);padding:10px 12px;border-radius:6px;box-shadow:0 10px 30px rgba(0,0,0,.14)}
.ph-cr a{color:inherit}
/* value tiles: 3 across, portrait, quiet */
.vptiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.vptile-link{aspect-ratio:4/5;border-radius:var(--rc)}
html[data-design=a] .vptile-link{color:var(--ink);background:none;overflow:visible;aspect-ratio:auto}
html[data-design=a] .vptile-img{position:static;aspect-ratio:4/5;height:auto;border-radius:var(--rc)}
html[data-design=a] .vptile-link:after{display:none}
html[data-design=a] .vptile-text{position:static;padding:16px 0 0;gap:4px}
.vptile-name{font-family:var(--display);font-size:var(--t24);line-height:1.15}
html[data-design=a] .vptile-name{font-size:28px;font-weight:400}
.vptile-line{font-size:var(--t14);color:inherit;opacity:.85}
.vptile .more{font-size:var(--t12);letter-spacing:.18em;text-transform:uppercase;margin-top:6px;opacity:.75;text-decoration:underline;text-underline-offset:4px}
html[data-design=b] .vptile-link:after{background:linear-gradient(180deg,rgba(30,26,43,0) 45%,rgba(30,26,43,.72) 100%)}
.tile-credit{display:none}
@media (max-width:900px){.vptiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}html[data-design=a] .vptile-name{font-size:var(--t24)}}
@media (max-width:520px){.vptiles{grid-template-columns:1fr 1fr;gap:14px}.vptile-line{display:none}html[data-design=a] .vptile-name{font-size:20px}.vptile-link{aspect-ratio:4/5}}
/* sections in B */
html[data-design=b] .section.sand,html[data-design=b] .nl-band,html[data-design=b] .site-foot,html[data-design=b] .dir-top{background:radial-gradient(60% 80% at 80% 0%,rgba(255,230,184,.22),transparent 60%),var(--twi);color:#EDE7F5}
html[data-design=b] .section.sand .lede,html[data-design=b] .dir-top .small,html[data-design=b] .section.sand .eyebrow,html[data-design=b] .dir-top .mono{color:#C9C1D8}
html[data-design=b] .section.sand .link-arrow{color:#fff}
/* ---------- directory ---------- */
.dir-top{padding:56px 0 36px;border-bottom:1px solid var(--line)}
.dir-count{display:flex;align-items:center;gap:10px;margin:0 0 16px;flex-wrap:wrap}.dir-count strong{color:var(--ink);font-weight:600}
html[data-design=b] .dir-top .dir-count strong{color:#fff}
.live-dot{width:8px;height:8px;border-radius:50%;background:#5E9E6E;box-shadow:0 0 0 4px rgba(94,158,110,.18)}
.dir-h1{margin:0 0 14px;max-width:24ch;font-size:clamp(36px,4vw,var(--t60))!important}
.dir-sources{color:var(--muted);max-width:90ch;margin:0}
.dir{display:grid;grid-template-columns:250px minmax(0,1fr);gap:44px;padding-top:32px;padding-bottom:64px;align-items:start}
.dir-side{position:sticky;top:calc(var(--headh) + 16px);max-height:calc(100vh - var(--headh) - 32px);overflow:auto;padding-right:6px;scrollbar-width:thin}
.dfacets summary{display:none}
.fgroup{margin:0 0 22px}.fgroup ul{list-style:none;margin:0;padding:0}
.flabel{margin:0 0 8px}.fnote{text-transform:none;letter-spacing:0;font-weight:400}
.fbtn{width:100%;display:flex;justify-content:space-between;gap:10px;align-items:center;text-align:left;background:none;border:0;border-radius:4px;padding:6px 8px;font:400 var(--t14)/1.35 var(--sans);color:var(--ink2);cursor:pointer}
.fbtn:hover{background:var(--sand);color:var(--ink)}
.fbtn[aria-pressed=true]{background:var(--blush);color:var(--ink);font-weight:500}
.fn{font-size:var(--t12);color:var(--muted);font-variant-numeric:tabular-nums}
.freset,.linkbtn{background:none;border:0;padding:4px 8px;font:500 var(--t12)/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.side-box{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}
.dir-bar{position:sticky;top:var(--headh);z-index:20;background:var(--bg);display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
html[data-design=b] .dir-bar{top:72px}
.dsearch{flex:1 1 280px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:0 16px;height:46px}
.dsearch svg{width:18px;height:18px;color:var(--muted);flex:none}
.dsearch input{border:0;outline:0;background:none;font:400 15px var(--sans);width:100%;color:var(--ink)}
.dsearch:focus-within{border-color:var(--ink)}
.dir-tabs{display:flex;gap:4px}
.dtab{background:none;border:0;border-bottom:2px solid transparent;padding:8px 10px;font:500 var(--t14) var(--sans);color:var(--muted);cursor:pointer;white-space:nowrap}
.dtab[aria-selected=true]{color:var(--ink);border-color:var(--ink)}
.dir-tools{display:flex;gap:10px;align-items:center;margin-left:auto}
.dsort select{font:500 var(--t14) var(--sans);border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;color:var(--ink)}
.dview{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.dview button{background:#fff;border:0;padding:9px 14px;font:500 var(--t14) var(--sans);color:var(--muted);cursor:pointer}
.dview button[aria-pressed=true]{background:var(--ink);color:#fff}
.dir-status{color:var(--muted);margin:14px 0 4px}.dir-note{margin:0 0 8px;color:var(--ink2)}
.newfeed{margin:18px 0 30px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.nf-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}.nf-head p{margin:0;color:var(--muted)}
.nf-list{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 22px}
.nf-item a{display:flex;gap:12px;align-items:center;text-decoration:none}
.nf-img{width:64px;height:64px;object-fit:cover;border-radius:4px;flex:none}
.nf-t{display:flex;flex-direction:column;min-width:0;line-height:1.35}
.nf-date{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:500}
.nf-name{font-weight:500;font-size:var(--t14);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nf-where{font-size:var(--t12);color:var(--muted)}
.nf-item a:hover .nf-name{text-decoration:underline}
.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:40px 26px}
.dgrid-3,.pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
.dcard{display:flex;flex-direction:column;min-width:0;background:transparent}
.dcard[hidden]{display:none}
.dcard-media{position:relative;aspect-ratio:4/3;border-radius:var(--rc);overflow:hidden;background:var(--sand)}
.dcard-media>a{display:block;height:100%}
.dcard-img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.dcard:hover .dcard-img{transform:scale(1.035)}
.dcard-body{padding:16px 2px 0;display:flex;flex-direction:column;gap:6px;flex:1}
.dmeta{margin:0;font-size:11px;letter-spacing:.16em;line-height:1.5}
.dtitle{margin:0;font-size:22px;line-height:1.22}
html[data-design=b] .dtitle{font-size:19px;line-height:1.3}
.dtitle a{text-decoration:none}.dtitle a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.dname{margin:0;font-size:var(--t14);font-weight:500;color:var(--ink2)}
.dsum{margin:2px 0 0;font-size:15px;line-height:1.6;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tags{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.tag{font-size:11.5px;line-height:1;padding:6px 9px;border-radius:999px;background:var(--sand);color:var(--ink2);white-space:nowrap}
.tag-r{background:var(--blush)}.tag-c{background:transparent;border:1px solid var(--line)}.tag-g{background:transparent;color:var(--muted);padding-left:2px}
.dsrc{margin:4px 0 0;display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:var(--t12);color:var(--muted)}
.src-chip{font-size:var(--t12);color:var(--muted);text-decoration:none;border-bottom:1px dotted var(--muted)}
.src-chip:before{content:"Source · ";letter-spacing:.06em}
.dact{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:10px}
.dbtn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font:500 13px/1 var(--sans);color:var(--ink);cursor:pointer;text-decoration:none}
.dbtn svg{width:15px;height:15px}
.dbtn:hover{border-color:var(--ink)}
.dbtn-plan{background:var(--ink);color:#fff;border-color:var(--ink)}
.dbtn[aria-pressed=true]{background:var(--blush);border-color:var(--rose)}
.dbtn[aria-pressed=true] svg path{fill:currentColor}
.dbtn[disabled]{opacity:.45;cursor:not-allowed}
.dcmp{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--muted);margin-left:auto;cursor:pointer}
.dcmp input{accent-color:var(--ink)}
.dact-lg .dbtn{padding:11px 18px;font-size:14px}
.dir-empty{padding:40px 0;color:var(--muted)}
.dir-qa{margin-top:64px;padding-top:32px;border-top:1px solid var(--line)}.dir-qa h2{font-size:var(--t32)}
.dmap{margin:8px 0 28px}.dmap-svg{width:100%;height:auto;background:#F7F2EB;border-radius:var(--rc)}
.dmap .land{fill:#E7DED2;stroke:#fff;stroke-width:.6}
.mdot circle{fill:var(--rose);stroke:#fff;stroke-width:1.5;transition:r .15s}
.mdot:hover circle,.mdot:focus circle{r:8;fill:var(--ink)}
.mdot.off{display:none}
.ctray{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ink);color:#fff;padding:12px 0}
.ctray-in{display:flex;gap:14px;justify-content:space-between;align-items:center;flex-wrap:wrap}.ctray p{margin:0;font-size:var(--t14)}
.ctray .dbtn{color:#fff;border-color:rgba(255,255,255,.4)}.ctray .dbtn-plan{background:#fff;color:var(--ink)}
.cmp{border:0;border-radius:10px;padding:0;width:min(1000px,96vw);max-height:90vh}
.cmp::backdrop{background:rgba(30,26,43,.5)}
.cmp-in{padding:24px}.cmp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cmp-head h2{margin:0;font-size:var(--t32)}
.cmp-body{overflow-x:auto}
.cmp table{width:100%;border-collapse:collapse;font-size:var(--t14);min-width:560px}
.cmp th,.cmp td{border-bottom:1px solid var(--line);padding:10px;vertical-align:top;text-align:left}
.cmp thead img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;margin-bottom:6px;filter:var(--calm)}
.toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px;font-size:var(--t14);z-index:70}
.dswitch{position:fixed;left:14px;bottom:14px;z-index:55;display:flex;gap:4px;align-items:center;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:999px;padding:4px 6px 4px 12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);box-shadow:0 6px 18px rgba(0,0,0,.06)}
.dswitch a{text-decoration:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:var(--ink);font-weight:600}
html[data-design=a] .dswitch a[data-design-link=a],html[data-design=b] .dswitch a[data-design-link=b]{background:var(--ink);color:#fff}
@media (max-width:1000px){
 .dir{grid-template-columns:minmax(0,1fr);gap:0;padding-top:0}.dir>*{min-width:0}
 .dir-side{position:sticky;top:var(--headh);z-index:25;max-height:none;overflow:visible;background:var(--bg);padding:10px 0;margin:0 calc(-1*clamp(20px,4vw,40px));padding-left:clamp(20px,4vw,40px);padding-right:clamp(20px,4vw,40px);border-bottom:1px solid var(--line)}
 .dfacets summary{display:flex;justify-content:space-between;align-items:center;list-style:none;cursor:pointer;font:500 var(--t14) var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:8px 0}
 .dfacets summary::-webkit-details-marker{display:none}
 .dfacets summary:after{content:"+";font-size:20px}.dfacets[open] summary:after{content:"–"}
 .dfacets[open]{max-height:70vh;overflow:auto;padding-bottom:8px}
 .fgroup ul{display:flex;flex-wrap:wrap;gap:6px}.fbtn{width:auto;border:1px solid var(--line);border-radius:999px;padding:6px 12px}
 .side-box{display:none}
 .dir-bar{position:static}
 .nf-list{grid-template-columns:repeat(2,minmax(0,1fr))}.nf-item,.nf-item a{min-width:0}
 .dgrid-3,.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
 .dir-top{padding:32px 0 22px}.dir-h1{font-size:40px}
 .dir-tools{margin-left:0;width:100%;justify-content:space-between}.dir-tabs{width:100%;overflow-x:auto}
 .nf-list{grid-template-columns:minmax(0,1fr)}
 .dgrid,.dgrid-3,.pgrid{grid-template-columns:1fr;gap:32px}
 .dcmp{display:none}
 .dswitch{bottom:84px}
}
/* topics */
.topic-head{padding-top:48px}.topic-qa{padding-top:8px;padding-bottom:8px}.topic-qa h2{font-size:var(--t32)}
.topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-bottom:72px}
.tlist{list-style:none;margin:0;padding:0}.tlist a{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none}
.tlist a:hover span:first-child{text-decoration:underline}
@media (max-width:800px){.topics{grid-template-columns:1fr}}
.crumbs-dark,.crumbs-dark a{color:var(--muted);font-size:var(--t14)}
/* place page */
.place-head{padding-top:36px;padding-bottom:20px}
.place-h1{margin:6px 0 8px;font-size:clamp(40px,5vw,var(--t60))}
.place-promise{font-size:var(--t20);font-weight:300;color:var(--ink2);margin:0 0 12px}
.pgal{display:grid;gap:8px;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:minmax(0,1fr);height:min(62vh,560px);margin-top:8px}
.pg-f{margin:0;overflow:hidden;border-radius:var(--rc);background:var(--sand);min-width:0;min-height:0}
.pg-img{width:100%;height:100%;object-fit:cover}
.pgal-1{grid-template-columns:1fr}.pgal-2{grid-template-columns:2fr 1fr}
.pgal-3 .pg-f0{grid-row:span 2}.pgal-3{grid-template-columns:2fr 1fr}
.pgal-4 .pg-f0,.pgal-5 .pg-f0{grid-row:span 2}.pgal-4 .pg-f3{grid-column:span 2}
.pcred{margin-top:8px;font-size:var(--t12);color:var(--muted)}.pcred summary{cursor:pointer}.pcred ul{padding-left:18px}
@media (max-width:800px){.pgal{grid-template-columns:1fr 1fr;height:auto}.pgal .pg-f0{grid-column:span 2;grid-row:auto;aspect-ratio:4/3}.pgal .pg-f:not(.pg-f0){aspect-ratio:1}.pgal-4 .pg-f3{grid-column:auto}.pgal-2 .pg-f1{grid-column:span 2;aspect-ratio:16/9}.pgal-4 .pg-f3:last-child{grid-column:span 2;aspect-ratio:16/9}}
.place-detail{padding-top:40px}
.pq{margin:0 0 36px}.pq h2{font-size:var(--t32);margin:0 0 10px}
html[data-design=b] .pq h2{font-size:24px}
.h-xs{font-family:var(--sans);font-size:var(--t14);font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin:18px 0 6px}
.pq .hv-rituals .small,.pq .hv-energy p{font-size:var(--t14)}
.scard{border:1px solid var(--line);border-radius:var(--rc);padding:20px;margin-bottom:22px;background:#fff}
.svals{list-style:none;margin:0 0 10px;padding:0}.svals li{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--line);font-size:var(--t14)}
.sv-d{display:flex;gap:5px}.sv-d i{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--accent)}.sv-d i.on{background:var(--accent)}
.sv-t{font-size:var(--t12);color:var(--muted)}.sv-t.on{color:var(--ink);font-weight:600}.sv-t.on:before{content:"● ";color:var(--accent)}
.seen-list{padding-left:18px;font-size:var(--t14)}
.detail{grid-template-columns:minmax(0,1fr) 360px}
@media (max-width:1000px){.detail{grid-template-columns:1fr}}
/* FAQ accordion */
.faq details{border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;padding:0;margin:0}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary h2{font-family:var(--display);font-size:var(--t24);line-height:1.3;margin:0;font-weight:400}
html[data-design=b] .faq summary h2{font-size:var(--t20);font-weight:500}
.faq summary::after{content:"+";font:300 28px/1 var(--sans);color:var(--muted);flex:none;transition:transform .25s}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 24px;color:var(--ink2);font-size:var(--t17)}
/* planner fixes: tiles never overflow, even step labels */
.pl>*,.pl-main>*{min-width:0}
.pl-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(170px,100%),1fr))!important;gap:12px}
.pl-tiles{grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr))!important}
.pl-dots{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px!important;margin:0 0 24px;position:relative}
.pl-dots li{flex-direction:column;justify-content:flex-start;gap:6px!important;text-align:center;font-size:11px;letter-spacing:.06em;min-width:0}
.pl-dots li .pl-dot-l{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-main{border-radius:var(--rc)}
html[data-design=a] .pl-h{font-family:var(--serif);font-weight:400;font-size:var(--t32)}
@media (max-width:640px){.pl-dots li .pl-dot-l{font-size:9.5px;letter-spacing:0}}
/* blog, cards, misc */
.bcard h3,.xcard-title,.ccard-place{font-family:var(--display)}
.bcard,.pcard,.xcard-link,.ccard-link,.bcard-media{border-radius:var(--rc)}
.post-toc a{font-size:var(--t14)}
.site-foot{font-size:var(--t14)}.foot-grid{grid-template-columns:2fr 1fr 1fr 1fr}
@media (max-width:800px){.foot-grid{grid-template-columns:1fr 1fr;gap:28px}}@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}
.brand-foot{font-size:15px}
.dir-teaser .dir-count{margin-bottom:6px}
/* reveal (only when JS adds .rv; off under reduced motion) */
html.rv .reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease-out,transform .6s ease-out}
html.rv .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html.rv .reveal{opacity:1;transform:none;transition:none}.dcard-img,.vptile-img{transition:none}.dcard:hover .dcard-img{transform:none}html{scroll-behavior:auto}}
/* mobile menu + header fit */
.mnav{display:none;position:relative}
.mnav summary{list-style:none;cursor:pointer;width:42px;height:42px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;background:var(--bg)}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary span{display:block;width:16px;height:1.5px;background:var(--ink)}
.mnav nav{position:absolute;right:0;top:52px;z-index:70;background:var(--bg);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.08);padding:10px 6px;min-width:220px}
.mnav ul{list-style:none;margin:0;padding:0}.mnav li a{display:block;padding:10px 16px;text-decoration:none;color:var(--ink);font-size:15px}
.mnav li a[aria-current]{color:var(--gold-d,#9A7322)}
.head-row .btn-sm{white-space:nowrap}
@media (max-width:1180px){.mnav{display:block}.head-row{gap:10px}}
@media (max-width:520px){.head-row .btn-sm{padding:10px 14px;font-size:12px}.brand-w{letter-spacing:.2em}}
.dir-count{display:block}.dir-count .live-dot{display:inline-block;vertical-align:middle;margin:-2px 8px 0 0}
/* newsletter + sponsor draft pages */
.nl-form-full{display:flex;flex-direction:column;gap:12px;max-width:520px;margin:0 auto}
.nl-fields{display:flex;gap:8px;flex-wrap:wrap}.nl-fields input{flex:1 1 200px;min-width:0}
.nl-topics{border:0;padding:0;margin:0;display:flex;gap:16px;flex-wrap:wrap;justify-content:center;font-size:14px}
.nl-topics legend{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;width:100%;text-align:center}
.nl-topics label{display:inline-flex;gap:6px;align-items:center}
.nl-fine{font-size:12px;opacity:.85;margin-top:10px}.nl-fine a{color:inherit}
.nl-perks-4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0;list-style:none}
@media (max-width:640px){.nl-perks-4{grid-template-columns:1fr}}
.sp-pks{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.sp-pk{border:1px solid var(--hair,#E6DDD2);border-radius:14px;padding:18px 18px 14px}.sp-pk p{margin:.4em 0}
.sp-rate{font-weight:600;letter-spacing:.02em}
.sp-form fieldset{border:0;padding:0;margin:0}
.sp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
.sp-grid label{display:flex;flex-direction:column;gap:6px;font-size:14px}
.sp-grid input,.sp-grid select,.sp-grid textarea{font:inherit;padding:10px 12px;border:1px solid var(--hair,#E6DDD2);border-radius:10px;background:transparent;color:inherit;min-width:0}
.sp-wide,.sp-check{grid-column:1/-1}.sp-check{flex-direction:row!important;align-items:center}
.req{opacity:.7;font-size:12px}
@media (max-width:640px){.sp-grid{grid-template-columns:1fr}}
/* newsletter full form: override the old pill .nl-form */
.nl-form.nl-form-full{border-radius:14px;padding:16px;margin:28px 0 0;gap:14px;background:rgba(255,255,255,.10)}
.nl-form-full .nl-fields input{border:1px solid rgba(255,255,255,.4);border-radius:8px;padding:12px 14px;min-height:46px;background:rgba(0,0,0,.15)}
.nl-form-full .nl-topics{justify-content:flex-start;color:#fff}
.nl-form-full .nl-topics legend{text-align:left}
.nl-form-full button{border-radius:8px;min-height:46px}
/* A/B preview toggle: hidden unless ?design= was used this session */
html:not(.dsw-on) .dswitch{display:none!important}
/* Home hero matched to the live highvibevacay.com WordPress cover block (read-only reference, Oct 25 2026):
   boxed cover image (alignwide 1200px, min-height 600px), 40% black dim, centered italic DM Serif Display lines in #fafafa,
   one square outline button in Source Sans. Scoped to .whero only; the rest of the site stays on Design A. */
@font-face{font-family:"DM Serif Display";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/DMSerifDisplay-400i-latin.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/SourceSans3-400-latin.woff2) format("woff2")}
.whero{background:#fff;padding:52px 20px 12px}
.whero-box{position:relative;max-width:1200px;margin:0 auto;min-height:600px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:1em 20px 0;box-sizing:border-box}
.whero picture,.whero-img{position:absolute;inset:0;width:100%;height:100%;margin:0}
.whero-img{object-fit:cover;object-position:40% 50%;display:block}
.whero-dim{position:absolute;inset:0;background:#000;opacity:.4}
.whero-inner{position:relative;z-index:1;text-align:center;max-width:1160px;width:100%}
.whero .whero-line{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-style:italic;color:#fafafa;font-size:clamp(2.2rem,2.2rem + ((1vw - .2rem) * 3.273),4rem);line-height:1.2;letter-spacing:normal;margin:0 0 .375em;text-wrap:balance}
.whero .whero-line em,.whero h1 em{font-style:italic;color:inherit;font-family:inherit;font-weight:inherit}
.whero .whero-line,.whero .whero-btns{max-width:none;width:100%;margin-left:auto;margin-right:auto}
.whero-btns{margin:40px 0 0;display:flex;justify-content:center}
.whero .whero-btn{display:inline-block;font-family:"Source Sans 3","Source Sans Pro",-apple-system,"Segoe UI",sans-serif;font-size:18px;font-weight:400;line-height:1.75;letter-spacing:normal;text-transform:none;color:#fafafa;background:transparent;border:2px solid currentColor;border-radius:0;padding:8px 28px;text-decoration:none;transition:background .2s,color .2s}
.whero .whero-btn:hover{background:#fafafa;color:#1a1a1a}
.whero .whero-btn:focus-visible{outline:2px solid #fafafa;outline-offset:3px}
@media (max-width:600px){.whero{padding:40px 20px 8px}.whero-box{min-height:640px;padding:1em 16px 0}}

/* Home awe set (Oct 25, 2026): hero crossfade + full-bleed bands. Reduced motion: slide 1 only, no rotation. */
.whero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}
.whero-slide.on{opacity:1}
.whero-slide .whero-img{object-position:var(--op,50% 50%)}
.whero-box .whero-slide:first-child .whero-img{object-position:40% 50%}
.whero-credit{position:absolute;right:10px;bottom:8px;z-index:2;margin:0;font:12px/1.35 "Source Sans 3",-apple-system,"Segoe UI",sans-serif;color:#f2f2f2;text-shadow:0 1px 2px rgba(0,0,0,.7);max-width:calc(100% - 70px);text-align:right}
.whero-credit span{display:none}.whero-credit span.on{display:inline}
.whero-credit a{color:inherit;text-decoration:underline}
.whero-pause{position:absolute;left:10px;bottom:8px;z-index:2;width:34px;height:34px;border:1px solid rgba(255,255,255,.75);background:rgba(0,0,0,.35);color:#fff;border-radius:50%;font-size:11px;line-height:1;cursor:pointer}
.whero-pause:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.whero-slide{transition:none}.whero-slide:not(:first-child){display:none}.whero-pause{display:none!important}}
.awe-band{margin:0}
.awe-fig{position:relative;margin:0;height:clamp(260px,46vw,520px);overflow:hidden;background:#d9d4cb}
.awe-fig picture,.awe-img{position:absolute;inset:0;width:100%;height:100%}
.awe-img{object-fit:cover;object-position:50% 50%;display:block}
.awe-cap{position:absolute;left:0;right:0;bottom:0;padding:48px max(20px,calc((100% - 1160px)/2)) 22px;background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,0));color:#fafafa;display:flex;flex-direction:column;gap:4px}
.awe-eyebrow{font:600 12px/1.3 "Source Sans 3",-apple-system,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.awe-line{font-family:"DM Serif Display",Georgia,serif;font-style:italic;font-size:clamp(1.15rem,1rem + 1vw,1.75rem);line-height:1.25;max-width:760px}
.awe-link{color:#fafafa;font-size:16px;text-decoration:underline;text-underline-offset:3px;align-self:flex-start;margin-top:4px}
.awe-link:focus-visible{outline:2px solid #fff;outline-offset:3px}
.awe-credit{font-size:12px;color:#6b6b6b;margin:6px auto 0;text-align:right}
.awe-credit a{color:inherit}
@media (max-width:600px){.awe-cap{padding:40px 16px 16px}.whero-credit{font-size:11px}}
/* v17 photos: responsive <picture> wrapper is layout-transparent; setting label for destination photos */
picture.pic{display:contents}
.pg-f{position:relative}
.set-chip{position:absolute;left:10px;bottom:10px;z-index:3;display:inline-flex;align-items:center;gap:5px;max-width:calc(100% - 20px);padding:4px 9px 4px 7px;border-radius:999px;background:rgba(20,18,15,.42);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fbf6ee;font:500 11.5px/1.2 "Source Sans 3",-apple-system,"Segoe UI",sans-serif;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.set-chip svg{flex:none;opacity:.9}
.phero .set-chip{top:14px;bottom:auto;left:14px}
.nf-item .set-chip{display:none}
.vptile-link .set-chip{top:10px;bottom:auto}
.fg-media,.post-fig,.bc-thumb{position:relative}.post-fig .set-chip,.fg-media .set-chip{top:10px;bottom:auto}.bc-thumb .set-chip{display:none}
