/* Golden Triangle Holidays. White and cool grey, one crimson accent, Marcellus for H tags, Figtree for the rest. */
:root{
  --gt-white:#fff;
  --gt-mist:#f3f5f7;
  --gt-line:#e2e5e9;
  --gt-ink:#12161c;
  --gt-text:#2b3038;
  --gt-muted:#5a616b;
  --gt-red:#c8102e;
  --gt-red-deep:#a00c24;
  --gt-red-tint:#fcebee;
  --gt-night:#11151c;
  --sans:"Figtree","Segoe UI",system-ui,sans-serif;
  --measure:1600px;
  --side:clamp(16px,3vw,48px);
  --r-lg:18px;
  --r-md:12px;
  --lift:0 1px 2px rgba(18,22,28,.06),0 8px 24px rgba(18,22,28,.07);
  --glide:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--gt-white);color:var(--gt-text);font:400 18px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4,p,figure,ul,ol{margin:0}
h1,h2,h3,h4{color:var(--gt-ink);font-family:"Marcellus","Figtree",serif;font-weight:400;letter-spacing:0;text-wrap:balance}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:3px solid var(--gt-red);outline-offset:2px}
.measure{width:100%;max-width:calc(var(--measure) + 2 * var(--side));margin-inline:auto;padding-inline:var(--side)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.sprite{position:absolute;width:0;height:0}

/* buttons */
.action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border:2px solid transparent;border-radius:var(--r-md);font:600 1.02rem/1 var(--sans);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s var(--glide)}
.action svg{width:18px;height:12px;flex:none}
.action-red{background:var(--gt-red);color:#fff}
.action-red:hover{background:var(--gt-red-deep);transform:translateY(-1px)}
.action-ghost{border-color:rgba(255,255,255,.75);color:#fff}
.action-ghost:hover{background:#fff;border-color:#fff;color:var(--gt-ink)}
.action-line{border-color:var(--gt-red);color:var(--gt-red)}
.action-line:hover{background:var(--gt-red);color:#fff}
.action-sm{min-height:44px;padding:0 18px;font-size:.96rem}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:99px;background:var(--gt-mist);color:var(--gt-text);font-size:.88rem;font-weight:500;white-space:nowrap}
.chip--strong{background:var(--gt-ink);color:#fff;font-weight:600}
.chip--more{background:transparent;box-shadow:inset 0 0 0 1px var(--gt-line);color:var(--gt-muted)}
.chip--glass{background:rgba(255,255,255,.16);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}

.label{display:block;margin-bottom:8px;color:var(--gt-red);font-size:.86rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

/* masthead */
.masthead{position:fixed;top:0;left:0;right:0;z-index:40;color:#fff;transition:background-color .3s,color .3s,box-shadow .3s}
.masthead::before{content:"";position:absolute;inset:0 0 -40px;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,0));transition:opacity .3s}
.masthead-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:84px;transition:height .3s var(--glide)}
.masthead.is-solid,.masthead.is-open{background:#fff;color:var(--gt-ink);box-shadow:0 1px 0 var(--gt-line)}
.masthead.is-solid::before,.masthead.is-open::before{opacity:0}
.masthead.is-solid .masthead-row{height:68px}
.navline{display:flex;gap:28px}
.navline a{font-size:1rem;font-weight:500;text-decoration:none;padding:6px 0}
.navline a:hover{color:var(--gt-red)}
.masthead:not(.is-solid):not(.is-open) .navline a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
.wordmark{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.wordmark svg{width:46px;height:43px;flex:none;color:var(--gt-red)}
.masthead:not(.is-solid):not(.is-open) .wordmark svg{color:#fff}
.wordmark span{display:flex;flex-direction:column;line-height:1}
.wordmark b{font-size:1.5rem;font-weight:800;letter-spacing:-.012em;white-space:nowrap}
.wordmark i{margin-top:5px;font-size:.68rem;font-style:normal;font-weight:700;letter-spacing:.36em;text-transform:uppercase}
.masthead-end{display:flex;justify-content:flex-end;align-items:center;gap:22px}
.menu-toggle{display:none;padding:8px;margin-right:-8px;background:none;border:0;color:inherit;cursor:pointer}
.menu-toggle svg{width:28px;height:28px}

/* opening (hero) */
.opening{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(620px,92vh,960px);background:#222;color:#fff}
.opening-photo{position:absolute;inset:0;z-index:-2}
.opening-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.opening::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.25) 40%,rgba(0,0,0,0) 62%)}
.opening-copy{display:grid;justify-items:center;gap:18px;padding-bottom:36px;text-align:center}
.opening-tag{padding:7px 16px;border-radius:99px;background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);font-size:.95rem;font-weight:600}
.opening h1{color:#fff;font-family:"Marcellus","Figtree",serif;font-size:clamp(2.8rem,6.4vw,6.8rem);font-weight:400;line-height:1.05;letter-spacing:.002em;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.opening-lede{max-width:34em;color:#fff;font-size:clamp(1.1rem,1.3vw,1.3rem);font-weight:500}
.opening-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.opening-acts .action{min-height:56px;padding:0 30px;font-size:1.08rem}

/* planner docked to the hero bottom */
.planner form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:stretch;background:#fff;color:var(--gt-ink);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:0 -8px 30px rgba(0,0,0,.18);padding:12px}
.planner-field{display:grid;gap:2px;min-width:0;padding:8px 18px;border-right:1px solid var(--gt-line);cursor:pointer}
.planner-field:nth-child(4){border-right:0}
.planner-field span{color:var(--gt-muted);font-size:.84rem;font-weight:600}
.planner select{appearance:none;-webkit-appearance:none;width:100%;min-width:0;padding:2px 24px 2px 0;border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23c8102e' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 2px center;color:var(--gt-ink);font:600 1.08rem/1.3 var(--sans);cursor:pointer}
.planner .action{min-height:64px;padding:0 40px}

/* sections */
.chapter{padding-block:clamp(36px,3.6vw,60px)}
.chapter--mist{background:var(--gt-mist)}
.chapter-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 40px;margin-bottom:clamp(18px,1.8vw,28px)}
.chapter-head h2,.h2{font-size:clamp(2.1rem,3vw,3.3rem);line-height:1.1}
.chapter-head p{margin-top:8px;max-width:58ch;color:var(--gt-muted)}

/* why escorted */
.perks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.perk{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;padding:18px;border:1px solid var(--gt-line);border-radius:var(--r-lg);background:#fff}
.perk-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--gt-red-tint);color:var(--gt-red)}
.perk-icon svg{width:24px;height:24px}
.perk b{display:block;color:var(--gt-ink);font-size:1.1rem;font-weight:700;line-height:1.25}
.perk div span{display:block;margin-top:3px;color:var(--gt-muted);font-size:.96rem;line-height:1.4}

/* filter chips */
.picker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.picker a,.picker button{display:inline-flex;align-items:center;text-decoration:none;min-height:42px;padding:0 18px;border:1px solid var(--gt-line);border-radius:99px;background:#fff;color:var(--gt-ink);font:600 .98rem/1 var(--sans);cursor:pointer;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s}
.picker a:hover,.picker button:hover{border-color:var(--gt-red);color:var(--gt-red)}
.picker a[aria-current="true"],.picker button[aria-pressed="true"]{background:var(--gt-red);border-color:var(--gt-red);color:#fff}

/* tour cards */
.journeys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.journey{display:flex;flex-direction:column;min-width:0;overflow:hidden;border-radius:var(--r-lg);background:#fff;box-shadow:var(--lift);transition:transform .25s var(--glide),box-shadow .25s}
.journey:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(18,22,28,.07),0 16px 36px rgba(18,22,28,.12)}
.journey[hidden]{display:none}
.journey-photo{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--gt-line)}
.journey-photo img{width:100%;height:100%;object-fit:cover}
.pill{position:absolute;top:12px;display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:99px;font-size:.86rem;font-weight:700}
.pill-op{left:12px;background:#fff;color:var(--gt-ink)}
.pill-flag{right:12px;background:var(--gt-red);color:#fff}
.journey-body{display:flex;flex:1;flex-direction:column;gap:12px;padding:16px}
.journey h3{font-size:1.4rem;line-height:1.2}
.journey h3 a{text-decoration:none}
.journey h3 a:hover{color:var(--gt-red)}
.monthbar{display:flex;align-items:center;gap:4px;margin-top:auto}
.monthbar small{margin-right:4px;color:var(--gt-muted);font-size:.84rem;font-weight:500}
.monthbar span{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:var(--gt-mist);color:#9aa0a8;font-size:.76rem;font-weight:600}
.monthbar span.on{background:var(--gt-red-tint);color:var(--gt-red);font-weight:800}
.journey-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--gt-line)}
.fromprice{color:var(--gt-muted);font-size:.86rem;line-height:1.1;white-space:nowrap}
.fromprice strong{display:block;color:var(--gt-ink);font-size:1.5rem;font-weight:800;letter-spacing:-.02em}
.chapter-after{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:22px;color:var(--gt-muted);font-size:.94rem}

/* circuit */
.circuit-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 40px;align-items:center;margin-bottom:20px}
.circuit-top p{margin:10px 0 16px;max-width:50ch;color:var(--gt-muted)}
.mapcard{padding:12px 20px;border-radius:var(--r-lg);background:var(--gt-mist)}
.triangle-map{display:block;width:100%;max-width:520px;height:auto;margin-inline:auto}
.t-edge{stroke:#c3c8cf;stroke-width:1.5;fill:none}
.t-route{stroke:var(--gt-red);stroke-width:3;fill:none;stroke-dasharray:1 8;stroke-linecap:round}
.t-side{stroke:var(--gt-muted);stroke-width:1.5;fill:none;stroke-dasharray:1 6;stroke-linecap:round}
.t-city{fill:var(--gt-red)}
.t-ring{fill:#fff;stroke:var(--gt-red);stroke-width:2}
.t-park{fill:var(--gt-ink)}
.t-minor{fill:#fff;stroke:var(--gt-muted);stroke-width:1.5}
.triangle-map text{font-family:var(--sans);font-size:15px;font-weight:600;fill:var(--gt-text)}
.triangle-map text.t-big{font-size:28px;font-weight:800;fill:var(--gt-ink)}
.triangle-map text.t-small{font-size:13px;font-weight:500;fill:var(--gt-muted)}
.stops{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.stop{min-width:0}
.stop-photo{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--r-lg);background:var(--gt-line)}
.stop-photo img{width:100%;height:100%;object-fit:cover}
.stop-photo .pill{left:10px;top:10px;background:#fff;color:var(--gt-ink)}
.stop h3{margin:12px 0 8px;font-size:1.5rem}

/* image band */
.vista{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:clamp(380px,48vh,520px);background:#1a2030;color:#fff}
.vista > img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.vista::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(8,12,24,.82) 0%,rgba(8,12,24,.35) 50%,rgba(8,12,24,0) 75%)}
.vista-copy{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 40px;padding-block:28px}
.vista h2{margin-bottom:12px;color:#fff;font-size:clamp(2.1rem,3.2vw,3.5rem);line-height:1.1}

/* months */
.ribbon{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px}
.ribbon li{display:flex;flex-direction:column;gap:2px;min-width:0;padding:12px 10px;border-radius:var(--r-md);background:var(--gt-red);color:#fff}
.ribbon b{font-size:1.05rem;font-weight:800}
.ribbon small{font-size:.8rem;font-weight:500;line-height:1.25}
.ribbon .is-shoulder{background:var(--gt-red-tint);color:var(--gt-red-deep)}
.ribbon .is-off{background:var(--gt-mist);color:var(--gt-muted)}
.ribbon-key{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:12px;color:var(--gt-muted);font-size:.92rem}
.ribbon-key span{display:inline-flex;align-items:center;gap:8px}
.ribbon-key span::before{content:"";width:16px;height:16px;border-radius:5px;background:var(--gt-red)}
.ribbon-key .k-shoulder::before{background:var(--gt-red-tint);box-shadow:inset 0 0 0 1px #f3c3cb}
.ribbon-key .k-off::before{background:var(--gt-mist);box-shadow:inset 0 0 0 1px var(--gt-line)}

/* comparison */
.sbs-wrap{overflow:hidden;border-radius:var(--r-lg);background:#fff;box-shadow:var(--lift)}
.sbs-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.sbs{width:100%;min-width:900px;border-collapse:collapse;table-layout:fixed}
.sbs th,.sbs td{padding:13px 18px;border-bottom:1px solid var(--gt-line);font-size:1rem;line-height:1.35;text-align:left;vertical-align:middle}
.sbs thead th:first-child,.sbs tbody th{width:15%}
.sbs thead th{padding-block:16px;vertical-align:top}
.sbs tbody th{color:var(--gt-muted);font-size:.95rem;font-weight:600}
.sbs-op{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:99px;background:var(--gt-mist);color:var(--gt-text);font-size:.8rem;font-weight:700}
.sbs-name{display:block;margin-top:8px;color:var(--gt-ink);font-size:1.1rem;font-weight:700;line-height:1.22;letter-spacing:-.01em}
.sbs-price{color:var(--gt-ink);font-size:1.5rem;font-weight:800;letter-spacing:-.02em}
.sbs-price small{margin-left:3px;color:var(--gt-muted);font-size:.86rem;font-weight:500;letter-spacing:0}
.yes,.no{display:inline-flex;align-items:center;gap:8px}
.yes::before,.no::before{content:"";flex:none;width:22px;height:22px;border-radius:50%;background:var(--gt-red-tint) center/12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23c8102e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6.5 5 9.5 10 3'/%3E%3C/svg%3E")}
.no{color:var(--gt-muted)}
.no::before{background:var(--gt-mist) center/10px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none' stroke='%239aa0a8' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M2 2l6 6M8 2 2 8'/%3E%3C/svg%3E")}
.sbs tfoot td{border-bottom:0;padding-block:14px}
.sbs tfoot .action{width:100%}
.footnote{margin-top:12px;color:var(--gt-muted);font-size:.9rem}
.swipe-hint{display:none}

/* photo tiles */
.ways{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.way{position:relative;isolation:isolate;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;aspect-ratio:16/10;padding:14px 16px;overflow:hidden;border-radius:var(--r-lg);background:var(--gt-ink);color:#fff;text-decoration:none}
.way img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--glide)}
.way::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.1) 60%,rgba(0,0,0,0) 100%)}
.way:hover img{transform:scale(1.05)}
.way b{font-size:1.2rem;font-weight:700;line-height:1.18;letter-spacing:-.01em}
.way i{display:grid;flex:none;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gt-red);transition:transform .25s var(--glide)}
.way:hover i{transform:translateX(3px)}
.way i svg{width:16px;height:11px}

/* questions */
.questions{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:20px 48px;align-items:start}
.questions-intro p{margin:10px 0 16px;color:var(--gt-muted)}
.qa{display:grid;gap:8px}
.qa details{border-radius:var(--r-md);background:var(--gt-mist)}
.qa summary{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:16px;align-items:center;padding:14px 18px;color:var(--gt-ink);font-size:1.1rem;font-weight:700;line-height:1.3;cursor:pointer;list-style:none}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";width:24px;height:24px;background:linear-gradient(var(--gt-red),var(--gt-red)) center/14px 2px no-repeat,linear-gradient(var(--gt-red),var(--gt-red)) center/2px 14px no-repeat;transition:transform .25s var(--glide)}
.qa details[open] summary::after{transform:rotate(45deg)}
.qa details > div{padding:0 18px 16px;font-size:1rem}
.qa details > div p + p{margin-top:8px}
.qa details > div a{color:var(--gt-red)}

/* footer */
.colophon{background:var(--gt-night);color:#c5cad1}
.colophon-top{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,.7fr));gap:28px;padding-block:40px 26px}
.colophon .wordmark{color:#fff}
.colophon .wordmark svg{color:var(--gt-red)}
.colophon-top p{max-width:42ch;margin-top:14px;font-size:.95rem}
.colophon h4{margin-bottom:10px;color:#fff;font-size:1.15rem}
.colophon ul{display:grid;gap:7px;font-size:.96rem}
.colophon a{text-decoration:none}
.colophon a:hover{color:#fff;text-decoration:underline}
.colophon-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 30px;padding-block:14px 8px;border-top:1px solid #2a3038;color:#9aa2ac;font-size:.86rem}
.photo-credits{padding-bottom:22px;color:#9aa2ac;font-size:.86rem}
.photo-credits summary{width:max-content;cursor:pointer}
.photo-credits ul{display:block;columns:3;column-gap:32px;margin-top:10px;font-size:.8rem;line-height:1.45}
.photo-credits li{margin-bottom:5px;break-inside:avoid}
.photo-credits a{text-decoration:underline;text-underline-offset:2px}

/* ---- inner pages ---- */
[hidden]{display:none!important}
.under-bar{padding-top:68px}
.trail{display:flex;flex-wrap:wrap;gap:4px 8px;margin-bottom:12px;color:var(--gt-muted);font-size:.92rem}
.trail a{text-underline-offset:3px}
.trail i{font-style:normal;opacity:.6}
.action-full{width:100%}

/* list pages: H1 and text beside a photo */
.leadblock{padding-block:clamp(18px,2vw,32px)}
.leadblock-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 44px;align-items:center}
.leadblock h1{font-size:clamp(2.4rem,3.6vw,3.9rem);line-height:1.06}
.standline{margin-top:12px;color:var(--gt-text);font-size:1.15rem}
.introcopy{margin-top:14px;max-width:70ch}
.introcopy p + p{margin-top:10px}
.introcopy a{color:var(--gt-red)}
.introcopy--wide{margin:0 0 20px;max-width:860px}
.chapter > .measure > .introcopy{margin:0 0 20px}
.leadblock-copy .chips{margin-top:14px}
.leadblock-photo{position:relative}
.leadblock-photo img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r-lg)}

/* filter panel */
.finder{position:sticky;top:76px;z-index:20;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:1px;overflow:hidden;border-radius:var(--r-md);background:var(--gt-line);box-shadow:var(--lift)}
.finder-field{position:relative;display:grid;gap:1px;min-width:0;padding:10px 16px 10px;background:#fff;cursor:pointer;transition:background-color .15s}
.finder-field:hover{background:#f8f9fa}
.finder-field:focus-within{box-shadow:inset 0 0 0 2px var(--gt-red)}
.finder-field span{color:var(--gt-muted);font-size:.82rem;font-weight:600}
.finder select{appearance:none;-webkit-appearance:none;width:100%;min-width:0;padding:1px 22px 1px 0;border:0;outline:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23c8102e' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 2px center;color:var(--gt-ink);font:600 1rem/1.3 var(--sans);cursor:pointer}
.finder select option:disabled{color:#a4a9b0}
.finder-field.is-set{background:var(--gt-red-tint)}
.finder-field.is-set span{color:var(--gt-red-deep)}
.finder-field.is-set select{color:var(--gt-red-deep);font-weight:700}
.finder-field--sort{background:var(--gt-mist)}
.finder-go{border-radius:0;min-height:100%}
.finder-go[hidden]{display:none}
.finder-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;min-height:32px;margin:14px 0 14px}
.finder-tally{color:var(--gt-text);font-size:1rem}
.finder-tally b{color:var(--gt-ink);font-weight:800}
.finder-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.finder-tag{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:0 9px 0 11px;border-radius:8px;background:#fff;box-shadow:inset 0 0 0 1px var(--gt-line);color:var(--gt-ink);font-size:.9rem;font-weight:600;text-decoration:none;transition:box-shadow .15s,color .15s}
.finder-tag:hover{box-shadow:inset 0 0 0 1px var(--gt-red);color:var(--gt-red)}
.finder-tag svg{width:10px;height:10px;flex:none}
.finder-clear{color:var(--gt-red-deep);font-size:.92rem;font-weight:600;text-underline-offset:3px}
@media (max-width:1099px){
  .finder{position:static;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}
  .finder-field--sort{grid-column:1/-1}
  .finder-go{grid-column:1/-1;min-height:50px}
}
.nonefound{margin-bottom:16px;padding:14px 18px;border-radius:var(--r-md);background:var(--gt-red-tint);color:var(--gt-red-deep);font-weight:500}
.nonefound a{color:inherit}
.fromprice--live{color:var(--gt-ink);font-size:1.02rem;font-weight:700}

/* side by side, one row per trip */
.sbs-scroll{position:relative}
.sbs--rows{min-width:1240px;table-layout:auto}
.sbs--rows thead th{padding-block:12px;color:var(--gt-muted);font-size:.9rem;font-weight:700}
.sbs--rows tbody th{min-width:270px;font-weight:400}
.sbs--rows .sbs-name{margin-top:6px;font-size:1.05rem;text-decoration:none}
.sbs--rows .sbs-name:hover{color:var(--gt-red)}
.sbs--rows td{font-size:.96rem}
.sbs--rows td:nth-child(3),.sbs--rows td:nth-child(8){white-space:nowrap}
.sbs--rows td:last-child .action{white-space:nowrap}
.sbs-live{color:var(--gt-ink);font-weight:700}

/* article with side rail */
.reading{display:grid;grid-template-columns:minmax(0,860px) minmax(300px,1fr);gap:24px 56px;align-items:start}
.longread{min-width:0}
.longread h1{font-size:clamp(2.4rem,3.4vw,3.6rem);line-height:1.08;margin-bottom:14px}
.longread h2{margin:30px 0 10px;font-size:clamp(1.7rem,2.2vw,2.3rem);line-height:1.15}
.longread h3{margin:22px 0 8px;font-size:1.4rem;line-height:1.2}
.longread > :first-child{margin-top:0}
.longread p{margin:0 0 14px}
.longread a{color:var(--gt-red);text-underline-offset:2px}
.longread ul,.longread ol{margin:0 0 16px;padding-left:22px}
.longread ul{list-style:disc}
.longread ol{list-style:decimal}
.longread li{margin-bottom:6px}
.longread ul.tick-list{padding-left:0;list-style:none}
.longread ul.tick-list li{position:relative;padding-left:32px}
.longread ul.tick-list li::before{content:"";position:absolute;left:0;top:4px;width:22px;height:22px;border-radius:50%;background:var(--gt-red-tint) center/12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23c8102e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6.5 5 9.5 10 3'/%3E%3C/svg%3E")}
.longread figure{margin:20px 0}
.longread figure img{width:100%;height:auto;border-radius:var(--r-lg)}
.longread figcaption{margin-top:6px;color:var(--gt-muted);font-size:.9rem}
.tablefit{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:16px;border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--gt-line)}
.longread table{width:100%;border-collapse:collapse;font-size:.98rem}
.longread th,.longread td{padding:10px 14px;border-bottom:1px solid var(--gt-line);text-align:left;vertical-align:top}
.longread thead th{background:var(--gt-mist);color:var(--gt-ink);font-weight:700}
.longread tr:last-child td{border-bottom:0}
.freshness{margin-top:18px;color:var(--gt-muted);font-size:.92rem}
.sourcelist{margin-top:6px;color:var(--gt-muted);font-size:.92rem}
.sourcelist summary{cursor:pointer;font-weight:600}
.sourcelist ul{margin-top:8px}
.sidecar{position:sticky;top:84px;display:grid;gap:16px}
.atglance,.minilist{padding:16px 18px;border-radius:var(--r-lg);background:#fff;box-shadow:var(--lift)}
.atglance h2,.minilist h2{margin-bottom:10px;font-size:1.45rem}
.atglance dl{display:grid;gap:8px;margin:0}
.atglance dl > div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px;padding-bottom:8px;border-bottom:1px solid var(--gt-line);font-size:.96rem}
.atglance dl > div:last-child{padding-bottom:0;border-bottom:0}
.atglance dt{color:var(--gt-muted);font-weight:600}
.atglance dd{margin:0;color:var(--gt-ink);font-weight:600}
.minilist{display:grid;gap:12px}
.minilist h2{margin-bottom:0}
.minitrip{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:center;text-decoration:none}
.minitrip img{width:88px;height:66px;object-fit:cover;border-radius:var(--r-md)}
.minitrip b{display:block;color:var(--gt-ink);font-size:.98rem;font-weight:700;line-height:1.22}
.minitrip:hover b{color:var(--gt-red)}
.minitrip small{display:block;margin-top:2px;color:var(--gt-muted);font-size:.85rem;line-height:1.3}
.soon{padding:14px 18px;border-radius:var(--r-md);background:var(--gt-mist);color:var(--gt-text);font-weight:500}

/* photo band with the H1 on it */
.photoband{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:clamp(340px,46vh,520px);background:#1a2030;color:#fff}
.photoband > img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.photoband::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(8,12,24,.84) 0%,rgba(8,12,24,.42) 48%,rgba(8,12,24,.05) 78%)}
.photoband-copy{padding-block:100px 26px}
.photoband h1{color:#fff;font-size:clamp(2.5rem,4.4vw,4.6rem);line-height:1.05;text-shadow:0 2px 22px rgba(0,0,0,.35)}
.photoband-lede{max-width:44em;margin-top:10px;font-size:1.15rem;font-weight:500}
.photoband .trail{color:rgba(255,255,255,.88)}
.photoband .trail a{color:#fff}
.photoband .chips{margin-top:14px}
.photoband-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.pill-inline{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:99px;background:#fff;color:var(--gt-ink);font-size:.88rem;font-weight:700}
.pill-inline--red{background:var(--gt-red);color:#fff}
.photoband--trip{min-height:clamp(560px,74vh,760px)}
.photoband--trip .photoband-copy{padding-right:calc(400px + 48px)}
.photoband--trip .monthbar{margin-top:12px}
.monthbar--glass small{color:#fff}
.monthbar--glass span{background:rgba(255,255,255,.14);color:rgba(255,255,255,.72)}
.monthbar--glass span.on{background:#fff;color:var(--gt-red)}
.photoband-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}

/* one trip */
.triplayout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:20px 48px;align-items:start;padding-bottom:clamp(30px,3vw,50px)}
.pricebox{grid-column:2;grid-row:1;position:sticky;top:84px;z-index:5;margin-top:-210px;padding:20px;border-radius:var(--r-lg);background:#fff;box-shadow:0 2px 6px rgba(18,22,28,.08),0 18px 44px rgba(18,22,28,.18)}
.pricebox-op{color:var(--gt-muted);font-size:.92rem;font-weight:700}
.pricebox-from{margin-top:4px;color:var(--gt-muted);font-size:.92rem}
.pricebox-from strong{display:block;color:var(--gt-ink);font-size:2.6rem;font-weight:800;letter-spacing:-.02em;line-height:1.08}
.pricebox-from .pricebox-live{font-size:1.8rem}
.pricebox-from s{color:var(--gt-muted);font-size:.98rem}
.pricebox-when{margin:4px 0 12px;color:var(--gt-text);font-size:.94rem}
.pricebox-facts{display:grid;gap:8px;margin:14px 0 0;font-size:.94rem}
.pricebox-facts > div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;padding-top:8px;border-top:1px solid var(--gt-line)}
.pricebox-facts dt{color:var(--gt-muted);font-weight:600}
.pricebox-facts dd{margin:0;color:var(--gt-ink)}
.pricebox-note{margin-top:12px;color:var(--gt-muted);font-size:.84rem;line-height:1.4}
.tripmain{grid-column:1;grid-row:1;min-width:0}
.tripmain > section{padding-top:clamp(24px,2.4vw,36px)}
.tripmain h2{margin-bottom:12px;font-size:clamp(1.9rem,2.5vw,2.6rem);line-height:1.12}
.pacenote{margin-bottom:10px;color:var(--gt-muted);font-size:.98rem}
.timeline{display:grid}
.day{display:grid;grid-template-columns:78px minmax(0,1fr);gap:14px;padding-block:12px;border-top:1px solid var(--gt-line)}
.day-no{align-self:start;display:inline-flex;justify-content:center;padding:5px 0;border-radius:var(--r-md);background:var(--gt-red-tint);color:var(--gt-red-deep);font-size:.88rem;font-weight:800}
.day-body h3{font-size:1.32rem;line-height:1.2}
.day-body .chips{margin-top:8px}
.day-meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px;color:var(--gt-muted);font-size:.9rem}
.day-stay{font-weight:600}
.altroute{margin-top:clamp(24px,2.4vw,36px);padding:18px 20px!important;border-radius:var(--r-lg);background:var(--gt-mist)}
.altroute > p{margin-bottom:10px}
.altroute-stops{margin-top:10px}
.altroute-stops .chip{background:#fff}
.altroute-days{margin-top:12px}
.altroute-days summary{color:var(--gt-red);font-weight:700;cursor:pointer}
.altroute-days .timeline{margin-top:8px}
.included{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.included li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--gt-line);border-radius:var(--r-md);font-size:.97rem;line-height:1.3}
.included-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--gt-red-tint);color:var(--gt-red)}
.included-icon svg{width:20px;height:20px}
.stays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.stays li{padding:10px 12px;border-radius:var(--r-md);background:var(--gt-mist)}
.stays b{display:block;color:var(--gt-ink);font-size:.98rem;font-weight:700;line-height:1.25}
.stays small{display:block;margin-top:2px;color:var(--gt-muted);font-size:.86rem}
.datesheet{width:100%;min-width:560px;border-collapse:collapse;font-size:.97rem}
.datesheet th,.datesheet td{padding:10px 14px;border-bottom:1px solid var(--gt-line);text-align:left;vertical-align:top}
.datesheet thead th{background:var(--gt-mist);color:var(--gt-muted);font-size:.88rem;font-weight:700}
.datesheet tr:last-child td{border-bottom:0}
.datesheet td b{color:var(--gt-ink);font-size:1.1rem;font-weight:800}
.datesheet td s{color:var(--gt-muted);font-size:.9rem}
.datesheet td small{display:block;color:var(--gt-muted)}
.datesheet .is-gone td{background:#fafbfc;color:#8a9099}
.datesheet-note{margin:0 0 12px;color:var(--gt-muted);font-size:.9rem}
.atglance--trip{margin-bottom:18px;box-shadow:none;border:1px solid var(--gt-line)}
.atglance--trip h2{font-size:1.45rem;margin-bottom:10px}
.pricebar{display:none}

/* plain pages */
.deskpage-grid{display:grid;grid-template-columns:minmax(0,860px) minmax(300px,1fr);gap:24px 56px;align-items:start}
.creditlist{list-style:none!important;padding-left:0!important;columns:2;column-gap:32px;font-size:.92rem}
.creditlist li{break-inside:avoid}
.wrongturn{min-height:46vh}
.wrongturn h1{font-size:clamp(2.4rem,3.6vw,3.8rem);line-height:1.08}
.wrongturn p{margin-top:10px}
.wrongturn-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}

/* ---- responsive ---- */
@media (max-width:1320px){
  .journeys,.ways{grid-template-columns:repeat(3,minmax(0,1fr))}
  .perks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stops{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ribbon small{font-size:.74rem}
}
@media (max-width:1024px){
  .masthead-row{grid-template-columns:auto 1fr auto}
  .masthead-row > .navline,.masthead-end .navline,.masthead-end .action{display:none}
  .wordmark{grid-column:1;grid-row:1}
  .menu-toggle{display:block;grid-column:3}
  .masthead.is-open .masthead-row > .navline{display:grid;grid-column:1/-1;grid-row:2;gap:4px;padding:0 0 14px}
  .masthead.is-open .masthead-row{height:auto;min-height:68px}
  .journeys,.ways{grid-template-columns:repeat(2,minmax(0,1fr))}
  .planner form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .planner-field:nth-child(2){border-right:0}
  .planner .action{grid-column:1/-1;min-height:56px;margin-top:8px}
  .circuit-top,.questions{grid-template-columns:1fr}
  .ribbon{grid-template-columns:repeat(6,minmax(0,1fr))}
  .colophon-top{grid-template-columns:1fr 1fr 1fr}
  .colophon-top > div:first-child{grid-column:1/-1}
}
@media (max-width:640px){
  body{font-size:17px}
  .masthead-row{height:68px}
  .wordmark svg{width:38px;height:36px}
  .wordmark b{font-size:1.22rem}
  .wordmark i{font-size:.58rem}
  .opening{min-height:min(100svh,740px)}
  .opening h1{font-size:2.8rem}
  .opening-copy{gap:14px;padding-bottom:22px}
  .opening-acts{display:grid;width:100%;gap:8px}
  .opening::after{background:linear-gradient(0deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.5) 45%,rgba(0,0,0,.08) 80%)}
  .planner{padding-inline:0}
  .planner form{padding:8px 8px 12px}
  .planner-field{padding:8px 10px}
  .planner select{font-size:1rem}
  .perks{grid-template-columns:1fr;gap:8px}
  .perk{padding:12px 14px;align-items:center}
  .picker{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(-1 * var(--side));padding-inline:var(--side);scrollbar-width:none}
  .picker::-webkit-scrollbar{display:none}
  .journeys{grid-template-columns:1fr;gap:16px}
  .journey-photo{aspect-ratio:16/10}
  .stops{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:calc(-1 * var(--side));padding-inline:var(--side);scroll-padding-inline:var(--side);scrollbar-width:none}
  .stops::-webkit-scrollbar{display:none}
  .stop{flex:0 0 76%;scroll-snap-align:start}
  .mapcard{padding:6px 8px}
  .triangle-map text{font-size:18px}
  .triangle-map text.t-big{font-size:32px}
  .triangle-map text.t-small{font-size:16px}
  .vista-copy{padding-block:20px}
  .vista-copy .action{width:100%}
  .ribbon{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .ribbon li{padding:10px 8px}
  .swipe-hint{display:block;margin-bottom:8px;color:var(--gt-muted);font-size:.9rem}
  .sbs{min-width:780px}
  .sbs thead th:first-child,.sbs tbody th,.sbs tfoot td:first-child{position:sticky;left:0;z-index:1;width:110px;background:#fff}
  .sbs th,.sbs td{padding:12px}
  .ways{gap:10px}
  .way{aspect-ratio:1/1;padding:10px 12px}
  .way b{font-size:1.02rem}
  .way i{width:30px;height:30px}
  .photo-credits ul{columns:1}
  .colophon-top{grid-template-columns:1fr 1fr}
}
@media (max-width:1320px){
  .reading,.deskpage-grid{grid-template-columns:minmax(0,1fr) 320px;gap:24px 36px}
  .triplayout{grid-template-columns:minmax(0,1fr) 360px;gap:20px 32px}
  .photoband--trip .photoband-copy{padding-right:calc(360px + 32px)}
  .stays{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1024px){
  .leadblock-grid,.reading,.deskpage-grid,.triplayout{grid-template-columns:minmax(0,1fr)}
  .sidecar{position:static}
  .photoband--trip{min-height:clamp(480px,70vh,640px)}
  .photoband--trip .photoband-copy{padding-right:var(--side)}
  .pricebox{grid-column:1;grid-row:1;position:static;margin-top:16px}
  .tripmain{grid-column:1;grid-row:2}
  .pricebar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px var(--side);background:#fff;box-shadow:0 -2px 16px rgba(18,22,28,.16)}
  .pricebar p{color:var(--gt-muted);font-size:.84rem;line-height:1.1}
  .pricebar strong{display:block;color:var(--gt-ink);font-size:1.3rem;font-weight:800}
  .pricebar .pricebar-live{font-size:1.02rem}
  body:has(.pricebar){padding-bottom:64px}
}
@media (max-width:640px){
  .under-bar{padding-top:68px}
  .action{white-space:normal;text-align:center;line-height:1.2;padding-block:8px}
  .leadblock h1{font-size:2.3rem}
  .photoband h1{font-size:2.4rem}
  .photoband-copy{padding-block:88px 20px}
  .photoband-acts{display:grid}
  .finder-field{padding:9px 10px}
  .finder select{padding-right:18px}
  .sbs--rows{min-width:1060px}
  .sbs--rows tbody th,.sbs--rows thead th:first-child{position:sticky;left:0;z-index:1;min-width:170px;width:170px;background:#fff}
  .sbs--rows .sbs-name{font-size:.98rem}
  .included,.stays{grid-template-columns:minmax(0,1fr)}
  .day{grid-template-columns:62px minmax(0,1fr);gap:10px}
  .creditlist{columns:1}
}

/* article photos: a portrait shot must not fill the screen */
.longread figure img{width:100%;height:auto;max-height:560px;object-fit:cover}
/* home intro runs the full width in two columns, no gap beside it */
@media (min-width:1100px){
  #promise-title ~ .introcopy,.chapter-head + .introcopy{max-width:none;columns:2;column-gap:48px}
}

/* article subheads: bold sans so they stand out from the text and from the Marcellus H2s */
.longread h3,.longread h4{font-family:var(--sans);color:var(--gt-ink);letter-spacing:-.005em}
.longread h3{margin:26px 0 6px;font-size:1.42rem;font-weight:800;line-height:1.3}
.longread h4{margin:22px 0 4px;font-size:1.22rem;font-weight:700;line-height:1.3}
