

:root {
  
  --text-dim: #b6b6b6;
  --text-faint: #8c8c8c;

  
  --grid-line:   color-mix(in srgb, var(--white) 3.2%, transparent);
  --grid-line-2: color-mix(in srgb, var(--white) 5%, transparent);
  --metal-sheen: color-mix(in srgb, var(--white) 5.5%, transparent);
  --halo-yellow: color-mix(in srgb, var(--yellow) 13%, transparent);
  --halo-green:  color-mix(in srgb, var(--green) 9%, transparent);

  
  --hairline-top: color-mix(in srgb, var(--white) 15%, transparent);
  --hairline-bot: color-mix(in srgb, var(--white) 3%, transparent);
  --glass-strong: color-mix(in srgb, var(--bg-card) 56%, transparent);
  --glass-accent: color-mix(in srgb, var(--bg-accent) 52%, transparent);
  --elev-float:  0 18px 44px rgba(0,0,0,0.46), 0 4px 12px rgba(0,0,0,0.36);
  --elev-lift:   0 28px 60px rgba(0,0,0,0.55), 0 6px 16px rgba(0,0,0,0.40);

  --radius-lg: 18px;
  --radius-xl: 22px;
}


body { position: relative; }
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(62% 42% at 50% -8%, var(--halo-yellow), transparent 72%),
    radial-gradient(54% 38% at 102% 104%, var(--halo-green), transparent 70%),
    linear-gradient(var(--grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size: 100% 100%, 100% 100%, 46px 46px, 46px 46px;
}


.site-header {
  position: fixed;
  top: 0.7rem;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  width: calc(100% - 1.6rem);
  max-width: 1060px;
  padding: 0 0.6rem 0 1.1rem;
  border: 1px solid var(--glass-border);
  border-radius: 16px;
  background:
    linear-gradient(180deg, var(--metal-sheen), transparent 60%),
    var(--glass-strong);
  -webkit-backdrop-filter: blur(22px) saturate(150%);
  backdrop-filter: blur(22px) saturate(150%);
  box-shadow: var(--elev-float), inset 0 1px 0 var(--hairline-top);
}
.header-inner { height: 60px; max-width: 100%; }
.header-cta {
  border-radius: 9px;
  box-shadow: var(--glow-cta);
}



.overline {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--mono);
  font-size: 0.6rem;
  letter-spacing: 0.26em;
  color: var(--yellow);
}
.overline::before {
  content: "";
  width: 1.7rem;
  height: 1px;
  background: linear-gradient(90deg, var(--yellow), transparent);
}


.section-heading {
  font-size: clamp(2rem, 4.4vw, 2.95rem);
  letter-spacing: -0.022em;
  line-height: 1.12;
  background: linear-gradient(176deg, var(--white), color-mix(in srgb, var(--white) 80%, var(--text)));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.section-sub {
  font-size: 0.95rem;
  line-height: 1.75;
  color: var(--text-dim);
  max-width: 58ch;
}


.hero h1 {
  font-size: clamp(1.9rem, 5.6vw, 3.15rem);
  letter-spacing: -0.025em;
  line-height: 1.1;
}
.hero-sub { font-size: 1rem; line-height: 1.75; color: var(--text-dim); }


.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-family: var(--mono);
  letter-spacing: 0.18em;
  background: var(--glass-accent);
  border: 1px solid var(--glass-border);
  box-shadow: inset 0 1px 0 var(--hairline-top);
  border-radius: 999px;
  padding: 0.45rem 0.9rem;
}


.hl { color: var(--text); font-weight: 600; }
.mark-y {
  color: var(--white);
  font-weight: 600;
  background: linear-gradient(180deg, transparent 62%, color-mix(in srgb, var(--yellow) 30%, transparent) 0);
  padding: 0 0.06em;
}



.service-card,
.case-study {
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  background:
    linear-gradient(180deg, var(--metal-sheen), transparent 42%),
    var(--glass-accent);
  box-shadow: var(--elev-float), inset 0 1px 0 var(--hairline-top);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.service-card:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--yellow) 45%, transparent);
  box-shadow: var(--elev-lift), inset 0 1px 0 var(--hairline-top);
}
@media (min-width: 769px) {
  .service-card, .case-study {
    -webkit-backdrop-filter: blur(12px) saturate(135%);
    backdrop-filter: blur(12px) saturate(135%);
  }
}


