/* =========================================================
   XCELERATE TRAVEL — /join lead-capture page (scoped)
   All selectors are prefixed "ld-" so nothing here can leak
   into, or be affected by, styles.css / advisor.css /
   become-advisor.css / club.css / pricing.css / xperiences.css.
   ========================================================= */
:root{
  /* depth of the curved sweep between the hero and the section below it,
     the ribbon that traces it is sized from this */
  --ld-curve:      64px;
  --ld-black:      #0a0b0a;
  --ld-black-2:    #0e0f0d;
  --ld-panel:      #15140f;
  --ld-panel-2:    #1a1813;
  --ld-glass:      rgba(16,15,12,.62);
  --ld-glass-brd:  rgba(255,255,255,.14);
  --ld-line:       rgba(255,255,255,.12);
  --ld-line-soft:  rgba(255,255,255,.07);
  --ld-gold:       #f5b517;
  --ld-gold-2:     #ffc93c;
  --ld-gold-dark:  #c99107;
  --ld-ivory:      #ede3d1;
  --ld-ivory-2:    #f2e9da;
  --ld-cream:      #e6d9c0;
  --ld-white:      #fffdf8;
  --ld-text-dark:  #1d1c19;
  --ld-muted:      #c9c1b6;
  --ld-muted-2:    #a39a8c;
  --ld-muted-dark: #625d55;
  --ld-radius:     22px;
  --ld-radius-sm:  14px;
  --ld-maxw:       1280px;
  --ld-shadow:     0 24px 60px rgba(0,0,0,.38);
  --ld-serif:      "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --ld-script:     "Allura", "Segoe Script", cursive;
  --ld-sans:       "Manrope", "Segoe UI", system-ui, sans-serif;
}

/* ---------- Reset (scoped to this page's body only) ---------- */
body.ld-page{ margin:0; background:var(--ld-black); color:var(--ld-cream);
  font-family:var(--ld-sans); font-weight:400; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
.ld-page *{ box-sizing:border-box; }
.ld-page img{ max-width:100%; display:block; }
.ld-page a{ color:inherit; text-decoration:none; }
.ld-page h1,.ld-page h2,.ld-page h3,.ld-page h4,.ld-page p{ margin:0; }
.ld-page :focus-visible{ outline:2px solid var(--ld-gold); outline-offset:3px; }
.ld-container{ width:100%; max-width:var(--ld-maxw); margin:0 auto; padding:0 clamp(20px,4vw,48px); }
.ld-sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ld-serif{ font-family:var(--ld-serif); }
.ld-script{ font-family:var(--ld-script); font-weight:400; color:var(--ld-gold); }
.ld-gold-text{ color:var(--ld-gold); }
.ld-eyebrow{ display:inline-flex; align-items:center; gap:9px; font-family:var(--ld-sans); font-weight:700;
  font-size:12px; letter-spacing:2.2px; text-transform:uppercase; color:var(--ld-gold); margin:0 0 16px; }
.ld-eyebrow--dark{ color:var(--ld-gold-dark); }
.ld-eyebrow svg{ flex:none; }

/* ---------- Buttons ---------- */
.ld-btn{ display:inline-flex; align-items:center; justify-content:center; gap:12px; font-family:var(--ld-sans);
  font-weight:700; font-size:14px; border-radius:999px; cursor:pointer; border:1px solid transparent;
  white-space:nowrap; transition:transform .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease; }
.ld-btn--gold{ background:var(--ld-gold); color:#181307; height:52px; padding:0 8px 0 26px; }
.ld-btn--gold:hover{ background:var(--ld-gold-2); transform:translateY(-2px); box-shadow:0 14px 30px rgba(245,181,23,.24); }
.ld-btn--ghost{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.28); color:var(--ld-white); height:48px; padding:0 22px; }
.ld-btn--ghost:hover{ transform:translateY(-2px); border-color:rgba(255,255,255,.5); }
.ld-btn--outline{ background:transparent; border:1.5px solid var(--ld-gold); color:var(--ld-gold); height:52px; padding:0 26px; }
.ld-btn--outline:hover{ background:var(--ld-gold); color:#181307; transform:translateY(-2px); box-shadow:0 14px 30px rgba(245,181,23,.22); }
.ld-btn--outline .ld-circle{ background:transparent; border:1.5px solid var(--ld-gold); color:var(--ld-gold); }
.ld-btn--outline:hover .ld-circle{ background:#181307; border-color:#181307; color:var(--ld-gold); }
.ld-btn--sm{ height:44px; font-size:13px; padding:0 7px 0 20px; }
.ld-btn--block{ width:100%; }
.ld-circle{ display:inline-grid; place-items:center; width:36px; height:36px; border-radius:50%;
  background:#181307; color:var(--ld-gold); flex:none; transition:transform .18s ease; }
.ld-btn:hover .ld-circle{ transform:translateX(2px); }

/* =========================================================
   HEADER
   ========================================================= */
.ld-header{ position:sticky; top:0; z-index:1000; background:rgba(10,11,10,.88); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--ld-line-soft); }
.ld-header__inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; height:76px; }
.ld-header__logo{ flex:none; }
.ld-header__logo img{ height:40px; width:auto; }
.ld-header__nav{ display:flex; align-items:center; justify-content:center; gap:28px; flex:1; }
.ld-header__nav a{ font-family:var(--ld-sans); font-size:12px; font-weight:700; letter-spacing:.8px;
  text-transform:uppercase; color:var(--ld-muted); white-space:nowrap; transition:color .2s ease; }
.ld-header__nav a:hover{ color:var(--ld-gold); }
.ld-header__cta{ flex:none; }
/* Nav links + CTA button need ~1085px to fit without crowding; hide the
   center nav a bit earlier than other 900px breakpoints on this page so
   there's no cramped/overflowing zone between 901-1085px (iPad landscape). */
@media(max-width:1090px){ .ld-header__nav{ display:none; } }
@media(max-width:640px){ .ld-header__cta{ display:none; } .ld-header__logo img{ height:32px; } }

/* =========================================================
   HERO
   ========================================================= */
/* the hero's bottom edge sweeps down in a shallow arc; the section below shows
   through the corners, and a broad two-tone bronze band rides the same curve to
   carry the eye from one section into the next */
.ld-hero{ position:relative; z-index:2; overflow:hidden; background:var(--ld-ivory);
  padding:clamp(16px,1.55vw,30px) 0 calc(var(--ld-curve) * .5); display:flex;
  border-bottom-left-radius:50% var(--ld-curve);
  border-bottom-right-radius:50% var(--ld-curve); }
/* The ribbon is drawn as an SVG rather than a border: a CSS border tracing this
   curve tapers to nothing at the left and right edges, where the reflective band
   needs to be at its widest. Height is locked to 2.5x the curve depth so the one
   static path keeps its proportions at every breakpoint. */
.ld-hero__band{ position:absolute; left:0; right:0; bottom:0; width:100%;
  height:calc(var(--ld-curve) * 2.5); z-index:5; display:block; pointer-events:none; }
/* height carries the curve sweep on top of the content zone; the section below
   is pulled back up by the same amount, so the page length is unchanged */
@media(min-width:1201px){ .ld-hero{ width:100%; aspect-ratio:1774/894;
  max-height:calc(94svh - 76px + var(--ld-curve)); min-height:calc(540px + var(--ld-curve)); } }
@media(min-width:1201px) and (max-height:900px){
  /* a shallower sweep and a taller allowance here, so the strip always clears
     the curve instead of being clipped into it on short windows */
  :root{ --ld-curve:46px; }
  .ld-hero{ max-height:calc(100svh - 40px + var(--ld-curve));
    padding:clamp(10px,.9vw,18px) 0 calc(var(--ld-curve) * .42); }
  .ld-hero__inner{ gap:1.4%; }
  .ld-hero__brand{ width:clamp(150px,20vw,330px); }
  .ld-hero__title-script{ width:min(100%, 64%); }
  .ld-hero__title-caps{ font-size:clamp(1.7rem,3.1vw,3.4rem); }
  .ld-hero__title-gold{ width:min(100%, 78%); }
  .ld-hero__tagline{ font-size:clamp(9.5px,.72vw,13px); }
  .ld-hero__features{ padding:clamp(9px,.75vw,14px) clamp(10px,1vw,18px); }
  .ld-hero__feature-icon{ width:clamp(23px,1.6vw,29px); height:clamp(23px,1.6vw,29px); }
  .ld-hero__feature span:last-child{ font-size:clamp(10px,.66vw,12.5px); line-height:1.3; }
  .ld-hero__feature::before{ height:32px; }
}
.ld-hero__bg{ position:absolute; inset:0; z-index:0; }
.ld-hero__bg img{ width:100%; height:100%; object-fit:cover; object-position:center center;
  filter:saturate(.88) contrast(1) brightness(1.08); }
.ld-hero__bg::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(255,253,248,.42) 0%, rgba(255,253,248,.2) 24%, rgba(255,253,248,0) 44%); }
.ld-hero__inner{ position:relative; z-index:2; display:flex; flex-direction:column; gap:2%;
  max-width:none; width:min(1300px,78%); padding:0; margin:0 auto; }
.ld-hero__inner .ld-ticket{ margin-top:auto; }
@media(max-width:900px){
  .ld-hero__inner{ width:100%; padding:0 clamp(20px,4vw,48px); gap:26px; }
  .ld-hero__bg img{ object-position:68% center; }
  /* light wash behind the stacked headline only, so the copy stays readable */
  .ld-hero__bg::after{ background:linear-gradient(180deg,
    rgba(255,253,248,.8) 0%, rgba(255,253,248,.55) 24%, rgba(255,253,248,0) 42%); }
}

/* --- headline --- */
/* soft light haze behind the copy so the navy/gold type stays crisp over the photo */
.ld-hero__content{ max-width:35%; position:relative; }
.ld-hero__content::before{ content:""; position:absolute; inset:-60% -90% -60% -50%; z-index:-1;
  pointer-events:none;
  background:radial-gradient(38% 32% at 30% 50%,
    rgba(255,254,250,.88) 0%, rgba(255,254,250,.78) 24%, rgba(255,254,250,.6) 42%,
    rgba(255,254,250,.4) 56%, rgba(255,254,250,.24) 68%, rgba(255,254,250,.12) 78%,
    rgba(255,254,250,.05) 87%, rgba(255,254,250,0) 100%); }
.ld-hero__brand{ display:block; width:min(100%, clamp(170px,21vw,400px)); height:auto; margin:0 0 1.6%;
  filter:drop-shadow(0 2px 7px rgba(255,255,255,.75)); }
.ld-hero__title{ margin:0; }
/* The script line and the gold word are hand-painted brush lettering, not a typeface,
   so they render as artwork. The words stay in the DOM for screen readers and search. */
.ld-sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ld-hero__title-script,
.ld-hero__title-gold{ display:block; position:relative; font-size:0; line-height:0;
  background-repeat:no-repeat; background-position:left center; background-size:contain; }
.ld-hero__title-script{ width:min(100%, 82%); aspect-ratio:1649/264;
  background-image:url('../images/start-script.png');
  margin:0;
  filter:drop-shadow(0 1px 10px rgba(255,253,248,.75)); }
.ld-hero__title-caps{ display:block; font-family:"Archivo Black", var(--ld-sans), sans-serif;
  font-weight:400; text-transform:uppercase; color:#12233c;
  font-size:clamp(2rem,3.9vw,4.5rem); line-height:.94; letter-spacing:-1.4px;
  transform:skewX(-11deg); transform-origin:left bottom;
  text-shadow:0 1px 14px rgba(255,253,248,.85), 0 0 30px rgba(255,253,248,.55); }
