/* Presentation polish: shorter decisions, larger products, aligned technical data. */
.sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.back-link { display:inline-block; color:inherit; font-size:.8rem; opacity:.72; text-decoration:none; margin-bottom:.6rem; }
.back-link:hover { opacity:1; }
.catalog-header { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1.6rem; }
.catalog-header .section-title { margin:0; }
.clean-filter-bar { display:flex; align-items:center; gap:.75rem; padding:0; margin:0; border:0; }
.catalog-select-label { color:var(--nw-steel-dark); font-size:.8rem; }
.catalog-select { font:500 .88rem var(--font-sans); color:var(--nw-graphite); background:transparent; border:1px solid var(--nw-warm-border); border-radius:8px; padding:.65rem 2rem .65rem .8rem; min-height:44px; width:240px; max-width:100%; }
.catalog-select:focus-visible { outline:2px solid var(--nw-bordo); outline-offset:3px; }
.catalog-page-section { padding-top:calc(var(--header-height) + 2rem); }
.visual-note { color:var(--nw-steel-dark); font-size:.75rem; line-height:1.6; margin-top:1.2rem; opacity:.75; }
.machine-card-body-v7 { padding:1.5rem; }
.machine-family-label { font-size:.8rem; color:var(--nw-steel-dark); margin:0 0 .3rem; }
.machine-card-title-v7 { font-size:1.7rem; margin:0 0 1.1rem; }
.machine-card-specs-v7 { background:transparent; border:0; border-radius:0; padding:0; gap:1.2rem; margin-bottom:1.3rem; }
.card-spec-cell-v7 .label { font:400 .74rem var(--font-sans); letter-spacing:0; text-transform:none; }
.card-spec-cell-v7 .val { font-size:.92rem; line-height:1.5; }
.machine-card-explore { width:100%; display:flex; justify-content:space-between; }
.viewer-360-hint { left:.75rem; transform:none; font:500 .75rem var(--font-sans); border:0; padding:.5rem .7rem; max-width:50%; background:rgba(12,15,20,.7); }
.machine-viewer-360.is-interacting .viewer-360-hint,.machine-viewer-360.has-interacted .viewer-360-hint { transform:translateY(8px); }
.viewer-360-controls { gap:.35rem; }
.viewer-ctrl-btn { min-width:34px; min-height:34px; font-size:1rem; }
.contact-layout>*,.contact-info-boxes,.feature-box { min-width:0; }
.contact-info-boxes h3 { overflow-wrap:anywhere; }
.product-page #conteudo-principal { padding-top:var(--header-height); }
.product-cinema-stage-section { min-height:0; }
.product-cinema-pinned-stage { position:relative; top:auto; height:calc(100svh - var(--header-height)); max-height:none; min-height:480px; color:var(--nw-warm-white); background:radial-gradient(ellipse at center,#1f242c,#101216 80%); padding:1.4rem var(--container-pad) .9rem; }
.clean-product-hud { flex-wrap:nowrap; align-items:flex-start; padding:0; }
.product-heading { min-width:0; }
.product-heading .back-link { margin-bottom:.35rem; }
.product-family { font-size:.78rem; color:var(--nw-steel-light); margin:0 0 .15rem; }
.product-heading h1 { font:700 clamp(1.8rem,3vw,2.7rem)/1.1 var(--font-display); letter-spacing:-.035em; }
.product-heading-actions { display:flex; align-items:center; gap:1rem; padding-top:1.8rem; flex-shrink:0; }
.product-spec-link { color:var(--nw-warm-white); font-size:.82rem; text-decoration:none; padding:.5rem 0; }
.product-spec-link:hover { text-decoration:underline; }
.product-cinema-viewport { min-height:0; padding:0 0 1rem; }
.product-cinema-canvas { position:relative; z-index:1; max-height:100%; max-width:84%; }
.product-cinema-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; pointer-events:none; }
.product-cinema-caption-card { max-width:min(360px,32vw); background:linear-gradient(90deg,rgba(10,13,17,.86),rgba(10,13,17,.38)); border:0; border-radius:8px; box-shadow:none; backdrop-filter:none; padding:1rem 1.25rem; }
.cinema-metric-large { color:var(--nw-warm-white); text-shadow:none; font-size:clamp(1.8rem,3.1vw,2.7rem); }
.cinema-metric-unit { font-family:var(--font-sans); text-transform:none; letter-spacing:0; font-size:.9rem; }
.product-cinema-caption-card .cinema-caption-eyebrow { font:500 .84rem var(--font-sans); text-transform:none; letter-spacing:0; color:#e9b5b5; }
.campaign-editorial-desc { font-size:.86rem; line-height:1.5; margin-top:.45rem; text-shadow:none; }
.product-cinema-footnote { display:flex; justify-content:space-between; color:#c7c7c7; font-size:.74rem; max-width:1280px; width:100%; margin:0 auto; }
.product-cinema-footnote small { color:#999; font-size:.67rem; }
.product-cinema-progress-track { padding:0; gap:.4rem; margin-top:.45rem; }
.product-cinema-dot { border:0; background:none; padding:.15rem; }
.product-cinema-dot .dot-tag { display:none; }
.product-cinema-dot .dot-fill { width:18px; height:2px; border-radius:0; }
.product-cinema-dot.is-active { background:none; }
.product-cinema-dot.is-active .dot-fill { box-shadow:none; background:var(--nw-bordo-light); }
.spec-section-header { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; margin-bottom:1.5rem; }
.spec-model-note { color:var(--nw-steel-dark); font-size:.9rem; margin-top:.3rem; }
.specs-table-container { margin:0; overflow:hidden; border-radius:12px; }
.specs-structured-table { table-layout:fixed; font-size:.92rem; }
.specs-structured-table th { font:400 .9rem/1.6 var(--font-sans); letter-spacing:0; text-transform:none; width:46%; background:transparent; }
.specs-structured-table td { font-weight:600; line-height:1.6; }
.specs-structured-table th,.specs-structured-table td { padding:1rem 1.5rem; vertical-align:top; overflow-wrap:anywhere; }
.specs-structured-table tr:nth-child(even) { background:#f5f3ed; }
.specs-structured-table tr:last-child th { border-bottom:0; }
.product-details-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:1rem; margin-top:1.3rem; }
.product-detail { background:var(--nw-warm-card); border:1px solid var(--nw-warm-border); border-radius:8px; }
.product-detail summary,.free-viewer-details summary { cursor:pointer; font:600 1rem var(--font-sans); padding:1.15rem 1.25rem; }
.product-detail ul { padding:0 1.25rem 1.3rem 2.25rem; color:var(--nw-steel-dark); font-size:.87rem; }
.product-detail ul li { padding:.3rem 0 !important; }
.free-viewer-details { border:1px solid var(--nw-graphite-border); border-radius:12px; overflow:hidden; }
.free-viewer-details .product-cinema-stage-wrap { margin:0 auto; border:0; box-shadow:none; max-width:900px; }
.free-viewer-details .visual-note { color:var(--nw-steel-light); padding:0 1.25rem 1rem; }
.technical-anatomy-grid { align-items:start; }
.product-spec-section { scroll-margin-top:calc(var(--header-height) + 1rem); }
.form-group { min-width:0; }
.form-control { min-width:0; max-width:100%; }
.form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.anatomy-card-body h4 { font-weight:500 !important; line-height:1.5; }
.product-page .section-dark:has(.free-viewer-details) { padding:2rem 0; }
/* The mobile doors use the exact closed photograph, keeping the first seam intact. */
.mobile-door-left-solid { clip-path:polygon(36.94% 34.33%,57.81% 35.02%,57.81% 57.08%,36.94% 57.08%); }
.mobile-door-right-solid { clip-path:polygon(57.81% 35.02%,74.89% 35.50%,74.89% 57.08%,57.81% 57.08%); }
@media(max-width:960px) {
  .contact-layout { grid-template-columns:minmax(0,1fr); }
  .photoreal-concept-note { white-space:normal; }
  .photoreal-stage { height:100svh !important; min-height:100svh !important; }
  .catalog-header .section-title { font-size:1.7rem; }
  .catalog-header { gap:.8rem; margin-bottom:1.1rem; }
  .catalog-select-label { display:none; }
  .catalog-select { width:175px; font-size:.76rem; padding:.6rem 1.4rem .6rem .6rem; }
  #catalogo { padding:2.3rem 0; }
  .machines-grid-v7 { margin-top:0; gap:1.15rem; }
  .machine-viewer-360 { height:280px; }
  .machine-card-body-v7 { padding:1.2rem; }
  .machine-card-title-v7 { font-size:1.55rem; margin-bottom:.85rem; }
  .machine-card-specs-v7 { gap:.85rem; }
  .product-heading-actions { flex-direction:column; gap:.25rem; align-items:flex-end; padding-top:1.4rem; }
  .product-heading-actions .btn { padding:.55rem .75rem; font-size:.73rem; min-height:36px; }
  .product-family { font-size:.7rem; max-width:175px; }
  .product-cinema-pinned-stage { padding:1rem 1.25rem .8rem; min-height:0; }
  .product-heading h1 { font-size:1.8rem; }
  .clean-product-hud { gap:.7rem; }
  .product-cinema-viewport { padding:0 0 120px; }
  .product-cinema-canvas { max-width:100%; max-height:100%; transform:scale(1.25); }
  .product-cinema-poster { height:calc(100% - 120px); transform:scale(1.25); }
  .product-cinema-caption-card.align-left,.product-cinema-caption-card.align-right { left:0 !important; right:0 !important; bottom:.75rem !important; top:auto !important; max-width:none !important; padding:.8rem 1rem; }
  .product-cinema-caption-card .campaign-eyebrow-line { margin-bottom:.25rem; }
  .cinema-metric-large { font-size:1.9rem; }
  .campaign-editorial-desc { font-size:.8rem; }
  .product-cinema-footnote { font-size:.7rem; }
  .product-cinema-progress-track { gap:.3rem; }
  .spec-section-header { align-items:flex-start; gap:1rem; }
  .spec-section-header .section-title { font-size:1.6rem; }
  .spec-section-header .btn { font-size:.75rem; padding:.6rem .75rem; white-space:nowrap; }
  .spec-model-note { font-size:.8rem; }
  .specs-structured-table th,.specs-structured-table td { font-size:.8rem; padding:.8rem .85rem; }
  .product-details-grid { grid-template-columns:1fr; gap:.65rem; }
  .product-detail summary { padding:1rem; font-size:.9rem; }
  .catalog-page-section { padding-top:calc(var(--header-height) + 1.25rem); }
  .product-page .section-light,.product-page .section-surface { padding:2.5rem 0; }
}
@media(max-width:360px) { .catalog-select { width:155px; } .catalog-header .section-title { font-size:1.5rem; } .product-heading-actions .btn { font-size:.68rem; padding:.5rem .6rem; } }
@media(max-width:640px) { .form-grid { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { .product-cinema-stage-section { min-height:0; } .product-cinema-pinned-stage { position:relative; } .product-cinema-footnote>span { visibility:hidden; } }
