/* 108-87 · home only · quick brandbook v0.1-rev2.
 * Existing markup/behaviour is authoritative. Shared shell and legacy CSS stay intact.
 * Fonts are existing catalog assets; keep both paths in the release dependency closure.
 */
@font-face {
  font-family: 'Tkani Home Manrope';
  src: url('/local/templates/aspro-lite-unified/react-catalog/assets/manrope-var-cyr-DJ9PYDpy.woff2') format('woff2');
  font-weight: 200 800;
  font-display: swap;
  unicode-range: U+0400-052F, U+2DE0-2DFF, U+A640-A69F;
}
@font-face {
  font-family: 'Tkani Home Manrope';
  src: url('/local/templates/aspro-lite-unified/react-catalog/assets/manrope-var-lat-C46ZzDBF.woff2') format('woff2');
  font-weight: 200 800;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

body.front_page .md-home-main {
  --home-content-max: 1440px;
  --home-gutter: 16px;
  --page-max: var(--home-content-max);
  --font-body: 'Tkani Home Manrope', Manrope, Arial, sans-serif;
  --font-display: var(--font-body);
  --font-accent: var(--font-body);
  --v1-font-body: var(--font-body);
  --paper: #f7f8fa;
  --ink: #192a45;
  --text: #192a45;
  --muted: #586578;
  --border: #e0e5e9;
  --surface: #eff2f6;
  --brand-blue: #1c347a;
  --action-blue: #1c347a;
  --brand: #1c347a;
  --cta: #1c347a;
  --r-control: 14px;
  --r-panel: 22px;
  --pcu-ink: #192a45;
  --pcu-muted: #586578;
  --pcu-border: #e0e5e9;
  --pcu-surface: #eff2f6;
  box-sizing: border-box;
  width: min(calc(100% - 2 * var(--home-gutter)), var(--home-content-max));
  min-width: 0;
  /* The owner has inline padding:0 52px and an existing mobile !important.
     Gutters now belong to width, so they must not be applied a second time. */
  padding-inline: 0 !important;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
}
@media (min-width: 768px) {
  body.front_page .md-home-main { --home-gutter: 24px; }
}
@media (min-width: 1440px) {
  body.front_page .md-home-main { --home-gutter: 32px; }
}
@media (min-width: 1920px) {
  body.front_page .md-home-main { --home-content-max: 1680px; font-size: 18px; }
}
@media (min-width: 2560px) {
  body.front_page .md-home-main { --home-content-max: 1920px; }
}

.md-home-main > section { min-width: 0; }
.md-home-main :is(p, .lt-quiz-section__copy > div) { max-width: 72ch; }
.md-home-main :is(h1, h2) { max-width: 30ch; }
.md-home-main :is(h2, h3) { color: var(--ink); }
.md-home-main :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  /* Native theme also suppresses anchor focus with !important. */
  outline: 3px solid #174fda !important;
  outline-offset: 4px !important;
}

/* Preserve the existing hero/video and focus points. */
.md-home-main .md-hero-band { border-radius: 22px; }
.md-home-main .md-hero-video__ui { height: 48px; }
.md-home-main :is(.md-hero-video__tick-btn, .md-hero-video__toggle) {
  width: 44px;
  height: 44px;
}
.md-home-main .md-hero-band__headline {
  font-family: var(--font-body);
  font-size: clamp(32px, 3.4vw, 56px);
  font-weight: 750;
  line-height: 1.15;
  color: #fff;
}
.md-home-main .md-hero-band__catalog-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 48px;
  padding: 12px 24px;
  border-radius: 14px;
  background: #fff;
  color: var(--brand-blue);
  font-family: var(--font-body);
  font-weight: 750;
}

