@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
--font-display: 'Cormorant Garamond', Georgia, serif;
--font-body: 'Manrope', 'Segoe UI', sans-serif;
--bg-deep: #07131e;
--bg-panel: rgba(7, 19, 30, 0.78);
--bg-glass: rgba(255, 255, 255, 0.08);
--line-soft: rgba(255, 255, 255, 0.16);
--line-warm: rgba(244, 162, 97, 0.72);
--text-main: #f7f3ec;
--text-soft: rgba(247, 243, 236, 0.76);
--accent: #f4a261;
--accent-strong: #ec7e4c;
--shadow-lg: 0 24px 60px rgba(0, 0, 0, 0.42);
}

*{
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
margin:0;
font-family:var(--font-body);
color:var(--text-main);
letter-spacing:0.015em;
line-height:1.6;
background:
linear-gradient(180deg, rgba(4, 14, 24, 0.7), rgba(4, 14, 24, 0.92)),
url("images/fondo.png") no-repeat center center fixed;
background-size:cover;
}

body::before{
content:"";
position:fixed;
inset:0;
background:
radial-gradient(circle at top, rgba(244, 162, 97, 0.18), transparent 28%),
linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.26));
pointer-events:none;
z-index:-1;
}

.header{
position:sticky;
top:0;
z-index:20;
height:110px; /* 🔽 antes 160px */
padding:0 25px; /* 🔽 antes 40px */
background:
linear-gradient(180deg, rgba(4, 32, 58, 0.98), rgba(7, 28, 49, 0.98)),
url("images/header.png") no-repeat center;
background-size:cover;
display:grid;
grid-template-columns: 160px 1fr 160px; /* 🔽 antes 200px */
align-items:center;
border-bottom:3px solid #f4a261;
box-shadow:0 10px 30px rgba(0, 0, 0, 0.5);
}

.header-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,0.2);
}

.brand-mascot{
position:relative;
z-index:2;
display:flex;
align-items:center;
justify-content:flex-start;
}

.brand-badge{
position:relative;
z-index:2;
display:flex;
align-items:center;
justify-content:center;
}

.mascot-img{
display:block;
height:85px; /* 🔽 antes 120px */
width:auto;
object-fit:contain;
filter:drop-shadow(0 8px 15px rgba(0,0,0,0.4)); /* ✔ corregido */
}

.logo-img{
display:block;
height:110px; /* 🔽 antes 160px */
width:auto;
max-width:100%;
object-fit:contain;
margin-top: 0;
filter:drop-shadow(0 15px 10px rgba(0,0,0,0.5));
}


/* 📱 TABLETS */
@media (max-width: 1024px){
    .header{
        height: 90px;
        grid-template-columns: 120px 1fr 120px;
        padding: 0 15px;
    }

    .mascot-img{
        height: 70px;
    }

    .logo-img{
        height: 85px;
    }
}


/* 📱 CELULARES */
@media (max-width: 768px){
    .header{
        height: auto; /* 🔥 importante */
        padding: 10px;
        grid-template-columns: 1fr; /* 🔥 se vuelve vertical */
        gap: 5px;
        text-align: center;
    }

    .brand-mascot{
        justify-content: center;
    }

    .brand-badge{
        justify-content: center;
    }

    .mascot-img{
        height: 60px;
    }

    .logo-img{
        height: 70px;
    }
}


/* 📱 CELULARES PEQUEÑOS */
@media (max-width: 480px){
    .mascot-img{
        height: 50px;
    }

    .logo-img{
        height: 60px;
    }
}

.menu{
position:relative;
z-index:2;
display:flex;
align-items:center;
justify-content:flex-end;
gap:15px;
}

.menu a{
color:#fff;
text-decoration:none;
font-family:var(--font-body);
font-weight:700;
font-size:1.1rem;
letter-spacing:0.05em;
transition: color 0.3s ease;
}

.menu a:hover{
color:#f4a261;
}

.menu a + a::before{
content:"•";
margin-right:15px;
color:#f4a261;
}

