
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500 600;font-display:swap;src:url(/assets/fonts/corm-latinext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500 600;font-display:swap;src:url(/assets/fonts/corm-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/inter-latinext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--night:#16110d;--night2:#211913;--night3:#2c221a;--ivory:#f6efe4;--paper:#fcf8f2;--ink:#1d1713;--muted:#6f6157;--mutedd:#b9aa9b;--copper:#a5532b;--copperh:#8b4220;--gold:#d4a26a;--line:#e5dacb;--lined:rgba(246,239,228,.13);
--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-size:17px;line-height:1.65;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--copper)}
.container{max-width:1200px;margin:0 auto;padding:0 32px}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.005em;margin:0}
h2{font-size:clamp(2.1rem,3.6vw,3.1rem);line-height:1.08;margin-bottom:.45em}
.eyebrow{font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--copper);margin:0 0 14px}
.dark .eyebrow{color:var(--gold)}
.lead{font-size:1.1rem;color:var(--muted);max-width:40em}
section{padding:110px 0}
.dark{background:var(--night);color:var(--ivory)}
.dark .lead{color:var(--mutedd)}
.ivory{background:var(--ivory)}
/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-weight:600;font-size:1rem;line-height:1.2;text-decoration:none;padding:16px 30px;border-radius:999px;border:1.5px solid var(--copper);background:var(--copper);color:#fff;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s}
.btn:hover{background:var(--copperh);border-color:var(--copperh);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--ink);border-color:rgba(29,23,19,.3)}
.btn.ghost:hover{border-color:var(--ink)}
.dark .btn.ghost{color:var(--ivory);border-color:rgba(246,239,228,.35)}
.dark .btn.ghost:hover{border-color:var(--ivory);background:rgba(246,239,228,.06)}
.btn.sm{padding:10px 20px;font-size:.88rem}
.btns{display:flex;flex-wrap:wrap;gap:12px}
/* ---------- cabecera fija ---------- */
header.site{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(22,17,13,.86);-webkit-backdrop-filter:saturate(140%) blur(12px);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--lined)}
header.site .container{display:flex;align-items:center;gap:28px;height:70px}
.brand{font-family:var(--serif);font-size:1.6rem;font-weight:600;color:var(--ivory);text-decoration:none;white-space:nowrap;line-height:1}
.brand em{font-style:normal;color:var(--gold)}
nav.main{display:flex;gap:26px;margin-left:auto}
nav.main a{color:rgba(246,239,228,.78);text-decoration:none;font-size:.92rem;font-weight:500}
nav.main a:hover{color:var(--ivory)}
details.lang{position:relative;font-size:.85rem}
details.lang summary{list-style:none;cursor:pointer;color:var(--ivory);font-weight:600;letter-spacing:.06em;padding:8px 12px;border:1px solid var(--lined);border-radius:999px;display:flex;align-items:center;gap:6px}
details.lang summary::-webkit-details-marker{display:none}
details.lang summary:after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
details.lang nav{position:absolute;right:0;top:calc(100% + 8px);background:var(--night2);border:1px solid var(--lined);border-radius:14px;padding:8px;min-width:170px;box-shadow:0 18px 40px rgba(0,0,0,.4)}
details.lang nav a{display:block;color:rgba(246,239,228,.82);text-decoration:none;padding:9px 12px;border-radius:8px}
details.lang nav a:hover{background:var(--night3);color:#fff}
details.lang nav a[aria-current]{color:var(--gold);font-weight:600}
/* ---------- hero ---------- */
.hero{position:relative;background:var(--night);color:var(--ivory);padding:70px 0 0;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;min-height:min(calc(100vh - 70px),860px)}
.hero-text{align-self:center;padding:72px 56px 72px max(32px,calc((100vw - 1200px)/2 + 32px));position:relative;z-index:2}
.hero h1{font-size:clamp(3rem,6.2vw,5.6rem);line-height:.98;margin:0 0 .3em;color:#fff}
.hero .tagline{font-size:clamp(1.1rem,1.6vw,1.3rem);color:rgba(246,239,228,.82);max-width:30em;margin:0 0 2em}
.hero .cta-note{font-size:.84rem;color:var(--mutedd);margin:22px 0 0;max-width:36em}
.hero-photo{position:relative;margin:0;min-height:100%}
.hero-photo picture,.hero-photo img{position:absolute;inset:0;width:100%;height:100%}
.hero-photo img{object-fit:cover;object-position:46% 22%}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--night) 0%,rgba(22,17,13,.55) 16%,rgba(22,17,13,0) 42%),linear-gradient(0deg,rgba(22,17,13,.75) 0%,rgba(22,17,13,0) 30%);pointer-events:none}
.hero-photo figcaption{position:absolute;right:24px;bottom:20px;z-index:2;font-size:.74rem;color:rgba(246,239,228,.7);letter-spacing:.03em}
/* ---------- credenciales ---------- */
.creds{background:var(--night2);color:var(--ivory);padding:54px 0;border-top:1px solid var(--lined)}
.creds .eyebrow{text-align:center;margin-bottom:28px}
.creds ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--lined);border-left:1px solid var(--lined)}
.creds li{padding:22px 24px;border-right:1px solid var(--lined);border-bottom:1px solid var(--lined);text-align:center}
.creds b{display:block;font-family:var(--serif);font-weight:600;font-size:1.28rem;line-height:1.2;color:#fff}
.creds span{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-top:6px}
/* ---------- en resumen ---------- */
.answer{padding:100px 0}
.answer .container{display:grid;grid-template-columns:300px 1fr;gap:48px}
.answer p{max-width:36em}
.answer h2{font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--copper);margin:14px 0 0;position:relative;padding-top:18px}
.answer h2:before{content:"";position:absolute;top:0;left:0;width:44px;height:2px;background:var(--copper)}
.answer p{font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.62rem);line-height:1.5;margin:0;color:var(--ink)}
/* ---------- profesor ---------- */
.teacher .container{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}
.teacher figure{margin:0;position:relative}
.teacher figure:before{content:"";position:absolute;inset:22px -22px -22px 22px;border:1.5px solid var(--copper);border-radius:4px;z-index:0}
.teacher figure img{position:relative;z-index:1;border-radius:4px;width:100%;aspect-ratio:7/9;object-fit:cover;box-shadow:0 30px 60px -20px rgba(29,23,19,.45)}
.teacher p{margin:0 0 1.05em;color:#3d332c}
.teacher p:first-of-type{font-family:var(--serif);font-size:1.45rem;line-height:1.45;color:var(--ink)}
/* ---------- videos ---------- */
.videos .head{max-width:760px;margin-bottom:46px}
.vgrid{display:grid;gap:28px;grid-template-columns:repeat(3,1fr)}
figure.vitem{margin:0;min-width:0}
.vframe{position:relative;border-radius:10px;overflow:hidden;background:#000;aspect-ratio:16/9;box-shadow:0 20px 40px -18px rgba(0,0,0,.7)}
.vfacade{display:block;width:100%;height:100%;position:relative;cursor:pointer}
.vfacade img{width:100%;height:100%;object-fit:cover;opacity:.82;transition:opacity .3s,transform .5s}
.vfacade:hover img{opacity:1;transform:scale(1.03)}
.vplay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(246,239,228,.94);box-shadow:0 6px 24px rgba(0,0,0,.45);transition:background .2s,transform .2s}
.vplay:after{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent var(--copper)}
.vfacade:hover .vplay{transform:translate(-50%,-50%) scale(1.08)}
.vframe iframe{width:100%;height:100%;border:0;display:block}
figure.vitem figcaption{margin-top:16px;font-size:.9rem;color:var(--mutedd);line-height:1.55}
figure.vitem figcaption br{display:none}
figure.vitem figcaption b{display:block;font-family:var(--serif);font-size:1.22rem;font-weight:600;color:#fff;line-height:1.25;margin-bottom:6px}
/* ---------- que aprenderas ---------- */
ol.cards{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:c}
ol.cards li{counter-increment:c;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:30px 28px 28px;position:relative;transition:transform .25s,box-shadow .25s}
ol.cards li:hover{transform:translateY(-3px);box-shadow:0 18px 36px -22px rgba(29,23,19,.35)}
ol.cards li:before{content:counter(c,decimal-leading-zero);display:block;font-family:var(--serif);font-size:2.4rem;line-height:1;color:var(--copper);margin-bottom:16px}
ol.cards h3{font-size:1.38rem;line-height:1.2;margin-bottom:10px}
ol.cards p{margin:0;font-size:.97rem;color:var(--muted)}
ol.cards p::first-letter{text-transform:uppercase}
/* ---------- como funciona ---------- */
.how .container{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
ul.checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:26px 34px}
ul.checks li{position:relative;padding-left:40px;color:#3d332c}
ul.checks li:before{content:"";position:absolute;left:0;top:2px;width:26px;height:26px;border-radius:50%;background:rgba(165,83,43,.12)}
ul.checks li:after{content:"";position:absolute;left:9px;top:8px;width:6px;height:11px;border-right:2px solid var(--copper);border-bottom:2px solid var(--copper);transform:rotate(45deg)}
ul.checks strong{color:var(--ink)}
/* ---------- primera clase (30-oct-2026) ---------- */
.first .container{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
ol.steps{list-style:none;margin:0;padding:0;display:grid;gap:30px;counter-reset:s}
ol.steps li{counter-increment:s;position:relative;padding-left:66px;color:var(--mutedd);max-width:36em}
ol.steps li:before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:-4px;font-family:var(--serif);font-size:2.1rem;line-height:1;color:var(--gold)}
ol.steps strong{display:block;font-family:var(--serif);font-weight:600;font-size:1.32rem;line-height:1.25;color:#fff;margin-bottom:6px}
ol.steps span{display:block}
ol.steps span::first-letter{text-transform:uppercase}
/* ---------- precios ---------- */
.prices-sec{text-align:center}
.prices-sec h2{margin-bottom:46px}
.prices{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:880px;margin:0 auto;text-align:left}
.price{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:40px 38px 36px;display:flex;flex-direction:column}
.price h3{font-size:1.6rem}
.price .amt{font-family:var(--serif);font-size:4.2rem;font-weight:600;line-height:1;margin:18px 0 14px;color:var(--ink)}
.price p{margin:0 0 30px;color:var(--muted);font-size:.98rem;flex:1}
.price .btn{width:100%}
.price.featured{background:var(--night);border-color:var(--night);color:var(--ivory);box-shadow:0 30px 60px -24px rgba(22,17,13,.6)}
.price.featured .amt{color:#fff}
.price.featured p{color:var(--mutedd)}
.price.featured em{color:var(--ivory)}
.price .eyebrow{flex:0 0 auto;margin:0 0 12px;font-size:.75rem;color:var(--copper)}
.price.featured .eyebrow{color:var(--gold)}
.price .btn.ghost{color:var(--ink)}
.price.featured .btn.ghost{color:var(--ivory);border-color:rgba(246,239,228,.4)}
.note{font-size:.92rem;color:var(--muted);margin:30px auto 0;max-width:40em}
/* ---------- FAQ ---------- */
.faq .container{display:grid;grid-template-columns:.75fr 1.25fr;gap:64px;align-items:start}
.faq .side{position:sticky;top:110px}
.faq .side p{color:var(--muted)}
.faq-list{border-top:1px solid var(--line)}
details.q{border-bottom:1px solid var(--line)}
details.q summary{cursor:pointer;list-style:none;font-family:var(--serif);font-size:1.38rem;font-weight:600;line-height:1.3;padding:24px 56px 24px 0;position:relative}
details.q summary::-webkit-details-marker{display:none}
details.q summary:before,details.q summary:after{content:"";position:absolute;right:12px;top:50%;width:16px;height:1.5px;background:var(--copper);transition:transform .25s}
details.q summary:after{transform:rotate(90deg)}
details.q[open] summary:after{transform:rotate(0)}
details.q summary:hover{color:var(--copper)}
details.q p{margin:0 0 26px;color:#3d332c;max-width:42em}
/* ---------- reserva ---------- */
.book{text-align:center;background:radial-gradient(ellipse 70% 80% at 50% 0%,rgba(165,83,43,.35),rgba(22,17,13,0) 70%),var(--night)}
.book h2{font-size:clamp(2.4rem,4.6vw,3.8rem);color:#fff}
.book p.lead{margin:0 auto 34px}
.book .btns{justify-content:center}
#cal-embed{margin:40px auto 0;max-width:1000px;background:#fff;border-radius:16px;overflow:hidden}
#cal-embed:empty{display:none}
/* ---------- pie ---------- */
footer.site{background:#0f0b08;color:var(--mutedd);padding:72px 0 34px;font-size:.92rem}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px}
footer.site .brand{font-size:1.9rem}
footer.site h3{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:16px}
footer.site ul{list-style:none;margin:0;padding:0}
footer.site li{margin:0 0 9px}
footer.site a{color:var(--mutedd);text-decoration:none}
footer.site a:hover{color:#fff}
footer.site a[aria-current]{color:var(--ivory)}
footer.site .bottom{border-top:1px solid var(--lined);margin-top:54px;padding-top:24px;font-size:.82rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
/* ---------- responsive ---------- */
@media(max-width:1080px){nav.main{display:none}details.lang{margin-left:auto}
.teacher .container{gap:56px}ol.cards{grid-template-columns:1fr 1fr}}
@media(max-width:900px){section{padding:80px 0}.container{padding:0 24px}
.hero-grid{grid-template-columns:1fr;min-height:0}
.hero-photo{order:-1;height:62vh;min-height:360px;max-height:560px}
.hero-photo img{object-position:50% 20%}
.hero-photo:after{background:linear-gradient(0deg,var(--night) 0%,rgba(22,17,13,.55) 22%,rgba(22,17,13,0) 50%)}
.hero-photo figcaption{display:none}
.hero-text{padding:0 24px 64px;margin-top:-70px}
.creds ul{grid-template-columns:1fr 1fr}
.answer{padding:80px 0}.answer .container{grid-template-columns:1fr;gap:18px}
.teacher .container,.how .container,.first .container,.faq .container{grid-template-columns:1fr;gap:44px}
.teacher figure{max-width:440px;margin-right:22px}
.faq .side{position:static}
.vgrid{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 24px;gap:18px;margin:0 -24px;padding:0 24px 10px;scrollbar-width:none}
.vgrid::-webkit-scrollbar{display:none}
figure.vitem{scroll-snap-align:start}
.prices{grid-template-columns:1fr;max-width:520px}
footer.site .cols{grid-template-columns:1fr 1fr}footer.site .cols>div:first-child{grid-column:1/-1}}
@media(max-width:560px){body{font-size:16px}
header.site .container{gap:12px;height:62px}html{scroll-padding-top:74px}
.hero{padding-top:62px}
.brand{font-size:1.38rem}
header.site .btn.sm{padding:9px 15px;font-size:.84rem}
details.lang summary{padding:7px 10px}
.hero h1{font-size:2.85rem}
.hero .btns .btn{flex:1 1 100%}
.creds{padding:44px 0}.creds ul{grid-template-columns:1fr}.creds li{padding:13px 16px}.creds b{font-size:1.12rem}.creds span{margin-top:3px}
ol.cards{grid-template-columns:1fr;gap:12px}ol.cards li{padding:22px 22px 22px 78px}ol.cards li:before{position:absolute;left:22px;top:20px;font-size:2rem}
ul.checks{grid-template-columns:1fr;gap:20px}
.teacher p:first-of-type{font-size:1.28rem}
.price{padding:36px 26px 28px}.price .amt{font-size:3.6rem}
ol.steps li{padding-left:54px}ol.steps li:before{font-size:1.7rem;top:-1px}
details.q summary{font-size:1.22rem;padding:20px 44px 20px 0}
.book .btns .btn{flex:1 1 100%}
footer.site .cols{grid-template-columns:1fr;gap:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
