:root{
    --bg: #E4F3FC;
    --bg-1: #B4E0F8;
    --bg-2: #CDEBFB;
    --panel: #e9f3ff9a;
    --panel-2: #E2F1FB;

    --line: rgba(20,110,175,.32);

    --blue-bright: #2FB6EF;
    --blue-mid: #0E86D6;
    --blue-deep: #0A5FA8;
    --blue-ink: #073F73;
    --blue-glow: rgba(47,182,240,.5);

    --green: #1EA34B;
    --gold: #FFC01F;
    --whatsapp: #1FBE5C;

    --white: #FFFFFF;

    --text: #10314C;
    --muted: #2C587B;
    --muted-2: #4A7196;

    --radius: 18px;
    --shadow: 0 20px 44px rgba(10,95,168,.20);
    --shadow-sm: 0 8px 22px rgba(10,95,168,.16);

    --ease-out: cubic-bezier(.22, 1, .36, 1);
    --ease-soft: cubic-bezier(.4, 0, .2, 1);
    --ease-spring: cubic-bezier(.34, 1.36, .64, 1);

    --dur-fast: .18s;
    --dur-base: .35s;
    --dur-slow: .55s;
    --dur-reveal: .7s;

}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; scroll-padding-top:80px;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
}
h1,h2,h3,h4,h5{color:var(--blue-deep); font-family:'Manrope',sans-serif; font-weight:800; letter-spacing:-0.01em;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
img{max-width:100%; display:block;}

a:focus-visible, button:focus-visible{
  outline:3px solid var(--blue-mid); outline-offset:3px; border-radius:6px;
}

.wrap{max-width:1480px; margin:0 auto; padding:0 24px; position:relative; z-index:2;}

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Manrope',sans-serif; font-weight:700; font-size:13.5px;
  letter-spacing:0.14em; text-transform:uppercase; color:var(--blue-mid);
  margin-bottom:14px;
}
.eyebrow::before{content:''; width:16px; height:2px; background:var(--blue-mid); border-radius:2px;}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:'Manrope',sans-serif; font-weight:700; font-size:16px;
  padding:15px 26px; border-radius:100px; cursor:pointer; border:1px solid transparent;
  transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), background var(--dur-fast) var(--ease-soft), border-color var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft);
  white-space:nowrap;
}
.btn-primary{
  background:linear-gradient(135deg, var(--blue-mid), var(--blue-deep));
  color:var(--white);
  box-shadow:0 12px 30px var(--blue-glow);
}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 16px 36px var(--blue-glow);}
.btn-ghost{
  background:transparent;
  border-color:var(--line);
  color:var(--blue-deep);
}
.btn-ghost:hover{border-color:var(--blue-mid); color:var(--blue-mid); background:rgba(47,182,240,.06); transform:translateY(-2px);}
.btn-sm{padding:11px 20px; font-size:15px;}

/* ===== NAV ===== */

header{
  position:sticky; top:0; z-index:100;
  background:rgba(248,252,255,0.85);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 24px; max-width:1180px; margin:0 auto;
}
.logo{display:flex; align-items:center; gap:10px;}
.logo-mark{width:38px; height:38px; flex-shrink:0;}
.logo-text{font-family:'Manrope',sans-serif; font-weight:800; font-size:19px; line-height:1; color:var(--blue-deep);}
.logo-text span{color:var(--blue-bright);}
.logo-sub{font-size:11px; color:var(--muted); letter-spacing:0.08em; text-transform:uppercase; margin-top:2px;}

.nav-links{display:flex; align-items:center; gap:34px;}
.nav-links > li{position:relative;}
.nav-links a.top-link{
  font-family:'Manrope',sans-serif; font-weight:600; font-size:16px; color:var(--muted);
  display:flex; align-items:center; gap:5px; padding:8px 0;
  transition:color var(--dur-fast) var(--ease-soft);
}
.nav-links a.top-link:hover,
.nav-links li.has-dropdown:hover a.top-link{color:var(--blue-deep);}

.caret{width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); margin-top:-3px; transition:transform var(--dur-base) var(--ease-out);}
.has-dropdown:hover .caret{transform:rotate(225deg); margin-top:3px;}

.nav-links li.has-dropdown{padding-bottom:22px; margin-bottom:-22px;}
.dropdown{
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px);
  margin-top:2px;
  background:var(--panel-2); border:1px solid var(--line); border-radius:14px;
  padding:10px; width:250px; box-shadow:var(--shadow);
  opacity:0; visibility:hidden; pointer-events:none; transform-origin:top center;
  transition:opacity var(--dur-fast) var(--ease-soft) .15s, transform var(--dur-base) var(--ease-out) .15s, visibility 0s linear calc(var(--dur-base) + .15s);
}
.dropdown::before{
  content:''; position:absolute; left:-16px; right:-16px; top:-26px; height:30px;
}
.has-dropdown:hover .dropdown,
.dropdown:hover{
  opacity:1; visibility:visible; pointer-events:auto;
  transform:translateX(-50%) translateY(4px);
  transition-delay:0s;
}
.dropdown a{
  display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:9px;
  font-size:16px; font-weight:500; color:var(--muted);
  transition:background var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft);
}
.dropdown a:hover{background:rgba(47,182,240,0.1); color:var(--blue-deep);}
.dropdown a svg{width:16px; height:16px; color:var(--blue-mid); flex-shrink:0;}

.nav-right{display:flex; align-items:center; gap:14px;}
.nav-phone{
  font-family:'Manrope',sans-serif; font-weight:700; font-size:16px; color:var(--blue-deep);
  display:flex; align-items:center; gap:7px;
}
.nav-phone svg{width:16px; height:16px; color:var(--green);}

.burger{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:6px;}
.burger span{width:22px; height:2px; background:var(--blue-deep); border-radius:2px; transition:transform var(--dur-base) var(--ease-out), opacity var(--dur-fast) var(--ease-soft);}

.burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger.active span:nth-child(2){opacity:0;}
.burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

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