.lang-switch{
position:absolute;
top:10px;
right:40px;
z-index:30;
display:flex;
gap:8px;
}

.lang-switch button{
background:rgba(255, 255, 255, 0.05);
border:1px solid rgba(255, 255, 255, 0.1);
color:#fff;
padding:4px 8px;
font-size:0.65rem;
border-radius:4px;
cursor:pointer;
opacity:0.6;
}

.lang-switch button:hover{
opacity:1;
background:rgba(244, 162, 97, 0.2);
}

/* RESPONSIVE DESIGN */
@media (max-width: 768px) {
  .header {
    height: auto;
    min-height: 120px;
    padding: 15px 20px;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 15px;
    justify-items: center;
    text-align: center;
  }

  .brand-mascot {
    order: 2;
    justify-content: center;
  }

  .brand-badge {
    order: 1;
  }

  .menu {
    order: 3;
    justify-content: center;
    width: 100%;
    padding: 10px 0;
    border-top: 1px solid rgba(244, 162, 97, 0.2);
  }

  .mascot-img {
    height: 80px;
  }

  .logo-img {
    height: 100px;
  }

  .lang-switch {
    position: relative;
    top: 0;
    right: 0;
    justify-content: center;
    margin-bottom: 10px;
    order: 0;
  }

  .hero-title-band {
    padding: 30px 15px;
  }

  .hero-title {
    font-size: 2.5rem;
  }

  .hero-kicker {
    font-size: 0.9rem;
  }

  .hero-pricing {
    width: 100%;
    padding: 0 15px;
  }

  .pricing-card {
    width: 100%;
    padding: 15px;
  }

  .price-tag {
    flex-direction: column;
    align-items: center;
    gap: 5px;
  }

  .price-tag strong {
    font-size: 1.8rem;
  }

  .hero-highlights {
    flex-direction: column;
    gap: 8px;
  }

  .hero-highlights span {
    width: 100%;
    justify-content: center;
  }

  .btn-premium {
    min-width: 100%;
    margin: 5px 0;
  }

  .about-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .testimonials-grid {
    grid-template-columns: 1fr;
  }

  .carousel-item {
    min-width: 280px;
  }

  .carousel-item img {
    height: 250px;
  }
}

.hero{
min-height:calc(100vh - 112px);
padding:72px 24px 88px;
background:url("images/imagen1.jpeg") no-repeat center;
background-size:cover;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
position:relative;
overflow:hidden;
}

.hero::before{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(180deg, rgba(5, 16, 26, 0.42), rgba(5, 16, 26, 0.72)),
linear-gradient(90deg, rgba(5, 16, 26, 0.24), rgba(5, 16, 26, 0.1), rgba(5, 16, 26, 0.32));
}

.hero::after{
content:"";
position:absolute;
inset:auto 0 0;
height:180px;
background:linear-gradient(180deg, transparent, rgba(7, 19, 30, 0.9));
}

.hero-title-band{
position:relative;
z-index:2;
width:min(1760px, calc(100vw - 12px));
max-width:1760px;
padding:0 8px;
margin-bottom:18px;
text-align:center;
}

.hero-text{
position:relative;
z-index:2;
width:min(2040px, calc(100vw - 4px));
max-width:2040px;
min-height:auto;
padding:64px 36px 72px;
border:1px solid rgba(255, 255, 255, 0.18);
border-radius:34px;
background:linear-gradient(180deg, rgba(9, 23, 35, 0.28), rgba(9, 23, 35, 0.12));
backdrop-filter:blur(8px);
box-shadow:var(--shadow-lg);
animation:fadeUp 1s ease;
display:flex;
flex-direction:column;
justify-content:center;
text-align:center;
}

.hero-kicker{
display:inline-flex;
align-items:center;
gap:10px;
padding:9px 18px;
margin:0 0 24px;
border-radius:999px;
border:1px solid rgba(244, 162, 97, 0.42);
background:linear-gradient(135deg, rgba(244, 162, 97, 0.2), rgba(255, 255, 255, 0.08));
box-shadow:0 12px 30px rgba(0,0,0,0.2);
font-size:0.82rem;
font-weight:800;
letter-spacing:0.14em;
text-transform:uppercase;
color:#fff5eb;
}

