/* ===== Acompáñame · landing styles ===== */

:root{
  --cream:#F7F4EE;
  --cream-2:#EDE7DC;
  --cream-3:#F2EEE5;
  --terracotta:#C25E45;
  --terracotta-light:#E8946F;
  --terracotta-dark:#A04934;
  --terracotta-soft:rgba(194,94,69,0.10);
  --hero-bg:#1F1B16;
  --hero-bg-2:#2C2520;
  --hero-text:#FFF7E8;
  --hero-text-soft:rgba(255,247,232,0.74);
  --hero-line:rgba(255,247,232,0.14);
  --warm-blue:#7B95A8;
  --sage:#7E9078;
  --sage-soft:#E2EAD9;
  --gold:#B89968;
  --ink:#1A1815;
  --ink-soft:#54514B;
  --ink-mute:#8A857C;
  --line:rgba(60,50,35,0.12);
  --shadow-sm:0 2px 8px rgba(180,140,80,0.06);
  --shadow-md:0 8px 24px rgba(180,140,80,0.10);
  --shadow-lg:0 20px 50px rgba(180,140,80,0.14);
  --r-sm:8px;
  --r-md:12px;
  --r-lg:18px;
  --r-xl:28px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:'Inter',system-ui,sans-serif;
  font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
}

img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

h1,h2,h3,h4{
  font-family:'Fraunces',Georgia,serif;
  font-weight:600;letter-spacing:-0.02em;
  color:var(--ink);line-height:1.1;
}
h1{font-size:clamp(36px,5.5vw,64px);font-weight:700;line-height:1.05}
h2{font-size:clamp(28px,4vw,42px)}
h3{font-size:clamp(18px,2.2vw,22px)}
h4{font-size:1rem}

em{color:var(--terracotta);font-style:italic;font-weight:500}

p{color:var(--ink-soft)}
strong{color:var(--ink);font-weight:600}

.container{
  width:100%;max-width:1180px;
  margin:0 auto;padding:0 24px;
}

/* DECORATIVE BLOBS */
.bg-blobs{
  position:fixed;inset:0;
  pointer-events:none;z-index:0;overflow:hidden;
}
.blob{
  position:absolute;border-radius:50%;
  filter:blur(80px);opacity:0.5;
}
.blob-1{
  width:520px;height:520px;
  background:radial-gradient(circle,var(--terracotta) 0%,transparent 65%);
  top:-180px;right:-150px;opacity:0.10;
}
.blob-2{
  width:480px;height:480px;
  background:radial-gradient(circle,var(--sage) 0%,transparent 65%);
  top:60%;left:-150px;opacity:0.12;
}
.blob-3{
  width:380px;height:380px;
  background:radial-gradient(circle,var(--warm-blue) 0%,transparent 70%);
  top:35%;right:-50px;opacity:0.08;
}

/* ===== HEADER ===== */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(247,244,238,0.88);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  display:flex;align-items:center;
  height:68px;gap:24px;
}
.logo{
  display:flex;align-items:center;gap:10px;
  font-family:'Fraunces',serif;font-size:20px;font-weight:600;
  color:var(--ink);
}
.logo-mark{
  width:34px;height:34px;
  background:var(--terracotta);color:#fff;
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif;font-weight:700;font-size:18px;
}
.logo-text em{color:var(--terracotta);font-weight:500}

.main-nav{
  display:flex;gap:24px;margin-left:auto;
  font-size:0.92rem;font-weight:500;color:var(--ink-soft);
}
.main-nav a{transition:color 0.2s}
.main-nav a:hover{color:var(--terracotta)}

.header-cta{
  display:flex;align-items:center;gap:10px;
}

