:root {
  --nika-section-y: clamp(3.5rem, 6vw, 5.5rem);
  --nika-card-pad: clamp(1.25rem, 2.2vw, 1.75rem);
  --nika-line: rgba(16, 16, 15, .12);
}

/* One calm page surface; hierarchy comes from spacing, type and hairlines. */
.nika-inner-main { background: transparent; }
#site-header,
.nika-content,
.settings-d,
.category-d,
.nika-hub-card,
.element-d_card,
.product-d,
.nika-granite-card,
.nika-contact__form-panel,
.nika-feedback {
  box-shadow: none !important;
}
.nika-content { border-radius: 0 !important; }

/* Keep cards flat and stable instead of lifting them with shadows. */
.section-d_shop_home .category-d_child:hover,
.nika-hub-card:hover,
.section-d_shop .element-d_card:hover,
.block-d_shop .element-d_card:hover,
.nika-shop .shop-item:hover {
  transform: none !important;
  box-shadow: none !important;
}
.section-d_shop .element-d_card,
.block-d_shop .element-d_card,
.nika-granite-card { border-color: var(--nika-line); }
.product-d,
.nika-contact__form-panel,
.nika-feedback { border: 1px solid var(--nika-line); }

/* Shared card density. */
.element-d_card .element-d__details,
.nika-granite-card__body { padding: var(--nika-card-pad); }
.nika-contact__form-panel { padding: clamp(1.5rem, 3vw, 2.5rem); }
.nika-about__proof article,
.nika-contact__channel { padding: clamp(1.5rem, 2.8vw, 2.25rem); }

/* Shared vertical rhythm for editorial sections. */
.nika-granite-catalog,
.nika-granite-guide,
.nika-about__story,
.nika-about__trust,
.nika-about__process,
.nika-contact__workspace { padding-top: var(--nika-section-y); padding-bottom: var(--nika-section-y); }
.nika-granite-cta,
.nika-about__cta,
.nika-contact__note { padding-top: clamp(2.5rem, 4vw, 3.75rem); padding-bottom: clamp(2.5rem, 4vw, 3.75rem); }

/* Landing headings remain expressive without jumping to a different scale. */
.nika-granite-hero h1,
.nika-about__hero h1,
.nika-contact__hero h1 {
  font-size: clamp(3rem, 5.2vw, 5.25rem);
  line-height: 1.02;
}
.nika-about__story h2,
.nika-about__trust-head h2,
.nika-about__process-head h2,
.nika-granite-toolbar h2,
.nika-granite-guide h2,
.nika-contact__brief h2,
.nika-contact__form-heading h2 {
  font-size: clamp(2.15rem, 3.7vw, 3.75rem);
}

/* Remove oversized empty zones in split heroes. */
.nika-about__hero { min-height: 580px; }
.nika-about__visual { min-height: 500px; }
.nika-contact__hero { min-height: 520px; }
.nika-contact__hero-panel { padding: clamp(1.75rem, 3.5vw, 3rem); }

@media (max-width: 700px) {
  :root { --nika-section-y: 3.5rem; }
  .nika-granite-hero h1,
  .nika-about__hero h1,
  .nika-contact__hero h1 { font-size: clamp(2.55rem, 12vw, 3.5rem); }
  .nika-about__visual { min-height: 360px; }
  .nika-contact__hero-panel { min-height: 320px; }
  .nika-about__proof article,
  .nika-contact__channel { padding-right: 0; padding-left: 0; }
}

