@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --bg:#ffffff;
  --surface:#ffffff;
  --surface-2:#f8f9fc;
  --text:#1b1b1d;
  --muted:#6b7285;
  --line:#d9dee8;
  --accent:#1b1b1d;
  --accent-2:#1b1b1d;
  --green:#1b1b1d;
  --annotation-bg:#fafbfe;
  --annotation-border:#b5bdcc;
  --shadow:none;
  --radius:18px;
  --radius-sm:14px;
  --max:1240px;
  --step--2:.64rem;
  --step--1:.8rem;
  --step-0:1rem;
  --step-1:1.25rem;
  --step-2:1.563rem;
  --step-3:1.953rem;
  --step-4:2.441rem;
  --step-5:3.052rem;
  --step-6:3.815rem;
  --anchor-offset:180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body.nav-open{overflow:hidden}
body{
  margin:0;
  font-family:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--text);
  background:var(--bg);
  font-size:var(--step-0);
  line-height:1.6;
  letter-spacing:-.01em;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
h1,h2,h3,h4,h5,h6{
  margin:0;
  color:var(--text);
  font-weight:600;
  letter-spacing:-.035em;
  line-height:1.08;
}
h1{font-size:var(--step-6)}
h2{font-size:var(--step-5)}
h3{font-size:var(--step-4)}
h4{font-size:var(--step-3)}
h5{font-size:var(--step-2)}
h6{font-size:var(--step-1)}
p,li,td,th,label,input,select,textarea{font-size:var(--step-0)}
small{font-size:var(--step--1)}
.container{width:min(calc(100% - 56px), var(--max));margin:0 auto}
.page{padding-top:88px}
section[id],
article[id][data-agency-accordion-item]{
  scroll-margin-top:var(--anchor-offset)
}
.page-anchor-nav{
  position:sticky;
  top:86px;
  z-index:940;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(8px)
}
.page-anchor-nav-inner{
  display:flex;
  gap:10px;
  overflow:auto;
  padding:14px 0
}
.page-anchor-nav a{
  flex:0 0 auto;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--muted);
  font-size:var(--step--1);
  font-weight:600
}
.page-anchor-nav a.is-active{
  background:var(--text);
  color:#fff;
  border-color:var(--text)
}
.skip-link{position:absolute;left:-9999px;top:0}
.skip-link:focus{left:12px;top:12px;background:#fff;padding:10px 12px;border-radius:8px;z-index:2000;border:1px solid var(--line)}
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(255,255,255,.98);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
  box-shadow:none
}
.header-inner{
  width:100%;
  max-width:none;
  padding:0 28px;
  display:flex;align-items:center;justify-content:flex-start;gap:18px;min-height:86px
}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em;font-size:.92rem;flex-shrink:0}
.brand-mark{width:42px;height:42px;border-radius:14px;background:#fff;display:grid;place-items:center;color:var(--text);font-weight:700;border:2px solid var(--text);box-shadow:none}
.main-nav{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  column-gap:18px;
  flex:1;
  min-width:0
}
.nav-primary-group{
  display:flex;
  align-items:center;
  justify-self:center;
  gap:2px;
  min-width:0
}
.nav-item{position:relative}
.nav-link,.nav-plain{
  display:flex;align-items:center;gap:6px;padding:13px 16px;border-radius:999px;color:var(--text);
  border:1px solid var(--line);background:#fff;cursor:pointer;font-weight:500;font-size:.83rem;line-height:1.15;white-space:nowrap;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease
}
.nav-link:hover,.nav-plain:hover,.nav-item.is-open>.nav-link,.nav-item.is-current>.nav-link,.nav-plain.is-current{background:#f3f4f6;border-color:#9ca3af}
.nav-link:hover,.nav-plain:hover{transform:translateY(-1px)}
.nav-item.is-current>.nav-link,.nav-plain.is-current{color:var(--accent);box-shadow:none}
.nav-cta-link{
  justify-self:end;
  background:var(--text);
  color:#fff;
  border-color:var(--text);
  font-weight:600
}
.nav-cta-link:hover,.nav-cta-link.is-current{
  background:#303136;
  border-color:#303136;
  color:#fff
}
.nav-link::after{
  content:"";width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-1px);transition:transform .2s ease,opacity .2s ease;opacity:.7
}
.nav-item.is-open>.nav-link::after{transform:rotate(225deg) translateY(-1px);opacity:1}
.header-actions{display:none}
.nav-backdrop{
  position:fixed;inset:76px 0 0;background:rgba(15,23,42,.18);backdrop-filter:blur(4px);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s ease;z-index:950
}
.nav-backdrop.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 22px;border-radius:999px;border:1px solid var(--line);cursor:pointer;font-weight:600;
  transition:all .2s ease
}
.btn-primary{background:var(--text);color:#fff;box-shadow:none}
.btn-primary:hover{background:#303136;transform:none}
.btn-secondary{background:#fff;border-color:var(--line);box-shadow:none}
.btn-secondary:hover{background:var(--surface-2);transform:none}
.btn-ghost{background:transparent;border-color:var(--line)}
.hero{
  padding:56px 0 42px
}
.hero-panel{
  background:
    linear-gradient(0deg, rgba(231,215,193,.25), rgba(231,215,193,0)),
    #fff;
  border:1px dashed var(--line);border-radius:24px;padding:48px;box-shadow:none;
  position:relative;overflow:hidden;
}
.hero-panel::after{display:none}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:var(--step--1);font-weight:500;color:var(--muted);margin-bottom:24px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:end;position:relative;z-index:1}
.hub-hero-grid{grid-template-columns:minmax(0,1fr);align-items:start}
.hub-hero-grid h1{max-width:12ch}
.hero h1{font-size:clamp(2.8rem,5vw,var(--step-6));line-height:1.02;margin:0 0 22px;max-width:11ch}
.hero p{font-size:1.05rem;color:var(--muted);max-width:62ch;margin:0 0 30px;line-height:1.7}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:24px}
.hero-meta{display:flex;flex-wrap:wrap;gap:12px}
.badge{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:var(--step--1);font-weight:500}
.kpi-card{background:#fff;border:1px dashed var(--line);border-radius:18px;padding:28px;box-shadow:none}
.kpi-card h3{margin:0 0 14px;font-size:var(--step-1)}
.kpi-list{display:grid;gap:14px}
.kpi-item{padding:18px 18px;border-radius:14px;background:var(--surface-2);display:flex;justify-content:space-between;gap:12px;border:1px dashed var(--line)}
.kpi-item strong{font-size:var(--step-1)}
.section{padding:42px 0 20px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}
.section-head h2{font-size:clamp(2rem,3vw,var(--step-4));line-height:1.04}
.section-head p{max-width:62ch;color:var(--muted);margin:0;line-height:1.72}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:none}
.panel + .panel{margin-top:28px}
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{
  background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:none;position:relative;overflow:hidden
}
.card.wire{background:#fff}
.card h3,.card h4{margin:0 0 14px;line-height:1.15}
.card h3{font-size:var(--step-2)}
.card h4{font-size:var(--step-1)}
.card p{margin:0;color:var(--muted);line-height:1.72}
.card .meta{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0}
.icon-chip,.tag{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:var(--step--1);font-weight:500;color:var(--muted)}
.card-link{margin-top:22px;display:inline-flex;align-items:center;gap:8px;font-weight:500;color:var(--muted);font-size:var(--step--1);text-decoration:underline;text-underline-offset:3px}
.cards-scroll{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.search-shell{
  position:relative;
  margin-top:-10px;
  z-index:6
}
.search-shell-title{
  margin:0 0 18px;
  font-size:clamp(1.8rem, 3vw, var(--step-4));
  line-height:1.05
}
.search-bar{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1.2fr 1.1fr .9fr auto;
  gap:0;
  padding:10px;
  border-radius:36px;
  border:1px solid var(--line);
  background:#f2f2f2
}
.search-segment{
  position:relative;
  display:grid;
  gap:8px;
  padding:18px 24px;
  border-radius:28px
}
.search-segment + .search-segment::before{
  content:"";
  position:absolute;
  left:0;
  top:22px;
  bottom:22px;
  width:1px;
  background:#d7d9de
}
.search-segment.is-dates{z-index:3}
.search-segment label{
  font-size:var(--step--1);
  font-weight:700;
  color:var(--text)
}
.search-field{
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:var(--muted);
  text-align:left;
  appearance:none
}
.search-select:focus,.search-trigger:focus{outline:none}
.search-trigger{cursor:pointer}
.search-segment.is-open{
  background:#fff;
  box-shadow:0 0 0 2px rgba(27,27,29,.9)
}
.search-segment.is-open::before,
.search-segment.is-open + .search-segment::before,
.search-segment:has(+ .is-open)::before{opacity:0}
.btn-search{
  align-self:center;
  padding-inline:28px;
  background:#1b1b1d;
  color:#fff;
  border-color:#1b1b1d
}
.btn-search:hover{background:#303136;border-color:#303136}
.search-popover{
  position:absolute;
  left:12px;
  right:12px;
  top:calc(100% + 12px);
  border-radius:34px;
  border:1px solid var(--line);
  background:#fff;
  padding:28px;
  box-shadow:0 24px 60px rgba(27,27,29,.08)
}
.search-dates-popover{display:grid;gap:24px}
.search-popover[hidden]{display:none}
.search-mode-panel{
  display:grid;
  gap:24px
}
.search-mode-panel[hidden]{display:none}
.search-toggle{
  width:min(420px,100%);
  margin:0 auto;
  padding:8px;
  border-radius:999px;
  background:#ececec;
  display:grid;
  grid-template-columns:repeat(2,1fr)
}
.search-toggle-btn{
  border:0;
  background:transparent;
  border-radius:999px;
  padding:16px 20px;
  font-weight:700;
  cursor:pointer
}
.search-toggle-btn.is-active{
  background:#fff;
  box-shadow:0 0 0 1px var(--line)
}
.search-popover-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  align-items:start
}
.calendar-card{
  display:grid;
  gap:16px;
  align-content:start
}
.calendar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}
.calendar-head strong{font-size:var(--step-2)}
.calendar-arrow,.carousel-arrow,.stepper-btn{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid var(--line);
  background:#fff;
  cursor:pointer;
  font-size:1.8rem;
  line-height:1
}
.calendar-arrow[disabled],.carousel-arrow[disabled]{opacity:.35;cursor:not-allowed}
.calendar-weekdays,.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:10px
}
.calendar-weekdays span{
  text-align:center;
  color:var(--muted);
  font-size:var(--step--1)
}
.calendar-day{
  min-height:48px;
  border-radius:16px;
  border:1px solid transparent;
  background:#fff;
  cursor:pointer;
  font-weight:600
}
.calendar-day.is-muted{color:#c7cad3;cursor:default}
.calendar-day.is-selected,.calendar-day.is-in-range{
  background:#f4efe8;
  border-color:#d5c6b3
}
.calendar-day.is-selected{
  background:#1b1b1d;
  color:#fff;
  border-color:#1b1b1d
}
.departures-view-toggle{
  margin:0;
  max-width:220px
}
.departures-destination-filters{
  margin-bottom:24px
}
.departures-layout{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:24px;
  align-items:start
}
.departures-calendar-stage{
  display:grid;
  gap:18px
}
.departures-browser-head{
  margin-bottom:8px
}
.departures-month-grid{
  gap:10px
}
.departures-month-grid .calendar-day{
  min-height:96px;
  padding:12px;
  border-radius:18px;
  border-color:#eceff5;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  text-align:left
}
.departures-month-grid .calendar-day.is-departure{
  background:#f7f3ed;
  border-color:#eadbc8
}
.departures-month-grid .calendar-day.is-selected{
  background:#1b1b1d;
  border-color:#1b1b1d;
  color:#fff
}
.departures-day-number{
  font-weight:700
}
.departures-day-count{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid #eadbc8;
  color:#8f6846;
  font-size:var(--step--1);
  font-weight:700
}
.calendar-day.is-selected .departures-day-count{
  background:#303136;
  border-color:#50535a;
  color:#fff
}
.departures-year-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px
}
.departures-month-card{
  padding:22px;
  border-radius:20px;
  border:1px solid var(--line);
  background:#fff;
  display:grid;
  gap:16px;
  cursor:pointer
}
.departures-month-card.is-active{
  border-color:#1b1b1d;
  box-shadow:0 0 0 1px #1b1b1d inset
}
.departures-month-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}
.departures-month-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  background:#1b1b1d;
  color:#fff;
  font-size:var(--step--1);
  font-weight:700
}
.departures-month-preview{
  display:grid;
  gap:10px
}
.departures-month-preview span{
  color:var(--muted);
  font-size:var(--step--1)
}
.departures-detail-card{
  min-height:100%
}
.departures-detail-list{
  display:grid;
  gap:14px
}
.departure-detail-item{
  padding:18px;
  border-radius:16px;
  background:var(--surface-2);
  border:1px solid var(--line)
}
.departure-detail-item h4{
  margin:0 0 8px;
  font-size:var(--step-1)
}
.departure-detail-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:10px
}
.departure-detail-note{
  margin:0;
  color:var(--muted)
}
.departure-result-card{
  display:grid;
  gap:16px
}
.departure-result-dates{
  display:flex;
  flex-wrap:wrap;
  gap:10px
}
.search-flexibility{
  display:flex;
  flex-wrap:wrap;
  gap:12px
}
.flex-chip{
  padding:14px 18px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  cursor:pointer
}
.flex-chip.is-active{
  border-color:#1b1b1d;
  box-shadow:0 0 0 1px #1b1b1d inset
}
.search-popover-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px
}
.search-hint{color:var(--muted);font-size:var(--step--1)}
.flex-mode-intro,.flex-mode-months{
  display:grid;
  gap:20px;
  justify-items:center;
  text-align:center
}
.flex-mode-intro h3,.flex-mode-months h3{
  font-size:clamp(1.55rem,2.3vw,var(--step-3));
  line-height:1.08
}
.flex-duration-row{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px
}
.flex-duration-chip{
  padding:14px 24px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  font-size:var(--step-1);
  cursor:pointer
}
.flex-duration-chip.is-active{
  border-color:#1b1b1d;
  box-shadow:0 0 0 1px #1b1b1d inset
}
.flex-months-row{
  width:100%;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:14px;
  align-items:center
}
.flex-months-track{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px
}
.flex-month-card{
  min-height:180px;
  padding:22px 14px;
  border-radius:20px;
  border:1px solid var(--line);
  background:#fff;
  display:grid;
  place-items:center;
  gap:8px;
  text-align:center;
  cursor:pointer
}
.flex-month-card.is-active{
  border-color:#1b1b1d;
  box-shadow:0 0 0 1px #1b1b1d inset
}
.flex-month-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  border:2px solid #767676;
  position:relative
}
.flex-month-icon::before,.flex-month-icon::after{
  content:"";
  position:absolute;
  top:8px;
  width:4px;
  height:10px;
  border-radius:999px;
  background:#767676
}
.flex-month-icon::before{left:12px}
.flex-month-icon::after{right:12px}
.flex-month-icon span{
  position:absolute;
  left:0;
  right:0;
  top:16px;
  height:2px;
  background:#767676
}
.flex-month-label{
  font-size:var(--step-1);
  line-height:1.15
}
.flex-month-label strong{display:block}
.flex-month-label span{
  display:block;
  margin-top:6px;
  font-size:var(--step-0);
  color:var(--text)
}
.search-travelers-popover{
  left:auto;
  right:12px;
  width:min(360px,calc(100% - 24px))
}
.travelers-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px
}
.travelers-row p{margin:4px 0 0;color:var(--muted);font-size:var(--step--1)}
.traveler-stepper{
  display:flex;
  align-items:center;
  gap:16px;
  font-weight:700
}
.signature-carousel{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:18px;
  align-items:center
}
.signature-viewport{overflow:hidden}
.signature-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 48px) / 3);
  gap:24px;
  transition:transform .28s ease
}
.signature-card{min-width:0}
.testimonials-stage{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:24px;
  align-items:stretch
}
.testimonial-feature{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:40px;
  border-radius:28px;
  background:linear-gradient(135deg,#f6efe6,#ffffff 58%);
  border:1px solid var(--line);
  min-height:100%
}
.testimonial-kicker,.testimonial-label{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(27,27,29,.14);
  background:#fff;
  color:var(--muted);
  font-size:var(--step--1);
  font-weight:600
}
.testimonial-feature h3{
  margin:18px 0 18px;
  font-size:clamp(1.9rem,2.6vw,2.6rem);
  max-width:16ch
}
.testimonial-feature p{max-width:56ch}
.testimonial-signature{
  display:grid;
  gap:2px;
  margin-top:24px
}
.testimonial-signature span{color:var(--muted);font-size:var(--step--1)}
.testimonial-notes{
  display:grid;
  grid-template-rows:repeat(3,1fr);
  gap:18px;
  height:100%
}
.testimonial-note{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:26px;
  border-radius:22px;
  border:1px solid var(--line);
  background:#fff
}
.testimonial-note p{margin-top:14px}
.timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;position:relative}
.timeline::before{content:"";position:absolute;left:40px;right:40px;top:22px;height:2px;background:var(--line);z-index:0}
.step{position:relative;z-index:1;padding-top:8px}
.step-index{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line);color:var(--text);font-weight:600;margin-bottom:16px}
.step h4{margin:0 0 8px;font-size:var(--step-0)}
.step p{margin:0;color:var(--muted);font-size:var(--step--1);line-height:1.65}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.metric{padding:22px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}
.metric strong{display:block;font-size:var(--step-2)}
.metric span{color:var(--muted);font-size:var(--step--1)}
.feature-list{display:grid;gap:16px}
.feature-item{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}
.feature-item strong{display:block;margin-bottom:4px}
.hub-story-grid{align-items:start}
.hub-story-panel,.hub-departures-panel{height:100%}
.hub-story-panel .section-head,
.hub-departures-panel .section-head{margin-bottom:22px}
.hub-trust-proof{
  margin-top:20px;
  padding:22px;
  border-radius:18px;
  border:1px dashed var(--line);
  background:linear-gradient(180deg, rgba(231,215,193,.24), rgba(255,255,255,.98))
}
.hub-trust-proof strong{
  display:block;
  margin-bottom:10px;
  font-size:var(--step-1)
}
.hub-trust-proof p{
  margin:0 0 14px;
  color:var(--muted)
}
.hub-trust-list{
  margin:0;
  padding-left:18px;
  color:var(--text)
}
.hub-trust-list li + li{margin-top:8px}
.hub-departures-list{
  display:grid;
  gap:14px;
  margin-bottom:24px
}
.hub-departure-item{
  display:grid;
  gap:8px;
  padding:18px 20px;
  border-radius:16px;
  background:var(--surface-2);
  border:1px solid var(--line)
}
.hub-departure-topline{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start
}
.hub-departure-item strong{
  font-size:var(--step-1)
}
.hub-departure-meta{
  color:var(--muted);
  font-size:var(--step--1)
}
.agency-accordion{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.agency-accordion-item{
  scroll-margin-top:var(--anchor-offset);
  border-top:1px solid var(--line)
}
.agency-accordion-item:first-child{
  border-top:0
}
.agency-accordion-trigger{
  width:100%;
  display:grid;
  grid-template-columns:64px minmax(220px, .95fr) minmax(280px, 1.25fr) 48px;
  gap:24px;
  align-items:center;
  padding:24px 0;
  border:0;
  background:transparent;
  text-align:left;
  cursor:pointer
}
.agency-accordion-index{
  font-size:var(--step-2);
  line-height:1;
  color:#9b5336;
  letter-spacing:-.04em
}
.agency-accordion-title{
  font-size:clamp(1.9rem, 3.1vw, 3.15rem);
  font-weight:600;
  letter-spacing:-.04em;
  line-height:1.02
}
.agency-accordion-summary{
  max-width:34ch;
  color:var(--muted);
  font-size:var(--step-0);
  line-height:1.45
}
.agency-accordion-icon{
  width:36px;
  height:36px;
  position:relative;
  justify-self:end
}
.agency-accordion-icon::before,
.agency-accordion-icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:22px;
  height:1.5px;
  border-radius:999px;
  background:var(--text);
  transform:translate(-50%, -50%);
  transition:transform .24s ease,opacity .24s ease
}
.agency-accordion-icon::after{
  transform:translate(-50%, -50%) rotate(90deg)
}
.agency-accordion-item.is-open .agency-accordion-icon::after{
  opacity:0
}
.agency-accordion-panel{
  padding:0 0 28px
}
.agency-accordion-intro{
  max-width:72ch;
  margin:0 0 22px
}
.agency-accordion-intro p{
  margin:0;
  font-size:var(--step-0);
  color:color-mix(in srgb, var(--text) 76%, white)
}
.agency-accordion-layout{
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr);
  gap:22px
}
.agency-accordion-layout-3{
  grid-template-columns:repeat(3, minmax(0, 1fr))
}
.agency-accordion-card{
  padding:22px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(179,66,44,.04), #f8f9fc);
  border:1px solid var(--line)
}
.agency-accordion-card h3,
.agency-accordion-card h4{
  margin-bottom:8px;
  font-size:var(--step-1);
  line-height:1.15
}
.agency-accordion-card p{
  margin:0;
  color:var(--muted);
  font-size:var(--step--1);
  line-height:1.6
}
.agency-accordion-list-card{
  background:#f8f9fc
}
.agency-accordion-bullets{
  list-style:none;
  margin:16px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px 20px
}
.agency-accordion-bullets li{
  position:relative;
  padding-left:20px;
  color:color-mix(in srgb, var(--text) 78%, white);
  font-size:var(--step--1);
  line-height:1.55
}
.agency-accordion-bullets li::before{
  content:"";
  position:absolute;
  left:0;
  top:.58em;
  width:8px;
  height:8px;
  border-radius:999px;
  background:#9b5336
}
.agency-accordion-bullets.compact{
  grid-template-columns:1fr;
  gap:14px;
  margin-top:14px
}
.annotation{
  margin:18px 0 0;padding:16px 18px;border:1px dashed var(--annotation-border);background:var(--annotation-bg);border-radius:14px;
  font-size:var(--step--1);color:var(--muted);line-height:1.7
}
body.hide-notes .annotation{display:none}
.cta-band{
  padding:46px 52px;
  border-radius:28px;
  background:#f3f3f4;
  color:var(--text);
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:center;
  border:1px solid #c9cfda
}
.cta-band strong{
  display:block;
  font-size:clamp(1.8rem,2.8vw,2.2rem);
  line-height:1.12
}
.cta-band p{
  margin:12px 0 0;
  color:#6d7487;
  font-size:clamp(1.15rem,1.7vw,1.35rem);
  line-height:1.45
}
.cta-band .btn-secondary{
  flex:0 0 auto;
  padding:24px 42px;
  border-radius:999px;
  border-color:#c9cfda;
  background:#f3f3f4;
  font-size:clamp(1.05rem,1.5vw,1.2rem);
  font-weight:700
}
.cta-band .btn-secondary:hover{
  background:#eceef3;
  border-color:#bfc7d5
}
.footer{padding:64px 0 72px;color:var(--muted)}
.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,.8fr);gap:28px}
.footer h4{margin:0 0 12px;color:var(--text);font-size:var(--step-1)}
.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.footer li.is-current a{color:var(--text);font-weight:700}
.note-legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.note-legend .tag{background:#fffdf0;border-color:#f2d648;color:#6b5a00}
.mega{
  position:fixed;top:96px;left:50%;width:min(1120px, calc(100vw - 48px));
  background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:none;padding:24px;
  opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%) translateY(8px);
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease
}
.nav-item.is-open .mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.mega-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:28px}
.mega h4{margin:0 0 12px}
.mega h4 + ul{margin-bottom:18px}
.mega h4:last-of-type + ul{margin-bottom:0}
.mega ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.mega a{display:block;padding:12px 14px;border-radius:12px}
.mega a:hover{background:var(--surface-2)}
.mega-highlight{
  margin-top:8px;
  padding:16px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(231,215,193,.28), rgba(248,249,252,.92));
  border:1px solid rgba(181,189,204,.8)
}
.mega-highlight h4{margin-bottom:10px}
.mega-highlight ul{gap:0}
.mega-highlight a{
  background:#fff;
  border:1px solid rgba(181,189,204,.7);
  font-weight:600
}
.mega-highlight a:hover{background:#fff;border-color:#9ca3af}
.mega-cta-stack{display:grid;gap:16px;align-content:start}
.mega-feature{padding:22px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}
.mega-visual{
  min-height:180px;
  margin-bottom:18px;
  background:rgba(179,66,44,.06)
}
.mega-cta{margin-top:8px}
.mega-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff;color:var(--muted);font-size:.84rem;margin-bottom:18px;border:1px solid var(--line)}
.page-intro{padding:40px 0 0}
.breadcrumb{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:var(--step--1);font-weight:500;margin-bottom:20px}
.filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.filters-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.filters-calendar{grid-template-columns:repeat(4,minmax(0,1fr))}
.filter-group{padding:18px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}
.filter-group label{display:block;font-size:var(--step--1);color:var(--muted);margin-bottom:8px;font-weight:700}
.quick-submit{display:flex;flex-direction:column;justify-content:flex-end}
.chip-btn{
  padding:12px 16px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--muted);
  font-weight:600;
  cursor:pointer
}
.chip-btn.is-active{
  background:var(--text);
  color:#fff;
  border-color:var(--text)
}
.sur-mesure-destination-filters{
  display:flex;
  flex-wrap:nowrap;
  gap:12px;
  overflow:auto;
  margin-bottom:22px
}
.sur-mesure-destination-filters .chip-btn{
  flex:1 1 0;
  min-width:0;
  white-space:nowrap
}
.sur-mesure-eligibility{padding-top:24px}
.sur-mesure-eligibility-panel{
  background:linear-gradient(180deg, rgba(231,215,193,.28), rgba(248,249,252,.92));
  border-color:rgba(181,189,204,.85)
}
.sur-mesure-eligibility-panel .section-head{margin-bottom:20px}
.sur-mesure-eligibility-list{
  display:flex;
  flex-wrap:wrap;
  gap:12px
}
.select, .input{
  width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--text)
}
.results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.search-results-layout{
  display:grid;
  grid-template-columns:320px minmax(0, 1fr);
  gap:28px;
  align-items:start
}
.search-results-sidebar{
  position:sticky;
  top:132px;
  max-height:calc(100vh - 148px);
  overflow:auto
}
.search-results-sidebar .filters{
  grid-template-columns:1fr;
  gap:10px
}
.search-results-sidebar .panel,
.search-results-sidebar{
  scrollbar-width:thin
}
.search-results-sidebar .section-head{
  margin-bottom:18px
}
.search-results-sidebar .section-head h2{
  font-size:clamp(1.4rem, 2vw, 1.8rem)
}
.search-results-sidebar .section-head p{
  font-size:var(--step--1);
  line-height:1.5
}
.search-results-sidebar .filter-group label{
  margin-bottom:6px;
  font-size:.72rem
}
.search-results-sidebar .select,
.search-results-sidebar .input{
  padding:10px 12px;
  border-radius:10px;
  font-size:var(--step--1)
}
.search-results-main{
  min-width:0
}
.editorial-card .topline{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:12px
}
.homepage-custom-trip-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  min-height:100%;
  padding:32px;
  background:
    linear-gradient(180deg, rgba(179,66,44,.07), rgba(248,249,252,.96)),
    #fff;
  border-style:dashed
}
.homepage-custom-trip-card h3{
  max-width:10ch;
  margin-bottom:14px
}
.homepage-custom-trip-card p{
  margin-bottom:24px;
  max-width:28ch
}
.homepage-custom-trip-card .btn{
  margin-top:auto
}
.editorial-card p{
  margin-bottom:22px
}
.editorial-hero-note{
  display:grid;
  gap:10px
}
.editorial-article{
  display:grid;
  gap:28px
}
.editorial-article-body{
  display:grid;
  gap:18px;
  max-width:74ch
}
.editorial-article-body h2{
  font-size:var(--step-3)
}
.editorial-article-body p,
.editorial-article-body li{
  color:var(--muted);
  line-height:1.72
}
.editorial-article-body ul{
  margin:0;
  padding-left:20px
}
.editorial-article-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap
}
.editorial-article-aside{
  display:grid;
  gap:18px
}
.circuit-card .topline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.circuit-card .compare-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.date-hint{margin-top:18px;color:var(--muted);font-size:var(--step--1)}
.date-stack{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.availability-pill{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;border:1px solid var(--line);margin-top:18px;font-size:var(--step--1);font-weight:700}
.availability-compatible{background:#effaf3;color:#246b42;border-color:#b9dfc8}
.availability-partial{background:#fff8e8;color:#8a6116;border-color:#ead39b}
.availability-open{background:#f3f4f6;color:#4b5563;border-color:#d1d5db}
.availability-none{background:#fff1f2;color:#9f1239;border-color:#fecdd3}
.suggestions-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.heatmap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.heatmap-card{padding:18px;border-radius:16px;border:1px solid var(--line);display:grid;gap:4px;background:#fff}
.heatmap-card strong{text-transform:capitalize}
.heatmap-card span{color:var(--muted);font-size:var(--step--1)}
.heatmap-high{background:#f5efe5}
.heatmap-medium{background:#f8f4ea}
.heatmap-low{background:#fcfaf5}
.heatmap-none{background:#fbfcfd}
.hybrid-list{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}
.checkbox-inline{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--step--1)}
.compare-bar{
  position:fixed;left:50%;bottom:20px;transform:translateX(-50%);width:min(1180px, calc(100vw - 32px));z-index:1100;background:#fff;border:1px solid var(--line);box-shadow:none;border-radius:18px;padding:18px 20px;display:none
}
.compare-bar.is-visible{display:flex;align-items:center;justify-content:space-between;gap:18px}
.compare-pills{display:flex;gap:10px;flex-wrap:wrap}
.compare-pill{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:500}
.compare-modal{position:fixed;inset:0;background:rgba(15,23,42,.45);display:none;align-items:center;justify-content:center;padding:20px;z-index:1200}
.compare-modal.is-open{display:flex}
.modal-card{background:#fff;border-radius:18px;border:1px solid var(--line);width:min(1180px,100%);max-height:90vh;overflow:auto;padding:30px;box-shadow:none}
.modal-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:16px}
.compare-table{width:100%;border-collapse:collapse}
.compare-table th,.compare-table td{padding:14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.compare-table th:first-child,.compare-table td:first-child{font-weight:700;width:220px}
.map-shell{padding:26px;border-radius:18px;background:#fff;border:1px dashed var(--line)}
.map-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.route-svg{width:100%;height:auto}
.stop{fill:#c9d0da;stroke:#fff;stroke-width:4;transition:fill .24s ease,transform .24s ease}
.stop-label{font-size:13px;fill:#8d97a8;font-weight:600;transition:fill .24s ease}
.stop.is-completed{fill:#b3422c}
.stop.is-active{fill:#1b1b1d;transform:scale(1.08);transform-origin:center}
.stop-label.is-completed{fill:#8f3d2d}
.stop-label.is-active{fill:#1b1b1d}
.route-line{fill:none;stroke:#b5bdcc;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:12 10}
.day-list{display:grid;gap:14px}
.day-item{padding:18px;border-radius:14px;background:var(--surface-2);border:1px dashed var(--line)}
.accordion details{border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 18px}
.accordion details + details{margin-top:10px}
.accordion summary{cursor:pointer;list-style:none;padding:16px 0;font-weight:700}
.accordion summary::-webkit-details-marker{display:none}
.accordion .content{padding:0 0 16px;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form-grid .full{grid-column:1 / -1}
.result-box{padding:20px;border-radius:14px;background:#fff;border:1px dashed var(--line);color:var(--text);display:none}
.result-box.is-visible{display:block}
.circuit-contact-panel{
  background:linear-gradient(180deg, #fff 0%, #fbf7f3 100%);
  border-style:solid
}
.circuit-contact-intro{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-bottom:22px
}
.circuit-contact-path{
  padding:22px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--line)
}
.circuit-contact-path h3{margin:12px 0 10px}
.circuit-contact-path p{margin:0;color:var(--muted)}
.circuit-contact-toggle{
  margin:0 0 22px 0;
  max-width:380px
}
.circuit-contact-panels{
  padding:24px;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--line)
}
.circuit-contact-panels .result-box{margin-top:20px}
.estimate-layout{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:24px;
  align-items:start
}
.estimate-main{
  display:grid;
  gap:24px
}
.estimate-help-card h3,.estimate-form-panel h3{margin:12px 0}
.estimate-help-card p{margin:0 0 18px;color:var(--muted)}
.estimate-sidebar{
  position:sticky;
  top:148px
}
.estimate-summary-card{
  max-height:calc(100vh - 168px);
  display:flex;
  flex-direction:column;
  padding:24px;
  overflow:hidden
}
.estimate-summary-card h3{
  margin-bottom:14px;
  flex:0 0 auto
}
.estimate-summary-list{
  display:grid;
  gap:8px;
  margin-bottom:16px;
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding-right:6px
}
.estimate-summary-list div{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:10px 0;
  border-bottom:1px solid var(--line)
}
.estimate-summary-list span{
  color:var(--muted);
  font-size:var(--step--1)
}
.estimate-summary-list strong{
  text-align:right;
  font-size:var(--step--1);
  line-height:1.4
}
.estimate-price-box{
  padding:16px 18px;
  border-radius:18px;
  background:#f7f3ed;
  border:1px solid #eadbc8;
  margin:0 0 16px;
  flex:0 0 auto
}
.estimate-price-box span{
  display:block;
  font-size:var(--step--1);
  color:#8f6846;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em
}
.estimate-price-box strong{
  display:block;
  margin:8px 0 6px;
  font-size:clamp(1.8rem,3vw,2.35rem);
  line-height:1.02
}
.estimate-price-box p{
  margin:0;
  color:var(--muted);
  font-size:var(--step--1);
  line-height:1.5
}
.estimate-lead-form{
  flex:0 0 auto
}
.estimate-lead-form .section-head{
  margin-bottom:14px !important
}
.estimate-lead-form .section-head h4{
  font-size:var(--step-1)
}
.estimate-lead-form .section-head p{
  font-size:var(--step--1);
  line-height:1.45
}
.estimate-lead-form .form-grid{gap:12px}
.estimate-lead-form .input{
  padding:12px 14px
}
.estimate-lead-form .btn{
  width:100%
}
.wizard-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:28px
}
.wizard-step{
  display:grid;
  gap:8px;
  justify-items:start;
  padding:18px;
  border-radius:18px;
  border:1px solid var(--line);
  background:#fff;
  cursor:pointer;
  text-align:left
}
.wizard-step span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:#f3f4f6;
  font-weight:700
}
.wizard-step strong{
  font-size:var(--step--1);
  line-height:1.4
}
.wizard-step.is-active{
  border-color:#1b1b1d;
  box-shadow:0 0 0 1px #1b1b1d inset
}
.wizard-step.is-active span{
  background:#1b1b1d;
  color:#fff
}
.wizard-form{
  display:grid;
  gap:22px
}
.wizard-panel{
  display:grid;
  gap:22px
}
.wizard-panel[hidden]{display:none}
.wizard-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-top:6px
}
.wizard-actions-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap
}
.wizard-page-indicator{
  font-size:var(--step--1);
  color:var(--muted);
  font-weight:700
}
.sur-mesure-stops{
  margin-top:8px
}
.sur-mesure-stops-list{
  display:grid;
  gap:14px
}
.itinerary-stop-row{
  display:grid;
  grid-template-columns:minmax(220px,.7fr) minmax(0,1fr) auto;
  gap:14px;
  padding:16px;
  border-radius:16px;
  background:var(--surface-2);
  border:1px solid var(--line)
}
.itinerary-stop-row .btn{
  align-self:start
}
.info-chip{
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  vertical-align:middle;
  cursor:help
}
.quick-links{display:flex;gap:12px;flex-wrap:wrap}
.table-lite{width:100%;border-collapse:collapse}
.table-lite th,.table-lite td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left}
.destinations-story{
  --story-visual-bg:#b3422c0f;
  --story-visual-line:#b3422c26;
  --story-sticky-top:118px;
  --story-head-height:120px;
  --story-content-gap:24px;
  --story-content-top:calc(var(--story-sticky-top) + var(--story-head-height) + var(--story-content-gap));
  --story-card-height:clamp(260px, 34vh, 320px);
  --story-final-hold:calc(var(--story-card-height) + clamp(140px, 18vh, 220px));
}
.destinations-story-layout{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  grid-template-rows:var(--story-head-height) auto;
  column-gap:28px;
  row-gap:var(--story-content-gap);
  align-items:start
}
.destinations-story-sticky-column{
  grid-column:1 / -1;
  grid-row:1 / span 2;
  position:sticky;
  top:var(--story-sticky-top);
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  grid-template-rows:var(--story-head-height) auto;
  column-gap:28px;
  row-gap:var(--story-content-gap);
  align-items:start;
  min-height:calc(100vh - var(--story-sticky-top) - 28px);
  z-index:3;
  pointer-events:none
}
.destinations-story-sticky-column > *{pointer-events:auto}
.destinations-story-head{
  grid-column:1 / -1;
  grid-row:1;
  margin-bottom:0;
  align-items:start;
  background:var(--surface);
  padding-bottom:4px
}
.destinations-story-head > div{max-width:min(940px, 100%)}
.destinations-story-head h2{
  max-width:18ch;
  margin-bottom:10px
}
.destinations-story-head p{max-width:56ch}
.destinations-story-visual-wrap{
  grid-column:1;
  grid-row:2;
  min-height:0
}
.destinations-story-sticky-spacer{
  grid-column:2;
  grid-row:2;
  min-height:0;
  pointer-events:none
}
.mock-photo.destinations-story-visual{
  position:relative;
  top:auto;
  height:100%;
  min-height:clamp(320px, calc(100vh - 340px), 520px);
  border-style:solid;
  border-color:var(--story-visual-line);
  background:var(--story-visual-bg)
}
.mock-photo.destinations-story-visual::after{
  content:"Visuel : " attr(data-story-label);
  left:18px;
  bottom:14px;
  padding:7px 11px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--story-visual-line);
  color:var(--muted);
  font-size:var(--step--1);
  font-weight:600
}
.destinations-story-cards{
  grid-column:2;
  grid-row:2;
  display:grid;
  gap:0;
  padding-bottom:var(--story-final-hold)
}
.destination-story-card{
  position:sticky;
  top:var(--story-content-top);
  height:var(--story-card-height);
  min-height:260px;
  border-radius:24px;
  z-index:var(--story-layer, 1);
  transition:border-color .24s ease,transform .24s ease
}
.destination-story-card + .destination-story-card{margin-top:clamp(72px, 10vh, 120px)}
.destination-story-card.is-active{border-color:rgba(27,27,29,.22)}
.destination-story-index{
  display:inline-grid;
  place-items:center;
  width:44px;
  height:44px;
  margin-bottom:18px;
  border-radius:14px;
  border:1px solid rgba(27,27,29,.08);
  background:rgba(27,27,29,.03);
  color:var(--muted);
  font-size:var(--step--1);
  font-weight:700
}
.destination-story-card h3{margin-bottom:12px}
.destination-story-card p{max-width:32ch}
.agency-story-single{
  --story-sticky-top:118px;
  --story-head-height:148px;
  --story-content-gap:18px;
  --story-content-top:calc(var(--story-sticky-top) + var(--story-head-height) + var(--story-content-gap));
  --story-card-height:clamp(220px, 29vh, 272px);
  --story-final-hold:clamp(20px, 4vh, 40px);
  max-width:820px;
  margin:0 auto
}
.agency-story-single-head{
  display:block;
  position:sticky;
  top:var(--story-sticky-top);
  z-index:12;
  margin:0 auto;
  padding:0 0 18px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.96) 78%, rgba(255,255,255,0));
  text-align:center;
  align-items:unset;
  justify-content:unset
}
.agency-story-single.is-story-complete .agency-story-single-head{
  position:relative;
  top:auto
}
.agency-story-single-head > div{
  max-width:62ch;
  margin:0 auto
}
.agency-story-single-head .tag{
  margin-bottom:14px
}
.agency-story-single-head h2{
  max-width:16ch;
  margin:0 auto 10px
}
.agency-story-single-head p{
  margin:0 auto;
  max-width:56ch
}
.agency-story-single-cards{
  position:relative;
  display:grid;
  gap:0;
  max-width:720px;
  margin:0 auto;
  padding:18px 0 var(--story-final-hold)
}
.agency-story-single-cards::before{
  content:"";
  position:absolute;
  top:22px;
  bottom:30px;
  left:50%;
  width:2px;
  transform:translateX(-50%);
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(155,83,54,.28) 0 9px,
      transparent 9px 18px
    );
  pointer-events:none
}
.agency-story-single .destination-story-card{
  position:sticky;
  top:var(--story-content-top);
  width:min(100%, 640px);
  min-height:var(--story-card-height);
  height:var(--story-card-height);
  margin-left:auto;
  margin-right:auto;
  padding:52px 30px 28px;
  background:#fff;
  text-align:center;
  overflow:visible;
  z-index:1;
  transition:border-color .24s ease, transform .24s ease, box-shadow .24s ease
}
.agency-story-single .destination-story-card + .destination-story-card{
  margin-top:clamp(78px, 10vh, 118px)
}
.agency-story-single .destination-story-card.is-active{
  border-color:rgba(155,83,54,.36);
  box-shadow:0 16px 36px rgba(27,27,29,.06)
}
.agency-story-single .destination-story-card p{
  max-width:46ch;
  margin:0 auto
}
.agency-story-single .destination-story-index{
  position:absolute;
  left:50%;
  top:-23px;
  transform:translateX(-50%);
  width:46px;
  height:46px;
  margin-bottom:0;
  background:#fff;
  border-color:rgba(155,83,54,.22);
  color:#9b5336;
  z-index:1
}
.agency-story-visual{
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:clamp(24px, 3.4vw, 36px);
  background:
    radial-gradient(circle at top right, rgba(223,177,130,.4), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.55), rgba(155,83,54,.08)),
    var(--story-visual-bg);
}
.agency-story-visual::before{
  content:"";
  position:absolute;
  inset:22px;
  border-radius:22px;
  border:1px dashed rgba(155,83,54,.18);
  pointer-events:none
}
.agency-story-copy{
  position:relative;
  z-index:1;
  display:grid;
  gap:12px;
  max-width:32ch;
  padding:22px 22px 20px;
  border-radius:22px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(155,83,54,.16);
  backdrop-filter:blur(10px)
}
.agency-story-copy .tag{
  width:max-content;
  background:#fff8f2;
  border-color:rgba(155,83,54,.2);
  color:#85513a
}
.agency-story-copy h3{
  font-size:var(--step-3)
}
.agency-story-copy p{
  margin:0;
  color:var(--muted)
}
.circuit-story{
  --story-card-height:clamp(280px, 32vh, 340px);
  --story-final-hold:calc(var(--story-card-height) + clamp(80px, 12vh, 140px))
}
.circuit-story .destination-story-card{
  padding:22px 24px
}
.circuit-stage-days{
  display:grid;
  gap:12px
}
.circuit-stage-day{
  display:grid;
  gap:4px;
  padding-top:10px;
  border-top:1px solid rgba(27,27,29,.08)
}
.circuit-stage-day:first-child{
  padding-top:0;
  border-top:0
}
.circuit-stage-day strong{
  font-size:var(--step--1);
  letter-spacing:.01em
}
.circuit-stage-day span{
  color:var(--muted);
  font-size:var(--step--1);
  line-height:1.55
}
.media-strip{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
.mock-photo{min-height:240px;border-radius:16px;border:1px dashed var(--line);background:rgba(179,66,44,.06);position:relative;overflow:hidden}
.mock-photo::after{content:"AMT visual";position:absolute;left:18px;bottom:14px;padding:7px 11px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:var(--step--1);color:var(--muted)}
.quote{padding:26px;border-radius:18px;background:#fff;border:1px solid var(--line);display:grid;gap:14px}
.quote blockquote{margin:0;font-size:var(--step-1);line-height:1.45}
.quote footer{color:var(--muted);font-size:var(--step--1)}
.empty-state{padding:32px;border-radius:18px;border:1px dashed var(--line);background:#fbfcfd;color:var(--muted);text-align:center}
.mobile-nav-toggle{display:none}
@media (max-width: 1120px){
  .main-nav{gap:2px}
  .filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .filters-quick,.filters-calendar,.hybrid-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .results-grid,.grid-4,.cards-scroll,.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-grid,.media-strip,.mega-grid,.footer-grid,.search-results-layout{grid-template-columns:1fr}
  .search-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .search-bar > .btn-search{grid-column:1 / -1}
  .search-popover-grid,.testimonials-stage{grid-template-columns:1fr}
  .flex-months-track{grid-template-columns:repeat(3,minmax(0,1fr))}
  .signature-track{grid-auto-columns:calc((100% - 24px) / 2)}
  .timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .timeline::before{display:none}
}
@media (max-width: 860px){
  :root{--anchor-offset:136px}
  .page{padding-top:76px}
  .mobile-nav-toggle{display:inline-flex;border:1px solid var(--line);background:#fff;padding:10px 12px;border-radius:12px}
  .header-inner{min-height:72px;padding:0 16px}
  .main-nav{
    position:fixed;left:16px;right:16px;top:76px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:none;
    padding:16px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;max-height:calc(100vh - 100px);overflow:auto;
    opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px) scale(.98);transition:opacity .24s ease,transform .24s ease,visibility .24s ease;
    background:#fff
  }
  .nav-primary-group{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0}
  .main-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}
  .nav-item,.nav-plain{width:100%}
  .nav-link,.nav-plain{width:100%;justify-content:space-between;border-radius:16px;padding:15px 16px;font-size:.9rem;white-space:normal}
  .nav-item.is-current>.nav-link,.nav-plain.is-current{background:#f3f4f6}
  .nav-cta-link{justify-self:auto}
  .mega{
    position:static;transform:none;width:100%;margin-top:12px;padding:16px;box-shadow:none;border-radius:14px;
    max-height:0;overflow:hidden;opacity:1;visibility:visible;pointer-events:auto;transition:max-height .28s ease,padding .24s ease,margin .24s ease
  }
  .nav-item .mega{padding-top:0;padding-bottom:0;margin-top:0;border-width:0}
  .nav-item.is-open .mega{max-height:480px;margin-top:10px;padding:16px;border-width:1px}
  .hero-panel{padding:32px}
  .hero h1{max-width:none}
  .results-grid,.grid-3,.grid-2,.form-grid,.filters,.filters-quick,.filters-calendar,.metrics,.timeline,.heatmap-grid,.hybrid-list,.circuit-contact-intro,.estimate-layout,.wizard-steps,.itinerary-stop-row,.departures-layout,.departures-year-grid{grid-template-columns:1fr}
  .page-anchor-nav{top:76px}
  .estimate-sidebar{position:static}
  .search-results-sidebar{
    position:static;
    max-height:none;
    overflow:visible
  }
  .agency-accordion-trigger{
    grid-template-columns:52px 1fr 36px;
    gap:18px;
    padding:20px 0
  }
  .agency-accordion-title{
    font-size:clamp(1.75rem, 8vw, 2.5rem)
  }
  .agency-accordion-summary{
    grid-column:2 / 4;
    max-width:none;
    font-size:var(--step--1)
  }
  .agency-accordion-panel{
    padding-bottom:22px
  }
  .agency-accordion-layout,
  .agency-accordion-layout-3,
  .agency-accordion-bullets{
    grid-template-columns:1fr
  }
  .wizard-actions{align-items:flex-start;flex-direction:column}
  .departures-month-grid .calendar-day{min-height:82px}
  .search-shell{margin-top:0}
  .search-bar{grid-template-columns:1fr;border-radius:28px}
  .search-segment{padding:16px 18px}
  .search-segment + .search-segment::before{display:none}
  .search-popover{
    left:0;
    right:0;
    top:calc(100% + 10px);
    padding:20px;
    border-radius:24px
  }
  .search-popover-actions,.travelers-row{flex-direction:column;align-items:flex-start}
  .search-travelers-popover{width:100%;right:0}
  .flex-months-row{grid-template-columns:1fr}
  .flex-months-track{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flex-month-nav{display:none}
  .signature-carousel{grid-template-columns:1fr}
  .signature-carousel > .carousel-arrow{display:none}
  .signature-track{grid-auto-columns:100%}
  .cta-band{flex-direction:column;align-items:flex-start}
}
@media (max-width: 1024px), (prefers-reduced-motion: reduce){
  .destinations-story-layout{
    grid-template-columns:1fr;
    grid-template-rows:auto;
    row-gap:18px
  }
  .destinations-story-head{
    position:static;
    top:auto;
    padding-bottom:0
  }
  .destinations-story-sticky-column{
    grid-column:auto;
    grid-row:auto;
    position:static;
    top:auto;
    grid-template-columns:1fr;
    grid-template-rows:auto;
    min-height:0;
    gap:18px;
    pointer-events:auto
  }
  .mock-photo.destinations-story-visual,
  .destination-story-card{
    position:static;
    top:auto
  }
  .agency-story-copy{
    max-width:none
  }
  .destinations-story-sticky-spacer{display:none}
  .mock-photo.destinations-story-visual{
    min-height:280px
  }
  .destinations-story-cards{
    grid-column:auto;
    grid-row:auto;
    gap:18px;
    padding-top:0;
    padding-bottom:0
  }
  .destination-story-card{
    height:auto;
    min-height:auto
  }
  .agency-story-single-head{
    position:static;
    top:auto;
    margin-bottom:18px;
    padding-bottom:0;
    background:transparent
  }
  .agency-story-single-cards{
    padding-bottom:0
  }
  .agency-story-single-cards::before{
    top:20px;
    bottom:20px;
    left:50%
  }
  .agency-story-single .destination-story-card{
    position:static;
    top:auto;
    width:100%;
    height:auto;
    min-height:auto;
    padding:48px 22px 22px
  }
  .agency-story-single .destination-story-card + .destination-story-card{
    margin-top:18px
  }
  .agency-story-single .destination-story-index{
    left:50%;
    top:-20px;
    transform:translateX(-50%);
    width:40px;
    height:40px
  }
}