.service-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem; height: 2.1rem;
  font-family: var(--mono);
  font-size: 0.78rem;
  border-radius: 9px;
  color: var(--yellow);
  background: color-mix(in srgb, var(--yellow) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--yellow) 22%, transparent);
}
.service-name { font-size: 1.05rem; letter-spacing: -0.01em; }


.hero-decision.surface-glass {
  border-radius: var(--radius-xl);
  background:
    linear-gradient(180deg, var(--metal-sheen), transparent 50%),
    var(--glass-strong);
  -webkit-backdrop-filter: blur(20px) saturate(145%);
  backdrop-filter: blur(20px) saturate(145%);
  box-shadow: var(--elev-lift), inset 0 1px 0 var(--hairline-top);
}


.beforeafter {
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  background: var(--glass-accent);
  box-shadow: var(--elev-float), inset 0 1px 0 var(--hairline-top);
}
.beforeafter__caption { border-top: 1px solid var(--hairline-bot); color: var(--text-dim); }

.hero .beforeafter { max-width: 560px; }
@media (max-width: 768px) { .hero .beforeafter { max-width: 100%; } }


.spec-chip {
  border: 1px solid transparent;
  border-radius: 12px;
  background:
    linear-gradient(180deg, var(--metal-sheen), transparent 55%),
    var(--bg-card);
  box-shadow: var(--elev-1), inset 0 1px 0 var(--hairline-top);
}
.spec-chip__value { color: var(--text); }

.film-step {
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  background:
    linear-gradient(180deg, var(--metal-sheen), transparent 38%),
    var(--bg-card);
  box-shadow: var(--elev-float), inset 0 1px 0 var(--hairline-top);
}
.film-step__num {
  border: 1px solid var(--hairline-top);
  background: color-mix(in srgb, var(--bg) 70%, transparent);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.film-step__foot { border-top: 1px solid var(--hairline-bot); }

.proof-capstone {
  border: 1px solid transparent;
  border-radius: var(--radius-xl);
  background:
    linear-gradient(180deg, var(--metal-sheen), transparent 30%),
    var(--bg-card);
  box-shadow: var(--elev-lift), inset 0 1px 0 var(--hairline-top);
}


.compare-table th, .compare-table td {
  border: 0;
  border-bottom: 1px solid var(--hairline-bot);
}
.compare-table thead th {
  background: transparent;
  border-bottom: 1px solid var(--hairline-top);
}

.metric {
  border: 1px solid transparent;
  border-radius: 12px;
  background:
    linear-gradient(180deg, var(--metal-sheen), transparent 55%),
    var(--bg);
  box-shadow: var(--elev-1), inset 0 1px 0 var(--hairline-top);
}
.metric-value { text-shadow: var(--glow-proof); }



.section-dark {
  position: relative;
  background:
    linear-gradient(180deg, var(--metal-sheen), transparent 18%),
    var(--bg-card);
  border-top: 1px solid var(--hairline-top);
  border-bottom: 1px solid var(--hairline-bot);
}
.section-dark::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.6;
  background:
    linear-gradient(var(--grid-line-2) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line-2) 1px, transparent 1px);
  background-size: 40px 40px, 40px 40px;
}
.section-dark > .section { position: relative; z-index: 1; }


.valueprop, .guarantee {
  border-top: 1px solid var(--hairline-top);
  border-bottom: 1px solid var(--hairline-bot);
}
.valueprop__lead { color: var(--white); }


.guarantee {
  position: relative;
  background:
    radial-gradient(60% 120% at 50% 0%, var(--halo-yellow), transparent 70%);
}
.guarantee-badge { box-shadow: var(--glow-cta); }


.btn-outline {
  border: 1px solid var(--glass-border);
  border-radius: 9px;
  background: var(--glass-accent);
  color: var(--text);
  box-shadow: inset 0 1px 0 var(--hairline-top);
}
.btn-outline:hover { border-color: var(--yellow); color: var(--yellow); }
.btn-primary { border-radius: 9px; }

