/* =========================================================
   ITBMO · HOME V4.7
   Premium / glass / travel-tech / Apple-like restraint
   ========================================================= */

:root{
  --ink:#071f3d;
  --ink-2:#173652;
  --text:#526c82;
  --muted:#7d91a2;

  --blue:#0877f9;
  --blue-2:#168fe7;
  --cyan:#35bfd1;
  --teal:#0aa7a5;
  --indigo:#6d78ee;
  --mint:#35b98e;
  --rose:#d85891;
  --amber:#d79a16;

  --page:#f5fafc;
  --surface:rgba(255,255,255,.72);
  --surface-strong:rgba(255,255,255,.90);
  --line:rgba(38,83,119,.10);
  --line-strong:rgba(30,102,146,.17);

  --radius-sm:14px;
  --radius-md:20px;
  --radius-lg:28px;
  --radius-xl:36px;

  --shadow:0 16px 50px rgba(16,56,88,.08);
  --shadow-up:0 24px 70px rgba(16,56,88,.13);
  --ease:cubic-bezier(.22,1,.36,1);
  --header-h:74px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--page)}
body{
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
  color:var(--ink);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  background:
    radial-gradient(860px 520px at -8% 4%,rgba(53,191,209,.10),transparent 69%),
    radial-gradient(900px 540px at 108% 0%,rgba(109,120,238,.09),transparent 70%),
    linear-gradient(180deg,#f9fcfd 0%,#f5fafc 50%,#f8fbfd 100%);
}

button,input,select,textarea{font:inherit}
a{color:inherit}
img,svg,video{max-width:100%;display:block}

::selection{background:rgba(8,119,249,.18);color:var(--ink)}

.skip-link{
  position:fixed;left:14px;top:-60px;z-index:99999;
  padding:.65rem .85rem;border-radius:999px;
  color:#fff;background:var(--blue);font-weight:800;text-decoration:none
}
.skip-link:focus{top:14px}

.page-shell{width:min(calc(100% - 36px),1200px);margin-inline:auto}
.page-shell--wide{width:min(calc(100% - 28px),1500px)}
.page-shell--narrow{width:min(calc(100% - 36px),880px)}

.glass-card,
.glass-panel,
.glass-frame{
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,255,255,.58));
  border:1px solid rgba(255,255,255,.74);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 1px 0 rgba(21,77,112,.05),
    var(--shadow);
  backdrop-filter:blur(22px) saturate(135%);
  -webkit-backdrop-filter:blur(22px) saturate(135%);
}

.glass-pill{
  display:inline-flex;align-items:center;gap:.38rem;
  padding:.38rem .62rem;border-radius:999px;
  color:#0a6781;background:rgba(240,250,252,.66);
  border:1px solid rgba(22,133,157,.13);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 8px 20px rgba(24,83,115,.04);
  backdrop-filter:blur(14px);
  font-size:.68rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase
}
.glass-pill--dark{color:#eafcff;background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.15)}

.eyebrow{margin-bottom:.65rem}

.section-heading{margin-bottom:2rem}
.section-heading--split{
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr);
  gap:clamp(2rem,5vw,5rem);align-items:end
}
.section-heading--split>p{max-width:520px;margin:0 0 .15rem;color:var(--text);font-size:.96rem}
.section-heading--center{text-align:center;max-width:760px;margin:0 auto 1.7rem}
.section-heading--center p{margin:.5rem auto 0;color:var(--text);max-width:630px}

.section-heading h2,
.promise-copy h2,
.verify-panel h2,
.final-cta h2{
  margin:.2rem 0 0;
  font-size:clamp(2.2rem,4.2vw,3.75rem);
  line-height:.98;
  letter-spacing:-.058em;
  font-weight:850;
}

.section-heading h2 span,
.promise-copy h2 span,
.verify-panel h2 span{
  color:transparent;
  background:linear-gradient(100deg,var(--blue),var(--teal),var(--indigo));
  -webkit-background-clip:text;background-clip:text
}