.ld-hero__title-gold{ width:100%; aspect-ratio:1544/375;
  background-image:url('../images/future-brush.png');
  margin:.1vw 0 0;
  filter:drop-shadow(0 1px 12px rgba(255,253,248,.6)); }
.ld-hero__tagline{ margin:.45em 0 0; font-family:var(--ld-sans); font-weight:800; letter-spacing:1.2px;
  text-transform:uppercase; font-size:clamp(10px,.9vw,16px); color:#12233c;
  text-shadow:0 1px 10px rgba(255,253,248,.9); }
.ld-hero__tagline span{ color:var(--ld-gold-dark); margin:0 2px; }
/* stacked layout: headline uses the full column so the gold word never clips */
@media(max-width:900px){
  .ld-hero__content{ max-width:none; }
  .ld-hero__content::before{ inset:-20% -26% -18% -26%; }
  .ld-hero__title-script{ width:min(100%, 76%); }
  .ld-hero__title-caps{ font-size:clamp(2.1rem,7.9vw,4.2rem); letter-spacing:-1.1px; transform:skewX(-10deg); }
  .ld-hero__title-gold{ width:min(100%, 92%); }
  .ld-hero__tagline{ font-size:clamp(11px,2.4vw,15px); letter-spacing:1px; }
}

/* --- video --- */
.ld-video{ position:relative; width:100%; aspect-ratio:1.85/1; border-radius:16px; overflow:hidden;
  box-shadow:0 18px 46px rgba(0,0,0,.45), 0 0 0 1px rgba(245,181,23,.4); background:#111; cursor:pointer;
  transition:box-shadow .25s ease; }