.hero-kicker::before{
content:"";
width:10px;
height:10px;
border-radius:50%;
background:radial-gradient(circle, #ffd58b, var(--accent));
box-shadow:0 0 16px rgba(244, 162, 97, 0.8);
}

.hero-title{
font-family:var(--font-display);
width:100%;
max-width:none;
font-size:clamp(4.8rem, 8vw, 7rem);
margin:0;
font-weight:700;
line-height:1.02;
letter-spacing:0;
text-transform:none;
text-shadow:0 10px 28px rgba(0,0,0,0.45);
}

.hero-title span{
display:block;
white-space:nowrap;
}

.hero-title span + span{
margin-top:0;
}

.hero-text p{
max-width:760px;
margin:22px auto 34px;
font-size:1.02rem;
font-weight:600;
letter-spacing:0.14em;
text-transform:uppercase;
color:var(--text-soft);
text-shadow:0 0 10px rgba(0,0,0,0.5);
}

.hero-carousel{
position:relative;
max-width:100%;
margin:0 auto 24px;
padding:8px 0 10px;
}

.hero-carousel .carousel-track{
align-items:stretch;
}

.hero-carousel .carousel-item{
min-width:272px;
margin:0 10px;
opacity:0.5;
transform:scale(0.92);
}

.hero-carousel .carousel-item img{
height:240px;
border-radius:28px;
}

.hero-carousel .carousel-item.active{
opacity:1;
transform:scale(1);
}

.hero-carousel .carousel-btn{
width:48px;
height:48px;
font-size:26px;
}

.hero-highlights{
display:flex;
align-items:center;
justify-content:center;
flex-wrap:nowrap;
gap:12px;
max-width:none;
margin:0 auto 30px;
}

.hero-highlights span{
display:inline-flex;
align-items:center;
justify-content:center;
padding:11px 16px;
border-radius:999px;
background:rgba(255, 255, 255, 0.08);
border:1px solid rgba(255, 255, 255, 0.14);
box-shadow:inset 0 1px 0 rgba(255,255,255,0.08);
font-size:0.88rem;
font-weight:700;
letter-spacing:0.06em;
color:#fff;
white-space:nowrap;
}

.hero-actions{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:12px;
}

.hero-cta-group{
max-width:1080px;
margin:34px auto 0;
padding:22px 20px 18px;
border-radius:28px;
background:linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03));
border:1px solid rgba(255, 255, 255, 0.12);
box-shadow:0 14px 34px rgba(0,0,0,0.2);
}

.hero-cta-group h3{
margin:0 0 18px;
font-size:1rem;
font-weight:800;
letter-spacing:0.18em;
text-transform:uppercase;
color:#fff1df;
text-align:center;
}

.hero-social-title{
margin:18px 0 12px;
font-size:0.82rem;
font-weight:800;
letter-spacing:0.16em;
text-transform:uppercase;
color:rgba(247, 243, 236, 0.78);
text-align:center;
}

.btn-premium{
display:inline-flex;
align-items:center;
justify-content:center;
gap:12px;
min-width:280px;
padding:16px 30px;
margin:8px;
font-size:0.96rem;
font-family:var(--font-body);
font-weight:800;
letter-spacing:0.08em;
text-transform:uppercase;
border-radius:999px;
text-decoration:none;
color:#fff;
background:linear-gradient(135deg, var(--accent), var(--accent-strong));
box-shadow:0 16px 40px rgba(0,0,0,0.28);
border:1px solid rgba(255, 255, 255, 0.18);
position:relative;
overflow:hidden;
transition:transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

.btn-premium::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.24) 48%, transparent 100%);
transform:translateX(-140%);
transition:transform 0.7s ease;
}

.btn-premium:hover{
transform:translateY(-4px);
box-shadow:0 22px 40px rgba(0,0,0,0.36);
}

.btn-premium:hover::before{
transform:translateX(140%);
}

