/*
Theme Name: Casa Rural La Pasivera
Theme URI: https://keyhom.com
Author: KH Rural · Grupo Keyhom
Description: Web de una página para la Casa Rural La Pasivera (Pasarón de la Vera, Cáceres): entrada animada, vídeos, estancias, casa pasiva, entorno, preguntas frecuentes y reserva directa. SEO integrado (título, descripción, Open Graph y datos estructurados). Ajustes en Apariencia › Personalizar › La Pasivera.
Version: 1.3
Requires at least: 6.0
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: la-pasivera
*/

/* Layout: una ventana con forma de hastial (la cercha del salón) como hilo conductor: valle → terraza → salón; una sola casa, recorrida por estancias */
:root{
  --bg:#EDEFE8;        /* cal con un punto verde */
  --surface:#F7F8F3;
  --ink:#1C2619;       /* robledal en sombra */
  --muted:#545D50;
  --line:#CFD4C6;
  --accent:#7E531A;    /* madera de la cercha y brezo del porche */
  --band:#1E2A1C;      /* banda oscura: monte de La Vera */
  --band-ink:#EEF0E6;
  --band-muted:#C3C9B8;
  --band-accent:#E0B467;
  --focus:var(--accent);
  --f-display:"Young Serif","Georgia","Times New Roman",serif;
  --f-body:"Instrument Sans","Segoe UI",system-ui,sans-serif;
  --f-mono:"Martian Mono",ui-monospace,Menlo,monospace;
  --gut-l:max(16px,env(safe-area-inset-left,0px));
  --gut-r:max(16px,env(safe-area-inset-right,0px));
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#121711;--surface:#19201A;--ink:#E7EBE0;--muted:#A3AB9C;--line:#2B3429;
  --accent:#E0B467;--band:#0D120C;--band-ink:#EEF0E6;--band-muted:#C3C9B8;--band-accent:#E0B467;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#121711;--surface:#19201A;--ink:#E7EBE0;--muted:#A3AB9C;--line:#2B3429;
  --accent:#E0B467;--band:#0D120C;--band-ink:#EEF0E6;--band-muted:#C3C9B8;--band-accent:#E0B467;color-scheme:dark}

*{box-sizing:border-box}
html{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0}
img{max-width:100%;height:auto}
.admin-bar .bar{top:32px}
@media (max-width:782px){.admin-bar .bar{top:46px}}
@media (max-width:600px){.admin-bar .bar{top:0}}
.admin-bar .stage-pin{top:calc(32px + 56px)}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 72px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--bg);color:var(--ink);font:16px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--band)}
img,video{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.bar,.stage,.book,footer,.menu,.mcta,.lb{--focus:var(--band-accent)}
.skip{position:absolute;left:16px;top:-120px;z-index:100;background:var(--band-accent);color:var(--band);padding:12px 18px;border-radius:999px;font-weight:600;text-decoration:none}
.skip:focus{top:calc(env(safe-area-inset-top,0px) + 8px)}
.wrap{max-width:1160px;margin:0 auto;padding-left:var(--gut-l);padding-right:var(--gut-r)}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.1;text-wrap:balance;margin:0}
.eyebrow{font:400 11px/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Barra */
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--band) 93%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--band-ink)}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:6px}
.brand{display:inline-flex;align-items:baseline;min-height:44px;align-items:center;font-family:var(--f-display);font-size:19px;text-decoration:none;white-space:nowrap}
.brand small{font:400 10px var(--f-mono);letter-spacing:.14em;opacity:.65;margin-left:10px}
.bar nav{display:flex;gap:22px;font-size:14px}
.bar nav a{text-decoration:none;opacity:.82}
.bar nav a:hover{opacity:1;color:var(--band-accent)}
.bar .cta{display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--band-accent);color:var(--band-ink);padding:0 18px;border-radius:999px;text-decoration:none;font-size:14px;white-space:nowrap}
.bar .cta:hover{background:var(--band-accent);color:var(--band)}
@media (max-width:760px){.bar nav{display:none}.brand small{display:none}}

