/* Marta Carneiro · estilo común para todas las páginas */
:root{
  --bg:#FFFFFF; --beige:#F7F3EC; --beige2:#EFE8DC; --line:#E8E0D3;
  --ink:#262626; --soft:#625D55; --mute:#8A847A;
  --marta:#6DB7B0; --do:#007078; --do-soft:#E6F3F1; --cream:#F1E4B2;
  --red:#B8677A; --green:#8FA35A; --yellow:#C9952E;
  --red-bg:#F7ECEE; --green-bg:#F1F4E8; --yellow-bg:#FBF3E2;
  --serif:"Playfair Display",Georgia,serif; --sans:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:1120px; --r:14px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;margin:0;color:var(--ink)}
h1{font-size:clamp(2.4rem,6vw,4rem);letter-spacing:-.01em}
h2{font-size:clamp(1.7rem,3.6vw,2.4rem)}
h3{font-size:1.3rem}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.narrow{max-width:700px;margin:0 auto;padding:0 20px}
.eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--do);font-weight:600}
.lead{font-size:1.1rem;color:var(--soft);max-width:60ch}
.small{font-size:.88rem;color:var(--mute)}

/* Botones y enlaces */
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--do);color:#fff;border-radius:999px;padding:13px 26px;font-weight:600;font-size:.95rem;transition:transform .25s,background .25s}
.btn:hover{background:#005C63;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--do);border:1px solid var(--do)}
.btn.ghost:hover{background:var(--do-soft)}
.more{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--do);border-bottom:1px solid currentColor;padding-bottom:3px;transition:gap .25s}
.more:hover{gap:14px}
.more:after{content:"→"}
.actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* Cabecera */
.top{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:border-color .3s}
.top.scrolled{border-color:var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px}
.logo{display:flex;align-items:center;gap:9px;font-family:var(--serif);font-size:1.2rem;color:var(--marta)}
.logo img{width:30px}
.menu{display:flex;gap:26px;font-size:.93rem;color:var(--soft)}
.menu a{position:relative;padding:6px 0}
.menu a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--do);transition:right .3s}
.menu a:hover,.menu a[aria-current]{color:var(--ink)}
.menu a:hover:after,.menu a[aria-current]:after{right:0}
.top .btn{padding:10px 20px;font-size:.88rem}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;padding:10px}
.burger span{display:block;height:1.5px;background:var(--ink);margin:6px 0;transition:transform .3s,opacity .3s}
.drawer{display:none}
@media (max-width:900px){
  .menu,.top .btn{display:none}
  .burger{display:block}
  .drawer{display:block;position:fixed;inset:72px 0 0 0;background:#fff;z-index:29;padding:24px 24px 40px;transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;overflow:auto}
  .drawer a{display:block;font-family:var(--serif);font-size:1.6rem;padding:12px 0;border-bottom:1px solid var(--line)}
  .drawer .btn{margin-top:24px;font-family:var(--sans);font-size:1rem;border:0;display:inline-flex}
  body.open .drawer{opacity:1;transform:none;pointer-events:auto}
  body.open .burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  body.open .burger span:nth-child(2){opacity:0}
  body.open .burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
}

/* Secciones */
.sec{padding:96px 0}
.sec.tight{padding:64px 0}
.sec.beige{background:var(--beige)}
.sec.dosoft{background:var(--do-soft)}
.head{display:flex;flex-direction:column;gap:14px;margin-bottom:44px}
.head.center{align-items:center;text-align:center}
@media (max-width:700px){.sec{padding:64px 0}.head{margin-bottom:32px}}

/* Portada */
.hero{padding:72px 0 88px;background:var(--beige)}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero .txt{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.hero .claim{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--do);max-width:30ch}
.arch{border-radius:400px 400px 18px 18px;overflow:hidden;aspect-ratio:4/5;background:var(--beige2)}
.arch img,.frame img{width:100%;height:100%;object-fit:cover}
.kb img{animation:kb 22s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.12) translateY(-2%)}}
@media (max-width:820px){.hero{padding:40px 0 56px}.hero .wrap{grid-template-columns:1fr;gap:36px}.hero .arch{max-width:340px;aspect-ratio:1/1;justify-self:center;width:100%}}

