:root{color-scheme:dark;--bg:#090a0c;--surface:#141519;--surface-2:#1b1c21;--surface-3:#222329;--border:#32343c;--border-soft:#25272d;--text:#f7f7f8;--muted:#b4b6bd;--red:#e50914;--red-dark:#b80811;--focus:#ffd35c;--radius:18px;--header-h:64px;--bar-h:68px}
*{box-sizing:border-box}
html{height:100%;scroll-behavior:smooth}
body{width:100%;min-width:320px;height:100%;height:100dvh;margin:0;overflow:hidden;background:radial-gradient(circle at 50% -10%,rgba(86,89,103,.19),transparent 35rem),var(--bg);color:var(--text);font:15px/1.5 "Poppins","Segoe UI",Arial,sans-serif}
button,input{font:inherit}button{color:inherit}a{color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.skip-link{position:fixed;z-index:1000;top:8px;left:8px;min-height:48px;padding:12px 14px;transform:translateY(-150%);border-radius:8px;background:#fff;color:#07080a;font-weight:700}.skip-link:focus{transform:translateY(0)}

.site-header{position:relative;z-index:20;height:var(--header-h);border-bottom:1px solid var(--border-soft);background:rgba(13,14,17,.97)}
.header-inner{display:flex;align-items:center;justify-content:space-between;width:min(100%,1360px);height:100%;margin:auto;padding:6px 12px;gap:8px}
.brand{display:flex;min-width:48px;min-height:48px;align-items:center;gap:8px;text-decoration:none}.brand img{width:56px;height:48px;object-fit:contain;filter:drop-shadow(0 4px 10px #0009)}
.brand-copy{display:none}.brand-copy strong{display:block;font-size:clamp(17px,3vw,24px);font-style:italic;font-weight:800;white-space:nowrap}.brand-copy em{color:var(--red);font-style:inherit}.brand-copy small{display:block;margin-top:-2px;color:var(--muted);font-size:max(12px,.75rem);font-weight:600;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.header-actions{display:flex;align-items:center;gap:8px}
.button{display:inline-flex;min-width:48px;min-height:48px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:12px;padding:10px 15px;cursor:pointer;font-weight:700;line-height:1.2;transition:transform .12s ease,filter .12s ease}.button:hover{filter:brightness(1.1)}.button:active{transform:translateY(1px)}.button svg{width:20px;height:20px;fill:currentColor}.button-primary{background:linear-gradient(180deg,#f11924,var(--red-dark));box-shadow:0 8px 22px rgba(229,9,20,.25)}.button-secondary{border-color:var(--border);background:var(--surface-2)}.desktop-quote{display:none}

.app-shell{display:grid;grid-template-rows:minmax(0,48%) minmax(0,52%);width:min(100%,1360px);height:calc(100vh - var(--header-h) - var(--bar-h) - env(safe-area-inset-bottom));height:calc(100dvh - var(--header-h) - var(--bar-h) - env(safe-area-inset-bottom));margin:auto;padding:8px;gap:8px;overflow:hidden}
.preview-card,.controls-card{min-width:0;min-height:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 16px 45px rgba(0,0,0,.32)}
.preview-card{display:flex;height:100%;flex-direction:column;overflow:hidden}.controls-card{height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.preview-heading{z-index:2;flex:0 0 auto;align-items:center;padding:8px 10px 0}.controls-heading{padding:14px 14px 0}
.eyebrow{margin:0 0 2px;color:#ff5962;font-size:max(12px,.75rem);font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3{margin:0;line-height:1.15}h1{font-size:17px}h2{font-size:20px}h3{font-size:17px}
.material-badge{flex:0 0 auto;max-width:47%;border:1px solid #4a4c55;border-radius:999px;padding:5px 9px;background:#08090bcc;color:#d5d6da;font-size:max(12px,.75rem);font-weight:600;text-align:center}
.seat-stage{position:relative;display:grid;min-height:0;flex:1 1 auto;place-items:center;padding:0 4px;background:radial-gradient(ellipse at 50% 20%,#282b34 0,#111217 51%,#08090b 82%);overflow:hidden;isolation:isolate;contain:paint}
#seat{display:block;width:auto;max-width:100%;height:100%;max-height:100%;filter:drop-shadow(0 16px 20px rgba(0,0,0,.65));isolation:isolate}
.zone{cursor:pointer;stroke:#ffffff12;stroke-width:1.3;stroke-dasharray:none;stroke-linecap:round;transition:stroke .12s,stroke-width .12s,filter .12s;touch-action:manipulation}.zone:hover{stroke:#ffffffa8!important;stroke-width:2;filter:drop-shadow(0 0 6px #ffffff4d)}.zone.is-active{stroke:#fff!important;stroke-width:2.4;stroke-dasharray:none;filter:drop-shadow(0 0 7px #e5091480)}.zone:focus-visible{outline:none;stroke:var(--focus)!important;stroke-width:3.2;stroke-dasharray:none}.pattern-layer{fill:none}.grain{mix-blend-mode:overlay}.zone-numbers circle{fill:#040507c9;stroke:#ffffffbf;stroke-width:1.5}.zone-numbers text{fill:#fff;font:700 16px "Poppins",sans-serif;text-anchor:middle;dominant-baseline:central}.embroidery-preview{fill:#fff;stroke:#111;stroke-width:3;paint-order:stroke;font:700 max(12px,.75rem) "Poppins",sans-serif;letter-spacing:.04em}

.vehicle-section{border-bottom:1px solid var(--border-soft)}.vehicle-grid{display:grid;grid-template-columns:minmax(0,1fr) 92px;padding:12px 14px 15px;gap:8px}.vehicle-field{min-width:0}.vehicle-field label{display:block;margin-bottom:5px;color:#d2d3d7;font-size:max(12px,.75rem);font-weight:600}.vehicle-field input,.field-wrap input{width:100%;min-height:48px;border:1px solid #4a4c55;border-radius:10px;padding:10px 11px;background:#0e0f12;color:#fff;font-size:13px}.vehicle-field input::placeholder,.field-wrap input::placeholder{color:#7f8189}
.personalize-heading{padding:13px 14px 0}
.tabs{position:sticky;z-index:8;top:0;display:flex;overflow-x:auto;margin-top:12px;padding:8px;gap:8px;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);background:#101115f5;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}.tab{min-width:92px;min-height:48px;flex:1 0 auto;border:1px solid #373941;border-radius:9px;background:#1c1d22;color:#d2d3d7;cursor:pointer;font-size:max(12px,.75rem);font-weight:800;letter-spacing:.03em;text-transform:uppercase;scroll-snap-align:start}.tab.is-active{border-color:var(--red);background:var(--red);color:#fff}
.config-panel{min-height:270px;padding:15px}.choice-group{min-width:0;margin:0;padding:0;border:0}.choice-group legend{width:100%;margin-bottom:12px;color:var(--text);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}

.field-wrap{margin-top:13px}.field-wrap label{display:block;margin-bottom:6px;color:#d2d3d7;font-size:max(12px,.75rem);font-weight:600}

.summary-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.text-button{min-width:48px;min-height:48px;border:0;padding:5px;background:transparent;color:#ff777e;cursor:pointer;font-size:max(12px,.75rem);font-weight:700;text-decoration:underline;text-underline-offset:3px}.quote-button{width:calc(100% - 30px);margin:15px 15px 0}.privacy-note{margin:5px 15px 16px;color:var(--muted);font-size:max(12px,.75rem);text-align:center}.privacy-note a{display:inline-flex;min-height:48px;align-items:center;color:#d2d3d7}

.mobile-bar{position:fixed;z-index:50;right:0;bottom:0;left:0;height:calc(var(--bar-h) + env(safe-area-inset-bottom));padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#0a0b0df2;backdrop-filter:blur(12px)}.mobile-bar .button{width:100%;height:52px}
.toast{position:fixed;z-index:100;left:50%;bottom:calc(var(--bar-h) + 10px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px);padding:11px 14px;transform:translate(-50%,20px);border:1px solid #4a4c54;border-radius:10px;background:#202127;box-shadow:0 10px 35px #0008;font-size:max(12px,.75rem);font-weight:600;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}.toast.is-visible{transform:translate(-50%);opacity:1}.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}

@media (min-width:390px){.brand-copy{display:block}}
@media (min-width:900px){
  html,body{height:auto;min-height:100%;overflow:auto}body{padding-bottom:0}.site-header{position:sticky;top:0;height:86px;backdrop-filter:blur(14px)}.header-inner{padding-inline:20px}.brand img{width:78px;height:62px}.desktop-quote{display:inline-flex}
  .app-shell{grid-template-columns:minmax(0,1.14fr) minmax(390px,.86fr);grid-template-rows:none;height:auto;min-height:calc(100vh - 86px);padding:20px 18px 30px;gap:16px;overflow:visible}.preview-card{position:sticky;top:106px;height:auto;max-height:calc(100vh - 126px);border-radius:var(--radius)}.controls-card{height:auto;overflow:visible;border-radius:var(--radius)}.preview-heading,.controls-heading{padding:20px 20px 0}h1,h2{font-size:28px}.seat-stage{min-height:570px}.vehicle-grid{grid-template-columns:minmax(0,1fr) 110px;padding:14px 20px 18px}.personalize-heading{padding:17px 20px 0}.tabs{position:static;padding:8px 20px}.config-panel{padding:20px}.mobile-bar{display:none}.toast{bottom:24px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* ===== Sitio de marca ===== */
:root{--display:"Oswald","Arial Narrow",sans-serif;--paper:#ece9e2;--ink:#101113;--red-bright:#ef1823}
html{scroll-padding-top:var(--header-h)}
body{height:auto;min-height:100%;padding-top:var(--header-h);padding-bottom:calc(var(--bar-h) + env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;background:var(--bg)}
.site-header{position:fixed;top:0;right:0;left:0;height:var(--header-h);background:#0b0c0ff5;backdrop-filter:blur(16px);box-shadow:0 1px 0 #ffffff14}
.header-inner{max-width:1440px}.brand-copy{display:none}.brand-copy strong{font-family:var(--display);font-style:normal;letter-spacing:.02em}.nav-toggle{display:grid;width:48px;height:48px;margin-left:auto;place-content:center;gap:7px;border:1px solid #373941;border-radius:50%;background:#17181d;cursor:pointer}.nav-toggle span{display:block;width:20px;height:2px;background:#fff;transition:transform .2s}.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.site-nav{position:fixed;z-index:30;top:var(--header-h);right:10px;left:10px;display:none;padding:10px;border:1px solid #353740;border-radius:14px;background:#121318;box-shadow:0 22px 60px #000b}.site-nav.is-open{display:grid}.site-nav a{display:flex;min-height:48px;align-items:center;border-bottom:1px solid #2c2e35;padding:8px 12px;color:#e8e8eb;font-size:12px;font-weight:600;text-decoration:none}.site-nav a:last-child{border-bottom:0}.header-quote{display:none;min-height:48px;border:0;border-radius:999px;padding:10px 18px;background:var(--red);color:#fff;cursor:pointer;font-weight:700}

.hero{display:grid;min-height:calc(100svh - var(--header-h));padding:64px 18px 42px;background:radial-gradient(circle at 85% 25%,#2b2d33 0,transparent 32rem),#0b0c0f;isolation:isolate}.hero-copy{align-self:center}.section-kicker{display:flex;align-items:center;gap:9px;margin:0 0 18px;color:#ff626a;font-size:max(12px,.75rem);font-weight:700;letter-spacing:.13em;text-transform:uppercase}.section-kicker>span{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}.section-kicker.light{color:#fff}.hero h1,.marketing-section h2,.services-section h2,.process-section h2,.configurator-intro h2,.location-section h2,.closing-band h2{margin:0;font-family:var(--display);font-weight:700;letter-spacing:-.035em;text-transform:uppercase}.hero h1{max-width:12ch;font-size:clamp(3.2rem,16vw,6rem);line-height:.91}.hero h1 em,.marketing-section h2 em,.services-section h2 em,.configurator-intro h2 em,.location-section h2 em{color:var(--red-bright);font-family:"Poppins",sans-serif;font-size:.72em;font-style:italic;font-weight:800;letter-spacing:-.06em}.hero-lead{max-width:590px;margin:25px 0 0;color:#afb1b8;font-size:13px;line-height:1.8}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;margin-top:26px;gap:12px}.hero-primary,.map-link{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:12px 20px;background:var(--red);color:#fff;font-size:12px;font-weight:700;text-decoration:none}.hero-link{display:inline-flex;min-height:48px;align-items:center;padding:8px;color:#fff;font-size:max(12px,.75rem);font-weight:700;text-underline-offset:5px}.hero-visual{position:relative;display:grid;min-height:330px;margin-top:38px;place-items:center}.hero-image-frame{position:absolute;inset:0;display:grid;overflow:hidden;place-items:center;border:1px solid #ffffff1a;border-radius:48% 48% 14px 14px;background:radial-gradient(circle at 50% 35%,#33363e,#101115 66%);isolation:isolate}.hero-image-frame::after{position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,transparent 63%,#0b0c0fd6);pointer-events:none;content:""}.hero-seat-svg{position:relative;z-index:0;display:block;width:100%;height:100%;padding:3% 6% 0;filter:drop-shadow(0 22px 24px #000a)}.hero-seat-seams{filter:drop-shadow(0 1px 1px #000) drop-shadow(0 0 1px #f2454e)}.hero-seat-brand{font:700 max(12px,.75rem) "Poppins",sans-serif;letter-spacing:.04em}.hero-badge{position:absolute;z-index:2;right:6px;bottom:16px;display:grid;width:126px;height:126px;place-content:center;border:1px solid #ffffff4a;border-radius:50%;background:#e50914e8;box-shadow:0 12px 35px #0008;color:#fff;text-align:center;transform:rotate(-7deg)}.hero-badge strong{font-family:var(--display);font-size:20px;letter-spacing:.05em}.hero-badge span{font-size:max(12px,.75rem);font-weight:700;letter-spacing:.1em}
.value-strip{display:flex;min-height:62px;align-items:center;overflow-x:auto;padding:0 18px;gap:16px;border-top:1px solid #2a2c32;border-bottom:1px solid #2a2c32;background:#111216;color:#d5d6da;scrollbar-width:none;white-space:nowrap}.value-strip::-webkit-scrollbar{display:none}.value-strip span{font-family:var(--display);font-size:max(12px,.75rem);letter-spacing:.08em;text-transform:uppercase}.value-strip i{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--red)}

.marketing-section{padding:78px 18px}.works-section{background:var(--paper);color:var(--ink)}.section-intro{display:grid;gap:22px}.section-intro h2,.about-heading h2{font-size:clamp(3rem,13vw,6.5rem);line-height:.93}.section-intro>p{max-width:530px;margin:0;color:#5e6065;font-size:12px;line-height:1.8}.works-section .section-kicker,.about-section .section-kicker,.location-section .section-kicker{color:#b70710}
.project-grid{display:grid;margin-top:38px;gap:10px}.project-card{position:relative;display:flex;min-height:370px;overflow:hidden;flex-direction:column;justify-content:flex-end;padding:20px;border-radius:4px;background:#26272b;color:#fff;isolation:isolate}.project-card::before{position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 30% 20%,#ffffff3b,transparent 32%),repeating-linear-gradient(115deg,transparent 0 14px,#ffffff08 15px 16px),linear-gradient(145deg,var(--card-a),var(--card-b));content:""}.project-card::after{position:absolute;z-index:-1;inset:45% 10% 8%;border:1px solid #ffffff26;border-radius:48% 48% 16% 16%;box-shadow:inset 0 0 40px #0004;content:""}.project-camel{--card-a:#b7865e;--card-b:#4e2f22}.project-green{--card-a:#234839;--card-b:#091611}.project-black{--card-a:#3c3d43;--card-b:#08090b}.project-grey{--card-a:#888a8f;--card-b:#292b30}.project-icon{display:grid;width:52px;height:52px;place-items:center;border:1px solid #ffffff4d;border-radius:50%;font-size:24px;backdrop-filter:blur(5px)}
.project-card>img,.project-card>picture>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.project-card:has(>img,>picture)::before{display:none}.project-card:has(>img,>picture)::after{display:none}

.services-section{display:grid;padding:78px 18px;background:#0d0e11}.services-copy h2{font-size:clamp(3.2rem,14vw,7rem);line-height:.92}.services-copy>p{max-width:520px;margin:24px 0;color:#aeb0b7;font-size:12px;line-height:1.8}.services-copy>a{display:inline-flex;min-height:48px;align-items:center;gap:8px;color:#fff;font-size:max(12px,.75rem);font-weight:700;text-underline-offset:5px}.services-list{margin-top:42px;border-top:1px solid #363840}.services-list details{border-bottom:1px solid #363840}.services-list summary{display:grid;grid-template-columns:14px 1fr 48px;min-height:78px;align-items:center;gap:10px;cursor:pointer;list-style:none}.services-list summary::-webkit-details-marker{display:none}.service-dot{width:8px;height:8px;border-radius:50%;background:#53555d}.services-list details[open] .service-dot{background:var(--red);box-shadow:0 0 12px #e50914}.services-list summary strong{font-family:var(--display);font-size:23px;font-weight:600;text-transform:uppercase}.services-list summary i{display:grid;width:48px;height:48px;place-items:center;border:1px solid #3b3d45;border-radius:50%;font-style:normal}.services-list details p{margin:-8px 48px 22px 24px;color:#aeb0b7;font-size:max(12px,.75rem);line-height:1.7}
.detail-banner{position:relative;display:flex;min-height:410px;align-items:flex-end;overflow:hidden;padding:35px 18px;background:radial-gradient(ellipse at 35% 20%,#7c5542 0,#332019 35%,#0c0908 76%),repeating-linear-gradient(125deg,transparent 0 10px,#ffffff0d 11px 12px);isolation:isolate}.detail-banner::before{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#0000 20%,#000d),radial-gradient(circle at 70% 30%,#ffffff24,transparent 30%);content:""}.detail-banner p{margin:0;font-family:var(--display);font-size:clamp(2.4rem,10vw,5.8rem);font-weight:700;line-height:.95}.detail-banner em{color:#ff4b55;font-family:"Poppins",sans-serif;font-size:.56em;font-style:italic}
.about-section{display:grid;background:var(--paper);color:var(--ink);gap:40px}.trust-list{border-top:1px solid #c8c4bc}.trust-list article{display:grid;grid-template-columns:10px 1fr;padding:19px 0;gap:13px;border-bottom:1px solid #c8c4bc}.trust-list article>span{width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--red)}.trust-list strong{font-size:13px}.trust-list p{margin:4px 0 0;color:#616267;font-size:max(12px,.75rem);line-height:1.6}
.process-section{padding:74px 18px;background:#15161a}.process-header h2{font-size:clamp(3rem,12vw,6rem)}.process-list{display:grid;margin:35px 0 0;padding:0;border-top:1px solid #3a3c44;list-style:none}.process-list li{display:grid;grid-template-columns:46px 1fr;padding:18px 0;border-bottom:1px solid #3a3c44}.process-list b{grid-row:1/3;color:#ff535c;font-family:var(--display);font-size:25px}.process-list strong{font-family:var(--display);font-size:21px;text-transform:uppercase}.process-list p{margin:3px 0 0;color:#aeb0b7;font-size:max(12px,.75rem)}

.configurator-section{padding:76px 0 32px;background:radial-gradient(circle at 10% 5%,#2a1a1c,transparent 26rem),#090a0c;scroll-margin-top:var(--header-h)}.configurator-intro{position:relative;z-index:1;max-width:1360px;margin:auto;padding:0 18px 38px;isolation:isolate}.configurator-intro h2{font-size:clamp(3.2rem,14vw,7.5rem);line-height:.92}.configurator-section .app-shell{height:calc(100vh - var(--header-h) - var(--bar-h) - env(safe-area-inset-bottom));height:calc(100dvh - var(--header-h) - var(--bar-h) - env(safe-area-inset-bottom))}
.preview-card,.controls-card{border-color:#34363e;background:#15161a}.seat-stage{background:radial-gradient(ellipse at 50% 18%,#383b44 0,#17191f 46%,#08090b 82%)}
.zone{stroke:#ffffff12;stroke-width:1.3;stroke-dasharray:none;transition:stroke .12s,stroke-width .12s,filter .12s}.zone:hover{stroke:#ffffffa8!important;stroke-width:2;filter:drop-shadow(0 0 6px #ffffff4d)}.zone.is-active{stroke:#fff!important;stroke-width:2.4;stroke-dasharray:none;filter:drop-shadow(0 0 7px #e5091480)}.zone:focus-visible{stroke:var(--focus)!important;stroke-width:3.2;stroke-dasharray:none}.zone-numbers{opacity:.78}.zone-numbers circle{fill:#08090bb3;stroke:#ffffff70;stroke-width:1}.zone-numbers text{font-size:14px}.preview-heading h1{font-family:"Poppins",sans-serif;font-size:17px;letter-spacing:0;text-transform:none}

.location-section{display:grid;padding:78px 18px;background:#f1eee7;color:var(--ink);gap:40px}.location-copy h2{font-size:clamp(4rem,17vw,8rem);line-height:.88}.location-details{margin:28px 0}.location-details p{display:flex;flex-direction:column;margin:0;padding:13px 0;border-bottom:1px solid #cbc7be;color:#55575c;font-size:max(12px,.75rem)}.location-details strong{margin-bottom:3px;color:#111;font-size:max(12px,.75rem);letter-spacing:.08em;text-transform:uppercase}.map-link{width:max-content}.map-frame{overflow:hidden;border:1px solid #c6c2b9;background:#ddd8cd}.map-frame iframe{display:block;width:100%;height:400px;border:0;filter:grayscale(1) contrast(1.05)}.map-frame p{margin:0;padding:9px 12px;color:#65666a;font-size:max(12px,.75rem)}
.closing-band{display:grid;min-height:390px;place-content:center;padding:60px 18px;background:var(--red);text-align:center}.closing-band .section-kicker{justify-content:center}.closing-band h2{font-size:clamp(3.4rem,14vw,7.6rem);line-height:.9}.closing-button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:9px;margin:30px auto 0;border:1px solid #fff;border-radius:999px;padding:12px 22px;background:#fff;color:#111;cursor:pointer;font-size:max(12px,.75rem);font-weight:700}
.site-footer{display:grid;padding:52px 18px calc(92px + env(safe-area-inset-bottom));gap:34px;border-top:1px solid #2e3037;background:#08090b}.footer-brand{display:flex;align-items:center;gap:15px}.footer-brand img{width:82px;height:62px;object-fit:contain}.footer-brand strong{font-family:var(--display);font-size:24px}.footer-brand p{max-width:260px;margin:3px 0 0;color:#94969e;font-size:max(12px,.75rem)}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.footer-column>strong{margin-bottom:8px;color:#fff;font-size:max(12px,.75rem);letter-spacing:.12em;text-transform:uppercase}.footer-column a,.footer-column span{display:flex;min-height:48px;align-items:center;color:#aeb0b7;font-size:max(12px,.75rem);text-decoration:none}.footer-column a:hover{color:#fff}.footer-bottom{margin:0;padding-top:18px;border-top:1px solid #292b31;color:#777981;font-size:max(12px,.75rem)}

.reveal{opacity:1;transform:none}.reveal-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.25,1)}.reveal-ready .reveal.is-visible{opacity:1;transform:none}

@media (min-width:560px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{min-height:440px}.hero{padding-inline:36px}.marketing-section,.services-section,.process-section,.location-section{padding-inline:36px}.configurator-intro{padding-inline:36px}.site-footer{grid-template-columns:1.5fr 1fr 1fr}.footer-bottom{grid-column:1/-1}}
@media (min-width:900px){
  body{padding-top:86px;padding-bottom:0}.site-header{height:86px}.hero{min-height:calc(100vh - 86px)}.configurator-section{scroll-margin-top:86px}.configurator-section .app-shell{height:auto}.configurator-section .preview-card{top:106px}.site-footer{padding-bottom:38px}
}
@media (min-width:1050px){
  .nav-toggle{display:none}.site-nav{position:static;display:flex;margin-left:auto;padding:0;border:0;background:none;box-shadow:none}.site-nav a{min-height:48px;border:0;padding:8px 11px;font-size:max(12px,.75rem)}.header-quote{display:inline-flex}.brand-copy{display:block}.hero{grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);align-items:center;padding:76px max(36px,calc((100vw - 1360px)/2))}.hero h1{font-size:clamp(5.8rem,7.7vw,8.2rem)}.hero-visual{height:min(70vh,720px);margin:0}.hero-badge{right:-15px;bottom:44px;width:154px;height:154px}.hero-badge strong{font-size:25px}.value-strip{justify-content:center;gap:28px}.marketing-section,.services-section,.process-section,.location-section{padding:115px max(36px,calc((100vw - 1360px)/2))}.section-intro{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);align-items:end}.project-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:58px}.project-card{min-height:510px}.services-section{grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);gap:9vw}.services-list{margin-top:0}.detail-banner{min-height:610px;padding:58px max(36px,calc((100vw - 1360px)/2))}.about-section{grid-template-columns:minmax(0,1.2fr) minmax(400px,.8fr);align-items:start}.process-list{grid-template-columns:repeat(4,1fr)}.process-list li{display:block;min-height:190px;padding:22px;border-right:1px solid #3a3c44}.process-list li:last-child{border-right:0}.process-list b{display:block;margin-bottom:45px}.configurator-intro{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;padding:0 max(36px,calc((100vw - 1360px)/2)) 58px}.configurator-intro h2{grid-column:1}.location-section{grid-template-columns:minmax(0,.8fr) minmax(500px,1.2fr);align-items:center}.map-frame iframe{height:560px}.closing-band{min-height:520px}.site-footer{grid-template-columns:2fr 1fr 1fr;padding:64px max(36px,calc((100vw - 1360px)/2)) 35px}
}
@media (prefers-reduced-motion:reduce){.reveal-ready .reveal{opacity:1;transform:none;transition:none}}
.preview-heading h3{font-family:"Poppins",sans-serif;font-size:17px;letter-spacing:0;text-transform:none}

/* Fotografía real del taller: sustituye el hero SVG estático y la textura generada. */

.hero-showroom-image{position:relative;z-index:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.detail-banner{background:#211816}
.detail-banner>img,.detail-banner>picture>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.58) saturate(.82)}
.detail-banner p{position:relative;z-index:1}

/* Vista 2D / 3D del configurador. El módulo WebGL se descarga solo al pedir 3D. */
.preview-tools{display:grid;flex:0 0 auto;justify-items:end;gap:3px}.preview-tools .material-badge{display:block;max-width:none;padding:2px 7px;white-space:nowrap}
@media (min-width:560px){.preview-tools{display:flex;align-items:center;gap:8px}.preview-tools .material-badge{padding:5px 9px}}

/* Chips de zona sincronizados con el asiento 2D: evitan depender de tocar zonas pequeñas en celular. */
.zone-chips{display:flex;flex:0 0 auto;overflow-x:auto;padding:8px 8px 4px;gap:6px;scrollbar-width:none}.zone-chips::-webkit-scrollbar{display:none}
.zone-chip{display:inline-flex;min-height:44px;flex:1 0 auto;align-items:center;justify-content:center;gap:6px;border:1px solid #ffffff1f;border-radius:12px;padding:0 10px;background:#ffffff0d;color:#e4e5e9;cursor:pointer;font:600 max(12px,.75rem) "Poppins",sans-serif;white-space:nowrap;touch-action:manipulation}
.zone-chip span{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:#292b32;font-size:max(12px,.75rem)}
.zone-chip:hover{border-color:#ffffff70}.zone-chip[aria-pressed="true"]{border-color:#ff626a;background:#e509142e;box-shadow:inset 0 0 0 1px #e509146e;color:#fff}.zone-chip[aria-pressed="true"] span{background:#e50914}
.zone-chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
@media (min-width:900px){.zone-chips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:12px 12px 4px;gap:8px}.zone-chip{min-width:0}}
@media (max-width:559px){.zone-chips{padding:6px 6px 2px;gap:4px}.zone-chip{flex:1 1 auto;min-width:0;padding:0 6px;font-size:max(12px,.75rem)}.zone-chip span,.zone-numbers{display:none}}
@media (max-width:899px){.app-shell{grid-template-rows:minmax(0,55%) minmax(0,45%)}}

/* Nueve zonas: en escritorio dos filas; en celular la fila se desliza con un degradado que lo sugiere. */
@media (min-width:900px){.zone-chips{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:899px){.zone-chips{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}.zone-chip{flex:0 0 auto}}
.zone-numbers text{font-size:13px}

/* La tilde de la Ñ en DISEÑA no debe montarse sobre el texto de arriba. */
.configurator-intro h2{line-height:1.02}

/* Sub-zonas ocultas hasta pulsar "+ Detalles". */
.zone-chips:not(.show-details) .zone-chip.is-detail{display:none}.zone-detail-toggle{border-style:dashed;color:#ff8a90}
@media (max-width:559px){.zone-chip.zone-detail-toggle{flex:0 0 auto}}

/* Selector de vehículo: marca, modelo y año en listas; «Otra marca» abre campos libres. */
.vehicle-grid-select{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-grid-select .vehicle-field:first-child,.vehicle-grid-select .vehicle-model-field{grid-column:1/-1}
.vehicle-field select{width:100%;min-height:48px;border:1px solid #4a4c55;border-radius:10px;padding:10px 34px 10px 11px;background:#0e0f12 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23c9cbd1' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center/12px 8px;color:#fff;font:inherit;font-size:13px;appearance:none;-webkit-appearance:none}
.vehicle-field select:disabled{opacity:.5}.vehicle-field select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

/* Franja de marcas en movimiento continuo; se detiene al pasar el mouse y respeta
   «reducir movimiento» del sistema. La segunda lista es copia para cerrar el bucle. */
.brands-band{padding:26px 0 30px;border-bottom:1px solid #2a2c32;background:#0b0c0f;overflow:hidden}
.brands-title{margin:0 0 18px;color:#8e9098;font-family:var(--display);font-size:12px;letter-spacing:.14em;text-align:center;text-transform:uppercase}
.brands-marquee{display:flex;width:max-content;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.brands-marquee{width:100%}
.brands-track{display:flex;flex:0 0 auto;align-items:center;margin:0;padding:0 22px 0 0;gap:44px;list-style:none;animation:brands-scroll 55s linear infinite}

.brand-item{display:flex;flex:0 0 auto;align-items:center;gap:10px;color:#e9eaee;opacity:.78;transition:opacity .2s}
.brand-item:hover{opacity:1}.brand-item img{display:block;width:40px;height:40px;object-fit:contain}
.brand-item span{font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.brand-wordmark span{font-size:22px;letter-spacing:.04em}
@keyframes brands-scroll{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.brands-track{animation:none}.brands-marquee{overflow-x:auto}}

/* Franja de marcas v2: solo logos en su color oficial sobre tarjetas blancas, franja más alta. */
.brands-band{padding:38px 0 44px}
.brands-title{margin-bottom:26px;font-size:13px}
.brands-track{gap:22px;padding-right:22px}
.brand-item{justify-content:center;width:132px;height:88px;border-radius:16px;background:#f4f4f2;box-shadow:0 8px 22px #0006;opacity:1}
.brand-item img{width:64px;height:64px}
.brand-wordmark span{color:#1b1c20;font-size:19px;text-align:center}
@media (min-width:900px){.brand-item{width:160px;height:104px}.brand-item img{width:76px;height:76px}.brands-track{gap:28px;padding-right:28px}}

/* Portada v2: sin arco; la foto se funde con el fondo y rota entre diseños de forro. */
.hero-image-frame.hero-carousel{border:0;border-radius:0;background:none;overflow:visible;-webkit-mask-image:radial-gradient(ellipse 62% 58% at 50% 50%,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 62% 58% at 50% 50%,#000 58%,transparent 100%)}
.hero-image-frame.hero-carousel::after{display:none}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;opacity:0;transform:scale(1.02);transition:opacity 1.2s ease,transform 5.5s ease}
.hero-slide.is-active{opacity:1;transform:scale(1)}
.hero-carousel-ui{position:absolute;z-index:2;right:0;bottom:-8px;left:0;display:flex;flex-direction:column;align-items:center;gap:10px}

.hero-dots{display:flex;gap:4px}
.hero-dot{display:grid;width:28px;height:28px;padding:0;border:0;background:none;cursor:pointer;place-items:center}
.hero-dot::before{width:8px;height:8px;border-radius:50%;background:#ffffff4d;transition:background .2s,width .2s;content:""}
.hero-dot[aria-pressed="true"]::before{width:22px;border-radius:4px;background:#e50914}
.hero-dot:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}
@media (prefers-reduced-motion:reduce){.hero-slide{transition:none;transform:none}}

/* Difuminado en los cuatro bordes de cada foto (sin rectángulo visible) y ajustes móviles. */
.hero-image-frame.hero-carousel{-webkit-mask-image:none;mask-image:none}
.hero-slide{inset:0;width:auto;max-width:100%;height:100%;margin:auto;aspect-ratio:860/1147;object-fit:cover;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent),linear-gradient(180deg,transparent,#000 7%,#000 90%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent),linear-gradient(180deg,transparent,#000 7%,#000 90%,transparent);mask-composite:intersect}
.hero-visual::before{position:absolute;inset:8% 14%;border-radius:50%;background:radial-gradient(closest-side,#e5091414,transparent);pointer-events:none;content:""}
@media (max-width:899px){.hero-visual{min-height:470px}.hero-badge{top:0;right:0;bottom:auto;width:104px;height:104px}.hero-badge strong{font-size:16px}.hero-carousel-ui{bottom:-14px}}

.brands-credit{margin:18px 16px 0;color:#6f727a;font-size:max(12px,.75rem);text-align:center}.brands-credit a{color:#9a9ca4}
/* Logos alargados (GWM, Jetour, DFSK…) usan el ancho de la tarjeta; los cuadrados, el alto. */
.brand-item img{width:auto;height:auto;max-width:78%;max-height:64%;object-fit:contain}
@media (min-width:900px){.brand-item img{width:auto;height:auto;max-width:78%;max-height:66%}}

/* Franja v3: tarjetas más grandes y logos con la misma superficie visual (tamaño en --w/--h). */
.brand-item{width:170px;height:104px}
.brand-item img{width:calc(var(--w) * .8);height:calc(var(--h) * .8);max-width:none;max-height:none;object-fit:contain}
@media (min-width:900px){.brand-item{width:216px;height:124px}.brand-item img{width:var(--w);height:var(--h);max-width:none;max-height:none}}

.footer-credits{grid-column:1/-1;margin:0;color:#5f626a;font-size:max(12px,.75rem);line-height:1.5}.footer-credits a{color:#8a8d95}

/* Portada: fondo negro uniforme igual al de las fotos, sin resplandor circular ni halo. */
.hero{background:#06070a}
.hero-visual::before{display:none}

/* Botones: hover rojo y sin flechas */
:is(a[href], button, summary, [role="button"], select:not(:disabled)) {
  cursor: pointer;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease,
    outline-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
button:disabled, select:disabled { cursor: default; }

/* Anula los hover antiguos sin activar estados en pantallas táctiles. */
.button.button { filter: none; }
.quote-button, .mobile-bar .button-primary { background: var(--red); color: #fff; }
.zone-chip.zone-chip { border-color: #ffffff1f; }
.zone-chip[aria-pressed="true"] { border-color: #ff626a; }
.footer-column a[href] { color: #aeb0b7; }
.zone.zone {
  stroke: #ffffff12 !important;
  stroke-width: 1.3;
  filter: none;
  transition: stroke 180ms ease, stroke-width 180ms ease, filter 180ms ease;
}
.zone.zone.is-active {
  stroke: #fff !important;
  stroke-width: 2.4;
  filter: drop-shadow(0 0 7px #e5091480);
}

.hero-primary, a.hero-link {
  min-height: 52px;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 12px 20px;
  font-size: 12px;
  line-height: 1.5;
}
a.hero-link { border-color: #ffffff66; background: transparent; color: #fff; text-decoration: none; }
.hero-dot { border-radius: 6px; }
.hero-dot::before { transition: background-color 180ms ease, width 180ms ease; }

.services-list summary::after {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid #3b3d45;
  border-radius: 50%;
  color: inherit;
  font: 400 28px/1 Arial, sans-serif;
  content: "+";
  content: "+" / "";
  transition: transform 180ms ease, border-color 180ms ease;
}
.services-list details[open] > summary::after { transform: rotate(45deg); }

:is(a, button, summary, [role="button"], select):not(:where(.brand, .zone, :disabled)):focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 3px;
}
:is(.tab, .zone-chip, .zone-detail-toggle, .text-button, .nav-toggle,
  .hero-dot, .map-link, a.hero-link, .skip-link, .site-nav a, .site-footer a,
  .services-copy > a, .privacy-note a, .services-list summary):focus-visible {
  background-color: var(--red);
  border-color: var(--red);
  color: #fff;
}
.zone-chip:focus-visible span { background-color: #101113; color: #fff; }
.hero-dot:focus-visible::before { background-color: #fff; }
.services-list summary:focus-visible::after { border-color: #fff; }
.services-list summary:focus-visible .service-dot { background: #fff; box-shadow: none; }
:is(.hero-primary, .header-quote, .quote-button, .closing-button, .mobile-bar .button-primary, .map-link.map-link):focus-visible {
  background: #c40812;
  border-color: #c40812;
  color: #fff;
  box-shadow: 0 6px 18px #e5091438;
}

.vehicle-field select:not(:disabled):focus-visible {
  border-color: var(--red);
  outline: 2px solid var(--red);
  outline-offset: 3px;
}
.zone.zone:focus-visible { stroke: var(--red) !important; stroke-width: 3.2; filter: none; }

@media (hover:hover) and (pointer:fine) {
  :is(.tab, .zone-chip, .zone-detail-toggle, .text-button, .nav-toggle,
    .hero-dot, .map-link, a.hero-link, .skip-link, .site-nav a, .site-footer a,
    .services-copy > a, .privacy-note a, .services-list summary):hover {
    background-color: var(--red);
    border-color: var(--red);
    color: #fff;
  }
  .zone-chip:hover span { background-color: #101113; color: #fff; }
  .hero-dot:hover::before { background-color: #fff; }
  .services-list summary:hover::after { border-color: #fff; }
  .services-list summary:hover .service-dot { background: #fff; box-shadow: none; }
  :is(.hero-primary, .header-quote, .quote-button, .closing-button, .mobile-bar .button-primary, .map-link.map-link):hover {
    background: #c40812;
    border-color: #c40812;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px #e5091438;
  }

  .vehicle-field select:not(:disabled):hover { border-color: var(--red); }
  .zone.zone:hover { stroke: var(--red) !important; stroke-width: 2; filter: none; }
}

@media (prefers-reduced-motion: reduce) {
  :is(a[href], button, summary, [role="button"], select), .zone.zone, .hero-dot::before,
  .services-list summary::after { transition: none; }
  :is(.hero-primary, .header-quote, .quote-button, .closing-button, .mobile-bar .button-primary) {
    transform: none !important;
  }
  .services-list details[open] > summary::after { content: "×"; content: "×" / ""; transform: none; }
}

/* Botones rojos: al pasar el mouse, rojo profundo #c40812 con texto blanco (contraste 6,2:1). */

/* «Hecho en Machala» discreto: cápsula translúcida en vez del círculo rojo girado,
   para no competir con la acción principal «Diseña tu forro». */
.hero-badge{top:4%;right:0;bottom:auto;display:inline-flex;width:auto;height:auto;align-items:center;gap:6px;padding:7px 13px 7px 11px;border:1px solid #ffffff24;border-radius:999px;background:#ffffff0a;box-shadow:none;color:#b9bbc2;transform:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hero-badge::before{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--red);content:""}
.hero-badge strong,.hero-badge span{font-family:"Poppins",sans-serif;font-size:max(12px,.75rem);font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.hero-badge strong{color:#d7d8dc}
@media (max-width:899px){.hero-badge{top:0;right:0;width:auto;height:auto}.hero-badge strong,.hero-badge span{font-size:max(12px,.75rem)}}
@media (min-width:900px){.hero-badge{top:5%;right:0;bottom:auto;width:auto;height:auto}.hero-badge strong{font-size:max(12px,.75rem)}}

/* Ajustes tras la revisión independiente (accesibilidad y detalle visual). */
/* Zonas del asiento: foco con teclado = contorno blanco con brillo rojo (visible sobre cuero rojo),
   sin el rectángulo del navegador; hover rojo con halo oscuro para que se vea sobre zonas rojas. */
.zone.zone:focus-visible { outline: none; stroke: #fff !important; stroke-width: 3; filter: drop-shadow(0 0 4px #e50914); }
@media (hover:hover) and (pointer:fine) {
  .zone.zone:hover { filter: drop-shadow(0 0 1.5px #000) drop-shadow(0 0 5px #e50914aa); }
}

/* Enlaces de texto: el rojo al pasar el mouse es una píldora con aire, sin mover el diseño. */
:is(.footer-column a, .services-copy > a, .privacy-note a, .text-button) {
  border-radius: 999px;
  padding-inline: 12px;
  margin-inline: -12px;
}
.footer-credits a { padding: 0 3px; border-radius: 3px; }
.services-list summary { border-radius: 12px; padding-inline: 12px; }
@media (min-width:1050px) { .site-nav a { border-radius: 999px; } }
/* Celular: la cápsula «Hecho en Machala» sale de la foto y va en el espacio sobre ella, a la izquierda. */
@media (max-width:619px) {
  .hero-visual { margin-top: 64px; }
  .hero-badge { top: -46px; right: auto; left: 0; }
}
/* «Guardar imagen» y «Compartir enlace» van juntos: píldora sin margen negativo para no montarse. */
.summary-actions .text-button { margin-inline: 0; padding-inline: 10px; }

/* Botones libres y sin subrayados */
a[href], a[href] *, .text-button { text-decoration: none; }
a[href]:not(.brand), .text-button { font-weight: 700; }

/* El ámbito y :not(:disabled) superan los fondos de hover/foco heredados. */
:is(.hero .hero-primary, .hero a.hero-link, .site-header .header-quote,
  .closing-band .closing-button, .location-copy .map-link):not(:disabled) {
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0;
  border-radius: 0;
  padding: 10px 6px;
  background: none;
  box-shadow: none;
  color: var(--action-color, #fff);
  font-family: var(--display);
  font-size: var(--action-size, 19px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  filter: none;
  transform: none;
  transition: color 180ms ease, outline-color 180ms ease;
}
.hero .hero-primary { --action-color: #fff; --action-hover: #e50914; }
.hero a.hero-link { --action-color: #c9cbd1; }
.site-header .header-quote { --action-size: 15px; --action-hover: #ff1f2c; }
.closing-band .closing-button { --action-size: 20px; --action-hover: #101113; }
.location-copy .map-link { --action-color: #101113; --action-size: 20px; --action-focus: #101113; }
.hero .hero-primary::before {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  background: #e50914;
  content: "";
}

/* Los enlaces pequeños usan rojo claro: el rojo de marca no alcanza 4,5:1 sobre negro. */
:is(.site-nav a[href], .footer-column a[href], .footer-credits a[href],
  .services-copy > a[href], .privacy-note a[href], .text-button):not(:disabled) {
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: color 180ms ease, outline-color 180ms ease;
}

:is(.hero .hero-primary, .hero a.hero-link, .site-header .header-quote,
  .closing-band .closing-button, .location-copy .map-link):not(:disabled):focus-visible {
  color: var(--action-hover, var(--red));
  outline: 2px solid var(--action-focus, #fff);
  outline-offset: 3px;
}
:is(.site-nav a[href], .footer-column a[href], .footer-credits a[href],
  .services-copy > a[href], .privacy-note a[href], .text-button):not(:disabled):focus-visible {
  color: #ff1f2c;
  outline: 2px solid #fff;
  outline-offset: 3px;
}

@media (min-width: 900px) {
  .hero .hero-primary, .hero a.hero-link { --action-size: 22px; }
}

@media (hover:hover) and (pointer:fine) {
  :is(.hero .hero-primary, .hero a.hero-link, .site-header .header-quote,
    .closing-band .closing-button, .location-copy .map-link):not(:disabled):hover {
    color: var(--action-hover, var(--red));
  }
  :is(.site-nav a[href], .footer-column a[href], .footer-credits a[href],
    .services-copy > a[href], .privacy-note a[href], .text-button):not(:disabled):hover {
    color: #ff1f2c;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.hero .hero-primary, .hero a.hero-link, .site-header .header-quote,
    .closing-band .closing-button, .location-copy .map-link,
    .site-nav a[href], .footer-column a[href], .footer-credits a[href],
    .services-copy > a[href], .privacy-note a[href], .text-button):not(:disabled) {
    transition: none;
    transform: none;
  }
}

/* Etiquetas de sección: costura roja (propuesta Antigravity) */
.section-kicker{display:flex;gap:10px;margin:0 0 16px;color:#c5c7d0;font-size:max(12px,.75rem);font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.section-kicker>span{width:16px;height:2px;flex:0 0 16px;border-radius:1px;background:#e50914;box-shadow:none}
.works-section .section-kicker,.about-section .section-kicker,.location-section .section-kicker{color:#4b4e57}
.works-section .section-kicker>span,.about-section .section-kicker>span,.location-section .section-kicker>span{background:#e50914}
.section-kicker.light,.closing-band .section-kicker{color:rgba(255,255,255,.95)}
.closing-band .section-kicker>span{background:rgba(255,255,255,.7)}
/* Revisión: la tilde de la Ñ en «DISEÑA» necesita aire sobre el título; «Lo que hacemos» igual a las demás etiquetas. */

.services-copy .section-kicker.section-kicker { color: #c5c7d0; font-size:max(12px,.75rem); }

/* Correcciones de revisión v11c */
.location-copy .map-link::before, .closing-band .closing-button::before {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  background: #e50914;
  content: "";
}
.closing-band .closing-button::before { background: currentColor; }
.hero .hero-primary, .location-copy .map-link { margin-left: -6px; }

.summary-actions button.text-button:not(:disabled) {
  color: #ff777e;
  text-decoration: none;
}

.section-kicker.light, .closing-band .section-kicker { color: #fff; }

/* Imágenes responsivas: <picture> no debe crear caja propia. */
.hero-image-frame picture,.project-card>picture,.detail-banner>picture{display:contents}

/* Carrusel: botón para pausar el carrusel y la franja de marcas. */
.hero-status{display:flex;align-items:center;justify-content:center;gap:4px}
.hero-pause{display:grid;width:44px;height:44px;flex:0 0 44px;margin:-10px 0;padding:0;border:0;border-radius:6px;background:none;color:#c9cbd1;cursor:pointer;place-items:center}
.hero-pause::before{width:10px;height:12px;box-sizing:border-box;border-inline:3px solid currentColor;content:""}
.hero-pause[aria-pressed="true"]::before{width:11px;border:0;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
.hero-pause:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;background:var(--red);color:#fff}
@media (hover:hover) and (pointer:fine){.hero-pause:hover{background:var(--red);color:#fff}}
@media (prefers-reduced-motion:reduce){.hero-pause{display:none}}
.motion-paused .brands-track{animation-play-state:paused}

/* Lectura: textos de apoyo de servicios, confianza y proceso. */
.services-list details p,.trust-list p,.process-list p{font-size:.9375rem;line-height:1.55}

/* Contraste del pie (AA sobre #090a0c). */
.footer-credits{color:#9a9da5}
.footer-bottom{color:#8a8d95}

/* 320 px: nada se sale de la pantalla. */
.header-inner>*{min-width:0}
.value-strip{flex-wrap:wrap;justify-content:center;padding-block:12px;row-gap:8px;white-space:normal}
@media (max-width:399px){.hero-dots{gap:0}.hero-dot{width:24px}}
@media (max-width:359px){.header-inner{padding-inline:8px;gap:4px}.brand-copy{display:none}}

/* Títulos en varias líneas sin <br>. */
.line{display:block}

/* Enlaces legales del pie. */
.footer-legal{display:flex;flex-wrap:wrap;margin-top:6px;column-gap:20px}
.footer-legal a{display:inline-flex;min-height:44px;align-items:center;color:#c5c7d0}

/* El sello crece con la letra de 12 px: en escritorio se compacta y usa el margen
   derecho para no tocar el cabezal. */
@media (min-width:900px){.hero-badge{right:-16px;padding:6px 10px 6px 9px}.hero-badge strong,.hero-badge span{letter-spacing:.06em}}

/* Carrusel: las diapositivas que no se ven ni se preparan no ocupan caja, así el
   navegador no descarga las 11 fotos al entrar. */
.hero-carousel .hero-slide:not(.is-active):not(.is-prev):not(.is-next){display:none}

/* Servicios: al pasar o enfocar, el rojo abraza solo el título (no toda la fila)
   y la descripción queda alineada con el título, en blanco y negrita. */
.services-list summary:is(:hover,:focus-visible){background-color:transparent;outline:none}
.services-list summary strong{justify-self:start;margin-inline:-10px 0;padding:2px 10px;border-radius:8px;font-size:clamp(18px,5.9vw,23px);transition:background-color 180ms ease,color 180ms ease}
.services-list summary:focus-visible strong{background:var(--red);color:#fff;outline:2px solid transparent;outline-offset:2px}
.services-list summary:focus-visible::after{border-color:var(--red);background:var(--red);color:#fff}
@media (hover:hover) and (pointer:fine){.services-list summary:hover strong{background:var(--red);color:#fff}.services-list summary:hover::after{border-color:var(--red);background:var(--red);color:#fff}}
.services-list details p{margin:0 36px 24px;color:#fff;font-weight:600}
@media (prefers-reduced-motion:reduce){.services-list summary strong{transition:none}}

/* Marca, modelo y año: la lista desplegable usa la paleta de la página. */
.vehicle-field select{color-scheme:dark}
.vehicle-field select option{background:#111216;color:#f2f2f3}
@supports (appearance:base-select){
  .vehicle-field select,.vehicle-field select::picker(select){appearance:base-select}
  .vehicle-field select button{display:flex;flex:1;min-width:0;align-items:center;border:0;padding:0;background:none;color:inherit;font:inherit;cursor:inherit}
  .vehicle-field select selectedcontent{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .vehicle-field select::picker-icon{display:none}
  .vehicle-field select::picker(select){margin-block:6px;border:1px solid #373941;border-radius:12px;padding:6px;background:#111216;box-shadow:0 20px 44px #000c;color:#f2f2f3;max-block-size:min(340px,55vh);overflow-y:auto;scrollbar-color:#4a4c55 transparent}
  .vehicle-field select option{min-block-size:44px;padding:10px 12px;border-radius:8px;background:transparent;color:#d2d3d7;font-size:14px;font-weight:500}
  .vehicle-field select option::checkmark{color:var(--red)}
  .vehicle-field select option:checked{background:#1d1e24;color:#fff;font-weight:700}
  .vehicle-field select option:focus-visible{background:#24262d;color:#fff;outline:2px solid #fff;outline-offset:-2px}
  .vehicle-field select option:hover{background:var(--red);color:#fff}
  .vehicle-field select option:hover::checkmark{color:#fff}
  .vehicle-field select option:disabled{color:#6b6e76}
}

/* Mapa de Google: colores originales (el filtro gris era para OpenStreetMap). */
.map-frame iframe{filter:none}

/* Pausa del carrusel y la franja: no se ve; aparece solo al llegar con el teclado
   (como «Ir al contenido»), para quien necesite detener el movimiento (WCAG 2.2.2). */
.hero-pause:not(:focus-visible){position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Configurador guiado: siguiente paso como acción de texto, sin cápsula. */
.controls-card .config-next{display:block;max-width:calc(100% - 30px);margin:0 15px 12px;text-align:left}
.config-next[hidden]{display:none}
.controls-card button.config-next:not(:disabled){color:#ff777e}

/* Hecho en Machala: solo texto, sin cápsula ni punto, fuera del carrusel. */
.hero-badge{position:static;inset:auto;z-index:auto;display:flex;flex-wrap:wrap;width:auto;height:auto;place-content:normal;align-items:baseline;gap:6px;margin:18px 0 0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--muted);text-align:left;transform:none}
.hero-badge::before{display:none;content:none}
.hero-badge strong,.hero-badge span{color:inherit;font-family:"Poppins",sans-serif;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}

/* Texto de apoyo: un solo gris más claro y legible en todo el sitio oscuro. */
.hero-lead,
.services-copy>p:not(.section-kicker),
.services-list details p,
.process-list p,
.footer-brand p,
.footer-column a,
.footer-column span,
.footer-bottom,
.footer-credits,
.footer-credits a,
.footer-column a[href]:not(:disabled),
.footer-credits a[href]:not(:disabled){color:#c5c7d0}

/* 2026-10-07 limpieza de textos grises */
.brands-title{color:#fff}
.section-intro{grid-template-columns:1fr}
.services-copy>a{margin-top:26px}
.process-list b{grid-row:auto}
@media (min-width:1050px){.process-list li{min-height:150px}.process-list b{margin-bottom:28px}}

/* 2026-10-07 configurador v2 */
/* Diseñador más simple: sin textos grises, las seis pestañas completas y muestras
   realistas (cuero, acolchado, costura, ribete, material). Al elegir se marca todo el
   recuadro: borde rojo de 2 px, anillo exterior y visto rojo en la esquina. */
.configurator-intro{grid-template-columns:1fr}
.controls-card{container-type:inline-size}
.controls-card .tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:6px;padding:8px 15px;scroll-snap-type:none}
.controls-card .tab{min-width:0;min-height:44px;padding:0 4px;font-size:12px;letter-spacing:.02em;white-space:nowrap}
/* Una sola fila desde 540 px de tarjeta: por debajo, «MATERIAL» y «BORDADO» tocaban el borde. */
@container (min-width:540px){.controls-card .tabs{grid-template-columns:repeat(6,minmax(0,1fr))}}
/* En 3 × 2 (112 px) las pestañas no quedan fijas arriba: tapaban casi media tarjeta en el
   móvil y la opción enfocada. En una sola fila siguen fijas, con margen para el foco. */
@container (width < 540px){.controls-card .tabs{position:static}}
@media (min-width:558px) and (max-width:899px){.controls-card{scroll-padding-top:72px}}
@media (min-width:900px){.controls-card .tabs{padding:10px 20px}}
.config-panel .choice-title{margin:0 0 12px;padding:0;color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.choice-title span{font-weight:600}

.opt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}
.opt-grid.is-large{grid-template-columns:repeat(auto-fill,minmax(76px,1fr))}
.opt-grid.is-wide{grid-template-columns:repeat(2,minmax(0,1fr))}
@container (min-width:500px){
  .opt-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px}
  .opt-grid.is-large{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}
}
.opt{position:relative;display:flex;min-width:0;min-height:44px;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;margin:0;border:2px solid #ffffff1f;border-radius:12px;padding:4px 4px 8px;background:#1a1b20;color:#fff;cursor:pointer;font:600 12px/1.25 "Poppins",sans-serif;text-align:center;touch-action:manipulation}
.opt-name{display:block;padding:0 2px;color:#fff;font-size:12px;font-weight:600;line-height:1.25;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere}
.opt-note{display:block;margin-top:-3px;padding:0 2px;color:#f1f1f3;font-size:12px;font-weight:500;line-height:1.3}
.opt-grid.is-text .opt{min-height:56px;justify-content:center;padding:10px 32px 10px 12px;text-align:left}
.config-panel .field-wrap label{color:#fff}

/* Muestra de cuero: color de la zona con brillo arriba a la izquierda y sombra abajo. */
.opt-sample{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:var(--swatch,#222);isolation:isolate}
.opt-grid.is-square .opt-sample{aspect-ratio:1}
.opt-grid.is-wide .opt-sample{aspect-ratio:16/7}
.opt-sample>svg{position:absolute;inset:0;display:block;width:100%;height:100%}
.opt-sample::after{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(130% 90% at 18% 0%,#ffffff42 0,#ffffff12 34%,#fff0 60%),linear-gradient(180deg,#0000 45%,#0000004d);box-shadow:inset 0 1px 0 #ffffff2e,inset 0 0 0 1px #0000004d;content:"";pointer-events:none}
/* Americano: banda de brillo con sombra contigua, que se lee también sobre colores claros. */
.opt-sample.is-americano::after{background:linear-gradient(115deg,#fff0 16%,#ffffff1f 30%,#ffffff57 39%,#ffffff17 47%,#0000 53%,#0000002b 62%,#0000 78%),linear-gradient(180deg,#0000 40%,#0000004d)}
.opt-sample.is-colombiano::after{background:radial-gradient(130% 90% at 18% 0%,#ffffff24 0,#fff0 55%),linear-gradient(180deg,#0000 40%,#00000059)}

.opt[aria-pressed="true"]{border-color:#e50914;background:#26161a;box-shadow:0 0 0 2px #e50914}
.opt[aria-pressed="true"]::after{position:absolute;z-index:2;top:9px;right:9px;width:20px;height:20px;border:1.5px solid #fff;border-radius:50%;background:#e50914 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.3 5 8.6 9.5 3.7' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;box-shadow:0 1px 5px #000b;content:""}
.opt-grid.is-text .opt[aria-pressed="true"]::after{top:50%;right:10px;transform:translateY(-50%)}
.opt:focus-visible{border-color:#e50914;outline:2px solid #fff;outline-offset:3px}
@media (hover:hover) and (pointer:fine){.opt:hover{border-color:#e50914;outline:0}.opt:focus-visible:hover{outline:2px solid #fff}}
/* Alto contraste: el visto conserva su rojo, el elegido lleva borde de sistema y las
   muestras mantienen su color (son el contenido de la opción). */
@media (forced-colors:active){
  .opt[aria-pressed="true"]{border-color:Highlight}
  .opt[aria-pressed="true"]::after{forced-color-adjust:none}
  .opt-sample{forced-color-adjust:none}
}

/* Botones de zona: el texto oculto «, zona 1» queda dentro del botón (y de su fila
   deslizable), sin ensanchar la página. */
.zone-chip{position:relative}

/* Asiento: pespunte de borde más legible (hilo más largo y grueso con sombra fina) y
   cambio de color suave. */

.zone.zone{transition:fill .25s ease,stroke 180ms ease,stroke-width 180ms ease,filter 180ms ease}
@media (prefers-reduced-motion:reduce){.zone.zone{transition:none}}

/* 2026-10-07 sin resumen: Guardar imagen y Compartir enlace junto a la cotización */
.controls-card .design-actions{justify-content:flex-start;margin:6px 15px 4px;padding-top:10px;border-top:1px solid var(--border-soft)}

/* 2026-10-07 trabajos: 8 asientos sin fondo con vaivén, y latido de los botones rojos */
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px;margin-top:38px}
@media (min-width:900px){.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 28px}}
.catalog-card{display:grid;justify-items:center;margin:0}
.catalog-card picture{display:contents}
.catalog-card img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;filter:drop-shadow(0 18px 16px rgba(30,24,16,.26));transform-origin:50% 92%;will-change:transform;animation:fc-vaiven 5.6s ease-in-out infinite;transition:scale .35s ease}
.catalog-card:nth-child(2) img{animation-delay:-1.4s}.catalog-card:nth-child(3) img{animation-delay:-2.8s}.catalog-card:nth-child(4) img{animation-delay:-4.2s}
.catalog-card:nth-child(5) img{animation-delay:-.7s}.catalog-card:nth-child(6) img{animation-delay:-2.1s}.catalog-card:nth-child(7) img{animation-delay:-3.5s}.catalog-card:nth-child(8) img{animation-delay:-4.9s}
@keyframes fc-vaiven{0%,100%{translate:-6px 0;rotate:-1.1deg}50%{translate:6px 0;rotate:1.1deg}}

@media (hover:hover) and (pointer:fine){.catalog-card:hover img{scale:1.04}}
.motion-paused .catalog-card img{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.catalog-card img{animation:none;transition:none}}
.catalog-actions{display:flex;justify-content:center;margin-top:40px}
a.catalog-button{position:relative;min-width:250px;min-height:56px;padding:14px 36px;border-color:var(--red);background:var(--red);color:#fff;font-size:16px;text-decoration:none}
@media (hover:hover) and (pointer:fine){a.catalog-button:hover{border-color:#c40812;background:#c40812;color:#fff}}
a.catalog-button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@keyframes fc-latido{0%,56%,100%{scale:1}12%{scale:1.06}24%{scale:1}36%{scale:1.035}}
@keyframes fc-latido-suave{0%,56%,100%{scale:1}12%{scale:1.025}24%{scale:1}36%{scale:1.015}}
@keyframes fc-onda{0%{box-shadow:0 0 0 0 rgba(229,9,20,.6)}60%,100%{box-shadow:0 0 0 14px rgba(229,9,20,0)}}
a.catalog-button,.quote-button{animation:fc-latido 1.9s ease-in-out infinite,fc-onda 1.9s ease-out infinite}
.mobile-bar .button-primary{animation:fc-latido-suave 1.9s ease-in-out infinite,fc-onda 1.9s ease-out infinite}
:is(a.catalog-button,.quote-button,.mobile-bar .button-primary):is(:hover,:focus-visible,:active),
.motion-paused :is(a.catalog-button,.quote-button,.mobile-bar .button-primary){animation-play-state:paused}
@media (prefers-reduced-motion:reduce){:is(a.catalog-button,.quote-button,.mobile-bar .button-primary){animation:none}}
/* Fondo de Trabajos: crema suave con acolchado en rombos casi imperceptible y luz detrás de los asientos */
.works-section{position:relative;isolation:isolate;background:radial-gradient(72% 52% at 50% 64%,rgba(255,255,255,.9),rgba(255,255,255,0) 74%),linear-gradient(180deg,#f3f0ea 0%,#e5e0d6 100%)}
.works-section::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='48' viewBox='0 0 64 48'%3E%3Cpath d='M0 24 32 0l32 24-32 24Z' fill='none' stroke='%23201d18' stroke-opacity='.075' stroke-width='1' stroke-dasharray='3.2 2.6'/%3E%3C/svg%3E");background-size:64px 48px;background-position:center top;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 78%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 78%,transparent 100%)}

/* 2026-10-08 previo a publicar */
/* Pespunte vigente, compartido con la exportación PNG. */
.seam{fill:none;stroke-width:1.25;stroke-dasharray:1.9 3.3;stroke-linecap:round;filter:url(#stitch-shadow)}

/* 2026-10-09 ajustes finales */
/* En pantallas angostas, el texto da nombre al logo sin ocupar espacio visible. */
@media (max-width:1049px){.brand-copy{display:block;position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}}