/* Escenario: valle → terraza → salón */
.stage{background:var(--band);color:var(--band-ink);height:320vh;position:relative}
.stage-pin{position:sticky;top:calc(env(safe-area-inset-top,0px) + 56px);height:calc(100vh - 56px);display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:center;gap:clamp(36px,5vw,72px);max-width:1320px;margin:0 auto;padding-left:var(--gut-l);padding-right:var(--gut-r)}
.window{position:relative;order:-1;width:min(100%,calc((100vh - 84px) * .8),760px);aspect-ratio:4/5;justify-self:end;clip-path:polygon(50% 0,100% 24%,100% 100%,0 100%,0 24%);overflow:hidden}
.window img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform,opacity}
.window .l0{object-position:22% 55%;transform-origin:35% 50%}
.window .l1{object-position:62% 50%;transform-origin:62% 55%;transform:scale(2.2);opacity:0}
.window .l3{object-position:50% 40%;opacity:0}
.window::after{content:"";position:absolute;inset:auto 0 0;height:26%;background:linear-gradient(transparent,rgba(13,18,12,.5));pointer-events:none}
.copy{display:grid;min-width:0}
.copy > .beat{grid-area:1/1}
.copy > .progress{grid-area:2/1}
.beat{transition:opacity .5s,transform .5s}
.beat[inert]{opacity:0;transform:translateY(12px);pointer-events:none}
.beat h1,.beat h2{font-size:clamp(42px,5.2vw,74px);line-height:1.06;margin:16px 0 24px}
.beat p{max-width:40ch;color:var(--band-muted);font-size:clamp(17px,1.4vw,19px);margin:0}
.beat .eyebrow{color:var(--band-accent)}
.beat .btn{margin-top:26px}
.progress{display:flex;gap:8px;margin-top:34px}
.progress i{width:28px;height:2px;background:rgba(238,240,230,.2);transition:background .4s}
.progress i.on{background:var(--band-accent)}
.hint{position:absolute;right:var(--gut-r);bottom:22px;font:400 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;opacity:.55}
@media (max-width:820px){
  .stage-pin{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:18px;align-content:start;padding-block:16px}
  .window{width:min(100%,calc((100vh - 290px) * .8));min-width:240px;justify-self:center}
  @supports (height:100svh){.window{width:min(100%,calc((100svh - 290px) * .8))}}
  .beat h1,.beat h2{font-size:32px;margin:8px 0 10px}
  .beat p{font-size:15px}.progress{margin-top:16px}.hint{display:none}
}
@media (prefers-reduced-motion:reduce){
  .stage{height:auto}.stage-pin{position:relative;top:0;height:auto;padding-block:48px}
  .window .l0,.window .l1{display:none}.window .l3{opacity:1}
  .beat[inert]{display:none}
}

.btn{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:var(--bg);padding:12px 22px;min-height:44px;border-radius:999px;text-decoration:none;font-weight:600;font-size:15px;border:0;cursor:pointer;width:max-content}
.btn:hover{filter:brightness(1.08)}
.beat .btn,.book .btn,.mcta .btn{background:var(--band-accent);color:var(--band)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--muted)}

section{padding-block:clamp(56px,8vw,104px)}
section:focus{outline:none}

/* La casa */
.house-grid{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.house-grid > *{min-width:0}
@media (max-width:820px){.house-grid{grid-template-columns:1fr}}
.player{position:relative;clip-path:polygon(50% 0,100% 14%,100% 100%,0 100%,0 14%);background:#000;aspect-ratio:9/16;max-width:340px;width:100%;justify-self:center}
.player video{width:100%;height:100%;object-fit:cover}
.player button{position:absolute;inset:0;border:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.6));color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px;padding:0 0 28px;font:500 14px var(--f-body)}
.player button span.ring{width:64px;height:64px;border-radius:50%;border:1.5px solid rgba(255,255,255,.85);display:grid;place-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.25)}
.player button span.ring::after{content:"";border-left:16px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}
.player.playing button{display:none}
.player-cap{font:400 11px var(--f-mono);color:var(--muted);margin-top:12px;text-align:center;letter-spacing:.06em}
.house h2{font-size:clamp(32px,4.4vw,52px);margin:12px 0 18px}
.lede{font-size:18px;max-width:58ch;margin:0 0 28px}
.facts{display:flex;flex-wrap:wrap;gap:10px 30px;margin:0 0 30px;font-variant-numeric:tabular-nums}
.facts div{display:flex;flex-direction:column}
.facts dt{font:400 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);order:2}
.facts dd{margin:0;font-family:var(--f-display);font-size:34px;line-height:1.1;order:1}
.feat{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;max-width:640px}
@media (max-width:520px){.feat{grid-template-columns:1fr}}
.feat li{padding-left:22px;position:relative;font-size:15px}
.feat li::before{content:"";position:absolute;left:0;top:.42em;width:10px;height:11px;background:var(--accent);clip-path:polygon(50% 0,100% 38%,100% 100%,0 100%,0 38%)}