/* BUTTONS */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Inter',sans-serif;
  font-weight:500;font-size:0.9rem;
  padding:10px 18px;border-radius:99px;
  border:1px solid transparent;
  cursor:pointer;transition:all 0.2s;
  white-space:nowrap;
}
.btn-primary{
  background:var(--terracotta);color:#fff;
}
.btn-primary:hover{
  background:var(--terracotta-dark);
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(224,122,95,0.35);
}
.btn-ghost{
  background:transparent;color:var(--ink);
  border-color:var(--line);
}
.btn-ghost:hover{
  border-color:var(--terracotta);
  color:var(--terracotta);
}
.btn-lg{
  padding:14px 26px;font-size:1rem;
}

/* LANG TOGGLE */
.lang-toggle{
  background:transparent;border:1px solid var(--line);
  padding:8px 12px;border-radius:99px;
  font-size:0.78rem;font-weight:600;letter-spacing:0.06em;
  color:var(--ink-soft);cursor:pointer;
  display:flex;gap:4px;align-items:center;
  transition:all 0.2s;
}
.lang-toggle:hover{border-color:var(--terracotta)}
.lang-toggle .lt-active{color:var(--terracotta)}
.lang-toggle .lt-sep{color:var(--ink-mute)}
.lang-toggle .lt-inactive{color:var(--ink-mute)}
[data-lang="en"] .lt-active{color:var(--ink-mute)}
[data-lang="en"] .lt-inactive{color:var(--terracotta)}

.nav-toggle{
  display:none;width:36px;height:36px;
  background:transparent;border:none;cursor:pointer;
  padding:8px;
  flex-direction:column;justify-content:space-between;
}
.nav-toggle span{
  display:block;height:2px;background:var(--ink);border-radius:2px;
  transition:transform 0.3s;
}

/* ===== HERO ===== */
section{position:relative;z-index:1}

.hero{
  padding:90px 0 110px;
  background:linear-gradient(165deg,var(--hero-bg) 0%, var(--hero-bg-2) 100%);
  color:var(--hero-text);
  position:relative;overflow:hidden;
}
.hero::before, .hero::after{
  content:"";position:absolute;border-radius:50%;
  filter:blur(90px);pointer-events:none;
}
.hero::before{
  width:540px;height:540px;
  background:radial-gradient(circle,var(--terracotta-light) 0%,transparent 65%);
  top:-200px;right:-180px;opacity:0.32;
}
.hero::after{
  width:480px;height:480px;
  background:radial-gradient(circle,var(--sage) 0%,transparent 65%);
  bottom:-220px;left:-160px;opacity:0.18;
}
.hero-inner{
  display:grid;grid-template-columns:1fr 1.05fr;
  gap:50px;align-items:center;
  position:relative;z-index:2;
}
.hero h1{color:var(--hero-text)}
.hero h1 em{color:var(--terracotta-light)}
.hero .lead{color:var(--hero-text-soft)}
.hero .eyebrow{
  background:rgba(232,148,111,0.14);
  color:var(--terracotta-light);
  border-color:rgba(232,148,111,0.3);
}
.hero .eyebrow .dot{background:var(--terracotta-light)}
.hero-illu{color:var(--terracotta-light);opacity:0.9}
.hero .btn-ghost{
  background:rgba(255,247,232,0.05);
  border-color:rgba(255,247,232,0.22);
  color:var(--hero-text);
}
.hero .btn-ghost:hover{
  border-color:var(--terracotta-light);
  color:var(--terracotta-light);
  background:rgba(232,148,111,0.06);
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:0.78rem;font-weight:600;
  letter-spacing:0.16em;text-transform:uppercase;
  color:var(--terracotta);
  background:var(--terracotta-soft);
  padding:6px 14px;border-radius:99px;
  border:1px solid rgba(224,122,95,0.2);
  margin-bottom:24px;
}
.eyebrow .dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--terracotta);
  animation:pulse 2s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:0.55;transform:scale(0.85)}
}

