:root {
  color-scheme: light;
  --ink: #241c36;
  --muted: #5e566b;
  --purple: #382753;
  --violet: #57378c;
  --dark: #201a35;
  --lime: #d7f28a;
  --line: #e4dfeb;
  --canvas: #f7f5fa;
  --white: #fff;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--white);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
h1, h2, h3, p { margin: 0; }
a { color: inherit; }
input, select, button, textarea { font: inherit; }
button, summary { cursor: pointer; }
button:disabled { cursor: default; }
:focus-visible { outline: 3px solid #8054c6; outline-offset: 4px; }
[hidden], .symbol-library { display: none !important; }
.shell { width: min(1200px, calc(100% - 96px)); margin-inline: auto; }
.icon { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; vertical-align: middle; }
.skip { position: fixed; inset: 12px auto auto 12px; z-index: 4; padding: 12px; background: white; transform: translateY(-150%); }
.skip:focus { transform: none; }

.site-header { background: #fff; border-bottom: 1px solid var(--line); }
.header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.identity { display: flex; align-items: center; gap: 15px; min-width: 0; }
.brand { display: block; flex: none; }
.brand img { display: block; width: 78px; height: auto; }
.brand-role { border-left: 1px solid var(--line); padding-left: 15px; font-size: 12px; line-height: 1.35; }
.brand-role strong, .brand-role span { display: block; }
.brand-role strong { font-weight: 800; }
.brand-role span { color: var(--muted); margin-top: 3px; }
nav { display: flex; gap: clamp(15px, 3vw, 40px); }
nav a { padding-block: 10px; font-size: 14px; font-weight: 650; text-decoration: none; }
nav a:hover, .text-button:hover, .path-action:hover { text-decoration: underline; text-underline-offset: 4px; }
.private { display: inline-flex; gap: 7px; align-items: center; white-space: nowrap; border: 1px solid #e7e1ee; border-radius: 6px; background: #f7f5fa; color: var(--purple); font-size: 12px; font-weight: 730; padding: 7px 10px; }
.private .icon { width: 14px; height: 14px; }

.hero { position: relative; isolation: isolate; background: var(--dark); color: white; overflow: hidden; }
.hero-photo { position: absolute; z-index: -1; inset: 0 0 0 41%; background: url("./assets/constru-gold-fachada.webp") center 42% / cover no-repeat; }
.hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--dark) 0%, rgba(32,26,53,.72) 12%, rgba(32,26,53,.15) 45%, rgba(20,19,28,.04) 76%), linear-gradient(0deg, rgba(20,16,32,.58), transparent 40%); }
.hero-inner { position: relative; min-height: 520px; display: flex; align-items: center; padding-block: 42px; }
.hero-copy { width: min(100%, 650px); }
.eyebrow { display: flex; gap: 10px; align-items: center; font-size: 11px; font-weight: 800; letter-spacing: .14em; line-height: 1.5; }
.hero-kicker { color: #e5e0ee; }
.hero-kicker i, .photo-label i { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); }
.hero-kicker span { width: 17px; height: 1px; background: #9487ab; }
.hero h1 { margin: 18px 0; font-size: clamp(3.45rem, 6.7vw, 5.5rem); line-height: .99; letter-spacing: -.077em; font-weight: 800; }
.hero h1 em { color: #f8d793; font-style: normal; }
.hero-description { max-width: 460px; color: #eeeaf3; font-size: 17px; line-height: 1.6; }
.hero-description strong { color: #fff; }
.hero-uses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-width: 505px; margin-top: 16px; }
.hero-uses a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 7px; align-items: center; min-height: 55px; background: #2a213ecc; border: 1px solid #776a89; border-radius: 7px; padding: 8px 10px; text-decoration: none; }
.hero-uses a:hover { border-color: var(--lime); background: #392d50; }
.hero-uses span { grid-column: 1; font-size: 9px; font-weight: 800; letter-spacing: .07em; color: var(--lime); }
.hero-uses strong { grid-column: 1; font-size: 13px; line-height: 1.25; }
.hero-uses .icon { grid-column: 2; grid-row: 1 / 3; width: 14px; height: 14px; color: var(--lime); }
.hero-qualification { margin-top: 8px; color: #e1daec; font-size: 11px; line-height: 1.4; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 47px; padding: 10px 16px; border: 1px solid transparent; border-radius: 8px; font-size: 14px; font-weight: 760; text-decoration: none; line-height: 1.2; }
.primary { margin-top: 17px; background: var(--lime); color: #242b14; }
.primary:hover { background: #e9ffaf; }
.hero-audience { margin-top: 16px; color: #e1daec; font-size: 12px; line-height: 1.55; }
.photo-label { position: absolute; inset: auto 0 27px auto; display: flex; align-items: center; gap: 8px; border: 1px solid #a19aa7; border-radius: 4px; padding: 8px 10px; color: white; background: #231c32d9; font-size: 9px; letter-spacing: .12em; font-weight: 720; }

.section { padding-block: 65px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 27px; }
.section-kicker { color: #574275; margin-bottom: 12px; }
.section-kicker span { color: var(--purple); background: #eee8f6; border-radius: 4px; padding: 3px 6px; letter-spacing: .08em; }
.section-heading h2 { font-size: clamp(2rem, 4.4vw, 3.5rem); line-height: 1.06; letter-spacing: -.061em; font-weight: 810; }
.section-heading > p { flex: 0 1 365px; font-size: 15px; line-height: 1.6; color: var(--muted); }
.path-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); }
.path-card { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; min-width: 0; background: white; }
.path-image { aspect-ratio: 3 / 2; position: relative; background: #b0a79e; }
.path-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.path-image span { position: absolute; inset: 12px auto auto 12px; color: var(--ink); background: white; padding: 4px 7px; border-radius: 4px; font-size: 10px; font-weight: 800; }
.path-image small { position: absolute; inset: auto 10px 10px auto; color: var(--ink); background: white; padding: 4px 7px; border-radius: 4px; font-size: 10px; }
.path-copy { flex: 1; display: flex; flex-direction: column; padding: clamp(16px, 2.3vw, 26px); }
.path-copy h3 { font-size: clamp(19px, 2.1vw, 25px); line-height: 1.22; letter-spacing: -.025em; margin-bottom: 8px; }
.path-copy p { color: var(--muted); font-size: 14px; line-height: 1.55; }
.solution { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); flex: 1; }
.solution strong { display: block; margin-bottom: 4px; font-size: 14px; color: #44306b; }
.path-action { margin-top: 12px; display: inline-flex; align-items: center; align-self: flex-start; min-height: 32px; gap: 5px; font-size: 12px; font-weight: 780; color: #513480; text-decoration: none; }
.path-action .icon { width: 14px; height: 14px; }

.gold-guide { display: flex; justify-content: space-between; gap: 12px 24px; align-items: center; margin-top: 20px; padding: 18px 21px; border: 1px solid #e6d5b5; border-radius: 10px; background: #fcf7ed; }
.gold-guide .eyebrow { color: #795421; }
.gold-guide h3 { margin-block: 3px 5px; font-size: 18px; letter-spacing: -.02em; }
.gold-guide p:not(.eyebrow) { font-size: 13px; line-height: 1.5; color: var(--muted); }
.gold-guide .path-action { flex: none; align-self: center; margin: 0; }
.simulator-band { background: var(--canvas); border-block: 1px solid #eeeaf3; }
.calculator { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr); border-radius: 16px; border: 1px solid var(--line); overflow: hidden; background: #fff; box-shadow: 0 12px 35px #3425530c; }
.form-panel, .result-panel { padding: clamp(22px, 3vw, 38px); min-width: 0; }
.panel-head { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; margin-bottom: 20px; }
.panel-head h3, .result-panel h3 { font-size: 23px; letter-spacing: -.037em; font-weight: 780; }
.text-button { background: none; padding: 7px 0; border: 0; color: var(--violet); font-size: 12px; font-weight: 730; }
.form-panel label { display: block; font-size: 13px; font-weight: 730; min-width: 0; }
.application-field { border: 0; padding: 0; margin: 0 0 15px; min-width: 0; }
.application-field legend { padding: 0; font-size: 13px; font-weight: 730; }
.application-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 7px; }
.form-panel .application-options label { display: flex; align-items: center; gap: 8px; padding: 8px 9px; border: 1px solid #cfc7da; border-radius: 7px; min-height: 51px; cursor: pointer; }
.application-options label:has(:checked) { background: #f2edf9; border-color: var(--violet); }
.form-panel .application-options input { flex: none; width: 15px; height: 15px; min-height: 0; padding: 0; margin: 0; accent-color: var(--violet); }
.application-options strong, .application-options small { display: block; line-height: 1.3; }
.form-panel input[readonly] { background: #f5f2f8; }
.form-panel label small { font-size: 10px; font-weight: 630; color: var(--muted); }
.area-field { margin-top: 15px; }
.product-fields { min-width: 0; margin: 17px 0 0; padding: 12px 14px 14px; border: 1px solid var(--line); border-radius: 8px; }
.product-fields legend { padding-inline: 5px; margin-left: -5px; font-weight: 800; color: var(--purple); }
.product-fields .helper { margin-top: 0; }
.product-fields .fields { margin-top: 10px; }
.gold-fields { border-color: #e6d5b5; background: #fdfaf4; }
.gold-fields legend { color: #795421; }
.fabric-fields { border-color: #ded4bf; background: #f8f5ee; }
.fabric-fields legend { color: #5f492b; }
.profile-field { margin-top: 11px; }
.fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 15px; }
.form-panel input, .form-panel select, .input-frame { margin-top: 7px; width: 100%; min-height: 44px; border: 1px solid #cfc7da; border-radius: 7px; background: white; color: var(--ink); font-size: 14px; font-weight: 650; }
.form-panel input, .form-panel select { padding: 9px 11px; }
.input-frame { display: flex; align-items: center; }
.input-frame input { border: 0; padding: 8px 11px; min-width: 0; min-height: 42px; margin: 0; background: transparent; }
.input-frame > span { color: var(--muted); font-size: 12px; font-weight: 640; padding-inline: 10px; white-space: nowrap; }
.input-frame:has(span:first-child) input { padding-left: 0; }
.input-frame:focus-within { outline: 2px solid #8054c6; outline-offset: 2px; }
.input-frame input:focus { outline: none; }
.input-frame:has([aria-invalid="true"]), .form-panel > .fields input[aria-invalid="true"] { border-color: #a32d36; }
.range-line, .helper, .form-error { margin-top: 9px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.form-error { color: #8b2933; font-weight: 660; }
.calculate { margin-top: 21px; color: white; background: #49336d; }
.calculate:hover { background: #5a3e87; }

.result-panel { background: var(--dark); color: white; }
.result-panel :focus-visible, .hero :focus-visible { outline-color: var(--lime); }
.result-kicker { color: var(--lime); margin-bottom: 9px; }
.result-kicker .icon { width: 16px; height: 16px; }
.result-case { margin-top: 5px; color: #e0d8eb; font-size: 13px; }
.result-case.secondary { color: #d3c8e1; font-size: 12px; }
.mass-stat { padding: 17px 0; margin-top: 10px; }
.mass-stat > span { display: block; color: #e3dbea; font-size: 13px; font-weight: 650; }
.mass-stat p { line-height: 1.1; margin-block: 5px 6px; color: var(--lime); overflow-wrap: anywhere; }
.mass-stat p strong { font-size: clamp(2rem, 4.2vw, 3.45rem); letter-spacing: -.06em; font-variant-numeric: tabular-nums; }
.mass-stat small { display: block; color: #dad0e5; font-size: 12px; line-height: 1.45; }
.total-line { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 12px; padding: 11px 0; border-block: 1px solid #615475; }
.total-line span { font-size: 13px; color: #e3dbea; }
.total-line strong { font-size: 16px; overflow-wrap: anywhere; }
.product-result { margin-top: 12px; padding: 13px; border: 1px solid #615475; border-radius: 8px; background: #35294b; }
.product-result h4 { margin: 0; font-size: 14px; color: #fff; }
.product-result dl { margin: 8px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; }
.product-result dt { font-size: 11px; color: #dad0e5; }
.product-result dd { margin: 3px 0 0; font-size: 13px; font-weight: 750; overflow-wrap: anywhere; }
.result-warning { color: #f9d7a4; font-size: 12px; margin-top: 11px; }
.copy-button { margin-top: 17px; color: white; background: transparent; border-color: #a198b2; }
.copy-button:hover:not(:disabled) { background: #473859; }
.copy-button:disabled { opacity: .54; }
.copy-status { min-height: 16px; margin-block: 6px 3px; font-size: 11px; color: var(--lime); }
.formula { border-top: 1px solid #615475; padding-top: 12px; font-size: 12px; color: #e6deee; }
.formula summary { font-weight: 700; }
.formula p { margin-top: 9px; line-height: 1.55; }

.tech-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.tech-grid article { padding: 20px; background: #f7f5fa; border: 1px solid var(--line); border-radius: 10px; }
.tech-grid article > span { display: block; color: #574275; font-size: 10px; letter-spacing: .09em; font-weight: 800; }
.tech-grid strong { display: block; font-size: clamp(1.7rem, 4vw, 2.5rem); margin-block: 4px; letter-spacing: -.05em; line-height: 1.15; }
.tech-grid strong small { font-size: .44em; letter-spacing: 0; white-space: nowrap; }
.tech-grid p, .technical-notes p { color: var(--muted); font-size: 13px; line-height: 1.6; }
.technical-notes { margin-top: 23px; }
.technical-notes details { border-top: 1px solid var(--line); padding-block: 12px; }
.technical-notes details:last-child { border-bottom: 1px solid var(--line); }
.technical-notes summary { font-size: 14px; font-weight: 730; }
.technical-notes p { margin-top: 9px; max-width: 80ch; }
.source-links { display: flex; flex-wrap: wrap; gap: 10px 21px; }
.source-links a { color: var(--violet); font-weight: 670; text-underline-offset: 3px; }
.source-links .icon { width: 13px; height: 13px; }
.site-footer { background: #f5f2f8; border-top: 1px solid var(--line); }
.footer-inner { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding-block: 23px; font-size: 12px; }
.footer-brand { display: grid; gap: 4px; }
.footer-brand span, .footer-inner address span { color: var(--muted); }
.footer-inner address { font-style: normal; display: grid; gap: 5px; overflow-wrap: anywhere; }
.footer-inner address div { display: flex; flex-wrap: wrap; gap: 3px 6px; }
.footer-inner a { color: var(--violet); flex: none; text-underline-offset: 3px; }
dialog { width: min(500px, calc(100% - 32px)); border: 1px solid var(--line); border-radius: 12px; padding: 23px; color: var(--ink); }
dialog::backdrop { background: #201a35aa; }
dialog p { margin-block: 7px; font-size: 14px; color: var(--muted); }
dialog textarea { width: 100%; resize: vertical; padding: 10px; border-radius: 7px; border: 1px solid var(--line); color: var(--ink); font-size: 13px; }

@media (max-width: 940px) {
  .shell { width: calc(100% - 56px); }
  .hero-description { max-width: 420px; }
  .brand img { width: 64px; }
  .identity { gap: 10px; }
  .brand-role { padding-left: 10px; }
  .header-inner { gap: 12px; }
  .hero-audience { max-width: 335px; }
}
@media (max-width: 680px) {
  .shell { width: calc(100% - 36px); }
  .header-inner { min-height: auto; padding-block: 11px 0; display: grid; grid-template-columns: 1fr auto; gap: 7px 12px; }
  .identity { grid-area: 1 / 1; }
  .brand img { width: 52px; }
  .brand-role { font-size: 10px; padding-left: 8px; }
  .private { font-size: 10px; padding: 6px; gap: 4px; }
  .private .icon { width: 12px; height: 12px; }
  .private { grid-area: 1 / 2; }
  nav { grid-area: 2 / 1 / 3 / 3; justify-content: space-between; gap: 12px; border-top: 1px solid #eeeaf3; }
  nav a { font-size: 12px; padding-block: 11px; }
  .hero-inner { min-height: 0; padding-block: 28px 24px; align-items: start; }
  .hero-photo { inset: 0; background-position: 60% 45%; }
  .hero-photo::after { background: linear-gradient(90deg, #201a35f5, #201a35cf 48%, #201a3580), linear-gradient(0deg, #201a35, transparent 72%); }
  .hero h1 { font-size: clamp(2.75rem, 11vw, 4.45rem); }
  .hero-description { font-size: 15px; }
  .hero-kicker { font-size: 9px; }
  .hero-audience { max-width: 300px; }
  .photo-label { display: none; }
  .section { padding-block: 40px; }
  .section-heading { display: block; margin-bottom: 19px; }
  .section-heading > p { margin-top: 10px; font-size: 14px; }
  .calculator { grid-template-columns: minmax(0, 1fr); }
  .tech-grid { grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .tech-grid article { padding: 15px; }
  .footer-inner { display: grid; grid-template-columns: 1fr auto; }
  .footer-inner address { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 460px) {
  .path-grid { grid-template-columns: minmax(0, 1fr); gap: 11px; }
  .hero-uses a { padding-inline: 8px; }
  .hero-uses strong { font-size: 12px; }
  .form-panel .application-options label { gap: 6px; padding-inline: 7px; }
  .application-options small { font-size: 9px; }
  .path-copy { padding: 14px; }
  .fields { gap: 12px; }
  .form-panel, .result-panel { padding: 19px 15px; }
  .form-panel label { font-size: 12px; }
  .form-panel select { padding-inline: 6px; }
  .input-frame input { padding-left: 7px; }
  .input-frame > span { padding-inline: 6px; }
  .product-fields { padding-inline: 9px; }
  .gold-guide { display: block; }
  .gold-guide .path-action { margin-top: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}


.plaster-guide { border-color: var(--line); background: var(--canvas); }
.plaster-guide .eyebrow { color: var(--violet); }
.slab-guide { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin-top: 28px; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: var(--canvas); }
.slab-photo { position: relative; margin: 0; min-height: 320px; }
.slab-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.slab-copy { padding: clamp(20px, 3.4vw, 46px); }
.slab-copy h2 { font-size: clamp(26px, 3.2vw, 42px); line-height: 1.08; letter-spacing: -.045em; }
.slab-copy > p:not(.eyebrow) { margin-top: 12px; }
.slab-copy p:not(.eyebrow) { font-size: 14px; line-height: 1.55; color: var(--muted); }
.slab-systems { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 19px; }
.slab-systems article { display: flex; flex-direction: column; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: white; }
.slab-systems h3 { margin-bottom: 5px; font-size: 15px; }
.slab-systems .path-action { margin-top: auto; padding-top: 5px; }
.cracks-section { padding-top: 12px; }
.cracks-section .tech-grid p { margin-top: 7px; }
.cracks-link { margin-left: 14px; }
.form-panel .sealant-toggle { display: flex; align-items: center; gap: 9px; margin-top: 15px; }
.form-panel .sealant-toggle input { flex: none; width: 17px; height: 17px; min-height: 0; margin: 0; accent-color: var(--violet); }
.technical-files { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.technical-files a { display: grid; gap: 4px; padding: 13px; border: 1px solid var(--line); border-radius: 8px; background: #f7f5fa; text-decoration: none; font-size: 13px; }
.technical-files a:hover { border-color: var(--violet); }
.technical-files a span { color: var(--violet); font-size: 11px; }

@media (max-width: 680px) {
  .slab-guide { grid-template-columns: minmax(0, 1fr); }
  .slab-photo { min-height: 0; aspect-ratio: 3 / 2; }
  nav { gap: 4px; }
  nav a { font-size: 11px; text-align: center; }
  .technical-files { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 460px) {
  .slab-systems { grid-template-columns: minmax(0, 1fr); }
  .application-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cracks-link { margin-left: 0; display: flex; }
}

.durability-band { background: #f8f6fb; border-bottom: 1px solid var(--line); }
.company-intro, .durability-layout { display: grid; align-items: center; gap: clamp(24px, 5vw, 72px); padding-block: clamp(32px, 5vw, 58px); }
.company-intro { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
.company-figure { margin: 0; }
.company-figure img { display: block; width: 100%; height: auto; }
.company-figure figcaption { margin-top: 4px; color: var(--muted); font-size: 12px; text-align: right; }
.durability-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); }
.company-copy h2, .durability-copy h2 { font-size: clamp(28px, 3.5vw, 46px); line-height: 1.08; letter-spacing: -.045em; }
.company-copy p:not(.eyebrow), .durability-copy p:not(.eyebrow) { margin-top: 13px; color: var(--muted); line-height: 1.55; }
.durability-figure { margin: 0; }
.durability-figure img { display: block; width: 100%; height: auto; border-radius: 8px; border: 1px solid var(--line); }
.durability-figure figcaption { margin-top: 8px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.norms { margin-top: 30px; }
.norms h3 { font-size: 23px; letter-spacing: -.025em; }
.norms-intro { margin-top: 6px; color: var(--muted); line-height: 1.5; }
.norm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.norm-grid article { padding: 15px; border: 1px solid var(--line); border-radius: 8px; }
.norm-grid h4 { margin: 0 0 6px; color: var(--violet); }
.norm-grid ul { margin: 0; padding-left: 18px; }
.norm-grid li + li { margin-top: 5px; }
.norm-grid li, .norm-grid p { color: var(--muted); font-size: 14px; line-height: 1.45; }
.technical-file-pending { display: grid; gap: 4px; padding: 13px; border: 1px solid var(--line); border-radius: 8px; background: #f7f5fa; font-size: 13px; }
.technical-file-pending span { color: var(--muted); font-size: 11px; }

@media (max-width: 680px) {
  .company-intro, .durability-layout, .norm-grid { grid-template-columns: minmax(0, 1fr); }
}

.hero-contact { margin: 16px 0 0 8px; border-color: #a59ab7; color: #fff; background: #322545; }
.hero-contact:hover { background: #48375f; }
.footer-actions { display: grid; justify-items: end; gap: 9px; }
.footer-actions .contact-open { margin: 0; white-space: nowrap; }
.contact-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.contact-dialog-heading h2 { margin: 3px 0 0; font-size: 24px; letter-spacing: -.03em; }
.dialog-close { flex: none; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: #f8f6fb; font-size: 24px; line-height: 1; }
.contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 17px; }
.contact-fields label { display: grid; gap: 5px; font-size: 13px; font-weight: 650; }
.contact-fields input { min-width: 0; width: 100%; min-height: 42px; padding: 9px; border: 1px solid #b4aabf; border-radius: 7px; color: var(--ink); }
dialog .contact-purpose { margin-top: 13px; font-size: 12px; }
.contact-status:not(:empty) { margin-top: 13px; font-weight: 650; color: var(--ink); }
.contact-status:empty { display: none; }
.lead-admin h1 { font-size: clamp(30px, 5vw, 50px); letter-spacing: -.04em; margin: 0 0 8px; }
.lead-admin p { color: var(--muted); }
.lead-table-wrap { overflow-x: auto; margin: 18px 0; border: 1px solid var(--line); border-radius: 8px; }
.lead-table-wrap table { width: 100%; border-collapse: collapse; text-align: left; }
.lead-table-wrap th, .lead-table-wrap td { padding: 10px 12px; border-bottom: 1px solid var(--line); font-size: 13px; white-space: nowrap; }
.lead-table-wrap th { background: #f5f2f8; }
.lead-table-wrap tr:last-child td { border-bottom: 0; }
.lead-admin nav { display: flex; gap: 14px; }

@media (max-width: 680px) {
  .footer-inner .identity { grid-column: 1 / -1; }
  .footer-inner address { grid-column: 1; }
  .footer-actions { grid-column: 2; grid-row: 2; }
  .footer-actions .contact-open { white-space: normal; }
}
@media (max-width: 380px) {
  .hero-contact { margin-left: 0; }
  .contact-fields { grid-template-columns: minmax(0, 1fr); }
}

.case-band { background: #f8f6fb; border-block: 1px solid var(--line); }
.case-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr); align-items: center; gap: clamp(24px, 6vw, 88px); }
.case-copy h2 { font-size: clamp(30px, 4.4vw, 52px); line-height: 1.05; letter-spacing: -.045em; }
.case-copy p:not(.eyebrow) { margin-top: 11px; line-height: 1.55; color: var(--muted); }
.case-copy .case-lead { font-weight: 750; color: var(--ink); }
.case-labels { display: flex; flex-wrap: wrap; gap: 7px; margin: 18px 0 0; padding: 0; list-style: none; }
.case-labels li { padding: 5px 10px; border: 1px solid var(--line); border-radius: 5px; background: #fff; color: var(--violet); font-size: 12px; font-weight: 650; }
.case-video { width: min(100%, 310px); margin: 0 auto; }
.case-video video { display: block; width: 100%; height: auto; aspect-ratio: 478 / 850; border-radius: 10px; background: var(--ink); }
.case-video figcaption { margin-top: 8px; text-align: center; color: var(--muted); font-size: 12px; }
.case-band + .cracks-section { padding-top: 40px; }

@media (max-width: 680px) {
  .case-layout { grid-template-columns: minmax(0, 1fr); }
  .case-video { width: min(100%, 285px); margin-inline: auto; }
}