.btn-premium:nth-of-type(2){
background:rgba(255, 255, 255, 0.08);
border:1px solid rgba(255, 255, 255, 0.5);
backdrop-filter:blur(12px);
}

.btn-whatsapp{
background:linear-gradient(135deg, #25d366, #128c7e);
}

.btn-whatsapp-icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:24px;
height:24px;
flex:0 0 24px;
position:relative;
z-index:1;
}

.btn-whatsapp-icon svg{
width:24px;
height:24px;
display:block;
fill:currentColor;
}

.hero-proof{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:16px;
max-width:820px;
margin:26px auto 0;
}

.proof-card{
padding:16px 18px;
border-radius:22px;
background:linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.04));
border:1px solid rgba(255, 255, 255, 0.12);
backdrop-filter:blur(8px);
box-shadow:0 12px 32px rgba(0,0,0,0.22);
}

.proof-card strong{
display:block;
margin-bottom:6px;
font-size:1.18rem;
font-weight:800;
letter-spacing:0.04em;
color:#fff6eb;
}

.proof-card span{
display:block;
font-size:0.86rem;
font-weight:600;
letter-spacing:0.06em;
text-transform:uppercase;
color:var(--text-soft);
}

.social-links{
display:flex;
justify-content:center;
gap:14px;
flex-wrap:wrap;
margin-top:14px;
}

.social-btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:12px;
min-width:180px;
padding:12px 22px 12px 14px;
border-radius:999px;
text-decoration:none;
font-size:0.9rem;
font-weight:800;
letter-spacing:0.12em;
text-transform:uppercase;
color:#fff;
border:1px solid rgba(255, 255, 255, 0.18);
box-shadow:0 16px 34px rgba(0,0,0,0.24);
backdrop-filter:blur(12px);
transition:transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}

.social-btn:hover{
transform:translateY(-4px) scale(1.01);
box-shadow:0 24px 42px rgba(0,0,0,0.32);
border-color:rgba(255, 255, 255, 0.34);
}

.social-btn-icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:42px;
height:42px;
border-radius:50%;
flex:0 0 42px;
background:rgba(255, 255, 255, 0.12);
border:1px solid rgba(255, 255, 255, 0.2);
box-shadow:inset 0 1px 0 rgba(255,255,255,0.16);
}

.social-btn-icon svg{
width:20px;
height:20px;
display:block;
fill:currentColor;
}

.social-btn-label{
position:relative;
top:1px;
}

.social-btn-facebook{
background:
linear-gradient(135deg, rgba(24, 119, 242, 0.95), rgba(11, 88, 208, 0.92));
color:#f7fbff;
}

.social-btn-facebook .social-btn-icon{
background:linear-gradient(180deg, rgba(255,255,255,0.2), rgba(255,255,255,0.08));
}

.social-btn-tiktok{
background:
linear-gradient(135deg, rgba(9, 9, 11, 0.96), rgba(37, 244, 238, 0.2) 42%, rgba(254, 44, 85, 0.62) 100%);
color:#ffffff;
}

.social-btn-tiktok .social-btn-icon{
background:
radial-gradient(circle at 30% 30%, rgba(37, 244, 238, 0.35), transparent 55%),
radial-gradient(circle at 72% 72%, rgba(254, 44, 85, 0.4), transparent 58%),
rgba(255, 255, 255, 0.08);
}

.social-btn-tiktok .social-btn-icon svg{
filter:drop-shadow(-2px -1px 0 rgba(37, 244, 238, 0.85)) drop-shadow(2px 1px 0 rgba(254, 44, 85, 0.9));
}

.section{
position:relative;
max-width:1180px;
margin:0 auto 40px;
padding:44px 24px;
text-align:center;
}

h2{
font-family:var(--font-display);
font-weight:600;
margin:0 0 28px;
font-size:clamp(2.5rem, 4vw, 3.6rem);
letter-spacing:0.05em;
text-transform:uppercase;
}