#mnav{
  display:none;
  flex-direction:column;
  padding:10px 24px 22px;
  gap:4px;
  border-top:1px solid var(--line);
  background:var(--panel);
}
#mnav.open{display:flex;}
#mnav .top-link{
  padding:12px 0; font-family:'Manrope',sans-serif; font-weight:600; font-size:16px;
  color:var(--text); border-bottom:1px solid var(--line);
}
#mnav .top-link:last-child{border-bottom:none;}

/* ===== HERO ===== */
.hero{
  position:relative; padding:88px 0 90px; overflow:hidden;
  background:
    radial-gradient(ellipse 900px 500px at 78% -10%, var(--blue-glow), transparent 60%),
    radial-gradient(ellipse 700px 500px at -10% 90%, rgba(30,163,75,0.10), transparent 60%),
    linear-gradient(180deg, var(--bg-1) 0%, var(--bg) 100%);
}
.hero-inner{display:grid; grid-template-columns:1.05fr 0.85fr; gap:50px; align-items:center;}
.hero h1{font-size:clamp(34px,4.6vw,58px); line-height:1.07; margin-bottom:22px;}
.hero h1 .drip{
  background:linear-gradient(135deg, var(--blue-mid), #0A4C87 70%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero p.lead{font-size:18px; color:var(--muted); max-width:480px; margin-bottom:34px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:38px;}

.trust-row{display:flex; gap:28px; flex-wrap:wrap;}
.trust-item{display:flex; align-items:center; gap:10px;}
.trust-item .num{font-family:'Manrope',sans-serif; font-weight:800; font-size:20px; color:var(--blue-deep);}
.trust-item .lbl{font-size:13px; color:var(--muted); line-height:1.3;}
.stars{color:var(--gold); font-size:16px; letter-spacing:1px;}

.hero-visual{position:relative; display:flex; align-items:center; justify-content:center;}
.drop-orbit{position:relative; width:100%; max-width:400px;}
.drop-glow{
  position:absolute; inset:-10% -8%; border-radius:50%;
  background:radial-gradient(ellipse 60% 55% at 50% 50%, var(--blue-glow), transparent 70%);
  filter:blur(14px);
}
.hero-logo{position:relative; z-index:2; width:100%; height:auto; display:block;}
.badge-row{display:none;}
.badge-float{
  position:absolute; z-index:3;
  background:linear-gradient(135deg, var(--blue-mid), var(--blue-deep));
  color:var(--white);
  border:1px solid rgba(255,255,255,.35);
  border-radius:14px; padding:12px 16px; box-shadow:var(--shadow);
  font-family:'Manrope',sans-serif; font-weight:700; font-size:14.5px;
  display:flex; align-items:center; gap:10px; backdrop-filter:blur(6px);
  white-space:nowrap;
  will-change:transform;
  animation:float 7s var(--ease-soft) infinite;
}

.badge-1{top:6%; left:-8%; animation-duration:7s; animation-delay:0s;}
.badge-2{bottom:10%; right:-6%; animation-duration:8.5s; animation-delay:-1.2s;}
.badge-3{top:48%; right:-14%; animation-duration:6.2s; animation-delay:-2.4s;}

@keyframes float{
  0%   {transform:translate3d(0,0,0) rotate(0deg);}
  25%  {transform:translate3d(2px,-6px,0) rotate(.5deg);}
  50%  {transform:translate3d(0,-11px,0) rotate(0deg);}
  75%  {transform:translate3d(-2px,-5px,0) rotate(-.5deg);}
  100% {transform:translate3d(0,0,0) rotate(0deg);}
}

.hero-logo{animation:float 9s var(--ease-soft) infinite; animation-delay:-4s; will-change:transform;}
.drop-glow{animation:pulse 6s var(--ease-soft) infinite;}
@keyframes pulse{
  0%,100%{opacity:.7; transform:scale(1);}
  50%    {opacity:1;  transform:scale(1.05);}
}
/* ===== WAVE DIVIDER ===== */
.wave{
  display:block; width:100%; line-height:0; position:relative; z-index:1;
  background:var(--bg);
  margin-top:-1px; margin-bottom:-1px;
}
.wave svg{width:100%; height:clamp(52px, 6vw, 92px); display:block; overflow:visible;}
.wave-back{fill:var(--blue-bright); opacity:.28;}
.wave-front{fill:var(--bg-1);}
.wave-back{animation:wave-drift 26s linear infinite;}
@keyframes wave-drift{
  from{transform:translateX(0);}
  to{transform:translateX(-600px);}
}

/* ===== SECTION shared ===== */
section{padding:90px 0;}
.section-head{max-width:640px; margin-bottom:52px;}
.section-head h2{font-size:clamp(26px,3.4vw,40px); margin-bottom:14px;}
.section-head p{color:var(--muted); font-size:16px;}
.center{text-align:center; margin-left:auto; margin-right:auto;}

/* ===== PILLARS ===== */
.pillars{background:var(--bg-1);}
.pillar-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.pillar-card{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
  padding:32px 28px; position:relative; overflow:hidden;
  transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-soft), box-shadow var(--dur-base) var(--ease-out);
}
.pillar-card:hover{transform:translateY(-6px); border-color:var(--blue-bright); box-shadow:var(--shadow);}
.pillar-icon{
  width:calc(100% + 56px);
  margin:-32px -28px 22px;
  height:150px;
  overflow:hidden;
  border-radius:var(--radius) var(--radius) 0 0;
  background:var(--blue-deep);
}
.pillar-icon img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform var(--dur-slow) var(--ease-out);
}
.pillar-card:hover .pillar-icon img{transform:scale(1.06);}
.pillar-card h3{font-size:20px; margin-bottom:10px;}
.pillar-card p{color:var(--muted); font-size:16px; margin-bottom:18px;}
.pillar-link{font-size:15px; font-weight:700; color:var(--blue-mid); display:inline-flex; align-items:center; gap:6px;}
.pillar-link svg{width:14px; height:14px; transition:transform var(--dur-base) var(--ease-out);}
.pillar-card:hover .pillar-link svg{transform:translateX(3px);}

