:root{
  --obsidian:#070604;
  --obsidian-2:#0b0907;
  --graphite:#15120e;
  --gold:#d4af37;
  --gold-light:#f0d58a;
  --gold-deep:#8e6424;
  --ivory:#f4f1eb;
  --muted:#b9b1a3;
  --line:rgba(212,175,55,.34);
  --line-soft:rgba(212,175,55,.14);
  --serif:Georgia, "Times New Roman", serif;
  --sans:"Segoe UI", Arial, Helvetica, sans-serif;
  --shadow:0 30px 90px rgba(0,0,0,.58);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--obsidian)}
body{margin:0;background:var(--obsidian);color:var(--ivory);font-family:var(--sans);font-weight:400;line-height:1.7;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
::selection{background:var(--gold);color:#090704}

.shell{width:min(1200px,calc(100% - 40px));margin:0 auto}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--gold);color:#070604;padding:10px 16px;font-weight:700;transition:top .2s}
.skip-link:focus{top:16px}

.site-header{position:fixed;inset:0 0 auto;z-index:50;height:88px;border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,rgba(5,4,3,.96),rgba(5,4,3,.78));backdrop-filter:blur(14px);transition:height .3s,background .3s,box-shadow .3s}
.site-header.is-scrolled{height:74px;background:rgba(5,4,3,.95);box-shadow:0 16px 55px rgba(0,0,0,.4)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:13px;min-width:max-content}
.brand img{width:43px;height:43px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(212,175,55,.18))}
.brand-text{display:grid;line-height:1}
.brand-text strong{font-family:var(--serif);font-size:1.25rem;font-weight:500;letter-spacing:.26em;background:linear-gradient(115deg,#9f6d27,#f5df9d 45%,#a56d25 76%,#e8c56b);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-text small{font-family:var(--serif);font-size:.58rem;letter-spacing:.46em;color:var(--gold);margin-top:8px;text-align:center}
.main-nav{display:flex;align-items:center;gap:clamp(17px,2vw,30px);font-size:.69rem;letter-spacing:.16em;text-transform:uppercase}
.main-nav>a:not(.nav-cta){position:relative;padding:12px 0;color:#d7d0c6;transition:color .2s}
.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:50%;right:50%;bottom:2px;height:1px;background:var(--gold);transition:left .25s,right .25s}
.main-nav>a:not(.nav-cta):hover,.main-nav>a:not(.nav-cta).is-active{color:var(--gold-light)}
.main-nav>a:not(.nav-cta):hover::after,.main-nav>a:not(.nav-cta).is-active::after{left:18%;right:18%}
.nav-cta{border:1px solid var(--line);padding:13px 18px;color:var(--gold-light);transition:background .25s,color .25s,border-color .25s}
.nav-cta:hover{background:var(--gold);color:#090704;border-color:var(--gold)}
.nav-cta span{margin-left:8px}
.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line-soft);background:transparent;color:var(--ivory);padding:0}
.menu-toggle span{display:block;width:22px;height:1px;background:currentColor;margin:5px auto;transition:transform .25s,opacity .25s}

.hero{min-height:100svh;position:relative;display:grid;place-items:center;padding:132px 0 82px;overflow:hidden;isolation:isolate;background:
  radial-gradient(circle at 50% 28%,rgba(208,151,52,.22),transparent 21%),
  linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.52)),
  url('../img/obsidian-texture.webp') center/cover no-repeat,
  #070604}