.crit-fork__plan {
  background: var(--glass-accent);
  box-shadow: inset 0 1px 0 var(--hairline-top);
}


.intake-field input, .intake-field select, .intake-radio label, .intake-book {
  border: 1px solid var(--hairline-bot);
  border-radius: 10px;
  background:
    linear-gradient(180deg, var(--metal-sheen), transparent 60%),
    var(--bg-card);
}
.intake-book { box-shadow: var(--elev-float), inset 0 1px 0 var(--hairline-top); }


@media (max-width: 768px) {
  .mobile-cta {
    border-top: 0;
    background: var(--glass-strong);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    backdrop-filter: blur(18px) saturate(140%);
    box-shadow: 0 -8px 24px rgba(0,0,0,0.4), inset 0 1px 0 var(--hairline-top);
  }
  
  .hero { padding-top: 92px; }
}



.btn-primary,
.crit-fork__hot,
.header-cta,
.guarantee-badge,
.mobile-cta a { position: relative; }

.btn-primary::before,
.crit-fork__hot::before,
.header-cta::before,
.guarantee-badge::before,
.mobile-cta a::before {
  content: "";
  position: absolute;
  inset: -45%;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(38% 58% at 32% 38%, color-mix(in srgb, var(--yellow) 60%, transparent), transparent 70%),
    radial-gradient(46% 54% at 70% 66%, color-mix(in srgb, var(--yellow) 42%, transparent), transparent 72%);
  filter: blur(15px);
  opacity: 0.45;
  will-change: transform, opacity;
  animation: vapor-drift 7.5s ease-in-out infinite;
}

.crit-fork__hot::before { animation-duration: 8.5s; animation-delay: -2s; }
.header-cta::before     { animation-duration: 6.5s; animation-delay: -4s; }
.guarantee-badge::before{ animation-duration: 9s;   animation-delay: -1s; }
.mobile-cta a::before   { animation-duration: 8s;   animation-delay: -3s; }

@keyframes vapor-drift {
  0%   { transform: translate(-4%, 2%)  scale(1);    opacity: 0.34; }
  30%  { transform: translate(3%, -3%)  scale(1.09); opacity: 0.55; }
  55%  { transform: translate(-2%, 3%)  scale(0.97); opacity: 0.40; }
  80%  { transform: translate(4%, -1%)  scale(1.05); opacity: 0.50; }
  100% { transform: translate(-4%, 2%)  scale(1);    opacity: 0.34; }
}



.intake-radio {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.3rem;
  padding: 0.3rem;
  border-radius: 12px;
  border: 1px solid var(--hairline-bot);
  background:
    linear-gradient(180deg, var(--metal-sheen), transparent 60%),
    var(--bg-card);
  box-shadow: inset 0 1px 0 var(--hairline-top);
}
.intake-radio label {
  position: relative;
  margin: 0;
  min-height: 50px;
  justify-content: center;
  gap: 0.5rem;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: var(--text-dim);
  font-weight: 500;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}
.intake-radio label .ic { font-size: 1.05rem; color: currentColor; }
.intake-radio label input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.intake-radio label:hover { color: var(--text); }

.intake-radio label:has(input:checked) {
  background: var(--yellow);
  color: var(--bg);
  font-weight: 700;
  box-shadow: var(--glow-cta);
}
.intake-radio label:has(input[value*="No"]:checked) {
  background: var(--bg-accent);
  color: var(--white);
  box-shadow: inset 0 0 0 1px var(--glass-border), inset 0 1px 0 var(--hairline-top);
}