/* HEADER */
.site-header{
  position:sticky;top:0;z-index:9500;min-height:var(--header-h);
  border-bottom:1px solid rgba(29,82,116,.06);
  background:rgba(248,252,253,.72);
  backdrop-filter:blur(22px) saturate(145%);
  -webkit-backdrop-filter:blur(22px) saturate(145%)
}
.site-header__inner{
  width:min(calc(100% - 32px),1460px);min-height:var(--header-h);margin:auto;
  display:flex;align-items:center;justify-content:space-between;gap:1rem
}
.brand{display:inline-flex;flex-direction:column;gap:.02rem;text-decoration:none;line-height:1}
.brand__main{font-size:1.42rem;font-weight:900;letter-spacing:-.055em;color:var(--ink)}
.brand__sub{font-size:.76rem;font-weight:800;letter-spacing:-.025em;color:#3c6684}
.brand--footer .brand__main{color:#fff}
.brand--footer .brand__sub{color:rgba(233,246,251,.68)}

.site-nav{display:flex;align-items:center;gap:.92rem}
.site-nav a{position:relative;text-decoration:none;color:#49657c;font-size:.74rem;font-weight:750}
.site-nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;border-radius:999px;
  background:linear-gradient(90deg,var(--blue),var(--teal));transition:right .26s var(--ease)
}
.site-nav a:hover::after{right:0}
.site-header__actions{display:flex;align-items:center;gap:.55rem}
.language-toggle{
  width:39px;height:39px;border-radius:999px;border:1px solid var(--line);
  color:#45657d;background:rgba(255,255,255,.72);font-size:.8rem;font-weight:850;cursor:pointer
}


.brand--logo{
  display:flex;align-items:center;justify-content:flex-start;
  width:150px;min-width:150px;height:52px
}
.brand--logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.brand--footer.brand--logo{width:170px;height:60px;filter:brightness(0) invert(1);opacity:.94}

/* BUTTONS */
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  min-height:48px;padding:.75rem 1rem;border-radius:999px;text-decoration:none;
  font-size:.86rem;font-weight:850;letter-spacing:-.012em;
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),background .2s ease
}
.button:hover{transform:translateY(-2px)}
.button--small{min-height:40px;padding:.58rem .86rem;font-size:.79rem}
.button--large{min-height:52px;padding:.8rem 1.14rem}
.button--primary{
  color:#fff;background:linear-gradient(120deg,var(--blue),#158ee3 48%,var(--teal));
  box-shadow:0 14px 34px rgba(8,119,249,.20)
}
.button--primary:hover{box-shadow:0 20px 44px rgba(8,119,249,.26)}
.button--glass{
  color:var(--ink-2);
  background:rgba(255,255,255,.68);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 28px rgba(18,55,90,.06);
  backdrop-filter:blur(16px)
}
.button--white{color:var(--ink);background:#fff;box-shadow:0 18px 45px rgba(4,27,54,.18)}

/* HERO */
.hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(4.6rem,7vw,7rem) 0 clamp(4.3rem,6vw,6rem)}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-3;
  background:
    radial-gradient(720px 420px at 14% 18%,rgba(53,191,209,.16),transparent 70%),
    radial-gradient(790px 460px at 82% 5%,rgba(109,120,238,.16),transparent 72%),
    linear-gradient(180deg,#f8fcfd,#f6f8ff)
}
.hero__mesh{position:absolute;border-radius:999px;filter:blur(18px);z-index:-2;pointer-events:none}
.hero__mesh--one{width:340px;height:340px;left:-170px;bottom:-120px;background:rgba(53,191,209,.15)}
.hero__mesh--two{width:390px;height:390px;right:-170px;top:-190px;background:rgba(109,120,238,.14)}
.hero__inner{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);
  gap:clamp(2rem,5vw,5rem);align-items:center
}
.hero__copy{max-width:760px}
.hero__badge{margin-bottom:1rem}
.hero h1{
  margin:0;font-size:clamp(3.15rem,6.5vw,5.85rem);line-height:.965;letter-spacing:-.052em;font-weight:900
}
.hero h1 span{
  display:inline-block;
  color:transparent;background:linear-gradient(100deg,var(--blue),var(--teal),var(--indigo));
  -webkit-background-clip:text;background-clip:text;
  padding-right:.065em;margin-right:.035em
}
.hero__lead{max-width:680px;margin:1.1rem 0 0;color:#60798e;font-size:clamp(1rem,1.35vw,1.14rem)}
.hero__features{display:flex;flex-wrap:wrap;gap:.42rem;margin-top:1.35rem}
.hero__features span{
  padding:.42rem .62rem;border-radius:999px;color:#4d6b81;background:rgba(255,255,255,.62);
  border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 0 #fff;font-size:.73rem;font-weight:700
}
.hero__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.2rem}
.hero__price{display:flex;align-items:center;gap:.55rem;margin-top:1.15rem;color:#718697;font-size:.78rem}
.hero__price strong{color:var(--ink);font-size:1.55rem;letter-spacing:-.045em}
.hero__price del{opacity:.7}
.hero__price em{font-style:normal;padding:.26rem .45rem;border-radius:999px;background:#edf9f5;color:#1d735f;font-weight:800}

.hero__visual{position:relative;min-height:460px}
.hero-orbit{position:absolute;border:1px solid rgba(37,124,163,.08);border-radius:999px}
.hero-orbit--1{width:390px;height:390px;right:3%;top:5%}
.hero-orbit--2{width:290px;height:290px;right:14%;top:16%}
.hero-glass-card{
  position:absolute;display:flex;flex-direction:column;justify-content:flex-end;
  color:#fff;border:1px solid rgba(255,255,255,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 30px 70px rgba(18,55,90,.16);
  backdrop-filter:blur(24px) saturate(130%)
}
.hero-glass-card--back{
  width:260px;height:185px;right:20px;top:28px;padding:1.1rem;border-radius:30px;
  background:linear-gradient(145deg,rgba(92,124,236,.78),rgba(52,190,209,.66));
  transform:rotate(7deg)
}
.hero-glass-card--front{
  width:310px;height:255px;left:2%;bottom:25px;padding:1.35rem;border-radius:34px;
  background:
    radial-gradient(260px 180px at 100% 0%,rgba(67,213,210,.34),transparent 70%),
    linear-gradient(145deg,rgba(7,79,136,.91),rgba(7,145,151,.85))
}
.hero-glass-card__label{font-size:.65rem;font-weight:850;letter-spacing:.09em;opacity:.78}
.hero-glass-card strong{margin-top:.25rem;font-size:1.75rem;line-height:1;letter-spacing:-.045em}
.hero-glass-card small{margin-top:.25rem;opacity:.75}
.hero-glass-card__spark{position:absolute;right:1rem;top:1rem;font-size:1.3rem}
.hero-route-mini{display:flex;align-items:center;margin-top:1.4rem}
.hero-route-mini i{width:12px;height:12px;border-radius:999px;background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.12)}
.hero-route-mini b{flex:1;height:2px;background:rgba(255,255,255,.38)}

/* HOW */
.how-section{padding:clamp(4.5rem,7vw,7rem) 0;background:rgba(255,255,255,.48)}
.how-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.how-card{position:relative;min-height:250px;padding:1.15rem;border-radius:24px;overflow:hidden}
.how-card__number{position:absolute;right:.95rem;top:.75rem;color:rgba(7,31,61,.06);font-size:2.6rem;font-weight:900;letter-spacing:-.06em}
.how-card__icon{width:38px;height:38px;display:grid;place-items:center;margin-bottom:.85rem;border-radius:12px;color:#0a7890;background:rgba(236,249,251,.78);border:1px solid rgba(15,130,150,.10)}
.how-card h3{margin:0 0 .4rem;font-size:1rem;letter-spacing:-.025em}
.how-card p{margin:0;color:var(--text);font-size:.81rem;line-height:1.55}

.info-instructions{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:clamp(1.5rem,4vw,4rem);margin-top:1rem;padding:clamp(1.2rem,2.6vw,2rem);border-radius:30px
}
.info-instructions__copy h3{
  margin:.2rem 0 .6rem;font-size:clamp(1.8rem,3.1vw,2.65rem);line-height:1;letter-spacing:-.05em
}
.info-instructions__copy h3 span{color:transparent;background:linear-gradient(100deg,var(--blue),var(--teal));-webkit-background-clip:text;background-clip:text}
.info-instructions__copy>p{margin:0;color:var(--text);max-width:620px;font-size:.9rem}
.prompt-grid{display:grid;grid-template-columns:1fr;gap:.42rem;margin-top:1rem}
.prompt-grid button{
  width:100%;padding:.65rem .75rem;border:1px solid rgba(35,75,112,.08);border-radius:14px;text-align:left;
  color:#526f84;background:rgba(248,252,253,.72);cursor:default;font-size:.78rem
}
.micro-note{display:flex;gap:.65rem;align-items:flex-start;margin-top:.85rem;padding:.7rem;border-radius:14px;background:rgba(255,249,230,.76);border:1px solid rgba(215,154,22,.12)}
.micro-note span{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;border-radius:999px;background:#fff;color:#8b6510;font-weight:900;font-size:.7rem}
.micro-note p{margin:0;color:#756f61;font-size:.72rem}

.info-chat-mini{align-self:center;border-radius:24px;overflow:hidden}
.info-chat-mini__top{
  min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:.7rem .9rem;
  color:#fff;background:linear-gradient(110deg,#0b5fa8,#087fa5,#0aa7a5)
}
.info-chat-mini__top>div{display:flex;gap:.25rem}
.info-chat-mini__top i{width:7px;height:7px;border-radius:999px;background:rgba(255,255,255,.52)}
.info-chat-mini__top strong{font-size:.8rem}
.info-chat-mini__body{display:flex;flex-direction:column;gap:.65rem;padding:.85rem;background:linear-gradient(180deg,rgba(247,251,253,.9),rgba(242,247,252,.8))}
.bubble{max-width:90%;padding:.68rem .76rem;border-radius:14px;font-size:.75rem;line-height:1.5}
.bubble--user{align-self:flex-end;color:#fff;background:linear-gradient(135deg,var(--blue),#288ce6);border-bottom-right-radius:5px}
.bubble--astra{align-self:flex-start;color:#526d82;background:rgba(255,255,255,.84);border:1px solid rgba(35,75,112,.08);border-bottom-left-radius:5px}

/* PROMISE */
.promise-section{
  padding:clamp(4.5rem,7vw,7.2rem) 0;
  background:
    radial-gradient(650px 380px at 8% 5%,rgba(53,191,209,.08),transparent 70%),
    radial-gradient(680px 390px at 94% 90%,rgba(109,120,238,.08),transparent 72%),
    linear-gradient(180deg,#f6fafc,#fbfcff)
}
.promise-hero{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
  gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(1.4rem,3vw,2.5rem);border-radius:34px
}
.promise-copy h2{font-size:clamp(2.4rem,4.8vw,4.1rem);max-width:730px}
.promise-copy h2 span{display:block}
.promise-copy>p{max-width:650px;margin:.9rem 0 0;color:var(--text);font-size:.92rem}
.promise-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem;margin-top:1.1rem}
.promise-facts span{display:flex;align-items:center;gap:.55rem;padding:.5rem .6rem;border-radius:13px;background:rgba(247,251,253,.7);border:1px solid rgba(35,75,112,.07);color:#49687e;font-size:.76rem;font-weight:720}
.promise-facts b{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#eaf8fa;color:#0a758c;font-size:.65rem}

.route-visual{position:relative;min-height:490px}
.route-visual__photo{
  position:absolute;inset:0 14% 8% 0;border-radius:30px;overflow:hidden;
  background:
    radial-gradient(420px 260px at 25% 20%,rgba(53,191,209,.30),transparent 70%),
    radial-gradient(450px 280px at 85% 80%,rgba(109,120,238,.26),transparent 72%),
    linear-gradient(145deg,#dbf4f6,#e4e8ff);
  box-shadow:0 28px 70px rgba(20,64,96,.13)
}
.route-visual__photo::after{content:"";position:absolute;inset:auto 0 0;height:46%;background:linear-gradient(180deg,transparent,rgba(7,31,61,.72))}
.photo-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#708799;font-size:.65rem;font-weight:850;letter-spacing:.08em}
.route-visual__caption{position:absolute;left:1.2rem;right:1.2rem;bottom:1.1rem;z-index:2;color:#fff}
.route-visual__caption small{display:block;font-size:.64rem;font-weight:850;letter-spacing:.08em}
.route-visual__caption strong{display:block;margin-top:.18rem;font-size:1.45rem;letter-spacing:-.035em}
.route-visual__path{
  position:absolute;right:0;top:16%;width:46%;padding:.85rem;border-radius:20px;
  background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.84);
  box-shadow:0 22px 56px rgba(18,55,90,.12);backdrop-filter:blur(18px)
}
.route-stop{padding:.55rem .6rem;border-radius:12px;color:#4a687d;background:rgba(247,251,253,.75)}
.route-stop--active{background:linear-gradient(135deg,rgba(232,247,255,.94),rgba(236,250,249,.94))}
.route-stop span{display:block;color:#0a7890;font-size:.62rem;font-weight:850}
.route-stop strong{display:block;margin-top:.1rem;font-size:.78rem}
.route-visual__path>i{display:block;width:2px;height:20px;margin-left:13px;background:linear-gradient(var(--cyan),rgba(109,120,238,.25))}

/* ITINERARY PREVIEW */
.itinerary-preview{margin-top:1rem}
.itinerary-preview__heading{
  display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.75rem;padding:0 .25rem
}
.itinerary-preview__heading h3{margin:.2rem 0 .35rem;font-size:1.6rem;letter-spacing:-.04em}
.itinerary-preview__heading p{max-width:680px;margin:0;color:var(--text);font-size:.84rem}
.itinerary-preview__export{display:flex;gap:.35rem}
.itinerary-preview__export span{padding:.38rem .52rem;border-radius:999px;color:#24627f;background:rgba(238,248,251,.82);border:1px solid rgba(25,114,155,.10);font-size:.68rem;font-weight:850}

.itinerary-card{overflow:hidden;border-radius:26px}
.itinerary-card__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid rgba(35,75,112,.07)}
.itinerary-card__top span{display:block;color:#0a7187;font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.itinerary-card__top strong{display:block;margin-top:.15rem;font-size:1rem}
.date-chip{width:54px;height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;border-radius:15px;background:linear-gradient(135deg,var(--blue),var(--teal));font-weight:900;line-height:1}
.date-chip small{margin-top:.18rem;font-size:.52rem;letter-spacing:.07em}
.itinerary-table-wrap{overflow-x:auto}
.itinerary-table{width:100%;min-width:1180px;border-collapse:collapse}
.itinerary-table th{padding:.64rem .62rem;background:rgba(239,247,250,.82);border-bottom:1px solid rgba(35,75,112,.07);color:#5d7486;text-align:left;font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.itinerary-table td{padding:.7rem .62rem;border-bottom:1px solid rgba(35,75,112,.06);color:#4d687d;vertical-align:top;font-size:.69rem;line-height:1.45}
.itinerary-table td strong{color:var(--ink-2)}
.itinerary-table td:last-child{min-width:285px}
.itinerary-card__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.78rem 1rem;color:#718596;font-size:.7rem;background:rgba(248,252,253,.72)}
.itinerary-card__foot strong{color:#3d647c}

/* PLANNER */
.planner-section{padding:clamp(4.2rem,6vw,6rem) 0}
.planner-frame{overflow:hidden;border-radius:30px}
.planner-frame__top{
  min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .9rem;
  border-bottom:1px solid rgba(35,75,112,.07);background:rgba(250,253,254,.78);color:#708596;font-size:.7rem
}
.planner-frame__status{display:flex;align-items:center;gap:.45rem;font-weight:800}
.status-dot{width:8px;height:8px;border-radius:999px;background:var(--mint);box-shadow:0 0 0 4px rgba(55,185,142,.10)}
.planner-iframe{display:block;width:100%;height:980px;min-height:720px;border:0;background:#f5fbfd;transition:height .16s ease-out}
.planner-frame__hint{color:#8797a5}

/* AD */
.ad-zone{padding:0 0 1rem}
.ad-preview{min-height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:20px;color:#8a9aa7;text-align:center}
.ad-preview span{font-size:.55rem;letter-spacing:.12em}
.ad-preview strong{margin-top:.15rem;font-size:.8rem;color:#657d8e}
.ad-preview small{font-size:.65rem}

/* VERIFY */
.verify-section{padding:clamp(4rem,6vw,6rem) 0;background:#fff}
.verify-panel{padding:clamp(1.2rem,2.5vw,2rem);border-radius:30px}
.verify-panel__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);gap:2rem;align-items:end}
.verify-panel__head>p{margin:0 0 .15rem;color:var(--text);font-size:.83rem}
.verify-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-top:1rem}
.verify-grid article{padding:.82rem;border-radius:16px;background:rgba(249,252,253,.72);border:1px solid rgba(35,75,112,.06)}
.verify-grid article>span{width:30px;height:30px;display:grid;place-items:center;margin-bottom:.55rem;border-radius:10px;background:#fff8e8;color:#8c6917}
.verify-grid strong{display:block;font-size:.78rem}
.verify-grid p{margin:.28rem 0 0;color:var(--text);font-size:.68rem}
.verify-alert{display:flex;gap:.6rem;align-items:flex-start;margin-top:.7rem;padding:.72rem .8rem;border-radius:15px;background:rgba(255,248,229,.84);border:1px solid rgba(215,154,22,.13);color:#756d58;font-size:.68rem}
.verify-alert>span{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;border-radius:999px;background:#fff;color:#8a6511;font-weight:900}
.verify-alert p{margin:0}

/* FAQ */
.faq-section{padding:clamp(4rem,6vw,6rem) 0;background:linear-gradient(180deg,#f7fbfc,#fff)}
.faq-list{display:grid;gap:.42rem}
.faq-item{overflow:hidden;border-radius:17px}
.faq-item button{width:100%;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .9rem;border:0;background:transparent;color:var(--ink);text-align:left;font-size:.79rem;font-weight:800;cursor:pointer}
.faq-item button span{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:999px;background:#eef7fa;color:#44718b;transition:transform .24s ease}
.faq-item.is-open button span{transform:rotate(45deg)}
.faq-answer{display:none;padding:0 .9rem .9rem}
.faq-item.is-open .faq-answer{display:block}
.faq-answer p{margin:0;color:var(--text);font-size:.76rem}

/* FINAL CTA */
.final-cta{
  position:relative;overflow:hidden;padding:clamp(4.8rem,7vw,7rem) 0;color:#fff;
  background:
    radial-gradient(720px 420px at 0% 0%,rgba(53,191,209,.22),transparent 69%),
    radial-gradient(760px 430px at 100% 100%,rgba(109,120,238,.18),transparent 72%),
    linear-gradient(115deg,#06365f,#086f8f 50%,#087f7e)
}
.final-cta__inner{text-align:center;max-width:820px}
.final-cta__spark{width:52px;height:52px;display:grid;place-items:center;margin:0 auto .75rem;border-radius:17px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15)}
.final-cta h2{font-size:clamp(2.35rem,4.8vw,4rem)}
.final-cta p{max-width:660px;margin:.75rem auto 0;color:rgba(239,249,252,.80);font-size:.88rem}
.final-cta__price{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:1rem 0;color:rgba(255,255,255,.72);font-size:.72rem}
.final-cta__price strong{color:#fff;font-size:1.65rem;letter-spacing:-.04em}

/* FOOTER */
.site-footer{padding:2.8rem 0 1rem;color:#dceaf1;background:#071f3d}
.site-footer__top{display:grid;grid-template-columns:1.45fr repeat(4,minmax(0,1fr));gap:1.4rem}
.site-footer__brand p{max-width:250px;margin:.7rem 0 0;color:#8fa8b8;font-size:.72rem}
.footer-column{display:flex;flex-direction:column;gap:.38rem}
.footer-column strong{margin-bottom:.2rem;color:#fff;font-size:.7rem}
.footer-column a{color:#92a9b8;text-decoration:none;font-size:.68rem}
.footer-column a:hover{color:#fff}
.site-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.8rem;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.07);color:#7892a4;font-size:.62rem}
.site-footer__bottom p{margin:0}

/* MOTION */
.reveal-ready [data-reveal]{opacity:0;transform:translateY(18px)}
.reveal-ready [data-reveal].is-visible{opacity:1;transform:none;transition:opacity .65s var(--ease),transform .65s var(--ease)}

/* RESPONSIVE */
@media(max-width:1180px){
  .site-nav{display:none}
  .hero__inner{grid-template-columns:1fr .7fr}
  .how-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .promise-hero{grid-template-columns:1fr .85fr}
  .site-footer__top{grid-template-columns:1.4fr repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .hero__inner,
  .info-instructions,
  .promise-hero,
  .section-heading--split,
  .verify-panel__head{grid-template-columns:1fr}
  .hero__visual{min-height:360px}
  .hero-glass-card--front{left:12%;bottom:0}
  .hero-glass-card--back{right:12%}
  .route-visual{min-height:440px}
  .itinerary-preview__heading{align-items:flex-start;flex-direction:column}
  .verify-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-footer__top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-footer__brand{grid-column:1/-1}
}
@media(max-width:680px){
  :root{--header-h:66px}
  .page-shell{width:min(calc(100% - 24px),100%)}
  .page-shell--wide{width:min(calc(100% - 14px),100%)}
  .site-header__inner{width:calc(100% - 20px)}
  .site-header__actions .button{display:none}
  .brand__main{font-size:1.28rem}
  .brand__sub{font-size:.68rem}

  .hero{padding:3.6rem 0 3rem}
  .hero h1{font-size:clamp(2.7rem,13vw,4.1rem)}
  .hero__visual{display:none}
  .hero__actions{flex-direction:column;align-items:stretch}
  .hero__actions .button{width:100%}

  .how-flow{grid-template-columns:1fr}
  .how-card{min-height:auto}
  .promise-facts{grid-template-columns:1fr}
  .route-visual{min-height:400px}
  .route-visual__photo{inset:0 0 18% 0}
  .route-visual__path{right:5%;top:auto;bottom:0;width:90%}

  .itinerary-table{min-width:0}
  .itinerary-table thead{display:none}
  .itinerary-table,.itinerary-table tbody,.itinerary-table tr,.itinerary-table td{display:block;width:100%}
  .itinerary-table tr{padding:.7rem;border-bottom:1px solid rgba(35,75,112,.07)}
  .itinerary-table td{padding:.3rem 0;border:0;font-size:.72rem}
  .itinerary-table td:last-child{min-width:0}
  .itinerary-table td::before{display:block;margin-bottom:.08rem;color:#81929f;font-size:.57rem;font-weight:850;text-transform:uppercase}
  .itinerary-table td:nth-child(1)::before{content:"Inicio"}
  .itinerary-table td:nth-child(2)::before{content:"Final"}
  .itinerary-table td:nth-child(3)::before{content:"Actividad"}
  .itinerary-table td:nth-child(4)::before{content:"Desde"}
  .itinerary-table td:nth-child(5)::before{content:"Hacia"}
  .itinerary-table td:nth-child(6)::before{content:"Transporte"}
  .itinerary-table td:nth-child(7)::before{content:"Duración"}
  .itinerary-table td:nth-child(8)::before{content:"Notas"}

  .planner-frame{border-radius:20px}
  .planner-iframe{min-height:900px}.verify-grid{grid-template-columns:1fr}
  .site-footer__top{grid-template-columns:1fr}
  .site-footer__bottom{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* V4 · payment & examples */
.how-card--payment{
  background:
    radial-gradient(240px 160px at 100% 0%,rgba(53,191,209,.16),transparent 70%),
    linear-gradient(145deg,rgba(255,255,255,.86),rgba(239,250,251,.68))
}
.how-card__price{
  display:inline-flex;margin-top:.75rem;padding:.3rem .48rem;border-radius:999px;
  background:rgba(229,248,242,.88);color:#17705d;font-size:.64rem;font-weight:850
}
.prompt-grid button span{
  display:inline-flex;margin-right:.42rem;padding:.18rem .32rem;border-radius:999px;
  color:#7155c8;background:rgba(239,235,255,.86);font-size:.52rem;font-weight:850;text-transform:uppercase
}
.micro-note--info{background:rgba(237,248,255,.76);border-color:rgba(8,119,249,.12)}
.info-chat-status{
  align-self:flex-start;display:flex;align-items:center;gap:.4rem;padding:.36rem .48rem;
  color:#1f715f;background:#eaf8f3;border:1px solid rgba(55,185,142,.12);border-radius:999px;
  font-size:.62rem;font-weight:800
}
.info-chat-status span{width:18px;height:18px;display:grid;place-items:center;border-radius:999px;background:#fff}

.ai-variation-note{
  display:flex;gap:.55rem;align-items:flex-start;margin-top:.8rem;padding:.7rem .76rem;
  border-radius:15px;background:rgba(244,247,255,.74);border:1px solid rgba(109,120,238,.10);
  color:#65788d;font-size:.7rem;line-height:1.45
}
.ai-variation-note>span{color:var(--indigo);font-weight:900}
.ai-variation-note p{margin:0}
.ai-variation-note strong{color:var(--ink-2)}

.example-zone{
  position:relative;padding:1rem;border-radius:30px;
  background:
    radial-gradient(420px 220px at 0% 0%,rgba(109,120,238,.08),transparent 70%),
    linear-gradient(145deg,rgba(255,255,255,.48),rgba(243,247,255,.60));
  border:1px dashed rgba(109,120,238,.20)
}
.glass-pill--example{
  color:#6b52c6;background:rgba(243,239,255,.80);border-color:rgba(109,120,238,.16)
}
.example-label{
  display:inline-flex!important;padding:.22rem .4rem;border-radius:999px;
  color:#6b52c6!important;background:#f0ecff;font-weight:900!important
}

.verify-important{
  display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:.55rem;align-items:center;
  margin:-.35rem -.35rem 1rem;padding:.75rem .8rem;border-radius:17px;
  color:#795d13;background:linear-gradient(135deg,#fff8e5,#fff3cf);
  border:1px solid rgba(215,154,22,.20);box-shadow:0 8px 24px rgba(170,116,0,.07)
}
.verify-important>span{
  width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#fff;color:#9c7413;font-weight:900
}
.verify-important strong{font-size:.8rem}
.verify-important p{margin:0;color:#806f48;font-size:.68rem}
.verify-panel{
  border:1px solid rgba(215,154,22,.14);
  box-shadow:0 22px 60px rgba(111,81,10,.08),inset 0 1px 0 rgba(255,255,255,.96)
}


/* =========================================================
   V4.1 · IMAGE SURFACES
   Visible placeholders while assets are not uploaded.
   ========================================================= */
.image-slot{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(380px 220px at 12% 10%,rgba(53,191,209,.22),transparent 68%),
    radial-gradient(420px 240px at 88% 88%,rgba(109,120,238,.20),transparent 72%),
    linear-gradient(145deg,#edf8fb,#eef0ff);
}
.image-slot>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity .45s var(--ease),transform 1.2s var(--ease);
}
.image-slot.has-image>img{opacity:1}
.image-slot.has-image:hover>img{transform:scale(1.025)}
.image-slot__placeholder{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.2rem;
  color:#6f8799;
  text-align:center;
  pointer-events:none;
  z-index:1;
}
.image-slot.has-image .image-slot__placeholder{display:none}
.image-slot__placeholder span{
  padding:.35rem .55rem;
  border-radius:999px;
  background:rgba(255,255,255,.64);
  border:1px solid rgba(255,255,255,.80);
  backdrop-filter:blur(10px);
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.08em;
}
.image-slot__placeholder small{
  max-width:86%;
  font-size:.52rem;
  opacity:.76
}

.hero-photo-stage{
  position:absolute;
  inset:5% 4% 7% 2%;
  border-radius:38px;
  opacity:.56;
  box-shadow:0 30px 72px rgba(16,56,88,.10);
}
.hero-photo-stage::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(246,250,252,.82) 0%,rgba(246,250,252,.18) 42%,rgba(7,31,61,.05) 100%),
    linear-gradient(180deg,transparent 50%,rgba(7,31,61,.10));
  z-index:2;
  pointer-events:none;
}
.hero-photo-stage.has-image{opacity:.88}
.hero-glass-card{z-index:4}
.hero-orbit{z-index:3}

.route-visual__photo>img{z-index:0}
.route-visual__photo .image-slot__placeholder{z-index:1}
.route-visual__photo::after{z-index:2}
.route-visual__caption{z-index:3}

.travel-photo-rail{
  padding:0 0 clamp(3.7rem,5vw,5rem);
}
.travel-photo-rail__grid{
  display:grid;
  grid-template-columns:.9fr 1.35fr .9fr;
  gap:.7rem;
}
.travel-photo-card{
  position:relative;
  min-height:260px;
  margin:0;
  border-radius:26px;
}
.travel-photo-card--wide{min-height:300px}
.travel-photo-card::after{
  content:"";
  position:absolute;
  inset:38% 0 0;
  z-index:2;
  background:linear-gradient(180deg,transparent,rgba(4,29,55,.72));
  pointer-events:none;
}
.travel-photo-card figcaption{
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:.9rem;
  z-index:3;
  color:#fff;
}
.travel-photo-card figcaption span{
  display:block;
  margin-bottom:.18rem;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  opacity:.78;
}
.travel-photo-card figcaption strong{
  display:block;
  max-width:430px;
  font-size:1rem;
  line-height:1.12;
  letter-spacing:-.03em;
}

/* =========================================================
   V4.1 · ADSENSE PREVIEW
   Preview is intentionally subtle and premium.
   ========================================================= */
.ad-zone{
  padding:.15rem 0 2rem;
}
.ad-preview{
  position:relative;
  min-height:112px;
  overflow:hidden;
  border:1px dashed rgba(72,111,140,.20);
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(246,250,252,.72) 0,
      rgba(246,250,252,.72) 12px,
      rgba(240,247,250,.76) 12px,
      rgba(240,247,250,.76) 24px
    );
}
.ad-preview::before{
  content:"";
  position:absolute;
  width:240px;
  height:240px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border-radius:999px;
  background:rgba(53,191,209,.08);
  filter:blur(18px);
}
.ad-preview>*{position:relative;z-index:1}
.ad-preview span{
  color:#8799a6;
  font-size:.54rem;
  font-weight:850;
  letter-spacing:.11em;
}
.ad-preview strong{
  margin-top:.22rem;
  color:#4d687b;
  font-size:.84rem;
}
.ad-preview small{
  margin-top:.15rem;
  color:#91a0ab;
  font-size:.62rem;
}

@media(max-width:900px){
  .travel-photo-rail__grid{
    grid-template-columns:1fr 1fr;
  }
  .travel-photo-card--wide{
    grid-column:1/-1;
    grid-row:1;
  }
}
@media(max-width:680px){
  .travel-photo-rail__grid{grid-template-columns:1fr}
  .travel-photo-card--wide{grid-column:auto;grid-row:auto}
  .travel-photo-card,.travel-photo-card--wide{min-height:240px}
}


/* =========================================================
   V4.2 · LOGO FALLBACK + CLEAR PHOTO SLOTS 01/02
   ========================================================= */

/* Logo robustness */
.brand--logo{
  position:relative;
}
.brand--logo img{
  position:relative;
  z-index:2;
}
.brand__fallback{
  display:none;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:.02rem;
  line-height:1;
}
.brand--logo.logo-missing img{
  display:none;
}
.brand--logo.logo-missing .brand__fallback{
  display:flex;
}
.brand--footer.brand--logo.logo-missing{
  filter:none;
}
.brand--footer.brand--logo.logo-missing .brand__main{
  color:#fff;
}
.brand--footer.brand--logo.logo-missing .brand__sub{
  color:rgba(233,246,251,.68);
}

/* Stronger visibility for photo 01 and 02 placeholders */
.image-slot--hero{
  border:1px dashed rgba(8,119,249,.24);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.48),
    0 28px 72px rgba(16,56,88,.10);
}
.image-slot--astra{
  border:1px dashed rgba(109,120,238,.24);
}
.image-slot__placeholder--prominent{
  z-index:6;
}
.image-slot__placeholder--prominent span{
  padding:.48rem .72rem;
  color:#2f5f7d;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(255,255,255,.94);
  box-shadow:0 10px 26px rgba(18,55,90,.09);
  font-size:.68rem;
  letter-spacing:.09em;
}
.image-slot__placeholder--prominent small{
  margin-top:.2rem;
  padding:.24rem .42rem;
  border-radius:999px;
  color:#718799;
  background:rgba(255,255,255,.66);
  font-size:.54rem;
}

/* Keep the Hero glass cards readable, but do not hide FOTO 01 label */
.hero-photo-stage::after{
  z-index:2;
}
.hero-photo-stage .image-slot__placeholder{
  z-index:3;
}
.hero-glass-card{z-index:4}

/* Keep FOTO 02 label visible above the photo overlay while image is missing */
.route-visual__photo .image-slot__placeholder{
  z-index:4;
}
.route-visual__caption{
  z-index:5;
}
.route-visual__photo.has-image .image-slot__placeholder{
  display:none;
}

.travel-photo-rail__label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:0 .1rem .55rem;
  color:#7b8f9f;
}
.travel-photo-rail__label span{
  font-size:.58rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.travel-photo-rail__label strong{
  font-size:.68rem;
  color:#526f84;
}


/* =========================================================
   V4.3 · SURGICAL FIXES
   1) FOTO 02 keeps absolute positioning (generic .image-slot
      was overriding it to relative).
   2) FOTO 01/02 labels sit in a visible corner instead of
      underneath the decorative glass cards.
   3) Logo sizing favors the horizontal JPG lockup.
   ========================================================= */

/* Critical fix: preserve the intended ASTRA photo geometry. */
.route-visual__photo.image-slot{
  position:absolute;
  inset:0 14% 8% 0;
  min-height:0;
}

/* Make FOTO 01 and FOTO 02 unmistakably visible before upload. */
.image-slot__placeholder--corner{
  inset:0;
  align-items:flex-start;
  justify-content:flex-start;
  padding:1rem;
  text-align:left;
}
.hero-photo-stage .image-slot__placeholder--corner{
  padding:1rem 1.05rem;
}
.route-visual__photo .image-slot__placeholder--corner{
  padding:1rem;
}

/* Give the empty slots a slightly clearer preview treatment. */
.image-slot--hero:not(.has-image){
  opacity:.82;
  background:
    radial-gradient(460px 280px at 18% 12%,rgba(53,191,209,.28),transparent 70%),
    radial-gradient(480px 300px at 88% 88%,rgba(109,120,238,.26),transparent 72%),
    linear-gradient(145deg,#e8f8fb,#ecefff);
}
.image-slot--astra:not(.has-image){
  background:
    radial-gradient(420px 260px at 16% 12%,rgba(53,191,209,.30),transparent 70%),
    radial-gradient(460px 290px at 88% 88%,rgba(109,120,238,.28),transparent 72%),
    linear-gradient(145deg,#e6f7fa,#e9ecff);
}

/* Horizontal brand lockup: more width, less height. */
.site-header .brand--logo{
  width:178px;
  min-width:178px;
  height:48px;
}
.site-header .brand--logo img{
  object-fit:contain;
  object-position:left center;
}
.site-footer .brand--logo{
  width:190px;
  height:64px;
}

@media(max-width:1180px){
  .site-header .brand--logo{
    width:154px;
    min-width:154px;
  }
}
@media(max-width:680px){
  .site-header .brand--logo{
    width:138px;
    min-width:138px;
    height:42px;
  }
}


/* =========================================================
   V4.4 · SURGICAL LOGO SIZE ADJUSTMENT
   - Keeps navbar height nearly unchanged
   - Preserves aspect ratio
   - No other visual changes
   ========================================================= */
.site-header .brand--logo{
  width:220px;
  min-width:220px;
  height:52px;
}
.site-header .brand--logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}

.site-footer .brand--logo{
  width:215px;
  height:70px;
}

@media(max-width:1180px){
  .site-header .brand--logo{
    width:188px;
    min-width:188px;
    height:48px;
  }
}
@media(max-width:680px){
  .site-header .brand--logo{
    width:156px;
    min-width:156px;
    height:44px;
  }
}


/* =========================================================
   V4.5 · COHERENT GRADIENT TITLE LANGUAGE
   Surgical: applies the established ITBMO blue→teal→indigo
   treatment only to highlighted phrases in major Home titles.
   ========================================================= */
.itinerary-preview__heading h3 span,
.final-cta h2 span{
  display:inline-block;
  color:transparent;
  background:linear-gradient(100deg,var(--blue),var(--teal),var(--indigo));
  -webkit-background-clip:text;
  background-clip:text;
  padding-right:.035em;
}

/* Keep the final CTA readable on the dark gradient background.
   The colored phrase uses a brighter version of the same brand spectrum. */
.final-cta h2 span{
  background:linear-gradient(100deg,#67d7ff,#51e0d0,#a8adff);
  -webkit-background-clip:text;
  background-clip:text;
}

/* =========================================================
   ITBMO · HOME V4.7 · FINAL CLARITY + PARTNER BRAND SYSTEM
========================================================= */
.language-switch{display:inline-flex;align-items:center;gap:.3rem;padding:.32rem .38rem;border:1px solid rgba(18,64,96,.10);border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 8px 24px rgba(16,55,86,.06);font-size:.72rem;font-weight:850;color:#8aa0b0}
.language-switch button{appearance:none;border:0;background:transparent;padding:.34rem .42rem;border-radius:999px;color:#7890a2;font:inherit;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.language-switch button:hover{color:var(--ink);background:rgba(240,248,252,.92);transform:translateY(-1px)}
.language-switch button.is-active{color:#fff;background:linear-gradient(135deg,var(--blue),var(--teal));box-shadow:0 6px 16px rgba(8,119,249,.17);cursor:default}
.language-switch span{color:#9cafbd}
.itbmo-language-toast{position:fixed;top:88px;right:24px;z-index:99999;max-width:min(340px,calc(100vw - 36px));padding:.72rem .9rem;border-radius:16px;color:var(--ink);background:rgba(255,255,255,.96);border:1px solid rgba(35,75,112,.12);box-shadow:0 18px 48px rgba(16,55,86,.16);font-size:.78rem;font-weight:720;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.itbmo-language-toast.is-visible{opacity:1;transform:translateY(0)}
.planner-start-pill{background:linear-gradient(135deg,rgba(255,244,204,.94),rgba(255,232,151,.78));color:#7b5a00;border-color:rgba(219,166,31,.22)}
.planner-generation-note{width:min(820px,100%);margin:.9rem auto 0;padding:.72rem .9rem;border:1px solid rgba(8,119,249,.13);border-radius:16px;background:linear-gradient(135deg,rgba(238,248,255,.92),rgba(242,252,250,.88));color:#315b73;font-size:.72rem;line-height:1.5;box-shadow:0 10px 28px rgba(31,91,126,.06)}
.planner-generation-note strong{color:var(--ink)}
.example-zone .itinerary-preview__heading p strong{color:var(--ink)}
@media (max-width:760px){.language-switch{padding:.4rem .52rem}.planner-generation-note{font-size:.68rem}}

/* =========================================================
   ITBMO · HOME V4.8 · FINAL PHOTOGRAPHY SYSTEM
   Clean Hero carousel + real editorial photography
   ========================================================= */

.hero__visual{
  min-height:480px;
}

.hero-carousel{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:38px;
  background:#eaf2f7;
  border:1px solid rgba(255,255,255,.86);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 28px 72px rgba(16,56,88,.15);
}

.hero-carousel__slides{
  position:absolute;
  inset:0;
}

.hero-carousel__slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.015);
  transition:
    opacity 1.05s var(--ease),
    transform 5.8s cubic-bezier(.22,1,.36,1);
  will-change:opacity,transform;
}

.hero-carousel__slide.is-active{
  opacity:1;
  transform:scale(1);
}

/* Individual focal points for the selected source images. */
.hero-carousel__slide--santorini{object-position:center 54%}
.hero-carousel__slide--skogafoss{object-position:center 48%}
.hero-carousel__slide--paris{object-position:center 42%}
.hero-carousel__slide--rome{object-position:center 48%}
.hero-carousel__slide--istanbul{object-position:center 48%}

.hero-carousel__dots{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:7px;
  padding:7px 9px;
  border-radius:999px;
  background:rgba(7,31,61,.24);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  pointer-events:none;
}

.hero-carousel__dots span{
  width:7px;
  height:7px;
  border-radius:999px;
  background:rgba(255,255,255,.55);
  box-shadow:0 0 0 1px rgba(7,31,61,.06);
  transition:width .3s var(--ease),background .3s ease;
}

.hero-carousel__dots span.is-active{
  width:22px;
  background:#fff;
}

/* Legacy Hero decoration is intentionally removed from the final visual. */
.hero-orbit,
.hero-glass-card,
.hero-photo-stage{
  display:none!important;
}

/* Real destination image in the ASTRA section. */
.route-visual__photo.has-image>img{
  opacity:1;
  transform:none;
  object-fit:cover;
  object-position:58% center;
}

.route-visual__photo.has-image:hover>img{
  transform:scale(1.018);
}

/* Real editorial images. */
.travel-photo-card.has-image>img{
  opacity:1;
  transform:none;
  object-fit:cover;
}

.travel-photo-card.has-image:hover>img{
  transform:scale(1.018);
}

.travel-photo-card:first-child>img{
  object-position:center 40%;
}

.travel-photo-card--wide>img{
  object-position:center 52%;
}

.travel-photo-card:last-child>img{
  object-position:center 28%;
}

/* Preview-only photo labels/placeholders are no longer shown. */
.image-slot__placeholder,
.travel-photo-rail__label{
  display:none!important;
}

@media(max-width:1180px){
  .hero__visual{min-height:440px}
}

@media(max-width:900px){
  .hero__visual{
    min-height:500px;
    margin-top:.5rem;
  }

  .hero-carousel{
    border-radius:30px;
  }
}

@media(max-width:680px){
  .hero__visual{min-height:390px}

  .hero-carousel{
    border-radius:24px;
  }

  .hero-carousel__dots{
    bottom:10px;
    gap:6px;
    padding:6px 8px;
  }

  .hero-carousel__dots span{
    width:6px;
    height:6px;
  }

  .hero-carousel__dots span.is-active{
    width:18px;
  }

  .hero-carousel__slide--paris{object-position:center 38%}
  .hero-carousel__slide--istanbul{object-position:center 42%}
}

@media(prefers-reduced-motion:reduce){
  .hero-carousel__slide{
    transition:none;
    transform:none;
  }
}

/* =========================================================
   ITBMO · PHOTOGRAPHY V2
   Clean Photo 02 + full-image lightbox + Hero gallery
   ========================================================= */

.route-visual{min-height:490px}
.route-visual__photo{inset:0}
.route-visual__photo::after,
.route-visual__caption,
.route-visual__path{display:none!important}
.route-visual__photo.has-image>img{
  width:100%;height:100%;object-fit:cover;object-position:center center
}

[data-photo-lightbox]{cursor:zoom-in}
.hero-carousel[data-photo-lightbox]{outline:none}
.hero-carousel[data-photo-lightbox]:focus-visible,
[data-photo-lightbox="single"]:focus-visible{
  outline:3px solid rgba(8,119,249,.38);outline-offset:4px
}

html.photo-lightbox-open,
body.photo-lightbox-open{overflow:hidden!important}
.photo-lightbox[hidden]{display:none!important}
.photo-lightbox{
  position:fixed;inset:0;z-index:999999;display:grid;place-items:center;
  opacity:0;transition:opacity .22s ease
}
.photo-lightbox.is-open{opacity:1}
.photo-lightbox__backdrop{
  position:absolute;inset:0;background:rgba(3,16,32,.88);
  backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)
}
.photo-lightbox__dialog{
  position:relative;z-index:2;width:min(94vw,1500px);height:min(92vh,980px);
  display:grid;grid-template-columns:64px minmax(0,1fr) 64px;
  grid-template-rows:minmax(0,1fr) auto;align-items:center;gap:12px
}
.photo-lightbox__stage{
  grid-column:2;grid-row:1;width:100%;height:100%;min-height:0;
  display:flex;align-items:center;justify-content:center
}
.photo-lightbox__image{
  display:block;width:auto;height:auto;max-width:100%;max-height:calc(92vh - 54px);
  object-fit:contain;border-radius:18px;box-shadow:0 28px 90px rgba(0,0,0,.38);background:transparent
}
.photo-lightbox__close{
  position:absolute;z-index:5;top:0;right:0;width:46px;height:46px;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#fff;
  background:rgba(255,255,255,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  font-size:2rem;line-height:1;cursor:pointer
}
.photo-lightbox__nav{
  width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);
  border-radius:999px;color:#fff;background:rgba(255,255,255,.10);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:2.4rem;line-height:1;
  cursor:pointer;transition:transform .2s var(--ease),background .2s ease
}
.photo-lightbox__nav:hover{transform:scale(1.06);background:rgba(255,255,255,.18)}
.photo-lightbox__nav--prev{grid-column:1;grid-row:1;justify-self:center}
.photo-lightbox__nav--next{grid-column:3;grid-row:1;justify-self:center}
.photo-lightbox__counter{
  grid-column:2;grid-row:2;justify-self:center;min-width:64px;padding:7px 12px;border-radius:999px;
  color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.13);
  font-size:.74rem;font-weight:800;letter-spacing:.04em;text-align:center
}
@media(max-width:900px){
  .photo-lightbox__dialog{width:96vw;height:94vh;grid-template-columns:48px minmax(0,1fr) 48px;gap:6px}
  .photo-lightbox__nav{width:42px;height:42px;font-size:2rem}
  .photo-lightbox__close{width:42px;height:42px;top:4px;right:4px}
  .photo-lightbox__image{max-height:calc(94vh - 48px);border-radius:14px}
}
@media(max-width:680px){
  .photo-lightbox__dialog{width:100vw;height:100svh;padding:10px;grid-template-columns:42px minmax(0,1fr) 42px}
  .photo-lightbox__image{max-height:calc(100svh - 62px);border-radius:10px}
  .photo-lightbox__nav{width:38px;height:38px;font-size:1.8rem}
}



/* V3 · Affordance más natural: mano, no lupa. */
[data-photo-lightbox],
[data-photo-lightbox] img,
.hero-carousel[data-photo-lightbox],
.hero-carousel[data-photo-lightbox] img{
  cursor:pointer!important;
}

/* El fondo oscuro completo es clickeable para cerrar. */
.photo-lightbox__backdrop{
  cursor:pointer;
}

/* La imagen ampliada conserva cursor normal para no sugerir otro zoom. */
.photo-lightbox__image{
  cursor:default;
}

/* Controles mantienen cursor de acción. */
.photo-lightbox__close,
.photo-lightbox__nav{
  cursor:pointer;
}

/* =========================================================
   ITBMO · MOBILE HERO FIX
   The legacy mobile rule hid .hero__visual. The final photo
   carousel must remain visible on phones.
   ========================================================= */
@media(max-width:680px){
  .hero__visual{
    display:block!important;
    width:100%;
    min-height:410px;
    margin-top:1.15rem;
  }

  .hero-carousel{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
  }
}

@media(max-width:430px){
  .hero__visual{
    min-height:360px;
  }
}

/* =========================================================
   ITBMO · SURGICAL CONTENT REFINEMENTS
   ASTRA copy + four-step tagline + Info Chat italics
   + editorial Egypt 4:3 framing
   ========================================================= */

/* Richer ASTRA message in Hero while preserving the current hierarchy. */
.hero__lead--astra{
  max-width:760px;
}

.hero__lead--astra p{
  margin:0;
}

.hero__lead--astra p + p{
  margin-top:.72rem;
}

.hero__astra-kicker{
  color:var(--ink);
  font-size:.96em;
  line-height:1.45;
}

.hero__astra-emphasis{
  color:#365d75;
}

/* Short editorial bridge under the "Cuatro pasos" title. */
.how-section__tagline{
  margin:.62rem 0 0;
  color:#60798e;
  font-size:clamp(.84rem,1.25vw,.98rem);
  line-height:1.45;
  letter-spacing:-.01em;
}

.how-section__tagline strong{
  color:#0b7088;
  font-weight:850;
}

/* Keep the example answer visually distinct from the user question. */
.bubble--astra em{
  font-style:italic;
}

/* New editorial-egypt.jpeg is 4:3.
   Match the visual container to the source ratio so the complete image
   is shown without distortion or unnecessary crop. */
.route-visual{
  min-height:0!important;
  aspect-ratio:4 / 3;
}

.route-visual__photo{
  inset:0!important;
}

.route-visual__photo.has-image>img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

@media(max-width:900px){
  .hero__lead--astra{
    max-width:none;
  }

  .route-visual{
    width:100%;
    aspect-ratio:4 / 3;
  }
}

@media(max-width:680px){
  .hero__lead--astra p + p{
    margin-top:.62rem;
  }

  .how-section__tagline{
    margin-top:.5rem;
  }
}

/* =========================================================
   ITBMO · HOME V4.9 · MOBILE NAV + PLANNER FOCUS MODE
   Surgical upgrade: existing Home/Planner styling remains intact above.
   ========================================================= */

/* ---------- MOBILE / TABLET NAV ---------- */
.mobile-menu-toggle{
  display:none;
  width:42px;
  height:42px;
  padding:0;
  place-items:center;
  align-content:center;
  gap:4px;
  border:1px solid rgba(30,102,146,.12);
  border-radius:999px;
  color:var(--ink);
  background:rgba(255,255,255,.76);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 10px 28px rgba(18,55,90,.08);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  cursor:pointer;
  transition:transform .24s var(--ease),box-shadow .24s var(--ease),background .24s ease;
}
.mobile-menu-toggle:hover{transform:translateY(-1px);box-shadow:0 15px 34px rgba(18,55,90,.12)}
.mobile-menu-toggle span{
  display:block;
  width:17px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transition:transform .28s var(--ease),opacity .18s ease;
}
.mobile-menu-toggle.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.mobile-menu-toggle.is-open span:nth-child(2){opacity:0}
.mobile-menu-toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.mobile-nav-backdrop[hidden],
.mobile-nav[hidden]{display:none!important}

.mobile-nav-backdrop{
  position:fixed;
  inset:0;
  z-index:9550;
  opacity:0;
  background:rgba(4,24,45,.24);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:opacity .24s ease;
}
.mobile-nav-backdrop.is-visible{opacity:1}

.mobile-nav{
  position:fixed;
  z-index:9600;
  top:calc(var(--header-h) + 10px);
  right:12px;
  width:min(360px,calc(100vw - 24px));
  max-height:calc(100dvh - var(--header-h) - 22px);
  overflow:auto;
  padding:.72rem;
  border:1px solid rgba(255,255,255,.82);
  border-radius:26px;
  opacity:0;
  transform:translateY(-8px) scale(.985);
  transform-origin:top right;
  background:
    radial-gradient(320px 180px at 100% 0%,rgba(53,191,209,.12),transparent 72%),
    linear-gradient(145deg,rgba(255,255,255,.96),rgba(247,251,253,.91));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 28px 80px rgba(10,41,68,.20);
  backdrop-filter:blur(28px) saturate(145%);
  -webkit-backdrop-filter:blur(28px) saturate(145%);
  transition:opacity .24s ease,transform .28s var(--ease);
}
.mobile-nav.is-open{opacity:1;transform:none}
.mobile-nav__eyebrow{
  padding:.36rem .5rem .55rem;
  color:#7a91a2;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.mobile-nav>a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-height:50px;
  padding:.72rem .8rem;
  border-radius:15px;
  color:#244a65;
  text-decoration:none;
  font-size:.88rem;
  font-weight:800;
  transition:background .2s ease,transform .2s var(--ease),color .2s ease;
}
.mobile-nav>a span{color:#80a0b2;font-size:.82rem}
.mobile-nav>a:hover,
.mobile-nav>a:focus-visible{
  color:#08708b;
  background:rgba(234,248,250,.80);
  transform:translateX(2px);
  outline:none;
}
.mobile-nav__foot{
  display:flex;
  gap:.55rem;
  align-items:flex-start;
  margin-top:.4rem;
  padding:.72rem .75rem;
  border-top:1px solid rgba(35,75,112,.07);
  color:#718899;
}
.mobile-nav__foot>span{color:var(--teal)}
.mobile-nav__foot p{margin:0;font-size:.68rem;line-height:1.5}

html.mobile-menu-open,
body.mobile-menu-open{overflow:hidden}

/* ---------- PLANNER FOCUS MODE ---------- */
.planner-focus-backdrop[hidden]{display:none!important}
.planner-focus-backdrop{
  position:fixed;
  inset:0;
  z-index:29990;
  opacity:0;
  pointer-events:none;
  background:
    radial-gradient(900px 580px at 12% 0%,rgba(53,191,209,.19),transparent 70%),
    radial-gradient(900px 600px at 100% 100%,rgba(109,120,238,.16),transparent 72%),
    rgba(4,23,43,.54);
  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
  transition:opacity .38s ease;
}
.planner-focus-backdrop.is-visible{opacity:1}

html.planner-focus-open,
body.planner-focus-open{
  overflow:hidden!important;
  overscroll-behavior:none;
}

.planner-focus-toolbar{
  display:none;
  min-height:64px;
  align-items:center;
  grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);
  gap:1rem;
  padding:.58rem .72rem;
  border-bottom:1px solid rgba(35,75,112,.08);
  background:
    radial-gradient(360px 140px at 50% -30%,rgba(53,191,209,.11),transparent 72%),
    rgba(249,253,254,.90);
  backdrop-filter:blur(22px) saturate(145%);
  -webkit-backdrop-filter:blur(22px) saturate(145%);
}

.planner-focus-back{
  justify-self:start;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.55rem .72rem;
  border:1px solid rgba(30,102,146,.12);
  border-radius:999px;
  color:#244a65;
  background:rgba(255,255,255,.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 8px 22px rgba(16,56,88,.07);
  font-size:.73rem;
  font-weight:850;
  cursor:pointer;
  transition:transform .24s var(--ease),background .2s ease,box-shadow .24s var(--ease);
}
.planner-focus-back:hover{
  transform:translateX(-2px);
  background:#fff;
  box-shadow:0 13px 28px rgba(16,56,88,.11);
}
.planner-focus-back__icon{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,var(--blue),var(--teal));
  font-size:.88rem;
}

.planner-focus-brand{
  justify-self:center;
  display:flex;
  align-items:center;
  gap:.55rem;
  min-width:0;
}
.planner-focus-brand__spark{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(135deg,var(--blue),var(--teal));
  box-shadow:0 10px 24px rgba(8,119,249,.18);
}
.planner-focus-brand strong{
  display:block;
  color:var(--ink);
  font-size:.78rem;
  line-height:1.15;
  letter-spacing:-.02em;
}
.planner-focus-brand small{
  display:block;
  margin-top:.12rem;
  color:#7990a1;
  font-size:.57rem;
  white-space:nowrap;
}

.planner-focus-chip{
  justify-self:end;
  padding:.43rem .62rem;
  border-radius:999px;
  color:#0a7187;
  background:rgba(234,248,250,.80);
  border:1px solid rgba(15,130,150,.10);
  font-size:.61rem;
  font-weight:850;
  white-space:nowrap;
}

/*
  FLIP-like transition:
  JS first fixes the same existing frame at its current rectangle, then
  .is-focus-mode expands that exact frame into an immersive application.
  The iframe is never cloned or reloaded, so every Planner state is preserved.
*/
.planner-frame.planner-frame--focus-layer{
  position:fixed!important;
  z-index:30000!important;
  top:var(--planner-focus-from-top)!important;
  left:var(--planner-focus-from-left)!important;
  width:var(--planner-focus-from-width)!important;
  height:var(--planner-focus-from-height)!important;
  margin:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden!important;
  isolation:isolate;
  border-radius:30px;
  background:#f5fbfd;
  box-shadow:0 35px 110px rgba(2,22,43,.34);
  transform:translateZ(0);
  transition:
    top .46s var(--ease),
    left .46s var(--ease),
    width .46s var(--ease),
    height .46s var(--ease),
    border-radius .46s var(--ease),
    box-shadow .46s var(--ease);
}

.planner-frame.planner-frame--focus-layer .planner-focus-toolbar{
  display:grid;
  opacity:0;
  transform:translateY(-5px);
  transition:opacity .24s ease .10s,transform .32s var(--ease) .10s;
}
.planner-frame.planner-frame--focus-layer .planner-frame__top{display:none}
.planner-frame.planner-frame--focus-layer .planner-iframe{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border:0!important;
  background:#f5fbfd;
  transition:none!important;
}

.planner-frame.planner-frame--focus-layer.is-focus-mode{
  top:12px!important;
  left:12px!important;
  width:calc(100vw - 24px)!important;
  height:calc(100dvh - 24px)!important;
  border-radius:28px;
  box-shadow:0 44px 140px rgba(2,22,43,.42);
}
.planner-frame.planner-frame--focus-layer.is-focus-mode .planner-focus-toolbar{
  opacity:1;
  transform:none;
}

/* Small lift while the immersive layer appears. */
.planner-frame.planner-frame--focus-layer.is-focus-mode::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
}

/* ---------- BREAKPOINTS ---------- */
@media(max-width:1180px){
  .mobile-menu-toggle{display:grid}
}

@media(max-width:680px){
  .site-header__actions{gap:.42rem}

  .mobile-menu-toggle{
    width:40px;
    height:40px;
  }

  .mobile-nav{
    top:calc(var(--header-h) + 6px);
    right:8px;
    width:calc(100vw - 16px);
    max-height:calc(100dvh - var(--header-h) - 14px);
    border-radius:22px;
  }

  .planner-frame.planner-frame--focus-layer,
  .planner-frame.planner-frame--focus-layer.is-focus-mode{
    top:0!important;
    left:0!important;
    width:100vw!important;
    height:100dvh!important;
    border-radius:0;
  }

  .planner-focus-toolbar{
    min-height:58px;
    grid-template-columns:1fr auto;
    padding:
      max(.5rem,env(safe-area-inset-top))
      max(.55rem,env(safe-area-inset-right))
      .5rem
      max(.55rem,env(safe-area-inset-left));
  }

  .planner-focus-back{
    min-height:40px;
    padding:.48rem .6rem;
    font-size:.7rem;
  }

  .planner-focus-back__icon{
    width:25px;
    height:25px;
  }

  .planner-focus-brand{
    justify-self:end;
  }

  .planner-focus-brand small,
  .planner-focus-chip{
    display:none;
  }

  .planner-focus-brand strong{
    font-size:.72rem;
  }

  .planner-focus-brand__spark{
    width:30px;
    height:30px;
    flex-basis:30px;
    border-radius:10px;
  }
}

@media(prefers-reduced-motion:reduce){
  .planner-frame.planner-frame--focus-layer,
  .planner-frame.planner-frame--focus-layer .planner-focus-toolbar,
  .mobile-nav,
  .mobile-nav-backdrop,
  .planner-focus-backdrop{
    transition-duration:.001ms!important;
  }
}

/* =========================================================
   ITBMO · HOME V5.0 · PRODUCT LAUNCHERS + ON-DEMAND FOCUS
   ---------------------------------------------------------
   Surgical upgrade:
   - The same Planner iframe stays mounted but leaves the Home flow.
   - The itinerary example remains intact and opens only on demand.
   - Existing photography, lightbox and FAQ stay unchanged.
   ========================================================= */

/* ---------- PREMIUM PRODUCT LAUNCHERS ---------- */
.journey-launcher{
  appearance:none;
  -webkit-appearance:none;
  width:min(100%,620px);
  min-height:88px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:.9rem;
  padding:.82rem .9rem;
  border:1px solid rgba(255,255,255,.82);
  border-radius:24px;
  text-align:left;
  color:#fff;
  background:
    radial-gradient(330px 130px at 102% -10%,rgba(255,255,255,.20),transparent 70%),
    linear-gradient(118deg,#0877f9 0%,#168fe7 36%,#0aa7a5 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 18px 46px rgba(8,119,249,.20),
    0 6px 18px rgba(10,167,165,.09);
  cursor:pointer;
  overflow:hidden;
  position:relative;
  isolation:isolate;
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),filter .25s ease;
}
.journey-launcher::before{
  content:"";
  position:absolute;
  inset:-60% -18%;
  z-index:-1;
  opacity:0;
  transform:translateX(-34%) rotate(12deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  transition:opacity .25s ease,transform .62s var(--ease);
}
.journey-launcher:hover{
  transform:translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    0 26px 60px rgba(8,119,249,.26),
    0 10px 26px rgba(10,167,165,.13);
  filter:saturate(1.05);
}
.journey-launcher:hover::before{opacity:1;transform:translateX(32%) rotate(12deg)}
.journey-launcher:focus-visible{outline:3px solid rgba(8,119,249,.20);outline-offset:4px}
.journey-launcher__icon{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:16px;
  color:#fff;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  font-size:1.2rem;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.journey-launcher__copy{display:block;min-width:0}
.journey-launcher__copy strong{
  display:block;
  color:#fff;
  font-size:clamp(1rem,1.65vw,1.28rem);
  line-height:1.12;
  letter-spacing:-.03em;
  font-weight:900;
}
.journey-launcher__copy small{
  display:block;
  margin-top:.24rem;
  color:rgba(255,255,255,.78);
  font-size:.72rem;
  line-height:1.4;
  font-weight:700;
}
.journey-launcher__arrow{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#075c72;
  background:rgba(255,255,255,.94);
  font-size:1.06rem;
  font-weight:900;
  transition:transform .28s var(--ease),background .2s ease;
}
.journey-launcher:hover .journey-launcher__arrow{transform:translateX(4px);background:#fff}

.hero__astra-kicker + .journey-launcher{margin-top:.85rem;margin-bottom:.15rem}

/* Example launcher is intentionally quieter than the primary ASTRA CTA. */
.journey-launcher--example{
  color:var(--ink);
  background:
    radial-gradient(300px 120px at 100% 0%,rgba(53,191,209,.14),transparent 72%),
    linear-gradient(145deg,rgba(255,255,255,.94),rgba(239,248,251,.88));
  border-color:rgba(45,126,157,.12);
  box-shadow:inset 0 1px 0 #fff,0 18px 48px rgba(16,56,88,.10);
}
.journey-launcher--example:hover{box-shadow:inset 0 1px 0 #fff,0 24px 58px rgba(16,56,88,.15)}
.journey-launcher--example .journey-launcher__icon{
  color:#fff;
  background:linear-gradient(135deg,var(--indigo),var(--teal));
  border-color:rgba(255,255,255,.35);
}
.journey-launcher--example .journey-launcher__copy strong{color:var(--ink)}
.journey-launcher--example .journey-launcher__copy small{color:#698295}
.journey-launcher--example .journey-launcher__arrow{color:#fff;background:linear-gradient(135deg,var(--blue),var(--teal))}
.journey-launcher--compact{width:min(100%,520px);min-height:78px;border-radius:21px}

/* ---------- COMPACT EXAMPLE ENTRY IN THE HOME FLOW ---------- */
.example-entry{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);
  gap:clamp(1.2rem,4vw,3.2rem);
  align-items:center;
  margin-top:1rem;
  padding:clamp(1.2rem,2.6vw,1.7rem);
  border:1px solid rgba(255,255,255,.84);
  border-radius:28px;
  background:
    radial-gradient(420px 180px at 100% 0%,rgba(109,120,238,.08),transparent 72%),
    linear-gradient(145deg,rgba(255,255,255,.82),rgba(246,251,253,.66));
  box-shadow:inset 0 1px 0 #fff,0 18px 52px rgba(16,56,88,.07);
  backdrop-filter:blur(20px) saturate(125%);
  -webkit-backdrop-filter:blur(20px) saturate(125%);
}
.example-entry__eyebrow{
  display:block;
  margin-bottom:.32rem;
  color:#758b9c;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.example-entry h3{margin:0;color:var(--ink);font-size:clamp(1.45rem,2.5vw,2.05rem);line-height:1.05;letter-spacing:-.045em}
.example-entry p{max-width:570px;margin:.48rem 0 0;color:var(--text);font-size:.82rem;line-height:1.6}
.example-entry .journey-launcher{justify-self:end}

/* ---------- EXAMPLE FOCUS MODE ---------- */
.example-focus-backdrop[hidden]{display:none!important}
.example-focus-backdrop{
  position:fixed;
  inset:0;
  z-index:30040;
  opacity:0;
  pointer-events:none;
  background:
    radial-gradient(900px 580px at 12% 0%,rgba(53,191,209,.18),transparent 70%),
    radial-gradient(900px 600px at 100% 100%,rgba(109,120,238,.16),transparent 72%),
    rgba(4,23,43,.54);
  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
  transition:opacity .32s ease;
}
.example-focus-backdrop.is-visible{opacity:1;pointer-events:auto}

html.example-focus-open,
body.example-focus-open{overflow:hidden!important;overscroll-behavior:none}

.example-focus-layer{
  position:fixed!important;
  z-index:30050!important;
  top:12px;
  left:12px;
  width:calc(100vw - 24px);
  height:calc(100dvh - 24px);
  margin:0!important;
  padding:0 clamp(.75rem,2vw,1.4rem) clamp(1rem,2vw,1.5rem)!important;
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transform:translateY(12px) scale(.982);
  border:1px solid rgba(255,255,255,.80);
  border-radius:28px;
  background:
    radial-gradient(700px 360px at 100% 0%,rgba(53,191,209,.10),transparent 70%),
    radial-gradient(720px 390px at 0% 100%,rgba(109,120,238,.08),transparent 72%),
    linear-gradient(180deg,#f8fcfd,#f4f9fc);
  box-shadow:0 44px 140px rgba(2,22,43,.42);
  transition:opacity .28s ease,transform .38s var(--ease),visibility .28s ease;
}
.example-focus-layer.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:none}

.example-focus-toolbar{
  position:sticky;
  top:0;
  z-index:20;
  min-height:64px;
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);
  gap:1rem;
  align-items:center;
  margin:0 calc(clamp(.75rem,2vw,1.4rem) * -1) 1rem;
  padding:.58rem clamp(.72rem,2vw,1.2rem);
  border-bottom:1px solid rgba(35,75,112,.08);
  background:rgba(249,253,254,.90);
  backdrop-filter:blur(22px) saturate(145%);
  -webkit-backdrop-filter:blur(22px) saturate(145%);
}
.example-focus-back{
  justify-self:start;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.55rem .72rem;
  border:1px solid rgba(30,102,146,.12);
  border-radius:999px;
  color:#244a65;
  background:rgba(255,255,255,.82);
  box-shadow:inset 0 1px 0 #fff,0 8px 22px rgba(16,56,88,.07);
  font-size:.73rem;
  font-weight:850;
  cursor:pointer;
}
.example-focus-back__icon{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,var(--indigo),var(--teal));
}
.example-focus-brand{justify-self:center;display:flex;align-items:center;gap:.55rem;min-width:0}
.example-focus-brand__spark{
  width:34px;height:34px;display:grid;place-items:center;border-radius:12px;color:#fff;
  background:linear-gradient(135deg,var(--indigo),var(--teal));box-shadow:0 10px 24px rgba(77,104,222,.18)
}
.example-focus-brand strong{display:block;color:var(--ink);font-size:.78rem;line-height:1.15}
.example-focus-brand small{display:block;margin-top:.12rem;color:#7990a1;font-size:.57rem;white-space:nowrap}
.example-focus-close{
  justify-self:end;
  width:42px;height:42px;padding:0;border:1px solid rgba(30,102,146,.10);border-radius:999px;
  color:#4b687e;background:rgba(255,255,255,.80);font-size:1.35rem;line-height:1;cursor:pointer
}
.example-focus-layer .itinerary-preview__heading{margin-top:.25rem}
.example-focus-layer .itinerary-card{box-shadow:0 22px 70px rgba(16,56,88,.10)}
.example-focus-convert{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  margin-top:1rem;
  padding:1rem;
  border-radius:24px;
}
.example-focus-convert>div>span{display:block;color:#7b90a0;font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.example-focus-convert>div>strong{display:block;margin-top:.18rem;color:var(--ink);font-size:1rem;letter-spacing:-.02em}

/* ---------- PLANNER EXISTS ONLY AS AN ON-DEMAND APPLICATION ---------- */
.planner-section--focus-only{
  height:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  background:transparent!important;
}
.planner-section--focus-only>.page-shell{height:0;min-height:0}
.planner-section--focus-only .section-heading{display:none!important}
.planner-section--focus-only .planner-frame:not(.planner-frame--focus-layer){
  position:fixed!important;
  top:50%!important;
  left:50%!important;
  width:min(760px,calc(100vw - 40px))!important;
  height:min(520px,calc(100dvh - 40px))!important;
  margin:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translate(-50%,-50%) scale(.96)!important;
  z-index:30000!important;
}
.planner-section--focus-only .planner-frame.planner-frame--focus-layer{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
}

@media(max-width:900px){
  .example-entry{grid-template-columns:1fr}
  .example-entry .journey-launcher{justify-self:start}
  .example-focus-convert{grid-template-columns:1fr}
}

@media(max-width:680px){
  .journey-launcher{
    width:100%;
    min-height:82px;
    gap:.68rem;
    padding:.72rem;
    border-radius:21px;
  }
  .journey-launcher__icon{width:44px;height:44px;border-radius:14px}
  .journey-launcher__copy strong{font-size:.98rem}
  .journey-launcher__copy small{font-size:.66rem}
  .journey-launcher__arrow{width:34px;height:34px}

  .example-entry{padding:1rem;border-radius:23px}

  .example-focus-layer{
    top:0;
    left:0;
    width:100vw;
    height:100dvh;
    border-radius:0;
    padding:0 .7rem max(1rem,env(safe-area-inset-bottom))!important;
  }
  .example-focus-toolbar{
    min-height:58px;
    grid-template-columns:1fr auto;
    margin:0 -.7rem .8rem;
    padding:max(.5rem,env(safe-area-inset-top)) max(.55rem,env(safe-area-inset-right)) .5rem max(.55rem,env(safe-area-inset-left));
  }
  .example-focus-brand{display:none}
  .example-focus-close{width:40px;height:40px}
  .example-focus-layer .itinerary-preview__heading{padding-top:.2rem}
}

@media(prefers-reduced-motion:reduce){
  .journey-launcher,
  .journey-launcher::before,
  .journey-launcher__arrow,
  .example-focus-layer,
  .example-focus-backdrop{transition-duration:.001ms!important}
}

/* =========================================================
   ITBMO · PRODUCT FOCUS V1.1 · PREMIUM RHYTHM REFINEMENT
   Surgical visual-only upgrade:
   - more breathing room in Hero
   - wider primary ASTRA CTA
   - stronger, clearer Example CTA
   Existing Focus Mode / Planner / Example logic is untouched.
   ========================================================= */

/* ---------- HERO · MORE EDITORIAL BREATHING ROOM ---------- */
.hero__lead--astra{
  max-width:790px;
}

.hero__astra-kicker{
  margin-bottom:0!important;
}

.hero__astra-kicker + .journey-launcher{
  margin-top:1.18rem;
  margin-bottom:1.55rem;
}

/* The primary action should feel like the entrance to the product. */
.hero .journey-launcher--planner{
  width:min(100%,700px);
  min-height:94px;
  padding:.92rem 1rem;
  border-radius:26px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    0 22px 54px rgba(8,119,249,.20),
    0 8px 24px rgba(10,167,165,.10);
}

.hero .journey-launcher--planner .journey-launcher__icon{
  width:54px;
  height:54px;
  border-radius:17px;
}

.hero .journey-launcher--planner .journey-launcher__copy strong{
  font-size:clamp(1.08rem,1.72vw,1.34rem);
}

.hero .journey-launcher--planner .journey-launcher__copy small{
  margin-top:.3rem;
  font-size:.76rem;
  color:rgba(255,255,255,.84);
}

/* Copy rhythm after the primary CTA. */
.hero__lead--astra > p:not(.hero__astra-kicker){
  line-height:1.58;
}

.hero__lead--astra > p + p{
  margin-top:1rem;
}

.hero__lead--astra .journey-launcher + p{
  margin-top:0!important;
}

.hero__astra-emphasis{
  margin-top:1.16rem!important;
}

.hero__features{
  margin-top:1.65rem;
  gap:.5rem;
}

.hero__actions{
  margin-top:1.55rem;
}

.hero__price{
  margin-top:1.45rem;
}

/* ---------- EXAMPLE ENTRY · CLEARLY INTERACTIVE, STILL PREMIUM ---------- */
.example-entry{
  position:relative;
  overflow:hidden;
  gap:clamp(1.5rem,4.5vw,3.8rem);
  padding:clamp(1.35rem,2.9vw,1.95rem);
  border-color:rgba(46,128,166,.14);
  background:
    radial-gradient(520px 220px at 100% 0%,rgba(109,120,238,.11),transparent 70%),
    radial-gradient(460px 190px at 76% 100%,rgba(53,191,209,.09),transparent 72%),
    linear-gradient(145deg,rgba(255,255,255,.90),rgba(245,250,253,.76));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    0 24px 64px rgba(16,56,88,.09);
}

.example-entry::before{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  right:-120px;
  top:-150px;
  border-radius:999px;
  pointer-events:none;
  background:rgba(53,191,209,.09);
  filter:blur(4px);
}

.example-entry__copy{
  position:relative;
  z-index:1;
}

.example-entry__eyebrow{
  color:#6f8799;
}

.example-entry h3{
  font-size:clamp(1.55rem,2.65vw,2.2rem);
}

.example-entry h3 span{
  color:transparent;
  background:linear-gradient(100deg,var(--blue),var(--teal),var(--indigo));
  -webkit-background-clip:text;
  background-clip:text;
}

.example-entry p{
  margin-top:.62rem;
  font-size:.86rem;
  color:#58758a;
}

/* The example action keeps the light palette but gains unmistakable depth. */
.example-entry .journey-launcher--example{
  position:relative;
  z-index:1;
  width:min(100%,680px);
  min-height:98px;
  padding:.94rem 1rem;
  border:1px solid rgba(8,119,249,.16);
  border-radius:25px;
  background:
    radial-gradient(360px 150px at 100% 0%,rgba(53,191,209,.17),transparent 70%),
    radial-gradient(300px 140px at 0% 100%,rgba(109,120,238,.08),transparent 72%),
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(238,249,251,.94));
  box-shadow:
    inset 0 1px 0 #fff,
    0 22px 58px rgba(14,81,126,.13),
    0 0 0 1px rgba(53,191,209,.035);
}

.example-entry .journey-launcher--example:hover{
  transform:translateY(-4px);
  border-color:rgba(8,119,249,.24);
  box-shadow:
    inset 0 1px 0 #fff,
    0 30px 72px rgba(14,81,126,.18),
    0 10px 30px rgba(53,191,209,.10);
}

.example-entry .journey-launcher--example .journey-launcher__icon{
  width:54px;
  height:54px;
  border-radius:17px;
  box-shadow:0 12px 28px rgba(71,111,208,.18);
}

.example-entry .journey-launcher--example .journey-launcher__copy strong{
  color:var(--ink);
  font-size:clamp(1.06rem,1.62vw,1.3rem);
}

.journey-launcher__gradient-text{
  color:transparent;
  background:linear-gradient(100deg,var(--blue),var(--teal),var(--indigo));
  -webkit-background-clip:text;
  background-clip:text;
}

.example-entry .journey-launcher--example .journey-launcher__copy small{
  margin-top:.3rem;
  color:#637f94;
  font-size:.75rem;
}

.example-entry .journey-launcher--example .journey-launcher__arrow{
  width:44px;
  height:44px;
  box-shadow:0 12px 28px rgba(8,119,249,.18);
  animation:itbmo-example-arrow-breathe 3.8s ease-in-out infinite;
}

@keyframes itbmo-example-arrow-breathe{
  0%,82%,100%{transform:translateX(0)}
  88%{transform:translateX(3px)}
  94%{transform:translateX(0)}
}

.example-entry .journey-launcher--example:hover .journey-launcher__arrow{
  animation:none;
  transform:translateX(5px);
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  .hero .journey-launcher--planner{
    width:100%;
  }

  .example-entry .journey-launcher--example{
    width:100%;
    justify-self:stretch;
  }
}

@media(max-width:680px){
  .hero__astra-kicker + .journey-launcher{
    margin-top:.95rem;
    margin-bottom:1.25rem;
  }

  .hero .journey-launcher--planner{
    min-height:88px;
    padding:.78rem;
    border-radius:22px;
  }

  .hero .journey-launcher--planner .journey-launcher__icon{
    width:46px;
    height:46px;
    border-radius:14px;
  }

  .hero__lead--astra > p + p{
    margin-top:.82rem;
  }

  .hero__features{
    margin-top:1.35rem;
  }

  .hero__actions{
    margin-top:1.3rem;
  }

  .hero__price{
    margin-top:1.25rem;
  }

  .example-entry{
    padding:1.12rem;
  }

  .example-entry .journey-launcher--example{
    min-height:88px;
    padding:.78rem;
    border-radius:22px;
  }

  .example-entry .journey-launcher--example .journey-launcher__icon{
    width:46px;
    height:46px;
    border-radius:14px;
  }

  .example-entry .journey-launcher--example .journey-launcher__arrow{
    width:38px;
    height:38px;
  }
}

@media(prefers-reduced-motion:reduce){
  .example-entry .journey-launcher--example .journey-launcher__arrow{
    animation:none!important;
  }
}

/* =========================================================
   ITBMO · PROMOTION CONVERSION V5.3
   Surgical refinement: stronger 50% savings visibility without
   launch/new-product language or artificial urgency.
   ========================================================= */
.hero__price--promo,.final-cta__price--promo{
  flex-wrap:wrap;
  column-gap:.62rem;
  row-gap:.46rem;
  align-items:center;
}

.hero__price--promo > span:first-child,
.final-cta__price--promo > span:first-child{
  font-weight:720;
  letter-spacing:.01em;
}

.hero__price--promo > strong{
  font-size:1.86rem;
}

.hero__price--promo del,
.final-cta__price--promo del{
  opacity:.58;
  font-weight:780;
  font-size:.92rem;
  line-height:1.05;
}

.promo-badge{
  position:relative;
  isolation:isolate;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:.54rem .92rem;
  border-radius:999px;
  color:#5d3a00;
  background:
    radial-gradient(90px 50px at 18% 0%,rgba(255,255,255,.88),transparent 72%),
    linear-gradient(120deg,#fff2ad 0%,#ffd96b 48%,#ffc56b 100%);
  border:1px solid rgba(185,120,0,.20);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.90),
    0 10px 26px rgba(202,139,16,.18),
    0 0 0 4px rgba(255,214,103,.10);
  font-size:.82rem;
  font-style:normal;
  font-weight:950;
  letter-spacing:.035em;
  text-transform:uppercase;
  white-space:nowrap;
  transform:translateZ(0);
}

.promo-badge b{
  font:inherit;
}

.promo-badge::after{
  content:"";
  position:absolute;
  inset:-3px;
  z-index:-1;
  border-radius:inherit;
  border:1px solid rgba(255,202,65,.24);
  opacity:.7;
  animation:itbmoPromoPulse 6.5s ease-in-out infinite;
}

@keyframes itbmoPromoPulse{
  0%,78%,100%{transform:scale(1);opacity:.24}
  84%{transform:scale(1.055);opacity:.58}
  91%{transform:scale(1);opacity:.24}
}

.promo-badge--dark{
  color:#513400;
  background:
    radial-gradient(90px 50px at 18% 0%,rgba(255,255,255,.90),transparent 72%),
    linear-gradient(120deg,#fff3a5 0%,#ffd45d 50%,#ffbd64 100%);
  border-color:rgba(255,255,255,.34);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 12px 30px rgba(0,0,0,.13),
    0 0 0 4px rgba(255,220,108,.10);
}

.how-card__price strong{
  color:#9b6500;
  font-weight:900;
}

@media(max-width:680px){
  .hero__price--promo{
    align-items:center;
  }
  .promo-badge{
    width:max-content;
    min-height:40px;
    padding:.5rem .82rem;
    font-size:.77rem;
  }
  .final-cta__price--promo{
    justify-content:center;
  }
}

@media(prefers-reduced-motion:reduce){
  .promo-badge::after{
    animation:none;
  }
}

/* =========================================================
   V5.4 · ASTRA STORYTELLING · PREMIUM VALUE LAYER
   Surgical addition: uses the existing blue/teal/indigo,
   glass, spacing and Apple-like restraint of the Home.
   ========================================================= */

.astra-story-intro{
  position:relative;
  display:flex;
  gap:.82rem;
  align-items:flex-start;
  margin:1rem 0 1.05rem;
  padding:.92rem 1rem;
  overflow:hidden;
  border-radius:20px;
  background:
    radial-gradient(260px 120px at 0% 0%,rgba(53,191,209,.13),transparent 72%),
    linear-gradient(135deg,rgba(247,252,255,.90),rgba(244,247,255,.82));
  border:1px solid rgba(72,118,160,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 12px 34px rgba(18,55,90,.05);
}
.astra-story-intro::after{
  content:"";
  position:absolute;
  width:150px;height:150px;
  right:-78px;bottom:-90px;
  border-radius:999px;
  background:rgba(109,120,238,.08);
  filter:blur(2px);
  pointer-events:none;
}
.astra-story-intro__spark{
  position:relative;z-index:1;
  width:34px;height:34px;flex:0 0 34px;
  display:grid;place-items:center;
  border-radius:11px;
  color:#fff;
  background:linear-gradient(135deg,var(--blue),var(--teal));
  box-shadow:0 9px 22px rgba(8,119,249,.16);
  font-weight:900;
}
.astra-story-intro>div{position:relative;z-index:1}
.astra-story-intro strong{
  display:block;
  color:var(--ink);
  font-size:.92rem;
  line-height:1.35;
  letter-spacing:-.02em;
}
.astra-story-intro p{
  margin:.28rem 0 0;
  color:var(--text);
  font-size:.76rem;
  line-height:1.55;
}

.astra-value-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.58rem;
  margin-top:.85rem;
}
.astra-value-card{
  position:relative;
  min-height:184px;
  padding:1rem 1rem .92rem;
  overflow:hidden;
  border-radius:20px;
  background:linear-gradient(150deg,rgba(255,255,255,.92),rgba(248,251,253,.70));
  border:1px solid rgba(34,91,128,.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 12px 34px rgba(18,55,90,.055);
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s ease;
}
.astra-value-card:hover{
  transform:translateY(-3px);
  border-color:rgba(30,102,146,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 18px 42px rgba(18,55,90,.085);
}
.astra-value-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,var(--blue),var(--teal),var(--indigo));
  opacity:.72;
}
.astra-value-card::after{
  content:"";
  position:absolute;
  width:120px;height:120px;
  right:-70px;top:-65px;
  border-radius:999px;
  background:rgba(53,191,209,.07);
  pointer-events:none;
}
.astra-value-card--route::after{background:rgba(109,120,238,.08)}
.astra-value-card--time::after{background:rgba(215,154,22,.09)}
.astra-value-card--you::after{background:rgba(53,185,142,.08)}

.astra-value-card__number{
  position:absolute;
  right:.82rem;top:.58rem;
  color:rgba(7,31,61,.055);
  font-size:2.05rem;
  line-height:1;
  font-weight:950;
  letter-spacing:-.07em;
}
.astra-value-card__icon{
  width:34px;height:34px;
  display:grid;place-items:center;
  margin-bottom:.68rem;
  border-radius:11px;
  color:#087b93;
  background:linear-gradient(145deg,#eefbfc,#e8f6fb);
  border:1px solid rgba(10,127,153,.09);
  font-size:.9rem;
  font-weight:900;
}
.astra-value-card--route .astra-value-card__icon{
  color:#6358c6;background:linear-gradient(145deg,#f3f0ff,#eef1ff)
}
.astra-value-card--time .astra-value-card__icon{
  color:#956d0f;background:linear-gradient(145deg,#fff8e8,#fff4d9)
}
.astra-value-card--you .astra-value-card__icon{
  color:#19745f;background:linear-gradient(145deg,#edf9f4,#e7f7f0)
}
.astra-value-card h3{
  position:relative;z-index:1;
  max-width:92%;
  margin:0 0 .38rem;
  color:var(--ink);
  font-size:.91rem;
  line-height:1.24;
  letter-spacing:-.027em;
}
.astra-value-card p{
  position:relative;z-index:1;
  margin:0;
  color:var(--text);
  font-size:.73rem;
  line-height:1.53;
}
.astra-value-card p strong{color:#315f78}
.astra-value-card small{
  position:relative;z-index:1;
  display:block;
  margin-top:.5rem;
  padding-top:.48rem;
  border-top:1px solid rgba(35,75,112,.07);
  color:#7b8995;
  font-size:.62rem;
  line-height:1.45;
}

.astra-language-strip{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:.78rem;
  align-items:center;
  margin-top:.65rem;
  padding:.82rem .9rem;
  overflow:hidden;
  border-radius:18px;
  color:#fff;
  background:
    radial-gradient(260px 140px at 0% 0%,rgba(53,191,209,.24),transparent 70%),
    radial-gradient(280px 150px at 100% 100%,rgba(109,120,238,.24),transparent 72%),
    linear-gradient(110deg,#075b8f 0%,#087f93 52%,#087f7e 100%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 15px 36px rgba(7,93,126,.13);
}
.astra-language-strip::after{
  content:"";
  position:absolute;
  width:170px;height:170px;
  right:-92px;top:-105px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
}
.astra-language-strip__icon{
  position:relative;z-index:1;
  width:42px;height:42px;
  display:grid;place-items:center;
  border-radius:13px;
  color:#fff;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15);
  font-weight:900;
}
.astra-language-strip>div:last-child{position:relative;z-index:1}
.astra-language-strip strong{
  display:block;
  font-size:.82rem;
  letter-spacing:-.015em;
}
.astra-language-strip p{
  margin:.22rem 0 0;
  max-width:720px;
  color:rgba(239,249,252,.80);
  font-size:.68rem;
  line-height:1.5;
}

.astra-starting-point{
  display:flex;
  gap:.62rem;
  align-items:flex-start;
  margin-top:.62rem;
  padding:.72rem .78rem;
  border-radius:16px;
  background:rgba(246,249,255,.76);
  border:1px solid rgba(109,120,238,.09);
}
.astra-starting-point>span{
  color:var(--indigo);
  font-weight:950;
}
.astra-starting-point p{
  margin:0;
  color:#63798d;
  font-size:.69rem;
  line-height:1.48;
}
.astra-starting-point strong{color:var(--ink-2)}

/* The story should feel integrated, not make the section visually heavy. */
.promise-copy .ai-variation-note{
  margin-top:.64rem;
}
.promise-copy .ai-variation-note + *{
  margin-top:.6rem;
}

@media(max-width:900px){
  .astra-value-grid{grid-template-columns:1fr 1fr}
  .astra-value-card{min-height:170px}
}

@media(max-width:680px){
  .astra-story-intro{
    gap:.62rem;
    padding:.78rem;
    border-radius:17px;
  }
  .astra-story-intro__spark{
    width:30px;height:30px;flex-basis:30px;border-radius:10px;
  }
  .astra-story-intro strong{font-size:.84rem}
  .astra-story-intro p{font-size:.7rem}

  .astra-value-grid{grid-template-columns:1fr;gap:.48rem}
  .astra-value-card{
    min-height:auto;
    padding:.86rem .88rem .82rem;
    border-radius:17px;
  }
  .astra-value-card__number{font-size:1.8rem}
  .astra-value-card h3{font-size:.87rem}
  .astra-value-card p{font-size:.7rem}

  .astra-language-strip{
    grid-template-columns:auto minmax(0,1fr);
    gap:.62rem;
    padding:.76rem;
    border-radius:16px;
  }
  .astra-language-strip__icon{
    width:36px;height:36px;border-radius:11px;
  }
  .astra-language-strip strong{font-size:.78rem}
  .astra-language-strip p{font-size:.64rem}

  .astra-starting-point{padding:.66rem .7rem}
  .astra-starting-point p{font-size:.65rem}
}

/* =========================================================
   V5.5 · HOW STEP 03 · PREMIUM PRICE CARD
   Surgical: only replaces the compact price line inside the
   "Guarda y paga solo al iniciar" card.
   ========================================================= */

.how-card__price-card{
  position:relative;
  width:min(100%,330px);
  margin-top:.9rem;
  padding:.78rem .86rem .74rem;
  overflow:hidden;
  border-radius:18px;
  background:
    radial-gradient(180px 90px at 0% 0%,rgba(53,191,209,.14),transparent 74%),
    linear-gradient(145deg,rgba(255,255,255,.95),rgba(239,250,249,.88));
  border:1px solid rgba(24,127,143,.12);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    0 12px 28px rgba(16,90,108,.07);
}

.how-card__price-card::after{
  content:"";
  position:absolute;
  width:110px;
  height:110px;
  right:-62px;
  bottom:-70px;
  border-radius:999px;
  background:rgba(53,191,209,.08);
  pointer-events:none;
}

.how-card__price-card-top{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.55rem;
  margin-bottom:.28rem;
}

.how-card__price-label{
  color:#4b7183;
  font-size:.62rem;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:uppercase;
}

.how-card__price-save{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:.22rem .48rem;
  border-radius:999px;
  color:#7a5708;
  background:linear-gradient(180deg,#fff4c9,#ffe49a);
  border:1px solid rgba(215,154,22,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
  font-size:.58rem;
  font-weight:950;
  letter-spacing:.035em;
  white-space:nowrap;
}

.how-card__price-main{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-end;
  min-height:44px;
}

.how-card__price-main strong{
  color:var(--ink);
  font-size:2rem;
  line-height:1;
  font-weight:950;
  letter-spacing:-.055em;
}

.how-card__price-meta{
  position:relative;
  z-index:1;
  margin-top:.28rem;
  color:#4f7383;
  font-size:.66rem;
  font-weight:760;
  letter-spacing:-.01em;
}

/* Old compact price line remains available elsewhere, but not used in Step 03. */

@media(max-width:680px){
  .how-card__price-card{
    width:100%;
    padding:.72rem .78rem .7rem;
    border-radius:16px;
  }

  .how-card__price-main strong{
    font-size:1.8rem;
  }

  .how-card__price-meta{
    font-size:.64rem;
  }
}

/* =========================================================
   V5.6 · STEP 03 · PREVIOUS PRICE
   Surgical addition: old price below the 50% savings badge.
   ========================================================= */

.how-card__price-promo{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.18rem;
  flex:0 0 auto;
}

.how-card__price-old{
  color:#83919b;
  font-size:.92rem;
  line-height:1.05;
  font-weight:760;
  letter-spacing:-.01em;
  text-decoration-line:line-through;
  text-decoration-thickness:1px;
  text-decoration-color:rgba(79,93,103,.62);
}

.site-footer--home .site-footer__top{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

@media(max-width:900px){
  .site-footer--home .site-footer__top{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:680px){
  .site-footer--home .site-footer__top{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   ITBMO · JOURNEY CONTINUUM
========================================================= */
.journey-continuum{padding:clamp(5rem,9vw,8rem) 0;background:linear-gradient(180deg,rgba(244,250,253,.26),rgba(249,252,254,.92))}
.journey-continuum__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.journey-continuum__card{position:relative;min-height:280px;padding:1.6rem;border-radius:28px;overflow:hidden;transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s ease}
.journey-continuum__card:hover{transform:translateY(-5px);box-shadow:var(--shadow-up);border-color:rgba(8,119,249,.16)}
.journey-continuum__card--heart{background:linear-gradient(145deg,rgba(237,248,255,.92),rgba(235,251,250,.84));border-color:rgba(21,139,190,.15)}
.journey-continuum__number{position:absolute;right:1.35rem;top:1.2rem;color:#a0b2bf;font-size:.65rem;font-weight:900;letter-spacing:.13em}
.journey-continuum__icon{width:46px;height:46px;display:grid;place-items:center;margin-bottom:2.8rem;border-radius:15px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--teal));box-shadow:0 12px 28px rgba(8,119,169,.16);font-weight:900}
.journey-continuum__card small,.journey-continuum__whole small{display:block;color:#137f9d;font-size:.6rem;font-weight:900;letter-spacing:.12em}
.journey-continuum__card h3{margin:.35rem 0 .55rem;font-size:1.55rem;letter-spacing:-.045em}
.journey-continuum__card p{margin:0;color:var(--text);font-size:.84rem;line-height:1.6}
.journey-continuum__whole{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:center;margin-top:1rem;padding:1.25rem 1.4rem;border-radius:22px}
.journey-continuum__whole>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#e9f6fb;color:#0a789a;font-weight:900}
.journey-continuum__whole strong{display:block;margin:.2rem 0;color:var(--ink);font-size:.94rem}
.journey-continuum__whole p{margin:0;color:var(--text);font-size:.76rem}
@media(max-width:900px){.journey-continuum__grid{grid-template-columns:1fr}.journey-continuum__card{min-height:0}.journey-continuum__icon{margin-bottom:1.7rem}}
