:root{color-scheme:dark;--color-obsidian:#000;--color-graphite:#0e0e0e;--color-carbon:#1d1d1f;--color-steel:#333336;--color-slate:#6e6e73;--color-ash:#86868b;--color-porcelain:#f5f5f7;--color-white:#fff;--color-apple-blue:#0071e3;--color-electric-link:#2997ff;--color-cobalt-link:#06c;--color-copper-new:#b64400;--color-optical-yellow:#ffd500;--font-sf-pro-text:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-sf-pro-display:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--spacing-4:4px;--spacing-8:8px;--spacing-12:12px;--spacing-16:16px;--spacing-24:24px;--spacing-28:28px;--spacing-48:48px;--spacing-90:90px;--spacing-144:144px;--section-gap:24px;--card-padding:16px;--element-gap:4px;--radius-images:28px;--radius-cards:28px;--radius-pills:9999px;--radius-navigation:20px;--shadow-subtle:rgb(40 40 40) 0 0 0 1px;--shadow-subtle-2:rgb(110 110 115) 0 0 0 1px;--bg:var(--color-obsidian);--fg:var(--color-porcelain);--muted:var(--color-ash);--line:rgba(110,110,115,.36);--accent:var(--color-electric-link);--sans:var(--font-sf-pro-text);font-family:var(--font-sf-pro-text)}
html,body{background:var(--color-obsidian);color:var(--color-porcelain)}body{font-family:var(--font-sf-pro-text)}a{color:inherit}a:focus-visible,button:focus-visible{outline-color:var(--color-electric-link)}
.nav{height:44px;padding-inline:clamp(16px,5vw,76px);background:rgba(0,0,0,.88);border-bottom-color:rgba(51,51,54,.65);backdrop-filter:blur(14px)}.nav.scrolled{background:rgba(14,14,14,.94);border-bottom-color:var(--color-steel)}.brand{color:var(--color-porcelain);font-size:12px;font-weight:500;letter-spacing:-.12px}.brand span{color:var(--color-ash)}.navlinks{gap:clamp(16px,2.6vw,36px);color:rgba(245,245,247,.82);font-size:12px;letter-spacing:-.12px}.navlinks a:hover{color:var(--color-electric-link)}.nav-cta{padding:7px 14px;border:0;border-radius:var(--radius-pills);background:var(--color-apple-blue);color:var(--color-white);line-height:16px;transition:background .2s ease}.nav-cta:hover{background:#147ce5;color:var(--color-white)!important}
.sequence,.pin,.gallery-runway,.gallery-frame{background-color:var(--color-obsidian)}.chapter h1,.chapter h2{color:var(--color-porcelain);font-family:var(--font-sf-pro-display);font-size:clamp(40px,7vw,80px);font-weight:600;letter-spacing:-1.2px;line-height:1.05;-webkit-text-stroke:0;paint-order:normal}.chapter .eyebrow,.eyebrow{color:var(--color-ash)}.chapter p{color:var(--color-ash);font-size:14px;line-height:1.47}.chapter-index,.scroll-note,.loading{color:var(--color-ash)}.loading{font-size:12px;line-height:1.33}.chapter{-webkit-text-stroke:0;paint-order:normal}
.intro{background:linear-gradient(var(--color-carbon),var(--color-obsidian) 288px);padding-top:clamp(112px,15vh,150px)}.intro::before{background:var(--color-electric-link)}.intro h2,.details h2{color:var(--color-porcelain);font-family:var(--font-sf-pro-display);font-weight:600;mix-blend-mode:normal;-webkit-text-stroke:0;paint-order:normal}.intro h2{font-size:clamp(40px,8vw,96px);letter-spacing:-1.44px;line-height:1.04}.intro p{max-width:440px;color:var(--color-ash);font-size:14px;line-height:1.47}
.gallery-row{gap:clamp(12px,2vw,24px)}.gallery-card,.gallery-row .photo-more{overflow:hidden;border:1px solid rgba(51,51,54,.9);border-radius:var(--radius-images);box-shadow:none}.gallery-card img,.gallery-row .photo-more img{border-radius:var(--radius-images)}.gallery-card figcaption,.gallery-all figcaption{min-height:36px;background:var(--color-graphite);color:var(--color-ash);font-size:12px;font-weight:500;letter-spacing:-.12px;line-height:1.33}.gallery-row .photo-more{border-color:var(--color-steel);background:var(--color-graphite)}.gallery-row .photo-more:hover{border-color:var(--color-slate)}.gallery-row .photo-more span{color:var(--color-porcelain);font-size:14px}.gallery-row .photo-more small{color:var(--color-ash)}
.details{border-top-color:var(--color-steel);background:linear-gradient(var(--color-carbon),var(--color-obsidian) 288px)}.details h2{max-width:520px;font-size:clamp(32px,5vw,56px);letter-spacing:-.84px;line-height:1.08}.detail-copy{color:var(--color-ash);font-size:14px;line-height:1.47}.detail-copy p{margin-bottom:20px}.specs{border-top-color:var(--color-steel)}.spec{border-bottom-color:var(--color-steel)}.spec span{color:var(--color-ash);font-size:12px;letter-spacing:-.12px}.spec strong{color:var(--color-porcelain);font-size:14px;font-weight:500;line-height:1.33}.footer{border-top-color:var(--color-steel);color:var(--color-ash);font-size:12px;letter-spacing:-.12px}.footer a{color:var(--color-electric-link)}.footer a:hover{color:var(--color-porcelain)}
.gallery-dialog .photo-slot{overflow:hidden;border-color:rgba(51,51,54,.9);border-radius:var(--radius-images);background:var(--color-graphite);box-shadow:none}.gallery-dialog .photo-slot img{border-radius:var(--radius-images) var(--radius-images) 0 0}.gallery-dialog .photo-slot figcaption{background:var(--color-graphite)}.infinite-controls button{border-color:var(--color-steel);border-radius:var(--radius-pills);background:rgba(51,51,54,.72);color:var(--color-porcelain);box-shadow:none}.infinite-controls button:hover{border-color:var(--color-slate);background:rgba(51,51,54,.94)}.infinite-controls #focusImage{border-color:var(--color-apple-blue);background:var(--color-apple-blue);color:var(--color-white)}.infinite-controls #focusImage:hover{background:#147ce5}.infinite-controls button:focus-visible,.gallery-close:focus-visible{outline-color:var(--color-electric-link)}.gallery-close{border-color:var(--color-steel);background:rgba(51,51,54,.5);color:var(--color-porcelain)}.infinite-head h2{color:var(--color-porcelain);font-family:var(--font-sf-pro-display);font-weight:600}.infinite-hint{color:var(--color-ash)}.infinite-wordmark{color:var(--color-porcelain)}.gallery-fallback{background:var(--color-obsidian)}
@media(max-width:700px){.nav{height:44px;padding-inline:16px}.navlinks{gap:12px;font-size:11px}.nav-cta{padding:6px 12px}.chapter h1,.chapter h2{font-size:clamp(36px,10vw,48px);letter-spacing:-.72px}.intro{padding:112px 24px 10vh}.intro h2{font-size:clamp(40px,10vw,56px);letter-spacing:-.84px;line-height:1.04}.intro p{margin-top:22px}.details{padding:9vh 24px 10vh;gap:36px}.details h2{font-size:clamp(32px,8vw,42px);letter-spacing:-.63px}.gallery-card figcaption{min-height:34px}.footer{gap:20px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.nav,.nav-cta,.gallery-row,.infinite-controls button{transition:none!important}}

/* --- Contacto y pie ---------------------------------------------------- */
html{scroll-padding-top:70px}
.contact{padding:14vh clamp(24px,10vw,150px) 12vh;border-top:1px solid var(--color-steel);background:linear-gradient(var(--color-carbon),var(--color-obsidian) 320px)}
.contact-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(36px,6vw,96px);align-items:start}
.contact h2{margin:0;color:var(--color-porcelain);font-family:var(--font-sf-pro-display);font-size:clamp(36px,5.2vw,72px);font-weight:600;letter-spacing:-1.1px;line-height:1.02}
.contact .eyebrow{margin-bottom:18px}
.contact-lead{max-width:460px;margin:26px 0 0;color:var(--color-ash);font-size:14px;line-height:1.6}
.contact-panel{padding:clamp(20px,2.6vw,30px);border:1px solid var(--color-steel);border-radius:var(--radius-cards);background:rgba(14,14,14,.72);box-shadow:var(--shadow-subtle)}
.contact-primary,.contact-secondary{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border-radius:var(--radius-pills);font-size:14px;font-weight:500;line-height:1.2;transition:background .2s ease,border-color .2s ease,color .2s ease}
.contact-primary{justify-content:space-between;background:var(--color-apple-blue);color:var(--color-white)}
.contact-primary:hover{background:#147ce5}
.contact-secondary{margin-top:10px;border:1px solid var(--color-steel);color:var(--color-porcelain)}
.contact-secondary:hover{border-color:var(--color-slate);background:rgba(51,51,54,.6)}
.contact-meta{margin:26px 0 0;padding:0;border-top:1px solid var(--color-steel)}
.contact-meta div{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--color-steel)}
.contact-meta dt{color:var(--color-ash);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.contact-meta dd{margin:0;color:var(--color-porcelain);font-size:13px;text-align:right}
.contact-meta a:hover{color:var(--color-electric-link)}
.contact-note{margin:20px 0 0;color:var(--color-ash);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.footer nav{display:flex;flex-wrap:wrap;gap:clamp(14px,2vw,26px)}
.navlinks a[aria-current="true"]{color:var(--color-electric-link)}
.navlinks .nav-cta[aria-current="true"]{color:var(--color-white);background:#147ce5}
@media(max-width:700px){
  .contact{padding:10vh 24px 9vh}
  .contact-inner{grid-template-columns:1fr;gap:34px}
  .contact h2{font-size:clamp(38px,10vw,52px);letter-spacing:-.84px}
  .contact-lead{margin-top:20px}
  .footer{display:grid;gap:14px;padding-inline:20px}
  .footer nav{gap:9px 16px;font-size:11px}
}