.intake-upload {
  border: 1.5px dashed var(--glass-border);
  border-radius: 12px;
  background:
    linear-gradient(180deg, var(--metal-sheen), transparent 60%),
    var(--bg-card);
  padding: 0.4rem;
  transition: border-color 0.2s, background 0.2s;
}
.intake-upload.is-drag { border-color: var(--yellow); background: var(--yellow-dim); }
.intake-dropzone {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  width: 100%;
  min-height: 60px;
  padding: 0.85rem 0.95rem;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.2s;
}
.intake-dropzone:hover { background: var(--glass-accent); }
.intake-dropzone .ic { font-size: 1.5rem; color: var(--yellow); flex: none; }
.intake-dropzone__txt { display: flex; flex-direction: column; gap: 0.15rem; }
.intake-dropzone__main { font-size: 0.85rem; font-weight: 600; color: var(--white); }
.intake-dropzone__hint { font-size: 0.7rem; line-height: 1.5; color: var(--text-faint); }
.intake-thumbs { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0 0.55rem 0.55rem; }
.intake-thumbs:empty { display: none; }
.intake-thumb {
  position: relative;
  width: 60px; height: 60px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--hairline-top);
  background: var(--bg);
  box-shadow: var(--elev-1);
}
.intake-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.intake-thumb__pdf {
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 100%;
  font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.1em; color: var(--text-dim);
}
.intake-thumb__x {
  position: absolute; top: 3px; right: 3px;
  width: 20px; height: 20px;
  display: flex; align-items: center; justify-content: center;
  border: 0; border-radius: 50%; cursor: pointer;
  background: color-mix(in srgb, #000 70%, transparent);
  color: var(--white); font-size: 14px; line-height: 1;
}
.intake-thumb__x:hover { background: var(--yellow); color: var(--bg); }


@media (prefers-reduced-motion: reduce) {
  
  .js-ready .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .service-card { transition: none; }
  .btn-primary::before,
  .crit-fork__hot::before,
  .header-cta::before,
  .guarantee-badge::before,
  .mobile-cta a::before { animation: none; opacity: 0.4; }
}



@media (max-width: 768px) {
  .section { padding: var(--space-section-sm) 1.25rem; }
  .section + .section { padding-top: 0; }
}



.section-dark .service-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  
  box-shadow: none;
  padding: 1.75rem 0;
  border-top: 1px solid var(--hairline-bot);
}
.section-dark .service-card:hover { transform: none; box-shadow: none; }
.section-dark .service-card:first-child { border-top: 0; padding-top: 0.5rem; }
.section-dark .service-card:hover { border-color: transparent; border-top-color: var(--hairline-top); }

#resultados .spec-strip { display: block; margin-top: 1.5rem; }
#resultados .spec-chip {
  background: transparent;
  border: 0;
  border-radius: 0;
  border-top: 1px solid var(--hairline-bot);
  padding: 0.95rem 0;
  min-width: 0;
}
#resultados .spec-chip:first-child { border-top: 0; }
#resultados .spec-chip__value {
  font-size: 1.75rem;
  line-height: 1.15;
  color: var(--white);
}
#resultados .spec-chip__label { margin-bottom: 0.15rem; }



@media (max-width: 768px) {
  .filmstrip {
    display: flex;
    grid-template-columns: none;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: var(--space-3);
    margin-inline: -1.25rem;
    padding-inline: 1.25rem;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
  }
  .filmstrip::-webkit-scrollbar { display: none; }
  .film-step { flex: 0 0 78vw; scroll-snap-align: start; }
  .film-step:not(:first-child)::before {
    top: 1.65rem;
    left: calc(-1 * var(--space-3));
    width: var(--space-3);
    height: 2px;
  }
}



#repuestos .service-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 1.5rem 0;
  border-top: 1px solid var(--hairline-bot);
}
#repuestos .service-card:first-child { border-top: 0; padding-top: 0.5rem; }
#repuestos .service-card:hover { transform: none; box-shadow: none; border-color: transparent; }



.footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 1.1rem;
  margin: 0.9rem 0 0.6rem;
}
.footer-nav a {
  font-size: 0.75rem;
  color: var(--text-dim);
  text-decoration: none;
  padding: 0.35rem 0;
  min-height: 44px;              
  display: inline-flex;
  align-items: center;
}
.footer-nav a:hover, .footer-nav a:focus-visible { color: var(--yellow); text-decoration: underline; }



