*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --black:#080808; --black-2:#111111; --black-3:#181818;
  --cream:#F0EAE0; --cream-2:#E8E1D5;
  --gold:#B8965A; --gold-light:#CFA96B; --gold-dim:rgba(184,150,90,0.3);
  --text-muted:rgba(240,234,224,0.45);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Montserrat',sans-serif;
}
html { scroll-behavior:smooth; font-size:16px; }
body { background:var(--black); color:var(--cream); font-family:var(--serif); -webkit-font-smoothing:antialiased; overflow-x:hidden; }

/* NAV */
nav { position:fixed; top:0; left:0; right:0; z-index:200; display:flex; justify-content:space-between; align-items:center; padding:0 64px; height:76px; background:transparent; border-bottom:1px solid transparent; transition:background 0.5s,border-color 0.5s; }
nav.scrolled { background:rgba(8,8,8,0.96); border-color:var(--gold-dim); backdrop-filter:blur(12px); }
.nav-logo { font-family:var(--serif); font-size:17px; font-weight:400; letter-spacing:0.35em; text-transform:uppercase; color:var(--cream); text-decoration:none; }
.nav-logo sup { font-size:9px; vertical-align:super; letter-spacing:0; }
nav ul { display:flex; list-style:none; gap:44px; align-items:center; }
nav ul li a { font-family:var(--sans); font-size:9px; font-weight:300; letter-spacing:0.22em; text-transform:uppercase; color:rgba(240,234,224,0.65); text-decoration:none; transition:color 0.25s; }
nav ul li a:hover { color:var(--cream); }
nav ul li a.nav-active { color:var(--cream); }
.nav-cta { padding:10px 24px!important; border:1px solid var(--gold-dim)!important; color:var(--gold)!important; transition:all 0.3s!important; }
.nav-cta:hover { background:var(--gold)!important; color:var(--black)!important; border-color:var(--gold)!important; }
.nav-hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:10px 8px; background:none; border:none; }
.nav-hamburger span { display:block; width:22px; height:1px; background:var(--cream); transition:all 0.3s; }

/* HERO */
#hero { height:100vh; min-height:640px; display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; overflow:hidden; background:var(--black); }
.hero-bg { position:absolute; inset:0; background:radial-gradient(ellipse 80% 60% at 50% 70%,rgba(184,150,90,0.07) 0%,transparent 60%),linear-gradient(180deg,transparent 60%,var(--black) 100%); pointer-events:none; }
.hero-lines { position:absolute; inset:0; background-image:linear-gradient(rgba(184,150,90,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(184,150,90,0.04) 1px,transparent 1px); background-size:80px 80px; pointer-events:none; opacity:0.6; }
.hero-content { position:relative; text-align:center; z-index:2; }
.hero-overline { font-family:var(--sans); font-size:9px; font-weight:300; letter-spacing:0.5em; text-transform:uppercase; color:var(--gold); margin-bottom:40px; opacity:0; animation:riseIn 1s ease 0.4s forwards; }
.hero-wordmark { font-family:var(--serif); font-size:clamp(80px,14vw,180px); font-weight:300; letter-spacing:0.18em; text-transform:uppercase; color:var(--cream); line-height:0.9; opacity:0; animation:riseIn 1.2s ease 0.6s forwards; }
.hero-divider { display:flex; align-items:center; justify-content:center; gap:20px; margin:36px 0; opacity:0; animation:riseIn 1s ease 0.9s forwards; }
.hero-divider::before,.hero-divider::after { content:''; display:block; width:80px; height:1px; background:linear-gradient(90deg,transparent,var(--gold)); }
.hero-divider::after { background:linear-gradient(90deg,var(--gold),transparent); }
.hero-divider-icon { font-family:var(--serif); font-size:18px; color:var(--gold); }
.hero-tagline { font-family:var(--serif); font-size:clamp(15px,1.8vw,21px); font-weight:300; font-style:italic; color:rgba(240,234,224,0.65); letter-spacing:0.06em; opacity:0; animation:riseIn 1s ease 1.1s forwards; }
.hero-cta-row { display:flex; gap:16px; justify-content:center; margin-top:52px; opacity:0; animation:riseIn 1s ease 1.3s forwards; }
.hero-scroll-hint { position:absolute; bottom:36px; left:50%; transform:translateX(-50%); z-index:2; display:flex; flex-direction:column; align-items:center; gap:10px; opacity:0; animation:riseIn 1s ease 1.8s forwards; }
.hero-scroll-hint span { font-family:var(--sans); font-size:8px; letter-spacing:0.4em; text-transform:uppercase; color:var(--text-muted); }
.scroll-bar { width:1px; height:48px; background:linear-gradient(var(--gold),transparent); animation:scrollPulse 2s ease-in-out infinite; }
@keyframes scrollPulse { 0%,100%{opacity:0.4;transform:scaleY(1)} 50%{opacity:1;transform:scaleY(1.1)} }
@keyframes riseIn { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }

/* PAGE HERO (inner pages) */
.page-hero { padding:140px 64px 80px; background:var(--black); border-bottom:1px solid var(--gold-dim); position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 70% 90% at 100% 50%,rgba(184,150,90,0.05) 0%,transparent 60%),linear-gradient(180deg,transparent 60%,var(--black) 100%); pointer-events:none; }
.page-hero-inner { position:relative; z-index:1; max-width:1320px; margin:0 auto; }
.page-hero-title { font-family:var(--serif); font-size:clamp(52px,7vw,100px); font-weight:300; line-height:1; color:var(--cream); letter-spacing:0.06em; text-transform:uppercase; margin-top:16px; }
.page-hero-title em { font-style:italic; color:var(--gold); font-size:0.65em; text-transform:none; letter-spacing:0; display:block; margin-top:8px; }
.page-hero-sub { font-family:var(--serif); font-size:18px; font-weight:300; font-style:italic; color:var(--text-muted); margin-top:20px; max-width:600px; line-height:1.7; }