.hero h1{margin-bottom:24px}
.hero h1 .h1-sub{
  display:block;
  margin-top:14px;
  font-size:0.55em;
  font-weight:500;
  line-height:1.2;
  color:var(--hero-text-soft);
  letter-spacing:-0.01em;
}
.lead{
  font-family:'Fraunces',serif;font-style:italic;
  font-size:clamp(17px,1.6vw,20px);
  color:var(--ink-soft);line-height:1.5;
  margin-bottom:32px;max-width:560px;
}

.hero-actions{
  display:flex;gap:14px;flex-wrap:wrap;
  margin-bottom:40px;
}

.hero-meta{
  display:flex;flex-wrap:wrap;gap:10px;
  list-style:none;padding-top:6px;
}
.hero-meta li{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px 8px 12px;
  border-radius:99px;
  border:1px solid rgba(232,148,111,0.32);
  background:rgba(232,148,111,0.08);
  font-size:0.86rem;
  color:var(--hero-text);
  line-height:1.2;
}
.hero-meta li svg{
  width:15px;height:15px;
  color:var(--terracotta-light);
  flex-shrink:0;
}

.hero-illu{
  width:100%;max-width:340px;
  margin-left:auto;
  color:var(--terracotta);
  filter:drop-shadow(0 12px 24px rgba(224,122,95,0.18));
}

/* HERO PHOTO COLLAGE — asymmetric magazine */
.hero-grid{
  position:relative;
  width:100%;max-width:560px;
  aspect-ratio:1/1.05;
  margin-left:auto;
}
.hg{
  position:absolute;margin:0;overflow:hidden;
  border-radius:22px;
  box-shadow:0 20px 50px rgba(0,0,0,0.38), 0 0 0 4px rgba(255,247,232,0.06);
  transition:transform 0.55s cubic-bezier(.2,.7,.3,1);
}
.hg img{
  width:100%;height:100%;
  object-fit:cover;display:block;
  transition:transform 0.7s ease;
}
.hg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%, rgba(31,27,22,0.22) 100%);
  pointer-events:none;
}

.hg-main{
  left:0;top:6%;
  width:62%;height:62%;
  transform:rotate(-2.2deg);
  z-index:2;
}
.hg-top{
  right:0;top:0;
  width:46%;height:42%;
  transform:rotate(2.5deg);
  z-index:3;
}
.hg-mid{
  right:calc(6% - 30px);top:42%;
  width:48%;height:38%;
  transform:rotate(-1.5deg);
  z-index:4;
}
.hg-bot{
  left:calc(18% - 30px);bottom:50px;
  width:50%;height:38%;
  transform:rotate(2deg);
  z-index:5;
}

.hero-grid:hover .hg-main, .hero-grid.is-spread .hg-main{transform:translate(-12%,-8%) rotate(-0.5deg)}
.hero-grid:hover .hg-top, .hero-grid.is-spread .hg-top{transform:translate(12%,-10%) rotate(0.8deg)}
.hero-grid:hover .hg-mid, .hero-grid.is-spread .hg-mid{transform:translate(14%,6%) rotate(-0.3deg)}
.hero-grid:hover .hg-bot, .hero-grid.is-spread .hg-bot{transform:translate(-12%,10%) rotate(0.5deg)}
.hero-grid:hover .hg img, .hero-grid.is-spread .hg img{transform:scale(1.04)}

/* DECORATIVE BLOBS in hero-grid */
.hg-deco{
  position:absolute;pointer-events:none;
  transition:transform 0.6s cubic-bezier(.2,.7,.3,1);
}
.hg-deco-1{
  left:-32px;top:30%;
  width:100px;height:100px;
  background:var(--terracotta-light);
  border-radius:50%;opacity:0.55;
  filter:blur(1px);
  z-index:1;
}
.hg-deco-2{
  right:-22px;bottom:14%;
  width:63px;height:63px;
  background:var(--sage);
  border-radius:50%;opacity:0.6;
  z-index:1;
}
.hg-deco-3, .hg-deco-4{
  color:var(--terracotta-light);
  z-index:6;
  opacity:0.9;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,0.32));
}
.hg-deco-3{
  left:46%;top:28%;
  width:75px;height:75px;
}
.hg-deco-4{
  left:4%;top:62%;
  width:50px;height:50px;
}
.hg-deco-5{
  right:8%;top:-4%;
  width:60px;height:60px;
  color:var(--sage);
  z-index:6;
  opacity:0.85;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,0.28));
}
.hg-deco-3 svg, .hg-deco-4 svg, .hg-deco-5 svg{width:100%;height:100%}

