/* Tour archives (ported from design-reference/tours-archive.html). */

.ah .ln:nth-child(2)>span{color:#E6D3A8}
.tb{position:sticky;top:calc(62px + env(safe-area-inset-top,0px));z-index:90;background:var(--bg);border-bottom:1px solid var(--line);transition:box-shadow .4s,top .6s var(--ease)}
body:has(.nav.h) .tb{top:0}
.tb.s{box-shadow:0 18px 40px -26px rgba(var(--sea-rgb),.45)}
.tb .wrap{display:flex;align-items:center;gap:28px;min-height:78px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.tl{font:400 10px var(--font);letter-spacing:.2em;text-transform:uppercase;color:var(--mut);display:block;margin-bottom:6px}
.seg{display:flex;background:var(--surface);border:1px solid var(--line);position:relative}
.seg button,.seg a{position:relative;z-index:1;background:none;border:0;padding:12px 20px;font:500 11px var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);cursor:pointer;transition:color .4s;white-space:nowrap}
.seg .on{color:#fff}
.seg .th{position:absolute;top:0;bottom:0;left:0;background:var(--sea);transition:transform .6s var(--ease),width .6s var(--ease)}
.tb .chip{font-size:13px;letter-spacing:0;padding:8px 15px}.tb .chip:hover{transform:translateY(-2px)}
.cnt{margin-left:auto;font-size:13px;color:var(--mut)}.cnt b{color:var(--ink);font:500 18px var(--font)}

/* groups */
.main-l{padding:40px 0 30px}
.grp{padding:60px 0 10px}.grp[hidden],.sub[hidden]{display:none}
.gh{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:34px}
.gh .n{font:500 clamp(60px,8vw,110px)/.8 var(--font);color:var(--line);transition:color .6s}.grp:hover .gh .n{color:var(--gold-t)}
.gh h2{font-size:clamp(26px,3.6vw,48px)}.gh p{color:var(--mut);margin-top:10px;max-width:560px}
.gh .bd{font-size:11px;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold-t);padding:8px 16px;white-space:nowrap}
.sub{margin-bottom:46px}
.sub>h3{font-size:14px;color:var(--mut);display:flex;align-items:center;gap:16px;margin-bottom:18px}.sub>h3:after{content:"";flex:1;height:1px;background:var(--line)}.sub>h3 b{color:var(--gold-t);font-weight:400}
.tg{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}
.tc{aspect-ratio:3/4;color:#fff;display:block;position:relative;overflow:hidden;opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease),transform .9s var(--ease),box-shadow .6s var(--ease);--mx:50%;--my:50%}
.tc[hidden]{display:none}
.tc.in{opacity:1;transform:none}.tc.in:hover{transform:translateY(-8px);box-shadow:0 40px 60px -34px rgba(var(--sea-rgb),.7)}
.no-js .tc{opacity:1;transform:none}
.ml-editorial{padding-top:35px;padding-bottom:100px;max-width:980px}.ml-editorial h2{margin:45px 0 14px}.ml-editorial h3{margin:28px 0 10px}.ml-editorial p,.ml-editorial li{color:var(--mut);line-height:1.8}.ml-editorial ul{padding-left:1.3em}
.tc:hover img.f{transform:scale(1.1) rotate(.6deg)}
.tc:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(transparent 28%,rgba(7,28,46,.94))}
.tc:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .5s;background:radial-gradient(300px circle at var(--mx) var(--my),rgba(227,206,154,.2),transparent 60%)}.tc:hover:after{opacity:1}
.ty,.du{position:absolute;z-index:3;top:14px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:5px 11px}
.ty{left:14px;background:rgba(255,255,255,.92);color:var(--sea)}.ty.pv{background:var(--sea);color:#fff}.ty.mo{background:var(--gold-l);color:#0B2236}
.du{right:14px;background:rgba(7,28,46,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.tc .ph-tag{top:auto;bottom:auto;right:14px;top:14px}
.ov{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:22px}
.ov h3{font-size:22px;transition:transform .7s var(--ease)}.tc:hover .ov h3{transform:translateY(-4px)}
.ov .d{font-size:13.5px;color:#D5E3EC;max-height:0;opacity:0;overflow:hidden;transition:max-height .8s var(--ease),opacity .6s,margin .6s;margin-top:0}
.tc:hover .ov .d,.tc:focus-visible .ov .d{max-height:140px;opacity:1;margin-top:10px}
.ov .pp{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.25);font-size:13px}
.ov .pp b{font:500 20px var(--font);color:var(--gold-l)}.ov .pp small{color:#CFE0EA;display:block;font-size:12px;letter-spacing:.04em}
.ov .ar{width:40px;height:40px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;transition:.5s var(--ease);flex:none}
.tc:hover .ov .ar{background:var(--gold-l);border-color:var(--gold-l);color:#0B2236;transform:rotate(-45deg)}
.empty{text-align:center;padding:90px 0;color:var(--mut)}.empty h3{font-size:22px;color:var(--ink);margin-bottom:10px}.empty .bt{margin-top:20px;display:flex;justify-content:center}
.grp .chk{margin-bottom:30px}

/* explainer */
.exp{padding:90px 0}
.exp .sh{margin-bottom:44px;max-width:640px}.exp .sh h2{font-size:clamp(26px,3.4vw,44px)}.exp .sh p{color:var(--mut);margin-top:12px}
.xg{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.xp{padding:46px 40px;background:var(--surface);border:1px solid var(--line);position:relative;overflow:hidden}
.xp:before{content:"";position:absolute;inset:0;background:var(--sea);transform:translateY(100%);transition:transform .9s var(--ease)}.xp:hover:before{transform:none}
.xp>*{position:relative;transition:color .5s}.xp:hover{color:#fff}.xp:hover li,.xp:hover p{color:#D5E3EC}
.xp h3{font-size:26px;margin:8px 0 6px}.xp .k{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-t)}.xp:hover .k{color:var(--gold-l)}
.xp p{color:var(--mut);margin-bottom:20px}.xp ul{list-style:none}
.xp li{padding:10px 0;border-top:1px solid var(--line);font-size:14px;color:var(--mut);transition:.5s}.xp:hover li{border-color:rgba(255,255,255,.2)}.xp li:before{content:"✓";color:var(--gold-t);margin-right:12px}
.xp .pill{margin-top:22px}.xp:hover .pill{background:#fff;color:var(--sea)}.xp:hover .pill i{background:var(--sea);color:#fff}

/* cta */
.cta{position:relative;color:#fff;overflow:hidden;padding:120px 0;background:var(--sea);text-align:center}
.cta-im{position:absolute;inset:0;opacity:.4}.cta .wrap{position:relative}
.cta h2{font-size:clamp(30px,5vw,68px);margin-bottom:18px}.cta p{color:#D5E3EC;max-width:520px;margin:0 auto 30px}
.cta .bt{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

@media (max-width:1000px){
	.xg{grid-template-columns:1fr}.gh{grid-template-columns:1fr}.gh .bd{display:none}.cnt{margin-left:0}
	.seg{overflow-x:auto;max-width:100%}
	.tb{top:calc(var(--nav-h) + env(safe-area-inset-top,0px))}
}
@media (max-width:620px){
	.tb{position:relative;top:auto}
	.tb .wrap{gap:14px}.tg{grid-template-columns:1fr 1fr;gap:12px}
	.ov{padding:14px}.ov h3{font-size:16px}.ov .d{display:none}.ov .pp b{font-size:16px}.ov .ar{display:none}
	.gh .n{font-size:54px}.tc{aspect-ratio:3/4.2}
	.ty,.du{font-size:9px;padding:4px 8px;letter-spacing:.1em}.du{top:auto;bottom:auto;top:42px;left:14px;right:auto}
}
@media (prefers-reduced-motion:reduce){.tc{transform:none;opacity:1}}
/* Landscape photography and readable tour details across all archive scopes. */
.main-l{background:#f7f7f3}.gh h2,.exp .sh h2,.xp h3{font-family:var(--font);font-weight:400;text-transform:none;letter-spacing:-.025em}
.gh .n{font-family:var(--font);font-weight:400}.gh p{line-height:1.7}.sub>h3{font-weight:600;letter-spacing:.08em}
.tc{aspect-ratio:auto;display:flex;flex-direction:column;background:#fff;color:#173440;border:1px solid #e2e8e6;box-shadow:0 8px 30px rgba(19,52,64,.06)}
.tc.in:hover{transform:translateY(-5px);box-shadow:0 15px 38px rgba(19,52,64,.13)}.tc:before,.tc:after{display:none}
.tc-photo{width:100%;aspect-ratio:4/3;flex:none}.tc-photo>img.f{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tc:hover img.f{transform:scale(1.045)}
.ty,.du{top:14px}.du{background:rgba(7,28,46,.7)}
.ov{position:relative;inset:auto;padding:23px;display:flex;flex-direction:column;flex:1;color:#173440}
.ov h3{font:400 25px/1.12 var(--font);letter-spacing:-.02em;text-transform:none}.tc:hover .ov h3{transform:none}
.ov .d,.tc:hover .ov .d,.tc:focus-visible .ov .d{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;max-height:none;overflow:hidden;opacity:1;margin:10px 0 22px;color:#617579;font-size:13px;line-height:1.65}
.ov .pp{margin-top:auto;padding-top:15px;border-color:#e5ece9;color:#173e4d}.ov .pp b{font:400 22px var(--font);color:#173e4d}.ov .pp small{color:#617579}.ov .ar{border-color:#c8d6d3;color:#173e4d}.tc:hover .ov .ar{background:#123c53;border-color:#123c53;color:#fff}
:root[data-theme="blue"] .main-l{background:#102b3a}
.du{color:#fff}
@media(max-width:620px){.tg{grid-template-columns:1fr}.tc-photo{aspect-ratio:16/10}.ov{padding:21px}.ov .d,.tc:hover .ov .d,.tc:focus-visible .ov .d{-webkit-line-clamp:3}}
/* Compact groups with one tour each without changing filtering. */
.grp.is-compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}.grp.is-compact .gh,.grp.is-compact>.chk{grid-column:1/-1}.grp.is-compact .tg{grid-template-columns:1fr}.grp.is-compact[hidden]{display:none}
.ta .ah{height:auto;min-height:max(74svh,650px);padding-top:125px}.ta .ah h1{font-size:clamp(42px,6vw,76px);line-height:1.03}.ta .ah h1.long{font-size:clamp(36px,5vw,68px)}
@media(max-width:960px){.grp.is-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.ta .ah{min-height:600px;padding-top:100px}}
@media(max-width:620px){.grp.is-compact{grid-template-columns:1fr}.ta .ah{min-height:590px}.ta .ah h1{font-size:clamp(38px,10vw,56px)}}
/* Editor-written experience stories; future offers remain clearly labelled. */
.ml-editorial{max-width:calc(var(--wrap) + 2*var(--gut));padding-top:90px;padding-bottom:100px}.experience-editorial-intro{max-width:710px;margin-bottom:35px}.ml-editorial .experience-kicker{color:#8f7545;font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:600}.ml-editorial .experience-editorial-intro h2{font:400 clamp(32px,4vw,52px)/1.08 var(--font);text-transform:none;letter-spacing:-.03em;margin:12px 0 16px}.experience-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.experience-story{background:#f5f7f3;border:1px solid #e2e9e5;padding:30px;min-width:0}.ml-editorial .experience-index{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#8f7545}.ml-editorial .experience-story h3{font:400 28px/1.1 var(--font);text-transform:none;letter-spacing:-.02em;margin:18px 0 14px}.experience-story p+p{margin-top:12px}.experience-contact{margin-top:28px}.experience-contact a{color:#123c53;border-bottom:1px solid #aabfbb;font-size:13px;font-weight:600;padding-bottom:5px}
@media(max-width:760px){.experience-editorial-grid{grid-template-columns:1fr}.ml-editorial{padding-top:65px;padding-bottom:75px}}
.experience-story a{color:#123c53;border-bottom:1px solid #9db6b2;font-size:12px;font-weight:600;padding-bottom:4px}
/* Roomier tour comparisons and labels that never overlap on narrow cards. */
@media(min-width:961px){.ta .grp:not(.is-compact) .tg{grid-template-columns:repeat(3,minmax(0,1fr))}.ta .grp:not(.is-compact) .tg:has(>.tc:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:621px) and (max-width:960px){.ta .grp:not(.is-compact) .tg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ta .tc .du{top:46px;left:14px;right:auto}}
.ta .ov .d,.ta .tc:hover .ov .d,.ta .tc:focus-visible .ov .d{font-size:14px;line-height:1.6}
/* Equalise compact comparison cards while leaving room for their full descriptions. */
.grp.is-compact .sub{display:flex;flex-direction:column;min-width:0}
.grp.is-compact .sub .tg{flex:1}
.grp.is-compact .sub .tc{height:100%}
.ta .ov .d,.ta .tc:hover .ov .d,.ta .tc:focus-visible .ov .d{display:block;overflow:visible;-webkit-line-clamp:unset}
.ta .ah:after{background:linear-gradient(90deg,rgba(3,27,43,.64) 0%,rgba(3,27,43,.35) 48%,rgba(3,27,43,.08) 100%),linear-gradient(0deg,rgba(3,27,43,.82) 0%,rgba(3,27,43,.1) 72%)}
.ta .ah .crumb{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.65)}
.shared-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
@media(prefers-reduced-motion:reduce){.shared-hero-video{display:none}}
