/* Centro de Capacitación Leonor Villegas de Magnón - sitio estático */
:root {
  --ink: #193640;
  --deep: #173d49;
  --deepest: #102f39;
  --teal: #326977;
  --wine: #995d66;
  --gold: #ba9565;
  --paper: #fbfaf7;
  --cream: #f6f3ed;
  --mist: #f0f5f4;
  --line: rgba(25, 54, 64, .13);
  --text: #51656b;
  --serif: 'Fraunces', Georgia, Cambria, serif;
  --sans: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --shadow: 0 20px 55px rgba(19, 53, 63, .095);
  --radius: 24px;
  --max: 1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.no-scroll{overflow:hidden}
::selection{background:#bad9d8;color:#173d49}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
img{max-width:100%;height:auto}
svg.icon{width:20px;height:20px;display:inline-block;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.svg-sprite{width:0;height:0;position:absolute;overflow:hidden;pointer-events:none}
.container{width:min(var(--max),calc(100% - 72px));margin-inline:auto}
.skip-link{position:absolute;left:10px;top:-60px;background:white;padding:12px 20px;z-index:300;border-radius:8px}
.skip-link:focus{top:10px}
:focus-visible{outline:3px solid #b98c58;outline-offset:4px}
.topbar{background:var(--deep);color:#e5f0ec;font-size:11px;letter-spacing:.1em;font-weight:600}
.topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:34px}
.topbar__inner>span{display:inline-flex;align-items:center;gap:9px}
.topbar svg.icon{width:13px;height:13px}
.topbar__spark{color:#e6bc8a;margin-inline:8px;font-size:13px}
.header{position:sticky;top:0;z-index:80;background:rgba(251,250,247,.97);border-bottom:1px solid rgba(25,54,64,.09);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:box-shadow .25s}
.header.scrolled{box-shadow:0 10px 28px rgba(16,47,57,.06)}
.nav-wrap{display:flex;align-items:center;gap:26px;min-height:87px}
.brand{display:inline-flex;align-items:center;gap:11px;min-width:0;flex-shrink:0}
.brand__mark{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:46px;height:46px;border:1px solid rgba(23,61,73,.24);border-radius:15px 15px 9px 15px;background:#eaf0ee;color:var(--deep);font-family:var(--serif);font-size:19px;letter-spacing:-.07em;font-weight:600}
.brand__mark span{color:var(--wine)}
.brand__copy{display:flex;flex-direction:column;gap:3px}
.brand__copy>span{font-size:9.2px;line-height:1.2;letter-spacing:.21em;color:#70848a;font-weight:700}
.brand__copy strong{font-family:var(--serif);font-size:15px;line-height:1.3;font-weight:600;white-space:nowrap}
.nav{display:flex;align-items:center;gap:19px;margin-left:auto}
.nav__link{font-size:12px;font-weight:700;color:#5f7175;white-space:nowrap;position:relative;padding:10px 0;transition:color .25s}
.nav__link:hover,.nav__link.active{color:var(--deep)}
.nav__link::after{content:"";position:absolute;left:0;bottom:4px;width:0;height:2px;background:var(--wine);transition:width .25s}
.nav__link:hover::after,.nav__link.active::after{width:100%}
.nav-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;background:var(--deep);color:white;font-size:12px;font-weight:700;padding:13px 16px;border-radius:7px;transition:transform .2s,background .2s}
.nav-cta svg.icon{width:16px;height:16px}
.nav-cta:hover{background:#235767;transform:translateY(-2px)}
.nav-toggle{display:none;align-items:center;justify-content:center;width:43px;height:43px;border-radius:10px;border:1px solid var(--line);color:var(--deep);background:white;margin-left:auto}
.hero{position:relative;overflow:hidden;background:linear-gradient(132deg,#fbfaf7 2%,#f4f3ec 62%,#eaf0ec 100%)}
.hero__pattern{position:absolute;inset:0;pointer-events:none;opacity:.6;background-image:radial-gradient(circle at 4% 20%,rgba(186,149,101,.17),transparent 28%),radial-gradient(circle at 98% 95%,rgba(50,105,119,.11),transparent 40%)}
.hero::before{content:"";position:absolute;right:-14%;top:-45%;width:57%;aspect-ratio:1;border:1px solid rgba(23,61,73,.08);border-radius:50%;pointer-events:none}
.hero__grid{min-height:655px;display:grid;grid-template-columns:1fr 1.04fr;align-items:center;gap:3%;position:relative;padding-top:52px;padding-bottom:50px}
.hero__content{position:relative;z-index:2;padding-bottom:10px}
.eyebrow{display:inline-flex;align-items:center;gap:11px;padding:9px 14px;background:#eaf0ed;border:1px solid rgba(50,105,119,.17);border-radius:25px;color:#3d6870;font-size:10px;letter-spacing:.16em;font-weight:700}
.eyebrow__dot{height:8px;width:8px;background:#9bb9ae;border:2px solid #618b80;box-shadow:0 0 0 4px rgba(109,155,142,.13);border-radius:50%}
.hero__overline{margin:37px 0 9px;font-size:14px;letter-spacing:.11em;text-transform:uppercase;color:var(--wine);font-weight:700}
h1,h2,h3,p,figure{margin-top:0}
h1,h2,h3{overflow-wrap:break-word}
.hero h1{font-family:var(--serif);font-size:clamp(3.2rem,5.6vw,5.95rem);line-height:1.105;letter-spacing:-.057em;font-weight:500;margin:0;max-width:650px}
.hero h1 em,.section-heading h2 em,.modality h2 em,.certification h2 em,.gallery-section h2 em,.contact h2 em{font-weight:400;font-style:italic;color:var(--wine)}
.hero__description{font-size:16px;line-height:1.9;color:var(--text);max-width:445px;margin:25px 0 29px}
.hero__actions{display:flex;flex-wrap:wrap;gap:11px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;border-radius:9px;padding:15px 22px;min-height:52px;font-size:13px;font-weight:700;line-height:1.25;transition:transform .22s,box-shadow .22s,background .22s,color .22s;text-align:center}
.btn svg.icon{height:18px;width:18px}
.btn:hover{transform:translateY(-3px)}
.btn--primary{color:white;background:var(--deep);box-shadow:0 10px 22px rgba(23,61,73,.12)}
.btn--primary:hover{background:#255868;box-shadow:0 14px 25px rgba(23,61,73,.19)}
.btn--light{background:#fff;border-color:#e0e6e1;color:var(--deep)}
.btn--light:hover{background:#f6f8f5;border-color:#bacccc}
.hero__note{display:flex;align-items:center;gap:10px;font-size:13px;color:#667a7c;margin-top:38px}
.hero__note-icon{height:34px;width:34px;border-radius:50%;display:grid;place-items:center;background:#f5eadd;color:#b1855b}
.hero__note-icon svg.icon{width:17px;height:17px}
.hero__note strong{color:var(--deep);font-weight:700}
.hero__visual{height:535px;position:relative;isolation:isolate}
.hero__circle{position:absolute;width:470px;height:470px;border-radius:50%;right:1%;top:3%;background:radial-gradient(circle at 30% 30%,#d8e3dc,#c0d2ca 67%,#aac5bb);box-shadow:0 0 0 34px rgba(204,221,213,.26),0 0 0 68px rgba(213,224,216,.13);z-index:0}
.hero__photo{position:absolute;margin:0;background:var(--paper);border:1px solid rgba(23,61,73,.19);padding:7px;border-radius:21px;box-shadow:0 24px 48px rgba(17,51,61,.20),0 0 32px rgba(214,228,221,.7)}
.hero__photo img{display:block;width:100%;height:auto;border-radius:15px}
.hero__photo--main{width:69%;left:6%;top:6%;transform:rotate(-3deg);z-index:1}
.hero__photo--small{width:65%;right:0;bottom:5%;transform:rotate(4deg);z-index:2}
.hero__stamp{position:absolute;right:4%;top:1%;width:115px;height:115px;border-radius:50%;border:1px solid rgba(23,61,73,.28);background:#fdfbf6;box-shadow:0 10px 25px rgba(17,51,61,.12);z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;color:var(--teal);font-size:9px;letter-spacing:.14em;font-weight:700;transform:rotate(8deg)}
.hero__stamp svg.icon{width:28px;height:28px;margin:7px 0;color:var(--wine)}
.hero__scroll{display:flex;justify-content:center;align-items:center;gap:10px;position:absolute;bottom:18px;left:0;right:0;font-size:9px;letter-spacing:.25em;color:#8a9c9b;font-weight:700}
.hero__scroll span{font-size:20px;line-height:1;color:var(--wine)}
.facts{background:var(--deep);color:white}
.facts__grid{display:grid;grid-template-columns:repeat(3,1fr)}
.fact{min-height:116px;display:flex;justify-content:center;align-items:center;gap:19px;padding:18px 25px;border-left:1px solid rgba(255,255,255,.13)}
.fact:first-child{border-left:0}
.fact__number{font-family:var(--serif);font-size:44px;line-height:1;color:#e5bb8a}
.fact__icon{height:47px;width:47px;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#efcfaa;border:1px solid rgba(255,255,255,.19);border-radius:50%}
.fact__icon svg.icon{width:24px;height:24px}
.fact__label{font-size:12px;line-height:1.55;color:#d7e5e4;font-weight:500;display:flex;flex-direction:column}
.fact__label strong{color:white;font-weight:700;font-size:15px}
.section{padding:114px 0}
.courses{background:var(--paper);background-image:radial-gradient(circle at 100% 10%,rgba(238,237,230,.75),transparent 38%)}
.section-heading{margin-bottom:45px;max-width:700px}
.section-heading--center{text-align:center;margin-inline:auto}
.label{color:var(--wine);font-size:11px;font-weight:700;letter-spacing:.21em;display:inline-block;margin-bottom:14px}
.label--muted{color:#d1a978}
.label--light{color:#ecc8a3}
.section-heading h2,.modality h2,.certification h2,.gallery-section h2,.contact h2{font-family:var(--serif);font-weight:500;font-size:clamp(2.7rem,4.25vw,4.15rem);letter-spacing:-.045em;line-height:1.18;margin-bottom:17px}
.section-heading p,.gallery-section__head p{margin:0;color:var(--text);font-size:15px;line-height:1.8}
.course-grid{display:flex;justify-content:center;flex-wrap:wrap;gap:22px}
.course-card{width:calc((100% - 44px)/3);min-height:410px;display:flex;flex-direction:column;padding:31px 29px 27px;border:1px solid #e0e8e5;background:#fff;border-radius:21px;box-shadow:0 9px 40px rgba(36,71,73,.04);position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.course-card::before{content:"";position:absolute;top:0;left:29px;right:29px;height:3px;background:var(--accent);border-radius:0 0 10px 10px;opacity:.95}
.course-card:hover{transform:translateY(-8px);box-shadow:0 20px 45px rgba(31,76,78,.115);border-color:#cbdbd5}
.course-card--teal{--accent:#5d968b;--accent-bg:#edf5f2}
.course-card--blue{--accent:#5f8997;--accent-bg:#ebf2f5}
.course-card--rose{--accent:#b47978;--accent-bg:#f8eeee}
.course-card--gold{--accent:#ba9768;--accent-bg:#f7f1e8}
.course-card--plum{--accent:#9b7590;--accent-bg:#f6eef3}
.course-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:25px}
.course-icon{width:58px;height:58px;border-radius:17px;background:var(--accent-bg);color:var(--accent);display:grid;place-items:center}
.course-icon svg.icon{height:29px;width:29px}
.course-numeral{color:#b1bdba;font-size:11px;letter-spacing:.12em;font-weight:700}
.course-card h3{font-family:var(--serif);font-size:clamp(23px,2.2vw,30px);line-height:1.22;letter-spacing:-.03em;font-weight:500;min-height:72px;margin:0 0 18px}
.course-details{margin:0 0 25px;display:grid;gap:9px}
.course-detail{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;border-bottom:1px dashed #e4ebea;padding-bottom:8px}
.course-detail dt{flex:0 0 35%;color:#7d8e92;font-size:12px;line-height:1.5}
.course-detail dd{margin:0;text-align:right;color:#354e55;font-size:12px;line-height:1.5;font-weight:700;max-width:65%}
.course-card__bottom{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:17px}
.course-tag{display:inline-block;color:#597c73;background:#eff5f2;padding:7px 11px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.03em}
.course-tag--plain{color:#798589;background:#f5f6f4}
.course-link{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding-top:15px;border-top:1px solid #e8eeea;color:var(--deep);font-size:12px;font-weight:700;transition:color .25s}
.course-link:hover{color:var(--wine)}
.course-link svg.icon{width:17px;height:17px}
.modality{background:#edf3f0;padding:78px 0;position:relative;overflow:hidden}
.modality::before{content:"";position:absolute;left:-155px;top:-100px;width:440px;height:440px;border-radius:50%;border:1px solid rgba(53,111,119,.1)}
.modality__grid{display:grid;grid-template-columns:1fr 1.15fr;gap:14%;align-items:center;position:relative}
.modality h2{margin:0 0 18px;max-width:450px}
.modality__intro>p{color:var(--text);margin-bottom:27px}
.text-link{display:inline-flex;align-items:center;gap:14px;padding-bottom:7px;border-bottom:1px solid var(--deep);color:var(--deep);font-weight:700;font-size:13px}
.text-link svg.icon{height:16px;width:16px;transition:transform .2s}
.text-link:hover svg.icon{transform:translate(3px,-3px)}
.modality__items{display:grid;gap:12px}
.modality__item{display:flex;gap:19px;align-items:flex-start;background:rgba(255,255,255,.75);border:1px solid rgba(23,61,73,.09);border-radius:15px;padding:20px 22px;box-shadow:0 9px 28px rgba(24,63,70,.035)}
.modality__icon{width:43px;height:43px;display:grid;place-items:center;flex-shrink:0;border-radius:13px;background:#e8f1ee;color:var(--teal)}
.modality__item h3{font-size:15px;line-height:1.4;margin:1px 0 5px;font-weight:700}
.modality__item p{font-size:13px;color:var(--text);margin:0;line-height:1.65}
.certification{position:relative;background:var(--deepest);color:#f9f5ee;overflow:hidden}
.certification::before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 0% 100%,transparent 0 46px,rgba(238,212,177,.07) 47px 48px,transparent 49px 78px);opacity:.55}
.certification__glow{position:absolute;top:-30%;right:-10%;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(50,105,119,.35),transparent 70%);pointer-events:none}
.certification__grid{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:center}
.certification__intro h2{max-width:460px;margin:0 0 23px}
.certification h2 em{color:#e0b785}
.certification__intro>p{max-width:400px;color:#d5e1df;margin-bottom:30px;line-height:1.9}
.btn--outline{border-color:rgba(255,255,255,.36);color:white;background:transparent}
.btn--outline:hover{background:rgba(255,255,255,.1)}
.certification__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}
.cert-card{position:relative;min-height:307px;padding:25px 25px 28px;border:1px solid rgba(255,255,255,.17);border-radius:18px;background:rgba(255,255,255,.07);backdrop-filter:blur(7px);display:flex;flex-direction:column}
.cert-card__index{align-self:flex-end;color:rgba(255,255,255,.45);font-size:10px;letter-spacing:.12em;font-weight:700}
.cert-card__emblem{height:56px;width:56px;border-radius:50%;border:1px solid rgba(232,197,155,.4);display:grid;place-items:center;background:rgba(242,213,176,.09);color:#f0c99d;margin:3px 0 19px}
.cert-card__emblem svg.icon{height:27px;width:27px}
.cert-card h3{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.3;margin:0 0 9px}
.cert-card p{color:#cadaD9;font-size:12px;margin-bottom:25px}
.cert-card__code{margin-top:auto;display:inline-flex;align-self:flex-start;padding:8px 13px;border-radius:6px;background:#ecd8c2;color:#24434c;font-size:14px;letter-spacing:.07em;font-weight:700}
.gallery-section{background:var(--paper)}
.gallery-section__head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:34px}
.gallery-section__head h2{margin-bottom:12px}
.gallery-counter{display:flex;gap:10px;align-items:center;white-space:nowrap;color:#6c8081;font-size:12px;letter-spacing:.1em;padding-bottom:12px}
.gallery-counter span{font-family:var(--serif);font-size:51px;line-height:1;color:var(--wine);letter-spacing:-.04em}
.gallery-grid{columns:4 240px;column-gap:16px}
.gallery-item{display:block;position:relative;width:100%;margin:0 0 16px;padding:6px;break-inside:avoid;border:1px solid rgba(23,61,73,.15);background:white;border-radius:15px;box-shadow:0 7px 24px rgba(20,54,62,.075),0 0 20px rgba(200,221,214,.32);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.gallery-item:hover{transform:translateY(-4px);box-shadow:0 19px 37px rgba(20,54,62,.14),0 0 25px rgba(200,221,214,.45);border-color:rgba(23,61,73,.31)}
.gallery-item img{display:block;max-width:100%;width:100%;height:auto;border-radius:10px}
.gallery-item .gallery-zoom{position:absolute;right:15px;bottom:15px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:rgba(251,250,247,.93);color:var(--deep);box-shadow:0 6px 12px rgba(0,0,0,.1);opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}
.gallery-item:hover .gallery-zoom,.gallery-item:focus-visible .gallery-zoom{opacity:1;transform:translateY(0)}
.gallery-item .gallery-zoom svg.icon{height:18px;width:18px}
.gallery-tip{font-size:12px;text-align:center;color:#758788;margin:23px 0 0}
.locations{background:#f0f5f3;border-top:1px solid rgba(17,59,66,.05)}
.locations__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1000px;margin:0 auto}
.location-card{position:relative;min-height:312px;background:white;padding:32px 35px;display:flex;flex-direction:column;border:1px solid #dce8e3;border-radius:18px;box-shadow:0 10px 34px rgba(24,68,68,.045);transition:transform .25s,box-shadow .25s}
.location-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.location-card__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}
.location-card__number{color:#a8b5b2;font-family:var(--serif);font-size:38px;line-height:1}
.location-card__icon{display:grid;place-items:center;border:1px solid #e1e7df;background:#f6f8f5;color:var(--wine);width:48px;height:48px;border-radius:50%}
.location-card h3{font-family:var(--serif);font-size:28px;font-weight:500;line-height:1.25;margin:0 0 8px;letter-spacing:-.02em}
.location-card p{color:var(--text);margin:0 0 24px;font-size:14px}
.location-card__link{display:flex;align-items:center;gap:12px;width:fit-content;border-bottom:1px solid var(--wine);padding:0 0 5px;color:var(--deep);font-weight:700;font-size:13px;margin-top:auto}
.location-card__link svg.icon{height:16px;width:16px}
.location-card__link:hover{color:var(--wine)}
.contact{background:#244e59;color:white;position:relative;overflow:hidden}
.contact::after{content:"";position:absolute;left:-130px;bottom:-310px;width:670px;height:670px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018);pointer-events:none}
.contact__grid{position:relative;z-index:1;display:grid;grid-template-columns: .85fr 1.15fr;gap:9%;align-items:center}
.contact__intro h2{font-size:clamp(2.65rem,4.4vw,4.45rem);max-width:500px;margin:0 0 21px}
.contact h2 em{color:#e6c5a2}
.contact__intro>p{color:#d2e4e4;max-width:370px}
.contact__phone{display:flex;align-items:center;gap:15px;margin:33px 0 29px}
.contact__phone>span{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.3);color:#f0cfad}
.contact__phone small{display:block;font-size:12px;color:#c4d6d6}
.contact__phone a{display:block;font-family:var(--serif);font-size:29px;line-height:1.4;letter-spacing:-.03em}
.contact__phone a:hover{color:#f5d9b8}
.btn--whatsapp{color:#203e45;background:#dbeed9}
.btn--whatsapp:hover{background:white}
.contact-form-box{background:#fdfcfa;color:var(--ink);border-radius:21px;border:1px solid rgba(255,255,255,.7);padding:36px;box-shadow:0 20px 55px rgba(6,30,37,.16)}
.contact-form-box__title h3{font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.22;margin:0 0 7px}
.contact-form-box__title p{color:var(--text);font-size:12px;margin-bottom:25px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.field{margin-bottom:17px}
.field label{display:block;font-weight:700;font-size:12px;color:#35515a;margin-bottom:6px}
.field label span{color:var(--wine)}
.field input,.field select,.field textarea{border:1px solid #dbe5e2;background:#f9fbf9;width:100%;border-radius:8px;padding:12px 14px;color:var(--ink);font-size:13px;outline:none;transition:border-color .2s,box-shadow .2s}
.field input::placeholder,.field textarea::placeholder{color:#9aa8a8}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#6b9d98;box-shadow:0 0 0 3px rgba(82,139,138,.13)}
.field textarea{resize:vertical;min-height:97px}
.form-feedback{font-size:12px;font-weight:600;color:#a34046;margin:0;min-height:4px}
.form-feedback:not(:empty){margin:0 0 12px}
.form-submit{width:100%;min-height:53px}
.footer{background:#112e38;color:#edf6f2;padding:67px 0 0}
.footer__grid{display:grid;grid-template-columns:1.65fr .7fr .75fr;gap:55px;padding-bottom:57px}
.brand--footer .brand__mark{color:#f3dbc0;background:#1e4651;border-color:#55717a}
.brand--footer .brand__copy>span{color:#bacdca}
.brand--footer .brand__copy strong{color:white}
.footer__brand p{color:#b3c8c9;margin:24px 0 0;font-size:12px}
.footer__nav,.footer__contact{display:flex;flex-direction:column;gap:10px}
.footer h3{font-size:12px;letter-spacing:.1em;color:#e2ba8a;margin:0 0 12px;text-transform:uppercase}
.footer__nav a,.footer__contact a,.footer__contact p{color:#bfcfcf;font-size:13px;line-height:1.8;margin:0}
.footer__nav a:hover,.footer__contact a:hover{color:#fff}
.footer__bottom{min-height:70px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.13);color:#a2bbbb;font-size:11px}
.footer__bottom a:hover{color:#fff}
.floating-wa{position:fixed;right:24px;bottom:24px;z-index:75;display:flex;align-items:center;justify-content:center;gap:9px;min-width:56px;height:55px;border-radius:50px;padding:0 18px;background:#247858;color:#fff;font-size:12px;font-weight:700;box-shadow:0 10px 28px rgba(24,95,72,.3);transition:transform .25s,box-shadow .25s}
.floating-wa svg.icon{width:22px;height:22px}
.floating-wa:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(24,95,72,.35)}
.lightbox[hidden]{display:none!important}
.lightbox{position:fixed;z-index:300;inset:0;display:grid;place-items:center;padding:22px}
.lightbox__backdrop{position:absolute;inset:0;background:rgba(11,28,34,.94);backdrop-filter:blur(7px)}
.lightbox__inner{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:12px;width:min(100%,1280px);height:min(90vh,940px)}
.lightbox__figure{margin:0;display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:15px;height:100%}
.lightbox__figure img{display:block;max-width:100%;max-height:calc(90vh - 76px);height:auto;width:auto;object-fit:contain;border:1px solid rgba(255,255,255,.35);border-radius:9px;box-shadow:0 0 25px rgba(255,255,255,.06)}
.lightbox__figure figcaption{font-size:11px;letter-spacing:.2em;color:#d5e2dc}
.lightbox__nav,.lightbox__close{background:rgba(255,255,255,.12);color:white;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:grid;place-items:center;flex-shrink:0;transition:background .2s}
.lightbox__nav{width:44px;height:44px}
.lightbox__nav:hover,.lightbox__close:hover{background:rgba(255,255,255,.25)}
.lightbox__close{position:absolute;right:6px;top:3px;width:43px;height:43px;z-index:3}
/* Los elementos siempre se ven si JavaScript no se ejecuta. */
/* Progressive enhancement: core page content stays visible even if scripts,
   animation observers or CDN resources are blocked. */
.reveal{opacity:1;transform:none}
.js-ready .reveal.is-visible{animation:reveal-in .62s cubic-bezier(.2,.75,.2,1) both}
@keyframes reveal-in{from{opacity:.75;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(max-width:1200px){
 .nav-wrap{gap:17px}.nav{gap:13px}.brand__copy strong{font-size:13px}.brand__copy>span{font-size:8.3px}.nav-cta{padding:12px 13px}
 .hero__visual{height:505px}.hero__circle{width:410px;height:410px}.hero__stamp{width:100px;height:100px}
}
@media(max-width:1060px){
 .nav-wrap{min-height:77px}.nav-toggle{display:flex}.nav-cta{margin-left:auto}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);box-shadow:0 18px 28px rgba(23,61,73,.14);padding:17px max(28px,calc((100vw - 1200px)/2));flex-direction:column;align-items:stretch;gap:1px;border-top:1px solid var(--line)}
 .nav.is-open{display:flex}.nav__link{padding:12px 14px;border-radius:6px}.nav__link:hover,.nav__link.active{background:#f0f4f0}.nav__link::after{display:none}
 .hero__grid{min-height:580px}.hero h1{font-size:clamp(3rem,5.35vw,5rem)}.hero__visual{height:440px}.hero__circle{width:355px;height:355px;right:0;top:8%}.hero__stamp{right:0;top:3%;width:88px;height:88px;font-size:7px}.hero__stamp svg.icon{width:22px;height:22px}
 .course-card{padding:27px 23px}.course-card h3{font-size:24px}.certification__grid{gap:5%}.cert-card{padding:22px 18px}
}
@media(max-width:760px){
 :root{--radius:17px}
 .container{width:min(100% - 36px,600px)}
 .topbar__inner{min-height:32px}.topbar{font-size:9px;letter-spacing:.05em}.topbar__right{font-size:9px}
 .nav-wrap{min-height:74px}.brand__mark{height:44px;width:44px}.brand__copy>span{font-size:8px}.brand__copy strong{font-size:13px}.nav-cta{display:none}.nav-toggle{margin-left:auto}
 .hero__grid{display:flex;flex-direction:column;gap:5px;min-height:unset;padding:67px 0 62px;align-items:stretch}
 .hero__content{padding:0;z-index:2}.hero__overline{margin:29px 0 10px}.hero h1{font-size:clamp(3.3rem,10vw,5rem);max-width:580px}
 .hero__description{font-size:14px;max-width:540px;margin:22px 0 25px}.hero__note{margin-top:24px}
 .hero__visual{height:425px;width:100%;max-width:580px;margin:18px auto 0}.hero__circle{width:330px;height:330px;right:8%;top:9%}.hero__photo--main{width:60%;left:7%;top:3%}.hero__photo--small{width:60%;right:3%;bottom:2%}
 .hero__scroll{bottom:15px}.facts__grid{grid-template-columns:repeat(3,1fr)}.fact{gap:8px;padding:20px 10px;min-height:105px;flex-direction:column;text-align:center}.fact__label{font-size:10px}.fact__label strong{font-size:12px}.fact__icon{width:31px;height:31px}.fact__icon svg.icon{width:17px;height:17px}.fact__number{font-size:35px}
 .section{padding:78px 0}.section-heading{margin-bottom:33px}.section-heading h2,.modality h2,.certification h2,.gallery-section h2,.contact h2{font-size:clamp(2.5rem,8vw,3.6rem)}
 .course-grid{gap:15px}.course-card{width:calc((100% - 15px)/2);min-height:396px;padding:24px 20px}.course-card h3{font-size:23px;min-height:60px}.course-detail{display:block}.course-detail dt{font-size:11px}.course-detail dd{text-align:left;max-width:100%;font-size:12px;margin-top:2px}
 .modality{padding:74px 0}.modality__grid{grid-template-columns:1fr;gap:31px}.modality__intro h2{max-width:none}
 .certification__grid{grid-template-columns:1fr;gap:36px}.certification__intro h2{max-width:570px}.certification__intro>p{margin-bottom:22px}.cert-card{min-height:275px}.gallery-grid{columns:3 165px}
 .gallery-section__head{align-items:start}.gallery-counter{padding-top:21px}
 .locations__grid{gap:16px}.location-card{min-height:305px;padding:25px}.location-card h3{font-size:23px}
 .contact__grid{grid-template-columns:1fr;gap:35px}.contact__intro h2{max-width:530px}.contact-form-box{padding:29px}
 .footer__grid{grid-template-columns:1.6fr 1fr;gap:35px}.footer__contact{grid-column:1/-1}.footer{padding-top:53px}
}
@media(max-width:510px){
 .brand__copy strong{font-size:12px;white-space:normal;max-width:210px}.brand__copy>span{font-size:7.8px}.brand{gap:8px}.brand__mark{height:41px;width:41px;font-size:17px}.nav-wrap{min-height:70px}
 .hero__grid{padding-top:49px;padding-bottom:50px}.eyebrow{font-size:9px;letter-spacing:.1em;padding:8px 10px}
 .hero__overline{font-size:12px;margin-top:27px}.hero h1{font-size:clamp(3rem,12vw,4rem)}
 .hero__description{font-size:14px;line-height:1.8}.hero__actions{gap:9px}.hero__actions .btn{padding:13px 14px;font-size:12px;min-height:49px}.hero__actions .btn--light{width:100%}.hero__actions .btn--primary{width:100%}.hero__note{font-size:12px}
 .hero__visual{height:320px;margin-top:22px}.hero__circle{height:260px;width:260px;right:6%;top:8%;box-shadow:0 0 0 17px rgba(204,221,213,.26),0 0 0 35px rgba(213,224,216,.13)}.hero__photo{padding:4px;border-radius:13px}.hero__photo img{border-radius:9px}.hero__photo--main{width:65%;left:1%;top:4%}.hero__photo--small{width:65%;right:0;bottom:5%}.hero__stamp{width:73px;height:73px;font-size:6px;top:2%;right:2%}.hero__stamp svg.icon{width:17px;height:17px;margin:3px 0}
 .fact{padding:13px 4px;min-height:98px}.fact__number{font-size:30px}.fact__label strong{font-size:11px}
 .section{padding:65px 0}.section-heading h2,.modality h2,.certification h2,.gallery-section h2,.contact h2{font-size:clamp(2.45rem,10vw,3rem)}
 .section-heading p,.gallery-section__head p{font-size:13px}.label{font-size:10px}
 .course-grid{gap:14px}.course-card{width:100%;min-height:unset;padding:26px 25px 23px}.course-card h3{min-height:unset;font-size:29px;margin-bottom:17px}.course-top{margin-bottom:18px}.course-details{gap:7px}.course-detail{display:flex}.course-detail dt{flex-basis:36%}.course-detail dd{text-align:right;max-width:64%;margin:0}.course-card__bottom{gap:12px}
 .modality{padding:62px 0}.modality__item{padding:17px 16px;gap:13px}.modality__icon{height:38px;width:38px}
 .certification__cards{grid-template-columns:1fr;gap:13px}.cert-card{min-height:235px;padding:24px}.cert-card__emblem{margin:0 0 12px}.cert-card h3{font-size:25px}
 .gallery-section__head{gap:8px}.gallery-counter{font-size:10px;letter-spacing:0;padding-top:11px;gap:6px}.gallery-counter span{font-size:35px}.gallery-grid{columns:2 135px;column-gap:10px}.gallery-item{padding:4px;margin-bottom:10px;border-radius:10px}.gallery-item img{border-radius:7px}.gallery-item .gallery-zoom{opacity:1;transform:none;right:10px;bottom:10px;width:27px;height:27px}.gallery-item .gallery-zoom svg.icon{height:15px;width:15px}
 .locations__grid{grid-template-columns:1fr;gap:16px}.location-card{min-height:258px;padding:24px}.location-card__top{margin-bottom:19px}.location-card h3{font-size:27px}
 .contact-form-box{padding:23px 20px}.form-row{grid-template-columns:1fr;gap:0}.contact__phone a{font-size:27px}.contact__intro h2{font-size:clamp(2.6rem,10vw,3.1rem)}
 .footer__grid{grid-template-columns:1fr 1fr;gap:30px 18px}.footer__brand{grid-column:1/-1}.footer__contact{grid-column:2}.footer__nav{grid-column:1;grid-row:2}.footer__bottom{align-items:flex-start;flex-direction:column;justify-content:center;padding:19px 0}
 .floating-wa{right:15px;bottom:15px;width:53px;height:53px;padding:0;border-radius:50%;min-width:0}.floating-wa span{display:none}
 .lightbox{padding:9px}.lightbox__inner{height:100%;width:100%;gap:2px}.lightbox__nav{width:35px;height:35px}.lightbox__nav svg.icon{width:16px;height:16px}.lightbox__figure img{max-height:calc(100dvh - 120px)}.lightbox__close{right:9px;top:15px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
 .js-ready .reveal.is-visible{animation:none}
}
