.hspoc-concealed {
  --paper: #fdfefe;
  --ink: #102f49;
  --muted: #4a6376;
  --blue: #086b9a;
  --blue-deep: #07517a;
  --on-blue: #f8fcff;
  --rule: #d9e4eb;
  --input-rule: #9bafbe;
  --hero: #eaf2f6;
  --pale: #eff5f8;
  --well: #f2f7f9;
  --tint: #e4eef4;
  --font: Arial, "Helvetica Neue", sans-serif;
  --container: 1264px;
  --gutter: clamp(16px, 3.4vw, 40px);
  --section-space: clamp(35px, 4.65vw, 64px);
  --grid-gap: clamp(16px, 3.25vw, 42px);
  --radius: 6px;
  --control: 46px;
}

.hspoc-concealed * {
  box-sizing: border-box;
}

.hspoc-concealed {
  margin: 0; color: var(--ink); font: 16px/1.55 var(--font);
}

.hspoc-concealed :is(h1,h2,h3) {
  margin: 0; min-width: 0; overflow-wrap: break-word;
}

.hspoc-concealed h2 {
  font-size: clamp(27px, 3.1vw, 40px); line-height: 1.13; letter-spacing: -.032em; text-wrap: balance;
}

.hspoc-concealed p,
.hspoc-concealed figure {
  margin: 0;
}

.hspoc-concealed a {
  color: var(--blue-deep); text-underline-offset: .16em;
}

.hspoc-concealed a:hover {
  color: var(--blue);
}

.hspoc-concealed :where(a,button,input,textarea,summary):focus-visible {
  outline: 2px solid var(--blue-deep); outline-offset: 3px;
}

.hspoc-concealed :where(input,button,textarea) {
  color: inherit; font: inherit;
}

.hspoc-concealed button,
.hspoc-concealed summary {
  cursor: pointer;
}

.hspoc-concealed button:disabled {
  cursor: not-allowed; opacity: .58;
}

.hspoc-concealed img {
  display: block; max-width: 100%; height: auto;
}

.hspoc-concealed svg {
  display: block; width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;
}

.hspoc-concealed [hidden] {
  display: none !important;
}

.hspoc-concealed .container {
  width: min(100%, var(--container)); padding-inline: var(--gutter); margin-inline: auto;
}

.hspoc-concealed .sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: clip; clip-path: inset(50%); white-space: nowrap; border: 0;
}

.hspoc-concealed #modelos,
.hspoc-concealed #consulta {
  scroll-margin-top: 16px;
}

.hspoc-concealed .button {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: var(--control); padding: 8px 16px; border: 1px solid transparent; border-radius: var(--radius);
  text-align: center; text-decoration: none; font-size: 15px; font-weight: 700; line-height: 1.3;
}

.hspoc-concealed .primary {
  background: var(--blue); color: var(--on-blue);
}

.hspoc-concealed .primary:hover,
.hspoc-concealed .primary:active {
  background: var(--blue-deep); color: var(--on-blue);
}

.hspoc-concealed .secondary {
  background: transparent; border-color: var(--input-rule); color: var(--blue-deep);
}

.hspoc-concealed .secondary:hover,
.hspoc-concealed .secondary:active {
  border-color: var(--blue); background: var(--tint); color: var(--blue-deep);
}

.hspoc-concealed .breadcrumbs {
  display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; padding-block: 8px; font-size: 14px; color: var(--muted);
}

.hspoc-concealed .breadcrumbs a {
  color: inherit; text-decoration: none;
}

.hspoc-concealed .breadcrumbs a:hover {
  text-decoration: underline;
}

.hspoc-concealed .breadcrumbs [aria-current] {
  color: var(--ink);
}

.hspoc-concealed .hero {
  background: var(--hero); border-block: 1px solid var(--rule);
}

.hspoc-concealed .hero-inner {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center;
  min-height: 362px; gap: var(--grid-gap); padding-block: 24px;
}

.hspoc-concealed .hero h1 {
  min-width: 0; overflow-wrap: break-word; font-size: clamp(36px, 4.65vw, 64px); line-height: 1.035; letter-spacing: -.048em;
}

.hspoc-concealed .hero h1 span {
  display: block;
}

.hspoc-concealed .hero p {
  margin-block: 16px 24px; max-width: 37ch; color: var(--muted); font-size: 19px;
}

.hspoc-concealed .hero-actions {
  display: flex; flex-wrap: wrap; gap: 12px;
}

.hspoc-concealed .hero-photo {
  width: min(100%, 522px); aspect-ratio: 1.48; height: auto; object-fit: cover; justify-self: center; mix-blend-mode: multiply;
}

.hspoc-concealed .rfq-band {
  background: var(--pale); border-bottom: 1px solid var(--rule);
}

.hspoc-concealed .rfq {
  display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); align-items: start;
  gap: var(--grid-gap); padding-block: var(--section-space);
}