/* ===== UPHOLSTERY PRICE ===== */
.upholstery-price{background:var(--bg);}
.price-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.price-card{background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:28px 26px;
  transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-soft), box-shadow var(--dur-base) var(--ease-out);}
.price-card:hover{transform:translateY(-5px); border-color:var(--blue-bright); box-shadow:var(--shadow);}
.price-card h3{font-family:'Manrope',sans-serif; font-size:19px; margin-bottom:22px;}
.price-card ul{display:flex; flex-direction:column; gap:14px;}
.price-card li{
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px;
  font-size:16px; color:var(--muted); padding-bottom:12px; border-bottom:1px solid var(--line);
}
.price-card li:last-child{border-bottom:none; padding-bottom:0;}

.price-card strong{color:var(--blue-deep); font-family:'Manrope',sans-serif; font-size:16px; white-space:nowrap;}
.price-card small{width:100%; font-size:13.5px; color:var(--muted-2);}
.price-info{margin-top:30px; display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.price-info > div{background:rgba(47,182,240,.06); border:1px solid var(--line); border-radius:16px; padding:18px; text-align:center; color:var(--muted); font-size:16px;}
.price-note{margin-top:20px; padding:14px; background:rgba(47,182,240,.08); border-radius:12px; color:var(--muted); font-size:14.5px;}

/* ===== PACKAGES (auto) ===== */
.packages{background:var(--bg-2);}
.pkg-grid{display:grid; grid-template-columns:repeat(3,minmax(300px,1fr)); gap:18px;}
.pkg-card{
  background:var(--panel); border:1px solid var(--line); border-radius:16px;
  padding:26px 20px; display:flex; flex-direction:column; position:relative;
  transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-soft), box-shadow var(--dur-base) var(--ease-out);
}
.pkg-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.pkg-card.featured{
  border-color:var(--blue-bright);
  background:linear-gradient(180deg, rgba(47,182,240,0.12), var(--panel) 40%);
  box-shadow:var(--shadow);
}
.pkg-tag{
  position:absolute; top:-12px; left:20px;
  background:linear-gradient(135deg, var(--blue-mid), var(--blue-deep)); color:var(--white);
  font-family:'Manrope',sans-serif; font-weight:800; font-size:11px; padding:5px 12px;
  border-radius:100px; letter-spacing:0.03em;
}
.pkg-num{font-family:'Manrope',sans-serif; font-size:13px; color:var(--muted-2); font-weight:700; letter-spacing:0.1em; margin-bottom:10px;}
.pkg-card h4{font-size:18px; margin-bottom:6px;}
.pkg-price{font-family:'Manrope',sans-serif; font-weight:800; font-size:24px; color:var(--blue-deep); margin-bottom:16px;}
.pkg-price span{font-size:13.5px; font-weight:500; color:var(--muted-2);}
.pkg-list{flex:1; margin-bottom:20px;}
.pkg-list li{font-size:14.5px; color:var(--muted); padding-left:20px; position:relative; margin-bottom:9px;}
.pkg-list li::before{
  content:''; position:absolute; left:0; top:6px; width:10px; height:10px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233197CC' stroke-width='3'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center/contain;
}
.pkg-card .btn{width:100%;}

.packages .extra-note{margin-top:56px;}
.packages .extra-note h4{font-size:28px; text-align:center; margin-bottom:30px;}
.packages .extra-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-bottom:35px;}
.extra-item{background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:28px 24px; text-align:center;
  transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-soft), box-shadow var(--dur-base) var(--ease-out);}
.extra-item:hover{transform:translateY(-6px); border-color:var(--blue-bright); box-shadow:0 18px 40px rgba(47,182,240,.18);}
.extra-item .extra-icon{font-size:34px; margin-bottom:16px;}
.extra-item h5{font-size:18px; margin-bottom:12px;}
.extra-item strong{display:block; font-size:26px; color:var(--blue-deep); margin-bottom:10px;}
.extra-item small{display:block; color:var(--muted); font-size:14.5px; line-height:1.4;}
.extra-info{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.info-box{background:rgba(47,182,240,.06); border:1px solid var(--line); border-radius:16px; padding:20px; text-align:center; font-size:26px; display:flex; flex-direction:column; gap:10px;}
.info-box span{color:var(--muted); line-height:1.5; font-size:16px;}

/* ===== EXTRA SERVICES ===== */
.extra-services{background:var(--bg-1);}
.extra-services .extra-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.extra-card{background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:26px;
  transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-soft), box-shadow var(--dur-base) var(--ease-out);}
.extra-card:hover{transform:translateY(-5px); border-color:var(--blue-bright); box-shadow:var(--shadow);}
.extra-card .extra-icon{font-size:32px; margin-bottom:15px;}
.extra-card h3{font-size:18px; margin-bottom:10px;}
.extra-card p{color:var(--muted); font-size:16px; line-height:1.5; min-height:65px;}
.extra-card strong{display:block; margin-top:18px; font-family:'Manrope',sans-serif; font-size:20px; color:var(--blue-deep);}
.extra-services .extra-note{margin-top:30px; text-align:center; color:var(--muted); font-size:16px;}

/* ===== PROFS ===== */
.apart{background:var(--bg-2);}
.apart-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.apart-card{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
  padding:30px; position:relative;
}
.apart-card.pop{border-color:var(--blue-bright); box-shadow:var(--shadow);}
.apart-badge{
  position:absolute; top:-12px; right:24px;
  background:linear-gradient(135deg, var(--blue-mid), var(--blue-deep)); color:var(--white);
  font-family:'Manrope',sans-serif; font-weight:800; font-size:11px; padding:5px 12px; border-radius:100px;
}
.apart-card h4{font-size:19px; margin-bottom:8px;}
.apart-card p.desc{color:var(--muted); font-size:16px; margin-bottom:18px;}
.apart-list li{font-size:15px; color:var(--muted); margin-bottom:9px; padding-left:18px; position:relative;}
.apart-list li::before{content:'—'; position:absolute; left:0; color:var(--blue-bright);}