.section-tag{
display:inline-flex;
align-items:center;
padding:8px 16px;
margin-bottom:18px;
border-radius:999px;
background:rgba(244, 162, 97, 0.14);
border:1px solid rgba(244, 162, 97, 0.34);
font-size:0.78rem;
font-weight:800;
letter-spacing:0.16em;
text-transform:uppercase;
color:#ffd9ba;
}

.about-section{
padding-top:22px;
}

.about-layout{
display:grid;
grid-template-columns:minmax(0, 1.15fr) minmax(320px, 0.85fr);
gap:28px;
align-items:stretch;
text-align:left;
}

.about-copy,
.about-panel{
border-radius:30px;
border:1px solid rgba(255, 255, 255, 0.12);
box-shadow:var(--shadow-lg);
}

.about-copy{
padding:36px 34px;
background:
linear-gradient(180deg, rgba(11, 28, 43, 0.9), rgba(7, 19, 30, 0.92)),
radial-gradient(circle at top right, rgba(244, 162, 97, 0.14), transparent 28%);
}

.about-copy h2{
max-width:720px;
margin-bottom:18px;
line-height:0.98;
}

.about-copy p{
margin:0 0 18px;
font-size:1rem;
color:var(--text-soft);
}

.about-copy p:last-child{
margin-bottom:0;
}

.about-panel{
padding:24px;
background:linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.03));
backdrop-filter:blur(10px);
display:grid;
gap:16px;
}

.about-feature{
padding:18px 18px 16px;
border-radius:22px;
background:rgba(7, 19, 30, 0.72);
border:1px solid rgba(255, 255, 255, 0.1);
}

.about-feature strong{
display:block;
margin-bottom:8px;
font-size:1rem;
font-weight:800;
letter-spacing:0.08em;
text-transform:uppercase;
color:#fff4e6;
}

.about-feature p{
margin:0;
font-size:0.95rem;
color:var(--text-soft);
}

.cards{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:24px;
align-items:stretch;
}

.card{
padding:18px 18px 24px;
border-radius:26px;
background:linear-gradient(180deg, rgba(12, 29, 45, 0.85), rgba(8, 20, 31, 0.95));
border:1px solid rgba(255, 255, 255, 0.12);
box-shadow:var(--shadow-lg);
overflow:hidden;
transition:transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.card:hover{
transform:translateY(-8px);
border-color:rgba(244, 162, 97, 0.46);
box-shadow:0 28px 70px rgba(0,0,0,0.48);
}

.card img{
width:100%;
height:220px;
object-fit:cover;
display:block;
border-radius:18px;
margin-bottom:18px;
}

.card h3{
font-family:var(--font-display);
font-weight:600;
font-size:2rem;
letter-spacing:0.04em;
margin:8px 0 8px;
}

.card p{
margin:0 0 22px;
font-size:1rem;
letter-spacing:0.06em;
color:var(--text-soft);
}

.btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:13px 22px;
min-width:170px;
border-radius:999px;
text-decoration:none;
font-size:0.9rem;
font-weight:800;
letter-spacing:0.08em;
text-transform:uppercase;
color:#fff;
background:linear-gradient(135deg, rgba(244,162,97,0.92), rgba(236,126,76,0.92));
box-shadow:0 12px 26px rgba(0,0,0,0.24);
}

.carousel{
position:relative;
width:100%;
max-width:1120px;
margin:18px auto 0;
padding:18px 0;
overflow:hidden;
}

.carousel-track{
display:flex;
align-items:center;
transition:transform 0.6s ease;
}

.carousel-item{
min-width:320px;
margin:0 12px;
transition:transform 0.45s ease, opacity 0.45s ease;
opacity:0.38;
transform:scale(0.88);
}

.carousel-item img{
width:100%;
height:420px;
object-fit:cover;
border-radius:24px;
display:block;
border:1px solid rgba(255, 255, 255, 0.16);
box-shadow:0 18px 44px rgba(0,0,0,0.42);
}

.carousel-item.active{
opacity:1;
transform:scale(1.02);
z-index:2;
}

