:root {
  --black: #080808;
  --black-2: #11110f;
  --black-3: #1a1813;
  --ink: #171510;
  --muted: #746e64;
  --gold: #c99524;
  --gold-2: #efca67;
  --gold-3: #9c6d12;
  --cream: #f5efe3;
  --cream-2: #fffaf1;
  --line: #ddd1bc;
  --white: #fffdf8;
  --red: #9d2330;
  --blue: #1f3352;
  --radius: 24px;
  --shadow: 0 28px 80px rgba(32, 21, 3, .12);
  --container: min(1240px, calc(100% - 40px));
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream-2); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }
.container { width: var(--container); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 1000; background: var(--gold); color: #111; padding: 10px 14px; border-radius: 10px; }
.skip-link:focus { top: 14px; }

.site-header { position: sticky; top: 0; z-index: 80; background: rgba(8, 8, 8, .95); color: white; backdrop-filter: blur(18px); border-bottom: 1px solid rgba(239, 202, 103, .12); }
.topline { border-bottom: 1px solid rgba(255,255,255,.07); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.62); }
.topline-inner { min-height: 30px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.topline a { color: var(--gold-2); }
.nav { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 11px; min-width: max-content; }
.brand-mark { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(239,202,103,.35); background: #0c0b09; }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.05; }
.brand-copy strong { font-size: 17px; letter-spacing: .14em; }
.brand-copy small { color: var(--gold-2); font-size: 8px; letter-spacing: .19em; margin-top: 5px; }
.menu { display: flex; align-items: center; gap: 18px; font-size: 12px; }
.menu > a { color: rgba(255,255,255,.79); transition: color .2s ease; }
.menu > a:hover { color: var(--gold-2); }
.nav-cta { border: 1px solid var(--gold); background: linear-gradient(135deg, var(--gold-2), var(--gold)); padding: 12px 16px; border-radius: 10px; font-weight: 800; cursor: pointer; }
.menu-toggle { display: none; width: 44px; height: 42px; border: 1px solid rgba(255,255,255,.15); background: transparent; border-radius: 10px; padding: 10px; }
.menu-toggle span { display: block; height: 2px; margin: 4px 0; background: white; }

.hero { min-height: 770px; position: relative; overflow: hidden; color: white; background: radial-gradient(circle at 78% 35%, rgba(201,149,36,.17), transparent 28%), linear-gradient(135deg, #050506 0%, #0b0c0e 54%, #15110a 100%); isolation: isolate; }
.hero-noise { position: absolute; inset: 0; opacity: .17; background-image: radial-gradient(rgba(255,255,255,.15) .7px, transparent .7px); background-size: 7px 7px; mask-image: linear-gradient(to bottom, #000, transparent 70%); }
.hero-flag { position: absolute; background: url("assets/us-flag-wave.svg") center/cover no-repeat; pointer-events: none; transform-origin: center; filter: saturate(.8) contrast(1.05); }
.hero-flag-a { width: 920px; height: 560px; left: -170px; top: 35px; opacity: .33; transform: rotate(-9deg) skewY(-3deg); animation: flagFloat 11s ease-in-out infinite alternate; }
.hero-flag-b { width: 600px; height: 360px; right: -180px; bottom: 55px; opacity: .10; transform: rotate(12deg); animation: flagFloatTwo 14s ease-in-out infinite alternate; }
@keyframes flagFloat { from { transform: translate3d(-12px,0,0) rotate(-9deg) skewY(-3deg) scale(1.01); } to { transform: translate3d(24px,18px,0) rotate(-6deg) skewY(-5deg) scale(1.05); } }
@keyframes flagFloatTwo { from { transform: translate3d(0,0,0) rotate(12deg); } to { transform: translate3d(-36px,-16px,0) rotate(8deg) scale(1.06); } }
.hero-grid { min-height: 770px; display: grid; grid-template-columns: 1.12fr .88fr; gap: 50px; align-items: center; position: relative; z-index: 4; padding-block: 78px 100px; }
.hero-copy { max-width: 735px; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--gold-2); font-size: 11px; letter-spacing: .17em; font-weight: 800; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 22px; height: 1px; background: currentColor; }
.eyebrow.dark { color: var(--gold-3); }
.hero h1 { font-size: clamp(44px, 5.4vw, 76px); line-height: .99; letter-spacing: -.045em; margin: 22px 0; max-width: 850px; text-wrap: balance; }
.hero h1 em { color: var(--gold-2); font-style: normal; }
.hero-lead { font-size: 18px; line-height: 1.65; color: rgba(255,255,255,.76); max-width: 680px; }
.hero-slogan { color: var(--gold-2); font-size: 13px; font-weight: 750; margin: 23px 0 0; }
.hero-slogan span { margin-right: 8px; }
.hero-actions { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin-top: 31px; max-width: 760px; }
.btn { min-height: 56px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border-radius: 13px; border: 1px solid transparent; padding: 12px 16px; cursor: pointer; font-weight: 800; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn span:not(.btn-icon) { display: inline-flex; flex-direction: column; align-items: flex-start; line-height: 1.1; }
.btn small { font-size: 9px; font-weight: 600; margin-top: 5px; opacity: .75; }
.btn-icon { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: rgba(0,0,0,.12); }
.btn-gold { background: linear-gradient(135deg, var(--gold-2), var(--gold)); color: #171106; box-shadow: 0 12px 35px rgba(201,149,36,.18); }
.btn-outline { background: rgba(9,9,9,.54); color: #fff; border-color: rgba(239,202,103,.56); }
.btn-dark { background: rgba(12,12,12,.72); color: #fff; border-color: rgba(255,255,255,.12); }
.btn.compact { min-height: 45px; padding: 9px 14px; width: max-content; font-size: 12px; }
.hero-proof { display: flex; align-items: stretch; gap: 0; margin-top: 36px; border-top: 1px solid rgba(255,255,255,.12); max-width: 760px; }
.hero-proof div { padding: 18px 24px 0 0; margin-right: 24px; border-right: 1px solid rgba(255,255,255,.10); display: flex; flex-direction: column; }
.hero-proof div:last-child { border-right: 0; }
.hero-proof strong { color: var(--gold-2); font-size: 19px; }
.hero-proof span { font-size: 10px; color: rgba(255,255,255,.55); max-width: 170px; }
.hero-art { min-height: 520px; position: relative; display: grid; place-items: center; }
.hero-us-word { font-size: clamp(110px, 14vw, 230px); line-height: 1; font-weight: 950; letter-spacing: -.08em; color: transparent; -webkit-text-stroke: 1px rgba(239,202,103,.25); text-shadow: 0 0 90px rgba(201,149,36,.08); transform: rotate(-90deg); position: absolute; right: -50px; }
.hero-orbit { position: absolute; border: 1px solid rgba(239,202,103,.20); border-radius: 50%; }
.orbit-one { width: 440px; height: 440px; box-shadow: 0 0 0 35px rgba(201,149,36,.025), 0 0 0 92px rgba(201,149,36,.015); }
.orbit-two { width: 300px; height: 300px; border-style: dashed; animation: spin 30s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.hero-starfield { width: 330px; height: 330px; background: url("assets/us-stars-pattern.svg") center/cover no-repeat; opacity: .17; mask-image: radial-gradient(circle, #000 30%, transparent 70%); }
.hero-badge { position: absolute; bottom: 43px; left: 10px; max-width: 270px; padding: 17px 19px; border-left: 2px solid var(--gold); background: linear-gradient(90deg, rgba(9,9,9,.85), rgba(9,9,9,.08)); }
.hero-badge span, .hero-badge small { display: block; color: rgba(255,255,255,.5); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.hero-badge strong { display: block; color: var(--gold-2); font-size: 18px; margin: 4px 0; }
.hero-routes i { position: absolute; border: 1px solid rgba(239,202,103,.15); border-bottom: 0; border-left-color: transparent; border-radius: 50% 50% 0 0; transform: rotate(-13deg); }
.hero-routes i:nth-child(1) { width: 600px; height: 240px; top: 118px; left: 37%; }
.hero-routes i:nth-child(2) { width: 410px; height: 180px; top: 180px; left: 55%; }
.hero-routes i:nth-child(3) { width: 250px; height: 120px; top: 95px; left: 64%; }
.hero-skyline { position: absolute; right: 0; bottom: 0; height: 235px; width: 47%; opacity: .35; display: flex; align-items: end; justify-content: flex-end; gap: 4px; padding-right: 2vw; }
.hero-skyline span { width: 10%; background: linear-gradient(to top, #080808, rgba(201,149,36,.16)); border-top: 1px solid rgba(239,202,103,.2); }
.hero-skyline span:nth-child(1){height:32%}.hero-skyline span:nth-child(2){height:55%}.hero-skyline span:nth-child(3){height:42%}.hero-skyline span:nth-child(4){height:82%;width:13%}.hero-skyline span:nth-child(5){height:50%}.hero-skyline span:nth-child(6){height:65%}.hero-skyline span:nth-child(7){height:38%}
.hero-wave { position: absolute; left: -4%; right: -4%; bottom: -58px; height: 105px; background: var(--cream-2); border-radius: 50% 50% 0 0 / 45% 45% 0 0; transform: rotate(-1deg); box-shadow: 0 -2px 0 rgba(201,149,36,.45); z-index: 6; }

.trust-band { background: var(--cream-2); padding: 52px 0 32px; }
.trust-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid #eee1cc; border-radius: 18px; overflow: hidden; background: rgba(255,255,255,.55); }
.trust-grid > div { padding: 22px; border-right: 1px solid #eee1cc; display: grid; grid-template-columns: auto 1fr; gap: 4px 11px; align-items: center; }
.trust-grid > div:last-child { border-right: 0; }
.trust-grid span:first-child { grid-row: 1 / 3; font-size: 10px; color: var(--gold-3); border: 1px solid #d7bc81; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; }
.trust-grid strong { font-size: 14px; }
.trust-grid small { color: var(--muted); font-size: 11px; }

.section { padding: 96px 0; position: relative; }
.section-cream { background: var(--cream-2); }
.section-heading { display: grid; grid-template-columns: 1.35fr .65fr; gap: 60px; align-items: end; margin-bottom: 42px; }
.section-heading h2 { font-size: clamp(34px, 4.4vw, 56px); line-height: 1.05; letter-spacing: -.035em; margin: 12px 0 0; text-wrap: balance; }
.section-heading p { color: var(--muted); margin: 0; max-width: 520px; }
.section-heading.centered { display: block; text-align: center; max-width: 860px; margin: 0 auto 46px; }
.section-heading.centered p { margin: 16px auto 0; }
.section-heading.light h2 { color: white; }
.section-heading.light p { color: rgba(255,255,255,.6); }
.pillar-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }
.pillar-card { min-height: 300px; border: 1px solid #e4d6be; border-radius: var(--radius); padding: 36px; display: grid; grid-template-columns: 90px 1fr; gap: 26px; background: rgba(255,255,255,.72); box-shadow: 0 15px 45px rgba(61,38,2,.05); position: relative; overflow: hidden; }
.pillar-card::after { content:""; position:absolute; width:220px; height:220px; right:-120px; bottom:-130px; border:1px solid rgba(201,149,36,.18); border-radius:50%; box-shadow:0 0 0 26px rgba(201,149,36,.025),0 0 0 58px rgba(201,149,36,.015); }
.pillar-icon { width: 82px; height: 82px; border-radius: 50%; background: var(--black); color: var(--gold-2); display: grid; place-items: center; font-size: 34px; }
.card-kicker { color: var(--gold-3); font-size: 10px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.pillar-card h3 { font-size: 28px; line-height: 1.1; margin: 8px 0 12px; }
.pillar-card p { color: var(--muted); margin: 0 0 17px; }
.text-button { border: 0; padding: 0; background: none; color: var(--gold-3); font-weight: 850; cursor: pointer; }

.markets { color: white; background: linear-gradient(135deg, #080808, #11100e); overflow: hidden; }
.market-flag-bg { position: absolute; inset: 0; background: url("assets/us-flag-wave.svg") left -180px top 40px/700px auto no-repeat; opacity: .06; transform: rotate(-6deg); }
.markets-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; position: relative; z-index: 2; }
.market-card { min-height: 420px; border: 1px solid rgba(239,202,103,.19); border-radius: var(--radius); overflow: hidden; position: relative; background: #11110f; }
.market-media { position: absolute; inset: 0 auto 0 0; width: 35%; }
.us-mini-flag { background: linear-gradient(90deg, rgba(8,8,8,.1), #111 95%), url("assets/us-flag-wave.svg") center/cover no-repeat; filter: saturate(.85); }
.market-us .market-content { margin-left: 31%; }
.market-content { padding: 34px; position: relative; z-index: 2; }
.market-title { display: flex; align-items: center; gap: 13px; }
.market-title > span { font-size: 36px; }
.market-title small { color: var(--gold-2); text-transform: uppercase; letter-spacing: .12em; font-size: 9px; }
.market-title h3 { font-size: 32px; margin: 2px 0 0; }
.market-content p { color: rgba(255,255,255,.65); }
.market-list { display: grid; gap: 8px; margin: 21px 0 28px; font-size: 12px; color: rgba(255,255,255,.8); }
.market-list.two-cols { grid-template-columns: repeat(2,1fr); }
.co-stripes { position: absolute; inset: 0; opacity: .25; display: grid; grid-template-rows: 2fr 1fr 1fr; }
.co-stripes i:nth-child(1){background:#f6d445}.co-stripes i:nth-child(2){background:#20437d}.co-stripes i:nth-child(3){background:#9c2030}
.market-co .market-content { background: linear-gradient(90deg, rgba(17,17,15,.9), rgba(17,17,15,.72)); min-height: 100%; }
.destination-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-top: 16px; position: relative; z-index: 2; }
.destination-chip { border: 1px solid rgba(239,202,103,.18); background: rgba(255,255,255,.035); color: white; border-radius: 12px; padding: 16px 18px; cursor: pointer; font-weight: 800; }
.destination-chip span { font-size: 20px; margin-right: 8px; }

.visa-usa { overflow: hidden; }
.visa-usa::after { content:""; position:absolute; right:-90px; top:40px; width:400px; height:400px; background:url("assets/us-stars-pattern.svg") center/cover; opacity:.025; }
.visa-tabs { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.visa-tab { border: 1px solid #dfd1bb; background: white; padding: 12px 16px; border-radius: 999px; cursor: pointer; font-weight: 750; color: #615a50; }
.visa-tab.active { background: var(--black); color: var(--gold-2); border-color: var(--black); }
.visa-panel { display: none; border: 1px solid #e1d5c1; border-radius: 22px; padding: 30px; background: white; }
.visa-panel.active { display: block; }
.visa-panel-title { display: flex; gap: 14px; align-items: center; margin-bottom: 22px; }
.visa-panel-title span { color: var(--gold-3); font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.visa-panel-title strong { font-size: 22px; }
.visa-chip-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.visa-chip-grid > div { border: 1px solid #eee5d7; border-radius: 14px; padding: 16px; display: flex; gap: 12px; align-items: center; }
.visa-chip-grid b { width: 36px; height: 36px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--black); color: var(--gold-2); font-size: 11px; }
.visa-chip-grid span { font-size: 12px; color: #5d574e; }
.visa-note { margin-top: 18px; border-left: 3px solid var(--gold); background: #f2eadc; padding: 20px 24px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; }
.visa-note > span { font-size: 10px; text-transform: uppercase; font-weight: 900; color: var(--gold-3); }
.visa-note p { margin: 0; color: #696156; font-size: 12px; }

.passport-section { background: #11110f; color: white; overflow: hidden; }
.passport-stars { position: absolute; inset: 0; background: url("assets/us-stars-pattern.svg") right -120px center/600px no-repeat; opacity: .035; }
.passport-grid { display: grid; grid-template-columns: 1fr .8fr; gap: 70px; align-items: center; position: relative; z-index: 2; }
.passport-copy h2 { font-size: clamp(38px,5vw,65px); line-height: 1; margin: 14px 0; }
.passport-copy p { color: rgba(255,255,255,.62); max-width: 650px; }
.passport-art { min-height: 360px; display: grid; place-items: center; perspective: 1000px; }
.passport-book { width: 245px; height: 330px; padding: 34px 30px; border-radius: 8px 20px 20px 8px; border: 1px solid rgba(239,202,103,.35); background: linear-gradient(145deg,#321717,#5b1e26); box-shadow: -20px 30px 70px rgba(0,0,0,.4); transform: rotateY(-17deg) rotateZ(4deg); display: flex; flex-direction: column; align-items: center; color: #e9c76c; }
.passport-book span { align-self: stretch; font-size: 9px; letter-spacing: .2em; }
.passport-book strong { margin-top: 18px; letter-spacing: .16em; }
.passport-book i { font-style: normal; font-size: 74px; margin: 50px 0 30px; }
.passport-book small { text-align: center; letter-spacing: .11em; }

.split-services { display: grid; grid-template-columns: 1fr 1fr; }
.split-panel { min-height: 610px; padding: 80px max(40px, calc((100vw - 1240px)/2)); position: relative; overflow: hidden; display: flex; align-items: center; }
.split-panel .split-copy { position: relative; z-index: 3; max-width: 550px; }
.split-panel h2 { font-size: clamp(37px,4.5vw,61px); line-height: 1; margin: 12px 0 18px; letter-spacing: -.04em; }
.split-panel p { font-size: 15px; }
.split-panel ul { padding-left: 20px; color: #665f55; margin: 22px 0 28px; }
.entrepreneurship { background: linear-gradient(135deg,#fffaf1,#eee2ce); color: var(--ink); }
.globe-art { position: absolute; width: 460px; height: 460px; right: -180px; bottom: -140px; color: rgba(156,109,18,.22); }
.globe-art span { font-size: 360px; line-height: 1; }
.globe-art i { position:absolute; width:360px; height:1px; background:rgba(156,109,18,.18); right:100px; bottom:100px; transform-origin:right; }
.globe-art i:nth-of-type(1){transform:rotate(-24deg)}.globe-art i:nth-of-type(2){transform:rotate(-43deg)}.globe-art i:nth-of-type(3){transform:rotate(-62deg)}
.coaching { background: radial-gradient(circle at 82% 48%,rgba(201,149,36,.11),transparent 25%), #0b0b0a; color: white; }
.coaching p { color: rgba(255,255,255,.62); }
.coaching-rings { position:absolute; width:480px; height:480px; border:1px solid rgba(239,202,103,.13); border-radius:50%; right:-130px; top:60px; box-shadow:0 0 0 40px rgba(201,149,36,.015),0 0 0 90px rgba(201,149,36,.01); }
.chess-art { position:absolute; right:5%; bottom:45px; display:flex; align-items:end; gap:10px; opacity:.28; }
.chess-art i { display:block; width:35px; height:100px; border-radius:50% 50% 18% 18%; background:linear-gradient(#d9ba64,#61420b); }
.chess-art .king { height:190px; width:52px; opacity:1; }

.about-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 26px; }
.about-story, .mission-card { border: 1px solid #e4d6be; border-radius: var(--radius); background: rgba(255,255,255,.65); padding: 32px; }
.about-lead { font-size: 17px; line-height: 1.75; margin-top: 0; }
.experience-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin-top: 26px; }
.experience-grid > div { border: 1px solid #e6d8c2; border-radius: 14px; padding: 18px; display: flex; gap: 13px; align-items: center; }
.experience-grid strong { font-size: 31px; color: var(--gold-3); }
.experience-grid span { color: #625b51; font-size: 11px; }
.legal-disclaimer { margin-top: 20px; padding: 18px; display: flex; gap: 12px; background: #16130e; color: #f2e8d8; border-radius: 14px; }
.legal-disclaimer span { color: var(--gold-2); }
.legal-disclaimer p { margin: 0; font-size: 12px; }
.mission-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.mission-card > span { color: var(--gold-3); text-transform: uppercase; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.mission-card h3 { font-size: 25px; margin: 9px 0 15px; }
.mission-card p { color: var(--muted); font-size: 13px; }
.ciiu-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid #e4d6be; border-radius: 18px; overflow: hidden; margin-top: 20px; }
.ciiu-grid div { padding: 22px; display: flex; gap: 13px; align-items: center; border-right: 1px solid #e4d6be; }
.ciiu-grid div:last-child { border-right: 0; }
.ciiu-grid strong { color: var(--gold-3); font-size: 22px; }
.ciiu-grid span { font-size: 11px; color: #655e54; }
.purpose-quote { margin: 20px 0 0; padding: 24px 30px; border-radius: 18px; background: linear-gradient(105deg,#16130e,#2c210d); color: white; display: flex; align-items: center; justify-content: center; gap: 26px; text-align: center; }
.purpose-quote span { color: var(--gold-2); text-transform: uppercase; letter-spacing: .15em; font-size: 9px; }
.purpose-quote strong { color: #f8e7ad; font-size: 17px; letter-spacing: .03em; }

.commercial-process { position: relative; overflow: hidden; background: #0a0a09; color: white; padding: 82px 0 92px; }
.process-stars { position: absolute; inset:0; background:url("assets/us-stars-pattern.svg") left -100px center/520px no-repeat; opacity:.025; }
.process-flow { display: grid; grid-template-columns: repeat(8,1fr); gap: 8px; position: relative; z-index: 2; }
.process-flow div { text-align: center; position: relative; }
.process-flow div:not(:last-child)::after { content:"→"; color:rgba(239,202,103,.35); position:absolute; right:-9px; top:40px; }
.process-flow b { position:absolute; top:-8px; right:16%; width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:var(--gold); color:#15110a; font-size:9px; }
.process-flow i { width:82px; height:82px; border:1px solid rgba(239,202,103,.5); border-radius:50%; display:grid; place-items:center; margin:0 auto 12px; color:var(--gold-2); font-size:26px; font-style:normal; }
.process-flow span { display:block; font-size:11px; color:rgba(255,255,255,.72); }

.conversion { background: linear-gradient(135deg,#fffaf1,#f0e6d5); overflow: hidden; }
.conversion-flag { position:absolute; inset:auto auto -130px -150px; width:600px; height:360px; background:url("assets/us-flag-wave.svg") center/cover; opacity:.035; transform:rotate(-8deg); }
.conversion-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:54px; align-items:center; position:relative; z-index:2; }
.conversion-copy h2 { font-size:clamp(34px,4vw,52px); line-height:1.07; letter-spacing:-.035em; margin:14px 0; }
.conversion-copy p { color:var(--muted); }
.conversion-actions { display:flex; gap:20px; margin-top:24px; flex-wrap:wrap; }
.inline-contact { color:var(--gold-3); font-weight:850; }
.lead-form { background:rgba(255,255,255,.83); border:1px solid #e1d3bb; border-radius:var(--radius); padding:32px; box-shadow:var(--shadow); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.lead-form label:not(.privacy-check) { display:block; margin-bottom:14px; }
.lead-form label > span { display:block; font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; color:#6d6458; margin-bottom:7px; }
.lead-form input, .lead-form select, .lead-form textarea { width:100%; border:1px solid #ded0b8; background:#fffdf9; border-radius:12px; padding:13px 14px; color:var(--ink); outline:none; }
.lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,149,36,.09); }
.privacy-check { display:flex; align-items:flex-start; gap:10px; margin:4px 0 16px; font-size:11px; color:#6e665b; }
.privacy-check input { width:auto; margin-top:3px; }
.form-submit { width:100%; }
.form-submit:disabled { opacity:.55; cursor:wait; }
.form-status { min-height:20px; margin:10px 0 0; font-size:12px; font-weight:700; color:var(--gold-3); }
.form-legal { font-size:9px; color:#938979; margin-bottom:0; }

.contact-section { background:#090909; color:white; padding:88px 0; }
.contact-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:50px; align-items:center; }
.contact-copy h2 { font-size:clamp(38px,4.5vw,58px); line-height:1; margin:14px 0 28px; }
.contact-list { display:grid; gap:20px; }
.contact-list > div { border-left:1px solid rgba(239,202,103,.3); padding-left:18px; }
.contact-list span { display:block; color:var(--gold-2); font-size:9px; text-transform:uppercase; letter-spacing:.12em; margin-bottom:6px; }
.contact-list a, .contact-list p { display:block; margin:2px 0; color:rgba(255,255,255,.76); font-size:13px; }
.contact-list small { color:var(--gold-2); font-size:9px; }
.contact-actions { display:flex; gap:10px; margin-top:28px; flex-wrap:wrap; }
.map-card { min-height:390px; position:relative; overflow:hidden; border-radius:var(--radius); border:1px solid rgba(239,202,103,.24); background:linear-gradient(135deg,#151515,#0b0b0b); }
.map-grid-lines { position:absolute; inset:-20%; background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:48px 48px; transform:rotate(17deg); }
.map-road { position:absolute; color:rgba(255,255,255,.27); font-size:10px; letter-spacing:.08em; }
.road-a{top:35%;left:14%;transform:rotate(67deg)}.road-b{top:20%;right:20%;transform:rotate(-17deg)}.road-c{bottom:18%;left:24%}
.map-pin { position:absolute; top:45%; left:48%; transform:translate(-20%,-30%); display:flex; gap:14px; align-items:flex-start; }
.map-pin > span { width:42px; height:42px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:var(--gold); color:#111; display:grid; place-items:center; box-shadow:0 10px 35px rgba(201,149,36,.2); }
.map-pin > span::first-letter { transform:rotate(45deg); }
.map-pin div { min-width:270px; padding:15px 17px; border-radius:12px; background:rgba(8,8,8,.87); border:1px solid rgba(239,202,103,.18); }
.map-pin strong, .map-pin small { display:block; }
.map-pin strong { color:var(--gold-2); font-size:12px; }
.map-pin small { color:rgba(255,255,255,.55); font-size:9px; margin-top:3px; }

.site-footer { background:#050505; color:white; border-top:1px solid rgba(239,202,103,.13); padding:46px 0 26px; }
.footer-grid { display:grid; grid-template-columns:1.4fr repeat(4,1fr); gap:30px; }
.footer-grid > div:not(.footer-brand) { display:flex; flex-direction:column; gap:8px; }
.footer-grid > div > strong { color:var(--gold-2); font-size:11px; text-transform:uppercase; letter-spacing:.1em; margin-bottom:4px; }
.footer-grid a, .footer-grid p { color:rgba(255,255,255,.52); font-size:10px; margin:0; }
.footer-brand p { max-width:270px; margin-top:18px; }
.footer-bottom { margin-top:38px; padding-top:18px; border-top:1px solid rgba(255,255,255,.08); display:flex; align-items:center; justify-content:space-between; gap:20px; color:rgba(255,255,255,.35); font-size:9px; }
.footer-bottom > a { width:34px; height:34px; border:1px solid rgba(239,202,103,.3); border-radius:50%; display:grid; place-items:center; color:var(--gold-2); }

.mobile-actions { display:none; }
.toast { position:fixed; right:20px; bottom:20px; z-index:130; max-width:360px; padding:14px 16px; border-radius:13px; background:#17140d; color:#f4df9c; border:1px solid rgba(239,202,103,.25); box-shadow:0 18px 50px rgba(0,0,0,.3); font-size:12px; transform:translateY(30px); opacity:0; pointer-events:none; transition:.25s ease; }
.toast.show { opacity:1; transform:translateY(0); }
.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 1100px) {
  .menu { gap:12px; font-size:10px; }
  .hero-grid { grid-template-columns:1fr .55fr; }
  .hero-art { min-height:430px; }
  .markets-grid, .contact-grid { grid-template-columns:1fr; }
  .market-us .market-content { margin-left:28%; }
  .split-panel { padding-inline:42px; }
  .process-flow { grid-template-columns:repeat(4,1fr); gap:26px 8px; }
  .process-flow div:nth-child(4)::after { display:none; }
  .footer-grid { grid-template-columns:1.3fr repeat(2,1fr); }
}

@media (max-width: 860px) {
  :root { --container:min(100% - 28px, 760px); }
  .topline { display:none; }
  .nav { min-height:68px; }
  .menu-toggle { display:block; }
  .menu { position:fixed; left:14px; right:14px; top:78px; display:none; flex-direction:column; align-items:stretch; gap:0; padding:16px; border-radius:18px; background:#0b0b0a; border:1px solid rgba(239,202,103,.18); box-shadow:0 30px 80px rgba(0,0,0,.45); }
  .menu.open { display:flex; }
  .menu > a, .nav-cta { padding:13px 12px; font-size:13px; text-align:left; border-bottom:1px solid rgba(255,255,255,.06); }
  .nav-cta { margin-top:8px; text-align:center; }
  .hero, .hero-grid { min-height:auto; }
  .hero-grid { grid-template-columns:1fr; padding-block:72px 130px; }
  .hero-art { position:absolute; inset:0; z-index:-1; opacity:.35; min-height:0; }
  .hero-us-word { right:-40px; bottom:100px; transform:none; font-size:150px; }
  .hero-flag-a { left:-280px; top:130px; opacity:.28; }
  .hero-proof { flex-wrap:wrap; }
  .hero-proof div { flex:1 1 30%; }
  .trust-grid { grid-template-columns:repeat(2,1fr); }
  .trust-grid > div:nth-child(2){border-right:0}.trust-grid > div:nth-child(-n+2){border-bottom:1px solid #eee1cc}
  .section-heading { grid-template-columns:1fr; gap:18px; }
  .pillar-grid, .about-grid, .passport-grid, .conversion-grid, .split-services { grid-template-columns:1fr; }
  .markets-grid { grid-template-columns:1fr; }
  .split-panel { min-height:500px; }
  .mission-grid { grid-template-columns:1fr; }
  .destination-row { grid-template-columns:repeat(2,1fr); }
  .visa-chip-grid { grid-template-columns:repeat(2,1fr); }
  .ciiu-grid { grid-template-columns:1fr; }
  .ciiu-grid div { border-right:0; border-bottom:1px solid #e4d6be; }
  .ciiu-grid div:last-child { border-bottom:0; }
  .footer-grid { grid-template-columns:repeat(2,1fr); }
  .footer-brand { grid-column:1/-1; }
  .mobile-actions { display:grid; position:fixed; left:9px; right:9px; bottom:9px; z-index:90; grid-template-columns:repeat(4,1fr); background:rgba(9,9,9,.96); border:1px solid rgba(239,202,103,.28); border-radius:16px; padding:6px; box-shadow:0 12px 40px rgba(0,0,0,.35); backdrop-filter:blur(12px); }
  .mobile-actions button, .mobile-actions a { border:0; background:none; color:white; min-height:51px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; border-right:1px solid rgba(255,255,255,.08); cursor:pointer; }
  .mobile-actions > :last-child { border-right:0; }
  .mobile-actions span { color:var(--gold-2); font-size:17px; }
  .mobile-actions small { font-size:8px; }
  .site-footer { padding-bottom:95px; }
  .toast { bottom:82px; left:14px; right:14px; max-width:none; }
}

@media (max-width: 600px) {
  :root { --container:calc(100% - 24px); --radius:19px; }
  .brand-copy strong { font-size:14px; }
  .brand-copy small { font-size:7px; }
  .brand-mark { width:42px; height:42px; }
  .hero-grid { padding-top:56px; }
  .hero h1 { font-size:43px; }
  .hero-lead { font-size:15px; }
  .hero-actions { grid-template-columns:1fr 1fr; }
  .btn { min-height:53px; font-size:11px; padding:10px; }
  .btn-icon { display:none; }
  .hero-proof div { flex-basis:45%; }
  .section { padding:72px 0; }
  .section-heading h2, .conversion-copy h2, .contact-copy h2 { font-size:35px; }
  .pillar-card { grid-template-columns:1fr; padding:26px; }
  .pillar-icon { width:64px; height:64px; }
  .market-media { width:100%; height:160px; inset:0 0 auto 0; }
  .market-us .market-content { margin-left:0; padding-top:185px; }
  .market-content { padding:26px; }
  .market-list.two-cols { grid-template-columns:1fr; }
  .destination-row { grid-template-columns:1fr 1fr; }
  .visa-chip-grid { grid-template-columns:1fr; }
  .visa-note { grid-template-columns:1fr; }
  .split-panel { padding:68px 24px; min-height:540px; }
  .split-panel h2 { font-size:40px; }
  .experience-grid, .form-row { grid-template-columns:1fr; }
  .purpose-quote { flex-direction:column; gap:8px; }
  .process-flow { grid-template-columns:repeat(2,1fr); }
  .process-flow div:nth-child(even)::after { display:none; }
  .lead-form { padding:22px; }
  .map-card { min-height:310px; }
  .map-pin { left:28%; }
  .map-pin div { min-width:220px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .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; }
  .reveal { opacity:1; transform:none; }
}


/* ==========================================================
   DAVISAS_FLOATING_WHATSAPP_V1
   WhatsApp flotante corporativo
   ========================================================== */

.floating-whatsapp {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 120;

  display: flex;
  align-items: center;
  gap: 10px;

  min-height: 58px;
  padding: 8px 16px 8px 9px;

  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;

  background: #25d366;
  color: #fff;

  box-shadow:
    0 18px 50px rgba(0,0,0,.30),
    0 7px 20px rgba(37,211,102,.20);

  text-decoration: none;

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}

.floating-whatsapp:hover {
  transform: translateY(-4px);
  background: #20bd5a;

  box-shadow:
    0 22px 60px rgba(0,0,0,.36),
    0 10px 28px rgba(37,211,102,.28);
}

.floating-whatsapp svg {
  position: relative;
  z-index: 2;

  width: 39px;
  height: 39px;

  flex: 0 0 39px;
}

.floating-whatsapp-label {
  position: relative;
  z-index: 2;

  display: flex;
  flex-direction: column;

  line-height: 1.05;
}

.floating-whatsapp-label strong {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .01em;
}

.floating-whatsapp-label small {
  margin-top: 3px;

  font-size: 9px;
  font-weight: 600;

  color: rgba(255,255,255,.78);
}

.floating-whatsapp-pulse {
  position: absolute;

  left: 27px;
  top: 50%;

  width: 42px;
  height: 42px;

  border-radius: 50%;

  background: rgba(37,211,102,.36);

  transform:
    translate(-50%, -50%)
    scale(1);

  animation:
    davisas-whatsapp-pulse
    2.2s ease-out infinite;

  pointer-events: none;
}

@keyframes davisas-whatsapp-pulse {
  0% {
    opacity: .8;
    transform:
      translate(-50%, -50%)
      scale(.82);
  }

  70% {
    opacity: 0;
    transform:
      translate(-50%, -50%)
      scale(1.65);
  }

  100% {
    opacity: 0;
  }
}


/* Móvil: se eleva sobre la barra de acciones */
@media (max-width: 760px) {

  .floating-whatsapp {
    right: 14px;
    bottom: 82px;

    width: 58px;
    height: 58px;
    min-height: 58px;

    padding: 9px;

    justify-content: center;
  }

  .floating-whatsapp-label {
    display: none;
  }

  .floating-whatsapp svg {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .floating-whatsapp-pulse {
    left: 50%;
  }
}


/* Respeta usuarios que reducen animaciones */
@media (prefers-reduced-motion: reduce) {

  .floating-whatsapp-pulse {
    animation: none;
  }

  .floating-whatsapp {
    transition: none;
  }
}



/* ==========================================================
   DAVISAS_HERO_REALISTIC_FLAGS_V2
   Bandera EE.UU. con textura y pliegues realistas.
   ========================================================== */

.hero-flag {
  background-image:
    url("assets/us-flag-realistic.svg?v=2");

  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;

  pointer-events: none;
  transform-origin: center;

  filter:
    saturate(1.08)
    contrast(1.04)
    drop-shadow(
      0 28px 45px
      rgba(0, 0, 0, .40)
    );
}


/*
 * Bandera principal.
 * Se mantiene intensa en el lateral y
 * desaparece gradualmente detrás del texto.
 */
.hero-flag-a {
  width: 1040px;
  height: 548px;

  left: -365px;
  top: 48px;

  opacity: .68;

  transform:
    perspective(1200px)
    rotateY(-5deg)
    rotateZ(-7deg);

  -webkit-mask-image:
    linear-gradient(
      90deg,
      #000 0%,
      #000 48%,
      rgba(0,0,0,.80) 65%,
      rgba(0,0,0,.24) 84%,
      transparent 100%
    );

  mask-image:
    linear-gradient(
      90deg,
      #000 0%,
      #000 48%,
      rgba(0,0,0,.80) 65%,
      rgba(0,0,0,.24) 84%,
      transparent 100%
    );

  animation:
    davisasFlagNaturalA
    12s ease-in-out infinite alternate;
}


/*
 * Segunda bandera más discreta.
 */
.hero-flag-b {
  width: 700px;
  height: 370px;

  right: -235px;
  bottom: 28px;

  opacity: .31;

  transform:
    perspective(1100px)
    rotateY(7deg)
    rotateZ(9deg);

  -webkit-mask-image:
    linear-gradient(
      270deg,
      #000 0%,
      #000 50%,
      rgba(0,0,0,.60) 73%,
      transparent 100%
    );

  mask-image:
    linear-gradient(
      270deg,
      #000 0%,
      #000 50%,
      rgba(0,0,0,.60) 73%,
      transparent 100%
    );

  animation:
    davisasFlagNaturalB
    15s ease-in-out infinite alternate;
}


@keyframes davisasFlagNaturalA {

  from {
    transform:
      perspective(1200px)
      translate3d(-10px, 0, 0)
      rotateY(-5deg)
      rotateZ(-7deg)
      scale(1);
  }

  to {
    transform:
      perspective(1200px)
      translate3d(18px, 10px, 0)
      rotateY(-2deg)
      rotateZ(-5.5deg)
      scale(1.025);
  }
}


@keyframes davisasFlagNaturalB {

  from {
    transform:
      perspective(1100px)
      translate3d(0, 0, 0)
      rotateY(7deg)
      rotateZ(9deg);
  }

  to {
    transform:
      perspective(1100px)
      translate3d(-22px, -9px, 0)
      rotateY(4deg)
      rotateZ(7deg)
      scale(1.035);
  }
}


/*
 * El proceso ahora tiene siete etapas.
 */
.process-flow {
  grid-template-columns:
    repeat(7, 1fr);
}


/*
 * Barra móvil:
 * Cita virtual + presencial + WhatsApp.
 * Ya no existe Pago.
 */
@media (max-width: 760px) {

  .mobile-actions {
    grid-template-columns:
      repeat(3, 1fr);
  }

  .hero-flag-a {
    width: 830px;
    height: 438px;

    left: -440px;
    top: 120px;

    opacity: .52;
  }

  .hero-flag-b {
    width: 520px;
    height: 275px;

    right: -320px;
    bottom: 120px;

    opacity: .20;
  }
}


/*
 * Mantener distribución responsive
 * del proceso comercial.
 */
@media (
  min-width: 761px
) and (
  max-width: 1100px
) {

  .process-flow {
    grid-template-columns:
      repeat(4, 1fr);
  }
}


@media (prefers-reduced-motion: reduce) {

  .hero-flag-a,
  .hero-flag-b {
    animation: none;
  }
}

/* ==========================================================
   DAVISAS_HERO_FLAG_IMAGE_FINAL_V1
   Reemplazo de banderas del hero por PNG real
   ========================================================== */

.hero-shell,
.hero {
  overflow: hidden;
}

.hero-flag {
  position: absolute;
  display: block;
  height: auto;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
  z-index: 0;
  background: none !important;
  box-shadow: none !important;
  filter: drop-shadow(0 18px 36px rgba(0, 0, 0, 0.35));
}

.hero-flag-a {
  width: min(44vw, 620px);
  left: -4vw;
  top: 84px;
  transform: rotate(-8deg);
  opacity: 0.96;
}

.hero-flag-b {
  width: min(26vw, 360px);
  right: -4vw;
  bottom: 24px;
  transform: scaleX(-1) rotate(-10deg);
  opacity: 0.20;
}

.hero-grid,
.hero-copy,
.hero-art {
  position: relative;
  z-index: 2;
}

.hero-art {
  z-index: 1;
}

@media (max-width: 1100px) {
  .hero-flag-a {
    width: min(52vw, 520px);
    left: -10vw;
    top: 96px;
  }

  .hero-flag-b {
    width: min(34vw, 280px);
    right: -10vw;
    bottom: 12px;
    opacity: 0.14;
  }
}

@media (max-width: 768px) {
  .hero-flag-a {
    width: 92vw;
    left: -22vw;
    top: 120px;
    opacity: 0.28;
    transform: rotate(-10deg);
  }

  .hero-flag-b {
    width: 56vw;
    right: -18vw;
    bottom: 56px;
    opacity: 0.10;
  }
}


/* ==========================================================
   DAVISAS_HERO_FLAG_POLISH_V3
   Composición final bandera realista
   ========================================================== */

/*
 * Solo queda una bandera.
 */
.hero-flag-b {
  display: none !important;
}


/*
 * Bandera principal escritorio.
 * Se integra desde el extremo izquierdo
 * sin competir con el copy.
 */
.hero-flag-a {
  position: absolute;

  width: 760px;
  max-width: 47vw;
  height: auto;

  left: -250px;
  top: 90px;

  z-index: 0;

  opacity: .48;

  transform:
    rotate(-5deg);

  filter:
    saturate(.92)
    brightness(.78)
    contrast(1.02)
    drop-shadow(
      0 28px 50px
      rgba(0,0,0,.40)
    );

  -webkit-mask-image:
    linear-gradient(
      90deg,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,.95) 38%,
      rgba(0,0,0,.68) 59%,
      rgba(0,0,0,.22) 78%,
      transparent 100%
    );

  mask-image:
    linear-gradient(
      90deg,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,.95) 38%,
      rgba(0,0,0,.68) 59%,
      rgba(0,0,0,.22) 78%,
      transparent 100%
    );
}


/*
 * Copy siempre por encima.
 */
.hero-copy {
  position: relative;
  z-index: 3;
}


/*
 * Hero art derecho.
 */
.hero-art {
  position: relative;
  z-index: 2;
}


/*
 * El proceso ahora tiene 7 pasos reales.
 */
.process-flow {
  grid-template-columns:
    repeat(7, minmax(0, 1fr));
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1100px) {

  .hero-flag-a {
    width: 620px;
    max-width: 58vw;

    left: -260px;
    top: 125px;

    opacity: .40;
  }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 760px) {

  /*
   * La bandera se convierte en textura de fondo,
   * no en un objeto encima del texto.
   */
  .hero-flag-a {
    width: 570px;
    max-width: none;

    left: -315px;
    top: 165px;

    opacity: .23;

    transform:
      rotate(-5deg);

    filter:
      saturate(.88)
      brightness(.65)
      contrast(1.02);

    -webkit-mask-image:
      linear-gradient(
        90deg,
        rgba(0,0,0,.95) 0%,
        rgba(0,0,0,.74) 35%,
        rgba(0,0,0,.34) 62%,
        transparent 88%
      );

    mask-image:
      linear-gradient(
        90deg,
        rgba(0,0,0,.95) 0%,
        rgba(0,0,0,.74) 35%,
        rgba(0,0,0,.34) 62%,
        transparent 88%
      );
  }


  /*
   * Evitamos el enorme vacío que estaba dejando
   * la composición USA en teléfonos.
   */
  .hero-art {
    min-height: 310px !important;
    height: 310px !important;

    margin-top: 20px;
  }


  .hero-us-word {
    font-size:
      clamp(
        90px,
        26vw,
        138px
      );
  }


  .hero-badge {
    left: 8px;
    bottom: 34px;

    max-width: 245px;
  }


  /*
   * Proceso limpio en móvil.
   */
  .process-flow {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 28px 18px;
  }

}


/*
 * Teléfonos pequeños.
 */
@media (max-width: 480px) {

  .hero-art {
    min-height: 250px !important;
    height: 250px !important;
  }

  .hero-flag-a {
    left: -345px;
    top: 175px;

    opacity: .20;
  }

}



/* ==========================================================
   DAVISAS_VISA_SHOWCASE_V1
   Contenedores de visas internacionales
   ========================================================== */

.visa-showcase {
  position: relative;

  overflow: hidden;

  padding-top: 110px;
  padding-bottom: 120px;

  background:
    radial-gradient(
      circle at 88% 12%,
      rgba(218, 166, 45, .10),
      transparent 25%
    ),
    #080909;

  color: #fff;
}


.visa-showcase-stars {
  position: absolute;
  inset: 0;

  pointer-events: none;

  opacity: .16;

  background-image:
    url("assets/us-stars-pattern.svg");

  background-size: 520px auto;

  mask-image:
    linear-gradient(
      90deg,
      transparent,
      #000 25%,
      #000 100%
    );
}


.visa-showcase-heading {
  position: relative;
  z-index: 2;

  display: grid;

  grid-template-columns:
    minmax(0, 1.15fr)
    minmax(280px, .65fr);

  gap: 70px;

  align-items: end;

  margin-bottom: 62px;
}


.visa-showcase-heading h2 {
  max-width: 760px;
  margin: 12px 0 0;

  font-size:
    clamp(
      38px,
      4.7vw,
      72px
    );

  line-height: .98;
}


.visa-showcase-heading > p {
  max-width: 470px;

  margin: 0;

  color: rgba(255,255,255,.67);

  line-height: 1.75;
}


/* ==========================================================
   PANEL
   ========================================================== */

.visa-showcase-list {
  position: relative;
  z-index: 2;

  display: grid;

  gap: 26px;
}


.visa-country-panel {
  position: relative;

  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(420px, .82fr);

  gap: 70px;

  align-items: center;

  min-height: 545px;

  padding:
    58px
    clamp(42px, 5vw, 78px);

  overflow: hidden;

  border:
    1px solid
    rgba(219, 170, 54, .20);

  border-radius: 34px;

  background:
    radial-gradient(
      circle at 80% 50%,
      rgba(214, 161, 36, .12),
      transparent 32%
    ),
    linear-gradient(
      135deg,
      #101111,
      #080909
    );

  box-shadow:
    0 30px 100px
    rgba(0,0,0,.24);
}


.visa-country-panel::before {
  content: "";

  position: absolute;

  width: 340px;
  height: 340px;

  right: -80px;
  top: -150px;

  border-radius: 50%;

  border:
    1px solid
    rgba(219,170,54,.13);
}


.visa-country-panel::after {
  content: "";

  position: absolute;

  left: 0;
  top: 54px;

  width: 3px;
  height: 80px;

  background:
    linear-gradient(
      #efbd3d,
      rgba(239,189,61,0)
    );
}


/* Alterna visual y copy */
.visa-country-reverse
.visa-country-copy {
  order: 2;
}


.visa-country-reverse
.visa-document-wrap {
  order: 1;
}


/* ==========================================================
   COPY
   ========================================================== */

.visa-country-copy {
  position: relative;
  z-index: 3;

  max-width: 650px;
}


.visa-country-index {
  display: block;

  margin-bottom: 18px;

  color: #e6b53c;

  font-size: 11px;
  font-weight: 800;

  letter-spacing: .18em;
  text-transform: uppercase;
}


.visa-country-code {
  display: inline-grid;
  place-items: center;

  min-width: 52px;
  height: 30px;

  margin-bottom: 22px;

  padding: 0 13px;

  border:
    1px solid
    rgba(233,183,57,.28);

  border-radius: 999px;

  color: #e9b739;

  font-size: 11px;
  font-weight: 900;

  letter-spacing: .18em;
}


.visa-country-copy h3 {
  max-width: 650px;

  margin: 0 0 20px;

  font-size:
    clamp(
      42px,
      4.5vw,
      72px
    );

  line-height: .96;

  letter-spacing: -.04em;
}


.visa-country-copy h3 em {
  display: block;

  color: #e8b63c;

  font-style: normal;
}


.visa-country-copy > p {
  max-width: 610px;

  margin:
    0
    0
    26px;

  color:
    rgba(
      255,
      255,
      255,
      .68
    );

  line-height: 1.72;
}


.visa-country-tags {
  display: flex;
  flex-wrap: wrap;

  gap: 8px;

  margin-bottom: 30px;
}


.visa-country-tags span {
  padding:
    8px
    12px;

  border:
    1px solid
    rgba(255,255,255,.10);

  border-radius: 999px;

  background:
    rgba(255,255,255,.035);

  color:
    rgba(255,255,255,.72);

  font-size: 10px;

  letter-spacing: .04em;
}


/* ==========================================================
   VISA REAL / PLACEHOLDER
   ========================================================== */

.visa-document-wrap {
  position: relative;

  display: grid;

  place-items: center;

  min-height: 410px;
}


.visa-document-glow {
  position: absolute;

  width: 330px;
  height: 330px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(228,175,48,.20),
      rgba(228,175,48,.04) 45%,
      transparent 70%
    );

  filter: blur(4px);
}


.visa-document {
  position: relative;

  width:
    min(
      100%,
      440px
    );

  min-height: 295px;

  display: grid;

  place-items: center;

  transform:
    perspective(1000px)
    rotateY(-5deg)
    rotateZ(2deg);

  transition:
    transform .45s ease;
}


.visa-country-reverse
.visa-document {
  transform:
    perspective(1000px)
    rotateY(5deg)
    rotateZ(-2deg);
}


.visa-country-panel:hover
.visa-document {
  transform:
    perspective(1000px)
    rotateY(0)
    rotateZ(0)
    translateY(-7px);
}


.visa-real-image {
  position: relative;
  z-index: 3;

  display: block;

  width: 100%;
  max-height: 355px;

  object-fit: contain;

  filter:
    drop-shadow(
      0 26px 35px
      rgba(0,0,0,.48)
    );
}


.visa-document-placeholder {
  position: absolute;
  z-index: 1;

  inset: 0;

  display: grid;

  place-content: center;

  text-align: center;

  border:
    1px solid
    rgba(220,171,53,.28);

  border-radius: 22px;

  background:
    linear-gradient(
      145deg,
      rgba(34,30,20,.95),
      rgba(12,12,12,.96)
    );

  box-shadow:
    0 26px 70px
    rgba(0,0,0,.35);

  color: #e9b739;
}


.visa-document-placeholder span {
  margin-bottom: 8px;

  font-size: 12px;
  font-weight: 900;

  letter-spacing: .24em;
}


.visa-document-placeholder strong {
  display: block;

  margin-bottom: 15px;

  font-size: 46px;

  letter-spacing: .12em;
}


.visa-document-placeholder small {
  color:
    rgba(255,255,255,.48);

  font-size: 10px;

  line-height: 1.55;
}


/*
 * Cuando no existe aún la imagen,
 * dejamos visible el placeholder.
 */
.visa-document.is-missing
.visa-real-image {
  display: none;
}


/*
 * Cuando carga una imagen real,
 * el placeholder desaparece.
 */
.visa-document.has-image
.visa-document-placeholder {
  opacity: 0;
  visibility: hidden;
}


/* ==========================================================
   COLOR SUTIL POR DESTINO
   ========================================================== */

.visa-country-us {
  --visa-accent: #b22234;
}


.visa-country-ca {
  --visa-accent: #d7252b;
}


.visa-country-gb {
  --visa-accent: #314a8a;
}


.visa-country-au {
  --visa-accent: #24558d;
}


.visa-country-panel
.visa-document::after {
  content: "";

  position: absolute;
  z-index: 0;

  width: 72%;
  height: 70%;

  border-radius: 50%;

  background:
    var(
      --visa-accent,
      #d5a62c
    );

  opacity: .10;

  filter:
    blur(55px);
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1050px) {

  .visa-showcase-heading {
    grid-template-columns: 1fr;

    gap: 24px;
  }


  .visa-country-panel {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(320px, .8fr);

    gap: 36px;

    padding: 48px 38px;
  }


  .visa-country-copy h3 {
    font-size:
      clamp(
        38px,
        5vw,
        58px
      );
  }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 760px) {

  .visa-showcase {
    padding-top: 78px;
    padding-bottom: 86px;
  }


  .visa-showcase-heading {
    margin-bottom: 36px;
  }


  .visa-showcase-heading h2 {
    font-size:
      clamp(
        34px,
        10vw,
        48px
      );
  }


  .visa-country-panel {
    grid-template-columns: 1fr;

    min-height: 0;

    gap: 20px;

    padding:
      36px
      22px
      30px;

    border-radius: 24px;
  }


  .visa-country-copy,
  .visa-country-reverse
  .visa-country-copy {
    order: 1;
  }


  .visa-document-wrap,
  .visa-country-reverse
  .visa-document-wrap {
    order: 2;
  }


  .visa-country-copy h3 {
    font-size:
      clamp(
        38px,
        12vw,
        54px
      );
  }


  .visa-document-wrap {
    min-height: 300px;
  }


  .visa-document {
    width: min(90%, 390px);

    min-height: 250px;

    transform:
      rotate(-2deg);
  }


  .visa-country-reverse
  .visa-document {
    transform:
      rotate(2deg);
  }


  .visa-real-image {
    max-height: 300px;
  }

}



/* DAVISAS_HERO_VISAS_FAN_V2_START */
.hero-flag,
.hero-flag-a,
.hero-flag-b {
  display: none !important;
}

.hero-art {
  min-height: 580px;
  position: relative;
  display: grid;
  place-items: center;
}

.hero-us-word {
  right: -10px;
  font-size: clamp(120px, 15vw, 220px);
  opacity: .55;
}

.hero-visa-fan {
  position: relative;
  width: min(560px, 100%);
  height: 430px;
  margin: 0 auto;
  z-index: 2;
}

.hero-visa-card {
  position: absolute;
  left: 50%;
  bottom: 74px;
  width: 170px;
  transform-origin: bottom center;
  filter: drop-shadow(0 22px 40px rgba(0,0,0,.42));
}

.hero-visa-card img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.hero-visa-card.card-ve { transform: translateX(-228px) rotate(-23deg); z-index: 1; }
.hero-visa-card.card-us { transform: translateX(-118px) rotate(-12deg); z-index: 2; }
.hero-visa-card.card-ca { transform: translateX(-8px)   rotate(-2deg);  z-index: 3; }
.hero-visa-card.card-uk { transform: translateX(104px)  rotate(9deg);   z-index: 2; }
.hero-visa-card.card-au { transform: translateX(216px)  rotate(21deg);  z-index: 1; }

.hero-badge {
  z-index: 3;
  max-width: 350px;
}

.passport-art {
  min-height: 360px;
  display: grid;
  place-items: center;
}

.passport-card-image {
  width: 100%;
  display: grid;
  place-items: center;
}

.passport-card-image img {
  width: min(280px, 90%);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(-18px 24px 60px rgba(0,0,0,.45));
}

@media (max-width: 1100px) {
  .hero-art {
    min-height: 460px;
  }

  .hero-visa-fan {
    width: min(450px, 100%);
    height: 350px;
  }

  .hero-visa-card {
    width: 140px;
    bottom: 62px;
  }

  .hero-visa-card.card-ve { transform: translateX(-170px) rotate(-20deg); }
  .hero-visa-card.card-us { transform: translateX(-88px)  rotate(-11deg); }
  .hero-visa-card.card-ca { transform: translateX(-6px)   rotate(-2deg); }
  .hero-visa-card.card-uk { transform: translateX(78px)   rotate(8deg); }
  .hero-visa-card.card-au { transform: translateX(160px)  rotate(18deg); }
}

@media (max-width: 900px) {
  .hero-grid {
    grid-template-columns: 1fr !important;
  }

  .hero-art {
    position: relative !important;
    inset: auto !important;
    opacity: 1 !important;
    z-index: 0 !important;
    min-height: 340px;
    margin-top: 18px;
  }

  .hero-us-word {
    font-size: 108px;
    right: 0;
    bottom: 30px;
    transform: none;
  }

  .hero-visa-fan {
    width: min(360px, 100%);
    height: 280px;
  }

  .hero-visa-card {
    width: 112px;
    bottom: 48px;
  }

  .hero-visa-card.card-ve { transform: translateX(-128px) rotate(-18deg); }
  .hero-visa-card.card-us { transform: translateX(-66px)  rotate(-10deg); }
  .hero-visa-card.card-ca { transform: translateX(-4px)   rotate(-2deg); }
  .hero-visa-card.card-uk { transform: translateX(58px)   rotate(8deg); }
  .hero-visa-card.card-au { transform: translateX(120px)  rotate(16deg); }

  .hero-badge {
    position: relative;
    left: auto;
    bottom: auto;
    margin-top: 10px;
  }
}

@media (max-width: 560px) {
  .hero-actions {
    grid-template-columns: 1fr;
  }

  .hero-proof div {
    flex: 1 1 100%;
    margin-right: 0;
    padding-right: 0;
    border-right: 0;
    padding-top: 14px;
  }

  .hero-art {
    min-height: 290px;
  }

  .hero-visa-fan {
    height: 230px;
  }

  .hero-visa-card {
    width: 88px;
    bottom: 35px;
  }

  .hero-visa-card.card-ve { transform: translateX(-100px) rotate(-18deg); }
  .hero-visa-card.card-us { transform: translateX(-52px)  rotate(-10deg); }
  .hero-visa-card.card-ca { transform: translateX(-2px)   rotate(-2deg); }
  .hero-visa-card.card-uk { transform: translateX(46px)   rotate(8deg); }
  .hero-visa-card.card-au { transform: translateX(94px)   rotate(15deg); }

  .passport-card-image img {
    width: min(230px, 88%);
  }
}
/* DAVISAS_HERO_VISAS_FAN_V2_END */

/* DAVISAS_HERO_CENTERED_V3_START */


/* ==========================================================
   HERO BASE
   ========================================================== */

.hero-centered {
  position: relative;

  min-height: 760px;

  overflow: hidden;

  background:
    radial-gradient(
      circle at 50% 53%,
      rgba(205, 153, 37, .13),
      transparent 35%
    ),
    linear-gradient(
      180deg,
      #0c0d0d 0%,
      #050606 100%
    );

  color: #fff;
}


/* ==========================================================
   BANDERAS FONDO
   ========================================================== */

.hero-bg-flag {
  position: absolute;

  z-index: 0;

  width: 590px;
  height: auto;

  pointer-events: none;
  user-select: none;

  opacity: .16;

  filter:
    brightness(.62)
    saturate(.88)
    contrast(1.04);

  -webkit-mask-image:
    radial-gradient(
      ellipse at center,
      #000 20%,
      rgba(0,0,0,.8) 48%,
      transparent 78%
    );

  mask-image:
    radial-gradient(
      ellipse at center,
      #000 20%,
      rgba(0,0,0,.8) 48%,
      transparent 78%
    );
}


.hero-bg-flag-left {
  left: -270px;
  top: 120px;

  transform:
    rotate(-9deg);
}


.hero-bg-flag-right {
  right: -290px;
  top: 145px;

  transform:
    scaleX(-1)
    rotate(-8deg);

  opacity: .11;
}


/* ==========================================================
   CONTENIDO CENTRAL
   ========================================================== */

.hero-centered-inner {
  position: relative;

  z-index: 3;

  display: flex;
  flex-direction: column;
  align-items: center;

  padding-top: 76px;
  padding-bottom: 110px;

  text-align: center;
}


.hero-centered-copy {
  width: min(
    100%,
    850px
  );

  margin-inline: auto;
}


.hero-centered-copy .eyebrow {
  justify-content: center;
}


.hero-centered-copy h1 {
  max-width: 850px;

  margin:
    18px auto
    20px;

  font-size:
    clamp(
      56px,
      6vw,
      92px
    );

  line-height: .92;

  letter-spacing: -.055em;
}


.hero-centered-copy h1 em {
  display: inline;

  color: var(--gold-2);

  font-style: normal;
}


.hero-centered-copy .hero-lead {
  max-width: 790px;

  margin-inline: auto;

  font-size:
    clamp(
      15px,
      1.35vw,
      18px
    );

  line-height: 1.65;

  color:
    rgba(
      255,
      255,
      255,
      .70
    );
}


.hero-centered-copy .hero-slogan {
  margin-top: 16px;

  color: var(--gold-2);

  font-size: 12px;
}


/* ==========================================================
   ABANICO
   ========================================================== */

.hero-visa-fan-centered {
  position: relative;

  width: 620px;
  max-width: 90vw;

  height: 270px;

  margin:
    28px auto
    6px;
}


.hero-visa-fan-centered
.hero-visa-card {
  position: absolute;

  left: 50%;
  bottom: 10px;

  width: 150px;

  transform-origin:
    center bottom;

  transition:
    transform .35s ease,
    filter .35s ease;

  filter:
    drop-shadow(
      0
      23px
      28px
      rgba(0,0,0,.52)
    );
}


.hero-visa-fan-centered
.hero-visa-card img {
  display: block;

  width: 100%;
  height: auto;

  object-fit: contain;
}


/* Venezuela */
.hero-visa-fan-centered
.card-ve {
  z-index: 1;

  transform:
    translateX(-270px)
    translateY(28px)
    rotate(-23deg);
}


/* USA */
.hero-visa-fan-centered
.card-us {
  z-index: 2;

  transform:
    translateX(-170px)
    translateY(7px)
    rotate(-12deg);
}


/* Canadá central */
.hero-visa-fan-centered
.card-ca {
  z-index: 4;

  transform:
    translateX(-75px)
    translateY(-3px)
    rotate(0deg);
}


/* UK */
.hero-visa-fan-centered
.card-uk {
  z-index: 3;

  transform:
    translateX(25px)
    translateY(7px)
    rotate(11deg);
}


/* Australia */
.hero-visa-fan-centered
.card-au {
  z-index: 1;

  transform:
    translateX(125px)
    translateY(28px)
    rotate(22deg);
}


/* Hover sobrio */

.hero-visa-fan-centered
.hero-visa-card:hover {
  z-index: 10;

  filter:
    drop-shadow(
      0
      30px
      38px
      rgba(0,0,0,.62)
    );
}


/* ==========================================================
   BOTONES
   ========================================================== */

.hero-actions-centered {
  width:
    min(
      100%,
      610px
    );

  display: grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );

  gap: 12px;

  margin:
    4px auto
    0;
}


/* ==========================================================
   DESTINOS
   ========================================================== */

.hero-destinations {
  display: flex;
  flex-wrap: wrap;

  justify-content: center;
  align-items: center;

  gap: 9px;

  margin-top: 24px;

  color:
    rgba(
      255,
      255,
      255,
      .44
    );

  font-size: 10px;

  font-weight: 700;

  letter-spacing: .10em;

  text-transform: uppercase;
}


.hero-destinations i {
  color: var(--gold);
}


/* ==========================================================
   DECORACIÓN
   ========================================================== */

.hero-centered
.hero-routes {
  opacity: .52;
}


.hero-centered
.hero-wave {
  bottom: -70px;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

  .hero-centered {
    min-height: auto;
  }


  .hero-centered-inner {
    padding-top: 65px;
    padding-bottom: 120px;
  }


  .hero-centered-copy h1 {
    font-size:
      clamp(
        48px,
        9vw,
        72px
      );
  }


  .hero-bg-flag {
    width: 460px;
  }


  .hero-bg-flag-left {
    left: -310px;
  }


  .hero-bg-flag-right {
    right: -315px;
  }


  .hero-visa-fan-centered {
    width: 520px;
    height: 235px;
  }


  .hero-visa-fan-centered
  .hero-visa-card {
    width: 125px;
  }


  .hero-visa-fan-centered
  .card-ve {
    transform:
      translateX(-220px)
      translateY(26px)
      rotate(-21deg);
  }


  .hero-visa-fan-centered
  .card-us {
    transform:
      translateX(-140px)
      translateY(8px)
      rotate(-11deg);
  }


  .hero-visa-fan-centered
  .card-ca {
    transform:
      translateX(-63px)
      rotate(0deg);
  }


  .hero-visa-fan-centered
  .card-uk {
    transform:
      translateX(18px)
      translateY(8px)
      rotate(10deg);
  }


  .hero-visa-fan-centered
  .card-au {
    transform:
      translateX(98px)
      translateY(25px)
      rotate(20deg);
  }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

  .hero-centered-inner {
    padding-top: 54px;
    padding-bottom: 105px;
  }


  .hero-centered-copy {
    padding-inline: 8px;
  }


  .hero-centered-copy h1 {
    margin-top: 14px;

    font-size:
      clamp(
        43px,
        13.5vw,
        58px
      );

    line-height: .94;
  }


  .hero-centered-copy .hero-lead {
    font-size: 14px;

    line-height: 1.58;
  }


  .hero-bg-flag {
    width: 390px;

    opacity: .13;
  }


  .hero-bg-flag-left {
    left: -285px;
    top: 225px;
  }


  .hero-bg-flag-right {
    right: -290px;
    top: 245px;
  }


  .hero-visa-fan-centered {
    width: 340px;
    height: 178px;

    margin-top: 25px;
  }


  .hero-visa-fan-centered
  .hero-visa-card {
    width: 88px;
  }


  .hero-visa-fan-centered
  .card-ve {
    transform:
      translateX(-142px)
      translateY(20px)
      rotate(-20deg);
  }


  .hero-visa-fan-centered
  .card-us {
    transform:
      translateX(-91px)
      translateY(7px)
      rotate(-10deg);
  }


  .hero-visa-fan-centered
  .card-ca {
    transform:
      translateX(-44px)
      rotate(0deg);
  }


  .hero-visa-fan-centered
  .card-uk {
    transform:
      translateX(5px)
      translateY(7px)
      rotate(9deg);
  }


  .hero-visa-fan-centered
  .card-au {
    transform:
      translateX(55px)
      translateY(20px)
      rotate(19deg);
  }


  .hero-actions-centered {
    grid-template-columns: 1fr;

    width: 100%;

    max-width: 390px;
  }


  .hero-destinations {
    max-width: 340px;

    line-height: 1.7;
  }

}


/* DAVISAS_HERO_CENTERED_V3_END */

/* DAVISAS_HERO_V4_OVERRIDE_START */


/* ==========================================================
   HERO - MÁS ESPACIO VERTICAL
   ========================================================== */

.hero-centered {
  min-height: 900px;
}


.hero-centered-inner {
  padding-top: 76px;
  padding-bottom: 140px;
}


/* ==========================================================
   BANDERAS EEUU
   Más grandes, visibles y detrás del contenido
   ========================================================== */

.hero-bg-flag {
  width: 1020px;

  opacity: .27;

  filter:
    brightness(.62)
    saturate(.92)
    contrast(1.04);

  -webkit-mask-image:
    radial-gradient(
      ellipse at center,
      rgba(0,0,0,1) 15%,
      rgba(0,0,0,.92) 50%,
      rgba(0,0,0,.48) 72%,
      transparent 94%
    );

  mask-image:
    radial-gradient(
      ellipse at center,
      rgba(0,0,0,1) 15%,
      rgba(0,0,0,.92) 50%,
      rgba(0,0,0,.48) 72%,
      transparent 94%
    );
}


.hero-bg-flag-left {
  left: -435px;
  top: 110px;

  transform:
    rotate(-8deg);
}


.hero-bg-flag-right {
  right: -455px;
  top: 125px;

  transform:
    scaleX(-1)
    rotate(-7deg);

  opacity: .23;
}


/* Texto siempre por encima */
.hero-centered-copy {
  position: relative;
  z-index: 5;
}


/* ==========================================================
   ABANICO
   ========================================================== */

.hero-visa-fan-centered {
  width: 650px;
  max-width: 92vw;

  height: 330px;

  margin:
    34px auto
    34px;
}


/*
 * Levantamos todas las visas dentro
 * de su propio contenedor.
 */
.hero-visa-fan-centered
.hero-visa-card {
  width: 138px;

  bottom: 70px;
}


/* Venezuela */
.hero-visa-fan-centered
.card-ve {
  transform:
    translateX(-250px)
    translateY(10px)
    rotate(-22deg);
}


/* Estados Unidos */
.hero-visa-fan-centered
.card-us {
  transform:
    translateX(-147px)
    translateY(0)
    rotate(-11deg);
}


/* Canadá */
.hero-visa-fan-centered
.card-ca {
  transform:
    translateX(-48px)
    translateY(-8px)
    rotate(0deg);
}


/* Reino Unido */
.hero-visa-fan-centered
.card-uk {
  transform:
    translateX(50px)
    translateY(0)
    rotate(11deg);
}


/* Australia */
.hero-visa-fan-centered
.card-au {
  transform:
    translateX(148px)
    translateY(10px)
    rotate(22deg);
}


/* ==========================================================
   BOTONES
   ========================================================== */

.hero-actions-centered {
  position: relative;

  z-index: 6;

  margin-top: 0;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

  .hero-centered {
    min-height: auto;
  }


  .hero-centered-inner {
    padding-bottom: 125px;
  }


  .hero-bg-flag {
    width: 800px;

    opacity: .22;
  }


  .hero-bg-flag-left {
    left: -470px;
    top: 150px;
  }


  .hero-bg-flag-right {
    right: -490px;
    top: 165px;

    opacity: .19;
  }


  .hero-visa-fan-centered {
    width: 540px;
    height: 285px;

    margin-bottom: 30px;
  }


  .hero-visa-fan-centered
  .hero-visa-card {
    width: 116px;

    bottom: 58px;
  }


  .hero-visa-fan-centered
  .card-ve {
    transform:
      translateX(-205px)
      translateY(10px)
      rotate(-20deg);
  }


  .hero-visa-fan-centered
  .card-us {
    transform:
      translateX(-122px)
      translateY(0)
      rotate(-10deg);
  }


  .hero-visa-fan-centered
  .card-ca {
    transform:
      translateX(-41px)
      translateY(-6px);
  }


  .hero-visa-fan-centered
  .card-uk {
    transform:
      translateX(39px)
      translateY(0)
      rotate(10deg);
  }


  .hero-visa-fan-centered
  .card-au {
    transform:
      translateX(119px)
      translateY(10px)
      rotate(20deg);
  }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

  .hero-centered-inner {
    padding-bottom: 110px;
  }


  /*
   * Las banderas siguen grandes,
   * pero más oscuras para conservar lectura.
   */
  .hero-bg-flag {
    width: 650px;

    opacity: .18;

    filter:
      brightness(.52)
      saturate(.85);
  }


  .hero-bg-flag-left {
    left: -485px;
    top: 190px;
  }


  .hero-bg-flag-right {
    right: -500px;
    top: 230px;

    opacity: .15;
  }


  .hero-visa-fan-centered {
    width: 360px;

    height: 235px;

    margin:
      25px auto
      30px;
  }


  .hero-visa-fan-centered
  .hero-visa-card {
    width: 90px;

    bottom: 50px;
  }


  .hero-visa-fan-centered
  .card-ve {
    transform:
      translateX(-142px)
      translateY(9px)
      rotate(-19deg);
  }


  .hero-visa-fan-centered
  .card-us {
    transform:
      translateX(-84px)
      translateY(0)
      rotate(-10deg);
  }


  .hero-visa-fan-centered
  .card-ca {
    transform:
      translateX(-28px)
      translateY(-5px);
  }


  .hero-visa-fan-centered
  .card-uk {
    transform:
      translateX(28px)
      translateY(0)
      rotate(10deg);
  }


  .hero-visa-fan-centered
  .card-au {
    transform:
      translateX(86px)
      translateY(9px)
      rotate(19deg);
  }


  .hero-actions-centered {
    margin-top: 0;
  }

}


/* DAVISAS_HERO_V4_OVERRIDE_END */

/* DAVISAS_MOBILE_FLAGS_V5_START */

/*
 * SOLO RESPONSIVE.
 * Escritorio queda intacto.
 */
@media (max-width: 600px) {

  /*
   * Las hacemos visibles desde ambos laterales.
   */
  .hero-bg-flag {
    width: 610px;
    max-width: none;

    opacity: .24;

    filter:
      brightness(.58)
      saturate(.94)
      contrast(1.03);

    pointer-events: none;
  }


  /*
   * Bandera izquierda.
   * Visible y desvaneciéndose hacia el contenido.
   */
  .hero-bg-flag-left {
    left: -265px;
    top: 290px;

    transform:
      rotate(-8deg);

    opacity: .24;

    -webkit-mask-image:
      linear-gradient(
        90deg,
        rgba(0,0,0,1) 0%,
        rgba(0,0,0,.95) 48%,
        rgba(0,0,0,.58) 72%,
        transparent 100%
      );

    mask-image:
      linear-gradient(
        90deg,
        rgba(0,0,0,1) 0%,
        rgba(0,0,0,.95) 48%,
        rgba(0,0,0,.58) 72%,
        transparent 100%
      );
  }


  /*
   * Bandera derecha.
   */
  .hero-bg-flag-right {
    right: -285px;
    top: 330px;

    transform:
      scaleX(-1)
      rotate(-7deg);

    opacity: .21;

    -webkit-mask-image:
      linear-gradient(
        270deg,
        rgba(0,0,0,1) 0%,
        rgba(0,0,0,.95) 48%,
        rgba(0,0,0,.58) 72%,
        transparent 100%
      );

    mask-image:
      linear-gradient(
        270deg,
        rgba(0,0,0,1) 0%,
        rgba(0,0,0,.95) 48%,
        rgba(0,0,0,.58) 72%,
        transparent 100%
      );
  }


  /*
   * El contenido permanece encima.
   */
  .hero-centered-copy,
  .hero-visa-fan-centered,
  .hero-actions-centered,
  .hero-destinations {
    position: relative;
    z-index: 5;
  }

}


/*
 * Teléfonos especialmente estrechos.
 */
@media (max-width: 420px) {

  .hero-bg-flag {
    width: 540px;
  }

  .hero-bg-flag-left {
    left: -275px;
    top: 305px;

    opacity: .21;
  }

  .hero-bg-flag-right {
    right: -285px;
    top: 345px;

    opacity: .18;
  }

}

/* DAVISAS_MOBILE_FLAGS_V5_END */


/* ==========================================================
   DAVISAS_REAL_LOGO_V1
   ========================================================== */

.brand {
  display: flex;
  align-items: center;
  text-decoration: none;
}

.brand-logo-real {
  display: block;

  width: auto;
  height: 72px;

  object-fit: contain;

  filter:
    drop-shadow(
      0 4px 14px
      rgba(0,0,0,.20)
    );
}


/*
 * Header
 */
.nav .brand-logo-real {
  height: 68px;
}


/*
 * Footer
 */
.footer-brand .brand-logo-real {
  height: 110px;
  max-width: 260px;
}


/*
 * Responsive
 */
@media (max-width: 760px) {

  .nav .brand-logo-real {
    height: 54px;
  }

  .footer-brand .brand-logo-real {
    height: 92px;
    max-width: 220px;
  }

}


/* ==========================================================
   DAVISAS_PAGE_LOADER_V2
   ========================================================== */

.davisas-page-loader {
  position: fixed;
  inset: 0;

  z-index: 999999;

  display: grid;
  place-items: center;

  background: #050505;

  opacity: 1;
  visibility: visible;

  transition:
    opacity .65s ease,
    visibility .65s ease;
}


.davisas-page-loader.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}


.davisas-loader-video {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;

  background: #050505;
}


@media (max-width: 760px) {

  .davisas-loader-video {
    object-fit: contain;
  }

}


@media (prefers-reduced-motion: reduce) {

  .davisas-page-loader {
    transition: none;
  }

}

/* DAVISAS_LOGO_LOADER_FINAL_START */


/* ==========================================================
   LOADER
   ========================================================== */

.davisas-page-loader {
  background: #ffffff !important;
}

.davisas-loader-video {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  object-fit: contain !important;
  object-position: center center !important;

  background: #ffffff !important;
}


/* ==========================================================
   LOGO PRINCIPAL
   ========================================================== */

.brand {
  display: flex;
  align-items: center;

  overflow: visible;
}


/*
 * Quitamos cualquier fondo heredado.
 */
.brand,
.brand-logo-real {
  background: transparent !important;
}


/*
 * Header escritorio.
 */
.nav .brand {
  width: 190px;
  min-width: 190px;

  height: 66px;
}

.nav .brand-logo-real {
  display: block;

  width: 175px !important;
  max-width: 175px !important;

  height: 62px !important;

  object-fit: contain !important;
  object-position: left center !important;

  filter: none !important;
}


/*
 * Footer.
 */
.footer-brand .brand-logo-real {
  display: block;

  width: 245px !important;
  max-width: 245px !important;

  height: auto !important;

  object-fit: contain !important;

  filter: none !important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 760px) {

  .nav .brand {
    width: 150px;
    min-width: 150px;

    height: 58px;
  }

  .nav .brand-logo-real {
    width: 140px !important;
    max-width: 140px !important;

    height: 52px !important;
  }

  .footer-brand .brand-logo-real {
    width: 210px !important;
    max-width: 210px !important;
  }

}


/* DAVISAS_LOGO_LOADER_FINAL_END */

/* DAVISAS_HEADER_LOADER_POLISH_V2_START */


/* ==========================================================
   LOADER
   El MP4 tiene acercamiento interno.
   Reducimos el elemento completo dentro de la pantalla.
   ========================================================== */

.davisas-page-loader {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 4vh 4vw;

  background: #fff !important;
}


.davisas-loader-video {
  display: block !important;

  width: min(1180px, 88vw) !important;
  height: auto !important;

  max-width: 88vw !important;
  max-height: 88vh !important;

  object-fit: contain !important;
  object-position: center center !important;

  background: #fff !important;
}


/* ==========================================================
   HEADER
   Usamos el mismo logo real, pero mostramos principalmente
   su zona superior para que sea legible en formato horizontal.
   ========================================================== */

.nav .brand {
  position: relative;

  width: 175px !important;
  min-width: 175px !important;

  height: 66px !important;

  overflow: hidden !important;

  display: block !important;
}


.nav .brand-logo-real {
  position: absolute !important;

  width: 132px !important;
  max-width: none !important;

  height: auto !important;

  left: 0 !important;
  top: -8px !important;

  object-fit: contain !important;

  transform: none !important;

  background: transparent !important;
  filter: none !important;
}


/* ==========================================================
   FOOTER
   Aquí sí mostramos el logo completo.
   ========================================================== */

.footer-brand .brand {
  width: auto !important;
  height: auto !important;

  overflow: visible !important;
}


.footer-brand .brand-logo-real {
  position: static !important;

  display: block !important;

  width: 230px !important;
  max-width: 230px !important;

  height: auto !important;

  object-fit: contain !important;

  background: transparent !important;
}


/* ==========================================================
   MOBILE HEADER
   ========================================================== */

@media (max-width: 760px) {

  .davisas-page-loader {
    padding: 4vh 6vw;
  }


  .davisas-loader-video {
    width: 92vw !important;
    max-width: 92vw !important;
    max-height: 82vh !important;
  }


  .nav .brand {
    width: 132px !important;
    min-width: 132px !important;

    height: 58px !important;
  }


  .nav .brand-logo-real {
    width: 104px !important;

    left: 0 !important;
    top: -4px !important;
  }

}


/* DAVISAS_HEADER_LOADER_POLISH_V2_END */

/* DAVISAS_LOGO_WHITE_CARD_START */

/* ==========================================================
   LOGO CON TARJETA BLANCA + GRADIENTE ELEGANTE
   ========================================================== */

/* Header / footer landing */
.brand {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 20px;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.98) 0%,
      rgba(249,247,242,.97) 58%,
      rgba(242,236,225,.96) 100%
    );
  border: 1px solid rgba(223, 186, 95, .22);
  box-shadow:
    0 14px 34px rgba(0,0,0,.22),
    0 0 0 1px rgba(255,255,255,.12) inset,
    0 10px 24px rgba(182, 132, 24, .10);
  overflow: visible;
}

.brand::after {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: -16px;
  height: 36px;
  border-radius: 999px;
  background: radial-gradient(
    circle,
    rgba(214, 164, 53, .22) 0%,
    rgba(214, 164, 53, .10) 35%,
    transparent 72%
  );
  filter: blur(12px);
  pointer-events: none;
  z-index: -1;
}

.brand-logo-real,
.brand img {
  display: block;
  width: 112px;
  max-width: none;
  height: auto;
  object-fit: contain !important;
  background: transparent !important;
}

/* Footer ligeramente más pequeño */
.footer-brand .brand {
  padding: 8px 10px;
  border-radius: 18px;
}

.footer-brand .brand-logo-real,
.footer-brand .brand img {
  width: 98px;
}

/* Dashboard login */
.login-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 18px;
  border-radius: 24px;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.99) 0%,
      rgba(250,248,244,.98) 100%
    );
  border: 1px solid rgba(223, 186, 95, .26);
  box-shadow:
    0 16px 38px rgba(0,0,0,.20),
    0 0 0 1px rgba(255,255,255,.18) inset,
    0 12px 30px rgba(182,132,24,.12);
}

.login-logo img {
  display: block;
  width: 150px;
  max-width: 100%;
  height: auto;
  object-fit: contain !important;
}

/* Sidebar dashboard */
.side-logo-shell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  border-radius: 18px;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.98) 0%,
      rgba(248,246,241,.97) 100%
    );
  border: 1px solid rgba(223, 186, 95, .22);
  box-shadow:
    0 10px 24px rgba(0,0,0,.18),
    0 0 0 1px rgba(255,255,255,.14) inset,
    0 8px 18px rgba(182,132,24,.10);
}

.side-logo-shell img {
  display: block;
  width: 74px;
  height: auto;
  object-fit: contain !important;
  background: transparent !important;
}

/* Evitar deformaciones globales */
.brand-logo-real,
.login-logo img,
.side-logo-shell img {
  aspect-ratio: auto;
}

/* Responsive */
@media (max-width: 768px) {
  .brand {
    padding: 8px 10px;
    border-radius: 16px;
  }

  .brand-logo-real,
  .brand img {
    width: 84px;
  }

  .footer-brand .brand-logo-real,
  .footer-brand .brand img {
    width: 84px;
  }

  .login-logo {
    padding: 12px 14px;
    border-radius: 18px;
  }

  .login-logo img {
    width: 120px;
  }

  .side-logo-shell {
    padding: 6px 8px;
    border-radius: 14px;
  }

  .side-logo-shell img {
    width: 58px;
  }
}

/* DAVISAS_LOGO_WHITE_CARD_END */

/* DAVISAS_LOGO_GRADIENT_V2_START */


/* ==========================================================
   HEADER
   El blanco ya no termina en rectángulo.
   Se desvanece gradualmente hacia el fondo negro.
   ========================================================== */

.nav .brand {
  position: relative !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  width: 190px !important;
  min-width: 190px !important;
  height: 68px !important;

  padding: 0 !important;
  margin: 0 !important;

  overflow: visible !important;

  border: 0 !important;
  border-radius: 0 !important;

  background:
    radial-gradient(
      ellipse 95% 90% at 25% 50%,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.94) 32%,
      rgba(255,255,255,.72) 48%,
      rgba(255,255,255,.28) 64%,
      rgba(255,255,255,.06) 76%,
      transparent 88%
    ) !important;

  box-shadow:
    0 0 38px rgba(211,160,49,.08),
    0 0 60px rgba(255,255,255,.025) !important;
}


/*
 * Quitamos completamente la tarjeta anterior.
 */
.nav .brand::before,
.nav .brand::after {
  display: none !important;
}


/*
 * Logo dentro del halo.
 *
 * La máscara elimina visualmente los bordes
 * cuadrados del PNG blanco.
 */
.nav .brand-logo-real {
  position: absolute !important;

  display: block !important;

  left: 5px !important;
  top: -7px !important;

  width: 118px !important;
  max-width: none !important;

  height: auto !important;

  object-fit: contain !important;

  background: transparent !important;

  border: 0 !important;
  border-radius: 0 !important;

  box-shadow: none !important;

  filter:
    drop-shadow(
      0 5px 14px
      rgba(190,137,28,.10)
    ) !important;

  -webkit-mask-image:
    radial-gradient(
      ellipse 72% 76% at 50% 43%,
      #000 0%,
      #000 56%,
      rgba(0,0,0,.94) 67%,
      rgba(0,0,0,.60) 79%,
      rgba(0,0,0,.20) 89%,
      transparent 100%
    );

  mask-image:
    radial-gradient(
      ellipse 72% 76% at 50% 43%,
      #000 0%,
      #000 56%,
      rgba(0,0,0,.94) 67%,
      rgba(0,0,0,.60) 79%,
      rgba(0,0,0,.20) 89%,
      transparent 100%
    );
}


/* ==========================================================
   FOOTER
   Logo completo, sin tarjeta cuadrada visible.
   ========================================================== */

.footer-brand .brand {
  position: relative !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 265px !important;
  height: 265px !important;

  padding: 0 !important;
  margin: 0 !important;

  overflow: visible !important;

  border: 0 !important;
  border-radius: 0 !important;

  background:
    radial-gradient(
      ellipse at center,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.96) 48%,
      rgba(255,255,255,.72) 62%,
      rgba(255,255,255,.28) 76%,
      rgba(255,255,255,.05) 88%,
      transparent 100%
    ) !important;

  box-shadow:
    0 0 46px rgba(215,165,57,.08) !important;
}


.footer-brand .brand::before,
.footer-brand .brand::after {
  display: none !important;
}


.footer-brand .brand-logo-real {
  position: static !important;

  display: block !important;

  width: 225px !important;
  max-width: 225px !important;

  height: auto !important;

  object-fit: contain !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;

  box-shadow: none !important;

  filter:
    drop-shadow(
      0 10px 24px
      rgba(189,136,28,.09)
    ) !important;

  -webkit-mask-image:
    radial-gradient(
      ellipse at center,
      #000 0%,
      #000 63%,
      rgba(0,0,0,.94) 72%,
      rgba(0,0,0,.60) 82%,
      rgba(0,0,0,.18) 92%,
      transparent 100%
    );

  mask-image:
    radial-gradient(
      ellipse at center,
      #000 0%,
      #000 63%,
      rgba(0,0,0,.94) 72%,
      rgba(0,0,0,.60) 82%,
      rgba(0,0,0,.18) 92%,
      transparent 100%
    );
}


/* ==========================================================
   MÓVIL
   ========================================================== */

@media (max-width: 760px) {

  .nav .brand {
    width: 145px !important;
    min-width: 145px !important;

    height: 58px !important;

    background:
      radial-gradient(
        ellipse 95% 90% at 25% 50%,
        rgba(255,255,255,.98) 0%,
        rgba(255,255,255,.92) 34%,
        rgba(255,255,255,.55) 54%,
        rgba(255,255,255,.14) 72%,
        transparent 88%
      ) !important;
  }


  .nav .brand-logo-real {
    left: 3px !important;
    top: -4px !important;

    width: 100px !important;
  }


  .footer-brand .brand {
    width: 225px !important;
    height: 225px !important;
  }


  .footer-brand .brand-logo-real {
    width: 190px !important;
    max-width: 190px !important;
  }

}


/* DAVISAS_LOGO_GRADIENT_V2_END */

/* DAVISAS_LOGO_FADE_V3_START */

/* ==========================================================
   HEADER - CONTENEDOR CAPSULA
   ========================================================== */
.nav .brand {
  position: relative !important;
  display: block !important;

  width: 190px !important;
  min-width: 190px !important;
  height: 68px !important;

  padding: 0 !important;
  margin: 0 !important;

  overflow: hidden !important;

  border: 1px solid rgba(214,170,61,.22) !important;
  border-radius: 999px !important;

  background: #111212 !important;
  box-shadow:
    0 10px 30px rgba(0,0,0,.26),
    inset 0 0 0 1px rgba(255,255,255,.02) !important;
}

.nav .brand::before {
  display: none !important;
}

.nav .brand::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 3;
  pointer-events: none;
  border-radius: 999px !important;

  background:
    radial-gradient(
      ellipse 76% 120% at 25% 50%,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.96) 28%,
      rgba(255,255,255,.80) 42%,
      rgba(255,255,255,.34) 58%,
      rgba(17,18,18,.10) 72%,
      rgba(17,18,18,.65) 88%,
      #111212 100%
    ) !important;
}

.nav .brand-logo-real {
  position: absolute !important;
  z-index: 2;

  left: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;

  width: 108px !important;
  max-width: none !important;
  height: auto !important;

  object-fit: contain !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}


/* ==========================================================
   FOOTER - CONTENEDOR CIRCULAR
   ========================================================== */
.footer-brand .brand {
  position: relative !important;
  display: block !important;

  width: 240px !important;
  height: 240px !important;

  padding: 0 !important;
  margin: 0 !important;

  overflow: hidden !important;

  border: 1px solid rgba(214,170,61,.20) !important;
  border-radius: 50% !important;

  background: #050606 !important;
  box-shadow:
    0 16px 40px rgba(0,0,0,.30),
    inset 0 0 0 1px rgba(255,255,255,.02) !important;
}

.footer-brand .brand::before {
  display: none !important;
}

.footer-brand .brand::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 3;
  pointer-events: none;
  border-radius: 50% !important;

  background:
    radial-gradient(
      circle at 50% 47%,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.96) 30%,
      rgba(255,255,255,.78) 43%,
      rgba(255,255,255,.34) 57%,
      rgba(5,6,6,.12) 71%,
      rgba(5,6,6,.58) 84%,
      #050606 100%
    ) !important;
}

.footer-brand .brand-logo-real {
  position: absolute !important;
  z-index: 2;

  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;

  width: 190px !important;
  max-width: 190px !important;
  height: auto !important;

  object-fit: contain !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */
@media (max-width: 760px) {
  .nav .brand {
    width: 132px !important;
    min-width: 132px !important;
    height: 58px !important;
  }

  .nav .brand-logo-real {
    width: 88px !important;
    left: 8px !important;
  }

  .footer-brand .brand {
    width: 200px !important;
    height: 200px !important;
  }

  .footer-brand .brand-logo-real {
    width: 160px !important;
    max-width: 160px !important;
  }
}

/* DAVISAS_LOGO_FADE_V3_END */

/* DAVISAS_FOOTER_LOGO_CIRCLE_V2_START */


/* ==========================================================
   BLOQUE COMPLETO DEL LOGO EN FOOTER
   ========================================================== */

.footer-brand {
  display: flex !important;
  flex-direction: column !important;

  align-items: center !important;
  justify-content: flex-start !important;

  text-align: center !important;
}


/* ==========================================================
   CÍRCULO REAL 1:1
   ========================================================== */

.footer-brand .brand {
  position: relative !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 285px !important;
  min-width: 285px !important;

  height: 285px !important;
  min-height: 285px !important;

  aspect-ratio: 1 / 1 !important;

  margin:
    0 auto
    22px !important;

  padding: 0 !important;

  overflow: hidden !important;

  border-radius: 50% !important;

  border:
    1px solid
    rgba(214,170,61,.25) !important;

  background:
    #050606 !important;

  box-shadow:
    0 20px 48px rgba(0,0,0,.35),
    0 0 42px rgba(203,151,37,.06),
    inset 0 0 0 1px rgba(255,255,255,.018) !important;
}


/* ==========================================================
   ELIMINAR HERENCIAS
   ========================================================== */

.footer-brand .brand::before {
  display: none !important;
}


/* ==========================================================
   FUNDIDO BLANCO → NEGRO
   ========================================================== */

.footer-brand .brand::after {
  content: "" !important;

  display: block !important;

  position: absolute !important;
  inset: 0 !important;

  z-index: 3;

  border-radius: 50% !important;

  pointer-events: none;

  background:
    radial-gradient(
      circle at 50% 48%,

      transparent 0%,
      transparent 47%,

      rgba(5,6,6,.04) 57%,
      rgba(5,6,6,.13) 65%,
      rgba(5,6,6,.30) 73%,
      rgba(5,6,6,.54) 81%,
      rgba(5,6,6,.79) 89%,
      rgba(5,6,6,.95) 96%,
      #050606 100%
    ) !important;
}


/* ==========================================================
   LOGO CENTRADO
   ========================================================== */

.footer-brand .brand-logo-real {
  position: absolute !important;

  z-index: 2;

  left: 50% !important;
  top: 50% !important;

  width: 238px !important;
  max-width: 238px !important;

  height: auto !important;
  max-height: none !important;

  margin: 0 !important;

  object-fit: contain !important;
  object-position: center center !important;

  transform:
    translate(-50%, -50%) !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;

  box-shadow: none !important;
  filter: none !important;

  -webkit-mask-image: none !important;
  mask-image: none !important;
}


/* ==========================================================
   TEXTO DEBAJO DEL LOGO
   ========================================================== */

.footer-brand > p {
  max-width: 285px !important;

  margin:
    0 auto !important;

  text-align: center !important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 760px) {

  .footer-brand .brand {
    width: 235px !important;
    min-width: 235px !important;

    height: 235px !important;
    min-height: 235px !important;

    aspect-ratio: 1 / 1 !important;

    margin-bottom: 18px !important;
  }


  .footer-brand .brand-logo-real {
    width: 196px !important;
    max-width: 196px !important;
  }


  .footer-brand > p {
    max-width: 250px !important;
  }

}


/* DAVISAS_FOOTER_LOGO_CIRCLE_V2_END */

/* DAVISAS_FOOTER_CIRCLE_REAL_V3_START */

/* ==========================================================
   COLUMNA DEL LOGO
   ========================================================== */

.footer-brand {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;

  text-align: center !important;
}


/* ==========================================================
   CÍRCULO EXTERIOR
   ========================================================== */

.footer-brand .brand {
  position: relative !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 310px !important;
  min-width: 310px !important;

  height: 310px !important;
  min-height: 310px !important;

  aspect-ratio: 1 / 1 !important;

  margin:
    0 auto
    24px !important;

  padding: 0 !important;

  overflow: hidden !important;

  border-radius: 50% !important;

  border:
    1px solid
    rgba(215,170,61,.28) !important;

  background: #050606 !important;

  box-shadow:
    0 18px 46px rgba(0,0,0,.38),
    0 0 35px rgba(211,157,38,.07) !important;
}


/* ==========================================================
   IMAGEN DEL LOGO
   LA PROPIA IMAGEN AHORA TAMBIÉN ES CIRCULAR
   ========================================================== */

.footer-brand .brand-logo-real {
  position: absolute !important;

  z-index: 2;

  left: 50% !important;
  top: 50% !important;

  width: 278px !important;
  min-width: 278px !important;
  max-width: 278px !important;

  height: 278px !important;
  min-height: 278px !important;
  max-height: 278px !important;

  margin: 0 !important;

  transform:
    translate(-50%, -50%) !important;

  object-fit: cover !important;
  object-position: center center !important;

  border-radius: 50% !important;

  background: #fff !important;

  border: 0 !important;

  box-shadow: none !important;
  filter: none !important;

  -webkit-mask-image: none !important;
  mask-image: none !important;
}


/* ==========================================================
   FUNDIDO SUAVE EN EL BORDE DEL CÍRCULO
   ========================================================== */

.footer-brand .brand::before {
  display: none !important;
}


.footer-brand .brand::after {
  content: "" !important;

  display: block !important;

  position: absolute !important;

  inset: 0 !important;

  z-index: 3;

  border-radius: 50% !important;

  pointer-events: none;

  background:
    radial-gradient(
      circle at center,
      transparent 0%,
      transparent 72%,
      rgba(5,6,6,.03) 77%,
      rgba(5,6,6,.12) 83%,
      rgba(5,6,6,.32) 89%,
      rgba(5,6,6,.68) 95%,
      #050606 100%
    ) !important;
}


/* ==========================================================
   TEXTO BAJO EL LOGO
   ========================================================== */

.footer-brand > p {
  width: 100% !important;
  max-width: 310px !important;

  margin:
    0 auto !important;

  text-align: center !important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 760px) {

  .footer-brand .brand {
    width: 245px !important;
    min-width: 245px !important;

    height: 245px !important;
    min-height: 245px !important;
  }


  .footer-brand .brand-logo-real {
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;

    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;

    border-radius: 50% !important;
  }


  .footer-brand > p {
    max-width: 245px !important;
  }

}

/* DAVISAS_FOOTER_CIRCLE_REAL_V3_END */

/* DAVISAS_HEADER_CIRCLE_FINAL_START */


/* ==========================================================
   HEADER - SELLO CIRCULAR MÁS GRANDE
   FOOTER NO SE MODIFICA
   ========================================================== */

.nav .brand {
  position: relative !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 76px !important;
  min-width: 76px !important;

  height: 76px !important;
  min-height: 76px !important;

  aspect-ratio: 1 / 1 !important;

  padding: 0 !important;
  margin: 0 !important;

  overflow: hidden !important;

  border-radius: 50% !important;

  border: 1px solid rgba(220,174,64,.42) !important;

  background:
    radial-gradient(
      circle at 50% 44%,
      #ffffff 0%,
      #ffffff 61%,
      #f8f4ea 78%,
      #eadfc4 100%
    ) !important;

  box-shadow:
    0 8px 24px rgba(0,0,0,.32),
    0 0 20px rgba(213,161,45,.10),
    inset 0 0 0 1px rgba(255,255,255,.70) !important;
}

.nav .brand::before {
  display: none !important;
}

.nav .brand::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 4;
  border-radius: 50% !important;
  pointer-events: none;

  background:
    radial-gradient(
      circle at center,
      transparent 0%,
      transparent 68%,
      rgba(190,136,25,.04) 78%,
      rgba(17,18,18,.15) 91%,
      rgba(17,18,18,.32) 100%
    ) !important;
}


/* ==========================================================
   LOGO INTERNO
   ========================================================== */

.nav .brand-logo-real {
  position: absolute !important;
  z-index: 2;

  left: 50% !important;
  top: -8px !important;

  width: 108px !important;
  min-width: 108px !important;
  max-width: 108px !important;

  height: auto !important;
  max-height: none !important;

  margin: 0 !important;

  transform: translateX(-50%) !important;

  object-fit: contain !important;

  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;

  -webkit-mask-image: none !important;
  mask-image: none !important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 760px) {

  .nav .brand {
    width: 62px !important;
    min-width: 62px !important;

    height: 62px !important;
    min-height: 62px !important;

    aspect-ratio: 1 / 1 !important;
  }

  .nav .brand-logo-real {
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;

    top: -7px !important;
  }
}


/* DAVISAS_HEADER_CIRCLE_FINAL_END */


/* DAVISAS_HEADER_IMAGE_ONLY_TUNE_START */

/* ==========================================================
   SOLO IMAGEN DEL HEADER
   El contenedor circular NO se toca.
   El footer NO se toca.
   ========================================================== */

.nav .brand .brand-logo-real {
  position: absolute !important;

  left: 50% !important;
  top: 50% !important;

  width: 84px !important;
  max-width: 84px !important;
  min-width: 84px !important;

  height: auto !important;
  max-height: 84px !important;

  transform: translate(-50%, -50%) !important;

  object-fit: contain !important;
  object-position: center center !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Responsive */
@media (max-width: 760px) {
  .nav .brand .brand-logo-real {
    width: 72px !important;
    max-width: 72px !important;
    min-width: 72px !important;
    max-height: 72px !important;
  }
}

/* DAVISAS_HEADER_IMAGE_ONLY_TUNE_END */

/* DAVISAS_EXPERT_MEDIA_STYLE_V1_START */


/* ==========================================================
   SECCIÓN
   ========================================================== */

.expert-media-section {
  position: relative;

  overflow: hidden;

  padding:
    110px 0;

  color:
    #fff;

  background:
    radial-gradient(
      circle at 50% 28%,
      rgba(214,166,54,.13),
      transparent 32%
    ),
    linear-gradient(
      180deg,
      #090a0a 0%,
      #050606 100%
    );
}


.expert-media-section::before {
  content: "";

  position: absolute;
  inset: 0;

  pointer-events: none;

  opacity: .11;

  background:
    url("assets/us-stars-pattern.svg")
    center / 560px auto
    repeat;
}


.expert-media-section .container {
  position: relative;

  z-index: 2;
}


/* ==========================================================
   ENCABEZADO
   ========================================================== */

.expert-media-heading {
  width:
    min(
      100%,
      850px
    );

  margin:
    0 auto
    54px;

  text-align:
    center;
}


.expert-media-heading h2 {
  margin:
    16px 0;

  font-size:
    clamp(
      46px,
      5vw,
      76px
    );

  line-height:
    .96;
}


.expert-media-heading h2 em {
  color:
    #e5b83f;

  font-style:
    normal;
}


.expert-media-heading > p {
  width:
    min(
      100%,
      760px
    );

  margin:
    0 auto;

  color:
    rgba(255,255,255,.72);

  font-size:
    17px;

  line-height:
    1.75;
}


/* ==========================================================
   BADGES
   ========================================================== */

.expert-media-badges {
  display:
    grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:
    1px;

  margin-top:
    36px;

  overflow:
    hidden;

  border:
    1px solid
    rgba(220,177,66,.20);

  border-radius:
    18px;

  background:
    rgba(220,177,66,.18);
}


.expert-media-badges span {
  display:
    flex;

  flex-direction:
    column;

  gap:
    4px;

  padding:
    18px 20px;

  background:
    rgba(5,6,6,.88);

  color:
    rgba(255,255,255,.58);

  font-size:
    12px;

  text-align:
    left;
}


.expert-media-badges strong {
  color:
    #e5b83f;

  font-size:
    16px;
}


/* ==========================================================
   DOS CONTENEDORES
   ========================================================== */

.expert-media-grid {
  display:
    grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:
    26px;
}


.expert-media-card {
  position:
    relative;

  min-height:
    490px;

  overflow:
    hidden;

  border:
    1px solid
    rgba(221,176,61,.22);

  border-radius:
    30px;

  background:
    linear-gradient(
      145deg,
      rgba(22,22,20,.98),
      rgba(7,8,8,.98)
    );

  box-shadow:
    0 30px 70px
    rgba(0,0,0,.30);

  transition:
    transform .35s ease,
    border-color .35s ease,
    box-shadow .35s ease;
}


.expert-media-card:hover {
  transform:
    translateY(-5px);

  border-color:
    rgba(229,184,63,.48);

  box-shadow:
    0 38px 80px
    rgba(0,0,0,.38);
}


/* ==========================================================
   VISUAL
   ========================================================== */

.expert-media-card-visual {
  position:
    relative;

  display:
    grid;

  place-items:
    center;

  height:
    245px;

  overflow:
    hidden;

  border-bottom:
    1px solid
    rgba(221,176,61,.14);

  background:
    radial-gradient(
      circle at center,
      rgba(213,165,47,.18),
      transparent 54%
    );
}


.expert-media-card-visual::after {
  content: "";

  position:
    absolute;

  inset:
    0;

  pointer-events:
    none;

  background:
    linear-gradient(
      180deg,
      transparent,
      rgba(5,6,6,.38)
    );
}


/* ==========================================================
   VIDEO
   ========================================================== */

.expert-play-ring {
  position:
    relative;

  z-index:
    2;

  display:
    grid;

  place-items:
    center;

  width:
    112px;

  height:
    112px;

  border:
    1px solid
    rgba(232,188,70,.62);

  border-radius:
    50%;

  box-shadow:
    0 0 0 18px
    rgba(224,174,50,.035),
    0 0 60px
    rgba(225,176,48,.14);
}


.expert-play-icon {
  display:
    block;

  margin-left:
    6px;

  color:
    #e5b83f;

  font-size:
    34px;
}


/* ==========================================================
   TESTIMONIOS VISUAL
   ========================================================== */

.expert-quote-mark {
  position:
    relative;

  z-index:
    2;

  color:
    #e5b83f;

  font-family:
    Georgia,
    serif;

  font-size:
    150px;

  line-height:
    1;
}


.expert-testimonial-lines {
  position:
    absolute;

  z-index:
    1;

  bottom:
    58px;

  display:
    grid;

  gap:
    10px;

  width:
    48%;
}


.expert-testimonial-lines i {
  display:
    block;

  height:
    1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(229,184,63,.44),
      transparent
    );
}


/* ==========================================================
   COPY CARDS
   ========================================================== */

.expert-media-card-copy {
  padding:
    34px 36px 38px;
}


.expert-card-kicker {
  display:
    block;

  margin-bottom:
    12px;

  color:
    #e5b83f;

  font-size:
    11px;

  font-weight:
    800;

  letter-spacing:
    .16em;
}


.expert-media-card h3 {
  margin:
    0 0 14px;

  color:
    #fff;

  font-size:
    clamp(
      25px,
      2.5vw,
      34px
    );

  line-height:
    1.08;
}


.expert-media-card p {
  margin:
    0 0 25px;

  color:
    rgba(255,255,255,.62);

  line-height:
    1.65;
}


.expert-media-button {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  gap:
    12px;
}


/* ==========================================================
   DIALOG / MODAL
   ========================================================== */

.davisas-media-modal {
  width:
    min(
      92vw,
      920px
    );

  max-height:
    88vh;

  padding:
    0;

  overflow:
    visible;

  color:
    #fff;

  border:
    1px solid
    rgba(226,181,61,.30);

  border-radius:
    28px;

  background:
    #090a0a;

  box-shadow:
    0 50px 120px
    rgba(0,0,0,.72);
}


.davisas-media-modal::backdrop {
  background:
    rgba(0,0,0,.82);

  backdrop-filter:
    blur(9px);
}


.davisas-modal-shell {
  position:
    relative;

  max-height:
    88vh;

  overflow:
    auto;

  padding:
    48px;

  border-radius:
    inherit;

  background:
    radial-gradient(
      circle at 85% 10%,
      rgba(212,160,38,.12),
      transparent 27%
    ),
    #090a0a;
}


.davisas-modal-close {
  position:
    absolute;

  z-index:
    5;

  top:
    18px;

  right:
    20px;

  display:
    grid;

  place-items:
    center;

  width:
    42px;

  height:
    42px;

  color:
    #e8bc4b;

  font-size:
    30px;

  line-height:
    1;

  cursor:
    pointer;

  border:
    1px solid
    rgba(229,184,63,.28);

  border-radius:
    50%;

  background:
    rgba(0,0,0,.40);
}


.davisas-modal-heading {
  margin-bottom:
    30px;
}


.davisas-modal-heading h3 {
  margin:
    12px 0 8px;

  font-size:
    clamp(
      32px,
      4vw,
      48px
    );
}


.davisas-modal-heading p {
  color:
    rgba(255,255,255,.62);
}


/* ==========================================================
   VIDEO HOST
   ========================================================== */

.davisas-video-host video {
  display:
    block;

  width:
    100%;

  max-height:
    64vh;

  border-radius:
    20px;

  background:
    #000;
}


.davisas-video-external {
  display:
    flex;

  min-height:
    300px;

  align-items:
    center;

  justify-content:
    center;

  border:
    1px solid
    rgba(229,184,63,.18);

  border-radius:
    20px;

  background:
    rgba(255,255,255,.025);
}


.davisas-media-empty {
  display:
    flex;

  min-height:
    300px;

  flex-direction:
    column;

  align-items:
    center;

  justify-content:
    center;

  gap:
    13px;

  padding:
    40px;

  color:
    rgba(255,255,255,.55);

  text-align:
    center;

  border:
    1px dashed
    rgba(229,184,63,.24);

  border-radius:
    20px;

  background:
    rgba(255,255,255,.018);
}


.davisas-media-empty > span {
  color:
    #e5b83f;

  font-size:
    42px;
}


.davisas-media-empty strong {
  color:
    #fff;

  font-size:
    21px;
}


/* ==========================================================
   TESTIMONIOS
   ========================================================== */

.davisas-testimonials-list {
  display:
    grid;

  gap:
    16px;
}


.davisas-testimonial-item {
  padding:
    24px;

  border:
    1px solid
    rgba(229,184,63,.17);

  border-radius:
    20px;

  background:
    rgba(255,255,255,.025);
}


.davisas-testimonial-item blockquote {
  margin:
    0 0 18px;

  color:
    rgba(255,255,255,.84);

  font-size:
    17px;

  line-height:
    1.65;
}


.davisas-testimonial-meta {
  display:
    flex;

  flex-wrap:
    wrap;

  gap:
    6px 14px;

  color:
    rgba(255,255,255,.45);

  font-size:
    12px;
}


.davisas-testimonial-meta strong {
  color:
    #e5b83f;
}


.davisas-testimonial-link {
  display:
    inline-flex;

  margin-top:
    15px;

  color:
    #e5b83f;

  font-weight:
    700;

  text-decoration:
    none;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 760px) {

  .expert-media-section {
    padding:
      78px 0;
  }


  .expert-media-heading {
    margin-bottom:
      36px;
  }


  .expert-media-heading h2 {
    font-size:
      48px;
  }


  .expert-media-heading > p {
    font-size:
      15px;
  }


  .expert-media-badges {
    grid-template-columns:
      1fr;
  }


  .expert-media-grid {
    grid-template-columns:
      1fr;

    gap:
      18px;
  }


  .expert-media-card {
    min-height:
      auto;

    border-radius:
      22px;
  }


  .expert-media-card-visual {
    height:
      205px;
  }


  .expert-media-card-copy {
    padding:
      27px 24px 30px;
  }


  .davisas-modal-shell {
    padding:
      48px 22px 25px;
  }

}


/* DAVISAS_EXPERT_MEDIA_STYLE_V1_END */

/* DAVISAS_PROFESSIONAL_TEAM_STYLE_V1_START */


/* ==========================================================
   EQUIPO PROFESIONAL
   ========================================================== */

.expert-team {
  position: relative;

  width: 100%;

  margin:
    0 auto 60px;

  padding:
    48px;

  overflow: hidden;

  border:
    1px solid
    rgba(226,181,61,.22);

  border-radius:
    30px;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(221,172,52,.11),
      transparent 38%
    ),
    linear-gradient(
      145deg,
      rgba(20,21,20,.98),
      rgba(7,8,8,.98)
    );

  box-shadow:
    0 28px 70px
    rgba(0,0,0,.26);
}


.expert-team::before {
  content: "";

  position: absolute;
  inset: 0;

  pointer-events: none;

  opacity: .055;

  background:
    url("assets/us-stars-pattern.svg")
    center / 520px
    repeat;
}


/* ==========================================================
   ENCABEZADO
   ========================================================== */

.expert-team-heading {
  position: relative;
  z-index: 2;

  width:
    min(
      100%,
      780px
    );

  margin:
    0 auto 42px;

  text-align: center;
}


.expert-team-kicker {
  display: inline-block;

  margin-bottom: 14px;

  color:
    #e6ba49;

  font-size:
    11px;

  font-weight:
    800;

  letter-spacing:
    .18em;
}


.expert-team-heading h3 {
  margin:
    0 0 18px;

  color:
    #fff;

  font-size:
    clamp(
      32px,
      4vw,
      52px
    );

  line-height:
    1.04;
}


.expert-team-heading h3 em {
  display: block;

  color:
    #e5b83f;

  font-style:
    normal;
}


.expert-team-heading p {
  width:
    min(
      100%,
      690px
    );

  margin:
    0 auto;

  color:
    rgba(255,255,255,.64);

  font-size:
    15px;

  line-height:
    1.7;
}


/* ==========================================================
   GRID
   ========================================================== */

.expert-team-grid {
  position: relative;

  z-index: 2;

  display: grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0,1fr)
    );

  gap: 14px;
}


/* ==========================================================
   TARJETAS
   ========================================================== */

.expert-team-card {
  position: relative;

  min-height: 310px;

  padding:
    30px 24px 27px;

  overflow: hidden;

  border:
    1px solid
    rgba(229,184,63,.14);

  border-radius:
    22px;

  background:
    linear-gradient(
      155deg,
      rgba(255,255,255,.045),
      rgba(255,255,255,.012)
    );

  transition:
    transform .3s ease,
    border-color .3s ease,
    background .3s ease;
}


.expert-team-card:hover {
  transform:
    translateY(-5px);

  border-color:
    rgba(229,184,63,.40);

  background:
    linear-gradient(
      155deg,
      rgba(229,184,63,.075),
      rgba(255,255,255,.015)
    );
}


.expert-team-number {
  position: absolute;

  top: 18px;
  right: 20px;

  color:
    rgba(229,184,63,.32);

  font-size:
    11px;

  font-weight:
    800;

  letter-spacing:
    .12em;
}


/* ==========================================================
   ICONOS
   ========================================================== */

.expert-team-icon {
  display: grid;

  place-items: center;

  width: 54px;
  height: 54px;

  margin-bottom: 24px;

  color:
    #e7bb48;

  font-size: 22px;

  border:
    1px solid
    rgba(229,184,63,.34);

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(229,184,63,.11),
      rgba(229,184,63,.02)
    );

  box-shadow:
    0 0 30px
    rgba(222,169,43,.07);
}


/* ==========================================================
   COPY
   ========================================================== */

.expert-team-label {
  display: block;

  margin-bottom: 10px;

  color:
    rgba(229,184,63,.76);

  font-size: 9px;

  font-weight: 800;

  letter-spacing: .15em;
}


.expert-team-card h4 {
  margin:
    0 0 14px;

  color:
    #fff;

  font-size:
    22px;

  line-height:
    1.15;
}


.expert-team-card p {
  margin: 0;

  color:
    rgba(255,255,255,.56);

  font-size:
    13px;

  line-height:
    1.65;
}


/* ==========================================================
   NOTA INFERIOR
   ========================================================== */

.expert-team-note {
  position: relative;

  z-index: 2;

  display: flex;

  align-items: center;

  gap: 16px;

  width:
    min(
      100%,
      800px
    );

  margin:
    30px auto 0;

  padding:
    18px 22px;

  border:
    1px solid
    rgba(229,184,63,.14);

  border-radius:
    16px;

  background:
    rgba(0,0,0,.22);
}


.expert-team-note > span {
  flex: 0 0 auto;

  color:
    #e5b83f;

  font-size:
    18px;
}


.expert-team-note p {
  margin: 0;

  color:
    rgba(255,255,255,.55);

  font-size:
    12px;

  line-height:
    1.55;
}


.expert-team-note strong {
  color:
    #e5b83f;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 980px) {

  .expert-team-grid {
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      );
  }

}


/* ==========================================================
   MÓVIL
   ========================================================== */

@media (max-width: 600px) {

  .expert-team {
    margin-bottom:
      38px;

    padding:
      34px 18px 22px;

    border-radius:
      22px;
  }


  .expert-team-heading {
    margin-bottom:
      28px;
  }


  .expert-team-heading h3 {
    font-size:
      35px;
  }


  .expert-team-heading p {
    font-size:
      14px;
  }


  .expert-team-grid {
    grid-template-columns:
      1fr;

    gap:
      12px;
  }


  .expert-team-card {
    min-height:
      auto;

    padding:
      25px 22px;
  }


  .expert-team-icon {
    margin-bottom:
      20px;
  }


  .expert-team-note {
    align-items:
      flex-start;

    margin-top:
      20px;
  }

}


/* DAVISAS_PROFESSIONAL_TEAM_STYLE_V1_END */

/* DAVISAS_TESTIMONIAL_VIDEO_GALLERY_V2_START */


/* ==========================================================
   GALERÍA 2 X 2
   ========================================================== */

.davisas-testimonials-list {
  display: grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );

  gap: 18px;
}


.davisas-testimonials-list[hidden] {
  display: none !important;
}


/* ==========================================================
   TARJETA
   ========================================================== */

.davisas-testimonial-video-card {
  overflow: hidden;

  border:
    1px solid
    rgba(229,184,63,.20);

  border-radius:
    20px;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.045),
      rgba(255,255,255,.012)
    );

  transition:
    transform .3s ease,
    border-color .3s ease;
}


.davisas-testimonial-video-card:hover {
  transform:
    translateY(-4px);

  border-color:
    rgba(229,184,63,.48);
}


/* ==========================================================
   MINIATURA
   ========================================================== */

.davisas-testimonial-preview {
  position: relative;

  display: block;

  width: 100%;

  aspect-ratio:
    16 / 9;

  overflow: hidden;

  padding: 0;

  cursor: pointer;

  border: 0;

  border-radius:
    0;

  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(229,184,63,.14),
      transparent 45%
    ),
    #080909;
}


.davisas-testimonial-preview img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;

  transition:
    transform .45s ease,
    filter .45s ease;

  filter:
    brightness(.73);
}


.davisas-testimonial-video-card:hover
.davisas-testimonial-preview img {
  transform:
    scale(1.035);

  filter:
    brightness(.88);
}


.davisas-testimonial-preview-fallback {
  display: grid;

  place-items: center;

  width: 100%;
  height: 100%;

  color:
    rgba(229,184,63,.26);

  font-size:
    18px;

  font-weight:
    900;

  letter-spacing:
    .24em;

  background:
    radial-gradient(
      circle,
      rgba(223,173,51,.12),
      transparent 52%
    );
}


/* ==========================================================
   PLAY
   ========================================================== */

.davisas-testimonial-play {
  position: absolute;

  left: 50%;
  top: 50%;

  display: grid;

  place-items: center;

  width: 68px;
  height: 68px;

  padding-left: 4px;

  color:
    #e8bb47;

  font-size:
    22px;

  border:
    1px solid
    rgba(229,184,63,.58);

  border-radius:
    50%;

  background:
    rgba(5,6,6,.78);

  box-shadow:
    0 0 0 12px
    rgba(229,184,63,.04),
    0 0 44px
    rgba(229,184,63,.16);

  transform:
    translate(-50%,-50%);
}


/* ==========================================================
   INFORMACIÓN
   ========================================================== */

.davisas-testimonial-card-body {
  padding:
    22px 22px 24px;
}


.davisas-testimonial-number {
  display: block;

  margin-bottom: 8px;

  color:
    rgba(229,184,63,.48);

  font-size:
    10px;

  font-weight:
    800;

  letter-spacing:
    .15em;
}


.davisas-testimonial-card-body h4 {
  margin:
    0 0 7px;

  color:
    #fff;

  font-size:
    21px;
}


.davisas-testimonial-detail {
  margin:
    0 0 13px;

  color:
    #e5b83f;

  font-size:
    12px;
}


.davisas-testimonial-summary {
  margin:
    0 0 18px;

  color:
    rgba(255,255,255,.58);

  font-size:
    13px;

  line-height:
    1.55;
}


.davisas-testimonial-watch {
  padding: 0;

  color:
    #fff;

  font-size:
    12px;

  font-weight:
    800;

  cursor: pointer;

  border: 0;

  background:
    transparent;
}


/* ==========================================================
   PLAYER
   ========================================================== */

.davisas-testimonial-player {
  display: grid;

  gap: 18px;
}


.davisas-testimonial-player[hidden] {
  display: none !important;
}


.davisas-testimonial-player video {
  display: block;

  width: 100%;

  max-height:
    62vh;

  border-radius:
    20px;

  background:
    #000;
}


.davisas-testimonial-back {
  justify-self:
    start;

  padding:
    10px 15px;

  color:
    #e5b83f;

  font-size:
    12px;

  font-weight:
    800;

  cursor:
    pointer;

  border:
    1px solid
    rgba(229,184,63,.25);

  border-radius:
    999px;

  background:
    rgba(255,255,255,.025);
}


.davisas-testimonial-player-heading {
  display: flex;

  flex-direction: column;

  gap: 4px;
}


.davisas-testimonial-player-heading strong {
  color:
    #fff;

  font-size:
    23px;
}


.davisas-testimonial-player-heading span {
  color:
    #e5b83f;

  font-size:
    12px;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 680px) {

  .davisas-testimonials-list {
    grid-template-columns:
      1fr;
  }


  .davisas-testimonial-play {
    width:
      58px;

    height:
      58px;
  }

}


/* DAVISAS_TESTIMONIAL_VIDEO_GALLERY_V2_END */

/* DAVISAS_REEL_CAROUSEL_V3_START */


/* ==========================================================
   TARJETAS PRINCIPALES CLICKABLES
   ========================================================== */

.expert-media-card-clickable {
  cursor:
    pointer;
}


.expert-media-card-clickable:hover {
  border-color:
    rgba(229,184,63,.52);
}


.expert-media-card-clickable:focus-visible {
  outline:
    2px solid
    rgba(229,184,63,.85);

  outline-offset:
    5px;
}


/* ==========================================================
   MODAL DE TESTIMONIOS
   Más ancho para carrusel.
   ========================================================== */

#testimonials-modal {
  width:
    min(
      94vw,
      1100px
    );
}


/* ==========================================================
   CONTROLES DEL CARRUSEL
   ========================================================== */

.davisas-testimonials-carousel-controls {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    20px;

  margin:
    2px 0 20px;
}


.davisas-carousel-hint {
  color:
    rgba(255,255,255,.48);

  font-size:
    12px;
}


.davisas-carousel-navigation {
  display:
    flex;

  gap:
    9px;
}


.davisas-carousel-arrow {
  display:
    grid;

  place-items:
    center;

  width:
    46px;

  height:
    46px;

  padding:
    0;

  cursor:
    pointer;

  color:
    #e5b83f;

  font-size:
    20px;

  border:
    1px solid
    rgba(229,184,63,.34);

  border-radius:
    50%;

  background:
    rgba(255,255,255,.025);

  transition:
    background .25s ease,
    border-color .25s ease,
    transform .25s ease;
}


.davisas-carousel-arrow:hover {
  transform:
    translateY(-2px);

  background:
    rgba(229,184,63,.09);

  border-color:
    rgba(229,184,63,.68);
}


/* ==========================================================
   CARRUSEL
   ========================================================== */

.davisas-testimonials-list {
  display:
    flex !important;

  grid-template-columns:
    none !important;

  align-items:
    stretch;

  gap:
    20px;

  width:
    100%;

  overflow-x:
    auto;

  overflow-y:
    hidden;

  padding:
    4px 4px 20px;

  scroll-behavior:
    smooth;

  scroll-snap-type:
    x mandatory;

  overscroll-behavior-inline:
    contain;

  scrollbar-width:
    thin;

  scrollbar-color:
    rgba(229,184,63,.34)
    rgba(255,255,255,.035);
}


.davisas-testimonials-list::-webkit-scrollbar {
  height:
    6px;
}


.davisas-testimonials-list::-webkit-scrollbar-track {
  background:
    rgba(255,255,255,.035);

  border-radius:
    999px;
}


.davisas-testimonials-list::-webkit-scrollbar-thumb {
  background:
    rgba(229,184,63,.34);

  border-radius:
    999px;
}


/* ==========================================================
   CADA REEL
   ========================================================== */

.davisas-testimonial-video-card {
  flex:
    0 0
    clamp(
      238px,
      27vw,
      285px
    );

  min-width:
    0;

  scroll-snap-align:
    start;

  cursor:
    pointer;
}


/*
 * La imagen/video de previsualización
 * adopta proporción Reel.
 */
.davisas-testimonial-preview {
  aspect-ratio:
    9 / 16 !important;

  min-height:
    0;
}


.davisas-testimonial-preview img {
  width:
    100%;

  height:
    100%;

  object-fit:
    cover;
}


/*
 * El fallback DAVISAS mantiene
 * la proporción vertical.
 */
.davisas-testimonial-preview-fallback {
  width:
    100%;

  height:
    100%;
}


/* ==========================================================
   PLAY MÁS ELEGANTE SOBRE REEL
   ========================================================== */

.davisas-testimonial-play {
  width:
    62px;

  height:
    62px;

  font-size:
    19px;

  background:
    rgba(5,6,6,.84);

  box-shadow:
    0 0 0 10px
    rgba(229,184,63,.045),
    0 0 42px
    rgba(229,184,63,.18);
}


/* ==========================================================
   TEXTO DEL REEL
   ========================================================== */

.davisas-testimonial-card-body {
  min-height:
    156px;

  padding:
    19px 19px 21px;
}


.davisas-testimonial-card-body h4 {
  font-size:
    19px;
}


/* ==========================================================
   REPRODUCTOR
   Permitimos videos verticales.
   ========================================================== */

.davisas-testimonial-player {
  justify-items:
    center;
}


.davisas-testimonial-player-heading,
.davisas-testimonial-back {
  justify-self:
    stretch;
}


.davisas-testimonial-player video {
  width:
    auto;

  max-width:
    100%;

  height:
    min(
      68vh,
      760px
    );

  max-height:
    68vh;

  aspect-ratio:
    auto;

  object-fit:
    contain;

  background:
    #000;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 680px) {

  #testimonials-modal {
    width:
      94vw;
  }


  .davisas-testimonials-carousel-controls {
    margin-bottom:
      14px;
  }


  .davisas-carousel-hint {
    max-width:
      170px;

    line-height:
      1.35;
  }


  .davisas-carousel-arrow {
    width:
      40px;

    height:
      40px;
  }


  .davisas-testimonials-list {
    gap:
      14px;

    padding-inline:
      2px;
  }


  .davisas-testimonial-video-card {
    flex-basis:
      min(
        76vw,
        285px
      );
  }


  .davisas-testimonial-card-body {
    min-height:
      142px;
  }


  .davisas-testimonial-player video {
    width:
      100%;

    height:
      auto;

    max-height:
      70vh;
  }

}


/* DAVISAS_REEL_CAROUSEL_V3_END */

/* DAVISAS_TESTIMONIAL_PREMIUM_V4_START */


/* ==========================================================
   MODAL
   ========================================================== */

#testimonials-modal {
  width:
    min(
      94vw,
      1180px
    ) !important;

  border:
    1px solid
    rgba(226,181,61,.32) !important;

  border-radius:
    30px !important;

  background:
    #080909 !important;
}


#testimonials-modal .davisas-modal-shell {
  max-height:
    88vh;

  padding:
    42px 42px 36px !important;

  background:
    radial-gradient(
      circle at 88% 4%,
      rgba(212,160,38,.13),
      transparent 28%
    ),
    radial-gradient(
      circle at 8% 90%,
      rgba(212,160,38,.055),
      transparent 26%
    ),
    linear-gradient(
      145deg,
      #0c0d0d 0%,
      #070808 100%
    ) !important;

  scrollbar-width:
    thin;

  scrollbar-color:
    rgba(219,170,49,.45)
    rgba(255,255,255,.025);
}


#testimonials-modal
.davisas-modal-shell::-webkit-scrollbar {
  width:
    7px;
}


#testimonials-modal
.davisas-modal-shell::-webkit-scrollbar-track {
  background:
    rgba(255,255,255,.025);
}


#testimonials-modal
.davisas-modal-shell::-webkit-scrollbar-thumb {
  background:
    rgba(219,170,49,.42);

  border-radius:
    999px;
}


/* ==========================================================
   CABECERA
   ========================================================== */

#testimonials-modal .eyebrow {
  display:
    inline-flex;

  align-items:
    center;

  gap:
    10px;

  margin-bottom:
    15px;

  color:
    #dcb13f;

  font-size:
    11px;

  font-weight:
    800;

  letter-spacing:
    .16em;

  text-transform:
    uppercase;
}


#testimonials-modal h2 {
  max-width:
    760px;

  margin:
    0;

  color:
    #fff;

  font-size:
    clamp(
      38px,
      5vw,
      58px
    );

  line-height:
    .96;

  letter-spacing:
    -.045em;
}


#testimonials-modal h2 em {
  color:
    #dfb239;

  font-style:
    normal;
}


#testimonials-modal h2 + p {
  max-width:
    620px;

  margin:
    20px 0 31px;

  color:
    rgba(255,255,255,.59);

  font-size:
    15px;

  line-height:
    1.65;
}


/* ==========================================================
   BOTON CERRAR
   ========================================================== */

#testimonials-modal
.davisas-modal-close {
  top:
    20px;

  right:
    20px;

  width:
    46px;

  height:
    46px;

  border:
    1px solid
    rgba(222,176,55,.32);

  border-radius:
    50%;

  color:
    #e2b53d;

  background:
    rgba(8,9,9,.72);

  backdrop-filter:
    blur(10px);

  transition:
    transform .25s ease,
    background .25s ease,
    border-color .25s ease;
}


#testimonials-modal
.davisas-modal-close:hover {
  transform:
    rotate(90deg);

  background:
    rgba(222,176,55,.08);

  border-color:
    rgba(222,176,55,.65);
}


/* ==========================================================
   BARRA DEL CARRUSEL
   ========================================================== */

#testimonials-modal
.davisas-testimonials-carousel-controls {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    18px;

  margin:
    0 0 20px;

  padding:
    12px 0;

  border-top:
    1px solid
    rgba(255,255,255,.055);

  border-bottom:
    1px solid
    rgba(255,255,255,.055);
}


#testimonials-modal
.davisas-carousel-hint {
  color:
    rgba(224,178,58,.86);

  font-size:
    10px;

  font-weight:
    800;

  letter-spacing:
    .15em;

  text-transform:
    uppercase;
}


#testimonials-modal
.davisas-carousel-navigation {
  display:
    flex;

  align-items:
    center;

  gap:
    9px;
}


#testimonials-modal
.davisas-carousel-counter {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  min-width:
    68px;

  height:
    42px;

  margin-right:
    5px;

  padding:
    0 12px;

  color:
    rgba(255,255,255,.60);

  font-size:
    11px;

  font-weight:
    700;

  letter-spacing:
    .1em;

  border:
    1px solid
    rgba(255,255,255,.07);

  border-radius:
    999px;

  background:
    rgba(255,255,255,.025);
}


#testimonials-modal
.davisas-carousel-arrow {
  width:
    44px;

  height:
    44px;

  color:
    #e2b53d;

  border:
    1px solid
    rgba(226,181,61,.28);

  border-radius:
    50%;

  background:
    rgba(255,255,255,.025);

  box-shadow:
    none;

  transition:
    transform .22s ease,
    background .22s ease,
    border-color .22s ease;
}


#testimonials-modal
.davisas-carousel-arrow:hover {
  transform:
    translateY(-2px);

  background:
    #dcb13f;

  border-color:
    #dcb13f;

  color:
    #080909;
}


/* ==========================================================
   CARRUSEL
   ========================================================== */

#testimonials-modal
.davisas-testimonials-list {
  display:
    flex !important;

  align-items:
    stretch;

  gap:
    18px !important;

  width:
    100%;

  overflow-x:
    auto !important;

  overflow-y:
    hidden !important;

  padding:
    2px 2px 12px !important;

  scroll-snap-type:
    x mandatory;

  scroll-behavior:
    smooth;

  scrollbar-width:
    none;
}


#testimonials-modal
.davisas-testimonials-list::-webkit-scrollbar {
  display:
    none;
}


/* ==========================================================
   TARJETA REEL COMPLETA
   ========================================================== */

#testimonials-modal
.davisas-testimonial-video-card {
  position:
    relative;

  flex:
    0 0
    clamp(
      245px,
      27vw,
      292px
    ) !important;

  aspect-ratio:
    9 / 16;

  min-width:
    0;

  overflow:
    hidden;

  scroll-snap-align:
    start;

  cursor:
    pointer;

  border:
    1px solid
    rgba(226,181,61,.23);

  border-radius:
    22px;

  background:
    #050606;

  box-shadow:
    0 22px 60px
    rgba(0,0,0,.28);

  transition:
    transform .26s ease,
    border-color .26s ease,
    box-shadow .26s ease;
}


#testimonials-modal
.davisas-testimonial-video-card:hover {
  transform:
    translateY(-5px);

  border-color:
    rgba(226,181,61,.62);

  box-shadow:
    0 28px 70px
    rgba(0,0,0,.42),
    0 0 34px
    rgba(207,156,32,.055);
}


/* ==========================================================
   PORTADA DEL VIDEO
   ========================================================== */

#testimonials-modal
.davisas-testimonial-preview {
  position:
    absolute;

  inset:
    0;

  width:
    100%;

  height:
    100%;

  min-height:
    0 !important;

  aspect-ratio:
    auto !important;

  overflow:
    hidden;

  border-radius:
    inherit;

  background:
    radial-gradient(
      circle at 50% 42%,
      rgba(212,160,38,.13),
      transparent 34%
    ),
    #060707;
}


#testimonials-modal
.davisas-testimonial-cover-video {
  position:
    absolute;

  inset:
    0;

  width:
    100%;

  height:
    100%;

  object-fit:
    cover;

  object-position:
    center;

  opacity:
    0;

  pointer-events:
    none;

  transform:
    scale(1.01);

  transition:
    opacity .45s ease,
    transform .6s ease;
}


#testimonials-modal
.davisas-testimonial-preview.cover-ready
.davisas-testimonial-cover-video {
  opacity:
    1;
}


#testimonials-modal
.davisas-testimonial-video-card:hover
.davisas-testimonial-cover-video {
  transform:
    scale(1.035);
}


/* ==========================================================
   SOMBRA SOBRE VIDEO
   ========================================================== */

#testimonials-modal
.davisas-testimonial-cover-shade {
  position:
    absolute;

  z-index:
    2;

  inset:
    0;

  pointer-events:
    none;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.05) 0%,
      rgba(0,0,0,.02) 40%,
      rgba(0,0,0,.34) 62%,
      rgba(0,0,0,.94) 100%
    );
}


/* ==========================================================
   PLAY
   ========================================================== */

#testimonials-modal
.davisas-testimonial-cover-play {
  position:
    absolute;

  z-index:
    4;

  top:
    50%;

  left:
    50%;

  display:
    grid;

  place-items:
    center;

  width:
    66px;

  height:
    66px;

  transform:
    translate(
      -50%,
      -50%
    );

  pointer-events:
    none;

  color:
    #090909;

  border:
    1px solid
    rgba(255,255,255,.20);

  border-radius:
    50%;

  background:
    rgba(224,178,58,.94);

  box-shadow:
    0 0 0 10px
    rgba(222,176,55,.075),
    0 16px 45px
    rgba(0,0,0,.38);

  transition:
    transform .25s ease,
    box-shadow .25s ease;
}


#testimonials-modal
.davisas-testimonial-cover-play span {
  display:
    block;

  margin-left:
    3px;

  font-size:
    19px;
}


#testimonials-modal
.davisas-testimonial-video-card:hover
.davisas-testimonial-cover-play {
  transform:
    translate(
      -50%,
      -50%
    )
    scale(1.07);

  box-shadow:
    0 0 0 13px
    rgba(222,176,55,.085),
    0 18px 50px
    rgba(0,0,0,.45);
}


/*
 * Ocultamos el play anterior,
 * porque ahora tenemos uno premium.
 */
#testimonials-modal
.davisas-testimonial-play {
  display:
    none !important;
}


/* ==========================================================
   TEXTO SUPERPUESTO
   ========================================================== */

#testimonials-modal
.davisas-testimonial-card-body {
  position:
    absolute;

  z-index:
    5;

  left:
    0;

  right:
    0;

  bottom:
    0;

  min-height:
    0 !important;

  padding:
    82px 20px 22px !important;

  pointer-events:
    none;

  border:
    0 !important;

  background:
    linear-gradient(
      180deg,
      transparent,
      rgba(0,0,0,.92)
    ) !important;
}


#testimonials-modal
.davisas-testimonial-card-body > * {
  pointer-events:
    none;
}


#testimonials-modal
.davisas-testimonial-card-body
small {
  color:
    rgba(224,178,58,.88);

  font-size:
    9px;

  font-weight:
    800;

  letter-spacing:
    .14em;
}


#testimonials-modal
.davisas-testimonial-card-body
h4 {
  margin:
    7px 0 5px;

  color:
    #fff;

  font-size:
    20px;

  line-height:
    1.15;

  letter-spacing:
    -.025em;
}


#testimonials-modal
.davisas-testimonial-card-body
p {
  margin:
    0 0 12px;

  color:
    rgba(224,178,58,.91);

  font-size:
    11px;

  line-height:
    1.4;
}


/*
 * Convertimos el texto inferior
 * en una acción limpia.
 */
#testimonials-modal
.davisas-testimonial-card-body
button,
#testimonials-modal
.davisas-testimonial-card-body
a {
  display:
    inline-flex;

  align-items:
    center;

  gap:
    6px;

  margin-top:
    5px;

  padding:
    0;

  color:
    #fff;

  font-size:
    11px;

  font-weight:
    750;

  text-decoration:
    none;

  border:
    0;

  background:
    transparent;
}


/* ==========================================================
   PLAYER
   ========================================================== */

#testimonials-modal
.davisas-testimonial-player {
  width:
    100%;

  justify-items:
    center;
}


#testimonials-modal
.davisas-testimonial-player video {
  display:
    block;

  width:
    auto;

  max-width:
    100%;

  height:
    min(
      67vh,
      720px
    );

  max-height:
    67vh;

  margin:
    0 auto;

  object-fit:
    contain;

  border-radius:
    18px;

  background:
    #000;

  box-shadow:
    0 25px 70px
    rgba(0,0,0,.46);
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 680px) {

  #testimonials-modal {
    width:
      94vw !important;

    border-radius:
      23px !important;
  }


  #testimonials-modal
  .davisas-modal-shell {
    padding:
      31px 20px 25px !important;
  }


  #testimonials-modal h2 {
    padding-right:
      48px;

    font-size:
      clamp(
        34px,
        11vw,
        46px
      );
  }


  #testimonials-modal
  h2 + p {
    margin-top:
      15px;

    margin-bottom:
      23px;

    font-size:
      13px;
  }


  #testimonials-modal
  .davisas-testimonials-carousel-controls {
    align-items:
      center;

    margin-bottom:
      15px;
  }


  #testimonials-modal
  .davisas-carousel-hint {
    max-width:
      130px;

    line-height:
      1.35;
  }


  #testimonials-modal
  .davisas-carousel-counter {
    display:
      none;
  }


  #testimonials-modal
  .davisas-carousel-arrow {
    width:
      39px;

    height:
      39px;
  }


  #testimonials-modal
  .davisas-testimonials-list {
    gap:
      13px !important;
  }


  #testimonials-modal
  .davisas-testimonial-video-card {
    flex-basis:
      min(
        76vw,
        290px
      ) !important;
  }


  #testimonials-modal
  .davisas-testimonial-player video {
    width:
      100%;

    height:
      auto;

    max-height:
      70vh;
  }

}


/* DAVISAS_TESTIMONIAL_PREMIUM_V4_END */


/* DAVISAS_IDENTITY_SPECIALISTS_V1_START */


/* ==========================================================
   HEADER - IDENTIDAD
   ========================================================== */

.header-brand-group {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}


.header-brand-identity {
  display: flex;
  flex-direction: column;

  max-width: 210px;

  padding-left: 15px;

  border-left:
    1px solid
    rgba(226,181,61,.30);

  line-height: 1.25;
}


.header-brand-identity span {
  color:
    rgba(255,255,255,.72);

  font-size:
    9px;

  font-weight:
    500;

  letter-spacing:
    .04em;

  text-transform:
    uppercase;
}


.header-brand-identity strong {
  margin-top:
    3px;

  color:
    #e5b83e;

  font-size:
    10px;

  font-weight:
    800;

  letter-spacing:
    .035em;

  text-transform:
    uppercase;
}



/* ==========================================================
   HERO - ESPECIALISTAS EN VISAS
   ========================================================== */

.hero-centered-copy h1 em {
  display:
    block;
}


.hero-centered-copy .hero-lead {
  max-width:
    800px;

  margin-inline:
    auto;
}



/* ==========================================================
   EQUIPO PROFESIONAL - 6 ÁREAS
   ========================================================== */

.expert-team-grid.expert-team-grid-six {
  display:
    grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap:
    18px;

  margin-top:
    38px;
}


.expert-team-grid-six .expert-team-card {
  min-height:
    310px;

  display:
    flex;

  flex-direction:
    column;
}


.expert-team-grid-six
.expert-team-card h4 {
  min-height:
    58px;
}


.expert-team-grid-six
.expert-team-card p {
  margin-top:
    auto;
}


.expert-team-note {
  max-width:
    800px;

  margin:
    28px auto 0;

  display:
    flex;

  align-items:
    flex-start;

  gap:
    14px;

  padding:
    18px 22px;

  border:
    1px solid
    rgba(226,181,61,.22);

  border-radius:
    16px;

  background:
    rgba(5,6,6,.72);
}


.expert-team-note > span {
  color:
    #e5b83e;

  font-size:
    18px;
}


.expert-team-note p {
  margin:
    0;

  color:
    rgba(255,255,255,.68);

  font-size:
    12px;

  line-height:
    1.65;
}


.expert-team-note strong {
  color:
    #e5b83e;
}



/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1180px) {

  .header-brand-identity {
    display:
      none;
  }

}


@media (max-width: 980px) {

  .expert-team-grid.expert-team-grid-six {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

}


@media (max-width: 600px) {

  .expert-team-grid.expert-team-grid-six {
    grid-template-columns:
      1fr;

    gap:
      14px;
  }


  .expert-team-grid-six
  .expert-team-card {
    min-height:
      auto;
  }


  .expert-team-grid-six
  .expert-team-card h4 {
    min-height:
      auto;
  }


  .expert-team-note {
    padding:
      16px;
  }

}


/* DAVISAS_IDENTITY_SPECIALISTS_V1_END */



/* DAVISAS_PASSPORT_SERVICES_V2_STYLE_START */


/* ==========================================================
   SECCION GENERAL
   ========================================================== */

.passport-services-section {
  position:
    relative;

  padding:
    105px 0;

  overflow:
    hidden;

  background:
    radial-gradient(
      circle at 50% 35%,
      rgba(201,149,36,.09),
      transparent 34%
    ),
    #0b0c0c;

  color:
    #fff;
}


.passport-services-wrap {
  position:
    relative;

  z-index:
    2;
}


.passport-services-heading {
  max-width:
    820px;

  margin:
    0 auto 52px;

  text-align:
    center;
}


.passport-services-heading h2 {
  margin:
    14px 0 18px;

  color:
    #fff;

  font-size:
    clamp(42px, 5vw, 68px);

  line-height:
    .98;

  letter-spacing:
    -.045em;
}


.passport-services-heading h2 em {
  display:
    block;

  color:
    var(--gold-2);

  font-style:
    normal;
}


.passport-services-heading p {
  max-width:
    720px;

  margin:
    0 auto;

  color:
    rgba(255,255,255,.67);

  font-size:
    15px;

  line-height:
    1.75;
}



/* ==========================================================
   GRID
   ========================================================== */

.passport-services-grid {
  display:
    grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap:
    24px;
}



/* ==========================================================
   CARDS
   ========================================================== */

.passport-service-card {
  position:
    relative;

  min-height:
    510px;

  display:
    grid;

  grid-template-columns:
    minmax(0, 1fr)
    260px;

  align-items:
    center;

  gap:
    20px;

  padding:
    46px;

  overflow:
    hidden;

  border:
    1px solid
    rgba(226,181,61,.24);

  border-radius:
    30px;

  background:
    radial-gradient(
      circle at 85% 20%,
      rgba(217,167,48,.10),
      transparent 32%
    ),
    linear-gradient(
      145deg,
      rgba(18,18,16,.96),
      rgba(5,6,6,.98)
    );

  box-shadow:
    0 28px 80px
    rgba(0,0,0,.26);
}


.passport-service-card::before {
  content:
    "";

  position:
    absolute;

  inset:
    0;

  pointer-events:
    none;

  background:
    linear-gradient(
      120deg,
      rgba(255,255,255,.025),
      transparent 42%
    );
}


.passport-service-copy {
  position:
    relative;

  z-index:
    3;
}


.passport-service-number {
  display:
    inline-grid;

  place-items:
    center;

  width:
    34px;

  height:
    34px;

  margin-bottom:
    22px;

  border:
    1px solid
    rgba(226,181,61,.35);

  border-radius:
    50%;

  color:
    var(--gold-2);

  font-size:
    10px;

  font-weight:
    900;
}


.passport-service-label {
  display:
    block;

  margin-bottom:
    10px;

  color:
    var(--gold-2);

  font-size:
    10px;

  font-weight:
    900;

  letter-spacing:
    .14em;
}


.passport-service-card h3 {
  margin:
    0 0 18px;

  color:
    #fff;

  font-size:
    clamp(31px, 3vw, 47px);

  line-height:
    1;

  letter-spacing:
    -.035em;
}


.passport-service-card h3 em {
  display:
    block;

  color:
    var(--gold-2);

  font-style:
    normal;
}


.passport-service-card p {
  max-width:
    500px;

  margin:
    0 0 28px;

  color:
    rgba(255,255,255,.64);

  font-size:
    13px;

  line-height:
    1.72;
}



/* ==========================================================
   VISUAL GENERAL
   ========================================================== */

.passport-service-visual {
  position:
    relative;

  z-index:
    2;

  min-height:
    350px;

  display:
    grid;

  place-items:
    center;
}



/* ==========================================================
   VENEZUELA
   ========================================================== */

.passport-service-visual-real img {
  display:
    block;

  width:
    min(245px, 100%);

  max-height:
    350px;

  object-fit:
    contain;

  filter:
    drop-shadow(
      -18px 28px 46px
      rgba(0,0,0,.48)
    );
}



/* ==========================================================
   PASAPORTE ANDINO
   Representacion grafica DAVISAS.
   No pretende reproducir un documento oficial.
   ========================================================== */

.passport-andean-visual {
  perspective:
    1000px;
}


.andean-passport-book {
  width:
    220px;

  aspect-ratio:
    .72;

  display:
    flex;

  flex-direction:
    column;

  align-items:
    center;

  padding:
    32px 24px;

  border:
    1px solid
    rgba(235,200,104,.38);

  border-radius:
    9px 22px 22px 9px;

  background:
    radial-gradient(
      circle at 35% 20%,
      rgba(255,255,255,.07),
      transparent 26%
    ),
    linear-gradient(
      145deg,
      #152344,
      #071126 72%
    );

  color:
    #dfbb59;

  box-shadow:
    -22px 34px 64px
    rgba(0,0,0,.52);

  transform:
    rotateY(-12deg)
    rotateZ(4deg);
}


.andean-passport-top {
  align-self:
    stretch;

  font-size:
    9px;

  font-weight:
    800;

  letter-spacing:
    .18em;
}


.andean-passport-symbol {
  width:
    86px;

  height:
    86px;

  display:
    grid;

  place-items:
    center;

  margin:
    58px 0 30px;

  border:
    2px solid
    rgba(223,187,89,.72);

  border-radius:
    50%;

  font-size:
    44px;
}


.andean-passport-book strong {
  font-size:
    19px;

  letter-spacing:
    .14em;
}


.andean-passport-book b {
  margin-top:
    7px;

  font-size:
    13px;

  letter-spacing:
    .25em;
}


.andean-passport-book small {
  margin-top:
    auto;

  text-align:
    center;

  font-size:
    7px;

  letter-spacing:
    .12em;

  opacity:
    .72;
}



/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1100px) {

  .passport-service-card {
    grid-template-columns:
      1fr;

    min-height:
      auto;
  }


  .passport-service-copy {
    text-align:
      center;
  }


  .passport-service-card p {
    margin-left:
      auto;

    margin-right:
      auto;
  }


  .passport-service-visual {
    min-height:
      300px;
  }

}


@media (max-width: 780px) {

  .passport-services-section {
    padding:
      78px 0;
  }


  .passport-services-grid {
    grid-template-columns:
      1fr;
  }


  .passport-service-card {
    padding:
      32px 24px;

    border-radius:
      24px;
  }


  .passport-service-visual-real img {
    width:
      min(220px, 82%);
  }


  .andean-passport-book {
    width:
      190px;
  }

}


@media (max-width: 600px) {

  .passport-services-heading {
    margin-bottom:
      34px;
  }


  .passport-services-heading h2 {
    font-size:
      42px;
  }


  .passport-service-card h3 {
    font-size:
      34px;
  }


  .passport-service-visual {
    min-height:
      265px;
  }

}


/* DAVISAS_PASSPORT_SERVICES_V2_STYLE_END */






/* DAVISAS_VISA_COUNTRY_FLAGS_V2_START */


/* ==========================================================
   ESTRUCTURA

   La bandera existe SOLO en la zona visual del documento.
   No invade textos ni botones.
   ========================================================== */

.visa-country-panel .visa-document-wrap {
  position:
    relative;

  isolation:
    isolate;

  display:
    grid;

  place-items:
    center;

  overflow:
    visible;
}


/*
 * Bandera detrás de la imagen.
 */
.visa-country-panel .visa-document-wrap::before {
  content:
    "";

  position:
    absolute;

  left:
    50%;

  top:
    50%;

  width:
    min(430px, 128%);

  aspect-ratio:
    3 / 2;

  transform:
    translate(-50%, -50%)
    rotate(-4deg);

  z-index:
    0;

  opacity:
    .26;

  pointer-events:
    none;

  filter:
    saturate(.92)
    brightness(.76)
    contrast(1.02);

  /*
   * Esto elimina el efecto de rectángulo duro.
   */
  -webkit-mask-image:
    radial-gradient(
      ellipse at center,
      #000 24%,
      rgba(0,0,0,.92) 48%,
      rgba(0,0,0,.52) 67%,
      transparent 87%
    );

  mask-image:
    radial-gradient(
      ellipse at center,
      #000 24%,
      rgba(0,0,0,.92) 48%,
      rgba(0,0,0,.52) 67%,
      transparent 87%
    );
}


/*
 * Glow queda sobre la bandera
 * pero debajo del documento.
 */
.visa-country-panel .visa-document-glow {
  position:
    absolute;

  z-index:
    1;
}


/*
 * Documento siempre arriba.
 */
.visa-country-panel .visa-document {
  position:
    relative;

  z-index:
    3;
}


.visa-country-panel .visa-real-image {
  position:
    relative;

  z-index:
    4;
}



/* ==========================================================
   ESTADOS UNIDOS
   ========================================================== */

.visa-country-us
.visa-document-wrap::before {

  background:

    /*
     * Cantón azul.
     */
    linear-gradient(
      #3c3b6e 0 0
    )
    left top /
    42% 54%
    no-repeat,

    /*
     * Franjas.
     */
    repeating-linear-gradient(
      to bottom,

      #b22234 0%,
      #b22234 7.69%,

      #ffffff 7.69%,
      #ffffff 15.38%
    );

  opacity:
    .30;

  transform:
    translate(-50%, -50%)
    rotate(-5deg);
}



/* ==========================================================
   CANADA
   ========================================================== */

.visa-country-ca
.visa-document-wrap::before {

  background:

    /*
     * Marca central estilizada.
     */
    radial-gradient(
      circle at 50% 50%,
      #d80621 0 7%,
      transparent 7.5%
    ),

    /*
     * Franjas nacionales.
     */
    linear-gradient(
      to right,

      #d80621 0 25%,
      #ffffff 25% 75%,
      #d80621 75% 100%
    );

  opacity:
    .23;

  transform:
    translate(-50%, -50%)
    rotate(4deg);
}



/* ==========================================================
   REINO UNIDO
   ========================================================== */

.visa-country-gb
.visa-document-wrap::before {

  background:

    /*
     * Diagonales blancas.
     */
    linear-gradient(
      34deg,
      transparent 42%,
      #ffffff 42% 47%,
      transparent 47% 53%,
      #ffffff 53% 58%,
      transparent 58%
    ),

    linear-gradient(
      -34deg,
      transparent 42%,
      #ffffff 42% 47%,
      transparent 47% 53%,
      #ffffff 53% 58%,
      transparent 58%
    ),

    /*
     * Diagonales rojas.
     */
    linear-gradient(
      34deg,
      transparent 46%,
      #c8102e 46% 49%,
      transparent 49% 51%,
      #c8102e 51% 54%,
      transparent 54%
    ),

    linear-gradient(
      -34deg,
      transparent 46%,
      #c8102e 46% 49%,
      transparent 49% 51%,
      #c8102e 51% 54%,
      transparent 54%
    ),

    /*
     * Cruz blanca.
     */
    linear-gradient(
      to right,
      transparent 0 40%,
      #ffffff 40% 60%,
      transparent 60% 100%
    ),

    linear-gradient(
      to bottom,
      transparent 0 39%,
      #ffffff 39% 61%,
      transparent 61% 100%
    ),

    /*
     * Cruz roja.
     */
    linear-gradient(
      to right,
      transparent 0 45%,
      #c8102e 45% 55%,
      transparent 55% 100%
    ),

    linear-gradient(
      to bottom,
      transparent 0 45%,
      #c8102e 45% 55%,
      transparent 55% 100%
    ),

    #012169;

  opacity:
    .27;

  transform:
    translate(-50%, -50%)
    rotate(-4deg);
}



/* ==========================================================
   AUSTRALIA
   ========================================================== */

.visa-country-au
.visa-document-wrap::before {

  background:

    /*
     * Estrellas estilizadas.
     */
    radial-gradient(
      circle at 72% 26%,
      #ffffff 0 1.4%,
      transparent 1.8%
    ),

    radial-gradient(
      circle at 82% 43%,
      #ffffff 0 1.15%,
      transparent 1.55%
    ),

    radial-gradient(
      circle at 67% 58%,
      #ffffff 0 1.35%,
      transparent 1.75%
    ),

    radial-gradient(
      circle at 84% 70%,
      #ffffff 0 1.1%,
      transparent 1.5%
    ),

    radial-gradient(
      circle at 56% 75%,
      #ffffff 0 1.5%,
      transparent 1.9%
    ),

    /*
     * Union Jack simplificada arriba izquierda.
     */
    linear-gradient(
      35deg,
      transparent 43%,
      #ffffff 43% 48%,
      transparent 48% 52%,
      #ffffff 52% 57%,
      transparent 57%
    )
    left top /
    46% 48%
    no-repeat,

    linear-gradient(
      -35deg,
      transparent 43%,
      #ffffff 43% 48%,
      transparent 48% 52%,
      #ffffff 52% 57%,
      transparent 57%
    )
    left top /
    46% 48%
    no-repeat,

    linear-gradient(
      to right,
      transparent 0 42%,
      #ffffff 42% 58%,
      transparent 58% 100%
    )
    left top /
    46% 48%
    no-repeat,

    linear-gradient(
      to bottom,
      transparent 0 42%,
      #ffffff 42% 58%,
      transparent 58% 100%
    )
    left top /
    46% 48%
    no-repeat,

    linear-gradient(
      to right,
      transparent 0 46%,
      #c8102e 46% 54%,
      transparent 54% 100%
    )
    left top /
    46% 48%
    no-repeat,

    linear-gradient(
      to bottom,
      transparent 0 46%,
      #c8102e 46% 54%,
      transparent 54% 100%
    )
    left top /
    46% 48%
    no-repeat,

    #012b6d;

  opacity:
    .28;

  transform:
    translate(-50%, -50%)
    rotate(4deg);
}



/* ==========================================================
   INTEGRACION CON EL CARD
   ========================================================== */

/*
 * Glow suave de profundidad.
 */
.visa-country-panel
.visa-document-wrap::after {

  content:
    "";

  position:
    absolute;

  left:
    50%;

  top:
    53%;

  width:
    340px;

  height:
    340px;

  transform:
    translate(-50%, -50%);

  z-index:
    2;

  border-radius:
    50%;

  pointer-events:
    none;

  background:
    radial-gradient(
      circle,
      rgba(215,167,52,.15),
      rgba(215,167,52,.05) 36%,
      transparent 70%
    );
}



/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

  .visa-country-panel
  .visa-document-wrap::before {

    width:
      min(360px, 118%);

    opacity:
      .22;
  }


  .visa-country-panel
  .visa-document-wrap::after {

    width:
      290px;

    height:
      290px;
  }

}


@media (max-width: 600px) {

  .visa-country-panel
  .visa-document-wrap::before {

    width:
      330px;

    max-width:
      112vw;

    opacity:
      .20;
  }


  .visa-country-panel
  .visa-document-wrap::after {

    width:
      250px;

    height:
      250px;
  }

}


/* DAVISAS_VISA_COUNTRY_FLAGS_V2_END */


/* DAVISAS_ANDEAN_PASSPORT_REAL_START */

.passport-andean-visual {
  position: relative;

  display: grid;

  place-items: center;

  min-height: 350px;

  perspective: 1000px;
}


.passport-andean-real-image {
  position: relative;

  z-index: 3;

  display: block;

  width: min(245px, 100%);

  max-height: 360px;

  object-fit: contain;

  object-position: center;

  border-radius: 8px;

  transform:
    rotateY(-8deg)
    rotateZ(3deg);

  filter:
    drop-shadow(
      -18px 28px 46px
      rgba(0,0,0,.55)
    );
}


/*
 * Glow dorado muy sutil.
 */
.passport-andean-visual::before {
  content: "";

  position: absolute;

  left: 50%;
  top: 52%;

  width: 300px;
  height: 360px;

  transform:
    translate(-50%, -50%);

  z-index: 1;

  pointer-events: none;

  background:
    radial-gradient(
      ellipse,
      rgba(214,163,45,.14),
      rgba(214,163,45,.04) 43%,
      transparent 72%
    );
}


@media (max-width: 780px) {

  .passport-andean-real-image {
    width: min(220px, 82%);

    max-height: 330px;
  }

}


@media (max-width: 600px) {

  .passport-andean-visual {
    min-height: 285px;
  }


  .passport-andean-real-image {
    width: min(205px, 78%);

    transform:
      rotateY(-5deg)
      rotateZ(2deg);
  }

}

/* DAVISAS_ANDEAN_PASSPORT_REAL_END */


/* DAVISAS_HERO_VIDEO_REORG_V2_START
   ==========================================================
   HERO:
   - copy original intact
   - presentation video 16:9 on all viewports

   FOLLOWUP:
   - visas
   - appointment actions
   - destinations

   Separate semantic section outside hero.
   ========================================================== */


.hero-primary-content {
  width: 100%;

  display: flex;
  flex-direction: column;
  align-items: center;

  position: relative;
  z-index: 3;
}


/* ==========================================================
   PRESENTATION VIDEO
   ========================================================== */

.hero-presentation {
  width: min(
    100%,
    960px
  );

  margin:
    30px auto
    0;

  padding: 0;

  overflow: hidden;

  border: 0;
  border-radius: 0;

  background: transparent;

  box-shadow: none;
}


.hero-presentation-video {
  display: block;

  width: 100%;
  height: auto;

  aspect-ratio: 16 / 9;

  object-fit: cover;
  object-position: center;

  margin: 0;
  padding: 0;

  border: 0;
  border-radius: 0;

  outline: 0;

  background: transparent;

  box-shadow: none;
}


/* ==========================================================
   HERO NOW ENDS AFTER VIDEO
   ========================================================== */

.hero-centered .hero-wave {
  display: none;
}


/* ==========================================================
   SECONDARY SECTION OUTSIDE HERO
   ========================================================== */

.hero-followup {
  position: relative;

  overflow: hidden;

  color: #fff;

  background:
    radial-gradient(
      circle at 50% 10%,
      rgba(205, 153, 37, .10),
      transparent 37%
    ),
    linear-gradient(
      180deg,
      #050606 0%,
      #0b0b09 100%
    );
}


.hero-followup-inner {
  position: relative;

  z-index: 3;

  display: flex;
  flex-direction: column;
  align-items: center;

  padding-top: 48px;
  padding-bottom: 118px;

  text-align: center;
}


.hero-followup
.hero-secondary-content {
  width: 100%;

  display: flex;
  flex-direction: column;
  align-items: center;

  margin: 0;
}


.hero-followup
.hero-visa-fan-centered {
  margin-top: 0;
}


/* ==========================================================
   WAVE NOW BELONGS TO FOLLOWUP SECTION
   ========================================================== */

.hero-followup-wave {
  position: absolute;

  left: -4%;
  right: -4%;

  bottom: -70px;

  height: 105px;

  z-index: 6;

  background: var(--cream-2);

  border-radius:
    50% 50% 0 0 /
    45% 45% 0 0;

  transform:
    rotate(-1deg);

  box-shadow:
    0 -2px 0
    rgba(201,149,36,.45);

  pointer-events: none;
}


/* ==========================================================
   TABLET
   Video remains 16:9
   ========================================================== */

@media (max-width: 900px) {

  .hero-presentation {
    width: min(
      100%,
      720px
    );

    margin-top: 26px;
  }


  .hero-presentation-video {
    aspect-ratio: 16 / 9;

    object-fit: cover;
  }


  .hero-followup-inner {
    padding-top: 42px;
    padding-bottom: 115px;
  }

}


/* ==========================================================
   MOBILE
   Video remains 16:9
   ========================================================== */

@media (max-width: 600px) {

  .hero-presentation {
    width: 100%;

    margin-top: 22px;
  }


  .hero-presentation-video {
    aspect-ratio: 16 / 9;

    object-fit: cover;
  }


  .hero-followup-inner {
    padding-top: 34px;
    padding-bottom: 105px;
  }

}

/* DAVISAS_HERO_VIDEO_REORG_V2_END */
