:root{--bg:#080807;--gold:#d7a643;--light:#eee7d8;--muted:#b7ae9d;--line:rgba(212,170,99,.30);--body:Montserrat,Arial,sans-serif;--head:Cinzel,Georgia,serif;--poem:"Cormorant Garamond",Georgia,serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;background:var(--bg);color:var(--light);font-family:var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid #ffd899;outline-offset:4px}.container{width:min(1180px,calc(100% - 56px));margin:0 auto}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:.26em;font-weight:700;text-transform:uppercase}.rule{display:block;width:52px;height:1px;background:var(--gold)}
.site-header{height:83px;background:#090908;border-bottom:1px solid #ffffff17;position:relative;z-index:20}.head-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;gap:13px;align-items:center;font:400 15px/1.35 var(--head);letter-spacing:.15em}.brand-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--gold);border-radius:50%;color:var(--gold)}#site-nav{display:flex;gap:35px;align-items:center}#site-nav a{color:#ddd4c6;font-size:11px;letter-spacing:.045em;transition:color .2s}#site-nav a:hover{color:var(--gold)}.menu-btn{display:none}
.hero{min-height:720px;background:radial-gradient(ellipse at 80% 40%,#2a1e0c66,transparent 48%),radial-gradient(ellipse at 10% 20%,#23180b55,transparent 42%),#080807;overflow:hidden;position:relative}.hero::after{content:"";position:absolute;bottom:0;left:0;right:0;height:90px;background:linear-gradient(transparent,var(--bg));pointer-events:none}.hero-grid{min-height:720px;display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:center;position:relative;z-index:1}.hero-copy{padding:70px 0 100px}.hero-copy .eyebrow{margin:0 0 28px}.hero h1{font:400 clamp(73px,9vw,125px)/.83 var(--poem);letter-spacing:-.052em;margin:0 0 34px}.hero h1 em,.section h2 em,.manifest em,.closing em{font-style:italic;font-weight:400;color:var(--gold)}.hero-poem{font:italic 400 clamp(26px,3vw,40px)/1.16 var(--poem);color:#d9c8ac;margin:0 0 24px}.hero-lead{font-size:13px;color:#b8b0a5;line-height:1.85;max-width:470px;margin:0 0 34px}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:15px 23px;font-size:10px;letter-spacing:.135em;text-transform:uppercase;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.fill{background:linear-gradient(115deg,#c59b53,#ead096);color:#171108}.outline{border:1px solid #967444;color:#e9d8b8}.hero-art{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px 0 76px;min-height:650px}.hero-art::before{content:"";width:100%;height:80%;position:absolute;border:1px solid #b58c4229;border-radius:50%;transform:rotate(-19deg)}.hero-art::after{content:"";position:absolute;inset:20% -20%;background:radial-gradient(ellipse at center,#79521c44,transparent 58%);filter:blur(30px);z-index:-1}.hero-art img{width:min(450px,100%);height:auto;max-height:590px;object-fit:contain;mix-blend-mode:screen;filter:drop-shadow(0 20px 45px #9b692029)}.hero-art span{position:absolute;right:5px;bottom:58px;color:#a58b63;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.section{padding:126px 0}.section h2{font:400 clamp(53px,6.2vw,89px)/1.01 var(--poem);letter-spacing:-.025em;margin:24px 0 27px}.essence{background:#0d0c09}.essence-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:105px;align-items:center}.essence-image{position:relative}.essence-image img{width:100%;height:640px;object-fit:cover;object-position:54% center;filter:saturate(.88)}.essence-image::after{content:"";position:absolute;left:-20px;bottom:-20px;width:135px;height:135px;border-left:1px solid var(--gold);border-bottom:1px solid var(--gold);pointer-events:none}.essence-text>p:not(.eyebrow),.universe p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:2;max-width:510px}.essence-text blockquote{font:italic 400 31px/1.25 var(--poem);margin:30px 0 0;color:#dcc49c}
.manifest{text-align:center;background:#f1ebdf;color:#261e14;padding:122px 0 130px}.manifest .eyebrow{color:#926d35}.manifest blockquote{font:400 clamp(40px,5.5vw,77px)/1.08 var(--poem);max-width:1030px;margin:33px auto}.manifest em{color:#a0783c}.manifest p:not(.eyebrow){font-size:12px;line-height:2;letter-spacing:.03em;color:#64594a}
.roots{background:#0d0c0b}.roots-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:56px}.roots-head h2{margin-bottom:0}.roots-head>p{max-width:345px;color:var(--muted);font-size:12px;line-height:2}.roots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.roots-grid article{border-top:1px solid var(--line);position:relative;padding:25px 0 10px}.roots-grid article::before{content:"";position:absolute;top:-1px;left:0;background:var(--gold);height:1px;width:60px}.roots-grid article span{font:italic 400 52px var(--poem);color:var(--gold)}.roots-grid h3{font:400 25px var(--head);letter-spacing:.07em;margin:23px 0 16px}.roots-grid p{max-width:325px;font-size:12px;line-height:2;color:var(--muted)}
.videos{background:#090909}.videos h2{margin-bottom:52px}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.video-grid article{min-width:0}.video-grid video{background:#16140e;width:100%;aspect-ratio:9/12;object-fit:cover;border:1px solid #99774366;box-shadow:0 16px 40px #0006}.video-grid article>p{margin:20px 0 0;font-size:10px;letter-spacing:.18em;color:var(--gold)}.video-note{font-size:11px;color:#91897c;line-height:1.75;margin:26px 0 0}
.universe{background:#110f0c}.universe-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.universe .button{margin-top:25px}.universe-image img{width:100%;height:580px;object-fit:cover;object-position:center;filter:saturate(.84)}.universe-image{position:relative}.universe-image::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 65px #100e0a88;pointer-events:none}
.closing{text-align:center;padding:116px 0 124px;background:radial-gradient(ellipse at 50% 15%,#33251378,transparent 50%),#080807}.closing img{width:117px;height:174px;object-fit:cover;object-position:top center;mix-blend-mode:screen;margin:0 auto 15px}.closing h2{font:400 clamp(46px,5.9vw,78px)/1.06 var(--poem);max-width:800px;margin:22px auto}.closing p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted);max-width:560px;margin:0 auto 30px}
footer{border-top:1px solid #96734344;background:#080807}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 0}.footer-inner strong{font:400 14px var(--head);letter-spacing:.12em;color:#e7c58e}.footer-inner p{font-size:10px;color:#9e9689;line-height:1.75}
@media(max-width:940px){.hero-grid{gap:18px}.essence-grid,.universe-grid{gap:45px}.essence-image img{height:520px}.universe-image img{height:480px}.section{padding:94px 0}}
@media(max-width:700px){.container{width:calc(100% - 38px)}.site-header{height:71px}.brand{font-size:12px;letter-spacing:.08em}.brand-icon{width:32px;height:32px}.menu-btn{display:block;border:1px solid #82663e;background:transparent;color:#ead4b0;padding:10px;font-size:12px}.head-inner{gap:9px}#site-nav{display:none;position:absolute;top:70px;left:0;right:0;padding:23px;background:#13110e;flex-direction:column;align-items:flex-start;gap:24px;border-bottom:1px solid var(--line)}#site-nav.open{display:flex}#site-nav a{font-size:12px}.hero-grid{min-height:0;display:flex;flex-direction:column;gap:0}.hero-copy{padding:72px 0 12px;width:100%}.hero-copy .eyebrow{font-size:9px;letter-spacing:.16em}.hero h1{font-size:clamp(70px,16vw,105px);margin-bottom:23px}.hero-poem{font-size:30px}.hero-lead{font-size:12px;line-height:1.8}.hero-art{min-height:0;padding:7px 0 67px;width:100%}.hero-art img{width:75%;max-height:475px}.hero-art span{bottom:42px;right:0;font-size:8px}.section{padding:79px 0}.section h2{font-size:clamp(55px,12vw,77px)}.essence-grid,.universe-grid{grid-template-columns:1fr;gap:40px}.essence-text{order:1}.essence-image{order:2}.essence-image img{height:450px}.essence-text blockquote{font-size:29px}.manifest{padding:92px 0}.manifest blockquote{font-size:clamp(43px,10vw,61px)}.roots-head{display:block;margin-bottom:38px}.roots-grid{grid-template-columns:1fr;gap:5px}.roots-grid article{padding:24px 0}.roots-grid h3{margin:12px 0}.video-grid{grid-template-columns:1fr;gap:35px}.video-grid video{aspect-ratio:16/12}.videos h2{margin-bottom:36px}.universe-image img{height:470px}.closing{padding:95px 0}.closing h2{font-size:clamp(47px,10vw,65px)}.footer-inner{display:block}.footer-inner p{margin:6px 0 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
/* Jerarquía tipográfica: Brand Kit oficial, secciones 31-32 */
.hero h1 {
  font-family: var(--head);
  font-size: clamp(56px, 6.6vw, 89px);
  font-weight: 400;
  line-height: 1.11;
  letter-spacing: -.028em;
}
.section h2 {
  font-family: var(--head);
  font-size: clamp(42px, 4.75vw, 66px);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -.018em;
}
.closing h2 {
  font-family: var(--head);
  font-size: clamp(36px, 4vw, 57px);
  font-weight: 400;
  line-height: 1.24;
  letter-spacing: -.012em;
}
.hero-poem, .manifest blockquote, .essence-text blockquote { font-family: var(--poem); }
@media(max-width:700px) {
  .hero h1 { font-size: clamp(38px, 10vw, 62px); }
  .section h2 { font-size: clamp(29px, 7.55vw, 53px); }
  .closing h2 { font-size: clamp(28px, 7vw, 44px); }
}

/* Imagen de marca sin el rectángulo de la foto original */
.hero-art::before, .hero-art::after { display: none; }
.hero-art { min-height: 0; }
.hero-art img {
  width: min(405px, 100%);
  max-height: none;
  mix-blend-mode: normal;
  filter: drop-shadow(0 12px 35px rgba(153, 105, 24, 0.16));
}
.closing img {
  mix-blend-mode: normal;
  filter: drop-shadow(0 5px 18px rgba(153, 105, 24, 0.14));
}
@media(max-width:700px) {
  .hero-art { padding: 15px 0 39px; min-height: 0; }
  .hero-art img { width: min(70vw, 310px); max-height: none; }
  .hero-art span {
    position: static;
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 11px;
    font-size: 9px;
    line-height: 1.55;
    letter-spacing: .1em;
  }
  .essence { padding-top: 59px; }
}

/* Fotos apaisadas: mostrar el encuadre íntegro, sin recortes en ningún dispositivo */
.essence-image { align-self:center; }
.essence-image img {
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
  object-fit:contain;
  object-position:center;
}
@media(max-width:700px) {
  .essence-image img {
    width:100%;
    height:auto;
    aspect-ratio:16 / 9;
    object-fit:contain;
  }
  .essence { padding-bottom:56px; }
}

/* Alinear numerales y títulos móviles: I. Raíces, II. Presente, III. Legado */
@media (max-width:700px) {
  .roots-grid article {
    display: grid;
    grid-template-columns: max-content minmax(0,1fr);
    grid-template-areas:
      "numero titulo"
      "detalle detalle";
    column-gap: 19px;
    row-gap: 12px;
    align-items: center;
    padding: 22px 0 24px;
  }
  .roots-grid article > span {
    grid-area: numero;
    display: block;
    font-size: 48px;
    line-height: 1.05;
  }
  .roots-grid article > h3 {
    grid-area: titulo;
    margin: 0;
    font-size: clamp(21px,6.2vw,26px);
    line-height: 1.2;
  }
  .roots-grid article > p {
    grid-area: detalle;
    margin: 0;
    max-width: none;
    line-height: 1.75;
  }
}

/* Ajustes generales de presentación */
img { max-width: 100%; }
.essence-image img,
.universe-image img { width:100%; height:auto; aspect-ratio:16 / 9; object-fit:contain; }
.universe-image::after { box-shadow:none; }
.video-grid video { object-fit:contain; background:#050505; }
@media(max-width:700px) {
  .section { padding-top:66px; padding-bottom:66px; }
  .roots-head { margin-bottom:28px; }
  .roots-grid article { padding-top:19px; padding-bottom:22px; }
  .video-grid { gap:30px; }
  .universe-image img { width:100%; height:auto; aspect-ratio:16 / 9; }
  .footer-inner { padding-top:26px; padding-bottom:29px; }
}

/* Mejoras exclusivas del menú desplegable: botón original sin cambios. */
#site-nav .nav-dropdown-label,
#site-nav .nav-dropdown-footer,
#site-nav .nav-mobile-only { display:none; }
@media(max-width:700px) {
  #site-nav {
    top:70px;
    left:0;
    right:0;
    padding:19px 24px 21px;
    border-bottom:1px solid rgba(204,162,87,.45);
    background:linear-gradient(135deg,#10100e 0%,#17140e 75%,#13110e 100%);
    box-shadow:0 18px 35px rgba(0,0,0,.50);
    gap:0;
    align-items:stretch;
    max-height:calc(100dvh - 71px);
    overflow-y:auto;
    overscroll-behavior:contain;
    counter-reset:navitem;
    z-index:25;
  }
  #site-nav.open {
    display:flex;
    animation:ancestral-nav-enter .24s ease-out both;
  }
  #site-nav .nav-dropdown-label {
    display:block;
    color:#c9a66c;
    font:600 9px/1.5 var(--body);
    letter-spacing:.18em;
    padding:4px 0 14px;
  }
  #site-nav a,
  #site-nav .nav-mobile-only {
    counter-increment:navitem;
    display:grid;
    grid-template-columns:27px minmax(0,1fr) 12px;
    align-items:center;
    column-gap:12px;
    min-height:55px;
    width:100%;
    padding:12px 3px;
    margin:0;
    border-top:1px solid rgba(212,170,98,.14);
    background:transparent;
    font:400 clamp(14px,3.8vw,16px)/1.4 var(--head);
    letter-spacing:.025em;
    color:#eee1cb;
    transition:background .2s ease,color .2s ease,padding-left .2s ease;
  }
  #site-nav a::before {
    content:counter(navitem,decimal-leading-zero);
    color:#bc9556;
    font:500 10px/1 var(--body);
    letter-spacing:.04em;
  }
  #site-nav a::after {
    content:"›";
    text-align:right;
    font:400 20px/1 var(--poem);
    color:#ae8d52;
    opacity:.75;
  }
  #site-nav a:hover,
  #site-nav a:focus-visible {
    color:#ffe6b5;
    background:rgba(214,168,93,.065);
    padding-left:8px;
  }
  #site-nav .nav-dropdown-footer {
    display:block;
    color:#a88959;
    font:500 9px/1.6 var(--body);
    letter-spacing:.13em;
    text-align:center;
    padding:19px 0 3px;
    border-top:1px solid rgba(212,170,98,.18);
  }
}
@keyframes ancestral-nav-enter {
  from { transform:translateY(-8px); }
  to { transform:translateY(0); }
}
@media(prefers-reduced-motion:reduce) {
  #site-nav.open { animation:none!important; }
  #site-nav a { transition:none!important; }
}

/* Animaciones de apertura y selección del menú. El botón exterior no cambia. */
@media(max-width:700px) {
  #site-nav.open::before {
    content:"";
    position:absolute;
    z-index:3;
    top:0;
    left:0;
    width:100%;
    height:2px;
    pointer-events:none;
    background:linear-gradient(90deg,transparent 0%,#c79b51 14%,#fff1b8 55%,#d0a057 87%,transparent 100%);
    transform-origin:left center;
    animation:ancestral-menu-light-line .62s cubic-bezier(.2,.7,.25,1) both;
    filter:drop-shadow(0 0 4px rgba(255,211,126,.78));
  }
  #site-nav.open > a {
    animation:ancestral-menu-link-in .36s cubic-bezier(.22,.8,.25,1) both;
  }
  #site-nav.open > a:nth-of-type(1) {animation-delay:.055s;}
  #site-nav.open > a:nth-of-type(2) {animation-delay:.11s;}
  #site-nav.open > a:nth-of-type(3) {animation-delay:.165s;}
  #site-nav.open > a:nth-of-type(4) {animation-delay:.22s;}
  #site-nav.open > a:nth-of-type(5) {animation-delay:.275s;}
  #site-nav.open > a:nth-of-type(6) {animation-delay:.33s;}
  #site-nav.open > a.nav-link-selected {
    color:#ffedcb;
    background-color:rgba(212,160,79,.105);
    background-image:linear-gradient(90deg,#d1a35c,#ffe6a8 50%,rgba(207,154,69,.35));
    background-repeat:no-repeat;
    background-position:left bottom;
    background-size:0% 1px;
    animation:ancestral-menu-select-line .27s ease-out forwards!important;
  }
  #site-nav.open > a.nav-link-selected::before,
  #site-nav.open > a.nav-link-selected::after {
    color:#ffe6aa;
    text-shadow:0 0 8px rgba(241,183,86,.78);
  }
}
@keyframes ancestral-menu-light-line {
  0% {transform:scaleX(0);opacity:.1;}
  70% {opacity:1;}
  100% {transform:scaleX(1);opacity:.78;}
}
@keyframes ancestral-menu-link-in {
  from {opacity:0;transform:translateY(-7px);}
  to {opacity:1;transform:translateY(0);}
}
@keyframes ancestral-menu-select-line {
  from {background-size:0% 1px;}
  to {background-size:100% 1px;}
}
@media(prefers-reduced-motion:reduce) {
  #site-nav.open::before,
  #site-nav.open > a,
  #site-nav.open > a.nav-link-selected {
    animation:none!important;
    opacity:1!important;
    transform:none!important;
  }
}