.carousel-btn{
position:absolute;
top:50%;
transform:translateY(-50%);
width:54px;
height:54px;
background:rgba(6, 17, 27, 0.68);
border:1px solid rgba(255, 255, 255, 0.18);
color:white;
font-size:30px;
cursor:pointer;
border-radius:50%;
z-index:3;
backdrop-filter:blur(12px);
transition:transform 0.3s ease, background 0.3s ease, border-color 0.3s ease;
}

.carousel-btn:hover{
background:rgba(244, 162, 97, 0.22);
border-color:var(--line-warm);
transform:translateY(-50%) scale(1.06);
}

#prevBtn{ left:8px; }
#nextBtn{ right:8px; }
#heroPrevBtn{ left:12px; }
#heroNextBtn{ right:12px; }

.modal{
display:none;
position:fixed;
inset:0;
background:rgba(0,0,0,0.86);
justify-content:center;
align-items:center;
z-index:100;
}

.modal img{
max-width:90%;
max-height:90vh;
border-radius:20px;
}

.whatsapp{
position:fixed;
bottom:24px;
right:24px;
width:62px;
height:62px;
display:flex;
align-items:center;
justify-content:center;
background:linear-gradient(135deg, #2fe56d, #18b454);
box-shadow:0 16px 34px rgba(0,0,0,0.3);
border-radius:50%;
color:white;
text-decoration:none;
font-size:1.2rem;
font-weight:800;
z-index:50;
}

footer{
padding:34px 20px 50px;
text-align:center;
color:rgba(247, 243, 236, 0.62);
font-size:0.92rem;
letter-spacing:0.08em;
text-transform:uppercase;
}

@keyframes fadeUp{
from{
opacity:0;
transform:translateY(40px);
}
to{
opacity:1;
transform:translateY(0);
}
}

@keyframes brandReveal{
from{
opacity:0;
transform:translateY(-14px) scale(0.96);
}
to{
opacity:1;
transform:translateY(0) scale(1);
}
}

@keyframes brandFloat{
0%{
transform:translateY(0);
}
50%{
transform:translateY(-5px);
}
100%{
transform:translateY(0);
}
}

@media (max-width: 980px){
.header{
min-height:164px;
padding:12px 20px 14px;
gap:22px;
}

.brand-showcase{
padding-right:34px;
}

.menu{
gap:2px;
margin-left:10px;
padding-left:14px;
flex-basis:210px;
}

.menu a{
padding:8px 10px;
font-size:0.88rem;
}

.mascot-img{
height:116px;
}

.logo-img{
height:136px;
max-width:410px;
}

.menu{
flex-basis:230px;
padding-left:18px;
}

.cards{
grid-template-columns:1fr;
max-width:420px;
margin:0 auto;
}

.hero-text{
padding:38px 24px;
}

.hero-proof{
grid-template-columns:1fr;
max-width:420px;
}

.about-layout{
grid-template-columns:1fr;
}
}

@media (max-width: 720px){
.lang-switch{
top:16px;
left:16px;
}

.header{
min-height:148px;
padding:14px 16px;
gap:10px;
}

.brand-showcase{
flex:1 1 auto;
padding-right:12px;
}

.brand-lockup{
transform:translateX(28px);
}

.mascot-img{
height:78px;
}

.logo-img{
height:100px;
max-width:250px;
}

.menu{
margin-left:8px;
gap:0;
padding-left:6px;
flex-basis:auto;
}

.menu a{
padding:6px 8px;
font-size:0.78rem;
}

.menu a + a::before{
margin-right:5px;
}

.hero{
min-height:auto;
padding:54px 16px 72px;
}

.hero-text{
border-radius:26px;
width:calc(100vw - 12px);
padding:40px 16px 52px;
}

.hero-title-band{
width:calc(100vw - 12px);
padding:0 4px;
margin-bottom:14px;
}

.hero-title{
font-size:clamp(2.6rem, 7vw, 3.8rem);
line-height:1.06;
}

.hero-title span + span{
margin-top:0.02em;
}

.hero-text p{
font-size:0.9rem;
letter-spacing:0.09em;
}

.hero-carousel .carousel-item{
min-width:220px;
}

.hero-carousel .carousel-item img{
height:180px;
}

.hero-kicker{
padding:8px 14px;
font-size:0.72rem;
letter-spacing:0.1em;
}

.hero-highlights{
gap:10px;
margin-bottom:24px;
}

.hero-highlights span{
width:100%;
font-size:0.8rem;
}

.btn-premium{
min-width:100%;
}

.hero-proof{
margin-top:24px;
}

.social-btn{
min-width:100%;
}

.section{
padding:36px 16px;
}

.about-copy,
.about-panel{
padding-left:20px;
padding-right:20px;
border-radius:24px;
}

.carousel-item{
min-width:260px;
}

.carousel-item img{
height:320px;
}

.carousel-btn{
width:46px;
height:46px;
font-size:24px;
}
}

.menu a:hover{
border-color:rgba(255, 255, 255, 0.12);
}

.menu a[href="#tours"]{
position:relative;
}

.menu a[href="#tours"]::after{
content:"";
position:absolute;
left:14px;
right:14px;
bottom:3px;
height:2px;
background:linear-gradient(90deg, transparent, rgba(244, 162, 97, 0.95), transparent);
}

.hero-text{
max-width:2040px;
width:min(2040px, calc(100vw - 4px));
padding:56px 46px;
border-radius:38px;
background:linear-gradient(180deg, rgba(9, 23, 35, 0.42), rgba(9, 23, 35, 0.18));
backdrop-filter:blur(12px);
}

.hero-pricing{
margin-top:24px;
margin-bottom:24px;
display:flex;
justify-content:center;
animation:fadeIn 1s ease-out;
}

.pricing-card{
background: rgba(255, 255, 255, 0.05);
backdrop-filter: blur(10px);
border: 1px solid rgba(244, 162, 97, 0.3);
padding: 24px 40px;
border-radius: 24px;
text-align: center;
width: 90%;
max-width: 800px;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
}

.pricing-card:hover{
transform: translateY(-5px);
border-color: var(--accent);
box-shadow: 0 15px 50px rgba(244, 162, 97, 0.15);
}

.price-tag{
display: flex;
align-items: baseline;
justify-content: center;
gap: 15px;
font-size: 1.6rem;
font-weight: 600;
color: var(--accent);
margin-bottom: 0;
font-family: var(--font-display);
}

.price-tag strong{
font-size: 2.4rem;
color: #fff;
text-shadow: 0 0 20px rgba(255, 255, 255, 0.2);
}

.price-info{
font-size: 1.1rem;
color: var(--text-main);
margin: 0;
font-weight: 500;
opacity: 0.95;
letter-spacing: 0.05em;
}

.price-promo{
font-size: 1rem;
color: #fff;
margin-top: 15px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.1em;
background: linear-gradient(90deg, transparent, rgba(244, 162, 97, 0.2), transparent);
border: 1px solid rgba(244, 162, 97, 0.4);
padding: 10px 30px;
border-radius: 12px;
display: inline-block;
}

@keyframes fadeIn {
from { opacity:0; transform:translateY(10px); }
to { opacity:1; transform:translateY(0); }
}

.hero-text p{
max-width:680px;
margin:16px auto 30px;
font-size:0.98rem;
letter-spacing:0.18em;
}

.hero-highlights{
max-width:720px;
margin:0 auto 34px;
}

.hero-highlights span{
padding:10px 15px;
background:rgba(255, 255, 255, 0.06);
border:1px solid rgba(255, 255, 255, 0.12);
font-size:0.82rem;
letter-spacing:0.08em;
}

.hero-actions{
gap:14px;
}

.btn-premium{
margin:0;
}

.hero-proof{
margin:36px auto 0;
}

.section{
margin:0 auto 54px;
padding:52px 24px;
}

.about-section{
padding-top:28px;
}

.about-layout{
gap:34px;
}

.about-copy{
padding:42px 40px;
}

.about-stats{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:14px;
margin-top:28px;
}

.about-stat{
padding:18px;
border-radius:20px;
background:rgba(255, 255, 255, 0.05);
border:1px solid rgba(255, 255, 255, 0.1);
}

.about-stat strong{
display:block;
margin-bottom:6px;
font-size:0.95rem;
font-weight:800;
letter-spacing:0.08em;
text-transform:uppercase;
color:#fff1df;
}

.about-stat span{
display:block;
font-size:0.9rem;
color:var(--text-soft);
}

.testimonials-section{
padding-top:10px;
}

.testimonials-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:22px;
margin-top:16px;
text-align:left;
}