/* on hover / spread — each deco moves by random offset stored in CSS vars (set by JS) */
.hero-grid:hover .hg-deco,
.hero-grid.is-spread .hg-deco{
  transform:translate(var(--dx,0), var(--dy,0)) rotate(var(--dr,0));
}

/* ===== SECTIONS ===== */
.section{padding:80px 0}
.section-head{
  text-align:center;margin-bottom:48px;max-width:680px;
  margin-left:auto;margin-right:auto;
}
.section-head h2{margin-bottom:14px}
.eyebrow-sm{
  font-size:0.72rem;font-weight:700;
  letter-spacing:0.2em;text-transform:uppercase;
  color:var(--terracotta);
  margin-bottom:12px;
}
.section-lead{
  font-family:'Fraunces',serif;font-style:italic;
  font-size:1.05rem;color:var(--ink-soft);
}
.section-foot{
  text-align:center;margin-top:32px;
  font-size:0.92rem;color:var(--ink-soft);
  font-style:italic;
}

/* CARDS — 3 + 2 с центрированным вторым рядом */
.cards{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:20px;
}
.cards .card:nth-child(1){grid-column:1 / span 2}
.cards .card:nth-child(2){grid-column:3 / span 2}
.cards .card:nth-child(3){grid-column:5 / span 2}
.cards .card:nth-child(4){grid-column:2 / span 2}
.cards .card:nth-child(5){grid-column:4 / span 2}
.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-md);
  padding:28px 24px;
  transition:transform 0.3s,box-shadow 0.3s;
}
.card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-md);
  border-color:rgba(224,122,95,0.4);
}
.card-ico{
  width:48px;height:48px;
  background:var(--terracotta-soft);
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  color:var(--terracotta);
  margin-bottom:18px;
}
.card-ico svg{width:24px;height:24px}
.card h3{margin-bottom:8px;color:var(--ink)}
.card p{font-size:0.95rem;line-height:1.5}

