:root{
  --bg:var(--color-white);
  --text:var(--color-black);
  --muted:var(--color-text-mid);
  --line:var(--color-border);
  --accent:var(--color-link);
  --dark:var(--color-ink-3);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--bg);color:var(--text);overflow-x:hidden}
a{color:inherit}
img{display:block;max-width:100%}
.container{width:min(1440px,calc(100% - 64px));margin:0 auto}

/* HEADER */
header{
  position:sticky;top:0;z-index:1000;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{height:88px;display:flex;align-items:center;gap:28px;position:relative}
.logo img{height:58px;width:auto}
.nav-links{margin-left:auto;display:flex;align-items:center;gap:28px}
.nav-links a{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;text-decoration:none;font-weight:500}
.nav-links a:hover{opacity:.55}
.instagram-link img{width:18px;height:18px}
#lang-desktop{border:1px solid var(--line);background:var(--color-white);padding:7px 9px;border-radius:999px;font-size:.76rem}
#hamburger-btn{display:none;margin-left:auto;border:0;background:none;font-size:1.8rem;cursor:pointer}

/* MOBILE MENU */
#mobile-menu{
  position:fixed;inset:0 0 0 auto;width:min(82vw,380px);height:100vh;
  background:var(--color-black);color:var(--color-white);z-index:1100;transform:translateX(100%);transition:.3s ease;
  padding:88px 34px 34px;display:flex;flex-direction:column;gap:26px;
}
#mobile-menu.open{transform:translateX(0)}
#mobile-menu a{text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:1.15rem}
.mobile-close{position:absolute;right:20px;top:16px;border:0;background:none;color:var(--color-white);font-size:2rem;cursor:pointer}
#lang-mobile{margin-top:8px;width:100%;padding:10px;border-radius:8px;border:1px solid var(--color-text-dark);background:var(--color-ink-2);color:var(--color-white)}

/* HERO — PHOTO FIRST */
.hero{
  min-height:calc(100vh - 88px);
  position:relative;
  background-image:url('../images/caliper-hero-bg.jpg');
  background-size:cover;
  background-position:center center;
  display:flex;align-items:flex-end;
}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 40%,rgba(0,0,0,.44) 100%)}
.hero-copy{
  position:relative;z-index:2;color:var(--color-white);
  padding:0 0 56px;
  max-width:680px;
}
.hero-kicker{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;margin-bottom:10px;font-weight:500}
.hero h1{
  font-family:var(--font-display);
  font-size:clamp(3.5rem,7vw,7.8rem);
  line-height:.86;
  letter-spacing:.01em;
  font-weight:400;
  max-width:760px;
}
.hero-actions{margin-top:20px}
.text-link{display:inline-flex;gap:10px;align-items:center;text-decoration:none;color:var(--color-white);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:5px}

/* MINIMAL STATEMENT */
.statement{padding:110px 0 100px;text-align:center}
.statement .eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.24em;color:var(--muted);margin-bottom:18px}
.statement h2{font-family:var(--font-display);font-weight:400;font-size:clamp(2.8rem,6vw,6.2rem);line-height:.95;max-width:900px;margin:0 auto}
.statement p{max-width:620px;margin:24px auto 0;color:var(--color-text-soft);font-size:1rem;line-height:1.7}

/* FULL BLEED IMAGE */
.full-image{width:100%;height:min(82vh,880px);overflow:hidden}
.full-image img{width:100%;height:100%;object-fit:cover}

/* SPECS STRIP */
.specs{padding:72px 0;border-bottom:1px solid var(--line);border-top:1px solid var(--line)}
.spec-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.spec{text-align:center;padding:12px 24px}
.spec:not(:last-child){border-right:1px solid var(--line)}
.spec strong{font-family:var(--font-display);font-size:2.15rem;font-weight:400;letter-spacing:.03em}
.spec span{display:block;margin-top:4px;color:var(--muted);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}