/* Lista de motivos */
.reasons{display:flex;flex-wrap:wrap;gap:10px}
.reasons li{list-style:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 18px;font-size:.95rem}
.reasons{padding:0;margin:0}

/* Tres áreas */
.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.area{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;display:flex;flex-direction:column;gap:12px;position:relative;transition:transform .35s,box-shadow .35s}
.area:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(0,0,0,.25)}
.area .ico{width:52px;height:52px;border-radius:50%;display:grid;place-items:center}
.area .ico svg{width:28px;height:28px;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.area .sub{font-weight:600;font-size:.95rem}
.area p{color:var(--soft);font-size:.98rem}
.area .more{margin-top:auto;align-self:flex-start}
.a-red .ico{background:var(--red-bg)}.a-red svg{stroke:var(--red)}.a-red .sub,.a-red .more{color:var(--red)}
.a-green .ico{background:var(--green-bg)}.a-green svg{stroke:var(--green)}.a-green .sub,.a-green .more{color:var(--green)}
.a-yellow .ico{background:var(--yellow-bg)}.a-yellow svg{stroke:var(--yellow)}.a-yellow .sub,.a-yellow .more{color:var(--yellow)}
.tag{align-self:flex-start;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--do);background:var(--do-soft);border-radius:999px;padding:4px 11px}
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;border-top:1px solid var(--line);padding-top:28px}
.price b{display:block;font-family:var(--serif);font-weight:400;font-size:2rem;color:var(--do)}
.price span{color:var(--soft);font-size:.92rem}
@media (max-width:820px){.areas{grid-template-columns:1fr}.prices{grid-template-columns:1fr;gap:14px}}

/* Cubo */
.rk{display:grid;grid-template-columns:auto 1fr;gap:56px;align-items:center}
.rk-cube{display:grid;grid-template-columns:repeat(3,62px);gap:8px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:20px;transform:rotate(-6deg);box-shadow:0 18px 36px -20px rgba(110,90,60,.35)}
.rk-cube i{width:62px;height:62px;border-radius:10px;animation:25.2s ease-in-out infinite}
.rk-caps{display:grid;min-height:6.4em}
.rk-caps p{grid-area:1/1;font-family:var(--serif);font-size:clamp(1.25rem,2.4vw,1.6rem);line-height:1.4;opacity:0;animation:cap 25.2s infinite}
.rk-caps b{font-weight:400;color:var(--do);font-style:italic}
.rk-dots{display:flex;gap:6px;margin:18px 0}
.rk-dots b{width:24px;height:3px;border-radius:2px;background:var(--line);animation:25.2s infinite}
.rk-key{display:flex;gap:16px;flex-wrap:wrap;font-size:.85rem;color:var(--soft)}
.rk-key span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;background:var(--c)}
@keyframes cap{0%{opacity:0;transform:translateY(6px)}2%{opacity:1;transform:none}14.5%{opacity:1}16.6%{opacity:0}100%{opacity:0}}
@media (max-width:820px){.rk{grid-template-columns:1fr;justify-items:center;text-align:center;gap:36px}.rk-dots,.rk-key{justify-content:center}.rk-cube{grid-template-columns:repeat(3,52px)}.rk-cube i{width:52px;height:52px}}

/* Espacio Dō */
.do-band{position:relative;overflow:hidden}
.do-band:before,.do-band:after{content:"";position:absolute;border:1.5px solid rgba(0,112,120,.22);border-radius:50%;pointer-events:none}
.do-band:before{width:560px;height:560px;right:-240px;top:-300px}
.do-band:after{width:420px;height:420px;left:-230px;bottom:-280px}
.do-band .wrap{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.do-logo{width:110px;color:var(--do)}
.do-band h2{color:var(--do)}
.motto{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--do)}
.strip{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.strip .frame{border-radius:var(--r);overflow:hidden;aspect-ratio:3/4}
.strip .frame:nth-child(2){margin-top:44px}
@media (max-width:820px){.do-band .wrap{grid-template-columns:1fr;gap:36px}.strip .frame{aspect-ratio:1/1}.strip .frame:nth-child(2){margin-top:24px}}

/* Tarjetas genéricas */
.cards2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px;display:flex;flex-direction:column;gap:14px}
.card .more{margin-top:auto;align-self:flex-start}
@media (max-width:820px){.cards2{grid-template-columns:1fr}}
.aido{background:var(--beige);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:10px}
.aido .q{font-family:var(--serif);font-size:1.25rem}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 14px;font-size:.85rem}