/* Estancias */
.rooms{border-top:1px solid var(--line);background:var(--surface)}
.rooms-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px 40px;margin-bottom:40px}
.rooms-head h2{font-size:clamp(30px,4vw,46px);margin-top:12px}
.rooms-head p{color:var(--muted);max-width:44ch;margin:0}
.room{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:16px 40px;padding-block:28px;border-top:1px solid var(--line)}
.room > *{min-width:0}
.room h3{font-size:26px;margin:6px 0 8px}
.room p{color:var(--muted);font-size:15px;margin:0}
@media (max-width:820px){.room{grid-template-columns:1fr}}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.gallery button{padding:0;border:0;background:none;cursor:zoom-in;border-radius:4px;overflow:hidden;aspect-ratio:4/3}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery button:hover img{transform:scale(1.05)}

/* Entorno */
.loc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.loc-grid > *{min-width:0}
@media (max-width:820px){.loc-grid{grid-template-columns:1fr}}
.loc h2{font-size:clamp(30px,4vw,46px);margin:12px 0 16px}
.loc p{color:var(--muted);max-width:52ch}
.loc figure{margin:28px 0 0;clip-path:polygon(50% 0,100% 18%,100% 100%,0 100%,0 18%);aspect-ratio:16/10;overflow:hidden;max-width:100%}
.loc figure img{width:100%;height:100%;object-fit:cover}
.walk{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.walk li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.walk b{font-weight:500}
.walk span{font-family:var(--f-mono);font-size:13px;color:var(--muted);white-space:nowrap}
.walk-cap{font:400 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}

/* Reservar */
.book{background:var(--band);color:var(--band-ink)}
.book h2{font-size:clamp(32px,4.4vw,52px);margin:12px 0 16px}
.book p{color:var(--band-muted);max-width:56ch}
.book .eyebrow{color:var(--band-accent)}
.book-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.book .btn.ghost{background:transparent;color:var(--band-ink);border-color:rgba(238,240,230,.55)}
footer{background:var(--band);color:var(--band-muted);border-top:1px solid rgba(238,240,230,.1);font-size:13px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;padding-block:28px}
footer code{font-family:var(--f-mono);font-size:12px;color:var(--band-accent)}

/* Visor */
.lb{position:fixed;inset:0;z-index:50;background:rgba(8,11,8,.94);display:grid;place-items:center;padding:calc(env(safe-area-inset-top,0px) + 56px) var(--gut-r) calc(env(safe-area-inset-bottom,0px) + 56px) var(--gut-l)}
.lb img{max-height:100%;max-width:100%;object-fit:contain;border-radius:4px}
.lb button{position:absolute;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:999px;width:44px;height:44px;font-size:20px;cursor:pointer}
.lb .x{top:calc(env(safe-area-inset-top,0px) + 12px);right:calc(env(safe-area-inset-right,0px) + 16px)}
.lb .pv{left:calc(env(safe-area-inset-left,0px) + 16px);top:50%}
.lb .nx{right:calc(env(safe-area-inset-right,0px) + 16px);top:50%}
.lb p{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);left:0;right:0;text-align:center;color:#ccc;font-size:14px;margin:0;padding-inline:16px}

/* Móvil */
.menu-btn{display:none}
.menu{position:fixed;inset:0;z-index:15;background:var(--band);color:var(--band-ink);padding:calc(env(safe-area-inset-top,0px) + 84px) max(24px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 32px) max(24px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;overflow-y:auto}
.menu .eyebrow{color:var(--band-accent);margin:0 0 14px}
.menu a{font-family:var(--f-display);font-size:30px;line-height:1.2;text-decoration:none;padding:14px 0;border-bottom:1px solid rgba(238,240,230,.12)}
.menu a.btn{font:600 16px var(--f-body);border:0;margin-top:28px;padding:15px 24px;background:var(--band-accent);color:var(--band);width:100%;justify-content:center}
body.menu-open{overflow:hidden}
.mcta{display:none}
.gallery-hint{display:none}
@supports (height:100svh){@media (prefers-reduced-motion:no-preference){.stage-pin{height:calc(100svh - 56px)}}}
@media (max-width:760px){
  .bar .cta{display:none}
  .menu-btn{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;margin-right:-10px;background:none;border:0;cursor:pointer;padding:0}
  .menu-btn span:not(.screen-reader-text){display:block;width:24px;height:1.5px;background:var(--band-ink);transition:transform .3s}
  .menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(3.75px) rotate(45deg)}
  .menu-btn[aria-expanded="true"] span:nth-child(2){transform:translateY(-3.75px) rotate(-45deg)}
  .mcta{position:fixed;left:0;right:0;bottom:0;z-index:18;display:flex;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 10px) max(16px,env(safe-area-inset-left,0px));background:color-mix(in srgb,var(--band) 94%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(238,240,230,.1);transition:transform .35s ease,visibility 0s}
  .mcta .btn{flex:1;justify-content:center;width:auto;padding:13px 18px}
  .mcta.away,body.menu-open .mcta{transform:translateY(110%);visibility:hidden;transition:transform .35s ease,visibility 0s .35s}
  html{scroll-padding-bottom:calc(env(safe-area-inset-bottom,0px) + 84px)}
  footer{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 70px)}
  section{padding-block:56px}
  .house h2,.book h2{font-size:32px}
  .rooms-head h2,.loc h2{font-size:30px}
  .lede{font-size:16px}
  .stage-pin{padding-bottom:84px}
  .window{width:min(100%,calc((100vh - 340px) * .8))}
  @supports (height:100svh){.window{width:min(100%,calc((100svh - 340px) * .8))}}
  .player{max-width:270px}
  .gallery-hint{display:flex;justify-content:space-between;font:400 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
  .gallery{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;margin-right:calc(-1 * max(16px,env(safe-area-inset-right,0px)));padding-right:max(16px,env(safe-area-inset-right,0px));scrollbar-width:none}
  .gallery::-webkit-scrollbar{display:none}
  .gallery button{flex:0 0 82%;scroll-snap-align:start;border-radius:8px}
  .facts dd{font-size:28px}
  .book-row .btn{width:100%;justify-content:center}
}
@media (max-width:950px) and (max-height:500px) and (orientation:landscape){
  .stage-pin{grid-template-columns:auto minmax(0,1fr);grid-template-rows:none;align-content:center;gap:28px;padding-block:12px}
  .window{width:auto;height:calc(100vh - 120px);min-width:0;justify-self:start}
  .beat h1,.beat h2{font-size:28px;margin:6px 0 8px}
  .beat p{font-size:14px}.progress{margin-top:12px}.beat .btn{margin-top:14px}
}

/* Casa pasiva */
.eco{background:var(--band);color:var(--band-ink)}
.eco .eyebrow{color:var(--band-accent)}
.eco-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 56px;align-items:end;margin-bottom:48px}
.eco-head h2{font-size:clamp(30px,4vw,48px);margin-top:12px}
.eco-head p{color:var(--band-muted);margin:0;max-width:56ch}
.eco-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(238,240,230,.14);border:1px solid rgba(238,240,230,.14)}
.eco-grid li{background:var(--band);padding:28px 24px 30px;min-width:0}
.eco-grid svg{width:44px;height:44px;fill:none;stroke:var(--band-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-bottom:18px}
.eco-grid h3{font-size:22px;margin:0 0 10px}
.eco-grid p{color:var(--band-muted);font-size:15px;margin:0}
@media (max-width:980px){.eco-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.eco-head{grid-template-columns:1fr}}
@media (max-width:520px){.eco-grid{grid-template-columns:1fr}.eco-head h2{font-size:30px}}

/* Reserva directa */
.seal{display:inline-flex;align-items:center;gap:10px;margin-top:22px;min-height:40px;padding:8px 16px 8px 12px;border:1px solid var(--band-accent);border-radius:999px;color:var(--band-accent);text-decoration:none;font:400 11px/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;width:max-content;max-width:100%}
.seal::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--band-accent);flex:none}
.seal:hover{background:var(--band-accent);color:var(--band)}
.seal:hover::before{background:var(--band)}
.book-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px 64px;align-items:start}
.book-grid > *{min-width:0}
.perks{list-style:none;margin:0;padding:0;border-top:1px solid rgba(238,240,230,.18)}
.perks li{display:grid;gap:4px;padding:16px 0 16px 30px;border-bottom:1px solid rgba(238,240,230,.18);position:relative}
.perks li::before{content:"";position:absolute;left:2px;top:22px;width:12px;height:7px;border-left:2px solid var(--band-accent);border-bottom:2px solid var(--band-accent);transform:rotate(-45deg)}
.perks b{font-weight:600}
.perks span{color:var(--band-muted);font-size:15px}
@media (max-width:820px){.book-grid{grid-template-columns:1fr}}
@media (max-width:820px){.seal{margin-top:14px}}
@media (max-width:420px){.seal{font-size:10px;letter-spacing:.05em}}

