/* Floret Travel Guide — static SEO/GEO article system */

.travel-page {
  background: #f6f1e7;
  color: var(--clr-text);
}

.travel-page .navbar {
  background: rgba(15, 36, 25, 0.97);
  border-bottom: 1px solid rgba(201, 169, 110, 0.18);
  box-shadow: 0 8px 30px rgba(8, 24, 15, 0.14);
}

.travel-page .nav-link { color: rgba(255, 255, 255, 0.86); }
.travel-page .nav-link.active { color: var(--clr-gold); }
.travel-page .hamburger span { background: var(--clr-white); }

.travel-main { padding-top: var(--nav-height); }

.travel-hero {
  position: relative;
  overflow: hidden;
  background: var(--clr-dark-bg);
  color: var(--clr-white);
}

.travel-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 15% 25%, rgba(201, 169, 110, 0.16), transparent 38%),
    linear-gradient(135deg, rgba(15, 36, 25, 0.08), rgba(15, 36, 25, 0.78));
}

.travel-hero-grid {
  position: relative;
  z-index: 1;
  min-height: 510px;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
  align-items: center;
  gap: 4rem;
  padding: 4.5rem 0;
}

.travel-hero-copy { max-width: 760px; }

.travel-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.4rem;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.82rem;
}

.travel-breadcrumbs a { color: var(--clr-gold-light); }
.travel-breadcrumbs a:hover { color: var(--clr-gold); }
.travel-breadcrumbs span[aria-current="page"] { color: rgba(255, 255, 255, 0.84); }

.travel-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  color: var(--clr-gold);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.travel-hero h1 {
  max-width: 850px;
  margin-bottom: 1.25rem;
  color: var(--clr-white);
  font-size: clamp(2.35rem, 5vw, 4.5rem);
  line-height: 1.08;
  text-wrap: balance;
}

.travel-hero p {
  max-width: 720px;
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 1.05rem;
}

.travel-updated {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.35rem;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.8rem;
}

.travel-hero-media {
  position: relative;
  border: 1px solid rgba(201, 169, 110, 0.3);
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 30px 70px rgba(3, 13, 8, 0.35);
  aspect-ratio: 16 / 10;
}

.travel-hero-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.travel-content-wrap { padding: 5rem 0; }

.travel-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  align-items: start;
  gap: 4rem;
}

.travel-article {
  min-width: 0;
  max-width: 850px;
}

.travel-article > p,
.travel-section p {
  color: #445149;
  font-size: 1.02rem;
  line-height: 1.85;
}

.travel-intro {
  margin: 0 0 2.6rem;
  padding: 1.5rem 1.6rem;
  border-left: 4px solid var(--clr-gold);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 14px 35px rgba(15, 36, 25, 0.06);
}

.travel-section { margin: 0 0 3rem; scroll-margin-top: calc(var(--nav-height) + 24px); }
.travel-section h2,
.travel-faq h2,
.travel-related h2 {
  margin-bottom: 1rem;
  color: var(--clr-primary-dark);
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  line-height: 1.2;
}

.travel-section h2::after,
.travel-faq h2::after,
.travel-related h2::after {
  content: "";
  display: block;
  width: 54px;
  height: 2px;
  margin-top: 0.85rem;
  background: var(--clr-gold);
}

.travel-inline-cta {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin: 2rem 0 3rem;
  padding: 1.25rem 1.4rem;
  border: 1px solid rgba(201, 169, 110, 0.3);
  border-radius: var(--radius-md);
  background: #fffaf0;
  color: #33463a;
}

.travel-inline-cta i { margin-top: 0.28rem; color: var(--clr-gold); }
.travel-inline-cta p { margin: 0; font-size: 0.96rem; }
.travel-inline-cta a { color: var(--clr-primary); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

.travel-booking-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 3.5rem 0;
  padding: clamp(2rem, 5vw, 3.2rem);
  border: 1px solid rgba(201, 169, 110, 0.3);
  border-radius: 24px;
  background: linear-gradient(135deg, #153426, #0f2419);
  color: var(--clr-white);
  box-shadow: 0 25px 60px rgba(15, 36, 25, 0.17);
}

.travel-booking-cta::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -90px;
  right: -70px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201, 169, 110, 0.22), transparent 68%);
}