/* Charla */
.talk{display:grid;grid-template-columns:200px 1fr;gap:36px;align-items:center}
.talk img{border-radius:12px}
@media (max-width:640px){.talk{grid-template-columns:1fr}.talk img{max-width:220px}}

/* Relatos */
.rel{display:grid;grid-template-columns:180px 1fr;gap:56px;align-items:center}
.rel img{width:180px}
.stories{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.stories li a,.stories li span{display:block;font-family:var(--serif);font-size:1.15rem;padding:14px 0;border-bottom:1px solid var(--line);transition:padding .25s,color .25s}
.stories li a:hover{padding-left:6px;color:var(--do)}
@media (max-width:700px){.rel{grid-template-columns:1fr;justify-items:center;gap:28px}.rel img{width:130px}.stories{grid-template-columns:1fr;width:100%}}

/* Recomendaciones */
.shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.shelf .card h3{font-size:1.15rem}
.items{list-style:none;margin:0;padding:0}
.items li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.items li span{color:var(--mute);text-align:right}
@media (max-width:820px){.shelf{grid-template-columns:1fr}}

/* Cierre */
.cta{text-align:center}
.cta .head{align-items:center}
.contact-line{display:flex;gap:28px;flex-wrap:wrap;justify-content:center;font-size:1.05rem;margin-bottom:24px}
.contact-line a{border-bottom:1px solid var(--line)}

/* Páginas interiores */
.phero{padding:72px 0 56px;background:var(--beige);border-top:4px solid var(--c,var(--do))}
.phero .narrow{display:flex;flex-direction:column;gap:16px}
.phero .eyebrow{color:var(--c,var(--do))}
.prose{display:flex;flex-direction:column;gap:18px}
.prose h2{font-size:1.7rem;margin-top:24px}
.prose h3{margin-top:8px}
.prose ul{margin:0;padding-left:22px}
.prose li{margin:6px 0}
.prose blockquote{margin:8px 0;padding-left:18px;border-left:2px solid var(--marta);font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--do)}
.prose details{border-bottom:1px solid var(--line);padding:16px 0}
.prose summary{cursor:pointer;font-family:var(--serif);font-size:1.2rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.prose summary::-webkit-details-marker{display:none}
.prose summary:after{content:"+";color:var(--do);font-family:var(--sans);font-size:1.4rem;line-height:1}
.prose details[open] summary:after{content:"–"}
.prose details > :not(summary){margin-top:12px}
.box{background:var(--beige);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:8px}
.box.do{background:var(--do-soft)}
.box a{color:var(--do);font-weight:600}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:640px){.grid2{grid-template-columns:1fr}}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.steps div{background:var(--do-soft);border-radius:12px;padding:18px}
.steps b{display:block;font-family:var(--serif);font-weight:400;font-size:1.25rem;color:var(--do);margin-bottom:4px}
@media (max-width:640px){.steps{grid-template-columns:1fr}}
.tbl{width:100%;border-collapse:collapse;font-size:.95rem}
.tbl th,.tbl td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-weight:600;color:var(--do)}
@media (max-width:640px){.tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}.tbl tr:first-child{display:none}.tbl td{border:0;padding:2px 0}.tbl tr{border-bottom:1px solid var(--line);padding:12px 0}.tbl td:first-child{font-weight:600}}

/* Equipo */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.person{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:12px;scroll-margin-top:96px}
.person img{width:96px;height:96px;border-radius:50%;object-fit:cover}
.person .role{color:var(--do);font-weight:600;font-size:.9rem}
.person p{color:var(--soft);font-size:.96rem}
.person details{border-top:1px solid var(--line);padding-top:12px;margin-top:auto}
.person summary{cursor:pointer;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--do);list-style:none}
.person summary::-webkit-details-marker{display:none}
.person summary:after{content:" +"}
.person details[open] summary:after{content:" –"}
.person details > *:not(summary){margin-top:10px}
.person .box{padding:16px;font-size:.92rem}
@media (max-width:900px){.team{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.team{grid-template-columns:1fr}}

/* Pie */
.foot{background:var(--beige2);padding:64px 0 32px;font-size:.92rem;color:var(--soft)}
.foot .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}
.foot b{display:block;color:var(--ink);font-weight:600;margin-bottom:10px}
.foot a:hover{color:var(--do)}
.foot .cols div{display:flex;flex-direction:column;gap:6px}
.foot .legal{margin-top:44px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.82rem;color:var(--mute)}
@media (max-width:820px){.foot .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot .cols{grid-template-columns:1fr}}