/* ===== STEPS ===== */
.steps{background:var(--bg);}
.step-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative;}
.step-grid::before{
  content:''; position:absolute; top:27px; left:12%; right:12%; height:2px;
  background:repeating-linear-gradient(90deg, var(--line) 0 8px, transparent 8px 16px);
}
.step-item{position:relative; padding:0 16px; text-align:left;}
.step-circle{
  width:56px; height:56px; border-radius:50%; background:var(--panel); border:2px solid var(--blue-bright);
  display:flex; align-items:center; justify-content:center; font-family:'Manrope',sans-serif; font-weight:800;
  font-size:18px; color:var(--blue-deep); margin-bottom:20px; position:relative; z-index:2;
}
.step-item h4{font-size:17.5px; margin-bottom:8px;}
.step-item p{font-size:15.5px; color:var(--muted);}

/* ===== HOTELS / B2B ===== */
.hotels{
  background:linear-gradient(135deg, var(--blue-mid), #08477E 75%);
  position:relative; overflow:hidden;
}
.hotels::after{
  content:''; position:absolute; right:-10%; top:-30%; width:600px; height:600px; border-radius:50%;
  background:radial-gradient(circle, rgba(94,198,232,0.22), transparent 70%);
}
.hotels-inner{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; position:relative; z-index:2;}
.hotels h2{font-size:clamp(26px,3.2vw,36px); margin-bottom:16px; color:var(--white);}
.hotels .eyebrow{color:#A9E7FA;}
.hotels .eyebrow::before{background:#A9E7FA;}
.hotels p.lead{color:rgba(255,255,255,.9); font-size:17px; margin-bottom:26px; max-width:480px;}
.hotel-checks{display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; margin-bottom:32px;}
.hotel-checks li{font-size:16px; color:var(--white); display:flex; gap:10px; align-items:flex-start;}
.hotel-checks svg{width:18px; height:18px; color:#7FE0FF; flex-shrink:0; margin-top:2px;}
.hotels .btn-primary{background:var(--white); color:var(--blue-deep); box-shadow:0 12px 30px rgba(0,0,0,.18);}
.hotels-card{
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.24); border-radius:20px; padding:36px; backdrop-filter:blur(10px);
}
.hotels-card .stat{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.18);}
.hotels-card .stat:last-child{border-bottom:none;}
.hotels-card .stat-num{font-family:'Manrope',sans-serif; font-weight:800; font-size:24px; color:var(--white);}
.hotels-card .stat-lbl{color:rgba(255,255,255,.85); font-size:15px; max-width:200px; text-align:right;}

/* ===== ADVANTAGES ===== */
.adv{background:var(--bg-1);}
.adv-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.adv-card{
  background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:26px 22px;
  transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-soft), box-shadow var(--dur-base) var(--ease-out);
}
.adv-card:hover{transform:translateY(-5px); border-color:var(--blue-bright); box-shadow:var(--shadow);}
.adv-card svg{width:26px; height:26px; color:var(--blue-mid); margin-bottom:16px;}
.adv-card h4{font-size:17px; margin-bottom:8px;}
.adv-card p{font-size:15.5px; color:var(--muted);}

/* ===== TESTIMONIALS ===== */
.testi{background:var(--bg);}
.review-slider{max-width:850px; margin:40px auto 0; position:relative; min-height:260px;}
.review-card{
  background:var(--panel);
  border:1px solid var(--line); border-radius:16px; padding:35px;
  position:absolute; inset:0; pointer-events:none;
  opacity:0; transform:translateY(16px) scale(.985);

  transition:opacity var(--dur-base) var(--ease-soft), transform var(--dur-base) var(--ease-soft);
  box-shadow:var(--shadow-sm);
  will-change:opacity, transform;
}
.review-card.active{
  opacity:1; transform:translateY(0) scale(1); pointer-events:auto;
  transition:opacity var(--dur-slow) var(--ease-soft) .12s, transform var(--dur-reveal) var(--ease-out) .12s;
}
.testi-stars{color:var(--gold); font-size:18px; letter-spacing:3px; margin-bottom:20px;}
.review-card p{font-size:16px; line-height:1.7; color:var(--text); margin-bottom:25px;}
.testi-who{display:flex; align-items:center; gap:12px;}
.testi-avatar{
  width:45px; height:45px; border-radius:50%;
  background:linear-gradient(135deg, var(--blue-mid), var(--blue-deep));
  display:flex; align-items:center; justify-content:center;
  font-family:'Manrope',sans-serif; font-weight:800; font-size:16px; color:var(--white);
}
.testi-name{font-family:'Manrope',sans-serif; font-weight:700; font-size:16px; color:var(--text);}
.testi-tag{font-size:13px; color:var(--muted);}

.review-dots{display:flex; justify-content:center; gap:8px; margin-top:20px;}
.review-dots button{
  width:8px; height:8px; border-radius:50%; border:none; padding:0; cursor:pointer;
  background:var(--muted-2); opacity:.4;
  transition:width var(--dur-base) var(--ease-out), background var(--dur-fast) var(--ease-soft), opacity var(--dur-fast) var(--ease-soft);
}
.review-dots button.active{opacity:1; background:var(--blue-mid); width:24px; border-radius:100px;}

/* ===== SOCIALS ===== */
.socials{background:var(--bg-1);}
.social-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px; max-width:900px; margin:40px auto 0;}
.social-card{
  display:flex; align-items:center; gap:20px; padding:25px;
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
  color:var(--text);
  transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-soft), box-shadow var(--dur-base) var(--ease-out);
}
.social-card:hover{transform:translateY(-5px); border-color:var(--blue-bright); box-shadow:var(--shadow);}
.social-icon{
  width:55px; height:55px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--blue-mid), var(--blue-deep));
  font-size:25px; color:var(--white);
}
.social-card h3{font-size:18px; margin-bottom:5px;}
.social-card p{font-size:15.5px; color:var(--muted);}
.social-card span{display:block; margin-top:10px; font-size:14.5px; color:var(--blue-mid); font-weight:700;}

