
/* =========================================================
   Polaris Wall index alignment layer
   Purpose: match the 10th new-products index mood while keeping
   Polaris Wall's section structure and scroll behavior intact.
   Load this after new-products.css and new-products-unified.css.
   ========================================================= */

body.page-polaris {
  --pw-heading-1: 56px;
  --pw-heading-2: 30px;
  --pw-heading-3: 20px;
  --pw-body: 16px;
  --pw-small: 13px;
  --pw-section-y: 72px;
  --pw-section-y-sp: 52px;
  background: #000;
  color: #fff;
}

body.page-polaris * {
  box-sizing: border-box;
}

body.page-polaris .wrap,
body.page-polaris .hero-inner {
  max-width: 1200px;
  padding-left: 10px;
  padding-right: 10px;
}

body.page-polaris .section-pad,
body.page-polaris .wall-scroll,
body.page-polaris .closing {
  padding-top: var(--pw-section-y);
  padding-bottom: var(--pw-section-y);
}

body.page-polaris #problem {
  padding-top: var(--pw-section-y);
}

body.page-polaris .hero {
  min-height: auto;
  padding-top: 0;
  padding-bottom: 0;
  background: #000;
}

body.page-polaris .hero::before,
body.page-polaris .hero::after {
  display: none !important;
}

body.page-polaris .hero-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 40px;
  margin: 0 auto;
  width: 100%;
}

body.page-polaris .hero h1,
body.page-polaris h1 {
  font-size: var(--pw-heading-1);
  line-height: 1.18;
  letter-spacing: .04em;
  margin: 0;
  font-weight: 900;
}

body.page-polaris h2,
body.page-polaris .section-head h2,
body.page-polaris .approach-text h2,
body.page-polaris .step h2,
body.page-polaris .closing h2 {
  font-size: var(--pw-heading-2);
  line-height: 1.45;
  letter-spacing: .04em;
  margin-top: 0;
  font-weight: 900;
}

body.page-polaris h3,
body.page-polaris .cap-card h3,
body.page-polaris .module-card h3,
body.page-polaris .product h3,
body.page-polaris .notice-grid h3,
body.page-polaris .visual-label h3 {
  font-size: var(--pw-heading-3);
  line-height: 1.55;
  letter-spacing: .03em;
  font-weight: 800;
}

body.page-polaris p,
body.page-polaris .lead,
body.page-polaris .hero p,
body.page-polaris .approach-text p,
body.page-polaris .step p,
body.page-polaris .closing p,
body.page-polaris .cap-card p,
body.page-polaris .module-card p,
body.page-polaris .product p,
body.page-polaris .notice-grid p {
  font-size: var(--pw-body);
  line-height: 1.9;
  letter-spacing: .02em;
}

body.page-polaris .label,
body.page-polaris .num,
body.page-polaris .chip,
body.page-polaris .feature,
body.page-polaris .meta,
body.page-polaris .ind,
body.page-polaris footer {
  font-size: var(--pw-small);
}

body.page-polaris .lead {
  margin-top: 22px;
}

body.page-polaris .image-board,
body.page-polaris .cap-card,
body.page-polaris .approach-box,
body.page-polaris .approach-img img,
body.page-polaris .sticky-visual,
body.page-polaris .feature,
body.page-polaris .module-card,
body.page-polaris .notice-box {
  border-radius: 0 !important;
}

body.page-polaris .image-board,
body.page-polaris .approach-box,
body.page-polaris .sticky-visual,
body.page-polaris .module-card,
body.page-polaris .product,
body.page-polaris .notice-box,
body.page-polaris .cap-card,
body.page-polaris .feature {
  box-shadow: none !important;
}

body.page-polaris .image-board {
  margin-top: 34px;
}

body.page-polaris .board-caption,
body.page-polaris .approach-text,
body.page-polaris .module-card,
body.page-polaris .product,
body.page-polaris .notice-box,
body.page-polaris .cap-card {
  padding: 22px;
}

body.page-polaris .approach-img {
  padding: 0;
  min-height: auto;
}

body.page-polaris .approach-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.page-polaris .step {
  min-height: 64svh;
  padding-top: 34px;
  padding-bottom: 24px;
}


body.page-polaris footer {
  padding: 20px 28px;
}

@media (max-width: 900px) {
  body.page-polaris {
    --pw-heading-1: 30px;
    --pw-heading-2: 24px;
    --pw-heading-3: 18px;
    --pw-body: 15px;
  }

  body.page-polaris .wrap,
  body.page-polaris .hero-inner {
    padding-left: 18px;
    padding-right: 18px;
  }

  body.page-polaris .section-pad,
  body.page-polaris .wall-scroll,
  body.page-polaris .closing {
    padding-top: var(--pw-section-y-sp);
    padding-bottom: var(--pw-section-y-sp);
  }

  body.page-polaris #problem {
    padding-top: var(--pw-section-y-sp);
  }

  body.page-polaris .hero-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  body.page-polaris .hero {
    min-height: auto;
  }

  body.page-polaris .hero p,
  body.page-polaris .lead {
    line-height: 1.85;
  }

  body.page-polaris .board-caption,
  body.page-polaris .approach-box,
  body.page-polaris .notice-grid,
  body.page-polaris .product-grid,
  body.page-polaris .module-cards,
  body.page-polaris .wall-layout {
    grid-template-columns: 1fr;
  }

  body.page-polaris .sticky-visual {
    min-height: 360px;
    height: 420px;
  }

  body.page-polaris footer {
    display: block;
  }
}
