:root{--cream:#faf9f0;--sage:#cfd7c7;--terracotta:#c9957b;--green:#325f4f;--serif:"Yeseva One",Georgia,serif;--sans:"Lato",Arial,sans-serif;--max:1200px;--line:rgba(50,95,79,.22)}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:95px}
body{margin:0;background:var(--cream);color:var(--green);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.7}
body.menu-open{overflow:hidden}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1}
h1{font-size:clamp(3rem,6.2vw,6.8rem);letter-spacing:-.04em;margin-bottom:2rem}
h2{font-size:clamp(2.4rem,4.7vw,5rem);letter-spacing:-.025em}
h3{font-size:1.45rem}
em{font-style:normal;color:var(--terracotta)}
a{color:inherit}
.skip-link{position:fixed;z-index:1000;left:1rem;top:-5rem;background:var(--green);color:var(--cream);padding:.6rem 1rem}
.skip-link:focus{top:1rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{height:94px;padding:8px clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;width:100%;z-index:20;border-bottom:1px solid var(--line)}
.brand{width:72px;height:72px;overflow:hidden;border-radius:50%}
.brand img{width:100%;height:100%;object-fit:cover;transform:scale(1.36)}
.main-nav{display:flex;gap:clamp(1.2rem,2.5vw,2.7rem);align-items:center}
.main-nav a{text-decoration:none;text-transform:uppercase;font-size:.71rem;letter-spacing:.14em;font-weight:400;position:relative}
.main-nav a:after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--terracotta);transition:.25s}
.main-nav a:hover:after,.main-nav a:focus-visible:after{width:100%}
.language-switcher{display:flex;gap:.4rem;align-items:center;font-size:.72rem}
.language-switcher button{border:0;background:none;color:var(--green);font:inherit;padding:.4rem;opacity:.45;cursor:pointer}
.language-switcher button.active{opacity:1;font-weight:700}
.menu-toggle{display:none}
.section-shell{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.section-pad{padding-top:clamp(5rem,10vw,9rem);padding-bottom:clamp(5rem,10vw,9rem)}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:700;color:var(--terracotta);margin-bottom:1.5rem}
.hero{min-height:100svh;padding-top:150px;padding-bottom:70px;display:grid;grid-template-columns:1.4fr .6fr;gap:4vw;align-items:center;position:relative}
.hero-copy{max-width:850px}
.hero h1 em{display:block}
.hero-signature{font-family:var(--serif);font-size:1.1rem;margin-bottom:1.1rem}
.hero-lead{font-size:clamp(1.15rem,1.7vw,1.45rem);max-width:700px;line-height:1.55}
.hero-copy>div>p:not(.hero-signature):not(.hero-lead){max-width:650px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:1.4rem;margin-top:1.5rem;padding:1rem 1.5rem;border:1px solid var(--green);background:var(--green);color:var(--cream);text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font:700 .72rem var(--sans);transition:.25s;cursor:pointer}
.button:hover,.button:focus-visible{background:var(--terracotta);border-color:var(--terracotta);transform:translateY(-2px)}
.button span,.button b{font-size:1.1rem}
.hero-art{display:flex;flex-direction:column;align-items:center}
.orb{width:min(29vw,390px);aspect-ratio:1;border-radius:50% 50% 44% 56%/56% 43% 57% 44%;overflow:hidden;background:var(--sage);box-shadow:22px 25px 0 var(--sage)}
.orb img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transform:scale(1.06)}
.hero-art p{text-transform:uppercase;letter-spacing:.2em;font-size:.63rem;margin-top:2rem}
.scroll-cue{position:absolute;bottom:24px;right:0;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:.62rem;display:flex;gap:.7rem}
.scroll-cue i{font-style:normal}
.section-number{font-family:var(--serif);font-size:7rem;color:var(--sage);line-height:1}
.about{display:grid;grid-template-columns:.3fr 1.25fr 1fr;gap:clamp(2rem,5vw,6rem);align-items:start}
.about-title h2{font-size:clamp(2.4rem,4vw,4.2rem)}
.about-copy{border-left:1px solid var(--terracotta);padding-left:clamp(1.5rem,3vw,3rem)}
.language-note{grid-column:2/4;display:flex;align-items:center;gap:1.5rem;margin-top:1rem}
.language-note>span{font:400 4rem var(--serif);color:var(--terracotta)}
.language-note p{margin:0;max-width:200px;line-height:1.3}
.services{background:var(--sage)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:4rem}
.section-heading h2{max-width:700px;margin-bottom:0}
.section-heading>p{max-width:310px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--green);border:1px solid var(--green)}
.service-card{background:var(--sage);padding:2.3rem;min-height:460px;display:flex;flex-direction:column;position:relative}
.service-card.featured{background:var(--cream)}
.card-index{font-size:.7rem;letter-spacing:.15em}
.line-icon{font:300 3rem var(--sans);margin:2.5rem 0 auto;color:var(--terracotta)}
.service-card p{font-size:.98rem}
.service-card a,.text-link{font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
.method{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,9rem)}
.method-intro{position:sticky;top:130px;align-self:start}
.method-list{list-style:none;margin:0;padding:0}
.method-list li{border-top:1px solid var(--line);padding:1.8rem 0;display:grid;grid-template-columns:50px 1fr}
.method-list li>span{color:var(--terracotta);font-size:.7rem;letter-spacing:.12em}
.method-list h3{margin-bottom:.6rem}
.method-list p{margin:0}
.method-quote{grid-column:1/3;margin:3rem 0 0;padding:3rem 6vw;text-align:center;font:400 clamp(1.7rem,3vw,3rem)/1.35 var(--serif);border-block:1px solid var(--terracotta)}
.yoga{background:var(--green);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}
.yoga-shape{aspect-ratio:1;max-width:520px;border:1px solid var(--terracotta);border-radius:47% 53% 55% 45%/50% 44% 56% 50%;display:flex;align-items:center;justify-content:center;gap:1rem;position:relative}
.yoga-shape:before,.yoga-shape:after{content:"";position:absolute;border:1px solid var(--sage);border-radius:50%;inset:11% 4% 8% 15%;transform:rotate(24deg)}
.yoga-shape:after{inset:24% 17%;transform:rotate(-18deg)}
.yoga-shape i{width:80px;height:1px;background:var(--terracotta)}
.yoga-shape span{font-size:.58rem;text-transform:uppercase;letter-spacing:.2em}
.yoga-copy h2{color:var(--cream)}
.yoga-copy ul{list-style:none;padding:0;margin:2rem 0}
.yoga-copy li{padding:.7rem 0;border-bottom:1px solid rgba(250,249,240,.2)}
.yoga .text-link{display:inline-block;margin-top:1rem;color:var(--cream)}
.testimonials{text-align:center}
.testimonials .section-heading{justify-content:center}
.testimonial-placeholder{max-width:830px;margin:auto;border:1px solid var(--line);padding:clamp(2rem,5vw,5rem);background:linear-gradient(135deg,var(--cream),var(--sage))}
.quote-mark{font:5rem var(--serif);color:var(--terracotta);line-height:.4}
.testimonial-placeholder p{font:400 clamp(1.3rem,2.2vw,2rem)/1.5 var(--serif);margin:1.5rem 0 0}
.credentials{background:var(--sage)}
.credentials-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}
.credentials-intro{position:sticky;top:130px;align-self:start}
.credential-columns>div{padding:1.8rem 0;border-top:1px solid var(--green)}
.credential-columns ul{padding-left:1.2rem}
.credential-columns li{margin:.7rem 0}
.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}
.faq-title{position:sticky;top:130px;align-self:start}
.accordion details{border-top:1px solid var(--line)}
.accordion details:last-child{border-bottom:1px solid var(--line)}
.accordion summary{list-style:none;cursor:pointer;font:400 1.3rem var(--serif);padding:1.7rem 3rem 1.7rem 0;position:relative}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary:after{content:"+";position:absolute;right:.4rem;color:var(--terracotta);font:300 1.7rem var(--sans);transition:.2s}
.accordion details[open] summary:after{transform:rotate(45deg)}
.accordion details p{padding:0 3rem 1.7rem 0;max-width:650px}
.contact{background:var(--terracotta)}
.contact-wrap{width:min(var(--max),calc(100% - 48px));margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
.contact .eyebrow{color:var(--green)}
.contact-intro h2{color:var(--cream)}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1.7rem}
.contact-form label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--green);background:transparent;padding:.7rem 0;color:var(--green);font:300 1rem var(--sans);border-radius:0}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:0;border-bottom:2px solid var(--cream)}
.full{grid-column:1/3}
.form-note{font-size:.8rem;line-height:1.5}
.contact-form .button{width:fit-content;margin-top:0}
.contact-form .button:hover{background:var(--cream);border-color:var(--cream);color:var(--green)}
footer{padding:3rem clamp(24px,5vw,70px);background:var(--green);color:var(--cream);display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;font-size:.75rem}
.footer-brand{display:flex;align-items:center;gap:1.5rem}
.footer-brand img{width:80px;height:80px;border-radius:50%;object-fit:cover;filter:saturate(.6)}
.footer-brand p{margin:0;font-family:var(--serif);font-size:1rem}
.footer-links{display:flex;gap:1.5rem}
.footer-links a{text-decoration:none}
footer>p{grid-column:2;margin:0}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:900px){.site-header{position:absolute}
.main-nav{position:fixed;inset:0;background:var(--green);color:var(--cream);z-index:-1;display:flex;flex-direction:column;justify-content:center;font-size:2rem;opacity:0;pointer-events:none;transition:.25s}
.main-nav a{font:400 1.6rem var(--serif);text-transform:none}
.menu-open .main-nav{opacity:1;pointer-events:auto}
.menu-toggle{display:flex;width:42px;height:42px;border:0;background:none;flex-direction:column;gap:5px;justify-content:center;align-items:center;z-index:2}
.menu-toggle span:not(.sr-only){width:23px;height:1px;background:var(--green);transition:.2s}
.menu-open .menu-toggle span:not(.sr-only){background:var(--cream)}
.menu-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-open .menu-toggle span:nth-child(2){opacity:0}
.menu-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.language-switcher{position:absolute;right:75px}
.hero{grid-template-columns:1fr;padding-top:135px}
.hero-copy{z-index:1}
.hero-art{position:absolute;right:0;top:140px;opacity:.2}
.orb{width:42vw}
.about{grid-template-columns:1fr}
.section-number{display:none}
.about-copy{grid-column:auto}
.language-note{grid-column:auto}
.service-grid{grid-template-columns:1fr}
.service-card{min-height:unset}
.line-icon{margin:1.5rem 0}
.method{grid-template-columns:1fr}
.method-intro,.credentials-intro,.faq-title{position:static}
.method-quote{grid-column:auto}
.yoga{grid-template-columns:1fr}
.yoga-shape{width:min(80vw,500px);margin:auto}
.credentials-grid,.faq,.contact-wrap{grid-template-columns:1fr}
footer{grid-template-columns:1fr}
.footer-links{flex-wrap:wrap}
footer>p{grid-column:1}
}

