.elementor-24 .elementor-element.elementor-element-3058604b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-24 .elementor-element.elementor-element-4732339f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-24 .elementor-element.elementor-element-6cc7a7f9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-24 .elementor-element.elementor-element-80aff11{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-24 .elementor-element.elementor-element-14e55161{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-24 .elementor-element.elementor-element-691e4630{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-24 .elementor-element.elementor-element-588d465e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-24 .elementor-element.elementor-element-1199db1b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-24 .elementor-element.elementor-element-7bb2701{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-24 .elementor-element.elementor-element-121662d8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-24 .elementor-element.elementor-element-1ce51667{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-24 .elementor-element.elementor-element-2abbfc9f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-24 .elementor-element.elementor-element-13008069{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}/* Start custom CSS *//* ============================================================================
   ESCAPE ITINERARIES — parent index
   The same visual language as the city pages: mint/white rhythm, image band
   with a dark overlay, DM Serif Display over Inter.
   Built for the FULL roster from day one — 97 cities across 12 regions, with
   only the live ones linked. Adding a city is one flag in data/cities.js; the
   page needs no redesign as the roster fills in.
   Namespace: .idx-*
   ========================================================================== */
.idx{
  --night:#22301F; --moss:#384D34; --moss-2:#4A7345; --quiet:#5A7355;
  --sage:#7BA673; --edge:#9CBF95; --hair:#CAE5C1;
  --mint:#E6F8E1; --band:#E1F0DC; --pale:#F3FFEF; --white:#FFFFFF;

  --pad:clamp(1.15rem,4.5vw,5rem);
  --bay:clamp(2.6rem,1.6rem + 5vw,6rem);

  --t-eyebrow:clamp(.62rem,.57rem + .2vw,.78rem);
  --t-body:clamp(1rem,.95rem + .35vw,1.15rem);
  --t-lead:clamp(1.12rem,1rem + .75vw,1.55rem);
  --t-h3:clamp(1.3rem,1.05rem + 1.1vw,1.9rem);
  --t-h2:clamp(1.7rem,1.2rem + 2.4vw,3.2rem);
  --t-h1:clamp(2.4rem,1.1rem + 5.6vw,6rem);

  background:var(--white); color:var(--moss);
  font-family:"Inter",system-ui,sans-serif; font-size:var(--t-body); line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
.idx *,.idx *::before,.idx *::after{box-sizing:border-box}
.idx p{margin:0 0 1.15em}
.idx h1,.idx h2,.idx h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400;line-height:1.06;margin:0;letter-spacing:-.018em}
.idx img{display:block;max-width:100%;height:auto}
.idx a{color:inherit}
.idx-eyebrow{font-size:var(--t-eyebrow);letter-spacing:.34em;text-transform:uppercase;color:var(--moss-2)}

/* buttons — the site's own specification, scoped so `.idx a{color:inherit}`
   cannot outscore them and paint the label in body colour */
.idx-btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;
  font-family:"Inter",sans-serif;font-size:.9rem;font-weight:500;letter-spacing:.08rem;
  line-height:1.2;text-transform:uppercase;text-decoration:none;text-align:center;
  padding:clamp(15px,2.2vw,20px) clamp(24px,3.6vw,40px);
  border:1px solid transparent;border-radius:0;cursor:pointer;
  transition:background-color .3s,color .3s,border-color .3s}
.idx .idx-btn--ghost{color:#E6F8E1;background:transparent;border-color:#E6F8E1}
.idx .idx-btn--ghost:hover,.idx .idx-btn--ghost:focus-visible{color:#384D34;background:#E6F8E1;border-color:transparent}
.idx .idx-btn--solid{color:#E6F8E1;background:#384D34;border-color:transparent}
.idx .idx-btn--solid:hover,.idx .idx-btn--solid:focus-visible{color:#384D34;background:transparent;border-color:#384D34}
.idx-btns{display:flex;flex-wrap:wrap;gap:clamp(.7rem,1.4vw,1rem)}

.idx-wrap{width:min(100% - var(--pad)*2,84rem);margin-inline:auto}
.idx-sec{padding-block:var(--bay)}
.idx-sec--mint{background:var(--band)}
.idx-sec--pale{background:var(--pale)}

/* ---------- hero: background plate + dark overlay ------------------------ */
.idx-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;
  min-height:min(72svh,42rem);
  background:#22301F url("https://myntmodels-itinerary-ideas.donebyjc.site/wp-content/uploads/2026/09/ny-hero.webp") center center/cover no-repeat}
.idx-hero::before{content:"";position:absolute;inset:0;background:#22301F;opacity:.8;z-index:-1}
.idx-hero .idx-wrap{padding-block:clamp(2.5rem,6vw,5rem)}
.idx-hero .idx-eyebrow{display:block;color:var(--sage);margin-bottom:1rem}
.idx-hero h1{font-size:var(--t-h1);color:var(--pale);max-width:13ch}
.idx-hero h1 em{font-style:normal;display:block;color:var(--sage)}
.idx-hero p{font-size:var(--t-lead);max-width:42ch;color:var(--hair);line-height:1.46;margin-top:clamp(1rem,2vw,1.6rem)}
.idx-hero .idx-btns{margin-top:clamp(1.4rem,2.8vw,2.2rem)}

.idx-h{max-width:34ch;margin-bottom:clamp(1.5rem,3vw,2.6rem)}
.idx-h .idx-eyebrow{display:block;margin-bottom:.9rem}
.idx-h h2{font-size:var(--t-h2)}

/* ---------- the live city, given its own plate --------------------------- */
.idx-feature{display:grid;grid-template-columns:minmax(0,1fr);gap:0;
  border:1px solid var(--hair);background:var(--pale);overflow:hidden;text-decoration:none}
@media (min-width:52rem){ .idx-feature{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:stretch} }
.idx-feature figure{margin:0;position:relative;min-height:clamp(15rem,32vw,100%)}
.idx-feature figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform 1s cubic-bezier(.2,.7,.3,1)}
.idx-feature:hover figure img{transform:scale(1.04)}
.idx-feature .in{padding:clamp(1.4rem,3.4vw,3rem);display:flex;flex-direction:column;gap:.5rem;justify-content:center}
.idx-feature h3{font-size:var(--t-h3)}
.idx-feature .sub{color:var(--quiet);font-size:.96rem}
.idx-feature .esc{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}
.idx-feature .esc span{font-size:var(--t-eyebrow);letter-spacing:.14em;text-transform:uppercase;
  color:var(--moss-2);border:1px solid var(--hair);padding:.4rem .7rem}
.idx-feature .go{margin-top:1rem;font-size:var(--t-eyebrow);letter-spacing:.22em;
  text-transform:uppercase;color:var(--moss-2)}
.idx-feature:hover .go{text-decoration:underline;text-underline-offset:.3em}

/* ---------- the roster ---------------------------------------------------
   An alphabetical name list, not a card grid — so multi-column flow is the
   right treatment here and a short final column reads as normal, not broken.
------------------------------------------------------------------------- */
.idx-group + .idx-group{margin-top:clamp(2rem,4vw,3.4rem)}
.idx-group-h{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  font-size:clamp(1.1rem,.95rem + .7vw,1.5rem);
  padding-bottom:.7rem;border-bottom:1px solid var(--moss);margin-bottom:.4rem}
.idx-group-h i{font-style:normal;font-family:"Inter",sans-serif;font-size:var(--t-eyebrow);
  letter-spacing:.2em;color:var(--edge)}
.idx-cities{list-style:none;margin:0;padding:0;columns:1;column-gap:clamp(1.5rem,3vw,3rem)}
@media (min-width:38rem){ .idx-cities{columns:2} }
@media (min-width:64rem){ .idx-cities{columns:3} }
.idx-cities li{break-inside:avoid;padding-block:.7rem;border-bottom:1px solid var(--hair);
  display:flex;flex-direction:column;gap:.1rem}
.idx-cities .nm{font-family:"DM Serif Display",Georgia,serif;font-size:1.06rem;line-height:1.2}
.idx-cities .ex{font-size:.82rem;color:var(--quiet);line-height:1.45}
.idx-cities .soon{font-size:var(--t-eyebrow);letter-spacing:.18em;text-transform:uppercase;
  color:var(--edge);margin-top:.15rem}
.idx-cities .go{font-size:var(--t-eyebrow);letter-spacing:.18em;text-transform:uppercase;
  color:var(--moss-2);margin-top:.15rem}
.idx-cities li:not(.is-live){opacity:.62}
.idx-cities li.is-live{opacity:1}
.idx-cities li.is-live a{display:flex;flex-direction:column;gap:.1rem;text-decoration:none;
  transition:padding-left .25s}
.idx-cities li.is-live a:hover{padding-left:.4rem}
.idx-cities li.is-live a:hover .go{text-decoration:underline;text-underline-offset:.28em}
.idx-cities li.is-live .nm{color:var(--moss)}
.idx-cities li.is-live a:focus-visible{outline:2px solid var(--moss-2);outline-offset:3px}

/* ---------- image band with dark overlay --------------------------------- */
.idx-band{position:relative;isolation:isolate;background:#384D34 center center/cover no-repeat;
  min-height:clamp(18rem,40svh,26rem);display:flex;align-items:center}
.idx-band::before{content:"";position:absolute;inset:0;background:#384D34;opacity:.8;z-index:-1}
.idx-band .idx-eyebrow{color:var(--sage)}
.idx-band h2{color:var(--pale)}
.idx-band p{color:var(--hair);max-width:56ch}

/* ---------- close --------------------------------------------------------- */
.idx-close{background:var(--night);color:var(--mint)}
.idx-close .idx-eyebrow{display:block;color:var(--sage);margin-bottom:1rem}
.idx-close h2{font-size:var(--t-h2);color:var(--pale);max-width:18ch;margin-bottom:clamp(.9rem,2vw,1.3rem)}
.idx-close p{color:var(--hair);max-width:54ch}
.idx-close .idx-btns{margin-top:clamp(1.1rem,2.2vw,1.7rem)}


/* ============================================================================
   ELEMENTOR BRIDGE
   Elementor emits, in EVERY template's stylesheet:
       .elementor-widget-heading .elementor-heading-title{
         font-family: var(--e-global-typography-primary-font-family);
         color: var(--e-global-color-primary) }
   at specificity (0,2,0) — including the footer's post-22.css, which WordPress
   enqueues AFTER this page's own stylesheet. A bridge written as
   `.idx .elementor-heading-title` is also (0,2,0), so it ties and loses on
   source order, and the page renders Roboto / #6EC1E4 blue. Prefixing with
   `.elementor` clears the tie at (0,3,0) without !important, which the client
   could not otherwise override from inside Elementor's own UI.
   ========================================================================== */
.elementor .idx .elementor-heading-title{
  font-family:"DM Serif Display",Georgia,serif;font-weight:400;
  line-height:1.05;letter-spacing:-.018em;color:var(--moss)}
.elementor .idx-hero .elementor-heading-title{color:var(--pale)}
.elementor .idx-hero h1.elementor-heading-title em{font-style:normal;display:block;color:var(--sage)}
.elementor .idx .elementor-widget-text-editor{
  font-family:"Inter",system-ui,sans-serif;line-height:1.72;color:var(--quiet)}
.elementor .idx .elementor-widget-text-editor p{margin:0 0 1.15em}
.elementor .idx .elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor .idx-hero .elementor-widget-text-editor{color:var(--hair)}
.elementor .idx .idx-eyebrow.elementor-widget-text-editor p{
  font-size:var(--t-eyebrow,.72rem);letter-spacing:.34em;text-transform:uppercase;
  color:var(--moss-2);margin:0}
.elementor .idx-hero .idx-eyebrow.elementor-widget-text-editor p{color:var(--sage)}
.elementor .idx .elementor-widget-button .elementor-widget-container{width:auto}

/* ---- the second-column overflow ----------------------------------------- */
/* Elementor sets `.e-con > .e-con-inner{height:100%}` and gives containers
   `flex-wrap:wrap`. A COLUMN container whose content is taller than that fixed
   height wraps into a SECOND COLUMN, throwing everything off the right edge.
   Letting the inner grow removes the constraint that triggers the wrap. */
.idx .e-con > .e-con-inner,
.idx.e-con > .e-con-inner{height:auto;min-height:100%}


/* A column container must never wrap: Elementor's default `flex-wrap:wrap`
   plus its `.e-con > .e-con-inner{height:100%}` turns any overflow into a
   SECOND COLUMN off the right edge. `height:auto` alone does not stop it,
   because `min-height:100%` still gives the container a definite main size. */
.idx .e-con > .e-con-inner,
.idx .e-con-full.e-flex{flex-wrap:nowrap}/* End custom CSS */