.ld-video:hover{ box-shadow:0 22px 52px rgba(0,0,0,.5), 0 0 0 1px rgba(245,181,23,.7); }
.ld-video img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.ld-video:hover img{ transform:scale(1.03); }
.ld-video iframe,.ld-video video{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* --- lead form panel (also used at final CTA) --- */
.ld-form{
  background:
    url('../images/form-flower.png') top right / auto 36% no-repeat,
    radial-gradient(120% 70% at 0% 24%, rgba(245,181,23,.10), transparent 55%),
    radial-gradient(90% 60% at 100% 100%, rgba(201,145,7,.10), transparent 60%),
    linear-gradient(180deg, #0d0c0a, #0a0908);
  border:1px solid rgba(245,181,23,.55); border-radius:var(--ld-radius);
  padding:38px 32px; box-shadow:var(--ld-shadow); position:relative; overflow:hidden; }
.ld-form-fields{ position:relative; z-index:1; }
.ld-form__success{ position:relative; z-index:1; }
.ld-form__eyebrow{ margin-bottom:10px; }
.ld-form__title{ font-family:var(--ld-serif); font-weight:600; color:var(--ld-white);
  font-size:clamp(1.5rem,2.1vw,1.9rem); line-height:1.15; margin:0 0 26px; max-width:68%;
  text-shadow:0 2px 12px rgba(0,0,0,.6); }
.ld-form__title-script{ display:block; font-size:clamp(2rem,3vw,2.5rem); line-height:1; margin:0 0 10px;
  text-shadow:0 2px 12px rgba(0,0,0,.6); }
.ld-form__intro{ font-size:14px; line-height:1.55; color:var(--ld-muted); margin:0 0 24px; }
.ld-form__trust{ position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin-top:24px; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); }
.ld-form__trust span{ display:flex; align-items:center; gap:8px; position:relative; padding:0 4px;
  font-size:10px; font-weight:600; line-height:1.3; color:var(--ld-muted); }
.ld-form__trust span + span::before{ content:""; position:absolute; left:-5px; top:1px; bottom:1px; width:1px; background:rgba(255,255,255,.1); }
.ld-form__trust svg{ flex:none; color:var(--ld-gold); }
.ld-field-row{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
.ld-field{ margin-bottom:18px; }
.ld-field label{ display:block; font-size:11.5px; font-weight:700; letter-spacing:1px; text-transform:uppercase;
  color:var(--ld-muted); margin-bottom:7px; }
.ld-field{ position:relative; }
.ld-field__icon{ position:absolute; left:14px; bottom:14px; color:var(--ld-gold); pointer-events:none; opacity:.85; }
.ld-field input{ width:100%; height:48px; border-radius:10px; border:1px solid rgba(245,181,23,.3);
  background:rgba(255,255,255,.04); color:var(--ld-white); font-family:var(--ld-sans); font-size:14.5px;
  padding:0 15px 0 40px; transition:border-color .18s ease, background .18s ease; }
.ld-field input::placeholder{ color:#8a8377; }
.ld-field input:focus{ outline:none; border-color:var(--ld-gold); background:rgba(255,255,255,.08); }
.ld-field input.ld-invalid{ border-color:#e2604f; }
.ld-field select{ appearance:none; -webkit-appearance:none; width:100%; height:48px; border-radius:10px;
  border:1px solid rgba(245,181,23,.3); background:rgba(255,255,255,.04)
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23f5b517" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>')
    right 14px center / 15px 15px no-repeat;
  color:var(--ld-white); font-family:var(--ld-sans); font-size:14.5px; padding:0 36px 0 40px; cursor:pointer;
  transition:border-color .18s ease, background-color .18s ease; }
.ld-field select:invalid{ color:#8a8377; }
.ld-field select:focus{ outline:none; border-color:var(--ld-gold); background-color:rgba(255,255,255,.08); }
.ld-field select.ld-invalid{ border-color:#e2604f; }
.ld-field__err{ display:none; color:#ff8f7d; font-size:11.5px; margin-top:6px; }
.ld-field.ld-has-error .ld-field__err{ display:block; }
.ld-field.ld-has-error input{ border-color:#e2604f; }
.ld-form__submit{ margin-top:6px; }
.ld-form__note{ font-size:12px; line-height:1.55; color:var(--ld-muted-2); text-align:center; margin:16px 0 0; }
.ld-form__success{ display:none; text-align:center; padding:20px 6px; }
.ld-form__success.ld-show{ display:block; }
.ld-form__success-icon{ width:52px; height:52px; border-radius:50%; margin:0 auto 14px; display:grid; place-items:center;
  color:var(--ld-gold); border:1.5px solid var(--ld-gold); background:radial-gradient(circle, rgba(245,181,23,.16), transparent 72%); }
.ld-form__success h4{ font-family:var(--ld-serif); font-size:22px; color:var(--ld-white); margin:0 0 8px; }
.ld-form__success p{ font-size:13.5px; color:var(--ld-muted); line-height:1.55; }
.ld-form.ld-submitted .ld-form-fields,.ld-form.ld-submitted .ld-form__title,.ld-form.ld-submitted .ld-form__eyebrow{ display:none; }

/* --- boarding-pass form --- */
:root{
  --ld-tk-navy:  #0f2137;
  --ld-tk-paper: #fdfcf9;
  --ld-tk-gold:  #c8952f;
  --ld-tk-gold2: #d0a954;
}

/* Proportions mirror the approved mockup: ticket = 74% of the container,
   navy strip 8.1% of ticket width, perforation at 35.8%, main copy starts at 37.4%. */
.ld-ticket.ld-form{
  position:relative; display:flex; align-items:stretch; overflow:visible;
  width:100%; max-width:1300px; margin-left:auto; margin-right:auto;
  background:none !important; border:0; border-radius:0; padding:0;
  box-shadow:none !important;
  filter:drop-shadow(0 26px 44px rgba(11,20,33,.34)); }

/* the paper card itself (separate layer so the notches can punch through it).
   All four notches (left edge, right edge, and top/bottom of the perforation
   at 35.8%) are real cutouts through this layer, so every side matches. */
.ld-ticket.ld-form::before{ content:""; position:absolute; inset:0; z-index:0; border-radius:20px;
  background:linear-gradient(150deg,#fffefc 0%,#fdfbf7 55%,#f7f4ee 100%);
  -webkit-mask-image:
    radial-gradient(circle 17px at 0 50%, transparent 98%, #000 100%),
    radial-gradient(circle 17px at 100% 50%, transparent 98%, #000 100%),
    radial-gradient(circle 17px at 35.8% 0%, transparent 98%, #000 100%),
    radial-gradient(circle 17px at 35.8% 100%, transparent 98%, #000 100%);
  -webkit-mask-composite:source-in; mask-composite:intersect;
  mask-image:
    radial-gradient(circle 17px at 0 50%, transparent 98%, #000 100%),
    radial-gradient(circle 17px at 100% 50%, transparent 98%, #000 100%),
    radial-gradient(circle 17px at 35.8% 0%, transparent 98%, #000 100%),
    radial-gradient(circle 17px at 35.8% 100%, transparent 98%, #000 100%); }

/* ---- navy stub strip ---- */
.ld-ticket__side{ flex:0 0 8.1%; min-width:0; position:relative; z-index:2;
  border-radius:20px 0 0 20px; background:var(--ld-tk-navy); color:#fff;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
  padding:0 .4vw 0 .88vw;
  -webkit-mask-image:radial-gradient(circle 17px at 0 50%, transparent 98%, #000 100%);
          mask-image:radial-gradient(circle 17px at 0 50%, transparent 98%, #000 100%); }
.ld-ticket__side-rule{ display:block; width:72%; height:1.5px; margin:0 0 .8vw;
  background:linear-gradient(90deg,var(--ld-tk-gold2),rgba(208,169,84,.15)); }
.ld-ticket__side-copy{ margin:0; display:flex; flex-direction:column; align-items:flex-start;
  font-family:var(--ld-sans); font-weight:800; text-transform:uppercase;
  font-size:clamp(9px,.72vw,13px); letter-spacing:-.1px; line-height:1.6; }
.ld-ticket__side-copy strong{ color:var(--ld-tk-gold2); font-weight:800; }
.ld-ticket__side-plane{ margin-top:.95vw; color:var(--ld-tk-gold2); flex:none;
  width:clamp(15px,1.24vw,22px); height:auto; transform:rotate(45deg); }

/* ---- left stub (logo + script lines + barcode) ---- */
.ld-ticket__stub{ flex:0 0 27.7%; position:relative; z-index:2; min-width:0;
  display:flex; align-items:center; padding:2.03vw 2.4vw 1.8vw 2.65vw; }
.ld-ticket__stub-inner{ min-width:0; width:100%; position:relative; z-index:2; }
img.ld-ticket__logo{ display:block; width:88%; max-width:290px; height:auto; margin:0 0 .55vw; }
.ld-ticket__stub-tag{ margin:0; color:var(--ld-tk-navy); display:flex; flex-direction:column; }
.ld-ticket__stub-tag .ld-script{ display:block; color:#1d3350; white-space:nowrap;
  font-size:clamp(13px,1.42vw,25px); line-height:1.42; }
/* staggered cascade, as drawn in the mockup */
.ld-ticket__stub-tag .ld-script:nth-child(1){ margin-left:6%; }
.ld-ticket__stub-tag .ld-script:nth-child(2){ margin-left:20%; }
.ld-ticket__stub-tag .ld-script:nth-child(3){ margin-left:12%;
  display:flex !important; align-items:center; gap:.4em; }
.ld-ticket__stub-tag .ld-script svg{ color:var(--ld-tk-gold2); flex:none;
  width:clamp(15px,1.3vw,24px); height:auto; transform:rotate(-12deg); }

/* gold palm frond, upper-left of the paper stub */
.ld-ticket__art{ position:absolute; z-index:1; pointer-events:none;
  background-repeat:no-repeat; background-size:contain; }
.ld-ticket__art--fronds{ left:0; top:0; width:24%; aspect-ratio:85/94;
  background-image:url('../images/ticket/frond_gold.png'); background-position:left top; }

/* barcode, sitting just left of the perforation */
.ld-ticket__barcode{ position:absolute; right:8.4%; top:19%; bottom:18%; width:min(2vw,35px); z-index:2;
  background-image:repeating-linear-gradient(90deg,
    #0f2137 0 1.6px, transparent 1.6px 3.1px,
    #0f2137 3.1px 4.4px, transparent 4.4px 6.2px,
    #0f2137 6.2px 7.1px, transparent 7.1px 8.7px,
    #0f2137 8.7px 10.9px, transparent 10.9px 12.3px,
    #0f2137 12.3px 13.2px, transparent 13.2px 15.1px,
    #0f2137 15.1px 16.8px, transparent 16.8px 18.4px); }

/* ---- perforation ---- */
.ld-ticket__perf{ flex:0 0 0; position:relative; z-index:3; }
.ld-ticket__perf::before{ content:""; position:absolute; left:0; top:26px; bottom:26px; width:0;
  border-left:2px dashed #b9bfc7; }
/* the notch itself is now a real cutout through the paper layer (see ::before
   above), matching the left/right edges, so these markers stay in the DOM
   for structure but no longer paint a filled dot. */
.ld-ticket__perf-dot{ position:absolute; left:0; width:28px; height:28px; border-radius:50%;
  background:none; }

/* ---- main panel ---- */
.ld-ticket__main{ flex:1 1 auto; min-width:0; position:relative; z-index:2;
  padding:3.1vw 2% 0 2%; }
.ld-ticket__form{ position:static; }

/* max-width keeps the headline clear of the stamp even if the webfont is slow or unavailable */
.ld-ticket__title{ font-family:var(--ld-sans); font-weight:800; text-transform:uppercase;
  letter-spacing:.3px; font-size:clamp(1.15rem,1.9vw,2.15rem); color:var(--ld-tk-navy);
  line-height:1.16; margin:0 0 .8vw; max-width:80%; }
.ld-ticket__title-gold{ color:var(--ld-tk-gold); }
.ld-ticket__copy{ font-size:clamp(13px,1.05vw,18px); line-height:1.4; color:#33415a;
  max-width:64%; margin:0 0 2.6vw; }

.ld-ticket__row{ display:flex; align-items:flex-start; gap:1.75%; max-width:65.8%; margin-bottom:.5vw; }
.ld-ticket__row .ld-field{ flex:1 1 0; min-width:0; margin-bottom:0; }
.ld-ticket__row .ld-field label{ position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.ld-ticket__row .ld-field input{ background:#fff; border:1.5px solid #ddcfae; border-radius:10px;
  height:clamp(48px,3.6vw,64px); color:var(--ld-tk-navy); font-size:clamp(16px,1.15vw,19px);
  padding-left:clamp(40px,3.2vw,54px); }
.ld-ticket__row .ld-field input::placeholder{ color:#9aa4b3; }
.ld-ticket__row .ld-field input:focus{ border-color:var(--ld-tk-gold2); background:#fffdf7;
  box-shadow:0 0 0 3px rgba(208,169,84,.16); }
.ld-ticket__row .ld-field__icon{ color:var(--ld-tk-gold2); left:clamp(15px,1.2vw,20px);
  top:50%; bottom:auto; transform:translateY(-50%); opacity:1; }
.ld-ticket__row .ld-field__icon svg{ width:clamp(19px,1.6vw,27px); height:auto; }

/* gold CTA, notched like a raffle stub, anchored bottom-right of the pass */
.ld-ticket__submit{ position:absolute; right:1.7%; bottom:1.47vw; z-index:3;
  width:29.9%; min-width:150px; height:clamp(46px,3.72vw,62px); cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; gap:7%;
  border:0; border-radius:3px; padding:0 3%;
  font-family:var(--ld-sans); font-weight:800; text-transform:uppercase;
  font-size:clamp(11.5px,.96vw,16px); letter-spacing:.2px; color:#11151c;
  background:linear-gradient(180deg,#d7b061 0%,#d0a954 55%,#c8a24d 100%);
  transition:filter .18s ease, transform .18s ease; }
/* raffle-stub serration: paper-coloured bites down the left and right edges */
.ld-ticket__submit::before,
.ld-ticket__submit::after{ content:""; position:absolute; top:-1px; bottom:-1px; width:7px;
  pointer-events:none; background-repeat:repeat-y; background-size:7px 15px; }
.ld-ticket__submit::before{ left:0;
  background-image:radial-gradient(circle 5px at 0 7.5px, #f8f5ef 97%, transparent 99%); }
.ld-ticket__submit::after{ right:0;
  background-image:radial-gradient(circle 5px at 100% 7.5px, #f8f5ef 97%, transparent 99%); }
.ld-ticket__submit span{ white-space:nowrap; position:relative; z-index:1; }
.ld-ticket__submit svg{ flex:none; width:clamp(16px,1.35vw,24px); height:auto; position:relative; z-index:1; }
.ld-ticket__submit:hover{ transform:translateY(-2px); filter:brightness(1.06); }

/* postmark + travel stamp, upper right */
.ld-ticket__art--postmark{ right:20.5%; top:26%; width:10.4%; aspect-ratio:300/284; opacity:.85;
  background-image:url('../images/ticket/postmark.png'); background-position:right top; z-index:1; }
.ld-ticket__stamp{ position:absolute; right:5.8%; top:9.7%; z-index:3;
  width:13.6%; max-width:124px; aspect-ratio:1; color:var(--ld-tk-gold2); opacity:.95; }
.ld-ticket__stamp svg{ display:block; width:100%; height:100%; }

.ld-ticket.ld-submitted .ld-ticket__form{ display:none; }
.ld-ticket .ld-form__success{ text-align:left; padding:6px 0; position:relative; z-index:2; }
.ld-ticket .ld-form__success h4{ color:var(--ld-tk-navy); }
.ld-ticket .ld-form__success p{ color:#33415a; }
.ld-ticket .ld-form__success-icon{ margin:0 0 14px; color:var(--ld-tk-gold2); border-color:var(--ld-tk-gold2);
  background:radial-gradient(circle, rgba(208,169,84,.18), transparent 72%); }

/* ---------- tablet / stacked ticket ----------
   Widened from 900 to 1180: at bigger font sizes the side-by-side desktop
   layout runs out of room for the "Unlock Opportunity" line (and the
   Email field) well before 900px, colliding with the submit button /
   stamp. The stacked layout has more headroom and is already verified
   safe, so this band uses it instead of a fragile in-between fix. ---------- */
@media(max-width:1180px){
  .ld-ticket.ld-form{ flex-direction:column; width:100%; }
  .ld-ticket.ld-form::before{ border-radius:20px;
    -webkit-mask-image:
      radial-gradient(circle 15px at 50% 0,    transparent 98%, #000 100%),
      radial-gradient(circle 15px at 50% 100%, transparent 98%, #000 100%);
    mask-image:
      radial-gradient(circle 15px at 50% 0,    transparent 98%, #000 100%),
      radial-gradient(circle 15px at 50% 100%, transparent 98%, #000 100%); }
  .ld-ticket__side{ flex:none; width:100%; border-radius:20px 20px 0 0;
    flex-direction:row; align-items:center; justify-content:center; gap:12px; padding:15px 20px;
    -webkit-mask-image:radial-gradient(circle 15px at 50% 0, transparent 98%, #000 100%);
            mask-image:radial-gradient(circle 15px at 50% 0, transparent 98%, #000 100%); }
  .ld-ticket__side-rule{ display:none; }
  .ld-ticket__side-copy{ flex-direction:row; flex-wrap:wrap; justify-content:center; gap:0 6px;
    font-size:12px; }
  .ld-ticket__side-plane{ margin-top:0; width:19px; }
  .ld-ticket__stub{ flex:none; width:100%; padding:28px 24px 26px; justify-content:center;
    background-image:repeating-linear-gradient(to right, #b9bfc7 0 9px, transparent 9px 18px);
    background-size:100% 2px; background-position:center bottom; background-repeat:no-repeat; }
  .ld-ticket__stub-inner{ text-align:center; }
  img.ld-ticket__logo{ width:74%; max-width:250px; margin:0 auto 12px; }
  .ld-ticket__stub-tag{ align-items:center; }
  .ld-ticket__stub-tag .ld-script{ white-space:normal; font-size:19px; }
  .ld-ticket__stub-tag .ld-script:nth-child(1),
  .ld-ticket__stub-tag .ld-script:nth-child(2),
  .ld-ticket__stub-tag .ld-script:nth-child(3){ margin-left:0; }
  .ld-ticket__barcode{ display:none; }
  .ld-ticket__art--fronds{ width:13%; left:0; }
  .ld-ticket__perf{ display:none; }
  .ld-ticket__main{ padding:26px 24px 28px; }
  .ld-ticket__title{ font-size:19px; margin-bottom:8px; max-width:none; }
  .ld-ticket__copy{ max-width:none; font-size:14.5px; margin-bottom:26px; }
  .ld-ticket__row{ flex-direction:column; align-items:stretch; max-width:none; gap:12px; margin-bottom:6px; }
  .ld-ticket__row .ld-field{ flex:none; }
  .ld-ticket__row .ld-field input{ height:52px; font-size:16px; padding-left:46px; }
  .ld-ticket__row .ld-field__icon{ left:16px; }
  .ld-ticket__submit{ position:static; width:100%; min-width:0; height:54px; margin-top:22px;
    padding:0 20px; gap:12px; font-size:15px; }
  .ld-ticket__art--postmark{ display:none; }
  .ld-ticket__stamp{ position:static; width:82px; max-width:none; margin:20px auto 0; }
}
@media(max-width:560px){
  .ld-ticket__side-copy{ font-size:10.5px; }
  .ld-ticket__stub-tag .ld-script{ font-size:17px; }
  .ld-ticket__title{ font-size:17px; letter-spacing:.2px; }
  .ld-ticket__art--fronds{ width:20%; }
  .ld-ticket__stamp{ width:68px; opacity:.9; }
}
/* --- feature row --- */
/* a solid navy bar that rides just above the curved sweep at the foot of the hero */
.ld-hero__features{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0;
  position:relative; z-index:7; padding:clamp(14px,1.15vw,20px) clamp(10px,1vw,18px);
  background:#0d1f30; border-radius:16px;
  box-shadow:0 20px 44px rgba(6,16,28,.42), 0 0 0 1px rgba(201,145,7,.16); }
/* line the strip up with the boarding pass above it */
@media(min-width:901px){
  .ld-hero__features{ width:min(1260px,92%); max-width:none; margin-left:auto; margin-right:auto; }
}
.ld-hero__feature{ display:flex; align-items:center; justify-content:flex-start; gap:clamp(10px,.95vw,16px);
  min-width:0; position:relative; padding-left:clamp(16px,1.6vw,28px); }
.ld-hero__feature:first-child{ padding-left:clamp(6px,.7vw,14px); }
.ld-hero__feature::before{ content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:1px; height:40px;
  background:linear-gradient(180deg, rgba(201,145,7,0), rgba(201,145,7,.45), rgba(201,145,7,0)); }
.ld-hero__feature:first-child::before{ display:none; }
.ld-hero__feature-icon{ flex:none; width:clamp(26px,1.95vw,34px); height:clamp(26px,1.95vw,34px);
  display:grid; place-items:center; color:var(--ld-gold); }
.ld-hero__feature-icon svg{ width:100%; height:100%; }
.ld-hero__feature span:last-child{ font-family:var(--ld-sans); font-weight:700; text-transform:uppercase;
  font-size:clamp(11px,.75vw,13.5px); line-height:1.36; letter-spacing:.7px; color:#fffdf8;
  text-align:left; }
@media(max-width:900px){
  :root{ --ld-curve:38px; }
  .ld-hero__features{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 0; padding:20px 14px;
    border-radius:18px; }
  .ld-hero__feature{ padding-left:16px; }
  .ld-hero__feature:nth-child(odd){ padding-left:6px; }
  .ld-hero__feature:nth-child(odd)::before{ display:none; }
}
@media(max-width:480px){
  :root{ --ld-curve:26px; }
  .ld-hero__features{ grid-template-columns:minmax(0,1fr); gap:16px; padding:20px 18px; }
  .ld-hero__feature{ padding-left:0; }
  .ld-hero__feature:nth-child(odd){ padding-left:0; }
  .ld-hero__feature::before{ display:none; }
}
@media(max-width:640px){
  .ld-hero{ padding:32px 0 46px; }
  .ld-hero__tagline{ letter-spacing:1.2px; font-size:12px; }
  .ld-field-row{ grid-template-columns:minmax(0,1fr); }
  .ld-form{ padding:26px 20px; }
  .ld-form__title{ max-width:80%; }
  .ld-form__trust{ flex-direction:column; align-items:flex-start; gap:12px; }
  .ld-form__trust span{ padding:0; width:100%; font-size:11.5px; }
  .ld-form__trust span + span::before{ display:none; }
}

/* =========================================================
   QUICK BENEFITS STRIP
   ========================================================= */
.ld-bstrip{ background:var(--ld-black-2) url('../images/bstrip-bg.jpg') center center / cover no-repeat;
  border-top:1px solid var(--ld-line-soft); border-bottom:1px solid var(--ld-line-soft);
  padding:64px 0 60px; position:relative; overflow:hidden; }
.ld-bstrip__leaf, .ld-bstrip__compass{ display:none; }
.ld-bstrip__head{ position:relative; z-index:1; text-align:center; max-width:560px; margin:0 auto 40px; }
.ld-bstrip__eyebrow{ display:flex; align-items:center; justify-content:center; gap:18px; font-family:var(--ld-sans); font-weight:700;
  font-size:12px; letter-spacing:2.2px; text-transform:uppercase; color:var(--ld-gold); margin:0; }
.ld-bstrip__eyebrow::before, .ld-bstrip__eyebrow::after{ content:""; width:44px; height:1px; background:var(--ld-gold-dark); opacity:.6; }
.ld-bstrip__script{ font-size:clamp(2.6rem,5vw,3.6rem); line-height:1; margin:6px 0 10px; }
.ld-bstrip__sub{ position:relative; display:inline-block; font-family:var(--ld-sans); font-weight:700; font-size:12.5px;
  letter-spacing:1.6px; text-transform:uppercase; color:var(--ld-white); margin:0; padding-bottom:14px; }
.ld-bstrip__sub::after{ content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:44px; height:2px;
  border-radius:2px; background:linear-gradient(90deg,var(--ld-gold-2),var(--ld-gold-dark)); }
.ld-bstrip__inner{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.ld-bstrip-item{ display:flex; flex-direction:column; align-items:center; text-align:center; min-width:0;
  background:linear-gradient(180deg,var(--ld-panel-2),var(--ld-panel)); border:1px solid rgba(245,181,23,.18); border-radius:14px;
  padding:32px 18px 26px; box-shadow:0 14px 30px rgba(0,0,0,.35); transition:transform .2s ease, border-color .2s ease; }
.ld-bstrip-item:hover{ transform:translateY(-4px); border-color:rgba(245,181,23,.4); }
.ld-bstrip-item__icon{ flex:none; width:60px; height:60px; margin-bottom:18px; border-radius:50%; display:grid; place-items:center;
  color:var(--ld-gold); background:radial-gradient(circle at 35% 30%, rgba(245,181,23,.14), rgba(245,181,23,.03) 70%);
  border:1.5px solid rgba(245,181,23,.45); box-shadow:0 0 0 4px rgba(245,181,23,.05); }
.ld-bstrip-item h3{ font-size:13.5px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; color:var(--ld-white);
  margin:0 0 10px; overflow-wrap:break-word; position:relative; padding-bottom:12px; }
.ld-bstrip-item h3::after{ content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:26px; height:2px;
  border-radius:2px; background:linear-gradient(90deg,var(--ld-gold-2),var(--ld-gold-dark)); }
.ld-bstrip-item p{ font-size:12px; line-height:1.5; color:#a49b8c; margin:0; overflow-wrap:break-word; }
.ld-bstrip-item__mark{ margin-top:20px; color:var(--ld-gold-dark); opacity:.75; }
@media(max-width:1080px) and (min-width:641px){ .ld-bstrip__inner{ grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:20px; } .ld-bstrip-item:last-child{ grid-column:2 / 4; } }
@media(max-width:640px) and (min-width:401px){ .ld-bstrip{ padding:50px 0; } .ld-bstrip__inner{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .ld-bstrip__leaf{ width:120px; height:120px; } .ld-bstrip__compass{ width:150px; height:150px; } .ld-bstrip-item:last-child{ grid-column:1 / 3; } }
@media(max-width:400px){ .ld-bstrip__inner{ grid-template-columns:minmax(0,1fr); } .ld-bstrip__leaf{ width:120px; height:120px; } .ld-bstrip__compass{ width:150px; height:150px; } .ld-bstrip{ padding:50px 0; } }

/* =========================================================
   SEE IT IN ACTION / MORE WAYS TO EARN (beach showcase)
   ========================================================= */
.ld-why{ background:var(--ld-ivory) url('../images/why-bg-beach.jpg') top center / cover no-repeat;
  color:var(--ld-text-dark); padding:96px 0; position:relative; z-index:1; overflow:hidden;
  margin-top:calc(var(--ld-curve, 64px) * -1); padding-top:calc(96px + var(--ld-curve, 64px)); }
.ld-why__inner{ position:relative; z-index:1; }
.ld-why__row{ display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:56px; align-items:center; margin-bottom:76px; }
.ld-why__head{ text-align:left; position:relative; }
.ld-why__head::before{ content:""; position:absolute; inset:-30% -45% -30% -55%; z-index:-1; pointer-events:none;
  background:radial-gradient(48% 55% at 30% 40%,
    rgba(255,253,248,.82) 0%, rgba(255,253,248,.7) 26%, rgba(255,253,248,.54) 44%,
    rgba(255,253,248,.36) 58%, rgba(255,253,248,.2) 70%, rgba(255,253,248,.09) 81%,
    rgba(255,253,248,.03) 90%, rgba(255,253,248,0) 100%); }
.ld-why__eyebrow{ display:inline-flex; align-items:center; gap:12px; font-family:var(--ld-sans); font-weight:700;
  font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--ld-gold-dark); margin:0 0 10px; }
.ld-why__eyebrow::after{ content:""; width:34px; height:1px; background:var(--ld-gold-dark); opacity:.65; }
.ld-why__title{ font-family:var(--ld-serif); font-weight:600; color:#1d1c19; font-size:clamp(1.9rem,2.9vw,2.5rem);
  line-height:1.15; margin:0 0 14px; }
.ld-why__rule{ display:block; position:relative; width:130px; height:1px; background:rgba(201,145,7,.55); margin:0 0 18px; }
.ld-why__rule svg{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); color:var(--ld-gold-dark); }
.ld-why__intro{ font-size:15.5px; line-height:1.6; color:#5c574d; max-width:440px; margin:0; }

/* --- play video button (below intro text) --- */
.ld-why__play-btn{ display:inline-flex; align-items:center; gap:12px; margin-top:26px; background:#14120d;
  color:var(--ld-white); border:1px solid rgba(245,181,23,.4); border-radius:999px; padding:6px 24px 6px 6px;
  font-family:var(--ld-sans); font-weight:700; font-size:12.5px; letter-spacing:1.2px; text-transform:uppercase;
  cursor:pointer; transition:transform .2s ease, border-color .2s ease; }
.ld-why__play-btn:hover{ transform:translateY(-2px); border-color:rgba(245,181,23,.75); }
.ld-why__play-icon{ width:36px; height:36px; border-radius:50%; background:var(--ld-gold); color:#181307;
  display:grid; place-items:center; flex:none; }
.ld-why__play-note{ display:inline-flex; align-items:flex-start; margin-left:10px; vertical-align:middle; }
.ld-why__play-caption{ font-family:var(--ld-script); font-weight:700; font-size:26px; color:#1d1c19; opacity:1;
  transform:rotate(-2deg); white-space:nowrap; }

/* --- video showcase --- */
.ld-why__video-wrap{ position:relative; }
.ld-why__video{ aspect-ratio:4/2.7; box-shadow:0 0 0 8px var(--ld-white), 0 24px 54px rgba(20,15,5,.3),
  0 0 0 9px rgba(20,15,5,.08); }
.ld-why__play-center{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:2;
  width:66px; height:66px; border-radius:50%; background:rgba(255,255,255,.94); color:#14120d;
  display:grid; place-items:center; box-shadow:0 12px 28px rgba(0,0,0,.35); transition:transform .25s ease, background .25s ease; }
.ld-why__play-center svg{ margin-left:3px; }
.ld-video:hover .ld-why__play-center{ transform:translate(-50%,-50%) scale(1.08); background:#fff; }

/* --- decorative video-player chrome (visual only; real playback still wires via data-video-src) --- */
.ld-why__video-controls{ position:absolute; left:0; right:0; bottom:0; z-index:2; display:flex; align-items:center; gap:14px;
  padding:11px 16px; background:linear-gradient(0deg, rgba(10,10,8,.74) 0%, rgba(10,10,8,.5) 62%, rgba(10,10,8,0) 100%); }
.ld-vc__play{ flex:none; width:20px; height:20px; display:grid; place-items:center; color:#fff; }
.ld-vc__bar{ flex:1 1 auto; position:relative; height:4px; border-radius:2px; background:rgba(255,255,255,.32); }
.ld-vc__fill{ position:absolute; left:0; top:0; bottom:0; width:55%; border-radius:2px;
  background:linear-gradient(90deg,var(--ld-gold-2),var(--ld-gold)); }
.ld-vc__handle{ position:absolute; left:55%; top:50%; transform:translate(-50%,-50%); width:11px; height:11px;
  border-radius:50%; background:var(--ld-gold); box-shadow:0 0 0 3px rgba(245,181,23,.28); }
.ld-vc__time{ flex:none; font-family:var(--ld-sans); font-weight:600; font-size:11.5px; color:#fff; opacity:.92;
  letter-spacing:.2px; }
.ld-vc__icon{ flex:none; width:18px; height:18px; display:grid; place-items:center; color:#fff; opacity:.92; }

/* --- 3 ways to earn --- */
.ld-why__earn{ position:relative; }
.ld-why__earn-rule{ display:flex; align-items:center; justify-content:center; gap:14px; margin:0 0 34px; }
.ld-why__earn-rule span{ display:inline-block; font-size:13px; font-weight:700; letter-spacing:1.8px;
  text-transform:uppercase; color:var(--ld-gold-dark);
  text-shadow:0 1px 4px rgba(255,253,248,.85), 0 0 14px rgba(255,253,248,.65); }
.ld-why__earn-arrow{ flex:1 1 auto; max-width:90px; min-width:20px; height:auto; color:var(--ld-gold-dark); opacity:.7; }
.ld-why__cards{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:0; }
.ld-why-card{ display:flex; flex-direction:column; background:#fff; border:1px solid #e4d9c4;
  border-radius:var(--ld-radius-sm); padding:28px 24px 26px;
  box-shadow:0 14px 30px rgba(24,19,7,.16); text-align:left; transition:transform .2s ease, box-shadow .2s ease; }
.ld-why-card:hover{ transform:translateY(-4px); box-shadow:0 20px 40px rgba(24,19,7,.22); }
.ld-why-card__top{ display:flex; align-items:center; gap:14px; margin:0 0 18px; }
.ld-why-card__num{ flex:none; width:24px; height:24px; border-radius:50%; background:#181307; color:var(--ld-gold);
  display:grid; place-items:center; font-family:var(--ld-sans); font-weight:700; font-size:10px; letter-spacing:.2px; }
.ld-why-card__icon{ flex:none; width:48px; height:48px; border-radius:50%; display:grid; place-items:center; color:var(--ld-gold);
  background:#14120d; border:2px solid var(--ld-gold); box-shadow:0 0 0 3px rgba(245,181,23,.15); }
.ld-why-card h4{ flex:1 1 auto; min-width:0; font-size:14.5px; font-weight:700; letter-spacing:.2px; text-transform:uppercase;
  color:#1d1c19; line-height:1.32; margin:0; position:relative; padding-bottom:11px; }
.ld-why-card h4::after{ content:""; position:absolute; left:0; bottom:0; width:26px; height:2px; border-radius:2px;
  background:linear-gradient(90deg,var(--ld-gold-2),var(--ld-gold-dark)); }
.ld-why-card p{ font-size:13.5px; line-height:1.6; color:#5c574d; margin:0 0 14px; }
.ld-why__scroll-cue{ display:flex; justify-content:center; margin-top:30px; color:var(--ld-gold);
  animation:ldWhyBounce 1.8s ease-in-out infinite; }
@keyframes ldWhyBounce{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(8px); } }
@media(prefers-reduced-motion:reduce){ .ld-why__scroll-cue{ animation:none; } }
.ld-why-card__tag{ align-self:flex-start; display:inline-block; margin-top:auto; font-size:11px; font-weight:700;
  letter-spacing:.3px; color:#2f7a4f; background:rgba(47,122,79,.1); border:1px solid rgba(47,122,79,.25);
  border-radius:999px; padding:5px 12px; }
@media(max-width:900px){
  .ld-why{ padding:calc(60px + var(--ld-curve)) 0 60px; }
  .ld-why__row{ grid-template-columns:minmax(0,1fr); gap:32px; margin-bottom:56px; }
  .ld-why__head{ text-align:center; display:flex; flex-direction:column; align-items:center; }
  .ld-why__head::before{ inset:-10% -8% -10% -8%; }
  .ld-why__eyebrow::after{ display:none; }
  .ld-why__intro{ margin:0 auto; }
  .ld-why__play-note{ display:none; }
}
@media(max-width:700px){
  .ld-why__cards{ grid-template-columns:minmax(0,1fr); gap:16px; }
  .ld-why__earn-rule{ gap:8px; }
  .ld-why__earn-rule span{ line-height:1.5; }
  .ld-why__earn-arrow{ max-width:26px; }
}
@media(max-width:480px){
  .ld-why__video{ aspect-ratio:4/3.4; }
  .ld-why__play-center{ width:54px; height:54px; }
  .ld-why__video-controls{ gap:10px; padding:9px 12px; }
  .ld-vc__icon:last-child{ display:none; }
}

/* =========================================================
   THE XCELERATE DIFFERENCE (comparison table)
   ========================================================= */
.ld-diff{ position:relative; color:var(--ld-text-dark); padding:96px 0 84px;
  background:var(--ld-ivory) url('../images/difference-bg.jpg') center top / cover no-repeat; }
.ld-diff__head{ text-align:center; max-width:680px; margin:0 auto 46px; }
.ld-diff__eyebrow{ justify-content:center; width:100%; }
.ld-diff__eyebrow i{ display:block; width:30px; height:1px; background:linear-gradient(90deg, transparent, rgba(201,145,7,.6)); }
.ld-diff__eyebrow i:last-child{ background:linear-gradient(90deg, rgba(201,145,7,.6), transparent); }
.ld-diff__title{ font-family:var(--ld-serif); font-weight:700; font-size:clamp(2rem,3.4vw,2.9rem); line-height:1.16; color:#1d1c19; margin:0 0 16px; }
.ld-diff__head .ld-diff__lead{ font-size:15.5px; line-height:1.65; color:#5c574d; max-width:580px; margin:0 auto; }

/* --- table --- */
.ld-diff__table-wrap{ position:relative; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:2px; }
.ld-diff__table{ display:grid; grid-template-columns:1.05fr 1.3fr 1.05fr 1.3fr; min-width:760px;
  border-radius:var(--ld-radius); overflow:hidden; box-shadow:0 26px 56px rgba(30,22,4,.14); background:#fff; }
.ld-diff__cell{ display:flex; align-items:center; gap:10px; padding:15px 16px; font-size:12.5px; line-height:1.45;
  border-bottom:1px solid #ece2cd; background:rgba(255,255,255,.78); color:#5c574d; }
.ld-diff__cell--last{ border-bottom:none; }
.ld-diff__cell strong{ display:block; font-family:var(--ld-serif); font-weight:700; font-size:14.5px; color:#1d1c19; margin:0 0 2px; }
.ld-diff__icon{ flex:none; width:30px; height:30px; border-radius:50%; display:grid; place-items:center;
  color:var(--ld-gold-dark); border:1.5px solid rgba(201,145,7,.35);
  background:radial-gradient(circle at 35% 30%, rgba(245,181,23,.12), transparent 70%); }
.ld-diff__cell--crit{ font-weight:700; letter-spacing:.2px; color:#1d1c19; text-transform:uppercase; font-size:12px; }
.ld-diff__cell--head{ padding:20px 16px; font-weight:700; letter-spacing:1px; text-transform:uppercase; font-size:12.5px;
  color:#8a8375; border-bottom:1px solid #ece2cd; justify-content:center; text-align:center; }
.ld-diff__mark{ flex:none; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; }
.ld-diff__mark--check{ color:#fff; background:var(--ld-gold); }
.ld-diff__mark--x{ color:#a89f8f; background:#efe8d9; }
.ld-diff__mark--adv{ background:var(--ld-gold-dark); }
/* typical column */
.ld-diff__cell--typ{ background:rgba(255,255,255,.5); }
/* xcelerate column (highlighted) */
.ld-diff__cell--xcel{ background:var(--ld-black); color:var(--ld-muted); border-bottom:1px solid rgba(245,181,23,.14);
  border-left:2px solid var(--ld-gold-dark); border-right:2px solid var(--ld-gold-dark); }
.ld-diff__cell--xcel strong{ color:var(--ld-white); }
.ld-diff__cell--xcel.ld-diff__cell--last{ border-bottom:2px solid var(--ld-gold-dark); border-radius:0 0 12px 12px; }
.ld-diff__cell--xcelhead{ background:var(--ld-black); border-top:2px solid var(--ld-gold-dark);
  border-left:2px solid var(--ld-gold-dark); border-right:2px solid var(--ld-gold-dark); border-radius:12px 12px 0 0; padding:22px 16px; }
.ld-diff__cell--xcelhead img{ height:26px; width:auto; margin:0 auto; }
/* advantage column */
.ld-diff__cell--adv{ background:rgba(245,181,23,.09); }
.ld-diff__cell--adv strong{ color:#8a5f06; }

.ld-diff__banner{ display:flex; align-items:center; gap:26px; margin-top:44px; background:#14120d;
  border:1px solid rgba(245,181,23,.25); border-radius:26px; padding:24px 30px; box-shadow:0 22px 46px rgba(0,0,0,.4); }
.ld-diff__banner-brand{ flex:none; }
.ld-diff__banner-brand img{ height:34px; width:auto; }
.ld-diff__banner-copy{ flex:none; padding-right:22px; border-right:1px solid rgba(245,181,23,.2); }
.ld-diff__banner-script{ font-size:22px; line-height:1.2; color:var(--ld-gold-2); margin:0 0 2px; }
.ld-diff__banner-tag{ font-size:11px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; color:var(--ld-muted); margin:0; }
.ld-diff__banner-points{ flex:1 1 auto; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; min-width:0; }
.ld-diff__point{ display:flex; align-items:center; gap:10px; min-width:0; }
.ld-diff__point-icon{ flex:none; width:38px; height:38px; border-radius:50%; display:grid; place-items:center;
  color:var(--ld-gold); border:1.5px solid rgba(245,181,23,.5);
  background:radial-gradient(circle at 35% 30%, rgba(245,181,23,.16), transparent 70%); }
.ld-diff__point span{ display:flex; flex-direction:column; gap:2px; font-family:var(--ld-serif); font-weight:600;
  font-size:13.5px; color:var(--ld-white); min-width:0; }
.ld-diff__point em{ font-style:normal; font-family:var(--ld-sans); font-weight:400; font-size:11px; line-height:1.35; color:var(--ld-muted-2); }

@media(max-width:1080px){
  .ld-diff__banner-points{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ld-diff__banner{ flex-wrap:wrap; }
  .ld-diff__banner-copy{ border-right:none; padding-right:0; }
}
@media(max-width:820px){
  .ld-diff{ padding:72px 0 64px; }
  .ld-diff__banner{ flex-direction:column; text-align:center; padding:28px 24px; }
  .ld-diff__banner-copy{ border-right:none; padding-right:0; }
  .ld-diff__point{ flex-direction:column; text-align:center; }
  .ld-diff__table-wrap::after{ content:""; position:absolute; top:0; right:0; bottom:2px; width:34px;
    background:linear-gradient(90deg, rgba(255,253,247,0), rgba(255,253,247,.9)); pointer-events:none; border-radius:0 var(--ld-radius) var(--ld-radius) 0; }
  .ld-diff__table-wrap::before{ content:"Swipe to compare \2192"; display:block; text-align:right; font-size:10.5px;
    font-weight:700; letter-spacing:.3px; color:#a39a8c; margin:0 0 8px; }
}
@media(max-width:480px){
  .ld-diff__banner-points{ grid-template-columns:minmax(0,1fr); }
  .ld-diff__table{ min-width:640px; }
}

/* =========================================================
   MORE THAN A BUSINESS (dark, image cards)
   ========================================================= */
/* the artwork sits at the top of the section at its own aspect ratio (never
   stretched); --ld-lf-deep matches its bottom edge so the fill below is seamless */
.ld-lifestyle{ --ld-lf-deep:#040a12; --ld-lf-card:#08131f;
  position:relative; padding:96px 0 90px; overflow:hidden;
  background:var(--ld-lf-deep) url('../images/lifestyle-bg.jpg') center top / 100% auto no-repeat; }
/* softens the seam where the artwork ends and the flat fill takes over */
.ld-lifestyle::before{ content:""; position:absolute; left:0; right:0; bottom:0; height:46%;
  z-index:0; pointer-events:none;
  background:linear-gradient(to bottom, rgba(4,10,18,0), rgba(4,10,18,.72) 46%, var(--ld-lf-deep) 100%); }
.ld-lifestyle > .ld-container{ position:relative; z-index:1; }

.ld-lifestyle__head{ text-align:center; max-width:900px; margin:0 auto 54px; }
.ld-lifestyle__eyebrow{ justify-content:center; width:100%; gap:11px; margin-bottom:12px;
  font-size:clamp(11px,.95vw,14.5px); letter-spacing:1.8px; }
.ld-lifestyle__title{ margin:0 0 20px; }
.ld-lifestyle__title-caps{ display:block; font-family:"Archivo Black", var(--ld-sans), sans-serif;
  font-weight:400; text-transform:uppercase; color:var(--ld-white);
  font-size:clamp(1.85rem,4.3vw,4.1rem); line-height:1; letter-spacing:-.5px;
  text-shadow:0 4px 26px rgba(0,0,0,.55); }
.ld-lifestyle__title-script{ display:inline-block; position:relative;
  font-family:"Kaushan Script", var(--ld-script), cursive; font-weight:400;
  font-size:clamp(1.7rem,4vw,3.8rem); line-height:1.18; margin-top:-.14em;
  background:linear-gradient(96deg,#e7c46a 0%,#f7dc9b 30%,#d3a13c 62%,#f2d189 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 3px 16px rgba(0,0,0,.5)); }
/* the swoosh is painted gold directly: it sits outside the text clip box.
   Positioned absolutely (not as an inline-flex sibling) so its width does not
   shift the script text off-center within .ld-lifestyle__head. */
.ld-lifestyle__swoosh{ position:absolute; left:100%; top:50%; transform:translateY(-42%);
  width:clamp(52px,5vw,96px); height:auto; color:#d9ae4d; margin-left:.12em; }
.ld-lifestyle__head .ld-lifestyle__lead{ font-size:clamp(13.5px,1.05vw,17px); line-height:1.62; color:#cfd8e2;
  max-width:660px; margin:0 auto; }

.ld-lifestyle__grid{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; align-items:stretch; }

.ld-lifestyle-card{ position:relative; display:flex; flex-direction:column; overflow:hidden;
  border-radius:18px; background:var(--ld-lf-card); border:1px solid rgba(216,175,80,.34);
  box-shadow:0 22px 46px rgba(0,0,0,.5); transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.ld-lifestyle-card:hover{ transform:translateY(-6px); border-color:rgba(238,205,132,.6);
  box-shadow:0 30px 60px rgba(0,0,0,.58); }

.ld-lifestyle-card__media{ display:block; position:relative; width:100%; aspect-ratio:1/1.12; overflow:hidden; }
.ld-lifestyle-card__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition:transform .5s ease; }
.ld-lifestyle-card:hover .ld-lifestyle-card__media img{ transform:scale(1.07); }
/* photo dissolves into the card body instead of ending on a hard edge */
.ld-lifestyle-card__media::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(to top, var(--ld-lf-card) 0%, rgba(8,19,31,.86) 16%, rgba(8,19,31,.34) 40%, rgba(8,19,31,0) 66%); }

/* Gold-ringed badge straddling the photo / body seam. It stays in normal flow
   between the two, with equal negative margins top and bottom so it contributes
   no height and centres itself exactly on the seam at any card size. */
.ld-lifestyle-card__icon{ position:relative; z-index:3; width:62px; height:62px;
  margin:-31px auto -31px; border-radius:50%;
  display:grid; place-items:center; color:var(--ld-gold-2);
  background:radial-gradient(circle at 38% 30%, #12243a, #060e18 78%);
  border:1.5px solid rgba(226,188,102,.75); box-shadow:0 8px 22px rgba(0,0,0,.5); }

.ld-lifestyle-card__body{ flex:1 1 auto; display:flex; flex-direction:column; align-items:center;
  text-align:center; padding:40px 15px 26px; }
.ld-lifestyle-card__num{ display:block; font-family:var(--ld-sans); font-weight:800;
  font-size:13px; letter-spacing:.3px; color:rgba(255,253,248,.5); margin-bottom:8px; }
/* two-line min-height keeps the rule and copy on a shared baseline across the row
   even when one title runs short */
.ld-lifestyle-card__body h3{ font-family:var(--ld-sans); font-weight:800; text-transform:uppercase;
  font-size:clamp(13px,1.02vw,16.5px); line-height:1.22; letter-spacing:.2px; color:#fff;
  margin:0; min-height:2.44em; display:flex; align-items:center; }
.ld-lifestyle-card__body p.ld-lifestyle-card__subtitle{ display:block; font-family:var(--ld-sans); font-weight:800; text-transform:uppercase;
  font-size:clamp(10px,.8vw,11.5px); letter-spacing:.6px; color:var(--ld-gold-2); margin:4px 0 0; }
.ld-lifestyle-card__rule{ display:block; width:40px; height:2px; border-radius:2px; margin:11px 0 13px;
  background:linear-gradient(90deg, rgba(216,175,80,0), var(--ld-gold-2), rgba(216,175,80,0)); }
.ld-lifestyle-card__body p{ font-size:clamp(12px,.95vw,15px); line-height:1.5; color:#c8d2de; margin:0; }

/* --- featured card + corner ribbon --- */
.ld-lifestyle-card--fav{ border-color:rgba(240,212,140,.85);
  box-shadow:0 22px 50px rgba(0,0,0,.55), 0 0 0 1px rgba(240,212,140,.3), 0 0 34px rgba(216,175,80,.16); }
/* Corner ribbon. top/left place the band's centre far enough down the diagonal
   that the full label clears the card's top and left edges before the card's
   own overflow:hidden clips the band ends. */
.ld-lifestyle-card__ribbon{ position:absolute; z-index:4; top:42px; left:-58px; width:220px;
  transform:rotate(-45deg); transform-origin:center;
  display:flex; align-items:center; justify-content:center; gap:6px;
  padding:7px 0; font-family:var(--ld-sans); font-weight:800; text-transform:uppercase;
  font-size:10px; letter-spacing:.4px; color:#20180a; white-space:nowrap;
  background:linear-gradient(90deg,#c69a3c,#f4dfa4 46%,#d9ae4d);
  box-shadow:0 6px 16px rgba(0,0,0,.42); }

/* --- closing bar --- */
.ld-lifestyle__bar{ display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
  gap:clamp(10px,1.4vw,22px); margin:44px auto 0; max-width:1020px;
  padding:16px clamp(20px,2.6vw,40px); border-radius:16px;
  background:linear-gradient(180deg, rgba(11,25,40,.86), rgba(6,14,24,.86));
  border:1px solid rgba(216,175,80,.36); box-shadow:0 18px 40px rgba(0,0,0,.45); }
.ld-lifestyle__bar-icon{ flex:none; display:grid; place-items:center; color:var(--ld-gold-2); }
.ld-lifestyle__bar-tag{ font-family:var(--ld-sans); font-weight:800; text-transform:uppercase;
  font-size:clamp(13px,1.15vw,19px); letter-spacing:.4px; color:#fff; }
.ld-lifestyle__bar-script{ font-family:"Kaushan Script", var(--ld-script), cursive;
  font-size:clamp(19px,1.85vw,31px); line-height:1.35; color:#e7c46a; }
.ld-lifestyle__bar-swoosh{ flex:none; width:clamp(46px,4vw,74px); height:auto; color:#d9ae4d; }

@media(max-width:1180px){
  .ld-lifestyle__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
  /* last row of two, centred across the three tracks */
  .ld-lifestyle-card:nth-child(4){ grid-column:1 / 2; }
  .ld-lifestyle-card:nth-child(5){ grid-column:2 / 3; }
}
@media(max-width:820px){
  .ld-lifestyle{ padding:70px 0 66px; background-size:150% auto; }
  .ld-lifestyle__head{ margin-bottom:40px; }
  .ld-lifestyle__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ld-lifestyle-card:nth-child(4){ grid-column:auto; }
  .ld-lifestyle-card:nth-child(5){ grid-column:auto; }
  .ld-lifestyle-card__icon{ width:54px; height:54px; margin:-27px auto -27px; }
  .ld-lifestyle-card__icon svg{ width:23px; height:23px; }
  .ld-lifestyle-card__body{ padding:34px 14px 22px; }
  .ld-lifestyle__bar{ gap:10px 14px; padding:18px 22px; text-align:center; }
}
@media(max-width:560px){
  .ld-lifestyle{ padding:56px 0 54px; background-size:230% auto; }
  .ld-lifestyle__grid{ grid-template-columns:minmax(0,1fr); gap:18px; max-width:340px; margin:0 auto; }
  .ld-lifestyle__title-script{ margin-top:-.06em; }
  .ld-lifestyle__bar-swoosh{ display:none; }
}

/* =========================================================
   LIFE XPERIENCES CALLOUT
   ========================================================= */
.ld-xp{ position:relative; overflow:hidden; padding:110px 0; color:var(--ld-text-dark); }
.ld-xp__bg{ position:absolute; inset:0; z-index:0; }
.ld-xp__bg img{ width:100%; height:100%; object-fit:cover; }
.ld-xp__bg::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(255,253,248,.94) 0%, rgba(255,253,248,.7) 38%, rgba(255,253,248,.18) 62%, rgba(255,253,248,0) 78%); }
.ld-xp__inner{ position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:48px; align-items:center; max-width:1480px; }
.ld-xp__text{ max-width:520px; }
.ld-xp__title{ font-family:var(--ld-sans); font-weight:800; text-transform:uppercase; color:#181307;
  font-size:clamp(1.7rem,2.7vw,2.3rem); line-height:1.18; letter-spacing:.3px; margin:0 0 16px; }
.ld-xp__title-script{ display:block; font-family:var(--ld-script); font-weight:400; text-transform:none; letter-spacing:0;
  font-size:1.7em; line-height:1.3; margin-top:4px; position:relative; padding-bottom:10px; width:fit-content; }
.ld-xp__title-script::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:2px; border-radius:2px;
  background:linear-gradient(90deg, var(--ld-gold-2), rgba(201,145,7,0)); }
.ld-xp__copy{ font-size:15.5px; line-height:1.65; color:#4a453c; margin:0 0 28px; max-width:460px; }
.ld-xp__list{ list-style:none; display:flex; gap:20px; margin:0 0 30px; padding:18px 20px; border-radius:16px;
  background:rgba(255,253,248,.72); backdrop-filter:blur(6px); border:1px solid rgba(201,145,7,.25); width:fit-content; }
.ld-xp__list li{ display:flex; flex-direction:column; align-items:flex-start; gap:9px; padding-right:20px;
  border-right:1px solid rgba(30,25,15,.14); font-size:12px; font-weight:700; line-height:1.35; color:#3a352d; }
.ld-xp__list li:last-child{ border-right:0; padding-right:0; }
.ld-xp__list-icon{ color:var(--ld-gold-dark); }
.ld-xp__cta{ display:inline-flex; }

/* --- photo collage --- */
.ld-xp__photos{ position:relative; display:flex; gap:26px; justify-content:center; padding:22px 0; }
.ld-xp__photo{ margin:0; position:relative; flex:1 1 0; max-width:320px; aspect-ratio:.72/1; border-radius:18px;
  overflow:hidden; box-shadow:0 28px 58px rgba(30,22,4,.28), 0 0 0 5px rgba(255,253,248,.9);
  transition:transform .25s ease, box-shadow .25s ease; }
.ld-xp__photo:hover{ transform:translateY(-6px); box-shadow:0 34px 66px rgba(30,22,4,.34), 0 0 0 5px rgba(255,253,248,.9); }
.ld-xp__photo--2{ transform:translateY(-26px); }
.ld-xp__photo--2:hover{ transform:translateY(-32px); }
.ld-xp__photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ld-xp__photo::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(6,6,5,.88) 0%, rgba(6,6,5,.2) 46%, transparent 68%); }
.ld-xp__photo figcaption{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:20px 16px; text-align:center; }
.ld-xp__photo figcaption .ld-script{ display:block; font-size:27px; color:var(--ld-white); line-height:1.2; }
.ld-xp__photo figcaption small{ display:block; margin-top:5px; font-size:10.5px; font-weight:700; letter-spacing:1.2px;
  text-transform:uppercase; color:var(--ld-gold-2); }

@media(max-width:960px){
  .ld-xp__inner{ grid-template-columns:minmax(0,1fr); gap:40px; }
  .ld-xp__text{ max-width:560px; margin:0 auto; text-align:center; }
  .ld-xp__title-script{ margin-left:auto; margin-right:auto; }
  .ld-xp__list{ margin-left:auto; margin-right:auto; }
  .ld-xp__title-script{ margin-left:auto; margin-right:auto; }
  .ld-xp__bg::after{ background:linear-gradient(180deg, rgba(255,253,248,.94) 0%, rgba(255,253,248,.6) 55%, rgba(255,253,248,.86) 100%); }
}
@media(max-width:640px){
  .ld-xp{ padding:66px 0; }
  .ld-xp__title-script{ font-size:1.25em; }
  .ld-xp__list{ flex-wrap:wrap; justify-content:center; gap:14px 20px; }
  .ld-xp__list li{ border-right:0; padding-right:0; }
  .ld-xp__photos{ gap:12px; }
  .ld-xp__photo--2{ transform:translateY(-14px); }
  .ld-xp__photo figcaption .ld-script{ font-size:17px; }
}
@media(max-width:480px){
  .ld-xp__photos{ gap:8px; }
  .ld-xp__photo figcaption{ padding:10px 6px; }
  .ld-xp__photo figcaption .ld-script{ font-size:14px; }
  .ld-xp__photo figcaption small{ font-size:7.5px; }
}

/* =========================================================
   WAVE TRANSITION (Life Xperiences -> Success Stories)
   The strip is 1940x128, so its rendered height is 6.6vw. Equal negative
   margins top and bottom straddle it across the seam and keep it centred
   there at every width, and z-index lifts it over both neighbours.
   ========================================================= */
.ld-wave{ position:relative; z-index:5; line-height:0; pointer-events:none;
  margin:-3.3vw 0; }
/* aspect-ratio reserves the height before the lazy image loads, so the
   negative margins have something to straddle and nothing shifts on load */
.ld-wave img{ display:block; width:100%; height:auto; aspect-ratio:1940/128; }
@media(max-width:820px){
  /* proportional scaling leaves it a hairline on phones, so give it a floor
     and crop rather than stretch */
  .ld-wave{ margin:-27px 0; }
  .ld-wave img{ height:54px; object-fit:cover; object-position:center; }
}

/* =========================================================
   ADVISOR STORIES / SUCCESS STORIES (light)
   ========================================================= */
.ld-stories{ position:relative; overflow:hidden; background:#f7f2ea; color:var(--ld-text-dark); padding:clamp(70px,8vw,110px) 0; text-align:center; }
.ld-stories__bg{ position:absolute; inset:0; z-index:0; }
.ld-stories__bg img{ width:100%; height:100%; object-fit:cover; }
.ld-stories__bg::after{ content:""; position:absolute; inset:0; background:rgba(247,242,234,.62); }
.ld-stories > .ld-container{ position:relative; z-index:1; }

.ld-stories .ld-stories__eyebrow{ justify-content:center; width:100%; gap:10px; color:var(--ld-gold-dark); margin:0; }
.ld-stories__eyebrow i{ display:block; width:26px; height:1px; background:linear-gradient(90deg, transparent, rgba(201,145,7,.55)); }
.ld-stories__eyebrow i:last-child{ background:linear-gradient(90deg, rgba(201,145,7,.55), transparent); }

.ld-stories .ld-stories__title{ margin:14px 0 0; }
.ld-stories__title-caps{ display:block; font-family:var(--ld-serif); font-weight:700; color:#132437;
  font-size:clamp(2.2rem,4.2vw,3.6rem); line-height:1.06; }
.ld-stories__title-script{ display:block; font-family:"Kaushan Script", var(--ld-script), cursive; font-weight:400;
  color:transparent; background:linear-gradient(96deg,#c99107 0%,#f0d189 40%,#c99107 100%);
  -webkit-background-clip:text; background-clip:text;
  font-size:clamp(2.1rem,4vw,3.3rem); line-height:1.2; margin-top:-.08em; }

.ld-stories .ld-stories__divider{ display:flex; align-items:center; justify-content:center; gap:12px;
  color:var(--ld-gold-dark); margin:18px 0 20px; }
.ld-stories__divider i{ display:block; width:60px; height:1px; background:rgba(201,145,7,.4); }

.ld-stories .ld-stories__lead{ font-size:15.5px; line-height:1.6; color:#5c574d; max-width:520px; margin:0 auto 50px; }

.ld-stories__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; text-align:left; }

.ld-story-card{ display:flex; flex-direction:column; background:#fffdf8; border-radius:18px; overflow:hidden;
  border:1px solid rgba(201,145,7,.16); box-shadow:0 18px 40px rgba(30,22,4,.1); }
.ld-story-card__media{ display:block; position:relative; width:100%; aspect-ratio:16/10; overflow:hidden; }
.ld-story-card__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ld-story-card__quote{ position:relative; z-index:2; display:grid; place-items:center; width:46px; height:46px;
  margin:-23px 0 0 22px; border-radius:50%; background:#0f1f33; color:var(--ld-gold-2);
  font-family:var(--ld-serif); font-size:26px; line-height:1; font-weight:700;
  box-shadow:0 8px 18px rgba(0,0,0,.28); }
.ld-story-card__body{ padding:16px 22px 22px; display:flex; flex-direction:column; flex:1 1 auto; }
.ld-story-card .ld-story-card__tag{ display:flex; align-items:center; gap:7px; font-family:var(--ld-sans);
  font-weight:800; text-transform:uppercase; font-size:11px; letter-spacing:.5px; color:var(--ld-gold-dark);
  margin:0 0 10px; }
.ld-story-card__body h3{ font-family:var(--ld-sans); font-weight:800; font-size:18px; line-height:1.28;
  color:#132437; margin:0; }
.ld-story-card__script{ display:block; font-family:var(--ld-serif); font-style:italic; font-weight:600;
  color:var(--ld-gold-dark); font-size:18px; line-height:1.3; margin-top:1px; }
.ld-story-card .ld-story-card__copy{ font-size:13.5px; line-height:1.55; color:#5c574d; margin:12px 0 18px; }
.ld-story-card__meta{ margin-top:auto; display:flex; align-items:center; gap:10px; background:#f3ede0;
  border-radius:10px; padding:9px 12px; font-size:12px; line-height:1.4; color:#5c574d; }
.ld-story-card__meta strong{ display:block; font-size:11px; letter-spacing:.3px; text-transform:uppercase; color:#132437; }
.ld-story-card__meta-icon{ flex:none; display:grid; place-items:center; width:26px; height:26px; border-radius:50%;
  background:#132437; color:var(--ld-gold-2); }

.ld-stories__bar{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:0;
  margin:48px auto 0; max-width:1100px; background:#fffdf8; border-radius:16px;
  border:1px solid rgba(201,145,7,.2); box-shadow:0 16px 36px rgba(30,22,4,.08); }
.ld-stories__bar-item{ display:flex; align-items:center; gap:10px; padding:18px 26px;
  border-right:1px solid rgba(201,145,7,.22); color:var(--ld-gold-dark); flex:1 1 0; min-width:200px; }
.ld-stories__bar-item:last-child{ border-right:none; }
.ld-stories__bar-item svg{ flex:none; color:var(--ld-gold-dark); }
.ld-stories__bar-item span{ font-family:var(--ld-sans); font-weight:800; text-transform:uppercase;
  font-size:12.5px; letter-spacing:.2px; color:#132437; line-height:1.4; }
.ld-stories__bar-item span em{ display:block; font-style:normal; color:var(--ld-gold-dark); }

@media(max-width:980px){
  .ld-stories__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .ld-stories__bar-item{ border-right:none; border-bottom:1px solid rgba(201,145,7,.22); width:100%; justify-content:center; text-align:center; }
  .ld-stories__bar-item:last-child{ border-bottom:none; }
  .ld-stories__bar{ flex-direction:column; }
}
@media(max-width:640px){
  .ld-stories{ padding:56px 0; }
  .ld-stories__grid{ grid-template-columns:minmax(0,1fr); max-width:380px; margin:0 auto; }
  .ld-stories .ld-stories__lead{ margin-bottom:36px; }
}

/* =========================================================
   FINAL CTA
   ========================================================= */
.ld-final{ position:relative; overflow:hidden; padding:96px 0; }
.ld-final__bg{ position:absolute; inset:0; z-index:0; }
.ld-final__bg img{ width:100%; height:100%; object-fit:cover; }
.ld-final__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(rgba(7,8,7,.86),rgba(7,8,7,.9)); }
.ld-final__inner{ position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:56px; align-items:center; }
.ld-final__title{ font-family:var(--ld-serif); font-weight:600; color:var(--ld-white); font-size:clamp(2.1rem,3.6vw,3.1rem); line-height:1.08; margin:0 0 20px; }
.ld-final__copy{ font-size:16px; line-height:1.6; color:#d8d1c4; max-width:460px; margin:0 0 30px; }
.ld-final__trust{ display:flex; flex-wrap:wrap; gap:18px 28px; list-style:none; margin:0; padding:0; }
@media(max-width:480px){ .ld-final__trust{ flex-direction:column; gap:10px; } }
.ld-final__trust li{ display:flex; align-items:center; gap:9px; font-size:13.5px; color:#cfc8ba; }
.ld-final__trust svg{ color:var(--ld-gold); flex:none; }
@media(max-width:960px){ .ld-final__inner{ grid-template-columns:minmax(0,1fr); gap:38px; } }
@media(max-width:640px){ .ld-final{ padding:64px 0; } }

/* =========================================================
   FAQ
   ========================================================= */
.ld-faq{ background:var(--ld-black); color:var(--ld-cream); padding:88px 0; }
.ld-faq__head{ text-align:center; max-width:600px; margin:0 auto 42px; }
.ld-faq__title{ font-family:var(--ld-serif); font-weight:600; font-size:clamp(2rem,3vw,2.5rem); color:var(--ld-white); margin:0; }
.ld-faq__list{ max-width:800px; margin:0 auto; display:grid; gap:12px; }
.ld-faq-item{ background:var(--ld-panel); border:1px solid rgba(245,181,23,.22); border-radius:14px; overflow:hidden; }
.ld-faq-item__q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
  background:none; border:0; cursor:pointer; text-align:left; padding:19px 22px; font-family:var(--ld-sans);
  font-size:15.5px; font-weight:700; color:var(--ld-white); }
.ld-faq-item__icon{ flex:none; width:26px; height:26px; border-radius:50%; border:1.5px solid var(--ld-gold);
  color:var(--ld-gold); display:grid; place-items:center; transition:transform .25s ease, background .25s ease, color .25s ease; }
.ld-faq-item__icon svg{ transition:opacity .2s; }
.ld-faq-item__icon svg.ld-minus{ position:absolute; opacity:0; }
.ld-faq-item.ld-open{ border-color:rgba(245,181,23,.55); }
.ld-faq-item.ld-open .ld-faq-item__icon{ background:var(--ld-gold); color:#181307; transform:rotate(180deg); }
.ld-faq-item__a{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.ld-faq-item__a-inner{ padding:0 22px 20px; font-size:14.5px; line-height:1.6; color:#b8b0a3; }
@media(max-width:640px){ .ld-faq{ padding:60px 0; } .ld-faq-item__q{ padding:16px 18px; font-size:14.5px; } }

/* =========================================================
   CLOSING CTA BANNER
   ========================================================= */
.ld-closing{ position:relative; overflow:hidden; padding:clamp(72px,9vw,120px) 0; }
.ld-closing__bg{ position:absolute; inset:0; z-index:0; }
.ld-closing__bg img{ width:100%; height:100%; object-fit:cover; object-position:center 60%; }
.ld-closing__bg::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(255,252,244,.86) 0%, rgba(255,252,244,.66) 30%, rgba(255,252,244,.2) 52%, rgba(255,252,244,0) 68%); }
.ld-closing__inner{ position:relative; z-index:1; max-width:620px; }
.ld-closing .ld-closing__title{ margin:0 0 14px; }
.ld-closing__script{ display:block; font-family:var(--ld-script), cursive; font-weight:400;
  font-size:clamp(2.1rem,4.3vw,3.5rem); line-height:1.05; color:#132437; }
.ld-closing__caps{ display:block; font-family:var(--ld-sans); font-weight:800; text-transform:uppercase;
  letter-spacing:.3px; font-size:clamp(1.45rem,2.9vw,2.4rem); line-height:1.15; color:#dd5b23; margin-top:2px; }
.ld-closing .ld-closing__lead{ font-size:clamp(14px,1.05vw,16.5px); line-height:1.55; color:#3a3530;
  max-width:460px; margin:16px 0 30px; }
.ld-closing__cta{ background:#dd5b23; color:#fff; height:56px; padding:0 10px 0 30px; font-size:15px; }
.ld-closing__cta:hover{ background:#c94f1c; transform:translateY(-2px); box-shadow:0 16px 34px rgba(221,91,35,.32); }
.ld-closing__cta .ld-circle{ background:rgba(255,255,255,.22); color:#fff; }
@media(max-width:820px){
  .ld-closing{ padding:64px 0; text-align:center; }
  .ld-closing__inner{ max-width:520px; margin:0 auto; }
  .ld-closing .ld-closing__lead{ margin:14px auto 26px; }
  .ld-closing__bg::after{ background:linear-gradient(180deg, rgba(255,252,244,.42) 0%, rgba(255,252,244,.8) 55%, rgba(255,252,244,.92) 100%); }
}
@media(max-width:480px){
  .ld-closing{ padding:52px 0; }
  .ld-closing__script{ font-size:9.2vw; }
  .ld-closing__caps{ font-size:6.4vw; }
  .ld-closing .ld-closing__lead{ font-size:14px; }
  .ld-closing__cta{ height:52px; font-size:14px; padding:0 8px 0 24px; }
}

/* =========================================================
   FOOTER
   ========================================================= */
.ld-footer{ background:#0a0b0a; border-top:1px solid rgba(245,181,23,.4); padding:0 0 26px; }
.ld-footer__trust{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; padding:30px 0; border-bottom:1px solid var(--ld-line-soft); margin-bottom:30px; }
.ld-footer__trust-item{ display:flex; align-items:center; gap:11px; }
.ld-footer__trust-item svg{ flex:none; color:var(--ld-gold); }
.ld-footer__trust-item span{ font-size:12.5px; font-weight:700; color:var(--ld-cream); letter-spacing:.2px; }
@media(max-width:900px){ .ld-footer__trust{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px){ .ld-footer__trust{ grid-template-columns:minmax(0,1fr); } }
.ld-footer__top{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-bottom:26px; }
.ld-footer__logo img{ height:36px; }
.ld-footer__links{ display:flex; flex-wrap:wrap; gap:20px; }
.ld-footer__links a{ font-size:12.5px; color:var(--ld-muted-2); transition:color .2s; }
.ld-footer__links a:hover{ color:var(--ld-gold); }
.ld-footer__bottom{ border-top:1px solid var(--ld-line-soft); padding-top:20px; display:flex; justify-content:space-between;
  align-items:center; gap:16px; flex-wrap:wrap; }
.ld-footer__bottom p{ margin:0; font-size:11.5px; color:#847c6f; }
.ld-footer .ld-footer__disclosure{ font-size:11px; line-height:1.6; color:#6f6a60; max-width:900px; margin:18px auto 0; text-align:center; }
@media(max-width:640px){ .ld-footer__top,.ld-footer__bottom{ flex-direction:column; text-align:center; } }

/* ---------- Reveal-on-scroll ---------- */
@media (prefers-reduced-motion:no-preference){
  .ld-anim{ opacity:0; transform:translateY(16px); transition:opacity .55s ease, transform .55s ease; }
  .ld-anim.ld-in{ opacity:1; transform:none; }
}

/* ---------- Skip link ---------- */
.ld-skip{ position:absolute; left:-999px; top:0; z-index:2000; background:var(--ld-gold); color:#181307;
  padding:10px 18px; border-radius:0 0 10px 0; font-weight:700; font-size:13px; }
.ld-skip:focus{ left:0; }

/* =========================================================
   CONSENT  (lead intake -- the statement text is supplied by
   the platform's active lead-intake policy, not hard-coded)
   ========================================================= */
.ld-consent{ display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start;
  gap:10px; margin:0 0 18px; cursor:pointer; }
.ld-consent input[type="checkbox"]{ width:18px; height:18px; margin:2px 0 0; padding:0;
  flex:none; accent-color:var(--ld-gold); cursor:pointer; }
.ld-consent__text{ font-family:var(--ld-sans); font-size:12.5px; line-height:1.55;
  color:var(--ld-muted); }
.ld-consent .ld-field__err{ grid-column:2; }
.ld-consent.ld-has-error .ld-consent__text{ color:#e88; }

/* on the hero pass the consent sits inside the ticket, on the light paper */
.ld-consent--ticket{ max-width:65.8%; margin:.35vw 0 0; }
.ld-consent--ticket .ld-consent__text{ color:#5b6472; font-size:clamp(10.5px,.78vw,12.5px); }
.ld-consent--ticket input[type="checkbox"]{ accent-color:var(--ld-tk-gold2); }
.ld-consent--ticket.ld-has-error .ld-consent__text{ color:#b3261e; }

/* first/last share a row, email takes its own -- all kept clear of the
   absolutely positioned Claim My Pass button on the right of the ticket */
.ld-ticket__row + .ld-ticket__row{ margin-top:.5vw; }

/* submission failure notice */
.ld-form__error{ display:none; margin:0 0 14px; padding:11px 14px; border-radius:9px;
  border:1px solid rgba(232,136,136,.45); background:rgba(232,136,136,.09);
  font-family:var(--ld-sans); font-size:12.5px; line-height:1.5; color:#e88; }
.ld-form__error.ld-show{ display:block; }
.ld-consent--ticket + .ld-form__error,
.ld-ticket__form .ld-form__error{ max-width:65.8%; color:#b3261e;
  border-color:rgba(179,38,30,.35); background:rgba(179,38,30,.07); }

@media (max-width:900px){
  .ld-consent--ticket{ max-width:none; margin-top:10px; }
  .ld-ticket__row{ max-width:none; }
  .ld-ticket__form .ld-form__error{ max-width:none; }
}

/* =========================================================
   SPONSOR BADGE  (shown when the visitor arrived on /<username>)
   ========================================================= */
.pfp-sponsor{ position:fixed; z-index:60; right:18px; bottom:18px;
  display:flex; align-items:center; gap:12px; max-width:min(320px,calc(100vw - 36px));
  padding:11px 16px 11px 11px; border-radius:14px;
  border:1px solid rgba(245,181,23,.34);
  background:rgba(12,17,26,.94); backdrop-filter:blur(9px);
  box-shadow:0 14px 34px rgba(0,0,0,.42);
  animation:pfpSponsorIn .45s cubic-bezier(.16,.84,.44,1) both; }
@keyframes pfpSponsorIn{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }

.pfp-sponsor__avatar{ flex:none; width:42px; height:42px; border-radius:50%; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(150deg,#d7b061,#c8a24d); color:#11151c;
  font-family:var(--ld-sans); font-weight:800; font-size:15px; letter-spacing:.4px; }
.pfp-sponsor__avatar img{ width:100%; height:100%; object-fit:cover; display:block; }

.pfp-sponsor__text{ display:flex; flex-direction:column; min-width:0; }
.pfp-sponsor__name{ font-family:var(--ld-sans); font-weight:700; font-size:14px;
  line-height:1.25; color:var(--ld-white,#fff); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pfp-sponsor__handle{ font-family:var(--ld-sans); font-size:12px; line-height:1.35;
  color:var(--ld-gold,#f5b517); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pfp-sponsor__caption{ font-family:var(--ld-sans); font-size:10.5px; letter-spacing:.7px;
  text-transform:uppercase; color:var(--ld-muted,#9aa4b3); margin-top:2px; }

/* Cosmetic only -- attribution comes from the URL the server resolved, so
   hiding the card cannot detach the visit from the advisor. */
.pfp-sponsor__close{ position:absolute; top:-9px; right:-9px; width:24px; height:24px;
  display:flex; align-items:center; justify-content:center; padding:0; cursor:pointer;
  border-radius:50%; border:1px solid rgba(245,181,23,.4); color:var(--ld-muted,#9aa4b3);
  background:#0c111a; }
.pfp-sponsor__close:hover{ color:var(--ld-white,#fff); border-color:var(--ld-gold,#f5b517); }

@media (max-width:600px){
  .pfp-sponsor{ right:12px; left:12px; bottom:12px; max-width:none; }
}

/* both components lay out with display:flex, which would otherwise beat the
   UA rule behind the hidden attribute */
.pfp-sponsor[hidden], .pfp-ask[hidden]{ display:none; }

/* =========================================================
   "WHO REFERRED YOU?" PROMPT  (unattributed visits)
   ========================================================= */
.pfp-ask{ position:fixed; inset:0; z-index:70; display:flex; align-items:center;
  justify-content:center; padding:20px; background:rgba(6,10,16,.72);
  animation:pfpAskIn .25s ease both; }
@keyframes pfpAskIn{ from{ opacity:0; } to{ opacity:1; } }

.pfp-ask__panel{ width:100%; max-width:430px; padding:30px 28px 24px; border-radius:16px;
  border:1px solid rgba(245,181,23,.28); background:#0f1520;
  box-shadow:0 26px 70px rgba(0,0,0,.55); }
.pfp-ask__title{ font-family:var(--ld-serif,"Cormorant Garamond",serif); font-weight:600;
  font-size:25px; line-height:1.3; color:var(--ld-white,#fff); margin:0 0 22px; }
.pfp-ask__copy{ font-family:var(--ld-sans); font-size:13.5px; line-height:1.6;
  color:var(--ld-muted,#9aa4b3); margin:0 0 20px; }
.pfp-ask__label{ display:block; font-family:var(--ld-sans); font-size:11px; font-weight:700;
  letter-spacing:1px; text-transform:uppercase; color:var(--ld-muted,#9aa4b3); margin:0 0 8px; }
.pfp-ask__row{ display:flex; gap:9px; }
.pfp-ask__row input{ flex:1 1 auto; min-width:0; height:46px; border-radius:10px;
  border:1px solid rgba(245,181,23,.3); background:rgba(255,255,255,.04);
  color:var(--ld-white,#fff); font-family:var(--ld-sans); font-size:14.5px; padding:0 14px; }
.pfp-ask__row input:focus{ outline:none; border-color:var(--ld-gold,#f5b517);
  background:rgba(255,255,255,.07); }
.pfp-ask__verify{ flex:none; height:46px; padding:0 20px; border:0; border-radius:10px;
  cursor:pointer; font-family:var(--ld-sans); font-weight:800; font-size:12.5px;
  text-transform:uppercase; letter-spacing:.4px; color:#11151c;
  background:linear-gradient(180deg,#d7b061 0%,#d0a954 55%,#c8a24d 100%); }
.pfp-ask__verify[disabled]{ opacity:.55; cursor:default; }
.pfp-ask__error{ font-family:var(--ld-sans); font-size:12.5px; line-height:1.5;
  color:#e88; margin:10px 0 0; }
