:root{--forest:#284e26;--forest-dark:#19371d;--leaf:#6b8c42;--cream:#f6f2e9;--paper:#fffdf9;--ink:#243126;--muted:#667066;--terracotta:#c86e3e;--serif:"Newsreader",Georgia,serif;--sans:"DM Sans",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:15px}
h1,h2,h3,.section-heading{font-family:var(--serif)}
a{color:inherit}
.container{max-width:1280px}
.narrow{max-width:1080px}
.site-header{position:absolute;z-index:10;width:100%;top:0}
.navbar{padding:1.4rem 0}
.navbar-brand{display:flex;align-items:center;gap:.65rem;color:var(--forest);font-family:var(--serif);font-size:1.28rem;line-height:1}
.navbar-brand:hover{color:var(--forest-dark)}
.navbar-brand small{display:block;font-family:var(--sans);font-size:.55rem;color:var(--ink);margin-bottom:.25rem}
.logo-mark{display:grid;place-items:center;width:40px;height:40px;font-size:0;background:radial-gradient(circle at 40% 40%,#95b451 0 12%,#4d8b39 13% 28%,transparent 29%),linear-gradient(145deg,#7fa848,#2b6a2c);border-radius:70% 30% 60% 40%;transform:rotate(-12deg);box-shadow:8px -5px 0 -3px #b9c779}
.nav-link{font-size:.78rem;font-weight:600;color:#20291f!important;margin:0 .65rem}
.btn{font-size:.8rem;font-weight:600;border-radius:999px;padding:.78rem 1.45rem}
.btn-whatsapp,.btn-primary-nat{background:var(--forest);color:#fff}
.btn-whatsapp:hover,.btn-primary-nat:hover{background:var(--forest-dark);color:#fff;transform:translateY(-2px)}
.btn-primary-nat span{padding-left:1.3rem}
.btn-outline-nat{border:1px solid #8b958b;color:var(--ink);background:#fff9}
.hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#f8f3ec 0%,#f4eee8 48%,#e4dcd8 100%)}
.hero:after{content:"";position:absolute;inset:auto auto -90px -80px;width:220px;height:340px;background:radial-gradient(ellipse,#65784299 0 14%,transparent 15%);filter:blur(10px);transform:rotate(-35deg)}
.min-vh-hero{min-height:690px;padding-top:95px}
.hero-copy{position:relative;z-index:2;padding-left:3%}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;color:var(--forest);font-weight:600;margin-bottom:.65rem}
.hero h1{font-size:clamp(3rem,5.5vw,5.5rem);line-height:.94;letter-spacing:-.04em;max-width:700px;margin-bottom:1.5rem}
.hero h1 em{font-weight:400;color:var(--forest)}
.hero .lead{font-size:1rem;line-height:1.7;max-width:490px;color:#4d584e;margin-bottom:2rem}
.hero-visual{position:relative;height:590px;align-self:end}
.hero-photo{height:100%;width:calc(100% + 5vw);border-radius:48% 0 0 8%;background:linear-gradient(90deg,#f4eee800 0 8%,transparent 25%),url('https://images.unsplash.com/photo-1559839734-2b71ea197ec2?auto=format&fit=crop&w=1200&q=88') center 20%/cover;filter:saturate(.7) sepia(.08)}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f4eee8 0%,transparent 27%)}
.experience-badge{position:absolute;left:0;bottom:35px;background:#fff;border-radius:100%;width:142px;height:142px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 15px 45px #25332322}
.experience-badge strong{font-family:var(--serif);font-size:2rem;color:var(--forest)}
.experience-badge span{text-align:center;font-size:.66rem}
.section-space{padding:5.5rem 0}
.service-card{min-height:330px;background:var(--cream);border-radius:2rem;display:grid;grid-template-columns:52% 48%;overflow:hidden;transition:.35s ease}
.service-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px #20331f18}
.service-image{background-size:cover;background-position:center}
.manual .service-image{background-image:url('https://images.unsplash.com/photo-1600334089648-b0d9d3028eb2?auto=format&fit=crop&w=800&q=85')}
.beauty .service-image{background-image:url('https://images.unsplash.com/photo-1616394584738-fc6e612e71b9?auto=format&fit=crop&w=800&q=85')}
.service-copy{padding:2.2rem 2rem}
.round-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#dfe6cc;color:var(--forest);font-size:1.4rem;margin-bottom:1.2rem}
.service-card h2{font-size:2rem;line-height:1.06;text-transform:uppercase}
.service-card p:not(.eyebrow){color:var(--muted);font-size:.78rem;line-height:1.6}
.service-card a{font-size:.75rem;font-weight:600;text-decoration:none}
.values{position:relative;background:linear-gradient(115deg,#c46838dd,#da8350e8),url('https://images.unsplash.com/photo-1542601906990-b4d3fb778b09?auto=format&fit=crop&w=1500&q=80') center/cover;padding:4rem 0 0;color:white}
.section-kicker{text-align:center;font-family:var(--serif);font-size:1.5rem;text-transform:uppercase;margin-bottom:2.5rem}
.value-grid{padding-bottom:2.5rem}
.value{padding:1rem 2rem;text-align:center;border-right:1px solid #ffffff40;min-height:145px}
.value-grid>div:last-child .value{border:0}
.value span{font-size:1.5rem}
.value p{font-size:.72rem;line-height:1.6;margin-top:.8rem}
.metrics{transform:translateY(45px);box-shadow:0 15px 40px #17271930}
.metrics>div{background:#fbfaf5;color:var(--ink);padding:1.5rem;text-align:center}
.metrics>div:nth-child(2){background:#294927;color:#fff}
.metrics>div:nth-child(3){background:#172017;color:#fff}
.metrics strong,.metrics span{display:block}
.metrics strong{font-family:var(--serif);font-size:1.5rem}
.metrics span{font-size:.67rem}
.centres{padding-top:8.5rem}
.section-heading{text-align:center;text-transform:uppercase;font-size:1.5rem;margin-bottom:2rem}
.section-heading p{margin:0}
.section-heading span{display:block;color:var(--forest)}
.centre{display:flex;align-items:center;gap:1.5rem;background:#f4f0e9;border-radius:1rem;padding:1.6rem 2rem}
.pin{flex:0 0 62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#dae4c6;color:var(--forest);font-size:2rem}
.centre h3{font-size:1.15rem;margin:0}
.centre p{font-size:.75rem;color:var(--muted);margin:.35rem 0}
.centre a{font-size:.72rem;text-decoration:none;font-weight:600}
.course-card{display:grid;grid-template-columns:38% 1fr auto;gap:1.5rem;align-items:center;padding:1rem 0;border-bottom:1px solid #e6e2d9;opacity:0;transform:translateY(18px);transition:.7s ease}
.course-card.visible{opacity:1;transform:none}
.course-img{height:155px;border-radius:1.1rem;background-size:cover;background-position:center}
.course-body h3{font-size:1.25rem;margin-bottom:.4rem}
.course-body>p:not(.eyebrow){font-size:.75rem;line-height:1.55;color:var(--muted)}
.course-meta{display:flex;flex-wrap:wrap;gap:.9rem;font-size:.64rem}
.btn-course{background:var(--forest);color:#fff;white-space:nowrap}
.btn-course:hover{background:var(--forest-dark);color:#fff}
.testimonials{background:#fbfaf6}
.review{height:100%;border:1px solid #e6e3dc;border-radius:1rem;padding:1.5rem;background:#fff}
.google{font-size:1.35rem;color:#4285f4;font-weight:700}
.google span{font-size:.9rem;color:#e79b2b;margin-left:.7rem}
.review>p{font-size:.74rem;line-height:1.7;color:var(--muted);margin:1rem 0}
.reviewer{display:flex;gap:.8rem;align-items:center}
.reviewer>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#dbe4cc;color:var(--forest)}
.reviewer strong,.reviewer small{display:block;font-size:.68rem}
.reviewer small{color:var(--muted)}
footer{padding:4rem 0 0;background:#f2efe6}
.footer-brand{margin-bottom:1rem}
.footer-brand+p{max-width:280px;font-size:.75rem;color:var(--muted)}
footer h4{font-family:var(--sans);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:1rem}
footer .col-6>a,footer .col-lg-3>a{display:block;text-decoration:none;color:#5f695f;font-size:.75rem;margin:.55rem 0}
.social{display:flex;gap:.7rem}
.social a{width:35px;height:35px;border-radius:50%;background:#dbe3cf;display:grid;place-items:center;text-decoration:none;color:var(--forest)}
.legal{margin-top:3rem;background:var(--forest);color:#fff;min-height:38px;margin-left:calc((100vw - 100%)/-2);margin-right:calc((100vw - 100%)/-2);padding:0 calc((100vw - 100%)/2);display:flex;justify-content:space-between;align-items:center;font-size:.6rem}
.legal a{color:inherit}

@media(max-width:991px){.site-header{position:relative;background:#f8f3ec}
.navbar-collapse{background:#fff;padding:1rem;border-radius:1rem;box-shadow:0 15px 35px #1c32151a}
.nav-link{padding:.65rem}
.min-vh-hero{padding-top:1rem}
.hero-copy{padding:4rem 1rem}
.course-card{grid-template-columns:34% 1fr}
.btn-course{grid-column:2;justify-self:start}
.value{border-right:0;border-bottom:1px solid #ffffff40}
}
@media(max-width:767px){.section-space{padding:4rem 0}
.hero h1{font-size:2.5rem}
.service-card{grid-template-columns:1fr;min-height:500px}
.service-image{min-height:240px}
.value{min-height:auto}
.metrics{margin:0 1rem}
.centres{padding-top:7rem}
.course-card{grid-template-columns:1fr;gap:1rem;padding:1.5rem 0}
.course-img{height:210px}
.btn-course{grid-column:1}
.legal{flex-direction:column;gap:.4rem;text-align:center;padding-top:.7rem;padding-bottom:.7rem}
.section-kicker{font-size:1.25rem}
.services .container{padding:0 1.25rem}
}


/* Hero fotográfico a ancho completo */
.hero{min-height:690px;background-image:linear-gradient(90deg,rgba(248,243,236,.9) 0%,rgba(248,243,236,.76) 30%,rgba(248,243,236,.08) 56%,rgba(248,243,236,0) 100%),url('../images/hero-naturalmente-v2.png');background-size:cover;background-position:center center;background-repeat:no-repeat}
.hero:after{display:none}
.min-vh-hero{min-height:690px}
.hero-copy{padding-top:2rem}
.hero h1{font-size:clamp(2.65rem,4.2vw,4.25rem);line-height:1;max-width:620px}
.hero .lead{max-width:440px}
@media(max-width:991px){.hero{min-height:610px;background-position:60% center}
.min-vh-hero{min-height:610px}
.hero-copy{max-width:560px;padding:4rem 1rem}
}
@media(max-width:767px){.hero{min-height:570px;background-image:linear-gradient(90deg,rgba(248,243,236,.96) 0%,rgba(248,243,236,.82) 54%,rgba(248,243,236,.2) 100%),url('../images/hero-naturalmente-v2.png');background-position:58% center}
.min-vh-hero{min-height:570px}
.hero-copy{padding:3rem 1rem}
.hero h1{font-size:2.5rem;max-width:390px}
.hero .lead{font-size:.92rem;max-width:340px}
}


/* Navegación interior y páginas SEO */
.dropdown-menu{border:0;border-radius:1rem;padding:.65rem;min-width:245px;box-shadow:0 18px 55px #17311920}
.dropdown-item{border-radius:.7rem;padding:.75rem .9rem;color:var(--ink)}
.dropdown-item:hover{background:#eef2e7;color:var(--forest)}
.dropdown-item span,.dropdown-item small{display:block}
.dropdown-item span{font-family:var(--serif);font-size:1.05rem}
.dropdown-item small{font-size:.65rem;color:var(--muted)}
.dropdown-item span b{margin-left:.3rem;color:var(--terracotta);font-family:var(--sans);font-size:.7rem;font-weight:700}
.external-menu-item{margin-top:.35rem;border-top:1px solid #dfe5da;border-radius:0 0 .7rem .7rem;padding-top:1rem}
.avance-beauty-logo-item{padding:.45rem .9rem .35rem;list-style:none}
.avance-beauty-logo-item a{display:block;overflow:hidden;border-radius:.65rem;background:#2d2522;box-shadow:0 8px 22px #231c1921;transition:transform .2s ease,box-shadow .2s ease}
.avance-beauty-logo-item a:hover{transform:translateY(-2px);box-shadow:0 12px 28px #231c1933}
.avance-beauty-logo-item img{display:block;width:100%;height:auto;aspect-ratio:1536/458;object-fit:cover}
.inner-page{padding-top:88px}
.inner-page+.site-header{background:#f8f3ec}
.cabinet-hero{position:relative;padding:9rem 0 5rem;overflow:hidden;background:radial-gradient(circle at 80% 20%,#dce7ca 0 12%,transparent 35%),linear-gradient(120deg,#f5f1e8,#e9e2d8)}
.cabinet-hero:after{content:"";position:absolute;right:-4rem;bottom:-8rem;width:26rem;height:26rem;border:1px solid #315f2730;border-radius:48% 52% 65% 35%}
.cabinet-hero h1{font-size:clamp(3.4rem,7vw,6.8rem);line-height:.83;letter-spacing:-.05em;margin-bottom:1.5rem}
.cabinet-hero h1 em{font-weight:400;color:var(--forest)}
.cabinet-hero p:not(.eyebrow){max-width:600px;color:var(--muted);font-size:1.05rem}
.dermo-hero{background:radial-gradient(circle at 75% 20%,#efd9d1 0 10%,transparent 32%),linear-gradient(120deg,#faf4ef,#eee3dc)}
.therapy-index{padding:5rem 0 3rem;background:var(--paper)}
.section-number{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;color:var(--forest);font-weight:600}
.therapy-index nav{display:grid;grid-template-columns:repeat(2,1fr);gap:0 4rem;margin-top:2rem}
.therapy-index a{padding:1rem 0;border-bottom:1px solid #dddcd4;text-decoration:none;font-family:var(--serif);font-size:1.15rem}
.therapy-index a span{display:inline-block;width:2.5rem;color:#94a08e;font-family:var(--sans);font-size:.65rem}
.therapy-list{padding:2rem 0 7rem}
.therapy-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6rem;align-items:center;padding:5rem 0;border-bottom:1px solid #dedcd4;scroll-margin-top:100px}
.therapy-row:nth-child(even) .therapy-media{order:2}
.therapy-media{position:relative}
.therapy-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:1.5rem;filter:saturate(.85)}
.therapy-media>span{position:absolute;right:-1rem;bottom:-1rem;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--forest);color:#fff;font-family:var(--serif);font-size:1.2rem}
.therapy-copy h2{font-size:clamp(2rem,3.5vw,3.2rem);line-height:.98;margin-bottom:1.3rem}
.therapy-copy>p:not(.eyebrow){color:var(--muted);line-height:1.8}
.therapy-copy a{display:inline-block;margin-top:1rem;color:var(--forest);font-weight:600;font-size:.78rem;text-decoration:none}
.cabinet-cta{text-align:center;padding:7rem 0;background:#e8eee0}
.cabinet-cta h2{font-size:clamp(2.5rem,5vw,4.5rem);line-height:.95;margin-bottom:2rem}
.simple-page{min-height:70vh;padding:10rem 0;background:linear-gradient(120deg,#f6f2e9,#e8eee0)}
.simple-page h1{font-size:clamp(3rem,7vw,6rem)}
.simple-page h2{font-size:clamp(1.35rem,2.5vw,2rem);margin-top:2.5rem;margin-bottom:.8rem}
.simple-page>div>p:not(.eyebrow){font-size:1.15rem;color:var(--muted);max-width:650px;margin-bottom:2rem}
@media(max-width:991px){.inner-header{position:absolute;background:transparent}
.inner-page{padding-top:80px}
.therapy-row{gap:3rem}
.cabinet-hero{padding-top:7rem}
}
@media(max-width:767px){.therapy-index nav{grid-template-columns:1fr}
.therapy-row{grid-template-columns:1fr;gap:2rem;padding:3rem 0}
.therapy-row:nth-child(even) .therapy-media{order:0}
.cabinet-hero h1{font-size:3.5rem}
.cabinet-hero{padding:6rem 0 4rem}
.inner-page{padding-top:76px}
}


/* Preguntas frecuentes */
.faq-section{position:relative;overflow:hidden;background:linear-gradient(135deg,#f0f3e9 0%,#e5ecdc 100%)}
.faq-section:before{content:"?";position:absolute;left:-2rem;bottom:-10rem;font-family:var(--serif);font-size:32rem;line-height:1;color:#fff7;pointer-events:none}
.faq-intro{position:sticky;top:2rem}
.faq-intro h2{font-size:clamp(3rem,5vw,4.6rem);line-height:.86;letter-spacing:-.04em;margin-bottom:1.8rem}
.faq-intro h2 em{font-weight:400;color:var(--forest)}
.faq-intro>p:not(.eyebrow){font-size:.82rem;line-height:1.75;color:#596559}
.faq-intro p a{color:var(--forest);font-weight:600}
.faq-intro .btn{margin-top:1rem}
.faq-accordion{position:relative}
.faq-accordion .accordion-item{background:transparent;border:0;border-bottom:1px solid #bdc8b4}
.faq-accordion .accordion-button{background:transparent;box-shadow:none!important;padding:1.65rem .25rem;font-family:var(--serif);font-size:1.35rem;line-height:1.2;color:var(--ink)}
.faq-accordion .accordion-button:not(.collapsed){color:var(--forest)}
.faq-accordion .accordion-button span{flex:0 0 2.5rem;font-family:var(--sans);font-size:.62rem;letter-spacing:.1em;color:#84927f}
.faq-accordion .accordion-button:after{width:2rem;height:2rem;border:1px solid #9aab92;border-radius:50%;background-image:none;content:"+";display:grid;place-items:center;font-family:var(--sans);font-size:1.15rem}
.faq-accordion .accordion-button:not(.collapsed):after{content:"−";transform:none;background:#315f27;color:#fff;border-color:#315f27}
.faq-accordion .accordion-body{padding:.1rem 3.5rem 1.8rem 2.75rem;color:#596559;font-size:.86rem;line-height:1.8}
.faq-accordion .accordion-body p:last-child{margin-bottom:0}
@media(max-width:991px){.faq-intro{position:relative;top:0;margin-bottom:1rem}
.faq-intro h2 br{display:none}
}
@media(max-width:767px){.faq-accordion .accordion-button{font-size:1.1rem;padding:1.25rem 0}
.faq-accordion .accordion-body{padding-left:2.5rem;padding-right:.5rem}
.faq-intro h2{font-size:3.2rem}
}


/* Identidad real, FAQ y quiénes somos */
.brand-logo{display:block;width:150px;height:64px;object-fit:contain;object-position:left center}
.footer-brand .brand-logo{width:170px;height:78px}
.faq-page-hero{padding:9rem 0 5rem;background:radial-gradient(circle at 78% 22%,#dbe7c8 0 11%,transparent 33%),linear-gradient(120deg,#f7f3eb,#e8eee0)}
.faq-page-hero h1,.about-hero h1{font-size:clamp(4rem,8vw,7.5rem);line-height:.82;letter-spacing:-.055em}
.faq-page-hero h1 em,.about-hero h1 em{font-weight:400;color:var(--forest)}
.faq-page-hero>div>p:not(.eyebrow){max-width:560px;color:var(--muted);font-size:1rem;margin-top:1.7rem}
.about-hero{padding:10rem 0 6rem;background:radial-gradient(circle at 15% 85%,#dce7ca 0 9%,transparent 28%),linear-gradient(135deg,#f7f2e9,#eee4da)}
.about-hero .col-lg-4 p{color:var(--muted);line-height:1.8}
.about-copy{background:var(--paper)}
.about-copy h2{font-size:clamp(2.2rem,4vw,3.7rem);line-height:.98}
.about-copy .col-lg-7>p{font-size:1rem;line-height:1.9;color:#596559}
.about-copy .about-lead{font-family:var(--serif);font-size:1.65rem!important;line-height:1.35!important;color:var(--ink)!important}
.school-gallery{padding:6rem 0;background:#1d321f;color:#fff}
.gallery-heading{max-width:1080px;margin:0 auto 2.5rem;display:flex;align-items:end;justify-content:space-between;gap:2rem}
.gallery-heading h2{font-size:clamp(3rem,5vw,5rem);margin:0}
.gallery-heading>p{max-width:310px;color:#c6d0c4}
.school-gallery .eyebrow{color:#b9ce9c}
.gallery-grid{display:grid;grid-template-columns:1.35fr .8fr;grid-template-rows:repeat(2,260px);gap:1rem}
.gallery-grid figure{position:relative;margin:0;overflow:hidden;border-radius:1.2rem}
.gallery-main{grid-row:1/3}
.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.gallery-grid figure:hover img{transform:scale(1.03)}
.gallery-grid figcaption{position:absolute;left:1rem;bottom:1rem;padding:.55rem .8rem;border-radius:999px;background:#ffffffdc;color:var(--ink);font-size:.65rem}
.about-numbers{background:#d98352;color:#fff}
.about-numbers .container{display:grid;grid-template-columns:repeat(3,1fr)}
.about-numbers .container>div{text-align:center;padding:2.5rem;border-right:1px solid #ffffff40}
.about-numbers .container>div:last-child{border:0}
.about-numbers strong,.about-numbers span{display:block}
.about-numbers strong{font-family:var(--serif);font-size:2.5rem}
.about-numbers span{font-size:.72rem}
@media(max-width:991px){.brand-logo{width:135px;height:56px}
.faq-page-hero,.about-hero{padding-top:7rem}
.gallery-grid{grid-template-rows:repeat(2,210px)}
}
@media(max-width:767px){.faq-page-hero h1,.about-hero h1{font-size:3.8rem}
.gallery-heading{display:block}
.gallery-grid{grid-template-columns:1fr;grid-template-rows:320px 220px 220px}
.gallery-main{grid-row:auto}
.about-numbers .container{grid-template-columns:1fr}
.about-numbers .container>div{border-right:0;border-bottom:1px solid #ffffff40}
}


/* Contacto */
.contact-hero{padding:10rem 0 6rem;background:radial-gradient(circle at 85% 15%,#efd8cc 0 10%,transparent 32%),linear-gradient(135deg,#f8f3eb,#e7eddf)}
.contact-hero h1{font-size:clamp(4rem,7.5vw,7rem);line-height:.83;letter-spacing:-.055em}
.contact-hero h1 em{font-weight:400;color:var(--forest)}
.contact-hero .col-lg-4 p{color:var(--muted);line-height:1.8}
.contact-heading{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:2rem;align-items:end;margin-bottom:2.5rem}
.contact-heading h2{font-size:clamp(3rem,5vw,5rem);line-height:.9;margin:0}
.contact-heading>p:last-child{color:var(--muted);font-size:.8rem}
.contact-card{position:relative;height:100%;padding:2.5rem;border-radius:1.5rem;background:#edf1e5;overflow:hidden}
.contact-card:after{content:"";position:absolute;right:-5rem;top:-5rem;width:13rem;height:13rem;border:1px solid #315f2730;border-radius:50%;pointer-events:none}
.contact-card-top{display:flex;justify-content:space-between;align-items:center}
.contact-card-top p{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.centre-number{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--forest);color:#fff;font-size:.62rem;letter-spacing:.1em}
.contact-card h3{font-size:3.4rem;margin:1.8rem 0 .8rem}
.contact-card address{min-height:78px;font-style:normal;color:var(--muted);font-size:.82rem;line-height:1.7}
.contact-lines{margin:2rem 0}
.contact-lines a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;border-bottom:1px solid #bac5b3;text-decoration:none}
.contact-lines small{color:var(--muted);font-size:.62rem}
.contact-lines strong{font-size:.78rem;text-align:right}
.contact-actions{display:flex;flex-wrap:wrap;gap:.65rem}
.contact-form-section{padding:7rem 0;background:#1d321f;color:#fff}
.contact-form-section h2{font-size:clamp(3rem,5vw,5rem);line-height:.9;margin:1rem 0 1.5rem}
.contact-form-section .col-lg-5>p:not(.section-number){color:#c5d0c2;line-height:1.8}
.contact-form-section .section-number{color:#b8ce9c}
.direct-contact{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #ffffff25}
.direct-contact span,.direct-contact a{display:block;font-size:.72rem}
.direct-contact span{color:#aab6a8;margin-bottom:.45rem}
.direct-contact a{color:#fff;text-decoration:none}
.contact-form{padding:2.5rem;border-radius:1.5rem;background:#f8f5ee;color:var(--ink)}
.contact-form label:not(.privacy-check){display:block;margin-bottom:.45rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #adb8a7;background:transparent;padding:.75rem .15rem;margin-bottom:1.5rem;border-radius:0;color:var(--ink);outline:0}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--forest)}
.contact-form textarea{resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.privacy-check{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:1.5rem;font-size:.68rem;color:var(--muted)}
.privacy-check input{width:auto;margin:.1rem 0}
.contact-alert{padding:1rem 1.2rem;border-radius:.8rem;margin-bottom:1rem;font-size:.78rem}
.contact-alert.success{background:#dce9d4;color:#244823}
.contact-alert.error{background:#f1d8d0;color:#743521}
@media(max-width:991px){.contact-hero{padding-top:7rem}
.contact-heading{grid-template-columns:1fr}
.contact-heading>p:last-child{max-width:450px}
.contact-card address{min-height:auto}
.contact-form-section .col-lg-5{margin-bottom:2rem}
}
@media(max-width:767px){.contact-hero h1{font-size:3.7rem}
.contact-card{padding:1.7rem}
.contact-card h3{font-size:2.8rem}
.contact-lines a{display:block}
.contact-lines strong{display:block;text-align:left;margin-top:.2rem}
.form-row{grid-template-columns:1fr}
.contact-form{padding:1.5rem}
}


/* Escala tipográfica y heroes unificados */
:root{--display-max:4.25rem;--display-section:4.05rem}
.inner-page{padding-top:0}
.cabinet-hero,.faq-page-hero,.about-hero,.contact-hero,.simple-page{min-height:690px;padding:130px 0 70px;display:flex;align-items:center}
.cabinet-hero h1,.faq-page-hero h1,.about-hero h1,.contact-hero h1,.simple-page h1{font-size:clamp(2.65rem,4.2vw,var(--display-max));line-height:1;letter-spacing:-.04em}
.faq-intro h2,.cabinet-cta h2,.gallery-heading h2,.contact-heading h2,.contact-form-section h2,.about-copy h2{font-size:clamp(2.4rem,4vw,var(--display-section));line-height:.96}
.therapy-copy h2{font-size:clamp(2rem,3.2vw,3rem)}
@media(max-width:991px){.inner-page{padding-top:0}
.cabinet-hero,.faq-page-hero,.about-hero,.contact-hero,.simple-page{min-height:610px;padding:110px 0 55px}
}
@media(max-width:767px){.inner-page{padding-top:0}
.cabinet-hero,.faq-page-hero,.about-hero,.contact-hero,.simple-page{min-height:570px;padding:90px 0 45px}
.cabinet-hero h1,.faq-page-hero h1,.about-hero h1,.contact-hero h1,.simple-page h1{font-size:2.5rem}
.faq-intro h2,.cabinet-cta h2,.gallery-heading h2,.contact-heading h2,.contact-form-section h2,.about-copy h2{font-size:2.35rem}
}


/* Imagen FAQ y accesos flotantes */
.faq-intro:after{content:"Personas que forman Naturalmente";display:flex;align-items:flex-end;width:100%;aspect-ratio:1/1;margin-top:2rem;padding:1rem;border-radius:1.25rem;background-image:linear-gradient(0deg,#172c1da8,transparent 32%),url('../images/faq-equipo.jpg'),url('../images/galeria-reflexologia-pediatrica.jpg'),url('../images/faq-alumnos-3.jpg'),url('../images/faq-clase-acupuntura.jpg');background-size:100% 100%,50% 50%,50% 50%,50% 50%,50% 50%;background-position:center,0 0,100% 0,0 100%,100% 100%;background-repeat:no-repeat;color:#fff;font-size:.65rem;letter-spacing:.04em;box-shadow:0 18px 45px #1b321522}
.floating-actions{position:fixed;z-index:50;right:1rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-end;gap:.45rem}
.floating-action{flex:0 0 auto;width:58px;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;border-radius:1rem;background:#fff;color:var(--forest);text-decoration:none;box-shadow:0 10px 30px #15281925;border:1px solid #e2e6dc;transition:.25s ease}
.floating-action:hover{width:88px;background:var(--forest);color:#fff}
.floating-action.whatsapp{background:#2f7d32;color:#fff;border-color:#2f7d32}
.floating-action svg{width:20px;height:20px;fill:currentColor}
.floating-action span{font-size:.54rem;font-weight:600;line-height:1}
.floating-action:focus-visible{outline:3px solid #d98352;outline-offset:2px}
@media(max-width:767px){body{padding-bottom:68px}
.floating-actions{top:auto;right:.65rem;left:.65rem;bottom:.55rem;transform:none;flex-direction:row;align-items:stretch;justify-content:center;gap:.35rem}
.floating-action,.floating-action:hover{width:auto;min-width:0;min-height:54px;flex:1;border-radius:.85rem}
.floating-action svg{width:18px;height:18px}
.floating-action span{font-size:.5rem}
.faq-intro:after{aspect-ratio:1/1}
}


/* Fotografías FAQ separadas y sin deformación */
.faq-intro:after{aspect-ratio:4/3;background:linear-gradient(0deg,#172c1da8,transparent 40%),url('../images/faq-clase-acupuntura.jpg') center/cover no-repeat}
.faq-extra-photos{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:210px 210px;gap:1rem;margin-top:4rem}
.faq-extra-photos figure{position:relative;margin:0;overflow:hidden;border-radius:1.25rem;background:#dfe6d8}
.faq-photo-wide{grid-row:1/3}
.faq-extra-photos img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .6s ease}
.faq-photo-portrait img{object-position:center 22%}
.faq-extra-photos figure:hover img{transform:scale(1.025)}
.faq-extra-photos figcaption{position:absolute;left:1rem;bottom:1rem;padding:.5rem .75rem;border-radius:999px;background:#fffddd;color:var(--ink);font-size:.6rem}
@media(max-width:767px){.faq-intro:after{aspect-ratio:16/10}
.faq-extra-photos{grid-template-columns:1fr;grid-template-rows:240px 280px 210px;margin-top:2.5rem}
.faq-photo-wide{grid-row:auto}
}


/* Bloque FAQ de contraste, sin fotografías */
.faq-section{background:linear-gradient(135deg,#29472b,#1b3420);color:#fff}
.faq-section:before{color:#ffffff0a}
.faq-intro:after,.faq-extra-photos{display:none!important}
.faq-intro h2,.faq-intro h2 em{color:#fff}
.faq-intro>p:not(.eyebrow){color:#d2dbcf}
.faq-intro p a{color:#d9eba9}
.faq-section .eyebrow{color:#bfd59a}
.faq-accordion{padding:1rem 2rem;border-radius:1.5rem;background:#f5f1e8}
.faq-accordion .accordion-button{color:var(--ink)}
.faq-accordion .accordion-body{color:#596559}
@media(max-width:767px){.faq-accordion{padding:.5rem 1rem}
}

.public-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.public-card{padding:1rem;border:1px solid #e1ded5;border-radius:1.2rem;text-decoration:none;background:#fff}
.public-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:.8rem}
.public-card span{font-size:.6rem;text-transform:uppercase;color:var(--forest)}
.public-card h2{font-size:1.5rem}
.public-card p{font-size:.75rem;color:var(--muted)}
.public-card.seminar{background:#f1e7df}
.calendar-filters{display:flex;gap:.5rem;margin-bottom:2rem}
.calendar-filters button{border:1px solid #aaa;border-radius:999px;background:#fff;padding:.7rem 1.4rem}
.calendar-filters button.active{background:var(--forest);color:#fff}
.calendar-event{display:grid;grid-template-columns:110px 100px 1fr;gap:1rem;align-items:center;padding:1.3rem;border-bottom:1px solid #ddd;text-decoration:none}
.calendar-event h2{font-size:1.3rem;margin:0}
.calendar-event p{margin:0;color:var(--muted)}
.detail-hero{min-height:690px;display:flex;align-items:center;padding:120px 0 60px;background:#f1eee5}
.detail-hero h1{font-size:clamp(2.7rem,4.2vw,4.25rem)}
.detail-hero img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:1.5rem}
.detail-content{max-width:1000px;display:grid;grid-template-columns:1fr 340px;gap:5rem}
.detail-content aside{padding:2rem;background:#edf1e5;border-radius:1.2rem}
@media(max-width:767px){.public-grid,.detail-content{grid-template-columns:1fr}
.calendar-event{grid-template-columns:1fr}
.detail-hero{min-height:570px}
}

.formation-rows{display:flex;flex-direction:column;gap:1.5rem}
.formation-row{display:grid;grid-template-columns:42% 1fr;gap:2.5rem;padding:1rem;border:1px solid #e2dfd6;border-radius:1.4rem;background:#fff;transition:.3s}
.formation-row:hover{transform:translateY(-3px);box-shadow:0 18px 45px #17311912}
.formation-image{min-height:280px;overflow:hidden;border-radius:1rem;background:#e8ebe2}
.formation-image img{width:100%;height:100%;object-fit:cover}
.formation-info{padding:1.2rem 1.2rem 1.2rem 0}
.formation-labels{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}
.formation-labels>span{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--forest)}
.formation-labels>strong{padding:.45rem .75rem;border-radius:999px;background:#d97645;color:#fff;font-size:.65rem}
.formation-info h2{font-size:2rem;margin:.8rem 0}
.formation-description{color:var(--muted);font-size:.85rem;line-height:1.7}
.formation-meta{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0 1.4rem;font-size:.68rem;color:#586258}
@media(max-width:767px){.formation-row{grid-template-columns:1fr;gap:.5rem}
.formation-image{min-height:220px}
.formation-info{padding:1rem}
.formation-info h2{font-size:1.7rem}
}


/* Heroes interiores compactos; la home conserva su altura original */
.cabinet-hero,.faq-page-hero,.about-hero,.contact-hero,.simple-page,.detail-hero{min-height:380px;padding:105px 0 38px}
.detail-hero img{max-height:260px;aspect-ratio:16/9}
.cabinet-hero h1,.faq-page-hero h1,.about-hero h1,.contact-hero h1,.simple-page h1,.detail-hero h1{font-size:clamp(2.4rem,3.7vw,3.8rem)}
@media(max-width:991px){.cabinet-hero,.faq-page-hero,.about-hero,.contact-hero,.simple-page,.detail-hero{min-height:350px;padding:95px 0 32px}
}
@media(max-width:767px){.cabinet-hero,.faq-page-hero,.about-hero,.contact-hero,.simple-page,.detail-hero{min-height:310px;padding:82px 0 28px}
.cabinet-hero h1,.faq-page-hero h1,.about-hero h1,.contact-hero h1,.simple-page h1,.detail-hero h1{font-size:2.25rem}
.detail-hero img{display:none}
}


/* Desplegables del header por hover en escritorio */
@media(min-width:992px){.navbar .dropdown:hover>.dropdown-menu,.navbar .dropdown:focus-within>.dropdown-menu{display:block;margin-top:0;animation:menuReveal .18s ease both}
.navbar .dropdown-toggle{cursor:default}
.navbar .dropdown-menu{top:100%}
}
@keyframes menuReveal{from{opacity:0;transform:translateY(7px)}
to{opacity:1;transform:translateY(0)}
}

.rich-description{line-height:1.85}
.rich-description.is-collapsed>*:nth-child(n+5){display:none}
.read-description{margin-top:1rem;border:0;background:transparent;color:var(--forest);font-weight:600;font-size:.78rem;padding:0}
.detail-promotion{padding:.8rem;border-radius:.7rem;background:#d97645;color:#fff}


/* Imágenes uniformes en el listado de seminarios */
.formation-row{grid-template-columns:380px minmax(0,1fr);align-items:center}
.formation-image{display:block;width:380px;height:240px;min-height:240px}
.formation-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:991px){.formation-row{grid-template-columns:320px minmax(0,1fr)}
.formation-image{width:320px;height:202px;min-height:202px}
}
@media(max-width:767px){.formation-row{grid-template-columns:1fr}
.formation-image{width:100%;height:auto;min-height:0;aspect-ratio:16/10}
}


/* Ficha editorial de cursos */
.course-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:6rem}
.course-detail-grid article h2,.course-section-heading h2{font-size:clamp(2.4rem,4vw,4rem);line-height:1;margin-bottom:2rem}
.course-detail-grid article h3{margin-top:2.5rem}
.course-facts{align-self:start;padding:2rem;border-radius:1.4rem;background:#edf1e5}
.course-facts div{padding:0 0 1rem;margin-bottom:1rem;border-bottom:1px solid #cbd5c5}
.course-facts span,.course-facts strong{display:block}
.course-facts span{text-transform:uppercase;letter-spacing:.1em;font-size:.58rem;color:var(--muted)}
.course-facts strong{margin-top:.3rem}
.course-facts .btn{width:100%;margin-top:.5rem}
.course-benefits{padding:3.5rem 0;background:#1d321f;color:#fff}
.course-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff2b}
.course-benefit-grid article{background:#1d321f;padding:2rem}
.course-benefit-grid span{color:#bfd59a;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem}
.course-benefit-grid p{margin:1rem 0 0;color:#d5ddd3;line-height:1.7}
.course-syllabus{background:#f4f0e7}
.course-section-heading{max-width:650px}
.course-accordion{max-width:900px}
.course-accordion details{border-top:1px solid #b9c2b3}
.course-accordion details:last-child{border-bottom:1px solid #b9c2b3}
.course-accordion summary{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:1rem;padding:1.5rem 0;cursor:pointer;font-family:var(--serif);font-size:1.45rem;list-style:none}
.course-accordion summary::-webkit-details-marker{display:none}
.course-accordion summary span{font-family:var(--sans);font-size:.65rem;color:var(--forest)}
.course-accordion summary b{font-family:var(--sans);font-weight:400;transition:.2s}
.course-accordion details[open] summary b{transform:rotate(45deg)}
.course-accordion details>div{max-width:760px;padding:0 0 1.75rem 76px;color:var(--muted);line-height:1.8}
.syllabus-download{display:inline-block;margin-top:2rem;color:var(--forest);font-weight:700}
.course-teachers{background:#fff}
.teacher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.teacher-card{padding:1.2rem;border:1px solid #e2e6dc;border-radius:1.3rem}
.teacher-card>img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:1rem;margin-bottom:1.2rem}
.teacher-card>span{font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:var(--forest)}
.teacher-card h3{font-size:1.8rem;margin:.45rem 0}
.teacher-card p{font-size:.75rem;color:var(--muted);line-height:1.7}
.teacher-social{display:flex;gap:.5rem}
.teacher-social a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#edf1e5;color:var(--forest);text-decoration:none;font-weight:700}
@media(max-width:991px){.course-detail-grid{grid-template-columns:1fr;gap:2.5rem}
.course-facts{max-width:500px}
.teacher-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){.course-benefit-grid,.teacher-grid{grid-template-columns:1fr}
.course-accordion summary{grid-template-columns:38px 1fr auto;font-size:1.15rem}
.course-accordion details>div{padding-left:54px}
}


/* Ajustes de legibilidad, iconografía y alineación de la portada */
body{font-size:16px}
.round-icon svg,.value-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.value-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto .9rem;border:1px solid #ffffff55;border-radius:50%;background:#ffffff17}
.value p{font-size:.82rem;line-height:1.65;margin-top:0}
.service-card h2{font-size:clamp(1.55rem,2vw,1.85rem)}
.beauty h2{font-size:1.55rem}
.service-card p:not(.eyebrow){font-size:.86rem}
.service-card a,.centre a{font-size:.82rem}
.centre{width:100%;height:100%;min-height:142px}
.centre p{font-size:.82rem;line-height:1.55}
.google-maps-pin{background:#fff;box-shadow:0 8px 22px #23372212}
.google-maps-pin svg{width:34px;height:34px}
.course-body>p:not(.eyebrow),.public-card p,.review>p,.footer-brand+p,footer .col-6>a,footer .col-lg-3>a{font-size:.84rem}
.course-meta,.reviewer strong,.reviewer small,.metrics span{font-size:.74rem}
.eyebrow,.public-card span,.formation-labels>span,.section-number{font-size:.72rem}
.nav-link{font-size:.84rem}
.btn{font-size:.86rem}
@media(max-width:767px){body{font-size:16px}
.service-card h2{font-size:1.75rem}
.beauty h2{font-size:1.55rem}
.centre{min-height:0}
}


/* Centros de contacto: lectura editorial y llamadas destacadas en móvil */
.contact-card{display:flex;flex-direction:column}
.contact-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:2rem 0 1.5rem}
.contact-lines a{position:relative;display:block;padding:1rem 1.1rem;border:0;border-radius:1rem;background:#ffffff73;transition:background .2s ease,transform .2s ease}
.contact-lines a:hover{background:#fff;transform:translateY(-2px)}
.contact-lines a[href^="mailto:"]{grid-column:1/-1}
.contact-lines small,.contact-lines strong{display:block;text-align:left}
.contact-lines small{margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.08em}
.contact-lines strong{font-family:var(--serif);font-size:1rem;font-weight:600}
.contact-actions{margin-top:auto;padding-top:.5rem}
.contact-card address{min-height:82px}

@media(max-width:767px){.contact-lines{grid-template-columns:1fr;gap:.65rem;margin:1.5rem 0}
.contact-lines a[href^="tel:"]{min-height:68px;padding:.85rem 7.3rem .85rem 3.1rem;background:var(--forest);color:#fff;box-shadow:0 10px 24px #19371d26}
.contact-lines a[href^="tel:"]:before{content:"☎";position:absolute;left:1rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ffffff1f;font-size:.9rem}
.contact-lines a[href^="tel:"]:after{content:"Tocar para llamar";position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#dbe9d3}
.contact-lines a[href^="tel:"] small{color:#cbdcc5}
.contact-lines a[href^="tel:"] strong{color:#fff}
.contact-lines a[href^="mailto:"]{padding:1rem 0;background:transparent}
.contact-lines a[href^="mailto:"]:hover{transform:none}
.contact-actions{width:100%;padding-top:.75rem}
.contact-actions .btn{flex:1;text-align:center;white-space:nowrap}
}


/* Fechas, precios y solicitud contextual de formaciones */
.course-img-featured{position:relative;overflow:hidden}
.course-img-featured:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#132a1ac7 0,#132a1a38 58%,transparent 100%)}
.course-image-data{position:absolute;z-index:1;left:.8rem;top:.8rem;bottom:.8rem;width:132px;display:flex;flex-direction:column;justify-content:space-between;padding:1rem;border:1px solid #ffffff42;border-radius:.85rem;background:#17351dcc;color:#fff;backdrop-filter:blur(8px)}
.course-image-data div+div{padding-top:.8rem;border-top:1px solid #ffffff38}
.course-image-data span,.course-image-data strong{display:block}
.course-image-data span{margin-bottom:.25rem;font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:#c7d9bb}
.course-image-data strong{font-family:var(--serif);font-size:1.05rem;line-height:1.05}
.back-link{display:inline-flex;align-items:center;margin-bottom:1.4rem;color:var(--forest);font-size:.78rem;font-weight:700;text-decoration:none}
.back-link:hover{color:var(--forest-dark);transform:translateX(-3px)}
.detail-hero .back-link{position:relative;z-index:2;margin-bottom:1.25rem}
.information-modal .modal-content{overflow:hidden;border:0;border-radius:1.6rem;background:#f6f2e9;box-shadow:0 28px 90px #1025144d}
.information-modal .modal-body{padding:2.5rem}
.information-modal h2{font-size:2.5rem;margin-bottom:.5rem}
.modal-close{position:absolute;z-index:2;right:1rem;top:1rem;width:38px;height:38px;border:0;border-radius:50%;background:#e3e9da;color:var(--forest);font-size:1.5rem;line-height:1}
.modal-formation{padding:1rem 1.1rem;margin:1.2rem 0;border-left:3px solid var(--terracotta);background:#efe5da}
.modal-field label{display:block;margin-bottom:.35rem;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.modal-field input,.modal-field textarea{width:100%;margin-bottom:1rem;padding:.75rem .1rem;border:0;border-bottom:1px solid #aeb9a8;border-radius:0;background:transparent;outline:0}
.modal-field input:focus,.modal-field textarea:focus{border-color:var(--forest)}

@media(max-width:767px){.course-image-data{width:126px}
.information-modal .modal-body{padding:2rem 1.25rem 1.4rem}
.information-modal h2{font-size:2rem}
.back-link{margin-bottom:1rem}
}


/* Listados unificados de cursos y seminarios */
.formation-image{position:relative}
.formation-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#102819bd 0,#10281930 62%,transparent 100%);pointer-events:none}
.formation-image-data{position:absolute;z-index:2;left:.8rem;top:.8rem;bottom:.8rem;width:138px;display:flex;flex-direction:column;justify-content:space-between;padding:1rem;border:1px solid #ffffff42;border-radius:.85rem;background:#17351dd9;color:#fff;backdrop-filter:blur(8px)}
.formation-image-data div+div{padding-top:.8rem;border-top:1px solid #ffffff38}
.formation-image-data span,.formation-image-data strong{display:block}
.formation-image-data span{margin-bottom:.3rem;color:#c9dcbf;font-size:.58rem;text-transform:uppercase;letter-spacing:.1em}
.formation-image-data strong{font-family:var(--serif);font-size:1.08rem;line-height:1.08}
.formation-info{display:flex;flex-direction:column;align-self:stretch}
.formation-info>.btn{align-self:flex-start;margin-top:auto}
.formation-meta{align-items:center}
.formation-meta-item{display:inline-flex;align-items:center;gap:.42rem;font-size:.76rem}
.formation-meta-item svg{flex:0 0 19px;width:19px;height:19px;fill:none;stroke:var(--forest);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:767px){.formation-image-data{width:132px}
.formation-info>.btn{margin-top:.4rem}
.formation-meta{gap:.8rem 1rem}
.formation-meta-item svg{width:20px;height:20px;flex-basis:20px}
}


/* Cuenta atrás y disponibilidad */
.formation-countdown{padding:3.5rem 0;background:linear-gradient(120deg,#3f9f2f,#67aa3b);color:#fff}
.countdown-heading{text-align:center;max-width:900px;margin:0 auto 2rem}
.countdown-heading h2{font-family:var(--sans);font-size:clamp(1.35rem,2.5vw,2rem);font-weight:700;text-transform:uppercase;line-height:1.05}
.availability-badge{display:inline-block;margin-bottom:1rem;padding:.55rem 1rem;border-radius:999px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.last-places{background:#fff1c9;color:#7a4c00}
.sold-out{background:#722f2f;color:#fff}
.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}
.countdown-grid>div{padding:1.3rem;text-align:center;background:#fff;color:var(--forest);box-shadow:0 12px 30px #1f5b1a24}
.countdown-grid strong,.countdown-grid span{display:block}
.countdown-grid strong{font-family:var(--serif);font-size:clamp(2.5rem,5vw,4.6rem);font-weight:400;line-height:.9}
.countdown-grid span{margin-top:.45rem;font-family:var(--serif);font-size:1rem;color:var(--ink)}
.btn-sold-out,.btn-sold-out:disabled{width:100%;padding:.85rem 1.4rem;background:#7b8079;color:#fff;opacity:1;cursor:not-allowed}
.course-facts .btn-sold-out{margin-top:.5rem}

@media(max-width:767px){.formation-countdown{padding:2.5rem 0}
.countdown-grid{grid-template-columns:repeat(2,1fr)}
.countdown-grid strong{font-size:3rem}
.countdown-heading h2{font-size:1.25rem}
}


/* Blog editorial */
.blog-hero{min-height:520px;display:flex;align-items:end;padding:130px 0 75px;background:radial-gradient(circle at 80% 25%,#d7e5c3 0 10%,transparent 31%),linear-gradient(135deg,#f6f1e8,#e5ecdd)}
.blog-hero h1{max-width:850px;font-size:clamp(3.3rem,7vw,6.5rem);line-height:.84;letter-spacing:-.05em}
.blog-hero h1 em{font-weight:400;color:var(--forest)}
.blog-hero>div>p:last-child{max-width:620px;margin-top:1.5rem;color:var(--muted);font-size:1rem;line-height:1.8}
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
.blog-card{display:grid;grid-template-columns:42% 1fr;min-height:280px;overflow:hidden;border:1px solid #e0dfd7;border-radius:1.4rem;background:#fff;transition:.3s}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 22px 55px #17311914}
.blog-card.featured{grid-column:1/-1;grid-template-columns:55% 1fr;min-height:430px;background:#eef2e8}
.blog-card-image{display:block;min-height:100%;background:#dfe6d8}
.blog-card-image img{width:100%;height:100%;object-fit:cover}
.blog-card-copy{display:flex;flex-direction:column;padding:1.5rem}
.blog-card-copy time{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--forest)}
.blog-card-copy h2{margin:.8rem 0;font-size:1.65rem;line-height:1.05}
.blog-card.featured h2{font-size:clamp(2rem,3vw,3.2rem)}
.blog-card-copy h2 a{text-decoration:none}
.blog-card-copy p{color:var(--muted);font-size:.84rem;line-height:1.7}
.blog-read{margin-top:auto;color:var(--forest);font-size:.78rem;font-weight:700;text-decoration:none}
.article-narrow{max-width:820px;margin-left:auto;margin-right:auto}
.article-hero{padding:140px 1rem 5rem;background:linear-gradient(135deg,#f5f1e8,#e7eddf)}
.article-hero h1{font-size:clamp(3rem,6vw,5.5rem);line-height:.9;letter-spacing:-.045em}
.article-excerpt{margin-top:1.8rem;color:var(--muted);font-size:1.08rem;line-height:1.75}
.article-cover{max-width:1120px;margin:-1.5rem auto 4rem;padding:0 1rem}
.article-cover img{display:block;width:100%;max-height:620px;object-fit:cover;border-radius:1.5rem}
.article-body{padding:0 1rem 6rem;color:#455147;font-size:1.02rem;line-height:1.9}
.article-body h2,.article-body h3{margin:2.8rem 0 1rem;color:var(--ink);line-height:1.05}
.article-body h2{font-size:2.25rem}
.article-body h3{font-size:1.6rem}
.article-body img{max-width:100%;height:auto;border-radius:1rem}
.article-body a{color:var(--forest);font-weight:600}
.article-body blockquote{margin:2rem 0;padding:1.5rem 2rem;border-left:4px solid var(--terracotta);background:#f4eee7;font-family:var(--serif);font-size:1.35rem}
.article-body figure{margin:2.5rem 0}
.article-cta{padding:6rem 0;text-align:center;background:#1d321f;color:#fff}
.article-cta h2{margin:1rem 0 2rem;font-size:clamp(2.5rem,5vw,4.5rem);line-height:.93}
.article-cta .eyebrow{color:#bdd39b}

@media(max-width:991px){.blog-grid{grid-template-columns:1fr}
.blog-card.featured{grid-column:auto}
.blog-card,.blog-card.featured{grid-template-columns:42% 1fr;min-height:300px}
}

@media(max-width:767px){.blog-hero{min-height:430px;padding:100px 0 55px}
.blog-hero h1{font-size:3.4rem}
.blog-card,.blog-card.featured{grid-template-columns:1fr}
.blog-card-image{min-height:230px}
.blog-card.featured h2{font-size:2rem}
.article-hero{padding-top:105px}
.article-hero h1{font-size:2.8rem}
.article-cover{margin-bottom:2.5rem}
.article-body{font-size:.96rem}
.article-body h2{font-size:1.8rem}
}


/* Imágenes limpias, folleto ampliable y opciones para compartir */
.formation-image:after,.course-img-featured:after{display:none}
.formation-image-data,.course-image-data{display:none!important}
.brochure-section{padding:5rem 0;background:#e9eee3}
.brochure-callout{display:grid;grid-template-columns:minmax(0,1fr) 250px;align-items:center;gap:5rem;max-width:950px}
.brochure-callout h2,.share-course h2{font-size:clamp(2.4rem,5vw,4.6rem);line-height:.92}
.brochure-cover{position:relative;padding:0;border:0;border-radius:1rem;background:#fff;box-shadow:0 24px 55px #18331b2b;overflow:hidden;transform:rotate(1.5deg);transition:.25s}
.brochure-cover:hover{transform:rotate(0) translateY(-5px)}
.brochure-cover img{display:block;width:100%;aspect-ratio:210/297;object-fit:cover;object-position:top}
.brochure-cover span{position:absolute;left:.7rem;right:.7rem;bottom:.7rem;padding:.7rem;border-radius:.65rem;background:#18331be8;color:#fff;font-size:.72rem;font-weight:700}
.brochure-modal .modal-content{border:0;border-radius:1.2rem;background:#283229;overflow:hidden}
.brochure-modal-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;color:#fff}
.brochure-modal-head h2{margin:0;font-family:var(--sans);font-size:1rem}
.brochure-modal-head button{width:38px;height:38px;border:0;border-radius:50%;background:#ffffff1c;color:#fff;font-size:1.5rem}
.brochure-modal-body{max-height:82vh;overflow:auto;padding:0 1rem 1rem;text-align:center}
.brochure-modal-body img{display:block;width:auto;max-width:100%;height:auto;margin:auto}
.share-course{padding:4rem 0;text-align:center;background:#1d321f;color:#fff}
.share-course h2{max-width:850px;margin:0 auto 2rem}
.share-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem}
.share-actions a,.share-actions button{padding:.8rem 1.1rem;border:1px solid #ffffff4a;border-radius:999px;background:transparent;color:#fff;text-decoration:none;font-size:.78rem;font-weight:700;transition:.2s}
.share-actions a:hover,.share-actions button:hover{background:#fff;color:var(--forest)}
.share-feedback{min-height:1.5rem;margin:.9rem 0 0;color:#c9dcbc;font-size:.75rem}

@media(max-width:767px){.brochure-section{padding:3.5rem 0}
.brochure-callout{grid-template-columns:1fr;gap:2rem;text-align:center}
.brochure-cover{width:min(75%,280px);margin:auto}
.brochure-modal .modal-dialog{margin:.5rem}
.brochure-modal-body{padding:0 .35rem .35rem}
.share-course{padding:3.5rem 0}
.share-actions{align-items:stretch;flex-direction:column}
.share-actions a,.share-actions button{width:100%}
}


/* Fichas editoriales: contador lateral y folleto integrado */
@media(min-width:992px){.detail-hero .row>div:first-child{width:58.333%}
.detail-hero .row>div:last-child{width:41.667%}
.hero-copy-with-countdown{display:grid;grid-template-columns:minmax(0,1fr) 116px;grid-template-rows:auto auto auto;column-gap:2rem;align-items:start}
.hero-copy-with-countdown>.eyebrow,.hero-copy-with-countdown>h1,.hero-copy-with-countdown>p{grid-column:1}
.hero-copy-with-countdown>.formation-countdown{grid-column:2;grid-row:1/4;align-self:center;width:100%}
}

.hero-copy-with-countdown>.formation-countdown{padding:0;background:transparent;color:var(--ink)}
.hero-copy-with-countdown .formation-countdown>.container{width:100%;max-width:none;padding:0}
.hero-copy-with-countdown .countdown-heading{margin:0;text-align:center}
.hero-copy-with-countdown .countdown-heading h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-copy-with-countdown .availability-badge{margin:0 0 .55rem;padding:.4rem .55rem;font-size:.52rem}
.hero-copy-with-countdown .countdown-grid{grid-template-columns:1fr;gap:.35rem}
.hero-copy-with-countdown .countdown-grid>div{padding:.62rem .35rem;border:1px solid #d9e1d2;border-radius:.75rem;background:#fff;box-shadow:0 8px 24px #17311912}
.hero-copy-with-countdown .countdown-grid strong{font-size:1.65rem;line-height:.85}
.hero-copy-with-countdown .countdown-grid span{margin-top:.2rem;font-family:var(--sans);font-size:.52rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}

.detail-content{max-width:1180px;grid-template-columns:minmax(0,1fr) 360px;gap:5rem}
.detail-content article>h2{margin-bottom:2rem;font-size:clamp(2.5rem,4vw,4rem);line-height:.95}
.detail-content article .rich-description{color:#475449;font-size:.98rem;line-height:1.85}
.detail-content aside{align-self:start;padding:2rem;border:1px solid #dfe5d9;border-radius:1.4rem;background:#edf1e5;box-shadow:0 18px 45px #1731190d}
.detail-content aside>p{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid #cbd5c5}
.detail-content aside h3{margin:1.8rem 0 .8rem;font-size:1.65rem}
.detail-content aside .btn{width:100%;margin-top:.7rem}

.brochure-section.is-integrated{padding:0;margin:3.5rem 0 0;background:transparent}
.brochure-section.is-integrated .brochure-callout{width:100%;max-width:none;grid-template-columns:minmax(0,1fr) 180px;gap:2rem;padding:2rem;margin:0;border:1px solid #d9e2d2;border-radius:1.4rem;background:linear-gradient(135deg,#edf2e8,#e2eadb)}
.brochure-section.is-integrated .brochure-callout h2{margin:.25rem 0 .7rem;font-size:clamp(2rem,3vw,3rem)}
.brochure-section.is-integrated .brochure-callout p:last-child{margin:0;color:var(--muted)}
.brochure-section.is-integrated .brochure-cover{width:100%;transform:rotate(1deg);box-shadow:0 16px 34px #17311924}

@media(max-width:991px){.hero-copy-with-countdown{display:block}
.hero-copy-with-countdown>.formation-countdown{margin-top:1.5rem}
.hero-copy-with-countdown .countdown-grid{grid-template-columns:repeat(4,1fr)}
.detail-content{gap:2.5rem}
}

@media(max-width:767px){.hero-copy-with-countdown .countdown-grid{grid-template-columns:repeat(2,1fr)}
.hero-copy-with-countdown .countdown-grid strong{font-size:2rem}
.brochure-section.is-integrated{margin-top:2.5rem}
.brochure-section.is-integrated .brochure-callout{grid-template-columns:1fr;padding:1.4rem;text-align:left}
.brochure-section.is-integrated .brochure-cover{width:min(75%,240px);margin:1rem auto 0}
.detail-content article>h2{font-size:2.5rem}
}


/* Ajuste del hero: contador a la izquierda y títulos largos contenidos */
.detail-hero h1{font-size:clamp(2.15rem,3vw,3.35rem);line-height:.98;letter-spacing:-.035em;overflow-wrap:normal}

@media(min-width:992px){.detail-hero .row>div:first-child{width:62.5%}
.detail-hero .row>div:last-child{width:37.5%}
.hero-copy-with-countdown{grid-template-columns:108px minmax(0,1fr);column-gap:1.6rem}
.hero-copy-with-countdown>.eyebrow,.hero-copy-with-countdown>h1,.hero-copy-with-countdown>p{grid-column:2;min-width:0}
.hero-copy-with-countdown>.formation-countdown{grid-column:1;grid-row:1/4}
.hero-copy-with-countdown .countdown-grid>div{padding:.58rem .3rem}
.hero-copy-with-countdown .countdown-grid strong{font-size:1.55rem}
}

@media(max-width:991px){.detail-hero h1{max-width:680px;font-size:clamp(2.1rem,6vw,3rem);line-height:1}
}


/* Docencia y promoción destacadas en el listado de seminarios */
.formation-promotion{margin:1.15rem 0 1.35rem;padding:1rem 1.1rem;border-left:3px solid var(--terracotta);border-radius:0 .8rem .8rem 0;background:#f4e8df}
.formation-promotion span{display:block;margin-bottom:.38rem;color:#9a583f;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em}
.formation-promotion p{margin:0;color:#543d34;font-size:.76rem;font-weight:600;line-height:1.55}
.formation-taught-by{flex-basis:100%;margin:.2rem 0 .35rem;padding:.65rem .75rem;border-radius:.7rem;background:#edf2e8}
.formation-taught-by>span{display:block;color:var(--ink);font-weight:700;line-height:1.35}
.formation-taught-by small{display:block;margin-bottom:.12rem;color:var(--forest);font-size:.55rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.formation-info .formation-meta{margin:0 0 1.25rem;gap:.75rem 1rem}
.formation-info>.btn{margin-top:.15rem}

@media(max-width:767px){.formation-promotion{margin:1rem 0 1.15rem}
.formation-info .formation-meta{margin-bottom:1rem}
.formation-taught-by{padding:.75rem}
}

.detail-content aside .detail-promotion{margin:1.25rem 0;padding:1rem 1.05rem;border:0;border-left:3px solid var(--terracotta);border-radius:0 .75rem .75rem 0;background:#f4e8df;color:#543d34}
.detail-content aside .detail-promotion strong{display:block;margin-bottom:.3rem;color:#9a583f;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}

.course-learning{margin:3.5rem 0;padding:2rem;border:1px solid #dce4d6;border-radius:1.4rem;background:linear-gradient(145deg,#f1f5ec,#e7eee0)}
.course-learning-heading span{display:block;margin-bottom:.35rem;color:var(--terracotta);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.course-detail-grid article .course-learning-heading h3{margin:0 0 1.5rem;font-size:clamp(2rem,3vw,3rem);line-height:.95}
.course-learning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.course-learning-card{display:grid;grid-template-columns:36px 1fr;gap:.75rem;padding:1rem;border:1px solid #d9e2d3;border-radius:1rem;background:#fff;box-shadow:0 10px 25px #1731190a}
.course-learning-card>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--forest);color:#fff;font-size:.6rem;font-weight:800;letter-spacing:.05em}
.course-learning-card h4{margin:0;color:var(--ink);font-family:var(--serif);font-size:1.18rem;line-height:1.1}
.course-learning-card p{margin:.45rem 0 0;color:var(--muted);font-size:.75rem;line-height:1.55}
@media(max-width:767px){.course-learning{margin:2.5rem 0;padding:1.2rem}
.course-learning-grid{grid-template-columns:1fr}
.course-learning-card{padding:.9rem}
}

.detail-content article .course-learning-heading h3{margin:0 0 1.5rem;font-size:clamp(2rem,3vw,3rem);line-height:.95}

.formation-date-item{flex-basis:100%;align-items:flex-start;padding:.65rem .75rem;border-radius:.7rem;background:#f4f6f1}
.formation-date-item>span{display:block;color:var(--ink);font-weight:700;line-height:1.4}
.formation-date-item small{display:block;margin-bottom:.12rem;color:var(--forest);font-size:.55rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.seminar-date-fact{margin:0 0 1.25rem;padding:1.15rem;border-radius:1rem;background:var(--forest);color:#fff}
.seminar-date-fact>span{display:block;margin-bottom:.65rem;color:#c9dcbf;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.seminar-date-fact>div{display:grid;gap:.4rem}
.seminar-date-fact time{display:block;padding:.55rem .65rem;border-radius:.55rem;background:#ffffff14;font-family:var(--serif);font-size:1.15rem;line-height:1}

@media(max-width:767px){.formation-date-item{padding:.75rem}
.seminar-date-fact time{font-size:1.05rem}
}

.course-syllabus-inline{margin-top:4rem;padding-top:3rem;border-top:1px solid #cbd5c5}
.course-syllabus-inline .course-section-heading h2{margin-bottom:1.75rem;font-size:clamp(2.3rem,4vw,3.6rem)}
.course-syllabus-inline .course-accordion{max-width:none}
.course-syllabus-inline .course-accordion details>div{padding-left:60px}
.course-side-benefits{display:grid;gap:.7rem;margin:1.4rem 0}
.course-side-benefits article{padding:1rem;border:1px solid #d6dfd0;border-radius:.85rem;background:#fff}
.course-side-benefits article>span{display:block;margin-bottom:.35rem;color:var(--forest);font-size:.57rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.course-side-benefits article p{margin:0;color:#536055;font-size:.72rem;line-height:1.55}
.course-side-benefits .course-side-discount{border-color:#e3c6b6;background:#f5e9e0}
.course-side-benefits .course-side-discount>span{color:#a25d42}
.formation-discount{border-left-color:var(--forest);background:#e9f0e4}
.formation-discount span{color:var(--forest)}
.formation-discount p{color:#354b38}
@media(max-width:767px){.course-syllabus-inline{margin-top:3rem;padding-top:2.5rem}
.course-syllabus-inline .course-accordion details>div{padding-left:54px}
.course-side-benefits{margin:1.1rem 0}
}

.course-side-benefits article:first-child:not(.course-side-discount){border-color:#e3c6b6;border-left:3px solid var(--terracotta);background:#f4e8df}
.course-side-benefits article:first-child:not(.course-side-discount)>span{color:#9a583f}
.course-side-benefits article:first-child:not(.course-side-discount) p{color:#543d34}

.formation-promotion span,.detail-content aside .detail-promotion strong,.course-side-benefits article>span{font-size:.62rem;font-weight:800;line-height:1.3;letter-spacing:.09em}
.formation-promotion p,.detail-content aside .detail-promotion,.course-side-benefits article p{font-size:.82rem;font-weight:600;line-height:1.6}

.course-syllabus-inline{margin:3.5rem 0 0;padding:2rem;border:1px solid #dce4d6;border-radius:1.4rem;background:linear-gradient(145deg,#f1f5ec,#e7eee0)}
.course-syllabus-inline .course-section-heading .eyebrow{margin-bottom:.35rem;color:var(--terracotta);font-size:.62rem;font-weight:800;letter-spacing:.12em}
.course-syllabus-inline .course-section-heading h2{margin:0 0 1.5rem;font-size:clamp(2rem,3vw,3rem);line-height:.95}
.course-syllabus-inline .course-accordion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.course-syllabus-inline .course-accordion details{padding:1rem;border:1px solid #d9e2d3;border-radius:1rem;background:#fff;box-shadow:0 10px 25px #1731190a}
.course-syllabus-inline .course-accordion summary{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:.75rem;padding:0;color:var(--ink);font-family:var(--serif);font-size:1.18rem;line-height:1.1;cursor:default}
.course-syllabus-inline .course-accordion summary span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--forest);color:#fff;font-family:var(--sans);font-size:.6rem;font-weight:800;letter-spacing:.05em}
.course-syllabus-inline .course-accordion summary b{display:none}
.course-syllabus-inline .course-accordion details>div{padding:0 0 0 44px;margin:.45rem 0 0;color:var(--muted);font-size:.75rem;line-height:1.55}
.course-syllabus-inline .syllabus-download{margin-top:1.25rem}
@media(max-width:767px){.course-syllabus-inline{margin-top:2.5rem;padding:1.2rem}
.course-syllabus-inline .course-accordion{grid-template-columns:1fr}
.course-syllabus-inline .course-accordion details{padding:.9rem}
.course-syllabus-inline .course-accordion details>div{padding-left:44px}
}


/* Carrusel editorial de formaciones en portada */
.formation-showcase{position:relative;overflow:hidden;background:#e9eee3}
.formation-showcase:before{position:absolute;top:-210px;right:-150px;width:520px;height:520px;border:1px solid #b9c8ad;border-radius:50%;content:""}
.formation-showcase:after{position:absolute;right:7%;bottom:2.5rem;width:110px;height:110px;background-image:radial-gradient(#af7b60 1.2px,transparent 1.2px);background-size:12px 12px;content:"";opacity:.32}
.formation-showcase>.container{position:relative;z-index:1}
.formation-showcase-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:4rem;margin-bottom:2.5rem}
.formation-showcase-head h2{margin:.2rem 0 .9rem;font-size:clamp(3.1rem,6vw,5.6rem);line-height:.86;letter-spacing:-.045em}
.formation-showcase-head h2 em{color:var(--forest);font-weight:400}
.formation-showcase-intro{max-width:610px;margin:0;color:var(--muted);font-size:.92rem;line-height:1.75}
.formation-filters{display:flex;padding:.35rem;border:1px solid #c5d0bd;border-radius:999px;background:#f7f5ef}
.formation-filters button{display:flex;align-items:center;gap:.55rem;padding:.72rem 1rem;border:0;border-radius:999px;background:transparent;color:var(--forest);font-size:.73rem;font-weight:800;transition:.25s}
.formation-filters button span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 .35rem;border-radius:50%;background:#dfe7d8;font-size:.58rem}
.formation-filters button.is-active{background:var(--forest);color:#fff;box-shadow:0 8px 20px #17311926}
.formation-filters button.is-active span{background:#ffffff24}
.formation-slider-shell{position:relative}
.formation-slider-viewport{overflow:hidden;padding:1rem .15rem 2rem;margin:0 -.15rem}
.formation-slider-track{display:flex;gap:1.15rem;transition:transform .55s cubic-bezier(.22,.8,.25,1);will-change:transform}
.formation-slide{flex:0 0 calc((100% - 2.3rem)/3);min-width:0;overflow:hidden;border:1px solid #d5ddd0;border-radius:1.25rem;background:#f8f7f2;box-shadow:0 16px 45px #1731190d;transition:transform .3s,box-shadow .3s}
.formation-slide[hidden]{display:none}
.formation-slide:hover{transform:translateY(-7px);box-shadow:0 25px 55px #1731191c}
.formation-slide-image{position:relative;display:block;height:265px;overflow:hidden;background:#ced8c6}
.formation-slide-image:after{position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#1029138f);content:""}
.formation-slide-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s}
.formation-slide:hover .formation-slide-image img{transform:scale(1.045)}
.formation-kind{position:absolute;z-index:2;left:1rem;bottom:1rem;padding:.48rem .72rem;border:1px solid #ffffff60;border-radius:999px;background:#173119d9;color:#fff;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;backdrop-filter:blur(8px)}
.formation-date-ticket{position:absolute;z-index:3;top:0;right:1rem;display:flex;align-items:center;flex-direction:column;width:78px;padding:.85rem .5rem .7rem;border-radius:0 0 .85rem .85rem;background:var(--terracotta);color:#fff;box-shadow:0 12px 25px #4c261d35;text-align:center}
.formation-date-ticket strong{font-family:var(--serif);font-size:2.15rem;font-weight:400;line-height:.8}
.formation-date-ticket span{margin-top:.42rem;font-size:.64rem;font-weight:900;letter-spacing:.14em}
.formation-date-ticket small{margin-top:.18rem;font-size:.54rem;opacity:.82}
.formation-slide-body{display:flex;align-items:flex-start;flex-direction:column;min-height:270px;padding:1.35rem}
.formation-place{color:#7a685e;font-size:.61rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.formation-slide-body h3{margin:.65rem 0 .8rem;font-size:clamp(1.55rem,2.2vw,2rem);line-height:1}
.formation-slide-body h3 a{color:var(--ink);text-decoration:none}
.formation-slide-body>p{display:-webkit-box;overflow:hidden;margin:0 0 1.2rem;color:var(--muted);font-size:.78rem;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.formation-slide-link{display:flex;align-items:center;justify-content:space-between;width:100%;padding-top:.9rem;margin-top:auto;border-top:1px solid #d9dfd4;color:var(--forest);font-size:.69rem;font-weight:800;text-decoration:none;text-transform:uppercase;letter-spacing:.08em}
.formation-slide-link span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dfe8d7;transition:.25s}
.formation-slide-link:hover span{transform:rotate(45deg);background:var(--forest);color:#fff}
.formation-slider-controls{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;margin-top:.25rem}
.formation-slider-controls button{display:grid;place-items:center;width:46px;height:46px;border:1px solid #b9c7b1;border-radius:50%;background:transparent;color:var(--forest);font-size:1.15rem;transition:.2s}
.formation-slider-controls button:hover:not(:disabled){background:var(--forest);color:#fff}
.formation-slider-controls button:disabled{cursor:not-allowed;opacity:.3}
.formation-slider-controls p{display:flex;align-items:center;gap:.55rem;margin:0 .25rem;color:#85917f}
.formation-slider-controls p span{display:block;width:46px;height:1px;background:#aab7a3}
.formation-slider-controls strong{color:var(--forest);font-family:var(--serif);font-size:1.35rem;font-weight:400}
.formation-slider-controls small{font-size:.67rem}
.formation-showcase-footer{margin-top:1rem;border-top:1px solid #cbd5c5;padding-top:1.4rem}
.formation-showcase-footer a{display:inline-flex;align-items:center;gap:1rem;color:var(--forest);font-size:.74rem;font-weight:800;text-decoration:none;text-transform:uppercase;letter-spacing:.08em}
.formation-showcase-footer a span{font-size:1.1rem;transition:transform .2s}
.formation-showcase-footer a:hover span{transform:translateX(5px)}

@media(max-width:991px){.formation-showcase-head{grid-template-columns:1fr;align-items:start;gap:1.5rem}
.formation-filters{width:max-content}
.formation-slide{flex-basis:calc((100% - 1.15rem)/2)}
}

@media(max-width:767px){.formation-showcase{padding-top:4.5rem}
.formation-showcase:before{display:none}
.formation-showcase-head h2{font-size:3.45rem}
.formation-filters{width:100%}
.formation-filters button{justify-content:center;flex:1}
.formation-slider-viewport{overflow:visible}
.formation-slider-track{gap:.8rem}
.formation-slide{flex-basis:calc(100% - 2.25rem)}
.formation-slide-image{height:245px}
.formation-slide-body{min-height:245px;padding:1.2rem}
.formation-slider-controls{justify-content:space-between}
.formation-slider-controls p{order:2}
.formation-slider-controls button:first-child{order:1}
.formation-slider-controls button:last-child{order:3}
.formation-showcase-footer{margin-top:1.25rem}
}

/* Mapa editorial de la sede de Sevilla */
.location-map-section{position:relative;overflow:hidden;padding:7rem 0;background:#efe8dd}
.location-map-section:before{position:absolute;top:-8rem;left:-8rem;width:24rem;height:24rem;border:1px solid #315f2726;border-radius:50%;content:""}
.location-map-heading{position:relative;z-index:1;display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:4rem;margin-bottom:2.5rem}
.location-map-heading .eyebrow{color:var(--terracotta)}
.location-map-heading h2{margin:.45rem 0 0;font-size:clamp(3.8rem,7vw,6.8rem);line-height:.8;letter-spacing:-.055em}
.location-map-heading h2 em{color:var(--forest);font-weight:400}
.location-map-heading>p{max-width:420px;margin:0 0 .35rem;color:var(--muted);font-size:.88rem;line-height:1.8}
.location-map-frame{position:relative;min-height:560px;overflow:hidden;border-radius:2rem;background:#d7dfd0;box-shadow:0 28px 70px #20351e24}
.location-map-frame:after{position:absolute;inset:0;border:1px solid #ffffff80;border-radius:inherit;content:"";pointer-events:none}
.location-map-frame iframe{display:block;width:100%;height:560px;border:0;filter:saturate(.82) contrast(.94)}
.location-map-card{position:absolute;z-index:2;top:50%;left:2rem;width:min(350px,calc(100% - 4rem));padding:2rem;border-radius:1.4rem;background:#173119ed;color:#fff;box-shadow:0 22px 55px #14221445;transform:translateY(-50%);backdrop-filter:blur(12px)}
.location-map-pin{display:grid;place-items:center;width:46px;height:46px;margin-bottom:1.4rem;border-radius:50%;background:var(--terracotta);font-size:1.4rem}
.location-map-card>p{margin:0;color:#b9cbb1;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em}
.location-map-card h3{margin:.45rem 0 1rem;color:#fff;font-size:3.2rem;line-height:1}
.location-map-card address{margin:0 0 1.5rem;color:#d5dfd0;font-size:.76rem;font-style:normal;line-height:1.7}
.location-map-card a{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid #ffffff2b;color:#fff;font-size:.68rem;font-weight:800;text-decoration:none;text-transform:uppercase;letter-spacing:.09em}
.location-map-card a span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffffff14;transition:.25s}
.location-map-card a:hover span{background:var(--terracotta);transform:rotate(45deg)}
@media(max-width:991px){.location-map-heading{grid-template-columns:1fr;gap:1.2rem}.location-map-heading>p{max-width:600px}.location-map-frame,.location-map-frame iframe{height:520px;min-height:520px}}
@media(max-width:767px){.location-map-section{padding:4.5rem 0}.location-map-heading h2{font-size:3.7rem}.location-map-frame{display:flex;flex-direction:column;min-height:0;border-radius:1.35rem}.location-map-frame iframe{order:1;height:360px}.location-map-card{position:relative;top:auto;left:auto;order:2;width:100%;border-radius:0;padding:1.6rem;transform:none}.location-map-card h3{font-size:2.6rem}}
