/* Hanson Center Fit: identidad oficial negro + dorado. */
:root{
  --accent:#c8a24a;
  --accent-strong:#e2c46d;
  --mint:#d6b45d;
  --violet:#a88432;
  --warning:#d8aa3c;
}
[data-theme="dark"]{
  --bg:#050505;
  --bg-elevated:#090909;
  --surface:#111111;
  --surface-2:#181818;
  --surface-3:#212121;
  --text:#f7f3e9;
  --text-soft:#c1baa9;
  --muted:#817b6f;
  --border:rgba(226,196,109,.13);
  --border-strong:rgba(226,196,109,.27);
  --header:rgba(5,5,5,.88);
  --invert-text:#090806;
  --text-primary:var(--text);
  --text-secondary:var(--muted);
  --border-color:var(--border);
  --card-bg:var(--surface);
}
[data-theme="light"]{
  --bg:#f7f4ed;
  --bg-elevated:#eee8dc;
  --surface:#fffdf8;
  --surface-2:#e9e1d2;
  --surface-3:#ded2be;
  --text:#15120d;
  --text-soft:#514a3e;
  --muted:#756d60;
  --border:rgba(68,52,25,.14);
  --border-strong:rgba(68,52,25,.27);
  --header:rgba(247,244,237,.9);
  --invert-text:#080704;
  --text-primary:var(--text);
  --text-secondary:var(--muted);
  --border-color:var(--border);
  --card-bg:var(--surface);
}
::selection{background:var(--accent);color:#080704}
.brand img{box-shadow:0 8px 24px rgba(200,162,74,.22)}
.btn:focus-visible,input:focus-visible,select:focus-visible,button:focus-visible,summary:focus-visible,a:focus-visible{outline-color:rgba(200,162,74,.42)}
.btn-primary,.admin-btn-primary,.popular-badge,.trainer-photo small,.progress-current,.promo-card{color:#0a0804}
.btn-primary{box-shadow:0 12px 30px rgba(200,162,74,.18)}
.demo-login-fill{width:100%;min-height:40px;margin:10px 0 8px;padding:8px 12px;border:1px solid rgba(200,162,74,.38);border-radius:9px;background:rgba(200,162,74,.11);color:var(--text);font-size:10px;font-weight:900;letter-spacing:.035em;cursor:pointer}.demo-login-fill:hover{border-color:var(--accent);background:var(--accent);color:#090704}.login-demo>small{display:block;margin-bottom:10px;color:var(--muted);font-size:9px;line-height:1.55}.first-access-note{display:flex;gap:12px;margin:-13px 0 21px;padding:13px 14px;border:1px solid rgba(200,162,74,.3);border-radius:11px;background:rgba(200,162,74,.08)}.first-access-note>span{display:grid;flex:0 0 24px;height:24px;place-items:center;border-radius:50%;background:var(--accent);color:#090704;font-size:10px;font-weight:900}.first-access-note p{margin:0;color:var(--text-soft);font-size:10px;line-height:1.65}.first-access-note code{padding:2px 5px;border-radius:5px;background:var(--surface-2);color:var(--accent);font-weight:900}
.hero-glow-one{background:radial-gradient(circle,rgba(200,162,74,.48),transparent 68%)}
.hero-glow-two{background:radial-gradient(circle,rgba(226,196,109,.22),transparent 70%)}
.hero-photo{
  background-image:linear-gradient(90deg,rgba(4,4,4,.16),rgba(4,4,4,.03)),var(--hero-image,url('../img/gym/free-weights.jpg'));
  background-size:cover;
  background-position:54% center;
  border-color:rgba(226,196,109,.25);
}
[data-theme="light"] .hero-photo{background-image:linear-gradient(90deg,rgba(8,7,4,.15),rgba(255,255,255,.05)),var(--hero-image,url('../img/gym/free-weights.jpg'))}
.hero-photo::before{display:none}.hero-monogram{color:rgba(226,196,109,.08)}
.metric-float{border-color:rgba(226,196,109,.24);background:rgba(8,7,5,.84)}
.metric-icon{color:#090704}.pulse-dot{border-color:rgba(200,162,74,.28);box-shadow:0 0 0 5px rgba(200,162,74,.12)}
.demo-notice{border-color:rgba(200,162,74,.23);background:rgba(200,162,74,.075)}
.experience-art{background-size:cover;background-position:center}.experience-art::before{display:none}.experience-art>span{display:none}
.art-strength{background-image:linear-gradient(180deg,rgba(3,3,3,.08),rgba(3,3,3,.58)),url('../img/gym/strength-floor.jpg')}
.art-tech{background-image:linear-gradient(180deg,rgba(3,3,3,.08),rgba(3,3,3,.62)),url('../img/gym/free-weights.jpg')}
.art-community{background-image:linear-gradient(180deg,rgba(3,3,3,.08),rgba(3,3,3,.58)),url('../img/classes/group-class.jpg')}
.experience-copy{background:linear-gradient(180deg,rgba(10,9,7,.82),#0b0a08)}
.plan-card.featured{background:linear-gradient(155deg,rgba(200,162,74,.15),var(--surface) 36%);border-color:rgba(200,162,74,.5)}
.promo-card{background:linear-gradient(125deg,#a67c25,#d8b65c 46%,#f0d889)}.promo-card .section-kicker{color:#3b2b0e}.promo-card p{color:#3d3018}
.contact-section{background:#070706}.site-footer{background:#030303}
.login-visual{background-image:linear-gradient(90deg,rgba(3,3,3,.88),rgba(3,3,3,.4)),url('../img/gym/strength-floor.jpg');background-size:cover;background-position:center}
.login-visual::before{border-color:rgba(200,162,74,.14)}
.admin-sidebar{background:#060606}.sidebar-link.active{background:rgba(200,162,74,.14);color:#f0d889}.sidebar-link.active::before{box-shadow:0 0 14px rgba(200,162,74,.48)}
.user-avatar,.top-avatar span{background:linear-gradient(145deg,#e2c46d,#9e7623);color:#080704}
.sidebar-user-menu{background:#10100f}.global-search input:focus{border-color:rgba(200,162,74,.5);box-shadow:0 0 0 3px rgba(200,162,74,.09)}
.kpi-feature{background:linear-gradient(150deg,rgba(200,162,74,.15),var(--surface) 55%)}.kpi-feature::after{border-color:rgba(200,162,74,.08)}
.kpi-icon.lime,.portal-icon.lime{background:rgba(200,162,74,.14)}.kpi-icon.mint,.portal-icon.mint{background:rgba(214,180,93,.13)}.kpi-icon.violet,.portal-icon.violet{background:rgba(168,132,50,.14)}
.manager-strip{border-color:rgba(200,162,74,.25);background:linear-gradient(130deg,rgba(200,162,74,.13),var(--surface) 50%)}
.digital-card{border-color:rgba(200,162,74,.32);background:linear-gradient(145deg,#070604,#16120a 58%,#080705)}
.progress-current{background:linear-gradient(145deg,#ad8128,#e1c36b)}.progress-current dl>div{background:rgba(226,196,109,.88)}
.kiosk-body{background:#030303}.kiosk-grid{background-image:linear-gradient(rgba(200,162,74,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(200,162,74,.1) 1px,transparent 1px)}.kiosk-shell::before{background:radial-gradient(circle,rgba(200,162,74,.14),transparent 67%)}
.kiosk-input input:focus{border-color:rgba(200,162,74,.68);box-shadow:0 0 0 5px rgba(200,162,74,.07)}
.installer-shell>aside{background:#050505}
.public-body main#contenido{display:flex;flex-direction:column}.preview-ribbon{position:fixed;z-index:1300;left:50%;top:84px;transform:translateX(-50%);padding:8px 14px;border:1px solid rgba(200,162,74,.45);border-radius:99px;background:#0a0907;color:#e2c46d;font-size:9px;font-weight:900;letter-spacing:.13em;box-shadow:0 12px 35px rgba(0,0,0,.3)}
.gallery-section{background:var(--bg-elevated)}.gallery-masonry{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:135px;gap:14px}.gallery-tile{position:relative;grid-column:span 4;grid-row:span 2;margin:0;overflow:hidden;border:1px solid var(--border);border-radius:22px;background:var(--surface)}.gallery-tile-1,.gallery-tile-5{grid-column:span 7;grid-row:span 3}.gallery-tile-2,.gallery-tile-4{grid-column:span 5}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .4s ease}.gallery-tile:hover img{transform:scale(1.045);filter:saturate(1.08)}.gallery-tile::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(4,4,4,.9))}.gallery-tile figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;display:grid;color:#fff}.gallery-tile figcaption span{color:var(--accent);font-size:7px;font-weight:900;letter-spacing:.16em}.gallery-tile figcaption strong{font-family:var(--font-display);font-size:24px;text-transform:uppercase}.gallery-tile figcaption small{color:#bdb7aa;font-size:9px}.location-section{background:var(--bg)}.location-card{display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;border:1px solid var(--border);border-radius:30px;background:var(--surface)}.location-photo{min-height:520px}.location-photo img{width:100%;height:100%;object-fit:cover}.location-card>div:last-child{align-self:center;padding:55px}.location-card h2{font-size:clamp(42px,4.7vw,68px)}.location-card p,.location-card address{color:var(--text-soft);font-size:12px;line-height:1.75}.location-card address{margin:22px 0;font-style:normal;font-weight:800}.schedule-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:22px 0;background:var(--border)}.schedule-mini span{display:grid;padding:12px;background:var(--surface)}.schedule-mini b{margin-bottom:4px;color:var(--accent);font-size:7px;letter-spacing:.1em}.schedule-mini span{color:var(--muted);font-size:8px}
.facilities-section{background:var(--bg)}.facilities-showcase{display:grid;grid-template-columns:1.4fr .6fr;gap:15px}.facilities-showcase figure{position:relative;margin:0;overflow:hidden;border:1px solid var(--border);border-radius:24px;background:var(--surface)}.facilities-showcase img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.facilities-showcase figure:hover img{transform:scale(1.035)}.facilities-showcase figure::after{content:"";position:absolute;inset:28% 0 0;background:linear-gradient(transparent,rgba(3,3,3,.92))}.facility-feature{min-height:570px}.facility-stack{display:grid;grid-template-rows:1fr 1fr;gap:15px}.facility-stack figure{min-height:275px}.facilities-showcase figcaption{position:absolute;z-index:2;left:25px;right:25px;bottom:23px;display:grid;color:#fff}.facilities-showcase figcaption span{margin-bottom:5px;color:var(--accent);font-size:7px;font-weight:900;letter-spacing:.14em}.facilities-showcase figcaption strong{font-family:var(--font-display);font-size:clamp(23px,2.8vw,40px);text-transform:uppercase}.facilities-showcase figcaption small{max-width:560px;margin-top:6px;color:#c8c0b1;font-size:9px;line-height:1.6}.facility-stack figcaption strong{font-size:22px}.news-section{background:var(--bg-elevated)}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.news-card{overflow:hidden;border:1px solid var(--border);border-radius:22px;background:var(--surface);transition:transform .35s ease,border-color .35s ease}.news-card:hover{transform:translateY(-5px);border-color:var(--border-strong)}.news-card>img{width:100%;height:245px;object-fit:cover}.news-card>div{padding:23px}.news-card time{color:var(--accent);font-size:7px;font-weight:900;letter-spacing:.13em}.news-card h3{margin:8px 0 7px;font-family:var(--font-display);font-size:26px;line-height:1.08;text-transform:uppercase}.news-card p{margin:0;color:var(--text-soft);font-size:9px;line-height:1.7}.news-card details{margin-top:15px;padding-top:13px;border-top:1px solid var(--border)}.news-card summary{display:flex;justify-content:space-between;color:var(--accent);font-size:8px;font-weight:900;cursor:pointer;list-style:none}.news-card details p{margin-top:12px;color:var(--muted)}
@media(max-width:820px){.hero-photo{background-image:linear-gradient(90deg,rgba(4,4,4,.16),rgba(4,4,4,.03)),var(--hero-image-mobile,var(--hero-image))}.facilities-showcase{grid-template-columns:1fr}.facility-feature{min-height:430px}.facility-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto}.news-grid{grid-template-columns:1fr 1fr}.news-card:last-child{grid-column:span 2}.gallery-masonry{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.gallery-tile,.gallery-tile-1,.gallery-tile-2,.gallery-tile-4,.gallery-tile-5{grid-column:span 1;grid-row:span 1}.gallery-tile:first-child{grid-column:span 2;grid-row:span 2}.location-card{grid-template-columns:1fr}.location-photo{min-height:320px}.location-card>div:last-child{padding:34px}.preview-ribbon{top:76px}}
@media(max-width:560px){.facility-feature,.facility-stack figure{min-height:320px}.facility-stack,.news-grid{grid-template-columns:1fr}.news-card:last-child{grid-column:auto}.news-card>img{height:220px}.gallery-masonry{grid-template-columns:1fr}.gallery-tile,.gallery-tile:first-child{grid-column:span 1;grid-row:span 1}.location-card>div:last-child{padding:28px 20px}.schedule-mini{grid-template-columns:1fr}.preview-ribbon{width:calc(100% - 28px);text-align:center}}

/* Portada cinematográfica y bloque editorial de Pedro Hanzon. */
.public-body .site-header:not(.scrolled){color:#fff;text-shadow:0 1px 18px rgba(0,0,0,.35)}
.public-body .site-header:not(.scrolled) .brand small,.public-body .site-header:not(.scrolled) .main-nav>a{color:rgba(255,255,255,.74)}
.public-body .site-header:not(.scrolled) .theme-toggle,.public-body .site-header:not(.scrolled) .btn-ghost,.public-body .site-header:not(.scrolled) .menu-toggle{border-color:rgba(255,255,255,.24);background:rgba(0,0,0,.18);color:#fff;backdrop-filter:blur(12px)}
.hero-section.video-hero{display:flex;min-height:max(760px,100svh);padding:0;background:#050505;color:#fff;isolation:isolate}
.video-hero .hero-media{position:absolute;z-index:-4;inset:0;overflow:hidden;background-image:var(--hero-poster);background-position:center;background-size:cover}
.video-hero .hero-media video{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.08)}
.video-hero .hero-media iframe{position:absolute;top:50%;left:50%;width:177.78vh;min-width:100%;height:56.25vw;min-height:100%;border:0;transform:translate(-50%,-50%);pointer-events:none;filter:saturate(.78) contrast(1.08)}
.video-hero .hero-cinematic-shade{position:absolute;z-index:-3;inset:0;background:linear-gradient(90deg,rgba(3,3,3,.94) 0%,rgba(3,3,3,.68) 43%,rgba(3,3,3,.25) 74%,rgba(3,3,3,.48) 100%),linear-gradient(0deg,rgba(3,3,3,.92) 0%,transparent 44%,rgba(3,3,3,.35) 100%)}
.video-hero .hero-grid{z-index:-2;opacity:.13;background-size:96px 96px;mask-image:linear-gradient(90deg,#000,transparent 80%)}
.video-hero::after{content:"HCF";position:absolute;z-index:-1;right:-.03em;bottom:.04em;color:rgba(255,255,255,.035);font-family:var(--font-display);font-size:clamp(190px,27vw,470px);font-weight:700;line-height:.7;letter-spacing:-.08em;pointer-events:none}
.video-hero .hero-stage{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:end;gap:70px;min-height:max(760px,100svh);padding-top:150px;padding-bottom:176px}
.video-hero .hero-copy{max-width:980px;padding:0}
.video-hero .eyebrow{color:#e2c46d;text-shadow:0 2px 20px rgba(0,0,0,.55)}
.video-hero .hero-copy .hero-title{display:flex;width:min(100%,62rem);max-width:none;flex-direction:column;align-items:flex-start;gap:clamp(18px,2vw,32px);margin:24px 0 28px;color:#fff;font-size:clamp(68px,8.2vw,124px);line-height:1;letter-spacing:-.025em;text-shadow:0 8px 50px rgba(0,0,0,.48)}
.video-hero .hero-title__primary{display:block;max-inline-size:9.5ch;font-size:1em;line-height:1.04;text-wrap:balance}
.video-hero .hero-title__accent{display:block;max-inline-size:14ch;margin:0;color:#e2c46d;font-size:.48em;font-style:normal;line-height:1.12;letter-spacing:-.01em;text-wrap:balance}
.video-hero .hero-copy>p{max-width:690px;color:rgba(255,255,255,.78);font-size:16px;text-shadow:0 2px 16px rgba(0,0,0,.55)}
.video-hero .hero-actions{margin-top:30px}
.video-hero .btn-ghost{border-color:rgba(255,255,255,.3);background:rgba(8,8,8,.28);color:#fff;backdrop-filter:blur(12px)}
.hero-editorial{display:grid;gap:16px;align-self:center;padding:22px 0 22px 22px;border-left:1px solid rgba(226,196,109,.46);text-shadow:0 2px 16px rgba(0,0,0,.7)}
.hero-editorial .hero-edition{color:#e2c46d;font-size:8px;font-weight:900;letter-spacing:.24em}
.hero-editorial strong{font-family:var(--font-display);font-size:29px;line-height:1.02;letter-spacing:.015em}
.hero-editorial small{color:rgba(255,255,255,.58);font-size:7px;font-weight:800;line-height:1.8;letter-spacing:.16em}
.video-hero .hero-stats{position:absolute;z-index:4;right:0;bottom:0;left:0;width:min(calc(100% - 48px),var(--container));border-top-color:rgba(255,255,255,.18);background:rgba(4,4,4,.38);backdrop-filter:blur(10px)}
.video-hero .hero-stats>div{border-right-color:rgba(255,255,255,.14)}
.video-hero .hero-stats strong{color:#fff}.video-hero .hero-stats span{color:rgba(255,255,255,.58)}
.hero-video-control{position:absolute;z-index:6;right:24px;bottom:114px;display:flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid rgba(255,255,255,.22);border-radius:99px;background:rgba(4,4,4,.42);color:#fff;cursor:pointer;backdrop-filter:blur(12px)}
.hero-video-control>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#c8a24a;color:#090704;font-size:10px;font-weight:900}.hero-video-control small{font-size:7px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.hero-scroll-cue{position:absolute;z-index:5;left:24px;bottom:112px;display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.62);font-size:7px;font-weight:900;letter-spacing:.18em}.hero-scroll-cue span{display:block;width:44px;height:1px;background:#c8a24a}

.founder-section{position:relative;overflow:hidden;background:#070707;color:#f7f3e9}
.founder-section::before{content:"PEDRO";position:absolute;right:-.04em;top:-.18em;color:rgba(226,196,109,.035);font-family:var(--font-display);font-size:clamp(170px,23vw,390px);font-weight:700;line-height:1;letter-spacing:-.07em}
.founder-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(50px,8vw,120px);align-items:center}
.founder-media{position:relative;min-height:690px;margin:0;overflow:hidden;border-radius:2px 2px 110px 2px;background:#111}
.founder-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,4,4,.86),transparent 48%),linear-gradient(90deg,rgba(200,162,74,.13),transparent 40%)}
.founder-media>img{width:100%;height:100%;min-height:690px;object-fit:cover;object-position:center;filter:saturate(.8) contrast(1.08);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.founder-media:hover>img{transform:scale(1.035)}
.founder-media figcaption{position:absolute;z-index:2;right:30px;bottom:28px;left:30px;display:flex;align-items:center;gap:18px}.founder-media figcaption>span{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.3);border-radius:50%;font-family:var(--font-display);font-size:19px}.founder-media figcaption>div{display:grid}.founder-media figcaption small{color:#e2c46d;font-size:7px;font-weight:900;letter-spacing:.18em}.founder-media figcaption strong{font-family:var(--font-display);font-size:28px;letter-spacing:.03em}
.founder-stamp{position:absolute;z-index:3;top:24px;right:24px;display:flex;align-items:center;gap:11px;width:110px;height:110px;padding:18px;border:1px solid rgba(226,196,109,.5);border-radius:50%;background:rgba(4,4,4,.56);backdrop-filter:blur(10px);transform:rotate(8deg)}.founder-stamp>span{color:#e2c46d;font-family:var(--font-display);font-size:45px;line-height:1}.founder-stamp small{color:rgba(255,255,255,.65);font-size:6px;font-weight:900;line-height:1.6;letter-spacing:.1em}
.founder-copy .section-kicker{color:#e2c46d}
.founder-copy h2{max-width:630px;margin:0;font-size:clamp(60px,7vw,105px);line-height:.86}
.founder-copy>p{max-width:590px;margin:30px 0 0;color:#bdb6a8;font-size:15px;line-height:1.9}
.founder-copy blockquote{max-width:570px;margin:30px 0;padding:20px 0 20px 25px;border-left:2px solid #c8a24a;color:#f1eadb;font-family:var(--font-display);font-size:clamp(25px,2.4vw,38px);font-style:italic;line-height:1.18;text-transform:uppercase}
.founder-signature{display:grid;margin-bottom:28px}.founder-signature strong{font-family:var(--font-display);font-size:17px;letter-spacing:.08em}.founder-signature span{color:#8e8677;font-size:8px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}

@media(max-width:1050px) and (min-width:821px){.video-hero .hero-stage{grid-template-columns:1fr 210px;gap:35px}.video-hero .hero-copy .hero-title{gap:20px;font-size:clamp(72px,9vw,96px)}.founder-layout{gap:50px}.founder-media,.founder-media>img{min-height:590px}}
@media(max-width:820px){.public-body .site-header:not(.scrolled) .menu-toggle{display:flex}.video-hero .hero-stage{grid-template-columns:1fr;align-content:end;padding-top:135px;padding-bottom:205px}.hero-editorial{display:none}.video-hero .hero-copy .hero-title{gap:clamp(16px,3vw,24px);font-size:clamp(64px,11vw,88px)}.video-hero .hero-title__primary{max-inline-size:10ch;line-height:1.05}.video-hero .hero-title__accent{max-inline-size:15ch;font-size:.52em;line-height:1.15}.video-hero .hero-stats{width:100%;grid-template-columns:1fr 1fr;margin:0}.video-hero .hero-stats>div{background:rgba(4,4,4,.18)}.hero-video-control{right:16px;bottom:176px}.hero-scroll-cue{left:18px;bottom:177px}.founder-layout{grid-template-columns:1fr}.founder-media,.founder-media>img{min-height:540px}.founder-copy{max-width:680px}}
@media(max-width:560px){.hero-section.video-hero,.video-hero .hero-stage{min-height:820px}.video-hero .hero-stage{padding-top:115px;padding-bottom:230px}.video-hero .hero-copy .hero-title{gap:14px;margin:18px 0 22px;font-size:clamp(52px,15vw,68px)}.video-hero .hero-title__primary{max-inline-size:9.5ch;line-height:1.06}.video-hero .hero-title__accent{font-size:.53em;line-height:1.16}.video-hero .hero-copy>p{font-size:13px;line-height:1.65}.video-hero .hero-actions{grid-template-columns:1fr;margin-top:24px}.hero-video-control{bottom:202px}.hero-video-control small{display:none}.hero-scroll-cue{display:none}.video-hero .hero-stats>div{padding:17px 14px!important}.founder-media,.founder-media>img{min-height:440px}.founder-media{border-radius:2px 2px 65px 2px}.founder-media figcaption{right:18px;bottom:18px;left:18px}.founder-media figcaption strong{font-size:22px}.founder-stamp{top:14px;right:14px;width:88px;height:88px;padding:13px}.founder-stamp>span{font-size:37px}.founder-copy h2{font-size:52px}.founder-copy>p{margin-top:22px;font-size:13px}.founder-copy blockquote{margin:23px 0;font-size:25px}}
@media(prefers-reduced-motion:reduce){.video-hero .hero-media iframe{display:none}.video-hero .hero-media video{display:none}}

/* Navegación pública multipágina */
.main-nav{gap:20px;font-size:14px}.main-nav>a{position:relative}.main-nav>a.active{color:#e2c46d!important}.main-nav>a.active::after{content:"";position:absolute;right:0;bottom:-10px;left:0;height:2px;background:#c8a24a}.nav-cart-count{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:4px;padding:0 5px;border-radius:20px;background:#c8a24a;color:#090704;font-size:10px}.public-body:not(.public-page-home) .site-header:not(.scrolled){background:rgba(5,5,5,.86);border-bottom-color:rgba(226,196,109,.12);backdrop-filter:blur(16px)}

/* El título usa dos bloques con interlineado propio y separación física estable. */

/* Portada resumida */
.home-overview{background:var(--bg-elevated)}.home-route-grid{display:grid;grid-template-columns:1.15fr .925fr .925fr;gap:16px}.home-route-card{position:relative;display:flex;align-items:flex-end;min-height:460px;overflow:hidden;border:1px solid var(--border);border-radius:26px;background:#090909;color:#fff;transition:transform .35s ease,border-color .35s ease}.home-route-card:hover{transform:translateY(-6px);border-color:rgba(226,196,109,.45)}.home-route-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.06);transition:transform .7s ease}.home-route-card:hover>img{transform:scale(1.04)}.home-route-card::after{content:"";position:absolute;inset:18% 0 0;background:linear-gradient(transparent,rgba(3,3,3,.95))}.home-route-card>span{position:absolute;z-index:2;top:22px;left:22px;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.26);border-radius:50%;font-size:11px}.home-route-card>div{position:relative;z-index:2;padding:28px}.home-route-card small{color:#e2c46d;font-size:12px;font-weight:900;letter-spacing:.18em}.home-route-card h3{margin:8px 0 9px;font-family:var(--font-display);font-size:clamp(34px,3.3vw,50px);line-height:1;text-transform:uppercase}.home-route-card p{max-width:390px;margin:0 0 20px;color:rgba(255,255,255,.72);font-size:16px;line-height:1.65}.home-route-card b{color:#e2c46d;font-size:14px}.home-founder-teaser .founder-media,.home-founder-teaser .founder-media>img{min-height:590px}.home-store-preview{background:var(--bg-elevated)}.section-head>div:last-child p{margin:0 0 15px;color:var(--text-soft);font-size:16px;line-height:1.7}.news-card .text-link{display:flex;margin-top:18px;font-size:13px}.home-preview-grid .plan-card{min-height:510px}
.public-page-home .plan-card>p,.public-page-plans .plan-card>p{font-size:15px;line-height:1.7}.public-page-home .plan-card li,.public-page-plans .plan-card li{font-size:14px}.public-page-home .class-row>p,.public-page-classes .class-row>p{font-size:14px;line-height:1.65}.public-page-home .class-title small,.public-page-classes .class-title small{font-size:11px}.public-page-home .class-meta strong,.public-page-classes .class-meta strong{font-size:12px}.public-page-home .news-card p,.public-page-news .news-card p{font-size:14px;line-height:1.75}.public-page-news .news-card h2{margin:8px 0 7px;font-family:var(--font-display);font-size:30px;line-height:1.08;text-transform:uppercase}

/* Páginas editoriales */
.public-inner-hero{position:relative;display:flex;min-height:680px;align-items:center;overflow:hidden;padding:145px 0 75px;background:#050505;color:#fff;isolation:isolate}.public-inner-hero::before{content:"HCF";position:absolute;z-index:-1;right:-.02em;bottom:-.17em;color:rgba(226,196,109,.04);font-family:var(--font-display);font-size:clamp(240px,34vw,560px);font-weight:700;line-height:1}.public-inner-hero .inner-hero-grid{position:absolute;z-index:-2;inset:0;opacity:.18;background-image:linear-gradient(rgba(226,196,109,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(226,196,109,.12) 1px,transparent 1px);background-size:86px 86px;mask-image:linear-gradient(90deg,#000,transparent)}.inner-hero-copy{position:relative;z-index:2;max-width:900px;margin-left:max(24px,calc((100vw - var(--container))/2));margin-right:auto}.inner-hero-copy h1{max-width:1000px;margin:18px 0 22px;font-family:var(--font-display);font-size:clamp(70px,9vw,132px);font-weight:600;line-height:.91;letter-spacing:-.025em;text-transform:uppercase}.inner-hero-copy p{max-width:660px;margin:0 0 28px;color:rgba(255,255,255,.7);font-size:18px;line-height:1.75}.compact-inner-hero{min-height:600px}.compact-inner-hero .inner-hero-copy h1{font-size:clamp(70px,8.3vw,118px)}.public-listing-section{padding-top:95px}.page-cta{padding:90px 0;background:#080706;color:#fff}.page-cta>.container{display:flex;align-items:center;justify-content:space-between;gap:40px}.page-cta h2{max-width:760px;margin:12px 0 0;font-family:var(--font-display);font-size:clamp(42px,5vw,70px);line-height:1;text-transform:uppercase}

/* Pedro */
.pedro-page-hero{padding-bottom:0}.pedro-hero-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);align-items:end;gap:clamp(45px,7vw,100px);min-height:610px}.pedro-hero-layout .inner-hero-copy{align-self:center;margin:0;padding-bottom:70px}.pedro-hero-layout .inner-hero-copy h1{font-size:clamp(64px,7vw,105px)}.pedro-hero-photo{position:relative;height:600px;margin:0;overflow:hidden;border-radius:220px 220px 0 0}.pedro-hero-photo::after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(3,3,3,.88))}.pedro-hero-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.08)}.pedro-hero-photo figcaption{position:absolute;z-index:2;right:32px;bottom:30px;left:32px;display:grid}.pedro-hero-photo figcaption small{color:#e2c46d;font-size:11px;font-weight:900;letter-spacing:.15em}.pedro-hero-photo figcaption strong{margin-top:7px;font-family:var(--font-display);font-size:30px;text-transform:uppercase}.pedro-story-section{background:var(--bg)}.pedro-story-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(50px,8vw,120px)}.pedro-story-heading h2{margin-top:15px;font-size:clamp(54px,6vw,85px)}.pedro-story-body{color:var(--text-soft);font-size:18px;line-height:2}.pedro-timeline{display:grid;grid-template-columns:repeat(3,1fr);margin-top:75px;border-top:1px solid var(--border)}.pedro-timeline article{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:28px 26px 0 0;border-right:1px solid var(--border)}.pedro-timeline article+article{padding-left:26px}.pedro-timeline article:last-child{border-right:0}.pedro-timeline article>span{color:var(--accent);font-size:13px;font-weight:900}.pedro-timeline small{color:var(--text);font-size:13px;font-weight:900;letter-spacing:.14em}.pedro-timeline p{margin:10px 0 0;color:var(--text-soft);font-size:15px;line-height:1.7}.pedro-philosophy{background:var(--bg-elevated)}.philosophy-card{position:relative;padding:70px clamp(30px,8vw,115px);overflow:hidden;border:1px solid var(--border);border-radius:35px;background:#090806;color:#fff}.philosophy-card .quote-mark{position:absolute;top:22px;right:45px;color:rgba(226,196,109,.13);font-size:180px}.philosophy-card blockquote{position:relative;max-width:960px;margin:0;color:#f5f0e3;font-family:var(--font-display);font-size:clamp(42px,5.5vw,76px);line-height:1.08;text-transform:uppercase}.philosophy-card p{max-width:720px;margin:30px 0 24px;color:#bcb4a5;font-size:17px;line-height:1.8}.philosophy-card small{color:#e2c46d;font-size:12px;font-weight:900;letter-spacing:.16em}.pedro-class-section{background:var(--bg)}.editorial-feature{display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;border:1px solid var(--border);border-radius:30px;background:var(--surface)}.editorial-feature>img{width:100%;height:100%;min-height:560px;object-fit:cover}.editorial-feature>div{align-self:center;padding:55px}.editorial-feature h2{margin:14px 0 20px}.editorial-feature p{color:var(--text-soft);font-size:17px;line-height:1.8}.editorial-feature dl{display:grid;grid-template-columns:1fr 1fr;margin:26px 0}.editorial-feature dl>div{display:grid;gap:6px;padding:16px 0;border-block:1px solid var(--border)}.editorial-feature dt{color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.14em}.editorial-feature dd{margin:0;font-size:14px;font-weight:800}

/* Catálogo público */
.public-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.public-product-card{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:24px;background:var(--surface);transition:transform .35s ease,border-color .35s ease}.public-product-card:hover{transform:translateY(-5px);border-color:var(--border-strong)}.product-card-media{position:relative;display:block;height:300px;overflow:hidden;background:#10100f}.product-card-media::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(4,4,4,.58))}.product-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.public-product-card:hover .product-card-media img{transform:scale(1.045)}.product-card-media>span{position:absolute;z-index:2;top:15px;left:15px;padding:7px 10px;border-radius:99px;background:#c8a24a;color:#090704;font-size:10px;font-weight:900;letter-spacing:.09em}.public-product-card>div:last-child{padding:22px}.public-product-card>div:last-child>small{color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.13em}.public-product-card h2,.public-product-card h3{margin:8px 0 7px;font-family:var(--font-display);font-size:27px;line-height:1.08;text-transform:uppercase}.public-product-card p{min-height:50px;margin:0;color:var(--text-soft);font-size:14px;line-height:1.65}.public-product-card footer{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.public-product-card footer>div{display:grid}.public-product-card footer span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.11em}.public-product-card footer strong{margin-top:3px;font-family:var(--font-display);font-size:25px}.public-product-card footer>a,.public-product-card footer>button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border-strong);border-radius:50%;background:transparent;color:var(--accent);font-size:23px;cursor:pointer}.public-product-card footer>button:hover{background:var(--accent);color:#090704}.public-product-card footer>button:disabled{opacity:.4;cursor:not-allowed}.store-hero{position:relative;display:flex;min-height:650px;align-items:center;overflow:hidden;background:#050505;color:#fff}.store-hero-media{position:absolute;inset:0 0 0 47%}.store-hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.08)}.store-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.98) 34%,rgba(5,5,5,.35) 78%,rgba(5,5,5,.5)),linear-gradient(0deg,rgba(5,5,5,.8),transparent 60%)}.store-hero-content{position:relative;z-index:2;padding-top:80px}.store-hero-content h1{margin:18px 0 22px;font-family:var(--font-display);font-size:clamp(78px,9.5vw,140px);font-weight:600;line-height:.84;letter-spacing:-.03em;text-transform:uppercase}.store-hero-content h1 em{color:#e2c46d;font-style:normal}.store-hero-content p{max-width:590px;color:rgba(255,255,255,.7);font-size:18px}.store-hero-actions{display:flex;gap:12px;margin-top:30px}.button-cart-count{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:#e2c46d;color:#090704;font-size:11px}.store-section{background:var(--bg)}.store-toolbar{display:grid;grid-template-columns:1fr minmax(280px,390px) auto;align-items:end;gap:20px;margin-bottom:28px}.store-toolbar h2{margin:10px 0 0}.store-search{position:relative}.store-search>i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:22px;font-style:normal}.store-search input{width:100%;height:52px;padding:0 16px 0 46px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);font-size:15px;outline:0}.store-cart-button{display:flex;align-items:center;gap:10px;height:52px;padding:0 18px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);font-size:14px;font-weight:800;cursor:pointer}.store-cart-button b{display:grid;place-items:center;min-width:25px;height:25px;border-radius:50%;background:var(--accent);color:#090704}.store-filters{display:flex;gap:8px;overflow:auto;margin-bottom:34px;padding-bottom:5px}.store-filters button{flex:0 0 auto;min-height:42px;padding:0 17px;border:1px solid var(--border);border-radius:99px;background:transparent;color:var(--text-soft);font-size:13px;font-weight:800;cursor:pointer}.store-filters button.active{border-color:var(--accent);background:var(--accent);color:#090704}.store-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.store-product-card[hidden]{display:none}.product-stock{position:absolute;z-index:2;right:15px;bottom:15px;padding:6px 9px;border-radius:99px;background:rgba(5,5,5,.76);color:#fff;font-size:10px;font-weight:800;backdrop-filter:blur(10px)}.product-stock.sold-out{background:rgba(170,35,43,.82)}.store-empty{padding:70px 25px;text-align:center;border:1px dashed var(--border-strong);border-radius:24px;background:var(--surface)}.store-empty>span{color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.18em}.store-empty h3{margin:10px 0;font-family:var(--font-display);font-size:37px;text-transform:uppercase}.store-empty p{color:var(--text-soft)}.store-empty button{border:0;background:none;color:var(--accent);font-weight:800;cursor:pointer}.store-cart-overlay{position:fixed;z-index:1400;inset:0;background:rgba(0,0,0,.68);backdrop-filter:blur(3px)}.store-cart{position:fixed;z-index:1500;top:0;right:0;display:flex;width:min(470px,100vw);height:100dvh;flex-direction:column;border-left:1px solid rgba(226,196,109,.22);background:#090909;color:#fff;box-shadow:-30px 0 80px rgba(0,0,0,.45);transform:translateX(105%);transition:transform .35s cubic-bezier(.2,.7,.2,1)}.store-cart.open{transform:none}.store-cart>header{display:flex;align-items:center;justify-content:space-between;padding:27px 25px;border-bottom:1px solid rgba(255,255,255,.1)}.store-cart>header span{color:#e2c46d;font-size:10px;font-weight:900;letter-spacing:.16em}.store-cart>header h2{margin:4px 0 0;font-family:var(--font-display);font-size:35px;text-transform:uppercase}.store-cart>header button{width:42px;height:42px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:transparent;color:#fff;font-size:25px;cursor:pointer}.store-cart-items{display:grid;gap:12px;overflow:auto;padding:20px 25px}.store-cart-item{display:grid;grid-template-columns:70px 1fr auto;gap:13px;align-items:center;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.1)}.store-cart-item img{width:70px;height:76px;border-radius:12px;object-fit:cover}.store-cart-item h3{margin:0 0 3px;font-family:var(--font-display);font-size:18px;text-transform:uppercase}.store-cart-item small{color:#9e9688;font-size:11px}.cart-qty{display:flex;align-items:center;gap:9px;margin-top:10px}.cart-qty button{display:grid;place-items:center;width:27px;height:27px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:transparent;color:#fff;cursor:pointer}.cart-qty span{min-width:16px;text-align:center;font-size:13px}.cart-remove{border:0;background:transparent;color:#9d9280;font-size:18px;cursor:pointer}.store-cart-empty{display:grid;place-items:center;margin:auto;padding:30px;text-align:center}.store-cart-empty>span{display:grid;place-items:center;width:75px;height:75px;border:1px solid rgba(226,196,109,.3);border-radius:50%;color:#e2c46d;font-family:var(--font-display);font-size:35px}.store-cart-empty h3{margin:18px 0 4px;font-family:var(--font-display);font-size:26px;text-transform:uppercase}.store-cart-empty p{max-width:300px;margin:0;color:#8e877a;font-size:13px;line-height:1.6}.store-cart>footer{margin-top:auto;padding:23px 25px;border-top:1px solid rgba(255,255,255,.1);background:#0c0c0b}.store-cart-total{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.store-cart-total span{color:#928b7f;font-size:11px;font-weight:900;letter-spacing:.14em}.store-cart-total strong{font-family:var(--font-display);font-size:32px;color:#e2c46d}.store-cart>footer>p{margin:0 0 16px;color:#817b70;font-size:11px;line-height:1.6}.store-cart-clear{display:block;margin:13px auto 0;border:0;background:none;color:#9b9386;font-size:12px;cursor:pointer}body.store-cart-open{overflow:hidden}

/* Administración: carga directa de imagen del producto */
.entity-image-field{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center;padding:15px;border:1px dashed var(--border-color);border-radius:16px;background:var(--bg-elevated)}.entity-image-field>img,.entity-image-field>span{width:150px;height:115px;border-radius:12px;object-fit:cover}.entity-image-field>span{display:grid;place-items:center;text-align:center;background:var(--surface);color:var(--text-secondary);font-size:12px}.entity-image-field>span i{display:block;margin-bottom:6px;font-size:28px}.entity-image-field>div{display:grid;gap:9px}.entity-image-field input[type=file]{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:11px;background:var(--card-bg)}.entity-image-field small{color:var(--text-secondary);font-size:12px;line-height:1.5}

@media(max-width:1180px){.menu-toggle{display:flex}.main-nav{position:fixed;inset:78px 12px auto;display:flex;max-height:calc(100dvh - 90px);overflow:auto;flex-direction:column;align-items:stretch;gap:0;padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);opacity:0;transform:translateY(-15px);pointer-events:none;transition:opacity var(--transition),transform var(--transition)}.main-nav.open{opacity:1;transform:none;pointer-events:auto}.main-nav>a{display:block!important;padding:14px;border-bottom:1px solid var(--border);color:var(--text-soft)!important}.main-nav>a.active::after{display:none}.nav-actions{margin:14px 0 0}.nav-actions .btn{flex:1}.public-body .site-header:not(.scrolled) .main-nav>a{color:var(--text-soft)}.public-body .site-header:not(.scrolled) .main-nav{color:var(--text);text-shadow:none}}
@media(max-width:980px){.home-route-grid{grid-template-columns:1fr 1fr}.home-route-card:first-child{grid-column:span 2;min-height:520px}.public-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.store-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pedro-hero-layout{grid-template-columns:1fr 1fr;gap:30px}.pedro-story-grid{grid-template-columns:1fr;gap:35px}.editorial-feature{grid-template-columns:1fr}.editorial-feature>img{min-height:420px}.store-toolbar{grid-template-columns:1fr auto}.store-toolbar>div{grid-column:span 2}.pedro-timeline{grid-template-columns:1fr}.pedro-timeline article,.pedro-timeline article+article{padding:24px 0;border-right:0;border-bottom:1px solid var(--border)}}
@media(max-width:820px){.main-nav{top:70px}.public-inner-hero{min-height:570px;padding-top:125px}.inner-hero-copy{margin-inline:auto}.inner-hero-copy h1,.compact-inner-hero .inner-hero-copy h1{font-size:clamp(58px,13vw,88px);line-height:.95}.pedro-hero-layout{grid-template-columns:1fr;align-items:end}.pedro-hero-layout .inner-hero-copy{padding-bottom:25px}.pedro-hero-photo{height:520px}.pedro-page-hero{padding-bottom:0}.page-cta>.container{align-items:flex-start;flex-direction:column}.store-hero{min-height:610px}.store-hero-media{left:25%}.store-hero-content h1{font-size:clamp(68px,15vw,105px)}.store-hero-shade{background:linear-gradient(90deg,rgba(5,5,5,.98),rgba(5,5,5,.62)),linear-gradient(0deg,#050505,transparent 70%)}}
@media(max-width:620px){.home-route-grid{grid-template-columns:1fr}.home-route-card,.home-route-card:first-child{grid-column:auto;min-height:410px}.home-route-card p{font-size:15px}.public-product-grid,.store-product-grid{grid-template-columns:1fr}.product-card-media{height:330px}.public-product-card p{min-height:0}.pedro-hero-photo{height:430px;border-radius:150px 150px 0 0}.pedro-story-body{font-size:16px;line-height:1.85}.philosophy-card{padding:46px 23px}.philosophy-card blockquote{font-size:38px}.editorial-feature>img{min-height:340px}.editorial-feature>div{padding:30px 22px}.editorial-feature dl{grid-template-columns:1fr}.store-toolbar{grid-template-columns:1fr}.store-toolbar>div{grid-column:auto}.store-cart-button{justify-content:center}.store-filters{margin-bottom:24px}.store-hero-content h1{line-height:.9}.store-hero-actions{display:grid;grid-template-columns:1fr}.entity-image-field{grid-template-columns:1fr}.entity-image-field>img,.entity-image-field>span{width:100%;height:190px}}