.travel-booking-cta .section-tag { margin-bottom: 0.65rem; }
.travel-booking-cta h2 {
  margin-bottom: 0.75rem;
  color: var(--clr-white);
  font-size: clamp(1.8rem, 4vw, 2.6rem);
}
.travel-booking-cta p { max-width: 680px; margin-bottom: 1.5rem; color: rgba(255, 255, 255, 0.74); }
.travel-cta-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.travel-cta-actions .btn { min-height: 46px; }

.travel-note {
  margin: 3rem 0;
  padding: 1.4rem 1.5rem;
  border-radius: var(--radius-md);
  background: #e9f0ea;
  color: #2f4637;
}
.travel-note strong { display: block; margin-bottom: 0.35rem; color: var(--clr-primary-dark); }
.travel-note p { margin: 0; color: inherit; font-size: 0.94rem; }

.article-sidebar {
  position: sticky;
  top: calc(var(--nav-height) + 24px);
  display: grid;
  gap: 1rem;
}

.article-toc,
.article-help {
  padding: 1.4rem;
  border: 1px solid rgba(15, 36, 25, 0.1);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 14px 35px rgba(15, 36, 25, 0.06);
}

.article-toc strong,
.article-help strong { display: block; margin-bottom: 0.75rem; color: var(--clr-primary-dark); }
.article-toc ol { margin: 0; padding-left: 1.15rem; }
.article-toc li { margin-bottom: 0.6rem; color: var(--clr-gold); }
.article-toc a { color: #3c5144; font-size: 0.82rem; line-height: 1.45; }
.article-toc a:hover { color: var(--clr-primary); }
.article-help p { margin-bottom: 0.9rem; font-size: 0.84rem; line-height: 1.6; }
.article-help a { color: var(--clr-primary); font-size: 0.84rem; font-weight: 700; }

.travel-faq { margin-top: 4rem; scroll-margin-top: calc(var(--nav-height) + 24px); }
.travel-faq-list { display: grid; gap: 0.8rem; }
.travel-faq details {
  border: 1px solid rgba(15, 36, 25, 0.11);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 10px 26px rgba(15, 36, 25, 0.045);
}
.travel-faq summary {
  position: relative;
  min-height: 58px;
  padding: 1.05rem 3rem 1.05rem 1.25rem;
  color: var(--clr-primary-dark);
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}
.travel-faq summary::-webkit-details-marker { display: none; }
.travel-faq summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  transform: translateY(-50%);
  color: var(--clr-gold);
  font-size: 1.45rem;
  font-weight: 400;
}
.travel-faq details[open] summary::after { content: "−"; }
.travel-faq details p { margin: 0; padding: 0 1.25rem 1.25rem; color: #4a5a50; }

.travel-related { margin-top: 4rem; }
.related-grid,
.travel-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.4rem;
}
.travel-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.travel-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(15, 36, 25, 0.1);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 16px 38px rgba(15, 36, 25, 0.07);
  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}