/* ===== CTA BAND ===== */
.cta-band{
  background:linear-gradient(135deg, var(--blue-mid), #08477E 75%);
  border-radius:28px; margin:0 24px; padding:56px 48px; z-index:2;
  display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;
  position:relative; overflow:hidden;
}
.cta-band::before{
  content:''; position:absolute; left:-10%; bottom:-40%; width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle, rgba(94,198,232,0.22), transparent 70%);
}
.cta-band h3{font-size:clamp(22px,2.8vw,30px); max-width:480px; position:relative; z-index:2; color:var(--white);}
.cta-band p{color:rgba(255,255,255,.85); position:relative; z-index:2; max-width:480px; margin-top:8px;}
.cta-band-ctas{display:flex; gap:14px; flex-wrap:wrap; position:relative; z-index:2;}
.cta-band .btn-primary{background:var(--white); color:var(--blue-deep); box-shadow:0 12px 30px rgba(0,0,0,.18);}
.cta-band .btn-ghost{border-color:rgba(255,255,255,.45); color:var(--white);}
.cta-band .btn-ghost:hover{background:rgba(255,255,255,.12); border-color:var(--white); color:var(--white);}
.whatsapp-btn{background:var(--whatsapp); color:#fff; border:1px solid var(--whatsapp);}
.whatsapp-btn:hover{transform:translateY(-2px); opacity:.9;}

/* ===== FOOTER ===== */
footer{background:var(--bg-2); padding:70px 0 26px; border-top:1px solid var(--line); margin-top:90px;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:40px; margin-bottom:50px;}
.foot-desc{color:var(--muted); font-size:15px; margin:18px 0 22px; max-width:280px;}
.foot-social{display:flex; gap:10px;}
.foot-social a{
  width:36px; height:36px; border-radius:50%; background:var(--panel); border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; color:var(--blue-deep); transition:background var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft), border-color var(--dur-fast) var(--ease-soft), transform var(--dur-base) var(--ease-out);
}
.foot-social a:hover{background:var(--blue-mid); color:var(--white); border-color:var(--blue-mid);}
.foot-social svg{width:16px; height:16px;}
.foot-col h5{font-family:'Manrope',sans-serif; font-size:14.5px; text-transform:uppercase; letter-spacing:0.08em; color:var(--muted); margin-bottom:18px;}
.foot-col li{margin-bottom:11px; font-size:15px;}
.foot-col a{color:var(--muted); transition:color var(--dur-fast) var(--ease-soft);}
.foot-col a:hover{color:var(--blue-mid);}
.foot-contact li{display:flex; gap:10px; align-items:flex-start; color:var(--muted); font-size:15px;}
.foot-contact svg{width:16px; height:16px; color:var(--blue-mid); flex-shrink:0; margin-top:2px;}
.foot-bottom{
  border-top:1px solid var(--line); padding-top:24px; display:flex; justify-content:space-between;
  flex-wrap:wrap; gap:12px; color:var(--muted); font-size:12.5px;
}

/* ===== BUBBLES ===== */
.bubbles{
  position:absolute;
  top:0; left:0;
  width:100%; height:100%;
  z-index:2;
  pointer-events:none;
  overflow:hidden;
}
.bubbles span{
  position:absolute;
  border-radius:50%;
  border:1.5px solid rgba(14,134,214,.7);
  background:radial-gradient(circle at 32% 28%,
    rgba(255,255,255,.92) 0%,
    rgba(255,255,255,.45) 18%,
    rgba(120,205,242,.34) 46%,
    rgba(47,182,240,.5) 74%,
    rgba(10,95,168,.72) 100%);
  box-shadow:
    inset 5px 7px 16px rgba(255,255,255,.85),
    inset -6px -8px 18px rgba(10,95,168,.5),
    0 4px 14px rgba(10,95,168,.28);
  opacity:0;
  animation-timing-function:linear;
  animation-iteration-count:infinite;
}
.bubbles span::before{
  content:'';
  position:absolute; top:12%; left:16%;
  width:44%; height:32%;
  border-radius:50%;
  background:linear-gradient(140deg, rgba(255,255,255,.95), rgba(255,255,255,0) 70%);
  transform:rotate(-18deg);
  filter:blur(1px);
}

@keyframes bubble-a{
  0%  {transform:translate(0, 0) scale(.94);         opacity:0;}
  8%  {opacity:.72;}
  20% {transform:translate(14px, -124px) scale(.97);}
  40% {transform:translate(-4px, -248px) scale(1);}
  60% {transform:translate(-16px, -372px) scale(1.01);}
  80% {transform:translate(2px, -496px) scale(1.03);}
  82% {opacity:.72;}
  100%{transform:translate(12px, -620px) scale(1.05); opacity:0;}
}
@keyframes bubble-b{
  0%  {transform:translate(0, 0) scale(.94);         opacity:0;}
  8%  {opacity:.88;}
  20% {transform:translate(-12px, -96px) scale(.97);}
  40% {transform:translate(6px, -192px) scale(1);}
  60% {transform:translate(15px, -288px) scale(1.01);}
  80% {transform:translate(-3px, -384px) scale(1.02);}
  82% {opacity:.88;}
  100%{transform:translate(-11px, -480px) scale(1.04); opacity:0;}
}
@keyframes bubble-c{
  0%  {transform:translate(0, 0) scale(.92);         opacity:0;}
  8%  {opacity:.6;}
  20% {transform:translate(11px, -164px) scale(.96);}
  40% {transform:translate(-9px, -328px) scale(1);}
  60% {transform:translate(-18px, -492px) scale(1.02);}
  80% {transform:translate(5px, -656px) scale(1.04);}
  82% {opacity:.6;}
  100%{transform:translate(16px, -820px) scale(1.06); opacity:0;}
}

