:root { --red:#ef2325; --ink:#1b1d1f; --gray:#646a6f; --soft:#f3f4f4; --line:#d9dcde; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; font-family:"Poppins",sans-serif; color:var(--ink); background:#fff; }
img, video { display:block; max-width:100%; }
button, a { font:inherit; }
a { color:inherit; }
.skip { position:fixed; z-index:100; top:10px; left:10px; padding:10px 14px; background:#fff; transform:translateY(-160%); }
.skip:focus { transform:none; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.prototype-bar { display:flex; justify-content:center; gap:18px; padding:7px 20px; color:#fff; background:#222; font-size:.7rem; letter-spacing:.04em; }
.prototype-bar a { color:#fff; font-weight:700; }
.header { position:sticky; z-index:20; top:0; height:84px; padding:0 clamp(20px,5vw,72px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); backdrop-filter:blur(12px); }
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; font-weight:800; letter-spacing:.14em; }
.logo img { width:106px; }
.logo span { padding-left:10px; border-left:1px solid #aaa; }
nav[data-menu] { display:flex; align-items:center; gap:clamp(17px,2.5vw,36px); font-size:.82rem; font-weight:600; }
nav[data-menu] a { text-decoration:none; }
nav[data-menu] a:hover, nav[data-menu] a:focus-visible { color:var(--red); }
.nav-cta { padding:11px 18px; color:#fff; border:0; background:var(--red); cursor:pointer; }
.menu-button { display:none; padding:8px; border:0; background:transparent; }
.menu-button > span:not(.sr-only) { display:block; width:25px; height:2px; margin:5px; background:var(--ink); }

.hero { min-height:calc(100vh - 113px); display:grid; grid-template-columns:.9fr 1.1fr; }
.hero-copy { padding:clamp(55px,8vw,120px) clamp(25px,6vw,90px); align-self:center; }
.kicker { margin:0 0 18px; color:var(--red); font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.hero h1 { max-width:720px; margin:0; font-size:clamp(2.8rem,5.5vw,6rem); line-height:1.02; letter-spacing:-.06em; }
.hero h1 em { color:var(--red); font-style:normal; }
.hero-copy > p:not(.kicker) { max-width:610px; margin:30px 0; color:var(--gray); font-size:clamp(1rem,1.4vw,1.18rem); line-height:1.75; }
.hero-actions { display:flex; flex-wrap:wrap; gap:18px; align-items:center; }
.button { min-height:50px; padding:14px 22px; display:inline-flex; align-items:center; justify-content:center; gap:18px; border:0; text-decoration:none; font-weight:700; cursor:pointer; }
.button.primary { color:#fff; background:var(--red); }
.button.primary:hover, .button.primary:focus-visible { background:#cf1518; }
.button.text { padding-inline:0; border-bottom:1px solid var(--ink); }
.button.light { color:var(--ink); background:#fff; }
.button.wide { width:100%; }
.hero-media { position:relative; min-height:580px; overflow:hidden; }
.hero-media > img { width:100%; height:100%; object-fit:cover; object-position:50% 65%; }
.media-label { position:absolute; right:22px; bottom:22px; min-width:205px; padding:16px 18px; display:flex; justify-content:space-between; gap:20px; color:#fff; background:rgba(22,22,22,.86); }
.media-label span { color:#ccc; font-size:.72rem; }
.intro-strip { display:grid; grid-template-columns:repeat(3,1fr); padding:0 clamp(22px,5vw,72px); border-block:1px solid var(--line); }
.intro-strip p { margin:0; padding:26px 28px; display:flex; gap:18px; align-items:center; border-right:1px solid var(--line); font-size:.84rem; }
.intro-strip p:last-child { border:0; }
.intro-strip strong { color:var(--red); }
.section { padding:clamp(80px,10vw,150px) clamp(22px,6vw,92px); }
.section-heading { max-width:850px; margin-bottom:60px; }
.section-heading.compact { max-width:680px; }
.section-heading h2, .process h2, .support h2, .feature-band h2 { margin:0; font-size:clamp(2.2rem,4.8vw,5rem); line-height:1.06; letter-spacing:-.055em; }
.section-heading > p:last-child { max-width:670px; color:var(--gray); line-height:1.75; }
.product-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.product-card { border:1px solid var(--line); background:#fff; }
.product-image { position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--soft); }
.product-image img { width:100%; height:100%; object-fit:cover; }
.product-card.featured .product-image img { object-position:50% 62%; }
.product-image span { position:absolute; left:14px; top:14px; padding:6px 9px; color:#fff; background:#222; font-size:.65rem; font-weight:600; text-transform:uppercase; }
.product-copy { padding:32px; }
.product-copy h3 { margin:0 0 12px; font-size:clamp(2rem,3.5vw,3.4rem); letter-spacing:-.05em; }
.product-copy > p:not(.kicker) { min-height:52px; color:var(--gray); line-height:1.6; }
.product-copy a, .link-button { padding:0 0 6px; color:var(--ink); border:0; border-bottom:2px solid var(--red); background:transparent; text-decoration:none; font-weight:700; cursor:pointer; }
.applications { color:#fff; background:var(--ink); }
.application-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #494c4e; }
.application-grid article { min-height:280px; padding:34px; border-right:1px solid #494c4e; }
.application-grid article:last-child { border:0; }
.application-grid span { color:var(--red); font-weight:700; }
.application-grid h3 { margin:70px 0 10px; font-size:1.6rem; }
.application-grid p { color:#b9babc; line-height:1.65; }
.results { display:grid; grid-template-columns:.7fr 1.3fr; gap:40px; padding:clamp(80px,10vw,150px) clamp(22px,6vw,92px); }
.results-title { position:sticky; top:130px; align-self:start; }
.results-title h2 { margin:0; font-size:clamp(2.5rem,5vw,5rem); line-height:1; letter-spacing:-.06em; }
.results-title > p:last-child { color:var(--gray); }
.results-gallery { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.results-gallery figure { margin:0; }
.results-gallery figure:first-child { grid-column:1/-1; }
.results-gallery img { width:100%; height:520px; object-fit:cover; }
.results-gallery figure:not(:first-child) img { height:430px; }
.results-gallery figcaption { padding:10px 0; color:var(--gray); font-size:.75rem; }
.process { display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:clamp(40px,7vw,110px); background:var(--soft); }
.video-wrap video { width:100%; max-height:670px; background:#111; }
.process-copy > p:not(.kicker) { color:var(--gray); line-height:1.7; }
.support { margin:0 clamp(22px,6vw,92px) clamp(50px,8vw,100px); padding:clamp(55px,7vw,100px); color:#fff; background:var(--red); }
.support .kicker { color:#fff; opacity:.8; }
.support p:not(.kicker) { max-width:670px; line-height:1.7; }
footer { padding:45px clamp(22px,6vw,92px); display:flex; align-items:center; gap:35px; color:#ddd; background:#17191b; font-size:.8rem; }
footer .logo img { filter:brightness(0) invert(1); }
footer a:last-child { margin-left:auto; }

.breadcrumb { padding:24px clamp(22px,6vw,92px); display:flex; gap:12px; color:var(--gray); font-size:.76rem; }
.product-hero { display:grid; grid-template-columns:1.15fr .85fr; min-height:720px; padding:20px clamp(22px,6vw,92px) 90px; gap:clamp(35px,6vw,90px); }
.product-gallery { display:grid; grid-template-columns:85px 1fr; gap:14px; min-width:0; }
.main-image { min-height:610px; overflow:hidden; background:var(--soft); }
.main-image img { width:100%; height:100%; object-fit:cover; object-position:50% 65%; }
.thumbnails { order:-1; display:flex; flex-direction:column; gap:10px; }
.thumbnails button { padding:0; aspect-ratio:1; border:2px solid transparent; background:#eee; cursor:pointer; overflow:hidden; }
.thumbnails button[aria-current="true"] { border-color:var(--red); }
.thumbnails img { width:100%; height:100%; object-fit:cover; }
.product-detail { align-self:center; }
.product-detail h1 { margin:0; font-size:clamp(4rem,8vw,8rem); line-height:.9; letter-spacing:-.08em; }
.summary { color:var(--gray); font-size:1.08rem; line-height:1.75; }
.confirmed-list { margin:28px 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.confirmed-list li { padding:15px 0; display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); font-size:.78rem; }
.confirmed-list span { color:var(--gray); text-align:right; }
.pending { color:var(--red) !important; }
.product-detail small { display:block; margin-top:14px; color:var(--gray); line-height:1.5; }
.feature-band { padding:clamp(80px,10vw,150px) clamp(22px,6vw,92px); color:#fff; background:var(--ink); }
.feature-band > div:first-child { max-width:950px; }
.feature-list { display:grid; grid-template-columns:repeat(3,1fr); margin-top:70px; border-top:1px solid #4a4c4d; }
.feature-list article { padding:30px; border-right:1px solid #4a4c4d; }
.feature-list span { color:var(--red); font-weight:700; }
.feature-list p { color:#b8b8b8; line-height:1.6; }
.technical { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; }
.spec-table { border-top:1px solid var(--line); }
.spec-table div { padding:22px 0; display:flex; justify-content:space-between; gap:30px; border-bottom:1px solid var(--line); }
.spec-table span { color:var(--gray); }
.spec-table strong { color:var(--red); text-align:right; }
.image-row { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.image-row img { width:100%; height:480px; object-fit:cover; }
dialog { width:min(520px,calc(100% - 30px)); padding:42px; border:0; box-shadow:0 30px 100px #0005; }
dialog::backdrop { background:#0009; }
.dialog-close { position:absolute; right:16px; top:10px; border:0; background:transparent; font-size:2rem; cursor:pointer; }

[data-reveal] { opacity:0; transform:translateY(24px); transition:opacity .65s ease,transform .65s ease; }
[data-reveal][data-visible] { opacity:1; transform:none; }
@media (max-width:900px) {
  .menu-button { display:block; }
  nav[data-menu] { position:absolute; top:84px; left:0; right:0; padding:25px; display:none; flex-direction:column; align-items:stretch; background:#fff; border-bottom:1px solid var(--line); }
  nav[data-menu][data-open] { display:flex; }
  .hero { grid-template-columns:1fr; }
  .hero-media { min-height:65vh; }
  .intro-strip { grid-template-columns:1fr; }
  .intro-strip p { border-right:0; border-bottom:1px solid var(--line); }
  .product-grid,.process,.results,.technical { grid-template-columns:1fr; }
  .results-title { position:static; }
  .product-hero { grid-template-columns:1fr; }
  .product-detail { order:-1; }
}
@media (max-width:620px) {
  .prototype-bar { justify-content:space-between; overflow:hidden; font-size:.6rem; white-space:nowrap; }
  .header { height:72px; }
  .logo img { width:88px; }
  .logo span { font-size:.72rem; }
  nav[data-menu] { top:72px; }
  .hero-copy { min-width:0; padding:65px 38px 65px 30px; overflow:hidden; }
  .hero h1 { font-size:2.35rem; line-height:1.08; }
  .hero h1 em { display:block; }
  .hero-copy > p:not(.kicker) { max-width:100%; font-size:.92rem; }
  .hero-media { min-height:480px; }
  .product-grid,.application-grid,.results-gallery,.feature-list,.image-row { grid-template-columns:1fr; }
  .application-grid article,.feature-list article { border-right:0; border-bottom:1px solid #494c4e; }
  .results-gallery figure:first-child { grid-column:auto; }
  .results-gallery img,.results-gallery figure:not(:first-child) img,.image-row img { height:430px; }
  .product-gallery { grid-template-columns:1fr; }
  .product-detail { min-width:0; max-width:100%; overflow:hidden; }
  .product-detail .summary { max-width:100%; font-size:.94rem; }
  .thumbnails { order:0; flex-direction:row; }
  .thumbnails button { width:72px; }
  .main-image { min-height:470px; }
  .confirmed-list li,.spec-table div { flex-direction:column; gap:6px; }
  .confirmed-list span,.spec-table strong { text-align:left; }
  footer { flex-wrap:wrap; }
  footer a:last-child { margin-left:0; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto;} [data-reveal]{opacity:1;transform:none;transition:none;} }

/* Capa editorial tecnica */
.hero-media::before{content:"";position:absolute;inset:18px;z-index:1;border:1px solid #fff5;pointer-events:none}.hero-media::after{content:"+";position:absolute;z-index:2;right:10px;top:2px;color:#fff;font:600 22px/1 monospace}.tech-callout{position:absolute;z-index:2;padding:9px 11px;color:#fff;background:#111d;border-left:3px solid var(--red);font-size:.66rem;font-weight:600;letter-spacing:.04em;backdrop-filter:blur(5px)}.tech-callout span{margin-right:8px;color:#ff7b7c}.callout-screen{left:7%;top:28%}.callout-model{right:5%;bottom:24%}.product-subnav{position:sticky;z-index:18;top:0;padding:11px clamp(18px,6vw,92px);display:flex;justify-content:space-between;gap:20px;color:#fff;background:#161817f2;backdrop-filter:blur(10px);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.product-subnav div{display:flex;gap:22px}.product-subnav a{text-decoration:none}.product-subnav a:hover,.product-subnav a:focus-visible{color:#ff7779}
@media(max-width:620px){.tech-callout{font-size:.56rem}.callout-screen{top:16%}.callout-model{bottom:18%}.product-subnav{overflow:auto}.product-subnav>span{display:none}.product-subnav div{min-width:max-content;gap:18px}}

@media(min-width:901px) and (max-height:820px){
  .hero{height:calc(100vh - 113px);height:calc(100svh - 113px);min-height:0;grid-template-columns:1fr 1fr}
  .hero-copy{padding:28px clamp(38px,4vw,64px)}
  .hero h1{font-size:clamp(3.1rem,4.7vw,4rem);line-height:.98}
  .hero-copy>p:not(.kicker){margin:18px 0;font-size:.95rem;line-height:1.5}
  .hero-media{min-height:0}
}
@media(min-width:1400px) and (min-aspect-ratio:16/9) and (max-height:1100px){
  .hero{height:calc(100vh - 113px);height:calc(100svh - 113px);min-height:0}
  .hero-copy{padding:32px clamp(48px,5vw,82px)}
  .hero h1{font-size:clamp(3.7rem,4.2vw,4.8rem);line-height:.98}
  .hero-copy>p:not(.kicker){margin:18px 0;font-size:.95rem;line-height:1.5}
  .hero-media{min-height:0}
}
@media(min-width:901px) and (max-height:560px){
  .hero-copy{padding:18px clamp(28px,3vw,48px)}
  .hero h1{font-size:clamp(2.55rem,4vw,3.25rem);line-height:.96}
  .hero-copy>p:not(.kicker){margin:12px 0;font-size:.82rem;line-height:1.35}
  .hero-copy .button{padding:10px 15px}
}