.testimonial-card{
position:relative;
padding:28px 26px 24px;
border-radius:28px;
background:linear-gradient(180deg, rgba(10, 24, 38, 0.86), rgba(7, 19, 30, 0.94));
border:1px solid rgba(255, 255, 255, 0.1);
box-shadow:var(--shadow-lg);
}

.testimonial-card::before{
content:"\"";
position:absolute;
top:14px;
left:20px;
font-family:var(--font-display);
font-size:4rem;
line-height:1;
color:rgba(244, 162, 97, 0.28);
}

.testimonial-card p{
position:relative;
margin:18px 0 20px;
font-size:1rem;
color:#f4efe7;
}

.testimonial-card strong{
display:block;
font-size:0.98rem;
font-weight:800;
letter-spacing:0.08em;
text-transform:uppercase;
color:#fff5eb;
}

.testimonial-card span{
display:block;
margin-top:6px;
font-size:0.82rem;
letter-spacing:0.1em;
text-transform:uppercase;
color:var(--text-soft);
}

.testimonial-card-featured{
transform:translateY(-10px);
background:
linear-gradient(180deg, rgba(18, 36, 53, 0.94), rgba(10, 24, 38, 0.96)),
radial-gradient(circle at top, rgba(244, 162, 97, 0.16), transparent 44%);
border-color:rgba(244, 162, 97, 0.24);
}

