
:root{
  --crema:#F7F3ED;--arena:#EDE4D8;--papel:#FFFDFA;--logo-fondo:#F5E7CF;
  --terracota:#A0653C;--terracota-claro:#C08A63;--terracota-hover:#8A5431;
  --oliva:#6E7A55;--oliva-suave:#EEF0E6;
  --tinta:#3B2F26;--tenue:#6F6055;--linea:#E0D4C4;
  --wa:#4E6B3F;--wa-hover:#3E5632;--btn-texto:#FFFFFF;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --crema:#211B16;--arena:#2B241D;--papel:#2E2620;--terracota:#D39A6E;--terracota-claro:#B9865E;--terracota-hover:#E4AF86;
    --oliva:#A6B18B;--oliva-suave:#2C3026;--tinta:#F1E9DD;--tenue:#BFB2A2;--linea:#463B31;--wa:#8FB07A;--wa-hover:#A8C795;--btn-texto:#211B16;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --crema:#211B16;--arena:#2B241D;--papel:#2E2620;--terracota:#D39A6E;--terracota-claro:#B9865E;--terracota-hover:#E4AF86;
  --oliva:#A6B18B;--oliva-suave:#2C3026;--tinta:#F1E9DD;--tenue:#BFB2A2;--linea:#463B31;--wa:#8FB07A;--wa-hover:#A8C795;--btn-texto:#211B16;
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--crema);color:var(--tinta);font-family:var(--sans);font-weight:350;font-size:17px;line-height:1.7}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12;color:var(--tinta);text-wrap:balance}
h1{font-size:clamp(2.5rem,7vw,4rem)}h2{font-size:clamp(1.9rem,5vw,2.6rem);margin-bottom:.5em}h3{font-size:1.45rem;margin-bottom:.35em}
p+p{margin-top:.9em}
a{color:var(--terracota)}
a:focus-visible,button:focus-visible{outline:2px solid var(--terracota);outline-offset:3px}
.wrap{max-width:1040px;margin:0 auto;padding-inline:20px}
.narrow{max-width:720px;margin:0 auto}
.eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terracota);font-weight:500}
.lema{font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--tenue);margin-top:.6em;line-height:1.35}
section{padding-block:64px}
.card{background:var(--papel);border:1px solid var(--linea);border-radius:16px;padding:28px}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--terracota);color:var(--btn-texto);text-decoration:none;font-family:var(--sans);font-weight:500;
padding:14px 26px;border-radius:999px;border:0;font-size:1rem;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--terracota-hover)}
.btn.sec{background:transparent;color:var(--terracota);border:1px solid var(--terracota)}
.btn.sec:hover{background:var(--arena)}
.btn.wa{background:var(--wa)}.btn.wa:hover{background:var(--wa-hover)}
.btn svg{width:18px;height:18px;flex:none}
.divisor{width:48px;height:1px;background:var(--terracota-claro);margin:28px 0}
.center{text-align:center}.center .divisor{margin-inline:auto}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--crema) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--tinta)}
.brand img{width:40px;height:40px;border-radius:50%}
.brand span{font-family:var(--serif);font-size:1.3rem;font-weight:600}
.nav ul{display:flex;gap:22px;list-style:none;font-size:.95rem}
.nav ul a{color:var(--tinta);text-decoration:none}.nav ul a:hover{color:var(--terracota)}
.nav .menu-btn{display:none;background:none;border:1px solid var(--linea);border-radius:10px;padding:8px 12px;color:var(--tinta);font-family:var(--sans);font-size:.9rem;cursor:pointer}
@media (max-width:900px){
  .nav ul{display:none;position:absolute;left:0;right:0;top:100%;background:var(--papel);border-bottom:1px solid var(--linea);flex-direction:column;gap:0;padding:8px 20px 16px}
  .nav ul.open{display:flex}.nav ul li{padding:10px 0;border-top:1px solid var(--linea)}
  .nav .menu-btn{display:block}
}

/* hero */
.hero{background:var(--arena);padding-block:72px 64px;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:center}
.hero .logo-box{background:var(--logo-fondo);border-radius:50%;aspect-ratio:1;max-width:380px;width:100%;margin:0 auto;display:grid;place-items:center;box-shadow:0 20px 60px -30px rgba(59,47,38,.5)}
.hero .logo-box img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.hero p.claim{font-family:var(--serif);font-size:1.5rem;font-style:italic;color:var(--tenue);margin-top:18px;line-height:1.35;max-width:32ch}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.hero .ring{position:absolute;border-radius:50%;border:1px solid var(--terracota-claro);opacity:.18;pointer-events:none}
@media (max-width:820px){.hero .wrap{grid-template-columns:1fr;text-align:center}.hero p.claim{margin-inline:auto}.hero .cta{justify-content:center}.hero .logo-box{max-width:260px}}