/* ESPECIALIZACION */
.especializacion{
  background:linear-gradient(135deg,#F5DDD0 0%, #EBC9B5 100%);
  padding:90px 0;
}
.especializacion-inner{
  display:grid;grid-template-columns:1.3fr 1fr;
  gap:48px;align-items:center;
}
.esp-text h2{margin-bottom:16px}
.esp-text > p{margin-bottom:24px;font-size:1.02rem}
.esp-list{
  list-style:none;padding:0;
}
.esp-list li{
  padding:10px 0 10px 28px;
  font-size:0.96rem;color:var(--ink-soft);
  border-bottom:1px dashed var(--line);
  position:relative;
}
.esp-list li:last-child{border:none}
.esp-list li::before{
  content:"→";color:var(--terracotta);font-weight:700;
  position:absolute;left:0;top:10px;
}
.esp-quote{
  background:#fff;
  border-radius:var(--r-lg);
  padding:32px 32px;
  box-shadow:var(--shadow-md);
  position:relative;
}
.esp-quote svg{
  color:var(--terracotta);
  margin-bottom:8px;
}
.esp-quote p{
  font-family:'Fraunces',serif;font-style:italic;
  font-size:1.1rem;line-height:1.5;
  color:var(--ink);margin-bottom:20px;
}
.esp-quote-author{
  display:inline-block;
  font-size:0.78rem;font-weight:700;
  letter-spacing:0.15em;text-transform:uppercase;
  color:var(--terracotta);
}

/* SOBRE */
.sobre-inner{
  display:grid;grid-template-columns:1.15fr 1fr;
  gap:80px;align-items:start;
}
.sobre-left h2{margin-bottom:18px}
.sobre-left > p{margin-bottom:18px;font-size:1.02rem}
.sobre-right{
  padding:6px 0 0;
}
.facts{
  display:grid;grid-template-columns:1fr;
  gap:0;
}
.facts dt{
  font-family:'Fraunces',serif;font-style:italic;
  color:var(--terracotta);font-size:0.85rem;
  letter-spacing:0.04em;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.facts dt:first-of-type{
  margin-top:0;padding-top:0;border-top:none;
}
.facts dd{
  font-family:'Fraunces',serif;
  font-size:1.25rem;line-height:1.3;
  color:var(--ink);font-weight:600;
  margin:4px 0 0;
}

/* BOUNDARIES */
.boundaries{padding:90px 0;background:#FDFCF9}
.bounds{
  display:grid;grid-template-columns:1fr 1fr;
  gap:24px;
}
.bound{
  border-radius:var(--r-md);padding:30px 28px;
}
.bound{
  border-radius:var(--r-md);padding:32px 30px;
  position:relative;
}
.bound-yes{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
}
.bound-no{
  background:linear-gradient(160deg,var(--hero-bg) 0%, var(--hero-bg-2) 100%);
  color:var(--hero-text);
  box-shadow:var(--shadow-md);
}
.bound h4{
  font-family:'Fraunces',serif;font-size:1.25rem;
  margin-bottom:20px;
  display:flex;align-items:center;gap:10px;
}
.bound h4::before{
  content:"";display:inline-block;
  width:8px;height:8px;border-radius:50%;
}
.bound-yes h4{color:var(--ink)}
.bound-yes h4::before{background:var(--terracotta)}
.bound-no h4{color:var(--hero-text)}
.bound-no h4::before{background:var(--terracotta-light);opacity:0.85}
.bound ul{list-style:none;padding:0}
.bound li{
  padding:9px 0 9px 24px;
  font-size:0.93rem;
  border-bottom:1px dashed var(--line);
  position:relative;line-height:1.5;
}
.bound li:last-child{border:none}
.bound-yes li{color:var(--ink-soft)}
.bound-no li{
  color:var(--hero-text-soft);
  border-bottom-color:var(--hero-line);
}
.bound-yes li::before{
  content:"";position:absolute;left:0;top:18px;
  width:10px;height:1.5px;background:var(--terracotta);
  transform:rotate(0deg);
}
.bound-no li::before{
  content:"";position:absolute;left:0;top:14px;
  width:10px;height:10px;border:1.5px solid rgba(255,247,232,0.4);
  border-radius:50%;
}
.bound-no li::after{
  content:"";position:absolute;left:1px;top:19px;
  width:8px;height:1.5px;background:rgba(255,247,232,0.4);
  transform:rotate(-22deg);
}

/* PRICES */
.precios{padding:90px 0}
.price-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:20px;align-items:stretch;
}
.price-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-md);
  padding:32px 28px;
  position:relative;
  transition:transform 0.3s, box-shadow 0.3s;
}
.price-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.price-card-feat{
  background:#fff;
  border-color:var(--terracotta);
  border-width:2px;
  box-shadow:var(--shadow-md);
}
.ribbon{
  position:absolute;top:-12px;left:24px;
  background:var(--terracotta);color:#fff;
  font-size:0.72rem;font-weight:700;
  letter-spacing:0.12em;text-transform:uppercase;
  padding:5px 12px;border-radius:99px;
}
.price-card h3{margin-bottom:6px}
.price-tag{
  font-size:0.86rem;color:var(--ink-soft);
  font-style:italic;margin-bottom:20px;
  padding-bottom:18px;border-bottom:1px solid var(--line);
}
.price-list{list-style:none;padding:0}
.price-list li{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:10px 0;border-bottom:1px dashed var(--line);
  font-size:0.95rem;
}
.price-list li:last-child{border:none}
.price-list .lbl{color:var(--ink)}
.price-list .val{
  font-family:'Fraunces',serif;font-weight:600;
  color:var(--terracotta);
}
.price-note{
  text-align:center;margin-top:40px;
  font-size:0.92rem;color:var(--ink-soft);
  font-style:italic;
}

