/* Direction C system layer. Loads after base.css and c.css. See brand.md. */
:root{
 --paper-50:#FFFDF7;--paper-100:#F3EEE2;--paper-200:#E9E2CF;--paper-300:#C9C2B0;
 --navy-900:#14263F;--navy-800:#1E3556;--navy-700:#2C4468;--navy-600:#4A5870;--navy-300:#B7BFCB;--navy-100:#E4E8EE;
 --teal-800:#094A4D;--teal-700:#0B5A5E;--teal-600:#0E6F73;--teal-300:#8FC3C4;--teal-100:#E9F1EE;
 --verm-800:#8F2B1C;--verm-600:#B53A26;--verm-300:#E39A8D;--verm-100:#F7E2DD;
 --brass-700:#7A5C13;--brass-500:#E3B95A;--brass-300:#F0D690;--brass-100:#FAF0D4;
 --notch:12px;--r-card:14px;--r-pill:999px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:36px;--s7:56px;
}
/* icons */
.ic{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vertical-align:-6px}
.ic.lg{width:40px;height:40px}.ic.sm{width:18px;height:18px;vertical-align:-3px}
.ico{display:inline-grid;place-items:center;width:52px;height:52px;border:1.5px solid var(--navy-900);border-radius:50%;color:var(--teal-700);margin-bottom:10px;background:var(--paper-50)}
.ico .ic{width:28px;height:28px;vertical-align:0}
.band .ico{border-color:var(--navy-900)}
h3 .ic{margin-right:6px;color:var(--teal-700)}
/* image banner */
.banner{position:relative;height:clamp(220px,36vw,520px);overflow:hidden;background:var(--paper-200)}
.banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.banner .ilbl{position:absolute;left:16px;bottom:14px;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;background:var(--paper-50);color:var(--navy-900);padding:4px 9px;border-radius:3px;border:1px solid var(--paper-300)}
.banner .banner-stamp{position:absolute;right:16px;bottom:-6px;width:112px;height:auto;filter:drop-shadow(0 2px 0 rgba(20,38,63,.25));background:rgba(255,253,247,.88);border-radius:50%;padding:2px}
.hero .tear{margin:0 0 26px;padding-top:0}
.hero{padding-top:0}
.tear,.div{display:block;line-height:0}
.div{padding:10px 0}
.div svg{display:block;width:100%}
.hero .tear svg{display:block;width:100%}
/* tear reveal and stamp thunk */
.js .tear svg,.js .div svg{clip-path:inset(0 100% 0 0);transition:clip-path .9s cubic-bezier(.2,.7,.2,1)}
.js .tear.in svg,.js .div.in svg{clip-path:inset(0 0 0 0)}
.stampwrap{display:inline-block;line-height:0}
.stampwrap svg{width:132px;height:auto}
.stampwrap.sm svg{width:96px}.stampwrap.wide svg{width:190px}
.js .stampwrap.thunk{opacity:0}
.js .stampwrap.thunk.in{animation:thunk .46s cubic-bezier(.2,1.4,.4,1) forwards}
@keyframes thunk{0%{opacity:0;transform:scale(1.6) rotate(-6deg)}55%{opacity:1;transform:scale(.94)}100%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.js .tear svg,.js .div svg{clip-path:none;transition:none}.js .stampwrap.thunk{opacity:1}.js .stampwrap.thunk.in{animation:none}}
.stamps{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
/* hero ticket tweaks */
.hero .stamps{margin-top:18px}
.hero .sample{color:#E3B95A}
.ticket-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font:500 13px var(--mono);letter-spacing:.04em;margin:0 0 16px;padding:0;list-style:none}
.ticket-meta li{display:flex;gap:6px;align-items:center}
.hero .ticket-meta .ic{color:#E3B95A}
/* destination grid */
.dests{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:560px){.dests{grid-template-columns:1fr 1fr}}@media(min-width:960px){.dests{grid-template-columns:repeat(4,1fr)}}
.dest{background:var(--paper-50);border:1px solid var(--paper-300);border-radius:var(--r-card);overflow:hidden;display:flex;flex-direction:column}
.dest img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:var(--bpm,50% 50%)}
.dest .cap{padding:12px 14px 14px}
.dest .cap p{margin:0;font-size:14px}.dest h3{font-size:19px;margin:0 0 2px}
.dest .tag{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--teal-700)}
.dest a{color:var(--navy-900);text-decoration:none}.dest a:hover h3{text-decoration:underline}
/* tour and stay cards (affiliate placeholders) */
.tcard{background:var(--paper-50);border:1px solid var(--paper-300);border-radius:var(--r-card);padding:18px;position:relative;display:flex;flex-direction:column;gap:6px}
.tcard::before{content:"";position:absolute;left:-1px;right:-1px;top:62%;height:0;border-top:1.5px dashed var(--paper-300)}
.band .tcard h3{margin:0;font-size:19px}.tcard p{margin:0;font-size:15px}
.tcard .ph{margin-top:auto;padding-top:30px;font:500 12px var(--mono);color:var(--navy-600)}
.tcard .btn{align-self:flex-start;margin-top:8px;padding:8px 16px;min-height:40px;font-size:14px}
.tcard .btn.ghost{background:transparent;color:var(--navy-900);border:1.5px solid var(--navy-900)}
.pill{display:inline-block;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:99px;background:var(--brass-100);color:var(--brass-700);border:1px solid var(--brass-300);width:fit-content}
/* facts row */
.facts{display:grid;gap:14px;grid-template-columns:1fr 1fr}
@media(min-width:800px){.facts{grid-template-columns:repeat(4,1fr)}}
.fact{background:var(--paper-50);border:1px solid var(--paper-300);border-radius:var(--r-card);padding:14px 16px}
.fact .k{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--navy-600);display:flex;gap:6px;align-items:center}
.fact .v{font-family:var(--display);font-weight:600;font-size:24px;line-height:1.15;margin-top:6px;color:var(--teal-700)}
.fact .n{font-size:13px;color:var(--navy-600);margin:4px 0 0}
.warnbox{border-left:5px solid var(--verm-600);background:var(--verm-100);padding:12px 16px;border-radius:0 10px 10px 0;max-width:72ch;font-size:15px}
.warnbox strong{color:var(--verm-800)}
.cmp{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:800px){.cmp{grid-template-columns:1fr 1fr}}
.cmp .card h3{display:flex;gap:8px;align-items:center}
.cmp ul{padding-left:18px;margin:0}.cmp li{margin-bottom:6px;font-size:15px}
/* footer */
footer.site-foot .div{padding:0 0 18px}
footer.site-foot .cols{display:grid;gap:16px 28px;grid-template-columns:1fr}
@media(min-width:800px){footer.site-foot .cols{grid-template-columns:2fr 1fr 1fr}}
footer.site-foot ul{list-style:none;margin:0;padding:0}footer.site-foot li{margin-bottom:6px}
.site .logo svg{height:36px}
.wm.straight,.wm{font-style:italic;font-weight:600}
.wm i{font-style:italic;color:#E3B95A}
@media(max-width:640px){.site nav{gap:2px 14px;font-size:14px}.banner .banner-stamp{width:84px}}

table.prices td small{white-space:normal;max-width:300px;margin-left:auto}
.tablewrap{overflow-x:auto}
@media(max-width:820px){table.prices td small{max-width:none;margin-left:0}}
.hero .stamps .stampwrap.sm svg{width:120px}

.stampwrap.rect svg{width:170px}
.hero .stamps .stampwrap.rect svg{width:170px}
footer.site-foot{margin-top:0}
@media(min-width:821px){table.prices caption{display:table-caption}}
.band .kv dt{color:inherit;opacity:.85}
