@layer bricks {.brxe-shortcode{width:100%}}.tt-yb-landing .brxe-text-basic { display: block !important; }
.tt-yb-landing * { box-sizing: border-box; }

.tt-yb-landing {
  --yb-purple: #7703e8;
  --yb-blue: #1863DC;
  --yb-pink: #ff4fd8;
  --yb-gold: #f6c545;
  --yb-dark: #08060d;
  --yb-text: #14121a;
  --yb-text2: #4a4650;
  --yb-bg-light: #f6f3fd;
  --yb-radius: 14px;
  font-family: Nunito, sans-serif;
}
.tt-yb-sec { max-width: 1080px; margin: 0 auto; padding: clamp(48px,6vw,80px) 24px; }

/* HERO */
.tt-yb-hero { position: relative; overflow: hidden; background: var(--yb-dark); padding: clamp(64px,9vw,100px) 0 clamp(56px,7vw,84px); }
.tt-yb-hero::before { content:''; position:absolute; inset:0; background:
  radial-gradient(ellipse 65% 55% at 82% 15%, rgba(24,99,220,.30) 0%, transparent 65%),
  radial-gradient(ellipse 50% 50% at 8% 85%, rgba(119,3,232,.28) 0%, transparent 60%); }
.tt-yb-hero-inner { max-width:1120px; margin:0 auto; padding:0 24px; position:relative; z-index:1; display:grid; grid-template-columns:1fr 360px; gap:52px; align-items:center; }
@media (max-width:900px){ .tt-yb-hero-inner{ grid-template-columns:1fr; } }
.tt-yb-eyebrow { display:inline-flex; align-items:center; gap:10px; font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.65); margin-bottom:18px; }
.tt-yb-eyebrow::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--yb-blue); box-shadow:0 0 8px var(--yb-blue); }
.tt-yb-h1 { font-size:clamp(30px,4.6vw,50px); font-weight:900; line-height:1.12; color:#fff; letter-spacing:-1px; margin:0 0 18px; }
.tt-yb-h1 em { font-style:normal; color:var(--yb-pink); }
.tt-yb-lead { font-size:clamp(15px,1.7vw,18px); color:rgba(255,255,255,.78); line-height:1.65; margin:0 0 28px; max-width:560px; }
.tt-yb-ctas { display:flex; gap:12px; flex-wrap:wrap; }
.tt-yb-btn-primary { display:inline-flex; align-items:center; gap:8px; background:var(--yb-purple); color:#fff; font-size:15px; font-weight:700; padding:14px 24px; border-radius:8px; text-decoration:none; transition:transform .2s,box-shadow .2s; }
.tt-yb-btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(119,3,232,.45); }
.tt-yb-btn-ghost { display:inline-flex; align-items:center; gap:8px; background:transparent; color:rgba(255,255,255,.85); font-size:15px; font-weight:600; padding:13px 22px; border-radius:8px; border:1.5px solid rgba(255,255,255,.3); text-decoration:none; }
.tt-yb-btn-ghost:hover { border-color:#fff; color:#fff; }

/* CONVERSION CARD */
.tt-yb-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:18px; padding:26px 22px; backdrop-filter:blur(10px); }
.tt-yb-card-title { font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.5); margin:0 0 18px; }
.tt-yb-fact { display:flex; justify-content:space-between; gap:10px; padding:9px 0; border-bottom:1px solid rgba(255,255,255,.08); font-size:14px; }
.tt-yb-fact:last-of-type { border-bottom:none; }
.tt-yb-fact-label { color:rgba(255,255,255,.55); }
.tt-yb-fact-value { color:#fff; font-weight:700; text-align:right; }

/* POIs / checkpoints */
.tt-yb-poi-list { display:flex; flex-direction:column; gap:22px; margin-top:32px; counter-reset:yb-poi; }
.tt-yb-poi { position:relative; padding-left:56px; }
.tt-yb-poi::before { counter-increment:yb-poi; content:counter(yb-poi); position:absolute; left:0; top:0; width:38px; height:38px; border-radius:50%; background:var(--yb-purple); color:#fff; font-weight:800; font-size:15px; display:flex; align-items:center; justify-content:center; }
.tt-yb-poi h3 { font-size:19px; font-weight:800; color:var(--yb-text); margin:0 0 6px; }
.tt-yb-poi .tt-yb-poi-loc { font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--yb-purple); margin:0 0 8px; }
.tt-yb-poi p { font-size:15.5px; line-height:1.6; color:var(--yb-text2); margin:0; }

/* Legend callout */
.tt-yb-legend { margin-top:30px; background:var(--yb-bg-light); border-left:4px solid var(--yb-gold); border-radius:10px; padding:22px 24px; }
.tt-yb-legend-label { font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#b8860b; margin:0 0 10px; }
.tt-yb-legend p { font-size:15px; line-height:1.65; color:var(--yb-text); margin:0 0 10px; }
.tt-yb-legend p:last-child { margin-bottom:0; }

/* Section headings */
.tt-yb-sec h2 { font-size:clamp(24px,3.2vw,34px); font-weight:900; color:var(--yb-text); letter-spacing:-.5px; margin:0 0 18px; }
.tt-yb-sec > p.tt-yb-intro { font-size:16.5px; line-height:1.7; color:var(--yb-text2); max-width:760px; margin:0 0 8px; }

/* Cómo llegar */
.tt-yb-transit { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-top:24px; }
.tt-yb-transit-card { background:#fff; border:1px solid #e8e4f4; border-radius:12px; padding:18px 20px; }
.tt-yb-transit-card strong { display:block; font-size:14px; color:var(--yb-purple); margin-bottom:6px; }
.tt-yb-transit-card span { font-size:14.5px; color:var(--yb-text2); line-height:1.5; }

/* FAQ */
.tt-yb-faq-wrap { margin-top:24px; display:flex; flex-direction:column; gap:10px; }
.tt-yb-faq-item { border:1px solid #e8e4f4; border-radius:10px; overflow:hidden; background:#fff; }
.tt-yb-faq-item summary { cursor:pointer; padding:16px 20px; font-weight:700; font-size:15.5px; color:var(--yb-text); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.tt-yb-faq-item summary::-webkit-details-marker { display:none; }
.tt-yb-faq-item summary::after { content:'+'; font-size:20px; color:var(--yb-purple); flex-shrink:0; }
.tt-yb-faq-item[open] summary::after { content:'\2212'; }
.tt-yb-faq-item .tt-yb-faq-a { padding:0 20px 18px; font-size:15px; line-height:1.65; color:var(--yb-text2); }

/* Final CTA */
.tt-yb-final { background:var(--yb-purple); border-radius:20px; padding:clamp(36px,5vw,54px); text-align:center; margin-top:8px; }
.tt-yb-final h2 { color:#fff; margin:0 0 12px; }
.tt-yb-final p { color:rgba(255,255,255,.85); font-size:16px; max-width:520px; margin:0 auto 26px; }
.tt-yb-final .tt-yb-btn-primary { background:#fff; color:var(--yb-purple); }

/* Cross-links */
.tt-yb-crosslinks { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.tt-yb-crosslinks a { font-size:14px; font-weight:600; color:var(--yb-purple); text-decoration:none; border:1.5px solid #e0d6f7; border-radius:20px; padding:8px 16px; }
.tt-yb-crosslinks a:hover { background:var(--yb-bg-light); }

@media (max-width:767px) {
  .tt-yb-sec { padding: 36px 18px; }
  .tt-yb-poi-list { gap:18px; }
}