/* DAY BLOCK */
.dayblock{padding:90px 0;background:var(--cream)}
.dayblock-inner{
  display:grid;grid-template-columns:1fr 1.4fr;
  gap:48px;align-items:start;
}
.dayblock-text h2{margin-bottom:16px}
.dayblock-text p{font-size:1rem}
.day{
  list-style:none;padding:0;
  background:#fff;border-radius:var(--r-md);
  border:1px solid var(--line);
  padding:8px 24px;
  box-shadow:var(--shadow-sm);
}
.day li{
  display:flex;gap:18px;
  padding:14px 0;
  border-bottom:1px dashed var(--line);
}
.day li:last-child{border:none}
.day-time{
  flex:0 0 60px;
  font-family:'Fraunces',serif;font-weight:600;
  color:var(--terracotta);font-size:0.95rem;
  padding-top:1px;
}
.day-act{flex:1;font-size:0.92rem;line-height:1.5;color:var(--ink-soft)}
.day-act strong{display:inline;color:var(--ink);margin-right:4px}

/* COBERTURA */
.cobertura{padding:90px 0}
.cobertura-inner{
  display:grid;grid-template-columns:1fr 1fr;
  gap:48px;align-items:center;
}
.cob-text h2{margin-bottom:16px}
.cob-text > p{margin-bottom:24px;font-size:1rem}
.cob-list{
  list-style:none;padding:0;margin-top:20px;
}
.cob-list li{
  padding:10px 0 10px 28px;
  font-size:1rem;color:var(--ink);
  border-bottom:1px dashed var(--line);
  position:relative;font-weight:500;
}
.cob-list li::before{
  content:"";width:8px;height:8px;
  background:var(--terracotta);border-radius:50%;
  position:absolute;left:0;top:18px;
}
.cob-list li:last-child{border:none}
.cob-coming{opacity:0.7}
.cob-coming::before{background:var(--ink-mute) !important}
.muted{color:var(--ink-mute);font-weight:400}
.cob-map{
  background:#fff;border-radius:var(--r-md);
  padding:24px;border:1px solid var(--line);
  color:var(--terracotta);
}