.nav-menu { display: none; }
@media (max-width: 768px) {
  .nav-menu { display: block; position: relative; margin-left: auto; }
  .nav-menu > summary {
    list-style: none; cursor: pointer;
    width: 44px; height: 44px;            
    display: flex; align-items: center; justify-content: center;
    border-radius: 10px; border: 1px solid var(--border);
  }
  .nav-menu > summary::-webkit-details-marker { display: none; }
  .nav-menu > summary:focus-visible { outline: 2px solid var(--yellow); outline-offset: 2px; }
  .nav-menu__bars, .nav-menu__bars::before, .nav-menu__bars::after {
    display: block; width: 18px; height: 2px; background: var(--text); border-radius: 2px;
  }
  .nav-menu__bars { position: relative; }
  .nav-menu__bars::before, .nav-menu__bars::after { content: ""; position: absolute; left: 0; }
  .nav-menu__bars::before { top: -6px; }
  .nav-menu__bars::after  { top: 6px; }
  .nav-menu[open] > summary { border-color: var(--yellow); }
  
  .nav-menu:not([open]) .nav-menu__panel { display: none; }
  .nav-menu[open] .nav-menu__panel { display: flex; }
  
  .nav-menu__panel {
    position: absolute; right: 0; top: calc(100% + 10px); z-index: 300;
    min-width: 208px; flex-direction: column;
    background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 12px; padding: 0.4rem 0; box-shadow: var(--elev-3);
  }
  .nav-menu__panel a {
    padding: 0 1.1rem; min-height: 44px; display: flex; align-items: center;
    color: var(--text); font-size: 0.85rem; text-decoration: none;
  }
  .nav-menu__panel a + a { border-top: 1px solid var(--hairline-bot); }
  .nav-menu__panel a:hover, .nav-menu__panel a:focus-visible { color: var(--yellow); }
}



.pair-ledger { list-style: none; margin: var(--space-3) 0 0; padding: 0; }
.pair {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 0.75rem;
  padding: 1.1rem 0;
  border-top: 1px solid var(--hairline-bot);
}
.pair:first-child { border-top: 0; }
.pair__side { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.pair__side--ours { text-align: right; }
.pair__tag {
  font-size: 0.55rem; font-weight: 600; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-faint);
}
.pair__price {
  font-family: var(--mono); font-variant-numeric: tabular-nums;
  font-size: 1.15rem; font-weight: 600; color: var(--text-dim);
}
.pair__side--ours .pair__price { color: var(--green); }
.pair__lead { font-size: 0.72rem; color: var(--text-faint); }
.pair__arrow { color: var(--yellow); font-size: 1rem; }
.pair-note {
  display: flex; flex-direction: column; gap: 0.3rem;
  margin-top: var(--space-3); padding-top: 1.1rem;
  border-top: 1px solid var(--hairline-top);
}
.pair-note__value {
  font-family: var(--mono); font-variant-numeric: tabular-nums;
  font-size: 1.3rem; font-weight: 600; color: var(--green);
}
.pair-note__label { font-size: 0.75rem; line-height: 1.7; color: var(--text-dim); }



.hero--copy { padding-bottom: 1.6rem; }
.hero--cta  { padding-top: 1.6rem; }
.hero-bleed { margin: 0; padding: 0; width: 100%; }
.hero-bleed__img {
  display: block;
  width: 100%;
  height: clamp(240px, 42vh, 460px);
  object-fit: cover;
  object-position: center 55%;
}
.hero-bleed__caption {
  max-width: 820px;
  margin: 0 auto;
  padding: 0.85rem 2rem 0;
  font-size: 0.72rem;
  line-height: 1.7;
  text-align: center;
  color: var(--text-dim);
}
@media (max-width: 768px) {
  .hero-bleed__caption { padding-left: 1.25rem; padding-right: 1.25rem; }
}



.btn-primary::before,
.crit-fork__hot::before,
.header-cta::before,
.guarantee-badge::before,
.mobile-cta a::before {
  content: none;
  display: none;
  animation: none;
}
.glow-cta,
.btn-primary,
.crit-fork__hot,
.header-cta,
.guarantee-badge,
.mobile-cta a,
.intake-radio label:has(input:checked) {
  box-shadow: none;
}



@media (max-width: 768px) {
  .header-cta { display: none; }
  .header-inner { gap: 0.75rem; }
  .nav-menu { margin-left: auto; }
}