.bubbles span:nth-child(1){top:15.0%; left:66.7%; width:30px; height:30px; animation-name:bubble-a; animation-duration:48.8s; animation-delay:-15.1s;}
.bubbles span:nth-child(2){top:79.6%; left:77.8%; width:18px; height:18px; animation-name:bubble-b; animation-duration:43.5s; animation-delay:-16.5s;}
.bubbles span:nth-child(3){top:-1.7%; left:36.6%; width:50px; height:50px; animation-name:bubble-c; animation-duration:53.3s; animation-delay:-55.6s;}
.bubbles span:nth-child(4){top:21.9%; left:23.5%; width:10px; height:10px; animation-name:bubble-a; animation-duration:38.9s; animation-delay:-69.7s;}
.bubbles span:nth-child(5){top:77.4%; left:39.9%; width:56px; height:56px; animation-name:bubble-b; animation-duration:55.7s; animation-delay:-23.0s;}
.bubbles span:nth-child(6){top:49.2%; left:12.4%; width:38px; height:38px; animation-name:bubble-c; animation-duration:47.1s; animation-delay:-51.9s;}
.bubbles span:nth-child(7){top:7.1%; left:77.9%; width:8px; height:8px; animation-name:bubble-a; animation-duration:38.2s; animation-delay:-38.6s;}
.bubbles span:nth-child(8){top:33.3%; left:47.3%; width:18px; height:18px; animation-name:bubble-b; animation-duration:45.4s; animation-delay:-32.9s;}
.bubbles span:nth-child(9){top:82.5%; left:8.6%; width:20px; height:20px; animation-name:bubble-c; animation-duration:40.9s; animation-delay:-67.8s;}
.bubbles span:nth-child(10){top:90.1%; left:72.8%; width:12px; height:12px; animation-name:bubble-a; animation-duration:36.1s; animation-delay:-33.3s;}
.bubbles span:nth-child(11){top:83.2%; left:20.5%; width:16px; height:16px; animation-name:bubble-b; animation-duration:47.2s; animation-delay:-28.7s;}
.bubbles span:nth-child(12){top:35.6%; left:44.1%; width:44px; height:44px; animation-name:bubble-c; animation-duration:53.4s; animation-delay:-33.9s;}
.bubbles span:nth-child(13){top:25.4%; left:80.3%; width:18px; height:18px; animation-name:bubble-a; animation-duration:46.1s; animation-delay:-69.5s;}
.bubbles span:nth-child(14){top:49.1%; left:48.0%; width:22px; height:22px; animation-name:bubble-b; animation-duration:46.2s; animation-delay:-22.3s;}
.bubbles span:nth-child(15){top:98.9%; left:12.2%; width:18px; height:18px; animation-name:bubble-c; animation-duration:45.0s; animation-delay:-58.4s;}
.bubbles span:nth-child(16){top:32.2%; left:73.5%; width:30px; height:30px; animation-name:bubble-a; animation-duration:46.0s; animation-delay:-11.8s;}
.bubbles span:nth-child(17){top:93.1%; left:17.9%; width:50px; height:50px; animation-name:bubble-b; animation-duration:56.9s; animation-delay:-47.8s;}
.bubbles span:nth-child(18){top:67.6%; left:86.4%; width:22px; height:22px; animation-name:bubble-c; animation-duration:44.2s; animation-delay:-69.2s;}
.bubbles span:nth-child(19){top:97.0%; left:57.3%; width:38px; height:38px; animation-name:bubble-a; animation-duration:52.7s; animation-delay:-26.3s;}
.bubbles span:nth-child(20){top:23.5%; left:84.3%; width:18px; height:18px; animation-name:bubble-b; animation-duration:44.2s; animation-delay:-30.7s;}
.bubbles span:nth-child(21){top:40.0%; left:71.6%; width:10px; height:10px; animation-name:bubble-c; animation-duration:43.7s; animation-delay:-3.7s;}
.bubbles span:nth-child(22){top:24.6%; left:28.9%; width:50px; height:50px; animation-name:bubble-a; animation-duration:55.4s; animation-delay:-27.6s;}
.bubbles span:nth-child(23){top:87.6%; left:62.5%; width:16px; height:16px; animation-name:bubble-b; animation-duration:48.3s; animation-delay:-52.2s;}
.bubbles span:nth-child(24){top:47.3%; left:25.3%; width:64px; height:64px; animation-name:bubble-c; animation-duration:59.3s; animation-delay:-14.8s;}
.bubbles span:nth-child(25){top:84.3%; left:76.6%; width:38px; height:38px; animation-name:bubble-a; animation-duration:54.0s; animation-delay:-29.8s;}
.bubbles span:nth-child(26){top:57.9%; left:81.8%; width:30px; height:30px; animation-name:bubble-b; animation-duration:44.7s; animation-delay:-41.2s;}
.bubbles span:nth-child(27){top:12.3%; left:69.6%; width:44px; height:44px; animation-name:bubble-c; animation-duration:57.8s; animation-delay:-66.8s;}
.bubbles span:nth-child(28){top:0.4%; left:57.6%; width:22px; height:22px; animation-name:bubble-a; animation-duration:49.5s; animation-delay:-40.9s;}
.bubbles span:nth-child(29){top:24.5%; left:39.8%; width:16px; height:16px; animation-name:bubble-b; animation-duration:38.1s; animation-delay:-6.6s;}
.bubbles span:nth-child(30){top:7.7%; left:3.9%; width:56px; height:56px; animation-name:bubble-c; animation-duration:64.7s; animation-delay:-5.0s;}
.bubbles span:nth-child(31){top:10.3%; left:28.1%; width:30px; height:30px; animation-name:bubble-a; animation-duration:49.5s; animation-delay:-22.7s;}
.bubbles span:nth-child(32){top:48.9%; left:22.3%; width:18px; height:18px; animation-name:bubble-b; animation-duration:39.6s; animation-delay:-60.0s;}
.bubbles span:nth-child(33){top:18.8%; left:71.8%; width:10px; height:10px; animation-name:bubble-c; animation-duration:40.9s; animation-delay:-35.3s;}
.bubbles span:nth-child(34){top:74.8%; left:6.9%; width:8px; height:8px; animation-name:bubble-a; animation-duration:37.4s; animation-delay:-60.5s;}
.bubbles span:nth-child(35){top:39.0%; left:55.1%; width:22px; height:22px; animation-name:bubble-b; animation-duration:42.3s; animation-delay:-48.8s;}
.bubbles span:nth-child(36){top:30.3%; left:5.5%; width:44px; height:44px; animation-name:bubble-c; animation-duration:51.5s; animation-delay:-50.8s;}
.bubbles span:nth-child(37){top:100.0%; left:78.8%; width:64px; height:64px; animation-name:bubble-a; animation-duration:70.4s; animation-delay:-6.9s;}
.bubbles span:nth-child(38){top:59.9%; left:49.5%; width:34px; height:34px; animation-name:bubble-b; animation-duration:56.5s; animation-delay:-21.7s;}
.bubbles span:nth-child(39){top:70.0%; left:51.2%; width:20px; height:20px; animation-name:bubble-c; animation-duration:39.1s; animation-delay:-57.0s;}
.bubbles span:nth-child(40){top:98.6%; left:35.1%; width:34px; height:34px; animation-name:bubble-a; animation-duration:52.8s; animation-delay:-29.4s;}
.bubbles span:nth-child(41){top:87.4%; left:63.1%; width:56px; height:56px; animation-name:bubble-b; animation-duration:61.3s; animation-delay:-66.3s;}
.bubbles span:nth-child(42){top:68.0%; left:68.2%; width:64px; height:64px; animation-name:bubble-c; animation-duration:65.2s; animation-delay:-27.3s;}
.bubbles span:nth-child(43){top:39.4%; left:22.8%; width:10px; height:10px; animation-name:bubble-a; animation-duration:41.6s; animation-delay:-2.9s;}
.bubbles span:nth-child(44){top:26.4%; left:57.2%; width:44px; height:44px; animation-name:bubble-b; animation-duration:58.3s; animation-delay:-31.9s;}
.bubbles span:nth-child(45){top:22.4%; left:37.9%; width:64px; height:64px; animation-name:bubble-c; animation-duration:61.7s; animation-delay:-64.0s;}
.bubbles span:nth-child(46){top:65.4%; left:5.0%; width:18px; height:18px; animation-name:bubble-a; animation-duration:43.3s; animation-delay:-50.2s;}
.bubbles span:nth-child(47){top:89.7%; left:75.2%; width:26px; height:26px; animation-name:bubble-b; animation-duration:44.1s; animation-delay:-64.2s;}
.bubbles span:nth-child(48){top:37.8%; left:59.6%; width:8px; height:8px; animation-name:bubble-c; animation-duration:34.7s; animation-delay:-14.1s;}
.bubbles span:nth-child(49){top:88.2%; left:69.2%; width:12px; height:12px; animation-name:bubble-a; animation-duration:41.3s; animation-delay:-5.6s;}
.bubbles span:nth-child(50){top:29.2%; left:90.7%; width:56px; height:56px; animation-name:bubble-b; animation-duration:67.0s; animation-delay:-69.4s;}
.bubbles span:nth-child(51){top:15.1%; left:42.4%; width:34px; height:34px; animation-name:bubble-c; animation-duration:49.4s; animation-delay:-40.7s;}
.bubbles span:nth-child(52){top:17.4%; left:9.2%; width:8px; height:8px; animation-name:bubble-a; animation-duration:36.6s; animation-delay:-17.8s;}
.bubbles span:nth-child(53){top:85.1%; left:16.0%; width:20px; height:20px; animation-name:bubble-b; animation-duration:41.2s; animation-delay:-48.2s;}
.bubbles span:nth-child(54){top:71.8%; left:16.4%; width:44px; height:44px; animation-name:bubble-c; animation-duration:55.2s; animation-delay:-30.6s;}
.bubbles span:nth-child(55){top:61.6%; left:28.0%; width:18px; height:18px; animation-name:bubble-a; animation-duration:45.4s; animation-delay:-43.5s;}
.bubbles span:nth-child(56){top:8.2%; left:93.7%; width:20px; height:20px; animation-name:bubble-b; animation-duration:38.8s; animation-delay:-56.7s;}
.bubbles span:nth-child(57){top:94.3%; left:68.1%; width:8px; height:8px; animation-name:bubble-c; animation-duration:33.6s; animation-delay:-40.6s;}
.bubbles span:nth-child(58){top:39.0%; left:43.2%; width:56px; height:56px; animation-name:bubble-a; animation-duration:58.1s; animation-delay:-0.5s;}
.bubbles span:nth-child(59){top:54.1%; left:10.4%; width:30px; height:30px; animation-name:bubble-b; animation-duration:45.3s; animation-delay:-25.9s;}
.bubbles span:nth-child(60){top:-1.7%; left:17.2%; width:50px; height:50px; animation-name:bubble-c; animation-duration:58.8s; animation-delay:-3.4s;}
.bubbles span:nth-child(61){top:17.3%; left:39.6%; width:22px; height:22px; animation-name:bubble-a; animation-duration:42.0s; animation-delay:-56.2s;}
.bubbles span:nth-child(62){top:84.9%; left:88.9%; width:8px; height:8px; animation-name:bubble-b; animation-duration:40.7s; animation-delay:-5.1s;}
.bubbles span:nth-child(63){top:42.9%; left:80.2%; width:20px; height:20px; animation-name:bubble-c; animation-duration:40.2s; animation-delay:-34.8s;}
.bubbles span:nth-child(64){top:52.2%; left:52.1%; width:64px; height:64px; animation-name:bubble-a; animation-duration:64.7s; animation-delay:-56.0s;}
.bubbles span:nth-child(65){top:32.8%; left:27.0%; width:38px; height:38px; animation-name:bubble-b; animation-duration:50.3s; animation-delay:-44.8s;}
.bubbles span:nth-child(66){top:-1.0%; left:77.8%; width:12px; height:12px; animation-name:bubble-c; animation-duration:36.9s; animation-delay:-6.9s;}
.bubbles span:nth-child(67){top:83.3%; left:35.5%; width:38px; height:38px; animation-name:bubble-a; animation-duration:47.5s; animation-delay:-2.6s;}
.bubbles span:nth-child(68){top:49.0%; left:65.8%; width:44px; height:44px; animation-name:bubble-b; animation-duration:51.5s; animation-delay:-7.3s;}
.bubbles span:nth-child(69){top:93.9%; left:52.4%; width:50px; height:50px; animation-name:bubble-c; animation-duration:54.8s; animation-delay:-13.5s;}
.bubbles span:nth-child(70){top:96.3%; left:41.5%; width:34px; height:34px; animation-name:bubble-a; animation-duration:54.9s; animation-delay:-15.0s;}
.bubbles span:nth-child(71){top:2.2%; left:34.8%; width:18px; height:18px; animation-name:bubble-b; animation-duration:37.7s; animation-delay:-25.8s;}
.bubbles span:nth-child(72){top:47.3%; left:83.2%; width:56px; height:56px; animation-name:bubble-c; animation-duration:64.9s; animation-delay:-63.4s;}