/* ADICIONAL */
.adicional{padding:60px 0}
.adic-card{
  background:linear-gradient(135deg,var(--terracotta) 0%, var(--terracotta-dark) 100%);
  color:#fff;
  border-radius:var(--r-lg);
  padding:36px 40px;
  box-shadow:var(--shadow-lg);
  display:flex;align-items:center;
  gap:28px;
}
.adic-ico{
  flex:0 0 60px;
  width:60px;height:60px;
  background:rgba(255,255,255,0.18);
  border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;
}
.adic-ico svg{width:30px;height:30px}
.adic-text{flex:1;min-width:0}
.adic-card h3{color:#fff;margin-bottom:6px;font-size:1.25rem}
.adic-card p{color:rgba(255,255,255,0.92);font-size:0.95rem;margin:0;line-height:1.55}

/* CONTACTO */
.contacto{padding:100px 0;text-align:center}
.contacto-inner{max-width:600px;margin:0 auto}
.contacto h2{margin-bottom:18px}
.contacto-lead{
  font-size:1.05rem;color:var(--ink-soft);
  margin-bottom:32px;
}
.contacto-hint{
  margin-top:18px;font-size:0.85rem;
}

/* FOOTER */
.site-footer{
  background:var(--hero-bg);
  color:var(--hero-text-soft);
  padding:60px 0 32px;
  border-top:1px solid var(--hero-line);
  position:relative;overflow:hidden;
}
.site-footer::before{
  content:"";position:absolute;
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,var(--terracotta-light) 0%,transparent 65%);
  top:-200px;left:50%;transform:translateX(-50%);
  filter:blur(90px);opacity:0.15;
  pointer-events:none;
}
.footer-inner{text-align:center;position:relative;z-index:2}
.footer-brand{
  display:flex;align-items:center;justify-content:center;
  gap:10px;font-family:'Fraunces',serif;font-size:1.4rem;
  margin-bottom:6px;color:var(--hero-text);
}
.footer-brand .logo-text em{color:var(--terracotta-light)}
.footer-tag{
  font-size:0.86rem;color:var(--hero-text-soft);
  font-style:italic;margin-bottom:28px;
}
.footer-links{
  display:flex;justify-content:center;gap:24px;
  margin-bottom:32px;
  font-size:0.92rem;font-weight:500;
}
.footer-links a{color:var(--hero-text-soft);transition:color 0.2s}
.footer-links a:hover{color:var(--terracotta-light)}
.footer-copy{
  font-size:0.78rem;color:rgba(255,247,232,0.5);
  padding-top:28px;border-top:1px solid var(--hero-line);
}

/* REVEAL ANIMATIONS */
.reveal{
  opacity:0;transform:translateY(24px);
  transition:opacity 0.8s ease, transform 0.8s ease;
}
.reveal.is-visible{opacity:1;transform:none}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .cards .card{grid-column:auto !important}
}

@media (max-width: 900px){
  .hero{padding:50px 0 70px}
  .hero-inner{grid-template-columns:1fr;gap:30px}
  .hero-illu{max-width:240px;margin:0 auto;order:-1}
  .hero-grid{max-width:420px;margin:0 auto;order:-1}
  .hero-meta{gap:24px}

  .especializacion-inner,
  .sobre-inner,
  .dayblock-inner,
  .cobertura-inner{
    grid-template-columns:1fr;gap:32px;
  }
  .bounds{grid-template-columns:1fr}
  .adic-card{flex-direction:column;text-align:center;padding:32px 24px;gap:18px}
  .adic-ico{margin:0 auto}

  .main-nav{display:none}
  .nav-toggle{display:flex}

  .header-cta .btn-primary{display:none}
}

@media (max-width: 600px){
  .container{padding:0 18px}
  .section{padding:60px 0}
  .cards{grid-template-columns:1fr}
  .cards .card{grid-column:auto !important}
  .especializacion,.boundaries,.precios,.dayblock,.cobertura{padding:70px 0}
  .hero{padding:40px 0 60px}

  .hero h1{font-size:36px}
  h2{font-size:28px}

  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{justify-content:center}
  .hero-meta{gap:18px;justify-content:space-between;width:100%}
  .hero-meta li{flex:1;min-width:0}

  .card{padding:24px 20px}

  .price-card{padding:28px 22px}

  .esp-quote,.adic-card{padding:28px 22px}

  .day li{flex-direction:column;gap:4px}
  .day-time{flex:none}
  .day{padding:6px 18px}

  .footer-links{gap:14px;flex-wrap:wrap}

  .logo-text{display:none}
  .lang-toggle{padding:7px 10px;font-size:0.72rem}
}

/* MOBILE NAV OPEN STATE */
.site-header.nav-open .main-nav{
  display:flex;flex-direction:column;
  position:absolute;top:100%;left:0;right:0;
  background:rgba(255,248,235,0.98);
  backdrop-filter:blur(10px);
  padding:24px;gap:16px;
  border-bottom:1px solid var(--line);
  font-size:1.05rem;
}