.travel-card-media { aspect-ratio: 16 / 9; overflow: hidden; background: var(--clr-dark-bg); }
.travel-card-media img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 0.7s ease; }
.travel-card-body { flex: 1; display: flex; flex-direction: column; padding: 1.35rem; }
.travel-card-body h2,
.travel-card-body h3 { margin-bottom: 0.65rem; color: var(--clr-primary-dark); font-size: 1.25rem; line-height: 1.3; }
.travel-card-body p { flex: 1; margin-bottom: 1rem; color: #536158; font-size: 0.88rem; }
.travel-card-link { color: var(--clr-primary); font-size: 0.84rem; font-weight: 700; }
.travel-card-link i { margin-left: 0.35rem; color: var(--clr-gold); }

.travel-index-intro { max-width: 800px; margin: 0 auto 3.5rem; text-align: center; }
.travel-index-intro p { color: #4d5c52; font-size: 1.02rem; }

.travel-sources {
  margin-top: 3.5rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(15, 36, 25, 0.12);
}
.travel-sources h2 { color: var(--clr-primary-dark); font-size: 1.35rem; }
.travel-sources p { font-size: 0.82rem; }
.travel-sources ul { padding-left: 1.1rem; }
.travel-sources li { margin-bottom: 0.45rem; color: #536158; font-size: 0.82rem; }
.travel-sources a { color: var(--clr-primary); text-decoration: underline; text-underline-offset: 3px; }

.travel-page .footer { margin-top: 0; }
.travel-footer-guides { columns: 2; column-gap: 1.5rem; }
.travel-footer-guides li { break-inside: avoid; }

.route-helper {
  min-height: calc(100vh - var(--nav-height));
  display: grid;
  place-items: center;
  padding: 6rem 1.5rem;
  background: linear-gradient(135deg, #f6f1e7, #e6eee7);
}
.route-helper-card {
  width: min(100%, 660px);
  padding: 3rem;
  border: 1px solid rgba(201, 169, 110, 0.3);
  border-radius: 24px;
  background: #fff;
  text-align: center;
  box-shadow: 0 24px 60px rgba(15, 36, 25, 0.12);
}
.route-helper-card h1 { margin-bottom: 0.8rem; color: var(--clr-primary-dark); }
.route-helper-card p { margin-bottom: 1.4rem; }

.travel-reveal { opacity: 0; transform: translateY(18px); transition: opacity 0.65s ease, transform 0.65s ease; }
.travel-reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (hover: hover) and (pointer: fine) {
  .travel-page .nav-link:hover { color: var(--clr-gold); }
  .travel-card:hover {
    transform: translateY(-5px);
    border-color: rgba(201, 169, 110, 0.45);
    box-shadow: 0 24px 50px rgba(15, 36, 25, 0.12);
  }
  .travel-card:hover .travel-card-media img { transform: scale(1.04); }
}

@media (max-width: 1100px) {
  .travel-hero-grid { grid-template-columns: 1fr 0.8fr; gap: 2.5rem; }
  .travel-layout { grid-template-columns: minmax(0, 1fr) 240px; gap: 2.5rem; }
  .travel-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .travel-hero-grid { min-height: auto; grid-template-columns: 1fr; padding: 3.5rem 0; }
  .travel-hero-copy { order: 1; }
  .travel-hero-media { order: 2; max-width: 640px; }
  .travel-layout { grid-template-columns: 1fr; }
  .article-sidebar { position: static; order: -1; grid-template-columns: 1fr 1fr; }
  .travel-content-wrap { padding: 4rem 0; }
}

@media (max-width: 600px) {
  .travel-hero-grid { gap: 2rem; padding: 2.8rem 0; }
  .travel-hero h1 { font-size: clamp(2rem, 10vw, 3rem); }
  .travel-hero p { font-size: 0.96rem; }
  .travel-content-wrap { padding: 3.2rem 0; }
  .article-sidebar { grid-template-columns: 1fr; }
  .related-grid,
  .travel-card-grid { grid-template-columns: 1fr; }
  .travel-cta-actions { flex-direction: column; }
  .travel-cta-actions .btn { width: 100%; justify-content: center; }
  .travel-booking-cta { border-radius: 18px; }
  .travel-footer-guides { columns: 1; }
  .route-helper-card { padding: 2rem 1.3rem; }
}

@media (prefers-reduced-motion: reduce) {
  .travel-reveal { opacity: 1; transform: none; transition: none; }
  .travel-card,
  .travel-card-media img { transition: none; }
}

/* 2026 paper editorial system */
:root {
  --paper: #f1ecdf; --paper-light: #faf7ed; --ink: #252824;
  --ink-soft: #55574f; --pine: #17372f; --gold: #c9a56a;
  --line: rgba(37,40,36,.22); --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", "Segoe UI", sans-serif;
  --shadow: 0 28px 70px rgba(15,24,21,.16);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.travel-page{
  margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased
}
body.travel-page::before{
  position:fixed;z-index:90;inset:0;content:"";pointer-events:none;opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.34'/%3E%3C/svg%3E");
  mix-blend-mode:multiply
}
.travel-page a{color:inherit;text-decoration:none}
.travel-page img{display:block;max-width:100%}
.travel-page button{color:inherit;font:inherit}
.travel-page :focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.travel-page .container{width:min(1380px,calc(100% - 3rem));max-width:none;margin-inline:auto;padding:0}

.guide-header{
  position:fixed;z-index:100;top:0;left:0;display:flex;width:100%;align-items:center;
  justify-content:space-between;padding:.9rem clamp(1.2rem,4vw,4.5rem);
  border-bottom:1px solid rgba(37,40,36,.16);background:rgba(241,236,223,.94);
  backdrop-filter:blur(12px)
}
.guide-brand{display:inline-flex;align-items:center;gap:.7rem;line-height:1}
.guide-brand>span{display:grid;width:2.6rem;height:2.6rem;place-items:center;border:1px solid var(--ink);border-radius:50%;font-family:var(--serif);font-size:1.55rem;font-style:italic}
.guide-brand strong{font-family:var(--serif);font-size:1.5rem;font-weight:500;letter-spacing:.04em}
.guide-brand small{display:block;margin-top:.32rem;font-family:var(--sans);font-size:.52rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.guide-nav{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.6rem);margin:0;padding:0;list-style:none}
.travel-page .guide-nav a{color:var(--ink);font-size:.61rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.guide-nav a.active{padding-bottom:.35rem;border-bottom:1px solid var(--gold);color:var(--pine)}
.guide-menu{display:none;border:0;background:none}

.travel-page .travel-main{padding-top:4.4rem}
.travel-page .travel-hero{position:relative;padding:clamp(5rem,8vw,9rem) 0 clamp(6rem,10vw,11rem);background:var(--paper)}
.travel-page .travel-hero::before{display:none}
.travel-page .travel-hero::after{position:absolute;right:0;bottom:-1px;left:0;height:2rem;background:var(--paper-light);clip-path:polygon(0 50%,5% 10%,11% 62%,17% 16%,24% 65%,31% 8%,38% 58%,45% 12%,52% 67%,60% 9%,68% 62%,76% 13%,84% 68%,92% 8%,100% 55%,100% 100%,0 100%);content:""}
.travel-page .travel-hero-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(440px,1.18fr);align-items:center;gap:clamp(3rem,7vw,8rem)}
.travel-page .travel-hero-copy{position:relative;z-index:2}
.travel-page .travel-breadcrumbs{display:flex;margin-bottom:2.2rem;flex-wrap:wrap;gap:.55rem;color:var(--ink-soft);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}
.travel-page .travel-breadcrumbs a{border-bottom:1px solid var(--line)}
.travel-page .travel-breadcrumbs span[aria-current="page"]{color:var(--ink-soft)}
.travel-page .travel-eyebrow,.travel-page .section-tag{display:block;margin-bottom:1.2rem;color:var(--pine);font-size:.6rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.travel-page .travel-eyebrow::before,.travel-page .section-tag::before{display:inline-block;width:2.8rem;height:1px;margin-right:.75rem;vertical-align:middle;background:var(--gold);content:""}
.travel-page .travel-hero h1{max-width:12ch;margin:0;color:var(--ink);font-family:var(--serif);font-size:clamp(4rem,7.5vw,8.7rem);font-weight:400;letter-spacing:-.055em;line-height:.76}
.travel-page .travel-hero-copy>p{max-width:58ch;margin:2rem 0 1.4rem;color:var(--ink-soft);font-size:.88rem}
.travel-page .travel-updated{color:var(--gold);font-size:.56rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.travel-page .travel-hero-media{position:relative;margin:0;padding:.8rem .8rem 3rem;border-radius:0;background:var(--paper-light);box-shadow:var(--shadow);transform:rotate(1.2deg)}
.travel-page .travel-hero-media::after{position:absolute;right:1.2rem;bottom:.75rem;content:"Floret field note · North Sikkim";font-family:"Segoe Print",cursive;font-size:.65rem}
.travel-page .travel-hero-media img{width:100%;aspect-ratio:16/10;border-radius:0;object-fit:cover;filter:saturate(.86) contrast(.98)}

.travel-page .travel-content-wrap{padding:clamp(6rem,9vw,10rem) 0;background-color:var(--paper-light);background-image:radial-gradient(circle at 14% 22%,rgba(255,255,255,.7),transparent 28%),linear-gradient(102deg,transparent 48%,rgba(94,77,48,.025) 49%,transparent 51%)}
.travel-page .travel-layout{display:grid;grid-template-columns:minmax(0,820px) minmax(240px,300px);justify-content:center;align-items:start;gap:clamp(3rem,7vw,7rem)}
.travel-page .travel-article{min-width:0}
.travel-page .travel-intro{margin:0 0 4rem;padding:clamp(1.6rem,3vw,2.6rem);border:0;border-block:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink-soft);font-family:var(--serif);font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.3}
.travel-page .travel-intro strong{color:var(--pine);font-family:var(--sans);font-size:.58rem;letter-spacing:.15em;text-transform:uppercase}
.travel-page .travel-section{margin:0 0 4.5rem;scroll-margin-top:7rem}
.travel-page .travel-section h2,.travel-page .travel-faq>h2,.travel-page .travel-related>h2,.travel-page .travel-sources>h2,.travel-page .section-title{margin:0 0 1.6rem;color:var(--ink);font-family:var(--serif);font-size:clamp(2.5rem,4.3vw,4.6rem);font-weight:400;letter-spacing:-.04em;line-height:.9}
.travel-page .travel-section p{margin:0 0 1.3rem;color:var(--ink-soft);font-size:.9rem}
.travel-page .travel-section p:first-of-type::first-letter{float:left;margin:.08em .12em 0 0;color:var(--pine);font-family:var(--serif);font-size:4.5rem;line-height:.72}
.travel-page .travel-inline-cta,.travel-page .travel-note{position:relative;margin:3.5rem 0;padding:1.6rem 2rem;border:0;border-left:2px solid var(--gold);border-radius:0;background:var(--paper);box-shadow:0 15px 38px rgba(24,34,29,.08);transform:rotate(-.35deg)}
.travel-page .travel-inline-cta p,.travel-page .travel-note p{margin:0;color:var(--ink-soft);font-size:.79rem}
.travel-page .travel-inline-cta a{color:var(--pine);font-weight:600;border-bottom:1px solid var(--gold)}
.travel-page .travel-note strong{display:block;margin-bottom:.5rem;font-family:var(--serif);font-size:1.3rem;font-weight:500}

.travel-page .travel-booking-cta{margin:5rem 0;padding:clamp(2.2rem,5vw,4.8rem);border:0;border-radius:0;background:var(--pine);color:var(--paper-light);box-shadow:none;clip-path:polygon(0 1.5%,8% 0,16% 1.2%,25% .1%,34% 1.5%,43% .2%,52% 1.4%,61% .1%,70% 1.4%,79% .2%,88% 1.4%,100% .2%,100% 98.5%,90% 100%,80% 98.6%,69% 100%,58% 98.5%,47% 100%,36% 98.5%,25% 100%,13% 98.6%,0 100%)}
.travel-page .travel-booking-cta .section-tag{color:var(--gold)}
.travel-page .travel-booking-cta h2{max-width:11ch;margin:0 0 1rem;color:var(--paper-light);font-family:var(--serif);font-size:clamp(2.8rem,5vw,5rem);font-weight:400;line-height:.85}
.travel-page .travel-booking-cta>p{max-width:60ch;color:rgba(255,255,255,.7);font-size:.78rem}
.travel-page .travel-cta-actions{display:flex;margin-top:2rem;flex-wrap:wrap;gap:.7rem}
.travel-page .btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:.8rem 1.3rem;border:1px solid rgba(255,255,255,.6);border-radius:0;font-size:.58rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.travel-page .btn-primary{border-color:var(--gold);background:var(--gold);color:var(--pine)}
.travel-page .btn-outline{color:var(--paper-light)}
.travel-page .btn-whatsapp{border-color:var(--paper-light);background:var(--paper-light);color:var(--pine)}

.travel-page .travel-faq,.travel-page .travel-related,.travel-page .travel-sources{margin-top:6rem;padding-top:4rem;border-top:1px solid var(--ink);scroll-margin-top:7rem}
.travel-page .travel-faq-list{border-top:1px solid var(--line)}
.travel-page .travel-faq details{border-bottom:1px solid var(--line)}
.travel-page .travel-faq summary{padding:1.3rem 0;cursor:pointer;color:var(--ink);font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.15}
.travel-page .travel-faq details p{margin:0 2rem 1.5rem 0;color:var(--ink-soft);font-size:.82rem}
.travel-page .related-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.travel-page .travel-card{display:flex;min-width:0;flex-direction:column;border:0;border-top:1px solid var(--ink);border-radius:0;background:var(--paper);box-shadow:none;transition:transform .4s var(--ease),box-shadow .4s}
.travel-page .travel-card-media{display:block;overflow:hidden}
.travel-page .travel-card-media img{width:100%;aspect-ratio:16/9;border-radius:0;object-fit:cover;filter:saturate(.82)}
.travel-page .travel-card-body{display:flex;flex:1;flex-direction:column;padding:1.7rem}
.travel-page .travel-card h2,.travel-page .travel-card h3{margin:0 0 .8rem;color:var(--ink);font-family:var(--serif);font-size:clamp(1.65rem,2.3vw,2.35rem);font-weight:500;line-height:.95}
.travel-page .travel-card p{margin:0 0 1.3rem;color:var(--ink-soft);font-size:.7rem}
.travel-page .travel-card-link{margin-top:auto;font-size:.56rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.travel-page .travel-sources p,.travel-page .travel-sources li{color:var(--ink-soft);font-size:.7rem}
.travel-page .travel-sources a{border-bottom:1px solid var(--gold);color:var(--pine)}

.travel-page .article-sidebar{position:sticky;top:7rem;display:grid;gap:1rem}
.travel-page .article-toc,.travel-page .article-help{padding:1.8rem;border:0;border-top:2px solid var(--gold);border-radius:0;background:var(--paper);box-shadow:0 14px 35px rgba(24,34,29,.07)}
.travel-page .article-toc>strong,.travel-page .article-help>strong{font-family:var(--serif);font-size:1.4rem;font-weight:500}
.travel-page .article-toc ol{margin:1rem 0 0;padding-left:1.2rem}
.travel-page .article-toc li{padding:.33rem 0;color:var(--ink-soft);font-size:.66rem}
.travel-page .article-help p{color:var(--ink-soft);font-size:.67rem}
.travel-page .article-help a{font-size:.56rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}

.travel-page .travel-index-intro{display:grid;margin-bottom:4rem;grid-template-columns:.55fr 1fr .75fr;align-items:end;gap:2rem}
.travel-page .travel-index-intro .section-tag{align-self:start}
.travel-page .travel-index-intro .section-title{margin:0}
.travel-page .travel-index-intro>p{margin:0;color:var(--ink-soft);font-size:.8rem}
.travel-page .travel-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.travel-page .travel-card-grid .travel-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.travel-page .travel-card-grid .travel-card:nth-child(3n){border-right:0}

.travel-page .footer{padding:5rem 0 2rem;background:var(--pine);color:var(--paper-light)}
.travel-page .footer-grid{display:grid;grid-template-columns:1.1fr .7fr 1.25fr .8fr;gap:3rem}
.travel-page .footer-logo img{width:115px;filter:brightness(0) invert(1)}
.travel-page .footer-brand p{max-width:34ch;color:rgba(255,255,255,.6);font-size:.7rem}
.travel-page .footer-heading{margin:0 0 1.2rem;color:var(--paper-light);font-family:var(--serif);font-size:1.35rem;font-weight:500}
.travel-page .footer ul{margin:0;padding:0;list-style:none}
.travel-page .footer li{margin-bottom:.55rem;color:rgba(255,255,255,.67);font-size:.64rem}
.travel-page .footer-contact span,.travel-page .footer-contact a,.travel-page .footer-contact small{display:block}
.travel-page .footer-contact li+li{margin-top:.85rem}
.travel-page .footer-contact small{max-width:34ch;color:rgba(255,255,255,.62);font-size:.69rem;line-height:1.55}
.travel-page .footer-office{padding-top:.85rem;border-top:1px solid rgba(255,255,255,.15)}
.travel-page .footer-bottom{margin-top:3rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.16);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase}

.travel-page .route-helper{display:grid;min-height:100vh;padding:2rem;place-items:center}
.travel-page .route-helper-card{width:min(620px,100%);padding:4rem;border:0;border-top:2px solid var(--gold);border-radius:0;background:var(--paper-light);box-shadow:var(--shadow);text-align:center}
.travel-page .route-helper-card img{width:120px;margin:0 auto 2rem}
.travel-page .route-helper-card h1{margin:0;font-family:var(--serif);font-size:clamp(2.7rem,8vw,5rem);font-weight:400;line-height:.85}
.travel-page .route-helper-card .btn{border-color:var(--pine);background:var(--pine);color:var(--paper-light)}

.has-js .travel-page .travel-reveal{opacity:0;transform:translateY(22px)}
.has-js .travel-page .travel-reveal.is-visible{opacity:1;transform:none;transition:opacity .8s ease,transform .9s var(--ease)}

@media(max-width:900px){
  .guide-menu{z-index:3;display:flex;min-width:48px;min-height:48px;flex-direction:column;align-items:flex-end;justify-content:center;gap:.4rem}
  .guide-menu span{font-size:.54rem;letter-spacing:.14em;text-transform:uppercase}
  .guide-menu i,.guide-menu::after{display:block;width:1.7rem;height:1px;background:currentColor;content:""}
  .guide-header>nav{position:fixed;z-index:2;inset:0;visibility:hidden;background:var(--paper);opacity:0;transform:translateY(-1rem);transition:opacity .3s,transform .4s,visibility .3s}
  .guide-header>nav.is-open{visibility:visible;opacity:1;transform:none}
  .guide-nav{height:100%;flex-direction:column;align-items:flex-start;justify-content:center;padding:6rem 2rem}
  .guide-nav a{font-family:var(--serif);font-size:clamp(2rem,10vw,3.5rem);font-weight:400;letter-spacing:-.03em;text-transform:none}
  .travel-page .travel-hero-grid{grid-template-columns:1fr}
  .travel-page .travel-hero h1{font-size:clamp(4rem,15vw,7rem)}
  .travel-page .travel-hero-media{width:92%;justify-self:end}
  .travel-page .travel-layout{grid-template-columns:1fr}
  .travel-page .article-sidebar{position:static;grid-row:1}
  .travel-page .article-help{display:none}
  .travel-page .travel-index-intro{display:block}
  .travel-page .travel-index-intro>p{margin-top:1.5rem}
  .travel-page .travel-card-grid{grid-template-columns:1fr 1fr}
  .travel-page .travel-card-grid .travel-card:nth-child(3n){border-right:1px solid var(--line)}
  .travel-page .travel-card-grid .travel-card:nth-child(2n){border-right:0}
  .travel-page .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .travel-page .container{width:min(100% - 2rem,1380px)}
  .travel-page .travel-main{padding-top:4.25rem}
  .travel-page .travel-hero{padding:4.5rem 0 6.5rem}
  .travel-page .travel-hero h1{font-size:clamp(3.8rem,18vw,5.5rem)}
  .travel-page .travel-hero-media{width:100%;padding:.55rem .55rem 2.5rem;transform:rotate(.7deg)}
  .travel-page .travel-content-wrap{padding:6rem 0}
  .travel-page .travel-intro{padding-inline:.4rem}
  .travel-page .travel-booking-cta{margin-inline:-.25rem;padding:3rem 1.5rem}
  .travel-page .travel-cta-actions{display:grid;grid-template-columns:1fr}
  .travel-page .related-grid,.travel-page .travel-card-grid{grid-template-columns:1fr}
  .travel-page .travel-card-grid .travel-card,.travel-page .travel-card-grid .travel-card:nth-child(3n){border-right:0}
  .travel-page .footer-grid{grid-template-columns:1fr}
  .travel-page .route-helper-card{padding:3rem 1.5rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .has-js .travel-page .travel-reveal{opacity:1;transform:none}
}
