/* Rally difference / forest editorial treatment.
   Contrast and typography carry the design; interaction is a finishing touch.
   Staging-only styles. No scroll locking, pinning or accordion on mobile. */
.homePage .rallyJourney{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:91px 0 54px;
  background:radial-gradient(ellipse at 88% 3%,rgba(151,149,98,.18),transparent 43%),
             linear-gradient(116deg,#0b2a25 0%,#123c33 62%,#133b33 100%);
  color:#f5f0e5;
  border-block:1px solid rgba(219,199,158,.15);
}
.homePage .rallyJourney:before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,rgba(249,241,220,.025) 52%,transparent 100%);
}
.homePage .rallyJourney .shell{position:relative}
.rallyJourneyIntro{text-align:center;max-width:900px;margin:0 auto}
.rallyJourneyKicker{
  display:inline-flex;gap:12px;align-items:center;
  font:800 10px "DM Sans",sans-serif;letter-spacing:.21em;
  text-transform:uppercase;color:#d4b783;
}
.rallyJourneyKicker:before,.rallyJourneyKicker:after{
  content:"";width:28px;height:1px;background:rgba(210,184,137,.72);
}
.homePage .rallyJourneyIntro h2{
  max-width:940px;margin:25px auto 23px;
  font:500 clamp(43px,5.2vw,72px)/1.09 "Playfair Display",Georgia,serif;
  letter-spacing:-.048em;color:#fff9ed;
}
.rallyJourneyIntro h2 em{font-weight:500;color:#e0c59a}
.rallyJourneyIntro>p{max-width:745px;margin:0 auto;color:#d5dfd8;font-size:16px;line-height:1.81}
.rallyJourneyStage{position:relative;height:450px;margin-top:42px}
.rallyJourneyPath{position:absolute;inset:19px 0 auto;width:100%;height:210px;overflow:visible;pointer-events:none}
.rallyJourneyPathGuide{fill:none;stroke:rgba(227,214,186,.24);stroke-width:1.5;opacity:1}
.rallyJourneyPathInk{fill:none;stroke:rgba(232,206,162,.64);stroke-width:1.45;stroke-linecap:round;stroke-dasharray:1700;stroke-dashoffset:0}
.rallyJourneyStep{
  position:absolute;z-index:1;left:var(--journey-x);top:var(--journey-y);
  width:25%;max-width:284px;text-align:center;transform:translateX(-50%);
}
.rallyJourneyTrigger{
  all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;
  justify-content:flex-start;width:100%;min-width:0;cursor:pointer;
  color:inherit;text-align:center;border-radius:15px;-webkit-tap-highlight-color:transparent;
}
.rallyJourneyTrigger:focus-visible{outline:2px solid #dec294;outline-offset:7px}
.rallyJourneyDot{
  position:relative;display:grid;place-items:center;flex:none;
  width:34px;height:34px;border:1px solid rgba(227,203,163,.32);
  border-radius:50%;background:#24463a;
  box-shadow:0 0 0 4px rgba(20,63,52,.95);
  transition:transform .65s cubic-bezier(.17,.82,.21,1),box-shadow .65s ease,border-color .65s ease;
}
.rallyJourneyDot:before{
  content:"";position:absolute;inset:-10px;border-radius:50%;
  background:radial-gradient(circle,rgba(223,192,139,.26),transparent 72%);
  opacity:0;transform:scale(.7);
  transition:opacity .65s ease,transform .7s cubic-bezier(.17,.82,.21,1);
  pointer-events:none;
}
.rallyJourneyDotCore{
  position:relative;z-index:1;display:block;width:9px;height:9px;
  border-radius:50%;background:#d7bb8d;
  box-shadow:0 0 7px 2px rgba(226,195,143,.24);
  transition:transform .62s cubic-bezier(.17,.82,.21,1),box-shadow .62s ease;
}
.rallyJourneyNumber{
  display:block;color:#d6ba90;font:800 9px "DM Sans",sans-serif;
  letter-spacing:.16em;text-transform:uppercase;margin-top:26px;
}
.rallyJourneyTitle{
  display:block;max-width:245px;color:#f8f4e9;
  font:500 clamp(19px,2.25vw,29px)/1.15 "Playfair Display",Georgia,serif;
  letter-spacing:-.022em;margin:11px auto 0;min-height:70px;
  transition:color .48s ease,transform .6s cubic-bezier(.17,.82,.21,1);
}
.rallyJourneyDetail{
  box-sizing:border-box;position:absolute;z-index:3;top:calc(100% + 13px);left:50%;
  width:min(275px,100%);padding:23px 24px 25px;
  border:1px solid rgba(227,199,154,.3);border-radius:15px;
  background:#fcf9f1;box-shadow:0 22px 45px rgba(2,20,15,.25);
  text-align:left;opacity:0;visibility:hidden;pointer-events:none;
  transform:translate(-50%,10px);
  transition:opacity .46s ease,transform .65s cubic-bezier(.17,.82,.21,1),visibility .46s;
}
.rallyJourneyDetail:before{
  content:"";position:absolute;left:calc(50% - 5px);top:-6px;width:10px;height:10px;
  background:#fcf9f1;border-left:1px solid rgba(227,199,154,.3);
  border-top:1px solid rgba(227,199,154,.3);transform:rotate(45deg);
}
.rallyJourneyDetail p{color:#506058;font-size:13px;line-height:1.72;margin:0}
.rallyJourneyStep.is-active{z-index:6}
.rallyJourneyStep.is-active .rallyJourneyDot{
  transform:scale(1.13);border-color:rgba(230,201,157,.7);
  box-shadow:0 0 0 6px rgba(221,184,127,.16),0 0 24px 9px rgba(225,189,128,.24);
}
.rallyJourneyStep.is-active .rallyJourneyDot:before{opacity:1;transform:scale(1.2)}
.rallyJourneyStep.is-active .rallyJourneyDotCore{box-shadow:0 0 13px 4px rgba(225,187,123,.52)}
.rallyJourneyStep.is-active .rallyJourneyTitle{color:#e9ce9e;transform:translateY(-2px)}
.rallyJourneyStep.is-active .rallyJourneyDetail{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
@media(hover:hover) and (pointer:fine){
  .rallyJourneyStep:hover .rallyJourneyDot{transform:scale(1.13);box-shadow:0 0 0 6px rgba(221,184,127,.15),0 0 24px 9px rgba(225,189,128,.2)}
  .rallyJourneyStep:hover .rallyJourneyDot:before{opacity:1;transform:scale(1.2)}
}
@media(prefers-reduced-motion:no-preference){
  .rallyJourney.motion-ready .rallyJourneyPathInk{stroke-dashoffset:1700}
  .rallyJourney.motion-ready.is-visible .rallyJourneyPathInk{stroke-dashoffset:0;transition:stroke-dashoffset 2s cubic-bezier(.2,.7,.25,1) .15s}
  .rallyJourney.motion-ready .rallyJourneyIntro{opacity:0;transform:translateY(14px)}
  .rallyJourney.motion-ready.is-visible .rallyJourneyIntro{opacity:1;transform:none;transition:opacity .85s ease,transform .85s cubic-bezier(.2,.8,.2,1)}
}
/* One clear continuation link, not arrows attached to every benefit. */
.rallyJourneyFooter{
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  padding-top:23px;margin-top:0;
  border-top:1px solid rgba(218,199,165,.24);
}
.rallyJourneyFooter p{
  margin:0;color:#f2ecdd;
  font:500 clamp(21px,2.4vw,30px)/1.16 "Playfair Display",Georgia,serif;
  letter-spacing:-.025em;
}
.rallyJourneyFooter p em{color:#d7ba8d}
.rallyJourneyCTA{
  display:inline-flex;align-items:center;justify-content:space-between;gap:18px;
  flex-shrink:0;min-height:46px;padding:5px 5px 5px 18px;
  border:1px solid rgba(216,190,152,.5);border-radius:999px;
  color:#fcf6e8;text-decoration:none;
  font:800 10px "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.095em;
  transition:background .35s,color .35s,border-color .35s,transform .35s;
}
.rallyJourneyCTAIcon{
  display:grid;place-items:center;flex:none;width:34px;height:34px;
  border-radius:50%;background:#dfc293;color:#10382e;
  transition:background .35s,color .35s,transform .4s cubic-bezier(.2,.8,.2,1);
}
.rallyJourneyCTAIcon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.rallyJourneyCTA:hover,.rallyJourneyCTA:focus-visible{background:#e7c995;border-color:#e7c995;color:#0c3027;transform:translateY(-2px)}
.rallyJourneyCTA:hover .rallyJourneyCTAIcon,.rallyJourneyCTA:focus-visible .rallyJourneyCTAIcon{background:#163e33;color:#fff;transform:rotate(10deg)}
.rallyJourneyCTA:focus-visible{outline:2px solid #fff2cc;outline-offset:3px}

/* Keep the existing polished homepage arrow interactions, but not decorative tennis-ball/ticker movement. */
.homePage .adventureExplore:not(.adventureExploreStatic){display:inline-flex;align-items:center;justify-content:space-between;gap:11px;min-height:44px;padding:5px 5px 5px 16px;position:relative;overflow:hidden;white-space:nowrap;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#102e27;color:white;box-shadow:0 6px 17px rgba(13,42,39,.15);font-size:10px;font-weight:800;letter-spacing:.07em;transition:background .35s,color .35s,transform .35s,box-shadow .35s}
.homePage .adventureArrow{display:grid;place-items:center;width:33px;height:33px;flex:0 0 33px;border-radius:50%;background:#c9a572;color:#132e28;transition:background .35s,color .35s,transform .4s}
.homePage .adventureArrow svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.homePage .adventureTile[href]:hover .adventureExplore,.homePage .adventureTile[href]:focus-visible .adventureExplore{background:#b9945d;border-color:#b9945d;color:#102e27;transform:translateY(-3px);box-shadow:0 12px 25px rgba(13,42,39,.2)}
.homePage .adventureTile[href]:hover .adventureArrow,.homePage .adventureTile[href]:focus-visible .adventureArrow{background:#102e27;color:white;transform:rotate(12deg)}
.homePage .adventureTile[href]:hover .adventureArrow svg,.homePage .adventureTile[href]:focus-visible .adventureArrow svg{transform:translate(2px,-2px)}
.homePage .adventureTile:focus-visible{outline:3px solid #b9945d;outline-offset:4px;border-radius:9px}
.homePage .adventureExploreStatic{border:1px solid #bfc4bb;background:transparent;color:#6c736e;box-shadow:none;cursor:default}
.homePage .adventureCarouselButtons button{border:1px solid rgba(255,255,255,.8);backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px);box-shadow:0 12px 34px rgba(13,42,39,.23)}
.homePage .adventureCarouselButtons button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.homePage .adventureCarouselButtons button:not(:disabled):hover{background:#c6a16e;border-color:white;color:#0d2a27}
.homePage .adventureCarouselButtons button[data-adventure-scroll="-1"]:hover svg{transform:translateX(-4px)}
.homePage .adventureCarouselButtons button[data-adventure-scroll="1"]:hover svg{transform:translateX(4px)}
.homePage .homeButtonLight{gap:18px;padding:0 11px 0 26px;transition:background .35s,box-shadow .35s,transform .35s}
.homePage .rallyArrowCircle{display:grid;place-items:center;width:35px;height:35px;border:1px solid rgba(255,255,255,.38);border-radius:50%;background:rgba(255,255,255,.23);transition:background .4s,transform .4s}
.homePage .rallyArrowCircle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s}
.homePage .homeButtonLight:hover,.homePage .homeButtonLight:focus-visible{background:#c6a16e;transform:translateY(-3px);box-shadow:0 16px 28px rgba(0,0,0,.2)}
.homePage .homeButtonLight:hover .rallyArrowCircle,.homePage .homeButtonLight:focus-visible .rallyArrowCircle{background:rgba(255,255,255,.32)}
.homePage .homeButtonLight:hover .rallyArrowCircle svg,.homePage .homeButtonLight:focus-visible .rallyArrowCircle svg{transform:translateY(3px)}


/* Compact mobile editorial timeline; no hidden copy and no expansion. */
.rallyJourneyMobile,.rallyJourneyMobileLead{display:none}
@media(max-width:860px){
 .homePage .rallyJourney{padding:54px 0 45px}
 .homePage .rallyJourney .shell{width:min(550px,calc(100% - 38px))}
 .rallyJourneyIntro{text-align:left;max-width:none;margin:0}
 .rallyJourneyKicker{font-size:9px;letter-spacing:.17em;gap:10px}
 .rallyJourneyKicker:before{width:25px}
 .rallyJourneyKicker:after{display:none}
 .homePage .rallyJourneyIntro h2{
   font:500 clamp(38px,9.4vw,47px)/1.06 "Playfair Display",Georgia,serif;
   letter-spacing:-.051em;margin:17px 0 13px;max-width:500px;
 }
 .rallyJourneyIntro .rallyJourneyDesktopLead{display:none}
 .rallyJourneyIntro .rallyJourneyMobileLead{
   display:block;font-size:13.5px;line-height:1.67;
   color:#d7e0d8;max-width:435px;margin:0;
 }
 .rallyJourneyStage{display:none}
 .rallyJourneyMobile{display:block;margin-top:29px}
 .rallyJourneyMobileList{position:relative;list-style:none;max-width:510px;margin:0;padding:0}
 .rallyJourneyMobileList:before{
   content:"";position:absolute;top:7px;bottom:20px;left:4px;width:1px;
   background:linear-gradient(180deg,rgba(219,193,149,.65),rgba(219,193,149,.23),rgba(219,193,149,.5));
   pointer-events:none;
 }
 .rallyJourneyMobileItem{position:relative;padding:0 1px 19px 25px;margin:0;min-height:0}
 .rallyJourneyMobileItem:last-child{padding-bottom:0}
 .rallyJourneyMobileDot{
   position:absolute;z-index:1;left:0;top:6px;width:9px;height:9px;
   border-radius:50%;background:#c9a979;box-shadow:0 0 0 3px #10382f,0 0 9px 2px rgba(232,191,132,.14);
   transition:transform .5s ease,box-shadow .6s ease;
   pointer-events:none;
 }
 .rallyJourneyMobileItem.is-current .rallyJourneyMobileDot{
   transform:scale(1.08);box-shadow:0 0 0 3px #10382f,0 0 13px 5px rgba(229,188,124,.32);
 }
 .rallyJourneyMobileItem h3{
   color:#fbf4e6;font:500 clamp(21px,5.5vw,24px)/1.17 "Playfair Display",Georgia,serif;
   letter-spacing:-.024em;margin:0 0 6px;
 }
 .rallyJourneyMobileItem p{
   color:#cbd8d0;font:400 13px/1.61 "DM Sans",Arial,sans-serif;
   max-width:450px;letter-spacing:0;margin:0;
 }
 .rallyJourneyFooter{
   display:flex;flex-direction:column;align-items:flex-start;
   gap:16px;margin-top:27px;padding-top:20px;border-color:rgba(218,199,165,.25);
 }
 .rallyJourneyFooter p{font-size:clamp(21px,5.8vw,26px);line-height:1.15}
 .rallyJourneyCTA{gap:15px;min-height:43px;font-size:9px;padding:4px 4px 4px 15px}
 .rallyJourneyCTAIcon{width:33px;height:33px}
}
@media(max-width:360px){
 .homePage .rallyJourney{padding:47px 0 41px}
 .homePage .rallyJourney .shell{width:calc(100% - 34px)}
 .homePage .rallyJourneyIntro h2{font-size:37px}
 .rallyJourneyIntro .rallyJourneyMobileLead{font-size:13px}
 .rallyJourneyMobile{margin-top:24px}
 .rallyJourneyMobileItem{padding-bottom:16px}
 .rallyJourneyMobileItem h3{font-size:21px}
 .rallyJourneyMobileItem p{font-size:12.5px}
 .rallyJourneyFooter{margin-top:23px}
}
@media(prefers-reduced-motion:reduce){
 .rallyJourney *, .rallyJourney *:before,.rallyJourney *:after{transition:none!important;animation:none!important}
 .rallyJourney .rallyJourneyPathInk{stroke-dashoffset:0!important}
 .homePage .adventureArrow,.homePage .adventureArrow svg,.homePage .adventureExplore,.homePage .adventureCarouselButtons button svg,.homePage .homeButtonLight,.homePage .rallyArrowCircle,.homePage .rallyArrowCircle svg{transition:none!important}
}


/* Clay-court editorial photograph — low-height immersive band with a stable ratio.
   Preserve the full mobile copy and native scrolling. */
.homePage .rallyJourneyVisual{
  position:relative;display:block;overflow:hidden;
  width:100%;height:clamp(215px,25vw,290px);
  padding:0;margin:36px 0 0;
  background:#853a22;
  border:1px solid rgba(226,201,159,.32);
  border-radius:3px;
}
.homePage .rallyJourneyVisual img{
  display:block;width:100%;height:100%;object-fit:cover;
  object-position:50% 54%;
  filter:saturate(.92) contrast(1.015);
}
.homePage .rallyJourneyStage{margin-top:15px;height:420px}
@media(max-width:860px){
  .homePage .rallyJourneyVisual{
    height:clamp(129px,39vw,188px);
    margin:23px 0 0;
    border-radius:2px;
    border-color:rgba(226,201,159,.25);
  }
  .homePage .rallyJourneyVisual img{object-position:49% 54%}
  .homePage .rallyJourneyMobile{margin-top:24px}
}
@media(max-width:360px){
  .homePage .rallyJourneyVisual{height:130px;margin-top:19px}
  .homePage .rallyJourneyMobile{margin-top:20px}
}

/* Staging mobile: immersive Rally Difference image-and-copy hero (2026-10-21). */
@media (max-width:860px){
  /* Lay the existing accessible heading/copy directly over the existing photograph. */
  .homePage .rallyJourney{
    padding:0 0 43px;
  }
  .homePage .rallyJourney .shell{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:start;
  }
  .homePage .rallyJourneyIntro{
    position:relative;
    z-index:2;
    grid-column:1;
    grid-row:1;
    width:100%;
    min-height:clamp(430px,118vw,515px);
    margin:0;
    padding:clamp(35px,8vw,48px) 3px 43px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    text-align:left;
    pointer-events:none;
  }
  .homePage .rallyJourneyKicker{
    color:#ead0a4;
    text-shadow:0 1px 8px rgba(5,19,15,.28);
  }
  .homePage .rallyJourneyIntro h2{
    max-width:510px;
    margin:17px 0 0;
    font-size:clamp(40px,10.5vw,54px);
    line-height:1.065;
    letter-spacing:-.05em;
    color:#fff9ee;
    text-shadow:0 2px 18px rgba(2,24,18,.25);
  }
  .homePage .rallyJourneyIntro h2 em{color:#f0d1a0}
  .homePage .rallyJourneyIntro .rallyJourneyMobileLead{
    display:block;
    max-width:340px;
    margin:auto 0 0;
    font-size:clamp(13.5px,3.7vw,15px);
    line-height:1.64;
    font-weight:500;
    color:#fcf8ef;
    text-shadow:0 1px 12px rgba(3,25,19,.62);
  }
  .homePage .rallyJourneyVisual{
    position:relative;
    z-index:0;
    grid-column:1;
    grid-row:1;
    align-self:stretch;
    width:100vw;
    max-width:none;
    height:auto;
    min-height:100%;
    margin:0 0 0 calc(50% - 50vw);
    border:0;
    border-radius:0;
    overflow:hidden;
    background:#783921;
    isolation:isolate;
  }
  .homePage .rallyJourneyVisual img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:42% 54%;
    filter:saturate(.87) contrast(1.025) blur(1px);
    transform:scale(1.025);
  }
  .homePage .rallyJourneyVisual::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(
      180deg,
      rgba(7,31,26,.79) 0%,
      rgba(7,31,26,.52) 27%,
      rgba(7,31,26,.10) 54%,
      rgba(7,31,26,.36) 74%,
      #10382f 100%
    );
  }
  .homePage .rallyJourneyMobile{
    position:relative;
    z-index:1;
    grid-column:1;
    grid-row:2;
    margin:0;
    padding-top:12px;
  }
  .homePage .rallyJourneyFooter{
    grid-column:1;
    grid-row:3;
  }
}
@media (max-width:360px){
  .homePage .rallyJourney{padding-top:0}
  .homePage .rallyJourneyIntro{min-height:438px;padding:31px 1px 37px}
  .homePage .rallyJourneyIntro h2{font-size:39px}
  .homePage .rallyJourneyMobile{margin-top:0;padding-top:8px}
}


/* Rally Experience — floating aircraft windows / editorial rebuild | staging */
.homePage .rallyJourney.rallyOfferSection {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(44px,5.3vw,76px) 0 clamp(40px,5vw,68px);
  background:#fbf8f2;
  color:#12382f;
  border:0;
}
.homePage .rallyOfferSection::before{content:none}
.homePage .rallyOfferSection .shell{
  display:block;
  width:min(1300px,calc(100% - 64px));
  margin:0 auto;
}
.homePage .rallyOfferSection .rallyJourneyIntro{
  position:relative;
  display:block;
  width:100%;
  min-height:0;
  max-width:none;
  margin:0;
  padding:0;
  opacity:1;
  transform:none;
  text-align:left;
  pointer-events:auto;
}
.homePage .rallyOfferSection .rallyJourneyKicker{
  display:block;
  color:#b28754;
  font:700 11px/1.3 "DM Sans",Arial,sans-serif;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-shadow:none;
}
.homePage .rallyOfferSection .rallyJourneyKicker::before,
.homePage .rallyOfferSection .rallyJourneyKicker::after{content:none;display:none}
.homePage .rallyOfferSection .rallyJourneyIntro h2{
  display:block;
  max-width:none;
  margin:18px 0 0;
  padding:0;
  color:#10362e;
  font:500 clamp(42px,5.25vw,77px)/1.09 "Playfair Display",Georgia,serif;
  letter-spacing:-.049em;
  text-shadow:none;
}
.homePage .rallyOfferSection .rallyJourneyTitleTop{
  display:block;
  white-space:nowrap;
}
.homePage .rallyOfferSection .rallyJourneyTitleBottom{
  display:block;
  margin-top:2px;
  color:#667a70;
  font-size:.78em;
  font-weight:500;
  letter-spacing:-.044em;
}
.homePage .rallyFlightTrail{
  position:absolute;
  z-index:-1;
  width:min(36%,420px);
  height:auto;
  top:6px;
  right:0;
  opacity:.58;
  pointer-events:none;
  overflow:visible;
}
.homePage .rallyFlightTrailPath{
  stroke:#b9905d;
  stroke-width:1.25;
  stroke-dasharray:4 8;
  stroke-linecap:round;
}
.homePage .rallyFlightTrailPlane{fill:#b9905d;stroke:none}
/* The four windows float independently; no surrounding aircraft body or divider. */
.homePage .rallyAircraft{position:relative;margin:34px 0 0}
.homePage .rallyAircraftScroller{
  width:100%;
  outline-offset:4px;
}
.homePage .rallyAircraftScroller:focus-visible{
  outline:2px solid #ba915f;
  border-radius:12px;
}
.homePage .rallyAircraftTrack{
  display:grid;
  position:relative;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(18px,2vw,32px);
  align-items:start;
  width:100%;
  padding:0;
}
.homePage .rallyAircraftTrack::before,
.homePage .rallyAircraftTrack::after{content:none;display:none}
.homePage .rallyEditorialCard{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  position:relative;
  min-width:0;
  margin:0;
  padding:0;
}
.homePage .rallyEditorialPhoto{
  display:block;
  box-sizing:border-box;
  position:relative;
  width:min(100%,210px);
  aspect-ratio: .77;
  height:auto;
  padding:6px;
  margin:0;
  overflow:hidden;
  border:2px solid #fffcf5;
  border-radius:47% 47% 43% 43% / 26% 26% 26% 26%;
  background:#e5e0d7;
  box-shadow:0 0 0 1px #d1c2ad,0 0 0 5px #f0e8da,0 0 0 6px rgba(181,160,131,.25);
}
.homePage .rallyEditorialPhoto img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
  transition:transform .6s ease;
}
.homePage .rallyEditorialCard:nth-child(1) img{object-position:52% 45%}
.homePage .rallyEditorialCard:nth-child(2) img{object-position:50% 42%}
.homePage .rallyEditorialCard:nth-child(3) img{object-position:46% 48%}
.homePage .rallyEditorialCard:nth-child(4) img{object-position:50% 45%}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .homePage .rallyEditorialCard:hover .rallyEditorialPhoto img{transform:scale(1.035)}
}
.homePage .rallyEditorialCopy{
  width:100%;
  max-width:275px;
  margin:0;
  padding:22px 0 0;
  text-align:left;
}
.homePage .rallyEditorialNumber{
  display:block;
  margin:0 0 10px;
  color:#b28754;
  font:700 11px/1.1 "DM Sans",Arial,sans-serif;
  letter-spacing:.18em;
}
.homePage .rallyEditorialCopy h3{
  margin:0 0 10px;
  min-height:2.4em;
  color:#10362e;
  font:500 clamp(20px,1.75vw,27px)/1.2 "Playfair Display",Georgia,serif;
  letter-spacing:-.034em;
  overflow-wrap:break-word;
}
.homePage .rallyEditorialCopy p{
  max-width:260px;
  margin:0;
  color:#637369;
  font:400 clamp(13px,1.12vw,15px)/1.58 "DM Sans",Arial,sans-serif;
}
.homePage .rallyAircraftProgress{display:none}
.homePage .rallyOfferSection .rallyJourneyFooter{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:38px;
  padding-top:19px;
  border-top:1px solid #e5dfd2;
}
.homePage .rallyOfferSection .rallyJourneyFooter p{
  margin:0;
  color:#10362e;
  font:500 clamp(21px,2.35vw,29px)/1.18 "Playfair Display",Georgia,serif;
}
.homePage .rallyOfferSection .rallyJourneyFooter p em{color:#b18a5e}
.homePage .rallyOfferSection .rallyJourneyCTA{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  flex-shrink:0;
  gap:15px;
  min-height:46px;
  padding:5px 5px 5px 18px;
  border:1px solid #10382f;
  border-radius:99px;
  background:#10382f;
  color:#fffaf1;
  text-decoration:none;
  font:800 10px/1 "DM Sans",Arial,sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.homePage .rallyOfferSection .rallyJourneyCTAIcon{background:#cfb083;color:#10382f}
.homePage .rallyOfferSection .rallyJourneyCTA:hover,
.homePage .rallyOfferSection .rallyJourneyCTA:focus-visible{
  background:#b9945d;border-color:#b9945d;color:#10332c;
}
.homePage .rallyOfferSection .rallyJourneyCTA:hover .rallyJourneyCTAIcon,
.homePage .rallyOfferSection .rallyJourneyCTA:focus-visible .rallyJourneyCTAIcon{
  background:#14382d;color:#fff;
}
@media(max-width:980px) and (min-width:701px){
  .homePage .rallyAircraftTrack{gap:16px}
  .homePage .rallyEditorialPhoto{width:min(100%,180px)}
  .homePage .rallyEditorialCopy h3{font-size:20px}
  .homePage .rallyOfferSection .rallyJourneyIntro h2{font-size:clamp(37px,5.15vw,53px)}
}
@media(max-width:700px){
  .homePage .homeFeatured{padding-bottom:17px}
  .homePage .rallyJourney.rallyOfferSection{padding:25px 0 42px}
  .homePage .rallyOfferSection .shell{
    width:calc(100% - 36px);
    max-width:580px;
  }
  .homePage .rallyOfferSection .rallyJourneyIntro{min-height:0}
  .homePage .rallyOfferSection .rallyJourneyKicker{font-size:10px;letter-spacing:.17em}
  .homePage .rallyOfferSection .rallyJourneyIntro h2{
    margin:13px 0 0;
    font-size:clamp(28px,7.2vw,43px);
    line-height:1.12;
    letter-spacing:-.052em;
  }
  .homePage .rallyOfferSection .rallyJourneyTitleTop{white-space:normal}
  .homePage .rallyOfferSection .rallyJourneyTitleBottom{
    margin-top:8px;
    font-size:.77em;
    line-height:1.2;
  }
  .homePage .rallyFlightTrail{
    width:39%;
    top:-20px;
    right:-10px;
    opacity:.4;
  }
  .homePage .rallyAircraft{margin-top:24px}
  .homePage .rallyAircraftScroller{
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .homePage .rallyAircraftScroller::-webkit-scrollbar{display:none}
  .homePage .rallyAircraftTrack{
    display:flex;
    width:100%;
    min-width:100%;
    gap:0;
    padding:8px 0 0;
  }
  .homePage .rallyEditorialCard{
    flex:0 0 100%;
    width:100%;
    min-width:0;
    scroll-snap-align:start;
    align-items:center;
  }
  .homePage .rallyEditorialPhoto{
    width:min(72vw,286px);
    aspect-ratio:.79;
    max-height:355px;
    margin:5px auto 0;
    padding:7px;
    border-width:2px;
    box-shadow:0 0 0 1px #d1c2ad,0 0 0 5px #f0e8da,0 0 0 6px rgba(181,160,131,.22);
  }
  .homePage .rallyEditorialCopy{
    max-width:min(74vw,320px);
    margin:0 auto;
    padding:21px 0 0;
  }
  .homePage .rallyEditorialNumber{font-size:11px;margin-bottom:9px}
  .homePage .rallyEditorialCopy h3{
    min-height:0;
    margin-bottom:10px;
    font-size:clamp(27px,7vw,33px);
    line-height:1.15;
  }
  .homePage .rallyEditorialCopy p{
    max-width:320px;
    font-size:14px;
    line-height:1.58;
  }
  .homePage .rallyAircraftProgress{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:34px;
    margin:18px auto 0;
  }
  .homePage .rallyAircraftDot{
    appearance:none;
    flex:0 0 auto;
    display:block;
    width:26px;
    height:30px;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
    position:relative;
  }
  .homePage .rallyAircraftDot::after{
    content:"";
    display:block;
    position:absolute;
    left:50%;top:50%;
    transform:translate(-50%,-50%);
    width:9px;height:9px;
    border-radius:50%;
    background:#d9d3c9;
    transition:background .2s ease,transform .2s ease;
  }
  .homePage .rallyAircraftDot[aria-pressed="true"]::after{
    background:#b38a59;
    transform:translate(-50%,-50%) scale(1.12);
  }
  .homePage .rallyAircraftDot:focus-visible{outline:2px solid #b38a59;border-radius:12px}
  .homePage .rallyOfferSection .rallyJourneyFooter{
    flex-direction:column;
    align-items:flex-start;
    gap:15px;
    margin-top:19px;
    padding-top:20px;
  }
  .homePage .rallyOfferSection .rallyJourneyFooter p{font-size:24px}
  .homePage .rallyOfferSection .rallyJourneyCTA{min-height:44px;font-size:9px}
}
@media(max-width:360px){
  .homePage .homeFeatured{padding-bottom:15px}
  .homePage .rallyJourney.rallyOfferSection{padding:21px 0 37px}
  .homePage .rallyOfferSection .shell{width:calc(100% - 32px)}
  .homePage .rallyOfferSection .rallyJourneyIntro h2{font-size:27px}
  .homePage .rallyEditorialPhoto{width:min(73vw,265px)}
}
@media(prefers-reduced-motion:reduce){
  .homePage .rallyEditorialPhoto img,
  .homePage .rallyAircraftDot::after{transition:none!important}
  .homePage .rallyAircraftScroller{scroll-behavior:auto}
}