/* WhatsApp */
.wa{position:fixed;right:18px;bottom:18px;z-index:25;display:flex;align-items:center;gap:8px;background:#25D366;color:#fff;border-radius:999px;padding:11px 18px;font-weight:600;font-size:.92rem;box-shadow:0 8px 22px rgba(0,0,0,.18);transition:transform .25s}
.wa:hover{transform:translateY(-2px)}
.wa svg{width:20px;height:20px}

/* Aparición suave al hacer scroll */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .kb img,.rk-cube i,.rk-dots b,.rk-caps p{animation:none!important}
  .rk-caps p{opacity:0}.rk-caps p:last-child{opacity:1}.rk-dots b{background:var(--do)}
}
/* Foto de cabecera de las páginas interiores, con movimiento lento */
.pimg{margin:0 auto;max-width:1180px;padding:0 24px;transform:translateY(-28px)}
.pimg .frame{border-radius:var(--r);overflow:hidden;aspect-ratio:21/8;background:var(--beige2)}
.pimg img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,center)}
@media (max-width:700px){.pimg{padding:0 16px;transform:translateY(-20px)}.pimg .frame{aspect-ratio:4/3}}

/* ===== Estilo Lovable: portada centrada, filas sencillas y transición Marta → Dō ===== */
.hero2{background:var(--beige);padding:84px 0 0;text-align:center;position:relative;overflow:hidden}
.hero2 .narrow{display:flex;flex-direction:column;align-items:center;gap:18px;position:relative;z-index:1}
.hero2 .leaf{width:46px}
.hero2 h1{font-size:clamp(2.5rem,6.4vw,4.2rem)}
.hero2 h1 span{display:block;color:var(--marta);font-size:.62em;margin-top:6px}
.hero2 .claim{font-family:var(--serif);font-style:italic;color:var(--soft);font-size:1.15rem}
.hero2 .chk{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;font-size:.95rem;color:var(--soft);list-style:none;padding:0;margin:0}
.hero2 .chk li:before{content:"✓";color:var(--marta);margin-right:7px;font-weight:600}
.hero2 .actions{justify-content:center}
.hero2 .band{margin:56px auto 0;max-width:1180px;padding:0 24px}
.hero2 .band .frame{border-radius:18px 18px 0 0;overflow:hidden;aspect-ratio:21/7}
.hero2 .band img{width:100%;height:100%;object-fit:cover;object-position:70% 55%}
.line-deco{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;color:var(--marta);opacity:.55}
@media (max-width:700px){.hero2{padding-top:56px}.hero2 .band{padding:0 16px;margin-top:40px}.hero2 .band .frame{aspect-ratio:4/3}}

.rows{display:flex;flex-direction:column;gap:12px}
.rowi{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.rowi .n{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--do-soft);color:var(--do);font-family:var(--serif);font-size:1.1rem}
.rowi b{display:block;font-weight:600;margin-bottom:2px}
.rowi p{color:var(--soft);font-size:.97rem}
.rowi.c-red .n{background:var(--red-bg);color:var(--red)}
.rowi.c-green .n{background:var(--green-bg);color:var(--green)}
.rowi.c-yellow .n{background:var(--yellow-bg);color:var(--yellow)}
.split3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:700px){.split3{grid-template-columns:1fr}}