.hspoc-concealed .rfq-copy p {
  max-width: 39ch; margin-top: 16px; color: var(--muted);
}

.hspoc-concealed .rfq .hsp-compact-attachment-form__grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;
}

.hspoc-concealed .rfq :is(.htan-form-wrap,form) {
  margin: 0; min-width: 0;
}

.hspoc-concealed .rfq .htan-form-field {
  display: grid; gap: 4px; min-width: 0;
}

.hspoc-concealed .rfq .htan-form-field-wide {
  grid-column: 1 / -1;
}

.hspoc-concealed .rfq .htan-form-field label,
.hspoc-concealed .rfq .htan-form-label {
  font-weight: 700; font-size: 14px;
}

.hspoc-concealed .rfq .htan-form-field :is(input:not([type="file"],[type="checkbox"]),textarea) {
  width: 100%; min-width: 0; min-height: var(--control); border: 1px solid var(--input-rule);
  border-radius: var(--radius); background: var(--paper); padding: 8px 12px;
}

.hspoc-concealed .rfq .htan-form-field textarea {
  min-height: 106px; resize: vertical;
}

.hspoc-concealed .rfq .htan-upload-field {
  position: relative;
}

.hspoc-concealed .rfq .htan-upload-field input[type="file"] {
  position: absolute; inset: auto 0 24px; width: 100%; height: var(--control); opacity: 0; cursor: pointer;
}

.hspoc-concealed .rfq .htan-upload-field small {
  color: var(--muted); font-size: 13px;
}

.hspoc-concealed .rfq .hsp-file-picker {
  display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; min-height: var(--control);
  padding: 8px 12px; border: 1px dashed var(--input-rule); border-radius: var(--radius);
  background: var(--paper); color: var(--blue-deep); cursor: pointer;
}

.hspoc-concealed .rfq .htan-upload-field input:focus-visible + .hsp-file-picker {
  outline: 2px solid var(--blue-deep); outline-offset: 3px;
}

.hspoc-concealed .rfq .hsp-file-picker__name {
  color: var(--muted); font-weight: 400; overflow-wrap: anywhere;
}

.hspoc-concealed .rfq .htan-consent label {
  font-weight: 400;
}

.hspoc-concealed .rfq .htan-consent input {
  margin-inline-end: 8px; accent-color: var(--blue);
}

.hspoc-concealed .rfq .button {
  width: 100%;
}

.hspoc-concealed .questions {
  padding-block: var(--section-space);
}

.hspoc-concealed .questions h2 {
  margin-bottom: 16px;
}

.hspoc-concealed .questions details {
  border-top: 1px solid var(--rule);
}

.hspoc-concealed .questions details:last-child {
  border-bottom: 1px solid var(--rule);
}

.hspoc-concealed .questions summary {
  padding-block: 12px; min-height: 44px; font-weight: 700;
}

.hspoc-concealed .questions summary::marker {
  color: var(--blue-deep);
}

.hspoc-concealed .questions p {
  padding-bottom: 16px; color: var(--muted); max-width: 69ch;
}

.hspoc-concealed .hero-inner {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); min-height: 320px; padding-block: 20px;
}

.hspoc-concealed .hero h1 {
  font-size: clamp(38px, 4.6vw, 62px);
}

.hspoc-concealed .hero p {
  max-width: 49ch; margin-block: 12px 24px; font-size: clamp(16px, 1.4vw, 18px);
}

.hspoc-concealed .hero-photo {
  width: min(100%, 476px); aspect-ratio: 1.68; object-fit: cover;
}

.hspoc-concealed .models {
  padding-block: clamp(32px, 3.45vw, 46px) var(--section-space);
}

.hspoc-concealed .catalogue-heading {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px;
}

.hspoc-concealed .catalogue-heading p {
  margin-top: 12px; color: var(--muted);
}

.hspoc-concealed .catalogue-heading .result-count {
  margin: 0; font-size: 15px; font-variant-numeric: tabular-nums;
}

.hspoc-concealed .model-filters {
  display: flex; flex-wrap: wrap; gap: 8px; margin-block: 16px;
}

.hspoc-concealed .model-filters button {
  min-height: 44px; padding: 8px 16px; border: 1px solid var(--rule); border-radius: var(--radius);
  background: var(--paper); color: var(--ink); text-align: left; font-size: 15px; font-weight: 700;
}

.hspoc-concealed .model-filters button:hover {
  border-color: var(--input-rule); background: var(--pale);
}

.hspoc-concealed .model-filters button[aria-pressed="true"] {
  border-color: var(--blue); background: var(--tint); color: var(--blue-deep);
}

.hspoc-concealed .model-filters button span {
  margin-inline-start: 4px; color: var(--muted); font-size: 14px; font-weight: 400;
}

.hspoc-concealed .catalogue {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px;
}

.hspoc-concealed .model-filters[hidden] + .catalogue {
  margin-top: 20px;
}