@media(max-width:600px){body{font-size:16px}
.section-shell,.contact-wrap{width:min(100% - 32px,var(--max))}
.site-header{height:80px;padding-inline:16px}
.brand{width:60px;height:60px}
.hero{padding-top:120px}
.hero h1{font-size:clamp(2.75rem,13vw,4.2rem)}
.hero-art{display:none}
.hero .button{width:100%;text-align:center}
.scroll-cue{display:none}
.section-heading{display:block}
.section-heading>p{margin-top:1.5rem}
.service-card{padding:1.7rem}
.method-list li{grid-template-columns:38px 1fr}
.yoga{padding-inline:16px}
.yoga-shape{width:92vw}
.contact-form{grid-template-columns:1fr}
.full{grid-column:1}
.contact-form .button{width:100%}
.footer-brand{align-items:flex-start}
.footer-links{flex-direction:column;gap:.6rem}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
.reveal{opacity:1;transform:none}
}

/* Identidad visual: el logotipo se conserva completo, sin máscaras ni filtros. */
.brand{width:150px;height:78px;overflow:visible;border-radius:0;display:flex;align-items:center}

.brand img{width:100%;height:100%;object-fit:contain;transform:none}

.orb{position:relative;overflow:visible;background:transparent;box-shadow:none;border:1px solid var(--sage)}