/* filosofía */
.quote{font-family:var(--serif);font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.3;font-style:italic;text-align:center;max-width:24ch;margin:0 auto;color:var(--tinta)}
.quote small{display:block;font-family:var(--sans);font-style:normal;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--terracota);margin-top:18px}

/* sobre */
.sobre{display:grid;grid-template-columns:320px 1fr;gap:48px;align-items:start}
.sobre .foto{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;border-radius:160px 160px 20px 20px;box-shadow:0 30px 60px -40px rgba(59,47,38,.6)}
.herr{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:26px}
.herr .card{padding:18px 20px}.herr h3{font-size:1.2rem}.herr p{font-size:.93rem;color:var(--tenue)}
@media (max-width:820px){.sobre{grid-template-columns:1fr}.sobre .foto{max-width:300px;margin:0 auto}}
.historia{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:56px;padding-top:48px;border-top:1px solid var(--linea)}
.historia .eyebrow{margin-bottom:14px;display:block}.historia p{font-size:1.02rem}
.camino{margin-top:56px;padding-top:48px;border-top:1px solid var(--linea)}
.camino ol{list-style:none;display:grid;gap:0;position:relative;padding-left:28px;border-left:1px solid var(--linea)}
.camino li{position:relative;padding:0 0 26px 22px}
.camino li::before{content:'';position:absolute;left:-33px;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--terracota);box-shadow:0 0 0 4px var(--crema)}
.camino .fecha{display:block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tenue);min-height:1.2em}
.camino b{font-family:var(--serif);font-size:1.3rem;font-weight:500;display:block;margin:2px 0 4px}
.camino p{color:var(--tenue);font-size:.98rem;max-width:62ch}
@media (max-width:820px){.historia{grid-template-columns:1fr;gap:36px}}
@media (max-width:520px){.herr{grid-template-columns:1fr}}

/* manifiesto */
.manifiesto{background:var(--papel);border-block:1px solid var(--linea)}
.manifiesto ol{list-style:none;counter-reset:m;display:grid;gap:18px;margin-top:24px}
.manifiesto li{position:relative;padding-left:52px;font-size:1.08rem}
.manifiesto li::before{counter-increment:m;content:counter(m,upper-roman);position:absolute;left:0;top:-2px;font-family:var(--serif);font-size:1.6rem;color:var(--terracota-claro);line-height:1}

/* oferta */
.oferta{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.oferta .card{display:flex;flex-direction:column;gap:14px}
.oferta .precio{font-family:var(--serif);font-size:2.4rem;line-height:1;color:var(--tinta)}
.oferta .precio small{font-family:var(--sans);font-size:.85rem;color:var(--tenue);margin-left:6px}
.oferta ul{list-style:none;display:grid;gap:6px;font-size:.95rem;color:var(--tenue)}
.oferta ul li{padding-left:22px;position:relative}.oferta ul li::before{content:'';position:absolute;left:4px;top:.75em;width:10px;height:1px;background:var(--terracota)}
.oferta .card .btn{margin-top:auto;align-self:flex-start}
@media (max-width:880px){.oferta{grid-template-columns:1fr}}

/* contacto */
.contacto{background:var(--arena)}
.contacto .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.contacto .card{padding:22px}.contacto .card b{font-family:var(--serif);font-size:1.3rem;font-weight:500;display:block;margin-bottom:6px}
.contacto .card a{word-break:break-word}
@media (max-width:720px){.contacto .grid{grid-template-columns:1fr}}

/* footer */
footer{padding-block:40px 56px;font-size:.88rem;color:var(--tenue);border-top:1px solid var(--linea)}
footer .top{display:flex;align-items:center;gap:14px;margin-bottom:16px}
footer .top img{width:44px;height:44px;border-radius:50%}
footer .top b{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:var(--tinta)}
footer nav{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0}
footer nav a{color:var(--tenue)}
footer .cierre{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--tinta);margin-top:18px}