.md-home-main :is(.md-home-categories h2, .md-home-price-quiz h2, .home-news-feed__head h2, .lt-quiz-section__copy h2) {
  font: 750 clamp(26px, 2.1vw, 40px)/1.2 var(--font-body);
}
/* These existing headings/paragraphs carry inline type sizes. */
.md-home-main :is(.md-purchase-flow__head h2, .md-home-opt__copy h2) {
  font-size: clamp(26px, 2.1vw, 40px) !important;
  line-height: 1.2 !important;
}
.md-home-main :is(.md-purchase-flow__card > p, .md-home-opt__copy > p, .md-home-opt__form > p) {
  font-size: clamp(16px, .95vw, 18px) !important;
  line-height: 1.6 !important;
}
.md-home-main :is(.md-home-categories, .md-purchase-flow, .md-home-opt, .home-news-feed) {
  margin-top: clamp(40px, 3.4vw, 64px);
}
.md-home-main .md-home-category-grid {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.md-home-main .md-home-category { border-radius: 16px; }
.md-home-main .md-home-category-more {
  border-radius: 14px;
  background: var(--surface);
  color: var(--brand-blue);
}

/* Both current converted cards and the legacy --home variant keep their grid
 * and 4:5 media. !important only counters existing --home geometry rules. */
.md-home-main .home-stock-grid .pcu-card {
  padding: 0 !important;
  border: 0;
  border-radius: 16px;
  background: transparent;
}
.md-home-main .home-stock-grid .pcu-card > .pcu-card__media {
  border-radius: 16px !important;
}
.md-home-main .home-stock-grid .pcu-card__cta {
  min-height: 48px;
  border-radius: 14px;
  background: var(--brand-blue);
}
.md-home-main .home-stock-grid .pcu-card__cta:hover { background: #14285e; }

.md-home-main .md-home-price-quiz {
  border-color: var(--border);
  border-radius: 22px;
  background: #fff;
}
.md-home-main .md-home-price-quiz__options button {
  min-height: 48px;
  border-color: var(--border);
  border-radius: 14px;
  font-family: var(--font-body);
  color: var(--brand-blue);
  background: var(--surface);
}
.md-home-main .md-home-price-quiz__options button.is-active {
  color: #fff;
  background: var(--brand-blue);
  border-color: var(--brand-blue);
}
.md-home-main .md-home-price-quiz__cta {
  box-sizing: border-box;
  min-height: 48px;
  padding: 12px 16px;
  border-radius: 14px;
  /* The legacy quiz stylesheet sets its link colour !important. */
  color: #fff !important;
  background: var(--brand-blue);
}
.md-home-main :is(.md-purchase-flow__card, .md-home-opt__form) { border-radius: 22px; }
/* Existing DS buttons render spans with role=button and inline geometry. */
.md-home-main :is(.md-home-opt__form-row, .md-purchase-flow__card) [role='button'] {
  min-height: 48px !important;
  border-radius: 14px !important;
}
.md-home-main .md-home-opt__form-row [role='button'] { background: var(--brand-blue) !important; color: #fff !important; }
.md-home-main .md-purchase-flow__card [role='button'] { background: var(--surface) !important; color: var(--brand-blue) !important; }
.md-home-main .md-home-opt__form-row input[type='email'] { border-radius: 14px !important; font-size: 16px !important; }

.md-home-main .home-news-feed {
  --home-feed-ink: #192a45;
  --home-feed-muted: #586578;
  --home-feed-line: #e0e5e9;
  --home-feed-blue: #1c347a;
  font-family: var(--font-body);
}
.md-home-main .home-news-feed :is(.post-card__title, .home-news-feed__eyebrow) {
  font-family: var(--font-body);
}
.md-home-main .home-news-feed .post-card { border-radius: 16px; }
.md-home-main .home-news-feed .post-card__title {
  font-size: clamp(16px, 1.3vw, 24px);
  font-weight: 700;
  line-height: 1.3;
}
.md-home-main .home-news-feed .post-card__text { font-size: 14px; line-height: 1.6; }
.md-home-main .home-news-feed__all {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 48px;
  padding: 10px 14px;
  border-radius: 14px;
  color: var(--brand-blue);
  background: var(--surface);
}

/* The quiz keeps its steps, controls, contact boundary and handlers. */
.md-home-main .lt-quiz-section { background: var(--paper); }
.md-home-main .lt-quiz-section__inner {
  width: 100%;
  box-sizing: border-box;
  border-color: var(--border);
  border-radius: 22px;
  box-shadow: none;
}
.md-home-main .lt-fabric-quiz { border-color: var(--border); border-radius: 16px; background: var(--surface); }
.md-home-main .lt-fabric-quiz h3 { font: 700 clamp(22px, 1.8vw, 30px)/1.25 var(--font-body); }
.md-home-main .lt-fabric-quiz__options button {
  min-height: 54px;
  border-color: var(--border);
  border-radius: 14px;
  font-family: var(--font-body);
  color: var(--ink);
}
.md-home-main .lt-fabric-quiz__head button { min-height: 48px; border-radius: 14px; }
.md-home-main .lt-fabric-quiz__contact-form :is(input[type='text'], input[type='email'], input[type='tel']) {
  min-height: 48px;
  border-radius: 14px;
  font-family: var(--font-body);
}
.md-home-main .lt-fabric-quiz__submit { border-radius: 14px; }

@media (max-width: 560px) {
  .md-home-main .home-news-feed__head { flex-wrap: wrap; gap: 12px; }
  .md-home-main .home-news-feed__all { padding: 10px 14px; }
  .md-home-main .home-news-feed .post-card__text { font-size: 13px; }
}
@media (max-width: 480px) {
  /* Room for the 32px heading, catalog CTA and separate 44px video controls. */
  .md-home-main .md-hero-band--centered { height: 280px; min-height: 280px; }
  .md-home-main .md-hero-video__ui { top: 8px; right: 8px; bottom: auto; }
}