.orb:before,.orb:after{content:"";position:absolute;border:1px solid var(--terracotta);border-radius:50%}

.orb:before{inset:13% -4% 8% 10%;transform:rotate(22deg)}

.orb:after{inset:27% 18%;border-color:var(--green);transform:rotate(-18deg)}

.orb span{position:absolute;inset:39%;border-radius:50%;background:var(--terracotta)}

.service-card>div[lang]{margin-top:auto}

.footer-brand img{width:180px;height:100px;border-radius:0;object-fit:contain;filter:none}


@media(max-width:600px){.brand{width:122px;height:64px}
.footer-brand img{width:155px;height:auto}
}

.yoga{grid-template-columns:1fr}

.yoga-copy{width:min(820px,100%);margin-inline:auto}

.hero-value{max-width:760px;font-family:var(--sans);font-size:clamp(1.3rem,2.15vw,2rem);font-weight:300;line-height:1.4;letter-spacing:0;margin-bottom:1.6rem}


/* Visibilidad bilingüe explícita por tipo de elemento. */
body[data-language="es"] [lang="en"],body[data-language="en"] [lang="es"]{display:none!important}

body[data-language="es"] span[lang="es"],body[data-language="en"] span[lang="en"]{display:inline!important}

body[data-language="es"] div[lang="es"],body[data-language="en"] div[lang="en"]{display:block!important}

body[data-language="es"] p[lang="es"],body[data-language="en"] p[lang="en"]{display:block!important}

body[data-language="es"] ul[lang="es"],body[data-language="en"] ul[lang="en"]{display:block!important}