/* .bubbles span:nth-child(3n){display:none;} */

@media (max-width:768px){
  .bubbles span:nth-child(2n),
  .bubbles span:nth-child(5n){display:none;}
}

/* ===== SCROLL REVEAL ===== */
.reveal{
  opacity:0;
  translate:0 24px;
  transition:opacity var(--dur-reveal) var(--ease-soft), translate var(--dur-reveal) var(--ease-out);
  will-change:opacity, translate;
}
.reveal.is-visible{opacity:1; translate:0 0; will-change:auto;}

.reveal-group > *{
  opacity:0; translate:0 24px;
  transition:opacity var(--dur-reveal) var(--ease-soft), translate var(--dur-reveal) var(--ease-out);
}
.reveal-group.is-visible > *{opacity:1; translate:0 0;}
.reveal-group.is-visible > *:nth-child(1){transition-delay:0s;}
.reveal-group.is-visible > *:nth-child(2){transition-delay:.06s;}
.reveal-group.is-visible > *:nth-child(3){transition-delay:.12s;}
.reveal-group.is-visible > *:nth-child(4){transition-delay:.18s;}
.reveal-group.is-visible > *:nth-child(5){transition-delay:.24s;}
.reveal-group.is-visible > *:nth-child(6){transition-delay:.30s;}
.reveal-group.is-visible > *:nth-child(7){transition-delay:.36s;}
.reveal-group.is-visible > *:nth-child(8){transition-delay:.42s;}