/* SECOND PHOTO + SMALL COPY */
.split{display:grid;grid-template-columns:1.6fr .8fr;min-height:720px}
.split-media{min-height:720px;background:url('../images/IMG_6737.jpg') center/cover no-repeat}
.split-copy{display:flex;align-items:center;padding:70px;background:var(--color-bg-soft-2)}
.split-copy-inner{max-width:390px}
.split-copy .eyebrow{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.split-copy h3{font-family:var(--font-display);font-size:clamp(2.8rem,4.2vw,4.8rem);font-weight:400;line-height:.92}
.split-copy p{margin-top:18px;color:var(--color-text-soft);line-height:1.7;font-size:.95rem}
.split-copy a{display:inline-block;margin-top:24px;text-decoration:none;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;border-bottom:1px solid var(--color-black);padding-bottom:5px}

/* CTA */
.cta{padding:110px 0;text-align:center}
.cta h2{font-family:var(--font-display);font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:.95}
.cta p{color:var(--muted);margin:16px auto 28px;max-width:520px;line-height:1.7}
.cta-actions{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
.cta-btn{display:inline-block;padding:13px 22px;border:1px solid var(--color-black);text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem}
.cta-btn.dark{background:var(--color-black);color:var(--color-white)}

/* FOOTER */
footer{background:var(--color-black);color:var(--color-white);padding:38px 0}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.78rem}
.footer-inner a{color:var(--color-white);text-decoration:none;opacity:.8}
.footer-motto{opacity:.6}

/* COOKIES */
#cookie-banner{
  position:fixed;
  left:24px;
  bottom:24px;
  z-index:2000;
  width:min(360px,calc(100vw - 48px));
  background:rgba(255,255,255,.92);
  color:var(--color-ink-1);
  padding:18px;
  display:none;
  align-items:flex-end;
  gap:14px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  box-shadow:0 14px 40px rgba(0,0,0,.16);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  font-size:.80rem;
}
#cookie-banner .cookie-text{flex:1;line-height:1.5}
#cookie-banner a{color:var(--color-ink-1);text-decoration:underline;text-underline-offset:2px}
#accept-cookies{
  flex-shrink:0;
  border:1px solid var(--color-ink-1);
  background:var(--color-ink-1);
  color:var(--color-white);
  padding:9px 12px;
  border-radius:8px;
  cursor:pointer;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.10em;
}
#accept-cookies:hover{opacity:.86}
@media(max-width:600px){
  #cookie-banner{
    left:14px;
    right:14px;
    bottom:14px;
    width:auto;
    padding:15px;
    align-items:center;
    gap:12px;
  }
}
#cookie-policy-page{position:fixed;inset:0;z-index:2100;background:var(--color-white);display:none;overflow:auto;padding:80px 24px}
.policy-content{max-width:820px;margin:auto;line-height:1.7}
.policy-content h2{font-family:var(--font-display);font-size:3rem;font-weight:400;margin-bottom:20px}
.policy-content h3{margin-top:28px;margin-bottom:8px}
.close-policy{position:fixed;top:20px;right:24px;border:0;background:none;font-size:2rem;cursor:pointer}

@media(max-width:900px){
  .container{width:min(100% - 36px,1440px)}
  .nav{height:72px}
  .logo img{height:40px}
  .nav-links,#lang-desktop,.instagram-link{display:none}
  #hamburger-btn{display:block}
  .hero{min-height:72vh;background-size:cover;background-position:center center}
  .hero-copy{padding-bottom:30px;max-width:85%}
  .hero-kicker{font-size:.62rem}
  .statement{padding:72px 0 66px}
  .statement p{font-size:.94rem}
  .full-image{height:66vh}
  .spec-grid{grid-template-columns:1fr}
  .spec{padding:22px}
  .spec:not(:last-child){border-right:0;border-bottom:1px solid var(--line)}
  .split{grid-template-columns:1fr;min-height:0}
  .split-media{min-height:62vh;background-position:center}
  .split-copy{padding:54px 24px}
  .cta{padding:72px 0}
  .footer-inner{flex-direction:column;text-align:center}
}

@media(max-width:560px){
  .hero{min-height:64vh;background-position:center top}
  .hero::after{background:linear-gradient(180deg,rgba(0,0,0,0) 42%,rgba(0,0,0,.54) 100%)}
  .hero-copy{max-width:100%}
  .hero h1{font-size:clamp(3rem,17vw,5rem)}
  .hero-kicker{margin-bottom:8px}
  .full-image{height:55vh}
  .split-media{min-height:52vh}
}