/* páginas de detalle */
.phero{background:var(--arena);padding-block:64px 56px}
.phero .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.phero .pbox{background:var(--papel);border:1px solid var(--linea);border-radius:18px;padding:26px;display:grid;gap:12px}
.phero .pbox .precio{font-family:var(--serif);font-size:3rem;line-height:1}
.phero .pbox .precio small{font-family:var(--sans);font-size:.9rem;color:var(--tenue);margin-left:8px}
.phero .pbox .nota{font-size:.85rem;color:var(--tenue)}
.phero .pbox .btn{justify-content:center;width:100%}
@media (max-width:820px){.phero .wrap{grid-template-columns:1fr}}
.check{list-style:none;display:grid;gap:10px;margin-top:18px}
.check li{padding-left:30px;position:relative}.check li::before{content:'';position:absolute;left:4px;top:.75em;width:12px;height:1px;background:var(--terracota)}
.ses{display:grid;gap:14px;margin-top:22px}
.ses .card{display:flex;gap:18px;align-items:flex-start;padding:22px 24px}
.ses .num{font-family:var(--serif);font-size:2.2rem;color:var(--terracota-claro);line-height:1;min-width:34px}
.ses p{color:var(--tenue);font-size:.98rem}
.incluye{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:22px}
.incluye .card{padding:20px}.incluye h3{font-size:1.2rem}.incluye p{font-size:.95rem;color:var(--tenue)}
@media (max-width:520px){.incluye{grid-template-columns:1fr}}
.pendiente{display:inline-block;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oliva);border:1px solid var(--oliva);border-radius:999px;padding:3px 10px;margin-top:8px}
.testis{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:22px;align-items:start}
.testis blockquote{background:var(--papel);border:1px solid var(--linea);border-radius:16px;padding:22px 24px;font-family:var(--serif);font-size:1.25rem;line-height:1.4;font-style:italic}
.testis blockquote span{display:block;font-family:var(--sans);font-style:normal;font-size:.8rem;color:var(--tenue);margin-top:10px;letter-spacing:.08em;text-transform:uppercase}
.testis .ph{border-style:dashed;color:var(--tenue);font-style:normal;font-family:var(--sans);font-size:.95rem}
@media (max-width:640px){.testis{grid-template-columns:1fr}}
details{border-bottom:1px solid var(--linea);padding:16px 0}details summary{cursor:pointer;font-family:var(--serif);font-size:1.25rem;font-weight:500}
details p{margin-top:8px;color:var(--tenue)}
.pago-box{background:var(--tinta);color:var(--crema);border-radius:20px;padding:40px 28px;text-align:center}
:root[data-theme="dark"] .pago-box{background:var(--arena);color:var(--tinta);border:1px solid var(--linea)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pago-box{background:var(--arena);color:var(--tinta);border:1px solid var(--linea)}}
.pago-box .precio{font-family:var(--serif);font-size:3.6rem;line-height:1;margin:10px 0}
.pago-box p{opacity:.85}
.pago-box .acciones{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:24px}
.pago-box .metodos{font-size:.82rem;opacity:.75;margin-top:14px}
.insc{background:var(--papel);border:1px solid var(--linea);border-radius:20px;padding:28px;margin-top:24px;display:grid;gap:28px}
.insc .paso{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.insc .paso .n{width:34px;height:34px;border-radius:50%;background:var(--arena);color:var(--terracota);font-family:var(--serif);font-weight:600;display:grid;place-items:center}
.insc .paso b{font-family:var(--serif);font-size:1.35rem;font-weight:500}
.insc .campos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.insc label{display:grid;gap:6px;font-size:.92rem;color:var(--tenue)}
.insc label.full{grid-column:1/-1}
.insc .opt{font-size:.8rem}
.insc input:not([type=checkbox]),.insc select,.insc textarea{width:100%;padding:12px 14px;border:1px solid var(--linea);border-radius:10px;background:var(--crema);font-family:var(--sans);font-size:1rem;color:var(--tinta)}
.insc input:focus,.insc select:focus,.insc textarea:focus{outline:2px solid var(--terracota-claro);outline-offset:1px}
.insc .check-l{grid-template-columns:auto 1fr;align-items:start;gap:10px;font-size:.88rem}
.insc .check-l input{margin-top:5px;accent-color:var(--terracota)}
.insc .oculto{display:none}
.insc .acciones-form{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:18px}
.insc .estado{font-size:.9rem;color:var(--oliva)}
.insc .estado.err{color:#B0442E}
.insc-pago{border-top:1px solid var(--linea);padding-top:24px}
.insc .nota{font-size:.85rem;color:var(--tenue);margin-top:10px}
@media (max-width:600px){.insc{padding:20px 16px}.insc .campos{grid-template-columns:1fr}}
.legal h2{font-size:1.5rem;margin-top:1.6em}.legal p,.legal li{font-size:1rem}
.pasos{list-style:none;counter-reset:s;display:grid;gap:14px;margin-top:22px}
.pasos li{position:relative;padding-left:56px}.pasos li b{font-family:var(--serif);font-size:1.25rem;font-weight:500;display:block}
.pasos li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:2px;width:38px;height:38px;border-radius:50%;background:var(--arena);color:var(--terracota);font-family:var(--serif);font-weight:600;font-size:1.2rem;display:grid;place-items:center}
.aviso{background:var(--oliva-suave);border-left:3px solid var(--oliva);border-radius:0 12px 12px 0;padding:18px 22px;font-size:.95rem;color:var(--tenue);margin-top:26px}
.aviso b{color:var(--tinta);font-weight:500}
.minuto{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:22px}
.minuto .card{padding:20px 22px}.minuto .card h3{font-size:1.2rem}.minuto .card p{font-size:.95rem;color:var(--tenue)}
.minuto .card .n{font-family:var(--serif);color:var(--terracota-claro);font-size:1.5rem;line-height:1;margin-bottom:6px}
@media (max-width:640px){.minuto{grid-template-columns:1fr}}