@media (max-width: 768px) {
  .spec-chip__label,
  .metric-label,
  .pair__tag        { font-size: 0.7rem; letter-spacing: 0.08em; }
  .overline,
  .hero-badge       { font-size: 0.7rem; letter-spacing: 0.18em; }
  .film-step__spec,
  .pair__lead,
  .beforeafter__caption,
  .hero-bleed__caption,
  .compare-caption  { font-size: 0.78rem; line-height: 1.65; }
  .spec-chip__value { font-size: 0.92rem; }

  
  .footer-contact a,
  .footer-legal a,
  .breadcrumb a,
  .contact-card__note a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 0.15rem;
  }
  .footer-contact,
  .footer-legal { line-height: 1.4; }
}



@media (max-width: 768px) {
  #caso table, #caso th, #caso td,
  .compare-table, .compare-table th, .compare-table td,
  .compare-row, .compare-row * { font-size: 0.8rem; }
  #caso .mono, .compare-caption .mono { font-size: 0.78rem; }

  .case-study a, #caso a, .guia-cta a,
  p > a[href^="mailto"], p > a[href^="tel"], p > a[href^="/"] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}



.spec-chip__label,
.metric-label,
.pair__tag        { font-size: 0.7rem; letter-spacing: 0.08em; }
.overline,
.hero-badge       { font-size: 0.7rem; letter-spacing: 0.18em; }
.film-step__spec,
.pair__lead,
.beforeafter__caption,
.hero-bleed__caption,
.compare-caption  { font-size: 0.78rem; line-height: 1.65; }
.spec-chip__value { font-size: 0.92rem; }
.case-label,
.proof-capstone__label,
.footer-legal     { font-size: 0.7rem; }
#caso table, #caso th, #caso td,
.compare-table, .compare-table th, .compare-table td,
.compare-row, .compare-row * { font-size: 0.8rem; }
#caso .mono, .compare-caption .mono { font-size: 0.78rem; }


.metric-label     { font-weight: 600; }
.footer-legal     { text-transform: none; letter-spacing: 0.01em; }
.footer-contact a { margin-bottom: 8px; }
.footer-legal + .footer-legal { margin-top: 8px; }
ul.pair-ledger li + li { margin-top: 8px; }
footer > * { max-width: 1100px; margin-left: auto; margin-right: auto; }



main > section:first-child:has(.breadcrumb) { padding-top: 100px; }

.page-title { font-size: clamp(2.1rem, 4.8vw, 3.1rem); }

.breadcrumb,
.case-label,
.proof-capstone__label,
.footer-legal { font-size: 0.75rem; }

.header-logo img { object-fit: contain; }


.work-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: var(--space-3); margin-top: var(--space-3); }
.work-shot { margin: 0; }
.work-shot img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--radius-lg); border: 1px solid var(--border); display: block; }
.work-shot figcaption { font-size: 0.85rem; line-height: 1.5; color: var(--text-dim); margin-top: var(--space-1); }
.work-shot figcaption strong { color: var(--white); }
.post-figure { margin: var(--space-3) 0; }
.post-figure img { width: 100%; height: auto; border-radius: var(--radius-lg); border: 1px solid var(--border); display: block; }
.post-figure figcaption { font-size: 0.85rem; color: var(--text-dim); margin-top: var(--space-1); }

.header-logo span { display: none; }

.overline { font-size: 0.75rem; }

main p a:not([class]), main li a:not([class]) { padding-block: 2px; }

a.spec-chip__value { display: inline-flex; align-items: center; min-height: 24px; }
main div > a:not([class]) { display: inline-flex; align-items: center; min-height: 24px; }

.film-step__num, .spec-chip__label, .crit-fork__note { font-size: 0.75rem; }
.film-step__callout { font-size: 0.8rem; }

.filmstrip .film-step .film-step__num { font-size: 0.75rem; }
.filmstrip .film-step .film-step__callout { font-size: 0.8rem; }

.work-shot img { height: auto; }
@media (max-width: 480px) { .work-grid { grid-template-columns: 1fr 1fr; gap: var(--space-2); } }