.nav-links a.top-link{position:relative;}
.nav-links a.top-link::after{
  content:''; position:absolute; left:0; bottom:2px; height:2px; width:100%;
  background:var(--blue-mid); border-radius:2px;
  transform:scaleX(0); transform-origin:right center;
  transition:transform var(--dur-base) var(--ease-out);
}
.nav-links a.top-link:hover::after{transform:scaleX(1); transform-origin:left center;}

/* ===== RESPONSIVE ===== */
@media (max-width:980px){
  .nav-links{display:none;}
  .burger{display:flex;}
  .hero{padding:28px 0 40px;}
  .hero-inner{grid-template-columns:1fr; gap:20px; text-align:center;}
  .hero-copy{max-width:600px; margin:0 auto;}
  .hero p.lead{margin-left:auto; margin-right:auto;}
  .hero-ctas{justify-content:center;}
  .eyebrow{justify-content:center;}
  .trust-row{justify-content:center;}
  .hero-visual{order:-1; padding:0; margin:0 auto; width:100%;}
  .drop-orbit{width:min(58%, 280px); margin:0 auto;}
  .drop-orbit .badge-float{display:none;}
  .badge-row{display:none;}
  .pillar-grid{grid-template-columns:repeat(2,1fr);}
  .pkg-grid{grid-template-columns:1fr;}
  .packages .extra-grid,
  .extra-services .extra-grid{grid-template-columns:repeat(2,1fr);}
  .extra-info{grid-template-columns:1fr;}
  .apart-grid{grid-template-columns:repeat(2,1fr);}
  .step-grid{grid-template-columns:1fr 1fr; row-gap:36px;}
  .step-grid::before{display:none;}
  .hotels-inner{grid-template-columns:1fr;}
  .hotel-checks{grid-template-columns:1fr;}
  .adv-grid{grid-template-columns:1fr 1fr;}
  .foot-grid{grid-template-columns:1fr 1fr; gap:34px;}
  .cta-band{padding:40px 26px; flex-direction:column; text-align:center;}
  .cta-band h3, .cta-band p{max-width:none;}
  .price-grid{grid-template-columns:repeat(2,1fr);}
  .price-info{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:700px){
  .social-grid{grid-template-columns:1fr;}
  .social-card{flex-direction:column; text-align:center;}
}
@media (max-width:560px){
  .pillar-grid{grid-template-columns:1fr;}
  .pkg-grid{grid-template-columns:1fr;}
  .packages .extra-grid,
  .extra-services .extra-grid{grid-template-columns:1fr;}
  .apart-grid{grid-template-columns:1fr;}
  .adv-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;}
  section{padding:64px 0;}
  .trust-row{gap:16px 28px; justify-content:center;}
  .trust-item{flex:0 0 auto; width:calc(50% - 20px); justify-content:center;}
  .hero h1{font-size:clamp(28px,8vw,40px);}
  .hero-ctas .btn{width:100%;}
  .price-grid{grid-template-columns:1fr;}
  .price-card{padding:24px 20px;}
  .price-info{grid-template-columns:1fr;}
  .review-slider{min-height:320px;}
  .review-card{padding:26px 22px;}
  .cta-band{margin:0 16px;}
}

@media (hover:none){
  .pillar-card:hover, .pkg-card:hover, .price-card:hover, .extra-item:hover,
  .extra-card:hover, .adv-card:hover, .social-card:hover, .btn:hover,
  .foot-social a:hover{transform:none;}
  .dropdown::before{display:none;}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}

  .bubbles{display:none;}
  .wave-back, .badge-float, .hero-logo, .drop-glow{animation:none;}

  .reveal, .reveal-group > *{opacity:1; translate:none; transition:none;}

  *{transition-property:opacity, color, background-color, border-color, box-shadow !important;}

  .btn:hover, .pillar-card:hover, .pkg-card:hover, .price-card:hover,
  .extra-item:hover, .extra-card:hover, .adv-card:hover, .social-card:hover,
  .foot-social a:hover{transform:none;}

  .review-card, .review-card.active{transform:none;}
}