/* === V4: HEADER TRANSPARENTE SOBRE EL HERO === */
header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:1000;
  background:transparent;
  backdrop-filter:none;
  border-bottom:1px solid transparent;
  transition:background .28s ease,border-color .28s ease,box-shadow .28s ease,backdrop-filter .28s ease;
}
header .nav-links a{
  color:var(--color-white);
  text-shadow:0 1px 8px rgba(0,0,0,.55);
  transition:color .28s ease,opacity .2s ease,text-shadow .28s ease;
}
header .logo img{
  filter:brightness(0) invert(1);
  transition:filter .28s ease;
}
header .instagram-link img{
  filter:brightness(0) invert(1);
  transition:filter .28s ease;
}
header #lang-desktop{
  color:var(--color-white);
  border-color:rgba(255,255,255,.65);
  background:rgba(0,0,0,.18);
  text-shadow:0 1px 6px rgba(0,0,0,.35);
  backdrop-filter:blur(6px);
}
header #lang-desktop option{color:var(--color-black);background:var(--color-white)}
header #hamburger-btn{
  color:var(--color-white);
  text-shadow:0 1px 8px rgba(0,0,0,.55);
}

/* Fondo superior suave para que logo y navegación siempre sean legibles */
.hero::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:150px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,.12) 48%,rgba(0,0,0,0) 100%);
}
.hero{min-height:100vh}

/* Al hacer scroll, el header vuelve a blanco */
header.scrolled{
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  border-bottom-color:var(--line);
  box-shadow:0 2px 18px rgba(0,0,0,.04);
}
header.scrolled .nav-links a{
  color:var(--text);
  text-shadow:none;
}
header.scrolled .logo img,
header.scrolled .instagram-link img{
  filter:none;
}
header.scrolled #lang-desktop{
  color:var(--text);
  border-color:var(--line);
  background:var(--color-white);
  text-shadow:none;
  backdrop-filter:none;
}
header.scrolled #hamburger-btn{
  color:var(--text);
  text-shadow:none;
}

@media(max-width:900px){
  .hero{min-height:100svh}
  .hero::before{height:120px;background:linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,0))}
}
@media(max-width:560px){
  .hero{min-height:100svh}
}



/* === V6 HÍBRIDA: V5 + lenguaje editorial tipo estudio === */
.editorial-strip{
  overflow:hidden;
  border-top:1px solid rgba(0,0,0,.1);
  border-bottom:1px solid rgba(0,0,0,.1);
  background:var(--color-white);
  white-space:nowrap;
}
.editorial-track{
  display:inline-flex;
  gap:48px;
  align-items:center;
  padding:15px 0;
  min-width:max-content;
  animation:odinTicker 24s linear infinite;
  font-family:var(--font-body);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.editorial-track span::after{content:' / '; margin-left:48px; opacity:.28}
@keyframes odinTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.editorial-word{
  padding:88px 0 58px;
  overflow:hidden;
  background:var(--color-white);
}
.editorial-word .word{
  display:block;
  font-family:var(--font-display);
  font-size:clamp(4.6rem,15vw,13.5rem);
  line-height:.76;
  letter-spacing:-.025em;
  text-transform:uppercase;
  white-space:nowrap;
}
.editorial-word .word.right{text-align:right}
.editorial-caption{
  margin-top:40px;
  max-width:440px;
  font-size:.9rem;
  line-height:1.5;
  letter-spacing:.02em;
}

.project-frame{
  padding:0 0 28px;
  background:var(--color-white);
}
.project-frame .project-meta{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:14px 0 12px;
  border-top:1px solid rgba(0,0,0,.12);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.project-frame img{
  width:100%;
  height:min(78vh,900px);
  object-fit:cover;
  display:block;
}

.specs.editorial-specs{padding:42px 0 52px}
.editorial-specs .spec-grid{border-top:1px solid rgba(0,0,0,.12)}
.editorial-specs .spec{
  padding-top:22px;
  align-items:flex-start;
  border-right:none;
}
.editorial-specs .spec strong{font-size:clamp(2rem,4.8vw,4.6rem);line-height:1}
.editorial-specs .spec span{font-size:.72rem;letter-spacing:.16em}

.links-editorial{background:var(--color-black);color:var(--color-white);padding:20px 0 0}
.links-editorial a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--color-white);
  text-decoration:none;
  border-top:1px solid rgba(255,255,255,.25);
  padding:26px 0 18px;
  font-family:var(--font-display);
  font-size:clamp(3.4rem,8vw,8rem);
  line-height:.9;
  text-transform:uppercase;
  transition:opacity .2s ease;
}
.links-editorial a:hover{opacity:.62}
.links-editorial a:last-child{border-bottom:1px solid rgba(255,255,255,.25)}
.links-editorial .arrow{font-family:var(--font-body);font-size:.36em;font-weight:400}