.hero::before{content:"";position:absolute;inset:88px 0 0;background:linear-gradient(90deg,rgba(0,0,0,.72),transparent 22%,transparent 78%,rgba(0,0,0,.7));z-index:-1}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(180deg,transparent,rgba(5,4,3,.72) 72%,#070604);z-index:-1}
.hero-architecture{position:absolute;inset:88px 0 0;z-index:-1;pointer-events:none}
.architecture-left{position:absolute;left:-4%;top:0;width:27%;height:82%;background:linear-gradient(95deg,rgba(1,1,1,.96),rgba(14,11,8,.94));clip-path:polygon(0 0,72% 0,100% 20%,100% 100%,0 100%);box-shadow:inset -1px 0 rgba(212,175,55,.38)}
.architecture-left::before{content:"";position:absolute;left:0;top:18%;width:94%;height:30%;border-bottom:2px solid rgba(212,175,55,.45);border-radius:0 0 70% 0;transform:skewY(8deg);box-shadow:0 13px 30px rgba(212,175,55,.07)}
.architecture-left::after{content:"";position:absolute;right:12%;bottom:0;width:2px;height:76%;background:linear-gradient(transparent,var(--gold-deep) 22%,var(--gold-light) 56%,transparent);box-shadow:0 0 28px rgba(212,175,55,.34)}
.architecture-right{position:absolute;right:-2%;top:0;width:20%;height:100%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.015) 0 14px,rgba(212,175,55,.14) 15px,rgba(0,0,0,.25) 17px,rgba(0,0,0,.1) 36px);mask-image:linear-gradient(90deg,transparent,#000 26%);opacity:.76}
.architecture-right::before{content:"";position:absolute;left:20%;top:5%;width:2px;height:88%;background:linear-gradient(transparent,var(--gold-light),transparent);box-shadow:0 0 24px rgba(212,175,55,.5)}
.hero-floor{position:absolute;left:-10%;right:-10%;bottom:-13%;height:34%;transform:perspective(500px) rotateX(61deg);transform-origin:center top;background:
  linear-gradient(90deg,transparent 49.8%,rgba(212,175,55,.2) 50%,transparent 50.2%),
  repeating-linear-gradient(90deg,transparent 0 17%,rgba(212,175,55,.08) 17.2%,transparent 17.4%),
  repeating-linear-gradient(0deg,rgba(212,175,55,.08) 0 1px,transparent 1px 72px),
  linear-gradient(180deg,rgba(32,24,14,.5),#050403);border-top:1px solid rgba(212,175,55,.31);filter:blur(.1px)}
.hero-glow{position:absolute;width:min(760px,76vw);aspect-ratio:1;top:12%;left:50%;transform:translateX(-50%);background:radial-gradient(circle,rgba(215,159,58,.24),rgba(212,175,55,.07) 30%,transparent 66%);filter:blur(20px);z-index:-1}
.hero-content{text-align:center;display:flex;flex-direction:column;align-items:center;position:relative;z-index:2}
.hero-logo{width:min(720px,78vw);filter:drop-shadow(0 24px 35px rgba(0,0,0,.7)) drop-shadow(0 0 18px rgba(212,175,55,.12));animation:heroReveal 1.4s cubic-bezier(.2,.72,.2,1) both}
.hero-statement{font-size:clamp(1rem,1.55vw,1.3rem);font-weight:300;color:#e3ded4;letter-spacing:.025em;margin:-8px 0 0;text-shadow:0 3px 20px rgba(0,0,0,.8);animation:fadeUp 1s ease .38s both}
.hero-actions{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:30px;animation:fadeUp 1s ease .58s both}
.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:0 28px;border:1px solid var(--line);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:transform .2s,box-shadow .25s,background .25s,color .25s,border-color .25s}
.button:hover{transform:translateY(-3px)}
.button-gold{background:linear-gradient(110deg,#d3a43a,#f5dc91 52%,#c58c2f);color:#0b0804;border-color:transparent;box-shadow:0 14px 38px rgba(201,151,51,.26)}
.button-gold:hover{box-shadow:0 18px 50px rgba(201,151,51,.29)}
.button-outline{color:var(--gold-light);background:rgba(5,4,3,.42)}
.button-outline:hover{background:rgba(212,175,55,.08);border-color:rgba(240,213,138,.8)}
.scroll-cue{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);width:58px;height:34px;display:grid;place-items:center;z-index:3}
.scroll-cue::before,.scroll-cue::after{content:"";width:43vw;max-width:520px;height:1px;position:absolute;top:50%;background:linear-gradient(90deg,transparent,var(--gold-deep))}
.scroll-cue::before{right:42px}
.scroll-cue::after{left:42px;transform:scaleX(-1)}
.scroll-cue span{width:17px;height:17px;background:url('../img/mark.png') center/contain no-repeat;filter:drop-shadow(0 0 6px rgba(212,175,55,.3))}

.section{position:relative;padding:clamp(90px,10vw,150px) 0;background:#080705}
.section::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(5,4,3,.86),rgba(5,4,3,.92)),url('../img/obsidian-texture.webp') center/cover;opacity:.42;pointer-events:none}
.section>*{position:relative}
.ornament-divider{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--line),rgba(212,175,55,.65),var(--line));z-index:2}
.ornament-divider span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#080705;padding:0 18px}
.ornament-divider img{width:27px;height:27px;object-fit:contain}
.eyebrow{margin:0 0 16px;color:var(--gold);font-size:.72rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase}
.section h2{font-family:var(--serif);font-weight:400;color:var(--gold-light);font-size:clamp(2rem,4vw,3.5rem);line-height:1.25;margin:0 0 26px;text-shadow:0 2px 28px rgba(212,175,55,.05)}

.origin-section{padding-top:130px}
.origin-layout{display:grid;grid-template-columns:.8fr 1.45fr;gap:clamp(50px,8vw,110px);align-items:center}
.origin-copy p:last-child{color:#c6bfb4;max-width:480px;font-size:.95rem}
.origin-equation{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1.35fr;align-items:stretch;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.origin-item{min-height:145px;padding:25px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:1px solid var(--line-soft);text-align:center}
.origin-item strong{font-family:var(--serif);font-size:clamp(1.6rem,2.5vw,2.5rem);font-weight:400;color:var(--gold-light);letter-spacing:.04em}
.origin-item span{font-size:.8rem;color:#cbc3b7;margin-top:8px}
.origin-equation i{font-family:var(--serif);font-style:normal;color:var(--gold);display:grid;place-items:center;font-size:1.35rem;padding:0 8px}
.origin-result{border-right:1px solid var(--line-soft)}

.philosophy-section{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.section-heading{text-align:center;max-width:840px;margin:0 auto 56px}
.section-heading h2{font-size:clamp(2.1rem,4vw,3.3rem);margin-bottom:12px}
.section-heading>p:last-child{color:var(--muted);font-size:.9rem}
.heading-diamond{display:block;width:8px;height:8px;margin:10px auto 0;background:var(--gold);transform:rotate(45deg);box-shadow:0 0 10px rgba(212,175,55,.35)}
.heading-diamond::before,.heading-diamond::after{content:"";position:absolute;top:50%;width:72px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-deep))}
.heading-diamond::before{right:12px}
.heading-diamond::after{left:12px;transform:scaleX(-1)}
.philosophy-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.philosophy-card{min-height:310px;border:1px solid var(--line);padding:34px 22px 26px;text-align:center;background:linear-gradient(180deg,rgba(212,175,55,.035),rgba(255,255,255,.008));box-shadow:0 16px 52px rgba(0,0,0,.2);transition:transform .28s,border-color .28s,box-shadow .28s}
.philosophy-card:hover{transform:translateY(-8px);border-color:rgba(240,213,138,.75);box-shadow:0 26px 70px rgba(0,0,0,.38)}
.icon-wrap{width:78px;height:78px;margin:0 auto 26px;display:grid;place-items:center;color:var(--gold-light)}
.icon-wrap img{max-width:68px;max-height:68px;filter:drop-shadow(0 0 12px rgba(212,175,55,.16))}
.icon-wrap svg{width:64px;height:64px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.philosophy-card h3{font-family:var(--serif);font-weight:500;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-light);margin:0 0 16px}
.philosophy-card p{margin:0;color:#c4bdb2;font-size:.82rem;line-height:1.65}

.brands-section{padding-bottom:110px}
.brand-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,5vw,70px);max-width:1060px;margin:0 auto}
.brand-card{position:relative;min-height:480px;border:1px solid var(--line-soft);padding:38px 42px 42px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(0,0,0,.2));box-shadow:var(--shadow);overflow:hidden}
.brand-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 32%,rgba(212,175,55,.1),transparent 42%);opacity:.75}
.brand-card>*{position:relative}
.brand-card-logo{width:100%;height:230px;object-fit:contain;mix-blend-mode:screen;filter:drop-shadow(0 0 20px rgba(212,175,55,.08))}
.brand-card-logo-firma{padding:6px 30px}
.brand-card-logo-travel{padding:0 5px}
.brand-card p{max-width:420px;color:#cbc3b6;font-size:.9rem;margin:18px auto 25px}
.brand-card .button{min-height:46px;padding:0 24px}
.corner{position:absolute;width:20px;height:20px;border-color:var(--gold);opacity:.9}
.corner-tl{left:-1px;top:-1px;border-left:2px solid;border-top:2px solid}
.corner-tr{right:-1px;top:-1px;border-right:2px solid;border-top:2px solid}
.corner-bl{left:-1px;bottom:-1px;border-left:2px solid;border-bottom:2px solid}
.corner-br{right:-1px;bottom:-1px;border-right:2px solid;border-bottom:2px solid}
.ecosystem-note{text-align:center;margin:36px 0 0;color:#bfb7aa;font-size:.82rem}

.manifesto-section{position:relative;min-height:820px;display:grid;place-items:center;padding:120px 0;overflow:hidden;background:
  radial-gradient(circle at 50% 46%,rgba(212,175,55,.07),transparent 34%),
  linear-gradient(rgba(6,5,4,.84),rgba(6,5,4,.92)),
  url('../img/obsidian-texture.webp') center/cover}
.manifesto-section::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.8),transparent 24%,transparent 76%,rgba(0,0,0,.82))}
.manifesto-columns{position:absolute;inset:0}
.manifesto-columns::before,.manifesto-columns::after{content:"";position:absolute;bottom:0;width:24%;height:100%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.01) 0 28px,rgba(212,175,55,.09) 29px,rgba(0,0,0,.1) 31px,transparent 70px);opacity:.5}
.manifesto-columns::before{left:0;mask-image:linear-gradient(90deg,#000,transparent)}
.manifesto-columns::after{right:0;transform:scaleX(-1);mask-image:linear-gradient(90deg,#000,transparent)}
.manifesto-content{position:relative;text-align:center}
.manifesto-content blockquote{margin:34px auto 0;font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.65rem);font-weight:400;line-height:1.58;color:var(--gold-light)}
.manifesto-line{display:block;width:180px;height:1px;margin:36px auto;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.manifesto-closing{margin-top:0!important;color:#e4d3a3!important}

.contact-section{border-top:1px solid var(--line-soft)}
.contact-layout{display:flex;align-items:center;justify-content:space-between;gap:40px;max-width:1040px}
.contact-layout h2{font-size:clamp(2rem,4vw,3.4rem);margin-bottom:16px}
.contact-layout p:last-child{color:var(--muted);max-width:700px}

.closing-section{position:relative;padding:105px 0 80px;background:linear-gradient(180deg,#080705,#050403);border-top:1px solid var(--line-soft)}
.closing-content{text-align:center}
.closing-content img{width:min(480px,82vw);margin:0 auto;filter:drop-shadow(0 20px 28px rgba(0,0,0,.6))}
.closing-content p{font-family:var(--serif);font-size:clamp(1.05rem,2.2vw,1.55rem);letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin:16px 0 0}

.site-footer{padding:36px 0 30px;border-top:1px solid var(--line-soft);background:#050403;text-align:center}
.footer-inner nav{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:#bdb5a8}
.footer-inner nav a:hover,.footer-legal a:hover{color:var(--gold-light)}
.footer-location{font-size:.78rem;color:var(--gold);margin:25px 0 12px}
.footer-copy{font-size:.72rem;color:#807a71;margin:0}
.footer-legal{display:flex;justify-content:center;gap:18px;margin-top:14px;font-size:.68rem;color:#777066}

.reveal{opacity:0;transform:translateY(34px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.72,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
@keyframes heroReveal{from{opacity:0;transform:translateY(22px) scale(.975)}to{opacity:1;transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

@media(max-width:1050px){
  .main-nav{gap:15px;font-size:.62rem}
  .nav-cta{padding:12px 13px}
  .philosophy-grid{grid-template-columns:repeat(3,1fr)}
  .origin-layout{grid-template-columns:1fr}
  .origin-copy{text-align:center;max-width:680px;margin:0 auto}
  .origin-copy p:last-child{margin-left:auto;margin-right:auto}
}

@media(max-width:820px){
  .site-header,.site-header.is-scrolled{height:74px}
  .menu-toggle{display:block}
  .main-nav{position:fixed;top:74px;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;background:rgba(5,4,3,.98);border-bottom:1px solid var(--line);padding:18px 20px 25px;transform:translateY(-130%);opacity:0;visibility:hidden;transition:transform .3s,opacity .3s,visibility .3s}
  .main-nav.is-open{transform:none;opacity:1;visibility:visible}
  .main-nav>a:not(.nav-cta){padding:14px 8px;border-bottom:1px solid rgba(212,175,55,.08)}
  .nav-cta{text-align:center;margin-top:16px}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .hero{padding-top:112px;min-height:900px}
  .hero-logo{width:min(760px,94vw)}
  .architecture-left{width:38%;opacity:.65}
  .architecture-right{width:28%;opacity:.45}
  .philosophy-grid{grid-template-columns:repeat(2,1fr)}
  .brand-grid{grid-template-columns:1fr;max-width:620px}
  .contact-layout{flex-direction:column;align-items:flex-start}
}

@media(max-width:600px){
  .shell{width:min(100% - 28px,1200px)}
  .brand-text strong{font-size:1rem}
  .brand img{width:36px;height:36px}
  .hero{min-height:820px;padding-top:108px}
  .hero-logo{width:104vw;max-width:none}
  .hero-statement br{display:none}
  .hero-actions{width:100%;gap:12px}
  .hero-actions .button{width:100%}
  .architecture-left{display:none}
  .architecture-right{width:45%;opacity:.28}
  .origin-equation{grid-template-columns:1fr auto 1fr;gap:0}
  .origin-item{border:1px solid var(--line-soft);min-height:116px}
  .origin-equation i{padding:0 5px}
  .origin-equation .origin-item:nth-of-type(3){grid-column:1/2;margin-top:12px}
  .origin-equation i:nth-of-type(3){grid-column:2/3;margin-top:12px}
  .origin-result{grid-column:3/4;margin-top:12px}
  .philosophy-grid{grid-template-columns:1fr}
  .philosophy-card{min-height:auto;padding:30px 24px}
  .brand-card{min-height:420px;padding:28px 20px}
  .brand-card-logo{height:205px}
  .manifesto-section{min-height:700px;padding:95px 0}
  .manifesto-content blockquote{font-size:1.45rem;line-height:1.65}
  .closing-content p{letter-spacing:.2em}
}

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


/* =========================================================
   HERO PREMIUM RECONSTRUIDO — GALUCEP MASTER
   Fondo arquitectónico real + identidad oficial en capas.
   ========================================================= */
html{scroll-padding-top:96px}
main section[id]{scroll-margin-top:92px}

.site-header{
  height:96px;
  background:linear-gradient(180deg,rgba(3,3,3,.98),rgba(3,3,3,.86));
  border-bottom:1px solid rgba(212,175,55,.36);
  backdrop-filter:blur(16px);
}
.site-header.is-scrolled{height:78px;background:rgba(4,4,4,.97)}
.header-inner{width:min(1460px,calc(100% - 56px))}
.brand{display:block;min-width:0}
.brand img.brand-lockup{
  width:250px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 0 14px rgba(212,175,55,.14));
}
.brand-text{display:none}

.hero{
  min-height:100svh;
  height:auto;
  position:relative;
  display:grid;
  place-items:center;
  padding:148px 0 92px;
  overflow:hidden;
  isolation:isolate;
  background:#050403;
}
.hero-background{
  position:absolute;
  inset:0;
  z-index:-4;
}
.hero-background img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.hero-shade{
  position:absolute;
  inset:0;
  z-index:-3;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.02) 22%,rgba(0,0,0,.05) 62%,rgba(5,4,3,.72) 100%),
    radial-gradient(circle at 50% 31%,rgba(218,163,67,.10),transparent 27%),
    linear-gradient(90deg,rgba(0,0,0,.28),transparent 22%,transparent 78%,rgba(0,0,0,.28));
}
.hero-content{
  width:min(980px,calc(100% - 48px));
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  position:relative;
  z-index:2;
  transform:translateY(-4px);
}
.hero-logo{
  width:min(680px,62vw);
  max-width:100%;
  height:auto;
  margin:0 auto;
  object-fit:contain;
  filter:
    drop-shadow(0 30px 38px rgba(0,0,0,.78))
    drop-shadow(0 0 28px rgba(212,175,55,.18));
  animation:heroReveal 1.35s cubic-bezier(.2,.72,.2,1) both;
}
.hero-statement{
  margin:14px 0 0;
  max-width:760px;
  font-size:clamp(1.02rem,1.36vw,1.28rem);
  line-height:1.5;
  font-weight:350;
  letter-spacing:.035em;
  color:#f0ebe2;
  text-shadow:0 4px 24px rgba(0,0,0,.95);
}
.hero-actions{
  margin-top:30px;
  gap:18px;
}
.hero-actions .button{
  min-width:250px;
  min-height:58px;
  border-radius:3px;
}
.scroll-cue{
  bottom:20px;
  width:92px;
  height:58px;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:center;
  justify-content:center;
  color:#d9c78f;
}
.scroll-cue::before,.scroll-cue::after{display:none}
.scroll-cue span{
  width:22px;
  height:34px;
  border:1px solid rgba(240,213,138,.9);
  border-radius:14px;
  background:none;
  position:relative;
}
.scroll-cue span::after{
  content:"";
  position:absolute;
  left:50%;
  top:7px;
  width:3px;
  height:7px;
  border-radius:2px;
  background:var(--gold-light);
  transform:translateX(-50%);
  animation:scrollDot 1.8s ease-in-out infinite;
}
.scroll-cue small{
  font-size:.58rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#d7c488;
}
@keyframes scrollDot{
  0%,100%{opacity:.35;transform:translate(-50%,0)}
  50%{opacity:1;transform:translate(-50%,10px)}
}

/* Anula el antiguo escenario CSS: el nuevo escenario es una imagen real. */
.hero-architecture,.architecture-left,.architecture-right,.hero-floor,.hero-glow{display:none!important}

@media(max-width:1100px){
  .header-inner{width:min(100% - 34px,1200px)}
  .brand img.brand-lockup{width:215px}
  .main-nav{gap:13px;font-size:.6rem}
  .nav-cta{padding:11px 12px}
  .hero-logo{width:min(660px,72vw)}
}
@media(max-width:820px){
  html{scroll-padding-top:80px}
  main section[id]{scroll-margin-top:78px}
  .site-header,.site-header.is-scrolled{height:74px}
  .brand img.brand-lockup{width:180px}
  .hero{
    min-height:100svh;
    padding:96px 0 72px;
  }
  .hero-background img{object-position:center center}
  .hero-shade{
    background:
      linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.04) 18%,rgba(0,0,0,.08) 63%,rgba(5,4,3,.83) 100%),
      radial-gradient(circle at 50% 24%,rgba(218,163,67,.13),transparent 25%);
  }
  .hero-content{
    width:min(700px,calc(100% - 32px));
    justify-content:flex-start;
    transform:translateY(-6px);
  }
  .hero-logo{
    width:min(520px,84vw);
    max-width:100%;
  }
  .hero-statement{
    max-width:560px;
    margin:14px 0 0;
    font-size:1.04rem;
  }
  .hero-actions{width:min(520px,100%);margin-top:26px}
  .hero-actions .button{flex:1 1 240px}
}
@media(max-width:600px){
  .shell{width:min(100% - 28px,1200px)}
  .brand img.brand-lockup{width:166px}
  .hero{
    min-height:100svh;
    padding:88px 0 66px;
  }
  .hero-background img{
    object-fit:cover;
    object-position:center top;
  }
  .hero-content{
    width:calc(100% - 28px);
    transform:translateY(-6px);
  }
  .hero-logo{
    width:100%;
    max-width:430px;
    min-width:0;
  }
  .hero-statement{
    margin:14px auto 0;
    font-size:.92rem;
    line-height:1.55;
    max-width:390px;
  }
  .hero-statement br{display:none}
  .hero-actions{
    width:min(390px,100%);
    flex-direction:column;
    gap:12px;
    margin-top:24px;
  }
  .hero-actions .button{
    width:100%;
    min-width:0;
    min-height:50px;
    flex:0 0 auto;
  }
  .scroll-cue{bottom:8px}
}
@media(max-width:390px){
  .brand img.brand-lockup{width:148px}
  .hero{min-height:100svh}
  .hero-content{transform:translateY(-4px)}
  .hero-logo{max-width:400px}
}


/* Páginas legales */
.legal-body{background:#070604;color:var(--ivory)}
.legal-header{position:sticky;top:0;height:78px;background:rgba(5,4,3,.96)}
.legal-header .header-inner{height:78px}
.legal-header .brand img{width:min(250px,52vw);height:48px;object-fit:contain;object-position:left center;filter:none}
.legal-main{min-height:100vh;padding:76px 0 110px;background:linear-gradient(rgba(7,6,4,.94),rgba(7,6,4,.98)),url('../img/obsidian-texture.webp') center/cover fixed}
.legal-article{max-width:900px;margin:0 auto;padding:clamp(30px,5vw,64px);border:1px solid var(--line-soft);background:rgba(9,8,6,.84);box-shadow:var(--shadow)}
.legal-article h1{font:400 clamp(2.2rem,5vw,4rem)/1.15 var(--serif);color:var(--gold-light);margin:.3rem 0 1rem}
.legal-article h2{font:400 clamp(1.35rem,3vw,2rem)/1.25 var(--serif);color:var(--gold-light);margin:2.4rem 0 .8rem}
.legal-article h3{font:600 1rem var(--sans);color:var(--gold);letter-spacing:.07em;text-transform:uppercase;margin:1.7rem 0 .6rem}
.legal-article p,.legal-article li{color:#cec7bc;font-size:.96rem}
.legal-article ul{padding-left:1.25rem}
.legal-article a{color:var(--gold-light);text-decoration:underline;text-underline-offset:3px}
.legal-meta{padding:1rem 1.2rem;border-left:2px solid var(--gold);background:rgba(212,175,55,.045);color:#bdb5aa!important}
.legal-note{padding:1rem 1.2rem;border:1px solid var(--line-soft);background:rgba(255,255,255,.018)}
.legal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:2.2rem}
.legal-table{width:100%;border-collapse:collapse;margin:1.2rem 0}
.legal-table th,.legal-table td{padding:.85rem;border:1px solid var(--line-soft);text-align:left;vertical-align:top;color:#cec7bc;font-size:.9rem}
.legal-table th{color:var(--gold-light);background:rgba(212,175,55,.04)}
@media(max-width:600px){.legal-main{padding-top:36px}.legal-article{padding:26px 20px}.legal-table{display:block;overflow-x:auto}.legal-header .brand img{width:min(220px,62vw)}}
