:root{
  --ink:#152039;
  --ink-2:#25314d;
  --gold:#b99058;
  --gold-2:#d7ba84;
  --cream:#f7f1e8;
  --paper:#fffaf2;
  --soft:#f2eadf;
  --line:rgba(21,32,57,.12);
  --shadow:0 24px 70px rgba(21,32,57,.14);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fffaf2,#f7f1e8 50%,#fff);line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}
a:hover{color:var(--gold)}
code{background:#fff;border:1px solid var(--line);border-radius:8px;padding:.1rem .35rem}.section-pad{padding:80px min(6vw,80px)}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px min(6vw,80px);background:rgba(255,250,242,.86);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px}.brand.mini{width:max-content}.brand.mini:hover .brand-mark{transform:translateY(-1px)}.brand-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,var(--ink),var(--gold));color:white;font-weight:900;letter-spacing:.04em;box-shadow:0 10px 25px rgba(21,32,57,.2)}.brand small{display:block;color:#687089;font-size:.78rem;margin-top:1px}.brand.mini .brand-mark{width:38px;height:38px;border-radius:12px}.nav{display:flex;align-items:center;gap:6px}.nav a{padding:10px 14px;border-radius:999px;font-weight:700;color:var(--ink-2)}.nav a:hover,.nav-cta{background:#fff;border:1px solid var(--line);box-shadow:0 10px 25px rgba(21,32,57,.06)}.menu-toggle{display:none;border:0;background:var(--ink);color:white;border-radius:12px;padding:10px 13px;font-size:20px}
.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.55fr);gap:48px;align-items:center;min-height:76vh;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;right:-120px;top:60px;width:360px;height:360px;background:radial-gradient(circle,var(--gold-2),transparent 65%);opacity:.35;filter:blur(10px)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;color:var(--gold);font-weight:900}.hero h1,.page-title h1{font-size:clamp(2.7rem,6vw,5.9rem);line-height:.95;margin:14px 0 22px;letter-spacing:-.07em}.lead{font-size:1.18rem;color:#4b556d;max-width:760px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:32px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ink);color:white;border:1px solid var(--ink);padding:13px 18px;border-radius:999px;font-weight:900;cursor:pointer;box-shadow:0 14px 30px rgba(21,32,57,.16);transition:.18s ease}.btn:hover{transform:translateY(-1px);color:white;background:#0d1426}.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line);box-shadow:none}.btn.ghost:hover{color:var(--ink);background:var(--cream)}.btn.danger{background:#8b1f1f;border-color:#8b1f1f}.trust-row{display:flex;flex-wrap:wrap;gap:10px}.trust-row span,.tags span{border:1px solid var(--line);background:rgba(255,255,255,.7);padding:8px 12px;border-radius:999px;font-size:.9rem;color:#4e5873}.hero-card{position:relative;background:linear-gradient(145deg,var(--ink),#233356);color:white;border-radius:var(--radius);padding:34px;box-shadow:var(--shadow);overflow:hidden}.hero-card h2{font-size:2rem;margin:0 0 10px}.hero-card p,.hero-card li{color:#dce3f2}.hero-card ul{padding-left:18px}.card-glow{position:absolute;inset:auto -60px -80px auto;width:210px;height:210px;background:var(--gold);border-radius:999px;opacity:.4;filter:blur(28px)}.mini-link{font-weight:900;color:var(--gold);display:inline-flex;margin-top:10px}.intro-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px;padding-top:0}.intro-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 14px 40px rgba(21,32,57,.05)}.intro-card.dark{background:var(--ink);color:white}.intro-card span{color:var(--gold);font-weight:900}.intro-card h2{font-size:1.45rem;margin:10px 0}.intro-card p{color:#5e667c}.intro-card.dark p{color:#d8deec}.section-title{max-width:760px;margin-bottom:32px}.section-title h2,.split h2,.emergency h2{font-size:clamp(2rem,4vw,3.7rem);letter-spacing:-.05em;line-height:1;margin:8px 0 12px}.section-title p,.split p,.emergency p{color:#586177}.row-title{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:20px}.areas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.area-card,.post-card,.team-card,.contact-form,.contact-box,.success-card,.article-aside,.legal-page{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 18px 50px rgba(21,32,57,.06)}.area-icon{font-size:2rem}.area-card h3,.post-card h3,.post-card h2,.team-card h3{margin:12px 0 8px;font-size:1.3rem}.area-card p,.post-card p,.team-card p{color:#5a637a}.emergency{display:grid;grid-template-columns:.85fr 1fr;gap:32px;align-items:center;background:var(--ink);color:white;margin:40px min(6vw,80px);border-radius:40px}.emergency p{color:#dce3f2}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.quick-grid a{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);padding:20px;border-radius:20px;color:white;font-weight:900}.quick-grid a:hover{background:white;color:var(--ink)}.soft-section{background:rgba(255,255,255,.55)}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.avatar{width:86px;height:86px;border-radius:28px;background:linear-gradient(135deg,var(--gold),var(--ink));color:white;display:grid;place-items:center;font-weight:900;font-size:1.4rem}.team-card strong{color:var(--gold)}.split{display:grid;grid-template-columns:.85fr 1fr;gap:38px;align-items:center}.steps{display:grid;gap:14px}.steps div{display:flex;gap:18px;align-items:center;background:white;border:1px solid var(--line);border-radius:20px;padding:18px}.steps span{width:42px;height:42px;border-radius:14px;background:var(--cream);display:grid;place-items:center;font-weight:900;color:var(--gold)}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.post-grid.wide{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:26px}.post-meta{display:block;color:var(--gold);font-size:.86rem;font-weight:900;margin-bottom:10px}.faq-list{display:grid;gap:12px}.faq-list details{background:white;border:1px solid var(--line);border-radius:18px;padding:18px 22px}.faq-list summary{cursor:pointer;font-weight:900}.faq-list p{color:#5a637a}.contact-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:start}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.contact-form label,.stack-form label,.article-editor label{display:grid;gap:7px;font-weight:900}.contact-form input,.contact-form select,.contact-form textarea,.stack-form input,.article-editor input,.article-editor textarea,.article-editor select,.search-box input{width:100%;border:1px solid var(--line);border-radius:14px;background:#fffaf7;padding:13px 14px;font:inherit;color:var(--ink)}.full{grid-column:1/-1}.checkbox{display:flex!important;grid-template-columns:auto 1fr;align-items:center;font-weight:600!important}.checkbox input{width:auto}.honeypot{display:none}.mailto-help{margin:0;color:#5a637a;font-size:.95rem;line-height:1.45;background:#fffaf7;border:1px dashed var(--line);border-radius:14px;padding:12px 14px}.footer{display:grid;grid-template-columns:1.3fr .8fr .6fr .6fr;gap:28px;padding:54px min(6vw,80px);background:#10192c;color:white}.footer p,.footer small{color:#cbd3e4}.footer h3{color:var(--gold-2)}.cookie-banner{position:fixed;left:24px;right:24px;bottom:24px;z-index:40;display:none;align-items:center;justify-content:space-between;gap:18px;background:white;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow)}.cookie-banner.is-visible{display:flex}.cookie-banner p{margin:.2rem 0 0;color:#5a637a}.cookie-actions{display:flex;gap:10px}.cookie-actions button{white-space:nowrap}.whatsapp{position:fixed;right:20px;bottom:96px;background:#1f8f55;color:white;padding:12px 15px;border-radius:999px;font-weight:900;box-shadow:0 15px 35px rgba(31,143,85,.25);z-index:30}.whatsapp:hover{color:white;background:#176f42}.page-main,.article-wrap,.legal-page{max-width:1180px;margin:auto}.page-title{max-width:850px}.search-box{display:flex;gap:12px;max-width:720px}.results-info,.empty-state{color:#5a637a}.article-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px}.article{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:42px;box-shadow:0 18px 50px rgba(21,32,57,.06)}.article h1{font-size:clamp(2.1rem,4vw,4rem);line-height:1;letter-spacing:-.05em}.article-content h2{margin-top:34px;font-size:1.7rem}.article-content p,.article-content li{color:#424c65;font-size:1.05rem}.article-note{margin-top:34px;background:var(--cream);border-radius:18px;padding:16px;color:#5a637a}.article-aside{position:sticky;top:110px;height:max-content}.legal-page h1{font-size:3rem;letter-spacing:-.05em}.legal-page h2{margin-top:30px}.admin-body{background:linear-gradient(135deg,var(--ink),#25355a);min-height:100vh}.admin-shell{padding:38px;max-width:1120px;margin:auto}.admin-card{background:#fffaf2;border-radius:30px;padding:28px;box-shadow:var(--shadow)}.stack-form{display:grid;gap:14px;max-width:420px}.alert{background:#ffe3e3;border:1px solid #f2b8b8;color:#8b1f1f;padding:12px;border-radius:14px}.muted{color:#66708a}.admin-top{display:flex;justify-content:space-between;gap:16px;align-items:center}.editor-panel,.article-list{margin-top:28px}.article-editor{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding:15px 0}.admin-row small{display:block;color:#69728a}.row-actions{display:flex;gap:8px;align-items:center}.row-actions form{margin:0}
@media (max-width:900px){.menu-toggle{display:block}.nav{display:none;position:absolute;left:18px;right:18px;top:76px;background:white;border:1px solid var(--line);border-radius:20px;padding:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav.open{display:flex}.hero,.intro-grid,.emergency,.split,.contact-section,.article-wrap,.footer{grid-template-columns:1fr}.areas-grid,.post-grid,.post-grid.wide,.team-grid,.quick-grid{grid-template-columns:1fr}.hero{min-height:auto}.section-pad{padding:56px 22px}.emergency{margin:22px}.contact-form,.article-editor{grid-template-columns:1fr}.cookie-banner.is-visible{flex-direction:column;align-items:flex-start}.whatsapp{bottom:18px}.article{padding:26px}.site-header{padding:14px 18px}.hero h1,.page-title h1{font-size:3rem}.row-title{align-items:flex-start;flex-direction:column}}

/* Panel fácil de edición */
.alert.success{background:#e8fff0;border-color:#a7e5bd;color:#155a2d}.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.admin-tabs a{padding:12px 16px;border:1px solid var(--line);border-radius:999px;background:white;font-weight:900}.admin-tabs a.active{background:var(--ink);color:white;border-color:var(--ink)}.settings-form{display:grid;gap:24px}.settings-section{background:white;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 14px 35px rgba(21,32,57,.05)}.settings-section h2{margin:0 0 16px;font-size:1.55rem}.settings-section h3{margin:10px 0;font-size:1rem;color:var(--gold)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-form label{display:grid;gap:7px;font-weight:900}.settings-form input,.settings-form textarea,.settings-form select{width:100%;border:1px solid var(--line);border-radius:14px;background:#fffaf7;padding:12px 13px;font:inherit;color:var(--ink)}.mini-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mini-fields h3{grid-column:1/-1}.admin-table-wrap{display:grid;gap:12px}.admin-table{display:grid;gap:12px}.admin-table-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border:1px solid var(--line);background:#fffdf9;border-radius:18px;padding:12px}.admin-table-row label{font-size:.9rem}.admin-table-row textarea{min-height:92px}.sticky-save{position:sticky;bottom:16px;z-index:5;display:flex;gap:12px;align-items:center;justify-content:flex-end;background:rgba(255,250,242,.92);border:1px solid var(--line);border-radius:22px;padding:14px;backdrop-filter:blur(8px);box-shadow:var(--shadow)}
@media(max-width:900px){.settings-grid,.mini-fields{grid-template-columns:1fr}.admin-table-row{grid-template-columns:1fr}.sticky-save{justify-content:stretch}.sticky-save .btn{flex:1}}

/* v7: iconos subidos desde el panel */
.image-icon{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:16px;background:#fffaf7;border:1px solid var(--line);overflow:hidden}
.image-icon img{width:30px;height:30px;object-fit:contain;display:block}
.icon-admin-field{display:grid;gap:8px}
.icon-admin-field input[type=file]{padding:10px;background:#fff;border:1px dashed var(--line)}
.icon-admin-field small{font-size:.78rem;color:#66708a;font-weight:700}
.icon-preview{display:inline-flex;align-items:center;gap:8px;width:max-content;padding:8px 10px;border:1px solid var(--line);border-radius:14px;background:#fff}
.icon-preview .area-icon{font-size:1.4rem}
.icon-preview .image-icon{width:38px;height:38px;border-radius:12px}
.icon-preview .image-icon img{width:26px;height:26px}

/* v8: controles visuales desde el panel */
.settings-form input[type=color]{min-height:48px;padding:6px;cursor:pointer}
.settings-form input[type=number]{appearance:textfield}
.settings-section .muted{margin-top:-8px;margin-bottom:16px}
@media (max-width:900px){.hero h1,.page-title h1{font-size:clamp(var(--hero-title-size-mobile),9vw,var(--hero-title-size-desktop))}}

/* v10: fotos de equipo */
.avatar-photo{overflow:hidden;background:#f5efe6}
.avatar-photo img{width:100%;height:100%;object-fit:cover;display:block}
.photo-admin-field .photo-preview{display:inline-flex;align-items:center;gap:8px;margin-top:8px}
.photo-admin-field .photo-preview img{width:72px;height:72px;border-radius:18px;object-fit:cover;border:1px solid var(--line);box-shadow:0 8px 22px rgba(21,32,57,.08)}

/* Ajustes puntuales solicitados: logo superior compacto, fotos ampliables y menos huecos */
.site-header{min-height:72px;padding-top:9px;padding-bottom:9px}
.brand{min-width:0}
.brand-logo{width:76px;height:54px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 76px;border-radius:16px;background:#fffaf2;box-shadow:0 8px 22px rgba(21,32,57,.08)}
.brand-logo img{width:100%;height:100%;object-fit:contain;display:block}
.brand > span:last-child{min-width:0;max-width:520px}
.brand > span:last-child strong{display:block;line-height:1.15}
.brand > span:last-child small{line-height:1.25}
.hero{min-height:auto}
.section-pad{padding-top:min(var(--section-vertical-space,58px),58px);padding-bottom:min(var(--section-vertical-space,58px),58px)}
.hero.section-pad{padding-top:min(var(--hero-top-space,48px),54px);padding-bottom:min(var(--hero-bottom-space,48px),54px);min-height:auto}
.team-photo-trigger{border:0;padding:0;cursor:pointer;transition:transform .18s ease, box-shadow .18s ease}
.team-photo-trigger:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(21,32,57,.16)}
.photo-lightbox{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(16,25,44,.78);backdrop-filter:blur(5px)}
.photo-lightbox.is-open{display:flex}
.photo-lightbox img{max-width:min(92vw,980px);max-height:88vh;object-fit:contain;border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.35)}
.photo-lightbox button{position:absolute;top:18px;right:22px;width:44px;height:44px;border:0;border-radius:999px;background:#fff;color:var(--ink);font-size:26px;font-weight:900;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.2)}
@media(max-width:900px){.site-header{min-height:64px}.brand-logo{width:62px;height:46px;flex-basis:62px}.brand span:last-child small{display:none}.brand > span:last-child strong{font-size:.92rem}.nav{top:70px}}


/* Ajuste fino 2: menos huecos y logo de cabecera ampliable */
.section-pad{padding-top:min(var(--section-vertical-space,42px),42px);padding-bottom:min(var(--section-vertical-space,42px),42px)}
.hero.section-pad{padding-top:min(var(--hero-top-space,38px),42px);padding-bottom:min(var(--hero-bottom-space,38px),42px)}
#faq.section-pad{padding-top:34px;padding-bottom:36px}
#contacto.section-pad{padding-top:34px}
#articulos.section-pad{padding-bottom:34px}
.brand-logo{cursor:zoom-in}
.photo-lightbox img{background:#fffaf2}
@media(max-width:900px){.section-pad{padding-top:38px;padding-bottom:38px}#faq.section-pad,#contacto.section-pad{padding-top:30px}}


/* Guía rápida editable */
.quick-card{display:grid;gap:8px;align-content:start}
.quick-card span{font-weight:900;line-height:1.25}
.quick-card small{display:block;color:rgba(255,255,255,.78);font-weight:700;line-height:1.45}
.quick-card:hover small{color:#5a637a}
.footer-logo{width:82px;height:56px;flex-basis:82px;border-radius:14px;background:#fff}
.footer-brand .brand-logo img{object-fit:contain}
@media(max-width:900px){.footer-logo{width:76px;height:52px;flex-basis:76px}}

/* --- Toque dinámico elegante: microinteracciones y entrada progresiva --- */
:root{
  --motion-ease:cubic-bezier(.2,.7,.2,1);
  --motion-soft:cubic-bezier(.16,1,.3,1);
}
.site-header{
  transition:padding .28s var(--motion-ease), box-shadow .28s var(--motion-ease), background .28s var(--motion-ease), border-color .28s var(--motion-ease);
}
body.is-scrolled .site-header{
  padding-top:12px;
  padding-bottom:12px;
  background:rgba(255,250,242,.94);
  box-shadow:0 14px 36px rgba(21,32,57,.08);
}
.brand-logo img,
.footer-logo img{
  transition:transform .38s var(--motion-soft), filter .38s var(--motion-soft);
}
.brand:hover .brand-logo img{
  transform:translateY(-2px) scale(1.035);
  filter:drop-shadow(0 10px 18px rgba(21,32,57,.14));
}
.nav a{
  position:relative;
  overflow:hidden;
  transition:color .22s var(--motion-ease), background .22s var(--motion-ease), transform .22s var(--motion-ease), box-shadow .22s var(--motion-ease);
}
.nav a::after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:7px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .28s var(--motion-ease);
}
.nav a:hover{
  transform:translateY(-1px);
}
.nav a:hover::after{
  transform:scaleX(1);
}
.btn,
.quick-grid a,
.whatsapp{
  transition:transform .24s var(--motion-soft), box-shadow .24s var(--motion-soft), background .24s var(--motion-ease), color .24s var(--motion-ease), border-color .24s var(--motion-ease);
}
.btn:hover,
.quick-grid a:hover,
.whatsapp:hover{
  transform:translateY(-3px);
}
.hero:before{
  animation:mtFloatGlow 9s ease-in-out infinite alternate;
}
.hero-card{
  transform-style:preserve-3d;
  transition:transform .35s var(--motion-soft), box-shadow .35s var(--motion-soft);
}
.hero-card:hover{
  transform:translateY(-6px) rotateX(.6deg) rotateY(-.6deg);
  box-shadow:0 34px 90px rgba(21,32,57,.20);
}
.card-glow{
  animation:mtFloatGlow 7s ease-in-out infinite alternate;
}
.hero h1,
.hero .lead,
.hero-actions,
.trust-row,
.hero-card{
  animation:mtHeroIn .75s var(--motion-soft) both;
}
.hero .lead{animation-delay:.08s}
.hero-actions{animation-delay:.16s}
.trust-row{animation-delay:.22s}
.hero-card{animation-delay:.28s}
.area-card,
.post-card,
.team-card,
.intro-card,
.contact-box,
.article-aside,
.legal-page,
.article,
.success-card,
.steps div,
.faq-list details,
.contact-form{
  position:relative;
  overflow:hidden;
  transition:transform .3s var(--motion-soft), box-shadow .3s var(--motion-soft), border-color .3s var(--motion-ease), background .3s var(--motion-ease);
}
.area-card::before,
.post-card::before,
.team-card::before,
.intro-card::before,
.contact-box::before,
.article-aside::before,
.steps div::before,
.faq-list details::before,
.contact-form::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,0%), rgba(185,144,88,.18), transparent 62%);
  transition:opacity .28s var(--motion-ease);
}
.area-card:hover,
.post-card:hover,
.team-card:hover,
.intro-card:hover,
.steps div:hover,
.faq-list details:hover,
.contact-box:hover{
  transform:translateY(-7px);
  border-color:rgba(185,144,88,.38);
  box-shadow:0 24px 62px rgba(21,32,57,.11);
}
.area-card:hover::before,
.post-card:hover::before,
.team-card:hover::before,
.intro-card:hover::before,
.contact-box:hover::before,
.article-aside:hover::before,
.steps div:hover::before,
.faq-list details:hover::before,
.contact-form:hover::before{
  opacity:1;
}
.team-card .avatar,
.area-icon,
.steps span{
  transition:transform .32s var(--motion-soft), box-shadow .32s var(--motion-soft);
}
.team-card:hover .avatar,
.area-card:hover .area-icon,
.steps div:hover span{
  transform:translateY(-2px) scale(1.06);
}
.avatar-photo img{
  transition:transform .45s var(--motion-soft);
}
.team-card:hover .avatar-photo img{
  transform:scale(1.055);
}
.faq-list summary{
  transition:color .22s var(--motion-ease), padding-left .22s var(--motion-ease);
}
.faq-list details:hover summary,
.faq-list details[open] summary{
  color:var(--gold);
  padding-left:4px;
}
.faq-list details[open]{
  box-shadow:0 22px 52px rgba(21,32,57,.09);
}
.trust-row span,
.tags span{
  transition:transform .24s var(--motion-soft), border-color .24s var(--motion-ease), background .24s var(--motion-ease);
}
.trust-row span:hover,
.tags span:hover{
  transform:translateY(-3px);
  border-color:rgba(185,144,88,.38);
  background:#fff;
}
.reveal-ready{
  opacity:0;
  transform:translate3d(clamp(150px, 20vw, 320px), 30px, 0) scale(.92);
  filter:blur(11px);
  transition:
    opacity 1.05s var(--motion-soft),
    transform 1.05s var(--motion-soft),
    filter 1.05s var(--motion-soft);
  transition-delay:calc(var(--stagger,0) * 115ms);
  will-change:opacity, transform, filter;
}
.reveal-ready.in-view{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0);
}
/* Mantiene el efecto hover después de aparecer, para que no se quede todo plano. */
.reveal-ready.in-view.area-card:hover,
.reveal-ready.in-view.post-card:hover,
.reveal-ready.in-view.team-card:hover,
.reveal-ready.in-view.intro-card:hover,
.reveal-ready.in-view.contact-box:hover,
.reveal-ready.in-view.steps-item:hover,
.steps div.reveal-ready.in-view:hover,
.faq-list details.reveal-ready.in-view:hover{
  transform:translateY(-7px);
}
@media(max-width:768px){
  .reveal-ready{
    transform:translate3d(86px, 22px, 0) scale(.94);
  }
}
.whatsapp{
  animation:mtWhatsappBreath 3.8s ease-in-out infinite;
}
@keyframes mtHeroIn{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes mtFloatGlow{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(-18px,18px,0) scale(1.08)}
}
@keyframes mtWhatsappBreath{
  0%,100%{box-shadow:0 15px 35px rgba(31,143,85,.25)}
  50%{box-shadow:0 18px 44px rgba(31,143,85,.38)}
}
@media (hover:none){
  .area-card:hover,.post-card:hover,.team-card:hover,.intro-card:hover,.steps div:hover,.faq-list details:hover,.contact-box:hover,.hero-card:hover,.btn:hover,.quick-grid a:hover,.whatsapp:hover{transform:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal-ready{opacity:1!important;transform:none!important;filter:none!important}
}

/* v12: menú claramente vivo al hacer scroll */
.site-header{
  position:sticky;
  overflow:visible;
  transform:translateY(0);
  transition:transform .32s var(--motion-soft), padding .28s var(--motion-ease), box-shadow .28s var(--motion-ease), background .28s var(--motion-ease), border-color .28s var(--motion-ease);
}
.site-header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:3px;
  background:linear-gradient(90deg, transparent, var(--gold), var(--gold-2), var(--gold), transparent);
  transform:scaleX(var(--scroll-progress,0));
  transform-origin:left center;
  opacity:.85;
  pointer-events:none;
}
body.is-scrolled.is-scrolling-down .site-header{
  transform:translateY(-5px);
}
body.is-scrolled.is-scrolling-up .site-header{
  transform:translateY(0);
}
.nav{
  position:relative;
  padding:4px;
  border-radius:999px;
}
.nav-runner{
  position:absolute;
  left:0;
  top:0;
  width:0;
  height:0;
  border-radius:999px;
  background:rgba(255,255,255,.95);
  border:1px solid var(--line);
  box-shadow:0 12px 30px rgba(21,32,57,.09);
  opacity:0;
  pointer-events:none;
  transform:translate3d(0,0,0);
  transition:transform .38s var(--motion-soft), width .38s var(--motion-soft), height .38s var(--motion-soft), opacity .22s var(--motion-ease);
}
.nav a{
  z-index:1;
  --nav-bob:0px;
  --nav-pop:0px;
  transform:translateY(calc(var(--nav-bob) + var(--nav-pop)));
}
.nav a:hover,
.nav a.is-active{
  --nav-pop:-3px;
  background:transparent;
  border-color:transparent;
  box-shadow:none;
  color:var(--ink);
}
.nav a.is-active::after{
  transform:scaleX(1);
}
body.nav-runner-ready .nav-runner{
  opacity:1;
}
body.nav-runner-ready .nav a:hover,
body.nav-runner-ready .nav a.is-active,
body.nav-runner-ready .nav .nav-cta{
  background:transparent;
}
@media(max-width:900px){
  .nav-runner{display:none}
  body.is-scrolled.is-scrolling-down .site-header{transform:none}
  .nav a{transform:none!important}
}
@media(prefers-reduced-motion:reduce){
  .site-header::after{display:none}
  .nav-runner{display:none}
  .nav a{transform:none!important}
}


/* v13: menú lateral elegante que entra desde la derecha + barrido horizontal del menú superior */
@keyframes navSideSweep{
  0%{
    opacity:.15;
    transform:translateX(44px) translateY(calc(var(--nav-bob, 0px) + var(--nav-pop, 0px)));
    filter:blur(3px);
  }
  62%{
    opacity:1;
    transform:translateX(-6px) translateY(calc(var(--nav-bob, 0px) + var(--nav-pop, 0px)));
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:translateX(0) translateY(calc(var(--nav-bob, 0px) + var(--nav-pop, 0px)));
    filter:blur(0);
  }
}
body.menu-sweep .nav a{
  animation:navSideSweep .72s var(--motion-soft) both;
  animation-delay:calc(var(--nav-index, 0) * 55ms);
}

.side-dock{
  position:fixed;
  right:0;
  top:50%;
  z-index:88;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
  transform:translate3d(112%, -50%, 0);
  opacity:0;
  pointer-events:none;
  transition:transform .62s var(--motion-soft), opacity .32s var(--motion-ease);
}
body.is-scrolled .side-dock{
  transform:translate3d(0, -50%, 0);
  opacity:1;
  pointer-events:auto;
}
.side-dock a{
  --dock-shift:72px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:9px;
  min-width:142px;
  min-height:42px;
  padding:0 18px 0 16px;
  border-radius:999px 0 0 999px;
  color:var(--ink);
  text-decoration:none;
  font-size:.86rem;
  font-weight:700;
  letter-spacing:.01em;
  background:rgba(255,255,255,.94);
  border:1px solid var(--line);
  border-right:0;
  box-shadow:0 14px 34px rgba(21,32,57,.12);
  opacity:0;
  transform:translateX(var(--dock-shift));
  transition:
    transform .46s var(--motion-soft),
    opacity .28s var(--motion-ease),
    background .22s var(--motion-ease),
    color .22s var(--motion-ease),
    box-shadow .22s var(--motion-ease);
  transition-delay:calc(var(--dock-index, 0) * 60ms);
  backdrop-filter:blur(12px);
}
body.is-scrolled .side-dock a{
  opacity:1;
  transform:translateX(0);
}
.side-dock a::before{
  content:"";
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 4px rgba(184,139,74,.13);
}
.side-dock a:hover,
.side-dock a:focus,
.side-dock a.is-active{
  transform:translateX(-14px);
  color:var(--gold);
  background:#fff;
  box-shadow:0 18px 46px rgba(21,32,57,.17);
}
.side-dock a.nav-cta{
  background:linear-gradient(135deg, var(--ink), var(--ink-2));
  color:#fff;
  border-color:rgba(21,32,57,.65);
}
.side-dock a.nav-cta::before{
  background:var(--gold);
  box-shadow:0 0 0 4px rgba(255,255,255,.16);
}
.side-dock a.nav-cta:hover,
.side-dock a.nav-cta:focus,
.side-dock a.nav-cta.is-active{
  color:#fff;
}

@media(max-width:1050px){
  .side-dock{display:none}
}
@media(prefers-reduced-motion:reduce){
  body.menu-sweep .nav a{animation:none}
  .side-dock{display:none}
}



/* v14: ajuste de huecos y scroll vivo repetible */
/* Quita un poco de aire entre la cabecera principal y "Áreas de práctica". */
.hero.section-pad{
  padding-bottom:min(var(--hero-bottom-space,26px),30px);
}
#areas.section-pad{
  padding-top:min(var(--section-vertical-space,24px),26px);
}

/* Las entradas de scroll ahora se pueden repetir al subir y bajar, y además respiran con el scroll. */
.reveal-ready{
  --alive-x:0px;
  --alive-y:0px;
  --alive-scale:1;
}
.reveal-ready.in-view{
  opacity:1;
  transform:translate3d(var(--alive-x),var(--alive-y),0) scale(var(--alive-scale));
  filter:blur(0);
}
.reveal-ready.in-view.area-card:hover,
.reveal-ready.in-view.post-card:hover,
.reveal-ready.in-view.team-card:hover,
.reveal-ready.in-view.intro-card:hover,
.reveal-ready.in-view.contact-box:hover,
.reveal-ready.in-view.steps-item:hover,
.steps div.reveal-ready.in-view:hover,
.faq-list details.reveal-ready.in-view:hover,
.reveal-ready.in-view.contact-form:hover{
  transform:translate3d(var(--alive-x),calc(var(--alive-y) - 8px),0) scale(1.012);
}
.reveal-ready.is-leaving{
  transition-duration:.62s;
}
@media(max-width:900px){
  .hero.section-pad{padding-bottom:24px}
  #areas.section-pad{padding-top:20px}
}
@media(prefers-reduced-motion:reduce){
  .reveal-ready{--alive-x:0px!important;--alive-y:0px!important;--alive-scale:1!important}
}

/* v15: menos hueco real antes de Áreas y scroll reveal repetible */
main > .hero.section-pad{
  padding-bottom:0!important;
}
main > #areas.section-pad{
  padding-top:4px!important;
  margin-top:-18px!important;
}
.reveal-ready{
  --alive-x:0px;
  --alive-y:0px;
  --alive-scale:1;
  --reveal-from-x:210px;
  opacity:0;
  transform:translate3d(var(--reveal-from-x),36px,0) scale(.90)!important;
  filter:blur(10px);
  transition:
    opacity .88s var(--motion-soft),
    transform .88s var(--motion-soft),
    filter .88s var(--motion-soft);
  transition-delay:calc(var(--stagger,0) * 85ms);
  will-change:opacity, transform, filter;
}
.reveal-ready.in-view{
  opacity:1;
  transform:translate3d(var(--alive-x),var(--alive-y),0) scale(var(--alive-scale))!important;
  filter:blur(0);
}
.reveal-ready.reveal-reset{
  transition-duration:.18s;
  transition-delay:0ms!important;
}
.reveal-ready.in-view.area-card:hover,
.reveal-ready.in-view.post-card:hover,
.reveal-ready.in-view.team-card:hover,
.reveal-ready.in-view.intro-card:hover,
.reveal-ready.in-view.contact-box:hover,
.reveal-ready.in-view.steps-item:hover,
.steps div.reveal-ready.in-view:hover,
.faq-list details.reveal-ready.in-view:hover,
.reveal-ready.in-view.contact-form:hover{
  transform:translate3d(var(--alive-x),calc(var(--alive-y) - 8px),0) scale(1.014)!important;
}
@media(max-width:900px){
  main > .hero.section-pad{padding-bottom:4px!important}
  main > #areas.section-pad{padding-top:8px!important;margin-top:-8px!important}
  .reveal-ready{--reveal-from-x:115px;transform:translate3d(var(--reveal-from-x),26px,0) scale(.94)!important}
}
@media(prefers-reduced-motion:reduce){
  .reveal-ready{opacity:1!important;transform:none!important;filter:none!important}
}
@media(max-width:900px){
  .reveal-ready.in-view{
    transform:translate3d(var(--alive-x),var(--alive-y),0) scale(var(--alive-scale))!important;
  }
}