.tools{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.tools li{border:1px solid var(--marta);color:#2F6F69;border-radius:999px;padding:7px 15px;font-size:.92rem;background:#fff}

.visbody{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.visbody .frame{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5}
.visbody .frame img{width:100%;height:100%;object-fit:cover}
@media (max-width:820px){.visbody{grid-template-columns:1fr;gap:28px}.visbody .frame{aspect-ratio:4/3}}

/* Transición de color: del turquesa de Marta al verde Dō */
.to-do{height:120px;background:linear-gradient(180deg,var(--bg) 0%,#EEF7F6 45%,var(--do-soft) 100%)}
.names{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:8px}
.names div{background:rgba(255,255,255,.7);border:1px solid #CFE6E3;border-radius:var(--r);padding:14px 16px}
.names b{display:block;font-weight:600;color:var(--ink)}
.names span{font-size:.92rem;color:#2F5F63}
@media (max-width:560px){.names{grid-template-columns:1fr}}

.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:0 20px;margin-bottom:10px}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:600;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";color:var(--do);font-size:1.3rem;line-height:1}
.faq details[open] summary:after{content:"–"}
.faq details>*:not(summary){color:var(--soft);padding-bottom:16px}
.faq ul{margin:0;padding-left:20px}

.cita{background:var(--do);color:#fff;text-align:center;padding:80px 0}
.cita h2,.cita .eyebrow{color:#fff}
.cita .lead{color:#D7ECEA;margin:14px auto 0}
.cita .contact-line{justify-content:center;color:#fff;margin:22px 0}
.cita .btn{background:#fff;color:var(--do)}
.cita .btn.ghost{background:transparent;color:#fff;border-color:#fff}

/* Horizontalidad en ordenador: título a un lado, texto al otro */
.duo{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:start}
.duo>.head{margin-bottom:0;position:sticky;top:110px}
.duo .prose{padding-top:6px}
@media (max-width:900px){.duo{grid-template-columns:1fr;gap:28px}.duo>.head{position:static}}

/* Recorrido en una línea */
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:20px;position:relative}
.flow:before{content:"";position:absolute;left:22px;right:22px;top:22px;height:1px;background:linear-gradient(90deg,var(--marta),var(--do))}
.flow li{position:relative;display:flex;flex-direction:column;gap:8px}
.flow .n{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--marta);color:var(--do);font-family:var(--serif);font-size:1.1rem;position:relative;z-index:1;margin-bottom:8px}
.flow li.c-red .n{border-color:var(--red);color:var(--red)}
.flow b{font-weight:600}
.flow p{color:var(--soft);font-size:.95rem}
.flow .pill{display:inline-block;align-self:flex-start;font-size:.85rem;border-radius:999px;padding:4px 12px}
.flow .pill.c-yellow{background:var(--yellow-bg);color:#8A6418}
.flow .pill.c-green{background:var(--green-bg);color:#5E6E33}
@media (max-width:900px){
  .flow{grid-template-columns:1fr;gap:26px;padding-left:0}
  .flow:before{left:22px;right:auto;top:22px;bottom:22px;width:1px;height:auto;background:linear-gradient(180deg,var(--marta),var(--do))}
  .flow li{padding-left:64px;min-height:44px}
  .flow .n{position:absolute;left:0;top:0;margin:0}
}

/* Páginas interiores: título y entradilla en horizontal */
@media (min-width:901px){
  .phero .narrow{max-width:var(--wrap);display:grid;grid-template-columns:5fr 7fr;column-gap:72px;align-items:end}
  .phero .narrow>.eyebrow,.phero .narrow>h1,.phero .narrow>svg{grid-column:1}
  .phero .narrow>.lead,.phero .narrow>.motto{grid-column:2}
  .phero .narrow>.lead{grid-row:2/4;align-self:end}
}

/* Fotos en el móvil: encuadre propio por foto y menos zoom */
@media (max-width:700px){
  .pimg .frame{aspect-ratio:var(--mar,1/1)}
  .pimg img{object-position:var(--mpos,var(--pos,center))}
  .hero2 .band img{object-position:78% 60%}
  @keyframes kb{from{transform:scale(1.01)}to{transform:scale(1.05)}}
  .person img{width:100%;height:auto;aspect-ratio:4/3;border-radius:12px;object-position:center 22%}
  .strip .frame{aspect-ratio:3/4}
}

/* Foto vertical en páginas interiores: se ve entera */
.pimg.tall .frame{aspect-ratio:4/5;max-width:440px;margin:0 auto}
.pimg.tall img{object-position:center 40%}
.area h3+p{margin-top:8px;color:var(--soft)}
.dossier{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center;border:1px solid var(--line);border-radius:var(--r);padding:14px;margin:28px 0;background:#fff;transition:border-color .25s}
.dossier:hover{border-color:var(--do)}
.dossier img{border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.dossier b{display:block;font-family:var(--serif);font-weight:400;font-size:1.25rem;color:var(--do)}
.dossier span{color:var(--soft);font-size:.95rem}
.flow.f4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.flow.f4{grid-template-columns:1fr}}
.relato{display:grid;grid-template-columns:96px 1fr;gap:20px;align-items:start;padding:20px 0;border-bottom:1px solid var(--line);scroll-margin-top:96px}
.relato img{width:96px;height:96px;object-fit:contain;background:var(--beige);border-radius:12px;padding:8px}
.relato h2{margin:0 0 6px;font-size:1.5rem}
.relato p{color:var(--soft);margin-bottom:10px}

/* ===== Una sola estética de letra: Playfair solo en títulos grandes, sin cursivas ni mayúsculas ===== */
.eyebrow{text-transform:none;letter-spacing:0;font-size:.95rem;font-weight:600}
.more{text-transform:none;letter-spacing:0;font-size:.98rem}
.tag,.area .tag{text-transform:none;letter-spacing:0;font-size:.82rem}
.person summary,.faq summary{text-transform:none;letter-spacing:0;font-size:.98rem}
h3,.card h3,.area h3,.person h3,.talk h3,.dossier b{font-family:var(--sans);font-weight:600;font-size:1.15rem}
.claim,.motto,.hero2 .claim,blockquote,h2 i,.rk-caps p,.rk-caps i{font-style:normal}
.hero2 h1 span{font-family:var(--sans);font-weight:400;font-size:.42em;letter-spacing:0}
.stories a,.drawer a{font-family:var(--sans)}
.drawer a{font-size:1.3rem}
.relato h2{font-family:var(--sans);font-weight:600;font-size:1.2rem}
.rk-caps p{font-family:var(--sans);font-size:1.25rem}
.dossier b{color:var(--do)}

/* Esferas en Sobre mí y consulta */
.esfera .head h2{color:var(--c)}
.esfera .eyebrow{color:var(--c)}
.esfera+.esfera{border-top:1px solid var(--line)}
.prose details{border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;margin:12px 0;background:#fff}
.flow.f3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.flow.f3{grid-template-columns:1fr}}
.mini{margin-top:22px;border-radius:var(--r);overflow:hidden;max-width:260px;aspect-ratio:4/5}
.mini img{width:100%;height:100%;object-fit:cover;object-position:center 70%}
.prose blockquote{font-family:var(--sans);font-style:normal;font-size:1.12rem}
.prose summary,.faq summary,.person summary{font-family:var(--sans);font-weight:600}
.esfera:first-of-type{border-top:1px solid var(--line)}
.stories li,.stories a{font-family:var(--sans)!important;font-size:1.05rem}
.rk-caps p,.rk-caps b,.rk-caps i{font-family:var(--sans)!important;font-style:normal!important}
.rk-caps b{color:var(--do);font-weight:600}
.hero2 h1 span{font-family:var(--sans)!important;font-size:.4em!important;margin-top:10px}
/* línea decorativa: solo en la franja de la foto, detrás de ella y nunca sobre el texto */
.hero2 .line-deco{inset:auto 0 0 0;top:auto;height:300px;z-index:0}
.hero2 .band{position:relative;z-index:1}
@media (max-width:700px){.hero2 .line-deco{height:220px}}
/* relatos con la foto de cada uno */
.relato{grid-template-columns:132px 1fr}
.relato img{width:132px;height:104px;object-fit:cover;padding:0;background:var(--beige2);filter:grayscale(.15)}
@media (max-width:560px){.relato{grid-template-columns:96px 1fr;gap:16px}.relato img{width:96px;height:84px}}
/* menú Conóceme con desplegable */
.dd{position:relative;display:flex;align-items:center}
.ddm{position:absolute;top:100%;left:-18px;min-width:200px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 0;box-shadow:0 12px 30px rgba(0,0,0,.06);display:flex;flex-direction:column;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .2s,transform .2s;z-index:40}
.ddm a{padding:8px 18px;color:var(--soft)}
.ddm a:after{display:none}
.ddm a:hover{color:var(--ink);background:var(--beige)}
.dd:hover .ddm,.dd:focus-within .ddm{opacity:1;pointer-events:auto;transform:none}
.drawer .dgrp{display:block;font-family:var(--serif);font-size:1.5rem;padding:10px 0 2px;color:var(--ink)}
.drawer a.sub{font-family:var(--sans);font-size:1.05rem;padding:6px 0 6px 16px;color:var(--soft);border:0}
.drawer .dgrp{font-family:var(--sans);font-size:1.3rem;padding:12px 0 2px}
.drawer a.btn{padding:13px 26px;justify-content:center}
/* equipo: solo foto, nombre y rol; lo demás en «Saber más» */
.person{gap:8px;padding:22px}
.person details{margin-top:8px}
/* dibujos de Marta */
.pasos-dibujo{display:block;width:100%;max-width:760px;margin:6px 0 30px;mix-blend-mode:multiply;opacity:.85}
.dibu{align-items:center}
.manos-dibujo{width:100%;max-width:220px;justify-self:center;mix-blend-mode:multiply}
@media (max-width:900px){.pasos-dibujo{max-width:340px;margin:0 auto 26px}.manos-dibujo{max-width:140px}}
/* dibujos de los relatos */
.relato img{object-fit:contain;background:#fff;border:1px solid var(--line);filter:none;padding:4px}
.stories a{display:flex;align-items:center;gap:14px}
.stories img{width:64px;height:52px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px;flex:none}
.pasos-dibujo{mix-blend-mode:normal;opacity:1}
/* más horizontalidad en pantallas medianas (ventana estrecha, tablet): dos columnas hasta 720px */
@media (min-width:721px) and (max-width:900px){
  .duo{grid-template-columns:5fr 7fr;gap:40px}.duo>.head{position:sticky}
  .flow.f4{grid-template-columns:1fr 1fr;gap:28px 32px}.flow.f3{grid-template-columns:repeat(3,1fr)}
  .flow:before{display:none}
  .flow li{padding-left:0;min-height:0}.flow .n{position:relative;left:auto;top:auto;margin-bottom:8px}
  .team{grid-template-columns:repeat(3,1fr)}
  .pasos-dibujo{max-width:560px;margin:6px 0 28px}.manos-dibujo{max-width:180px}
}
.entrada{margin:6px 0 18px;max-width:340px;border-radius:var(--r);overflow:hidden;aspect-ratio:6/5}
.entrada img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
@media (min-width:721px) and (max-width:900px){.areas{grid-template-columns:repeat(3,1fr)}.cards2{grid-template-columns:1fr 1fr}}
.camino-dibujo{width:100%;max-width:420px;justify-self:center}
@media (max-width:720px){.camino-dibujo{max-width:300px}}
.manos-dibujo{mix-blend-mode:normal;display:block;max-width:170px}
.do-band .camino-dibujo{max-width:380px}
@media (max-width:720px){.manos-dibujo{max-width:120px;margin:20px auto 0}}
.manos-dibujo.band{max-width:200px;margin:0}
@media (max-width:820px){.manos-dibujo.band{max-width:130px}}
/* Espacio Dō: dibujo del refugio y manifiesto */
.duo>.head .refugio{display:block;margin-top:28px;width:100%;max-width:440px;border-radius:var(--r)}
.duo>.head .arbol{display:block;margin-top:28px;width:100%;max-width:380px;aspect-ratio:5/4;object-fit:cover;border-radius:var(--r);filter:grayscale(1)}
.manifiesto .prose p{color:var(--ink)}
@media (max-width:720px){.duo>.head .refugio{max-width:220px}.duo>.head .arbol{max-width:100%}}
/* dibujo del refugio a todo el ancho, difuminado por los bordes */
.refugio-band{max-width:960px;margin:24px auto 0;padding:0 16px}
.refugio-band img{display:block;width:100%;height:auto;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);mask-composite:intersect}
/* iconos de la web antigua (con su aro fino) */
.area .ico{width:76px;height:76px;background:none!important;border-radius:0}
.area .ico img{width:100%;height:100%;object-fit:contain}
/* relatos sin imagen: lista de texto */
.relato{grid-template-columns:1fr}
.stories a{display:inline}
/* página de cada relato */
.story{padding-top:72px}
.story .narrow{max-width:680px}
.story .back{font-size:.92rem;color:var(--soft)}
.story .back:before{content:"← "}
.story h1{font-size:clamp(2.2rem,5vw,3.2rem);margin:10px 0 34px}
.story-text p{font-size:1.1rem;line-height:1.85;margin:0 0 1.15em;color:var(--ink)}
.story-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
.story-text hr.sep{border:0;text-align:center;margin:2.2em 0}
.story-text hr.sep:before{content:"· · ·";color:var(--muted,#888);letter-spacing:.4em}
.relato.con-img{grid-template-columns:150px 1fr}
.relato .rimg{display:block}
.relato .rimg img{width:150px;height:120px;object-fit:cover;border:0;padding:0;background:none;border-radius:10px;transition:opacity .2s}
.relato .rimg:hover img{opacity:.85}
@media (max-width:560px){.relato.con-img{grid-template-columns:96px 1fr;gap:16px}.relato .rimg img{width:96px;height:96px}}
.story-img{margin:0 0 36px}
.story-img img{width:100%;height:clamp(240px,42vw,400px);object-fit:cover;border-radius:12px;display:block}
.prose .relato.mas{display:none}
.prose.todos .relato.mas{display:grid}
.prose.todos .ver-mas{display:none}
.ver-mas{margin-top:28px;cursor:pointer;font:inherit}
.ver-mas{width:auto;display:inline-flex}
#tres .rimg img{object-position:72% center}
.flow li.c-green .n{border-color:var(--green);color:var(--green)}
.flow li.c-yellow .n{border-color:var(--yellow);color:var(--yellow)}
.flow.f4:before{background:linear-gradient(90deg,var(--marta),var(--red),var(--green),var(--yellow))}
@media (max-width:900px){.flow.f4:before{background:linear-gradient(180deg,var(--marta),var(--red),var(--green),var(--yellow))}}
/* ---- 24-10: sistema tipográfico y encuadre unificados ---- */
:root{--fs-h1:clamp(2.5rem,5vw,3.6rem);--fs-h2:clamp(1.75rem,3.2vw,2.3rem);--fs-h3:1.15rem;--fs-lead:1.12rem;--fs-eyebrow:.95rem}
h1,.phero h1,.hero2 h1,.story h1{font-size:var(--fs-h1);line-height:1.1}
h2,.prose h2{font-size:var(--fs-h2);line-height:1.18}
h3,.card h3,.shelf .card h3,.area h3,.relato h2{font-family:var(--sans);font-weight:600;font-size:var(--fs-h3);line-height:1.3}
.eyebrow{font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:0;text-transform:none}
.lead,.phero .lead,.head .lead{font-size:var(--fs-lead);line-height:1.6}
.head{gap:12px}
.head .lead{margin:0}
/* frases y lemas en la letra del texto, Playfair solo en títulos grandes */
.motto,.claim,.hero .claim,.hero2 .claim,.do-band .motto,.prose blockquote{font-family:var(--sans);font-style:normal;font-weight:600;font-size:var(--fs-lead);color:var(--do);line-height:1.5}
/* cabeceras de página: el texto de la derecha alineado con la base del título */
@media (min-width:901px){
  .phero .narrow{align-items:end}
  .phero .narrow>.lead,.phero .narrow>.motto{align-self:end;margin-bottom:.35em}
}
/* imagen + texto en dos columnas, centrados entre sí */
.media{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:center}
.media-img{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:var(--ar,4/3);background:var(--beige2)}
.media-img img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,center);display:block}
.media .head{margin-bottom:22px}
@media (max-width:900px){.media{grid-template-columns:1fr;gap:28px}.media-img{aspect-ratio:3/2}}
.media{align-items:start}
.hero2 h1 span,.hero h1 span{font-family:var(--sans);font-size:1.25rem;font-weight:400;color:var(--soft);letter-spacing:0}
.media .head h2,.media .head .eyebrow{margin:0}
@media (max-width:900px){.media-img{aspect-ratio:var(--ar-m,3/2)}}
.refugio-band{max-width:820px}

.legal-text ul{padding-left:18px}.legal-text h2{margin-top:36px}
.pimg.band-photo{transform:none;margin-top:56px}
@media (max-width:700px){.pimg.band-photo{margin-top:32px}}
/* foto que se desplaza más despacio que la página, entre dos textos */
.parallax{position:relative;height:clamp(300px,62vh,620px);overflow:hidden;background:#222}
.parallax img{position:absolute;left:0;top:-20%;width:100%;height:140%;object-fit:cover;object-position:center 55%;will-change:transform}
@media (max-width:700px){.parallax{height:46vh}}