/* Vídeo de la terraza y foto de los paneles */
.player.mini{max-width:220px;margin-top:22px;justify-self:start}
@media (max-width:820px){.player.mini{max-width:200px}}
.eco-photo{margin:0 0 40px;position:relative;aspect-ratio:21/9;overflow:hidden;max-width:100%}
.eco-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.eco-photo figcaption{position:absolute;left:0;bottom:0;padding:10px 14px;background:color-mix(in srgb,var(--band) 82%,transparent);color:var(--band-ink);font:400 11px/1.4 var(--f-mono);letter-spacing:.06em;text-transform:uppercase}
@media (max-width:620px){.eco-photo{aspect-ratio:auto;overflow:visible}.eco-photo figcaption{position:static;background:none;padding:10px 0 0;color:var(--band-muted)}.eco-photo img{aspect-ratio:4/3;height:auto}}

/* Vídeo del porche, grande */
.porch{border-top:1px solid var(--line)}
.porch-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(28px,6vw,80px);align-items:center}
.porch-media{position:relative;justify-self:center}
.porch-video{display:block;height:min(82vh,780px);width:auto;aspect-ratio:9/16;object-fit:cover;background:#000;border-radius:6px}
.porch-toggle{position:absolute;left:14px;bottom:14px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.55);background:rgba(13,18,12,.55);color:#fff;font:500 14px var(--f-body);cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.porch-toggle:hover{background:rgba(13,18,12,.75)}
.porch-copy{min-width:0;max-width:52ch}
.porch-copy h2{font-size:clamp(32px,4.4vw,52px);margin:12px 0 18px}
.porch-copy p{font-size:18px;color:var(--muted);margin:0 0 28px}
@media (max-width:820px){
  .porch-grid{grid-template-columns:1fr}
  .porch-media{justify-self:stretch}
  .porch-video{width:100%;height:auto;max-height:none}
  .porch-copy h2{font-size:32px}
  .porch-copy p{font-size:16px}
}

/* Preguntas frecuentes */
.faq{border-top:1px solid var(--line);background:var(--surface)}
.faq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:24px 64px;align-items:start}
.faq-grid > *{min-width:0}
.faq h2{font-size:clamp(30px,4vw,46px);margin-top:12px}
.faq-list{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:12px 0;font-family:var(--f-display);font-size:20px;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 22px var(--f-body);color:var(--accent);flex:none;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 18px;color:var(--muted);max-width:62ch}
@media (max-width:820px){.faq-grid{grid-template-columns:1fr}.faq h2{font-size:30px}.faq summary{font-size:18px}}

/* Móvil: entrada animada más corta */
@media (max-width:760px) and (prefers-reduced-motion:no-preference){.stage{height:250vh}}

.wa-line{margin-top:20px;color:var(--band-muted)}
.wa-line a{color:var(--band-accent)}
footer .legal ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}
footer .legal a{color:var(--band-muted)}
/* Páginas interiores (aviso legal, privacidad, cookies…) */
.page-main{padding-block:clamp(48px,7vw,96px)}
.page-wrap{max-width:780px}
.page-main h1{font-size:clamp(32px,4.4vw,48px);margin:0 0 28px}
.page-content{font-size:17px}
.page-content h2{font-size:26px;margin:36px 0 12px}
.page-content h3{font-size:21px;margin:28px 0 10px}
.page-content a{color:var(--accent)}
.page-back{display:inline-block;margin-top:36px}
.player .player-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