/* BUTTONS */
.btn { display:inline-flex; align-items:center; gap:10px; font-family:var(--sans); font-size:9px; font-weight:400; letter-spacing:0.28em; text-transform:uppercase; text-decoration:none; padding:15px 36px; transition:all 0.3s; cursor:pointer; border:none; }
.btn-gold { background:var(--gold); color:var(--black); }
.btn-gold:hover { background:var(--gold-light); }
.btn-ghost { border:1px solid rgba(240,234,224,0.25); color:var(--cream); background:transparent; }
.btn-ghost:hover { border-color:var(--cream); background:rgba(240,234,224,0.05); }
.btn-gold-dark { background:var(--black); color:var(--cream); }
.btn-gold-dark:hover { background:#222; }

/* SECTION */
.section-inner { max-width:1320px; margin:0 auto; }
.eyebrow { font-family:var(--sans); font-size:9px; font-weight:300; letter-spacing:0.45em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:16px; margin-bottom:24px; }
.eyebrow::before { content:''; display:block; width:32px; height:1px; background:var(--gold); flex-shrink:0; }
.section-heading { font-family:var(--serif); font-weight:300; line-height:1.08; letter-spacing:0.03em; }

/* MANIFESTO */
#manifesto { padding:140px 64px; background:var(--cream); color:var(--black); }
#manifesto .section-inner { display:grid; grid-template-columns:1fr 1.4fr; gap:100px; align-items:start; }
#manifesto .eyebrow { color:var(--gold); }
#manifesto .eyebrow::before { background:var(--gold); }
.manifesto-heading { font-size:clamp(42px,5.5vw,74px); color:var(--black); }
.manifesto-heading em { font-style:italic; color:var(--gold); }
.manifesto-right { padding-top:16px; }
.manifesto-text { font-family:var(--serif); font-size:20px; font-weight:300; line-height:1.85; color:#2A2A2A; margin-bottom:48px; }
.manifesto-text strong { font-weight:500; color:var(--black); }
.manifesto-stats { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(10,10,10,0.12); padding-top:40px; gap:40px; }
.m-stat-number { font-family:var(--serif); font-size:48px; font-weight:300; color:var(--black); line-height:1; letter-spacing:-0.01em; }
.m-stat-label { font-family:var(--sans); font-size:9px; font-weight:300; letter-spacing:0.18em; text-transform:uppercase; color:rgba(10,10,10,0.45); margin-top:8px; }

/* REEL */
#reel { position:relative; background:var(--black); overflow:hidden; }
.reel-video-wrap { position:relative; width:100%; aspect-ratio:16/9; background:var(--black-3); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.reel-video-wrap video { width:100%; height:100%; object-fit:cover; display:block; }
.reel-video-wrap::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,8,8,0.35) 0%,transparent 30%,transparent 70%,rgba(8,8,8,0.7) 100%); pointer-events:none; }
.reel-placeholder { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; background:linear-gradient(135deg,#0e0e0e 0%,#1a1a1a 50%,#0e0e0e 100%); gap:20px; }
.reel-placeholder-text { font-family:var(--sans); font-size:9px; letter-spacing:0.5em; text-transform:uppercase; color:var(--text-muted); }
.reel-play-hint { width:64px; height:64px; border:1px solid var(--gold-dim); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:20px; opacity:0.5; }
.reel-caption { position:absolute; bottom:48px; left:64px; z-index:2; }
.reel-caption-text { font-family:var(--serif); font-size:clamp(18px,2.5vw,28px); font-weight:300; font-style:italic; color:var(--cream); letter-spacing:0.04em; }
.reel-caption-sub { font-family:var(--sans); font-size:8px; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); margin-top:8px; }

/* HISTORIA */
#historia { padding:140px 64px; background:var(--black); overflow:hidden; position:relative; }
#historia::before { content:''; position:absolute; top:-200px; right:-200px; width:600px; height:600px; background:radial-gradient(circle,rgba(184,150,90,0.05) 0%,transparent 65%); pointer-events:none; }
.historia-top { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; margin-bottom:80px; }
.historia-heading { font-family:var(--serif); font-size:clamp(42px,5.5vw,76px); font-weight:300; line-height:1.05; color:var(--cream); letter-spacing:0.02em; }
.historia-heading em { font-style:italic; color:var(--gold); }
.historia-intro { font-family:var(--serif); font-size:19px; font-weight:300; line-height:1.8; color:var(--text-muted); padding-bottom:16px; }
.historia-intro strong { color:var(--cream); font-weight:400; }
.valor-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-bottom:80px; }
.valor-card { background:var(--black-2); padding:44px 36px; border-bottom:2px solid transparent; transition:border-color 0.3s,background 0.3s; }
.valor-card:hover { border-bottom-color:var(--gold); background:var(--black-3); }
.vc-brand { font-family:var(--sans); font-size:8px; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.vc-number { font-family:var(--serif); font-size:clamp(44px,4.5vw,60px); font-weight:300; color:var(--cream); line-height:1; letter-spacing:-0.01em; }
.vc-number span { font-size:0.45em; color:var(--gold); vertical-align:super; letter-spacing:0; }
.vc-label { font-family:var(--serif); font-size:15px; font-style:italic; color:var(--text-muted); margin-top:10px; line-height:1.4; }
.vc-detail { font-family:var(--sans); font-size:8px; letter-spacing:0.12em; color:rgba(240,234,224,0.25); margin-top:12px; text-transform:uppercase; }
.historia-statement { display:grid; grid-template-columns:1fr 1fr; gap:2px; }
.hs-block { padding:56px 52px; background:var(--black-2); }
.hs-block.gold-bg { background:linear-gradient(135deg,rgba(184,150,90,0.12) 0%,rgba(184,150,90,0.04) 100%); border:1px solid var(--gold-dim); }
.hs-eyebrow { font-family:var(--sans); font-size:8px; letter-spacing:0.4em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
.hs-title { font-family:var(--serif); font-size:clamp(26px,2.8vw,38px); font-weight:300; color:var(--cream); line-height:1.2; margin-bottom:20px; }
.hs-title em { font-style:italic; color:var(--gold); }
.hs-body { font-family:var(--serif); font-size:17px; font-weight:300; line-height:1.75; color:var(--text-muted); }

/* MODAL */
.modal-overlay { display:none; position:fixed; inset:0; z-index:500; background:rgba(0,0,0,0.92); align-items:center; justify-content:center; cursor:pointer; }
.modal-overlay.active { display:flex; }
.modal-box { position:relative; width:90vw; max-width:900px; cursor:default; }
.modal-box video,.modal-box iframe { width:100%; aspect-ratio:16/9; display:block; background:#000; }
.modal-overlay.modal-vertical .modal-box { max-width:420px; }
.modal-overlay.modal-vertical #modalVideo { width:auto!important; max-height:85vh; aspect-ratio:9/16!important; margin:0 auto; display:block; }
.modal-close { position:absolute; top:-44px; right:0; font-family:var(--sans); font-size:9px; letter-spacing:0.3em; text-transform:uppercase; color:var(--cream); background:none; border:none; cursor:pointer; opacity:0.6; transition:opacity 0.25s; }
.modal-close:hover { opacity:1; }
.piece-play-btn { position:absolute; top:16px; right:16px; z-index:2; width:40px; height:40px; background:rgba(8,8,8,0.7); border:1px solid var(--gold-dim); border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.3s; font-size:12px; color:var(--gold); backdrop-filter:blur(4px); }
.piece-play-btn:hover { background:var(--gold); color:var(--black); border-color:var(--gold); }
.piece-placeholder { position:relative; }

/* NOSOTROS */
#nosotros { padding:0; background:var(--black); overflow:hidden; }
.nosotros-hero { display:grid; grid-template-columns:1fr 1fr; min-height:90vh; }
.nosotros-photo { position:relative; background:var(--black-3); overflow:hidden; display:flex; align-items:flex-end; justify-content:center; min-height:600px; }
.nosotros-photo-placeholder { position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(8,8,8,0.8) 100%),radial-gradient(ellipse at 50% 30%,rgba(184,150,90,0.06) 0%,transparent 60%),linear-gradient(135deg,#141414 0%,#1e1e1e 50%,#141414 100%); }
.nosotros-photo img { width:100%; height:100%; object-fit:cover; object-position:top; }
.nosotros-photo-label { position:relative; z-index:2; padding:40px; text-align:center; }
.nosotros-photo-label .ph-name { font-family:var(--serif); font-size:14px; font-weight:300; letter-spacing:0.3em; text-transform:uppercase; color:rgba(240,234,224,0.4); }
.nosotros-photo-label .ph-role { font-family:var(--sans); font-size:8px; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); margin-top:6px; opacity:0.7; }
.nosotros-content { padding:100px 80px; display:flex; flex-direction:column; justify-content:center; background:var(--black); }
.nosotros-overline { font-family:var(--sans); font-size:9px; font-weight:300; letter-spacing:0.45em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:16px; margin-bottom:28px; }
.nosotros-overline::before { content:''; display:block; width:32px; height:1px; background:var(--gold); }
.nosotros-heading { font-family:var(--serif); font-size:clamp(38px,4.5vw,62px); font-weight:300; line-height:1.1; color:var(--cream); margin-bottom:36px; letter-spacing:0.02em; }
.nosotros-heading em { font-style:italic; color:var(--gold); }
.nosotros-body { font-family:var(--serif); font-size:19px; font-weight:300; line-height:1.85; color:rgba(240,234,224,0.65); }
.nosotros-body p+p { margin-top:22px; }
.nosotros-body strong { color:var(--cream); font-weight:400; }
.nosotros-signature { margin-top:48px; padding-top:36px; border-top:1px solid rgba(184,150,90,0.15); display:flex; align-items:center; gap:28px; }
.nosotros-signature-name { font-family:var(--serif); font-size:26px; font-style:italic; color:var(--cream); font-weight:300; }
.nosotros-signature-role { font-family:var(--sans); font-size:8px; letter-spacing:0.25em; text-transform:uppercase; color:var(--text-muted); margin-top:4px; }
.sig-divider { width:1px; height:40px; background:var(--gold-dim); }
.nosotros-signature-ig { font-family:var(--sans); font-size:9px; letter-spacing:0.18em; color:var(--gold); text-decoration:none; transition:color 0.25s; }
.nosotros-signature-ig:hover { color:var(--gold-light); }

/* PROCESO */
#proceso { padding:120px 64px; background:var(--black-2); }
#proceso .section-inner { display:grid; grid-template-columns:380px 1fr; gap:80px; align-items:start; }
.proceso-left h2 { font-family:var(--serif); font-size:clamp(36px,4vw,54px); font-weight:300; color:var(--cream); line-height:1.12; margin-bottom:24px; }
.proceso-left h2 em { font-style:italic; color:var(--gold); }
.proceso-left p { font-family:var(--serif); font-size:17px; font-weight:300; line-height:1.75; color:var(--text-muted); }
.proceso-steps { display:flex; flex-direction:column; gap:2px; }
.proceso-step { display:grid; grid-template-columns:72px 1fr; gap:32px; align-items:start; padding:36px 40px; background:rgba(255,255,255,0.02); border-left:2px solid transparent; transition:all 0.3s; }
.proceso-step:hover { background:rgba(184,150,90,0.04); border-left-color:var(--gold); }
.proceso-step-has-video { grid-template-columns:72px 1fr auto; align-items:center; gap:32px; }
.ps-video-wrap { width:130px; flex-shrink:0; position:relative; }
.ps-video { width:100%; display:block; border:1px solid var(--gold-dim); border-radius:2px; background:var(--black); cursor:pointer; transition:border-color 0.3s; }
.ps-video:hover { border-color:var(--gold); }
.ps-video-label { font-family:var(--sans); font-size:7px; letter-spacing:0.25em; text-transform:uppercase; color:var(--gold); text-align:center; margin-top:8px; opacity:0.7; }
.ps-number { font-family:var(--serif); font-size:44px; font-weight:300; color:var(--gold); opacity:0.35; line-height:1; }
.ps-title { font-family:var(--serif); font-size:24px; font-weight:400; color:var(--cream); margin-bottom:10px; letter-spacing:0.02em; }
.ps-body { font-family:var(--serif); font-size:16px; font-weight:300; line-height:1.7; color:var(--text-muted); }

/* DISPONIBLES */
#disponibles { padding:140px 64px; background:var(--black); }
.disponibles-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:64px; }
.disponibles-header .section-heading { font-size:clamp(38px,4.5vw,62px); color:var(--cream); max-width:480px; }
.disponibles-header .section-heading em { font-style:italic; color:var(--gold); }
.disponibles-header-right { text-align:right; padding-bottom:8px; }
.disponibles-header-right p { font-family:var(--serif); font-size:16px; font-style:italic; color:var(--text-muted); margin-bottom:20px; }
.pieces-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.piece-card { position:relative; background:var(--black-2); overflow:hidden; cursor:pointer; }
.piece-card:nth-child(1) { grid-column:span 2; }
.piece-img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; transition:transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94); }
.piece-card:nth-child(1) .piece-img { aspect-ratio:16/9; }
.piece-card:hover .piece-img { transform:scale(1.04); }
.piece-placeholder { width:100%; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; transition:transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94); position:relative; overflow:hidden; }
.piece-card:nth-child(1) .piece-placeholder { aspect-ratio:16/9; }
.piece-card:hover .piece-placeholder { transform:scale(1.04); }
.ph-chanel { background:linear-gradient(135deg,#1a1a1a 0%,#2a2a2a 40%,#1e1e1e 100%); }
.ph-hermes { background:linear-gradient(135deg,#1c1810 0%,#2a2217 40%,#1a1610 100%); }
.ph-dior   { background:linear-gradient(135deg,#18181c 0%,#232328 40%,#1a1a1e 100%); }
.ph-lv     { background:linear-gradient(135deg,#1a1610 0%,#26200f 40%,#1c1810 100%); }
.ph-bv     { background:linear-gradient(135deg,#141a14 0%,#1e281e 40%,#141a14 100%); }
.ph-brand-name { font-family:var(--serif); font-size:clamp(22px,3vw,40px); font-weight:300; letter-spacing:0.3em; text-transform:uppercase; color:rgba(240,234,224,0.12); position:relative; z-index:1; }
.ph-monogram { position:absolute; inset:0; background-image:repeating-linear-gradient(45deg,rgba(184,150,90,0.03) 0px,rgba(184,150,90,0.03) 1px,transparent 1px,transparent 20px); }
.piece-info { padding:22px 26px 26px; background:var(--black-2); border-top:1px solid rgba(184,150,90,0.12); display:flex; justify-content:space-between; align-items:flex-end; }
.piece-brand { font-family:var(--sans); font-size:8px; font-weight:300; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); margin-bottom:6px; }
.piece-name { font-family:var(--serif); font-size:20px; font-weight:300; color:var(--cream); letter-spacing:0.03em; }
.piece-condition { font-family:var(--sans); font-size:8px; font-weight:300; letter-spacing:0.2em; text-transform:uppercase; color:var(--text-muted); margin-top:4px; }
.piece-consult { font-family:var(--sans); font-size:8px; font-weight:400; letter-spacing:0.25em; text-transform:uppercase; color:var(--gold); text-decoration:none; white-space:nowrap; padding:10px 18px; border:1px solid var(--gold-dim); transition:all 0.3s; flex-shrink:0; }
.piece-consult:hover { background:var(--gold); color:var(--black); }
.disponibles-footer { text-align:center; margin-top:60px; }

/* EDUCATIVO */
#educativo { padding:140px 64px; background:var(--cream); color:var(--black); }
#educativo .section-inner { display:grid; grid-template-columns:340px 1fr; gap:80px; align-items:start; }
#educativo .eyebrow { color:var(--gold); }
#educativo .eyebrow::before { background:var(--gold); }
.educativo-left { position:sticky; top:100px; }
.educativo-heading { font-size:clamp(38px,4.5vw,58px); color:var(--black); margin-bottom:24px; }
.educativo-heading em { font-style:italic; color:var(--gold); }
.educativo-intro { font-family:var(--serif); font-size:17px; font-weight:300; line-height:1.75; color:#444; }
.articles-list { display:flex; flex-direction:column; gap:2px; }
.article-item { background:#EDE7DC; padding:40px 44px; display:grid; grid-template-columns:56px 1fr; gap:28px; align-items:start; cursor:pointer; border-left:2px solid transparent; transition:all 0.3s; }
.article-item:hover { background:#E5DDD1; border-left-color:var(--gold); }
.article-num { font-family:var(--serif); font-size:38px; font-weight:300; color:var(--gold); line-height:1; opacity:0.6; }
.article-tag { font-family:var(--sans); font-size:8px; font-weight:300; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); margin-bottom:10px; }
.article-title { font-family:var(--serif); font-size:26px; font-weight:400; color:var(--black); line-height:1.25; margin-bottom:14px; }
.article-excerpt { font-family:var(--serif); font-size:16px; font-weight:300; line-height:1.7; color:#555; }
.article-read { display:inline-flex; align-items:center; gap:10px; font-family:var(--sans); font-size:8px; font-weight:400; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); text-decoration:none; margin-top:20px; transition:gap 0.3s; }
.article-read:hover { gap:18px; }

/* ESPACIO */
#espacio { padding:140px 64px; background:var(--black-2); }
#espacio .section-inner { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.espacio-heading { font-size:clamp(44px,5.5vw,76px); color:var(--cream); margin-bottom:12px; letter-spacing:0.06em; text-transform:uppercase; }
.espacio-heading .italic-sub { display:block; font-style:italic; font-size:0.52em; text-transform:none; letter-spacing:0.03em; color:var(--gold); font-weight:300; margin-top:4px; }
.espacio-body { font-family:var(--serif); font-size:19px; font-weight:300; line-height:1.8; color:var(--text-muted); margin:32px 0 44px; }
.espacio-ep-list { display:flex; flex-direction:column; gap:1px; margin-top:48px; }
.espacio-ep { display:flex; align-items:center; gap:24px; padding:20px 28px; background:rgba(255,255,255,0.03); border-left:2px solid var(--gold-dim); transition:background 0.3s,border-color 0.3s; }
.espacio-ep:hover { background:rgba(184,150,90,0.06); border-left-color:var(--gold); }
.ep-num { font-family:var(--sans); font-size:8px; letter-spacing:0.3em; color:var(--gold); white-space:nowrap; }
.ep-guest { font-family:var(--serif); font-size:18px; font-weight:300; color:var(--cream); }
.ep-topic { font-family:var(--serif); font-size:14px; font-style:italic; color:var(--text-muted); margin-left:auto; }
.espacio-right { position:relative; }
.espacio-frame { aspect-ratio:9/14; background:var(--black-3); position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.espacio-frame::before { content:''; position:absolute; inset:0; border:1px solid var(--gold-dim); }
.espacio-frame-inner { text-align:center; padding:40px; }
.ef-overline { font-family:var(--sans); font-size:8px; letter-spacing:0.5em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; display:block; }
.ef-title { font-family:var(--serif); font-size:32px; font-weight:300; letter-spacing:0.28em; text-transform:uppercase; color:var(--cream); line-height:1.2; }
.ef-rule { width:36px; height:1px; background:var(--gold); margin:20px auto; }
.ef-ep { font-family:var(--serif); font-size:14px; font-style:italic; color:rgba(240,234,224,0.45); }
.ef-badge { position:absolute; top:24px; right:24px; font-family:var(--sans); font-size:8px; letter-spacing:0.3em; text-transform:uppercase; color:var(--black); background:var(--gold); padding:6px 14px; }
.espacio-frame-bg { position:absolute; inset:0; background:radial-gradient(ellipse at 50% 50%,rgba(184,150,90,0.08) 0%,transparent 65%),repeating-linear-gradient(-45deg,rgba(184,150,90,0.02) 0px,rgba(184,150,90,0.02) 1px,transparent 1px,transparent 24px); }

/* QUOTE */
#quote { padding:120px 64px; background:var(--black); text-align:center; position:relative; overflow:hidden; }
#quote::before { content:'❝'; position:absolute; top:40px; left:50%; transform:translateX(-50%); font-family:var(--serif); font-size:160px; color:rgba(184,150,90,0.06); line-height:1; pointer-events:none; }
.quote-text { font-family:var(--serif); font-size:clamp(28px,4vw,52px); font-weight:300; font-style:italic; line-height:1.4; color:var(--cream); max-width:900px; margin:0 auto 32px; position:relative; z-index:1; }
.quote-text em { color:var(--gold); font-style:normal; }
.quote-attr { font-family:var(--sans); font-size:9px; letter-spacing:0.3em; text-transform:uppercase; color:var(--text-muted); }

/* CONTACTO */
#contacto { padding:160px 64px; background:var(--cream); color:var(--black); text-align:center; }
#contacto .eyebrow { justify-content:center; color:var(--gold); margin-bottom:28px; }
#contacto .eyebrow::before { display:none; }
.contacto-heading { font-family:var(--serif); font-size:clamp(44px,6.5vw,88px); font-weight:300; line-height:1.05; color:var(--black); margin-bottom:24px; }
.contacto-heading em { font-style:italic; color:var(--gold); }
.contacto-sub { font-family:var(--serif); font-size:19px; font-style:italic; font-weight:300; color:rgba(10,10,10,0.45); margin-bottom:56px; }
.contacto-buttons { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }

/* FOOTER */
footer { background:var(--black); border-top:1px solid rgba(184,150,90,0.15); padding:48px 64px; }
.footer-inner { max-width:1320px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; }
.footer-logo { font-family:var(--serif); font-size:15px; font-weight:400; letter-spacing:0.35em; text-transform:uppercase; color:var(--cream); }
.footer-links { display:flex; gap:36px; }
.footer-links a { font-family:var(--sans); font-size:8px; letter-spacing:0.22em; text-transform:uppercase; color:rgba(240,234,224,0.35); text-decoration:none; transition:color 0.25s; }
.footer-links a:hover { color:var(--gold); }
.footer-copy { font-family:var(--sans); font-size:8px; letter-spacing:0.12em; color:rgba(240,234,224,0.2); }

/* RESPONSIVE */
@media (max-width:1024px) {
  nav { padding:0 32px; }
  section,#manifesto,#disponibles,#educativo,#espacio,#quote,#contacto,#proceso,#historia,#nosotros { padding-left:32px; padding-right:32px; }
  .page-hero { padding:120px 32px 64px; }
  #manifesto .section-inner,#espacio .section-inner,#educativo .section-inner,#proceso .section-inner { grid-template-columns:1fr; gap:48px; }
  .educativo-left { position:static; }
  .nosotros-hero { grid-template-columns:1fr; }
  .nosotros-photo { min-height:420px; }
  .nosotros-content { padding:72px 40px; }
  .pieces-grid { grid-template-columns:repeat(2,1fr); }
  .piece-card:nth-child(1) { grid-column:span 2; }
  .disponibles-header { flex-direction:column; align-items:flex-start; gap:24px; }
  .disponibles-header-right { text-align:left; }
  .historia-top { grid-template-columns:1fr; gap:40px; }
  .historia-statement { grid-template-columns:1fr; }
  .valor-grid { grid-template-columns:repeat(2,1fr); }
  .proceso-step-has-video { grid-template-columns:72px 1fr; }
  .ps-video-wrap { display:none; }
}
@media (max-width:640px) {
  nav { padding:0 20px; height:64px; }
  .nav-hamburger { display:flex; }
  nav ul { display:none; position:fixed; top:64px; left:0; right:0; background:rgba(8,8,8,0.98); flex-direction:column; padding:16px 20px 28px; gap:0; border-bottom:1px solid var(--gold-dim); z-index:199; backdrop-filter:blur(16px); }
  nav ul.open { display:flex; }
  nav ul li a { display:block; padding:15px 0; font-size:10px; border-bottom:1px solid rgba(240,234,224,0.06); color:var(--cream)!important; }
  nav ul li:last-child a { border-bottom:none; }
  .nav-cta { border:none!important; padding:15px 0!important; }
  section,#manifesto,#disponibles,#educativo,#espacio,#quote,#contacto,#proceso,#historia { padding-left:20px!important; padding-right:20px!important; }
  .page-hero { padding:110px 20px 56px!important; }
  #manifesto,#historia,#disponibles,#educativo,#espacio,#quote,#contacto,#proceso { padding-top:80px!important; padding-bottom:80px!important; }
  .hero-wordmark { font-size:clamp(44px,13vw,80px); }
  .hero-cta-row { flex-direction:column; align-items:center; gap:12px; }
  .hero-cta-row .btn { width:100%; max-width:280px; justify-content:center; }
  .manifesto-stats { grid-template-columns:1fr 1fr; gap:24px; }
  .historia-top { grid-template-columns:1fr; gap:32px; }
  .valor-grid { grid-template-columns:1fr 1fr; gap:2px; }
  .vc-number { font-size:38px; }
  .historia-statement { grid-template-columns:1fr; }
  .hs-block { padding:36px 24px; }
  .nosotros-hero { grid-template-columns:1fr; }
  .nosotros-photo { min-height:280px; }
  .nosotros-content { padding:48px 20px; }
  .nosotros-signature { flex-direction:column; align-items:flex-start; gap:16px; }
  .sig-divider { width:32px; height:1px; }
  .proceso-step { grid-template-columns:1fr; gap:8px; padding:28px 20px; }
  .proceso-step-has-video { grid-template-columns:1fr; }
  .ps-number { font-size:32px; }
  .ps-video-wrap { display:none; }
  .pieces-grid { grid-template-columns:1fr; }
  .piece-card:nth-child(1) { grid-column:span 1; }
  .piece-card:nth-child(1) .piece-placeholder { aspect-ratio:4/3; }
  .article-item { padding:28px 20px; grid-template-columns:40px 1fr; gap:16px; }
  .article-num { font-size:28px; }
  .article-title { font-size:20px; }
  #espacio .section-inner { grid-template-columns:1fr; }
  .espacio-frame { aspect-ratio:3/4; max-height:480px; }
  .espacio-ep-list { margin-top:32px; }
  .quote-text { font-size:clamp(22px,6vw,36px); }
  .contacto-heading { font-size:clamp(32px,8vw,56px); }
  .contacto-buttons { flex-direction:column; align-items:center; }
  .contacto-buttons .btn { width:100%; max-width:280px; justify-content:center; }
  footer { padding:36px 20px; }
  .footer-inner { flex-direction:column; gap:20px; text-align:center; }
  .footer-links { flex-wrap:wrap; justify-content:center; gap:16px; }
  .modal-overlay.modal-vertical .modal-box { max-width:90vw; }
  .page-hero-title { font-size:clamp(36px,10vw,64px); }
}