.hspoc-concealed .model-card {
  display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--rule);
  border-radius: var(--radius); background: var(--paper);
}

.hspoc-concealed .model-card:hover,
.hspoc-concealed .model-card:focus-within {
  border-color: var(--input-rule);
}

.hspoc-concealed .card-media {
  display: flex; align-items: center; justify-content: center; height: clamp(156px, 13.95vw, 188px); overflow: hidden;
  padding: 4px 16px; border-radius: calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;
  border-bottom: 1px solid var(--rule); background: var(--well);
}

.hspoc-concealed .card-media img {
  width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply;
}

.hspoc-concealed .card-body {
  display: flex; flex: 1; flex-direction: column; min-width: 0; padding: 16px 16px 4px;
}

.hspoc-concealed .reference {
  color: var(--blue-deep); font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; overflow-wrap: anywhere;
}

.hspoc-concealed .card-body h3 {
  margin-block: 4px 12px; font-size: 19px; line-height: 1.24; letter-spacing: -.016em;
}

.hspoc-concealed .card-body h3 a {
  color: var(--ink); text-decoration: none;
}

.hspoc-concealed .card-body h3 a:hover {
  text-decoration: underline;
}

.hspoc-concealed .card-specs {
  display: grid; gap: 4px; margin: auto 0 12px; font-size: 15px; line-height: 1.4;
}

.hspoc-concealed .card-specs div {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px;
}

.hspoc-concealed .card-specs dt {
  color: var(--muted);
}

.hspoc-concealed .card-specs dd {
  margin: 0; font-weight: 700;
}

.hspoc-concealed .card-actions,
.hspoc-concealed .card-docs {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0 12px;
}

.hspoc-concealed .card-actions {
  justify-content: space-between; border-top: 1px solid var(--rule);
}

.hspoc-concealed .card-actions a {
  display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; text-decoration: none;
}

.hspoc-concealed .card-actions a:hover {
  text-decoration: underline;
}

.hspoc-concealed .card-quote {
  font-weight: 700;
}

.hspoc-concealed .catalogue-footer {
  display: flex; justify-content: center; margin-top: 24px;
}

.hspoc-concealed .selection-band {
  background: var(--well); border-block: 1px solid var(--rule);
}

.hspoc-concealed .selection {
  display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(0, .78fr); align-items: center;
  gap: var(--grid-gap); padding-block: var(--section-space);
}

.hspoc-concealed .fit-checks {
  display: grid; gap: 12px; margin: 20px 0 0;
}

.hspoc-concealed .fit-checks div {
  padding-top: 12px; border-top: 1px solid var(--rule);
}

.hspoc-concealed .fit-checks dt {
  font-weight: 700;
}

.hspoc-concealed .fit-checks dd {
  margin: 4px 0 0; max-width: 60ch; color: var(--muted);
}

.hspoc-concealed .drawing {
  width: min(100%, 392px); justify-self: center; padding: 12px; border: 1px solid var(--rule);
  border-radius: var(--radius); background: var(--paper); text-align: center;
}

.hspoc-concealed .drawing img {
  width: 100%; max-height: 258px; object-fit: contain; margin-bottom: 8px;
}

.hspoc-concealed .drawing a {
  display: block; padding: 4px; font-weight: 700; text-decoration: none;
}

.hspoc-concealed .drawing a:hover {
  text-decoration: underline;
}

@media (max-width: 990px) {
.hspoc-concealed .catalogue {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
}

@media (max-width: 800px) {
.hspoc-concealed .rfq {
  grid-template-columns: minmax(0, 1fr);
}
}

@media (max-width: 620px) {
.hspoc-concealed .hero-inner {
  grid-template-columns: minmax(0, 1fr); gap: 12px; min-height: 0; padding-block: 20px 12px;
}

.hspoc-concealed .hero h1 {
  font-size: clamp(32px, 9.1vw, 50px);
}

.hspoc-concealed .hero p {
  margin-block: 12px 16px;
}

.hspoc-concealed .hero-photo {
  width: min(100%, 360px);
}

.hspoc-concealed .hero-actions .button {
  padding-inline: 12px; gap: 8px;
}

.hspoc-concealed .catalogue {
  grid-template-columns: minmax(0, 1fr); gap: 16px;
}

.hspoc-concealed .card-media {
  height: 176px;
}

.hspoc-concealed .model-filters {
  margin-block: 16px 20px;
}

.hspoc-concealed .model-filters button {
  padding-inline: 12px;
}

.hspoc-concealed .selection,
.hspoc-concealed .rfq .hsp-compact-attachment-form__grid {
  grid-template-columns: minmax(0, 1fr);
}
}

.hspoc-concealed { background: var(--paper); }
.hspoc-concealed :is(h1,h2,h3) { color: var(--ink); }
.hspoc-concealed #modelos, .hspoc-concealed #consulta { scroll-margin-top: 110px; }