@media (max-width:768px){
  .editorial-track{gap:28px;font-size:.67rem;padding:12px 0}
  .editorial-track span::after{margin-left:28px}
  .editorial-word{padding:62px 0 42px}
  .editorial-word .word{font-size:clamp(4.2rem,23vw,8rem);white-space:normal}
  .editorial-word .word.right{text-align:left}
  .project-frame img{height:62vh}
  .project-frame .project-meta{font-size:.64rem}
  .links-editorial a{padding:22px 0 16px;font-size:clamp(3rem,17vw,5.8rem)}
}

@media (prefers-reduced-motion:reduce){.editorial-track{animation:none}}


/* === HOME V6.5: copy final y conversión directa === */
.hero-subtitle{
  margin-top:12px;
  max-width:520px;
  color:var(--color-white);
  font-size:clamp(.95rem,1.5vw,1.15rem);
  line-height:1.45;
  font-weight:400;
}
.home-contact{background:var(--color-black);color:var(--color-white);padding:clamp(90px,12vw,170px) 0;}
.home-contact-inner{max-width:900px;}
.home-contact h2{font-family:var(--font-display);font-size:clamp(3.6rem,9vw,8rem);font-weight:400;line-height:.9;letter-spacing:-.02em;margin:0 0 24px;}
.home-contact p{max-width:620px;font-size:clamp(1rem,1.7vw,1.25rem);line-height:1.55;opacity:.78;margin-bottom:28px;}
.home-contact .text-link{color:var(--color-white);border-bottom-color:rgba(255,255,255,.45);}
.home-contact .text-link:hover{border-bottom-color:var(--color-white);}
@media(max-width:768px){.hero-subtitle{max-width:92%;margin-top:9px}.home-contact{padding:80px 0}.home-contact h2{font-size:clamp(3.4rem,17vw,5.5rem)}}



/* === CONTACT — estética HOME ODIN === */
body{background:var(--color-white);color:var(--color-black)}
.contact-page{padding-top:88px}
.contact-hero{
  padding:96px 0 58px;
  border-bottom:1px solid var(--line);
  background:var(--color-white);
}
.contact-hero .eyebrow{
  font-size:.7rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:14px;
}
.contact-hero h1{
  font-family:var(--font-display);
  font-size:clamp(3.8rem,8vw,7.8rem);
  line-height:.88;
  font-weight:400;
  text-transform:uppercase;
}
.contact-hero p{
  max-width:650px;
  margin-top:18px;
  color:var(--color-text-soft);
  line-height:1.65;
  font-size:.98rem;
}
.contact-content{padding:48px 0 84px}
.contact-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:44px;
}
.contact-block{
  border-top:1px solid rgba(0,0,0,.14);
  padding-top:22px;
}
.contact-block h2{
  font-family:var(--font-display);
  font-size:clamp(2.4rem,4.3vw,4.4rem);
  line-height:.94;
  font-weight:400;
  text-transform:uppercase;
}
.contact-block p{
  margin-top:16px;
  color:var(--color-text-soft);
  line-height:1.7;
  max-width:58ch;
}
.contact-mail{
  display:inline-block;
  margin-top:26px;
  padding:13px 20px;
  border:1px solid var(--color-black);
  background:var(--color-black);
  color:var(--color-white);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.72rem;
}
.contact-mail:hover{opacity:.82}
.contact-info{
  margin-top:20px;
  display:grid;
  gap:10px;
  font-size:.95rem;
}
.contact-info a{
  color:inherit;
  text-underline-offset:3px;
}
@media(max-width:1024px){
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .contact-page{padding-top:72px}
  .contact-hero{padding:68px 0 42px}
}
@media(max-width:640px){
  .contact-hero h1{font-size:clamp(3.4rem,18vw,5.6rem)}
  .contact-content{padding-top:34px}
}

/* Header blanco y legible */
body header{
  background:rgba(255,255,255,.97) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  border-bottom:1px solid var(--line) !important;
  box-shadow:0 2px 18px rgba(0,0,0,.035);
}
body header .nav-links a{color:var(--text) !important;text-shadow:none !important}
body header .logo img,body header .instagram-link img{filter:none !important}
body header #lang-desktop{
  color:var(--text) !important;border-color:var(--line) !important;
  background:var(--color-white) !important;text-shadow:none !important;backdrop-filter:none !important;
}
body header #hamburger-btn{color:var(--text) !important;text-shadow:none !important}