.footer-inner{
max-width:1180px;
margin:0 auto 24px;
padding:30px 28px;
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:28px;
border:1px solid rgba(255, 255, 255, 0.1);
border-radius:28px;
background:linear-gradient(180deg, rgba(10, 24, 38, 0.92), rgba(7, 19, 30, 0.96));
box-shadow:var(--shadow-lg);
text-align:left;
}

.footer-brand{
max-width:420px;
}

.footer-brand img{
display:block;
height:86px;
width:auto;
margin-bottom:14px;
}

.footer-brand p{
margin:0;
font-size:0.95rem;
line-height:1.7;
letter-spacing:0.03em;
text-transform:none;
color:var(--text-soft);
}

.footer-links{
display:grid;
grid-template-columns:repeat(2, minmax(160px, 1fr));
gap:12px 22px;
}

.footer-links a{
color:#f6efe6;
text-decoration:none;
font-size:0.82rem;
font-weight:700;
letter-spacing:0.12em;
text-transform:uppercase;
}

.footer-social-link{
display:inline-flex;
align-items:center;
gap:10px;
}

.footer-social-icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:34px;
height:34px;
border-radius:50%;
background:rgba(255, 255, 255, 0.08);
border:1px solid rgba(255, 255, 255, 0.14);
box-shadow:inset 0 1px 0 rgba(255,255,255,0.08);
}

.footer-social-icon svg{
width:18px;
height:18px;
display:block;
fill:currentColor;
}

.footer-links a:hover{
color:#ffd9ba;
}

@media (max-width: 980px){
.testimonials-grid{
grid-template-columns:1fr;
}

.testimonial-card-featured{
transform:none;
}

.footer-inner{
flex-direction:column;
}

.footer-links{
width:100%;
}
}

@media (max-width: 720px){
.hero-text{
padding:40px 22px;
}

.about-stats{
grid-template-columns:1fr;
}

.footer-inner{
padding:24px 20px;
border-radius:22px;
}

.footer-brand img{
height:72px;
}

.footer-links{
grid-template-columns:1fr;
}
}
