/* ==========================================================================
   型番探偵 — Design tokens & base
   ========================================================================== */

:root {
  --color-primary: #2763b1;
  --color-primary-strong: #16407e;
  --color-heading: #16407e;
  --color-text: #26384a;
  --color-text-secondary: #52677c;
  --color-text-muted: #8a9cac;
  --color-pale-blue: #eef5fa;
  --color-hero-bg: #f1f7fb;
  --color-hero-border: #e3edf3;
  --color-section-bg: #f7fafc;
  --color-accent-gold: #e3a515;
  --color-accent-gold-strong: #bd8110;
  --color-accent-gold-bg: #fffaf0;
  --color-border: #d9e4ec;
  --color-border-strong: #bcd5e8;
  --color-bg: #ffffff;

  --color-success: #238b57;
  --color-success-bg: #ecf8f1;
  --color-warning: #b77900;
  --color-warning-bg: #fff7e3;
  --color-danger: #c74848;
  --color-danger-bg: #fff0f0;

  /* legacy aliases kept so earlier-written views/components keep working */
  --color-caution-bg: var(--color-warning-bg);
  --color-caution-border: var(--color-warning);

  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;

  --shadow-sm: 0 1px 3px rgba(22, 64, 126, 0.06);
  --shadow-md: 0 4px 14px rgba(39, 99, 177, 0.1);

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;

  --font-body: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans",
    "Yu Gothic Medium", "Yu Gothic", "Noto Sans JP", Meiryo, sans-serif;

  --content-width: 1216px;
  --content-width-narrow: 760px;
}

* {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  font-family: var(--font-body);
  color: var(--color-text);
  background: var(--color-bg);
  line-height: 1.7;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
}

main {
  flex: 1 0 auto;
}

img,
svg {
  max-width: 100%;
  display: block;
}

.icon-svg {
  width: 1.2em;
  height: 1.2em;
  flex-shrink: 0;
}

a {
  color: var(--color-primary-strong);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/*
 * Base type scale. Individual components may still adjust size for dense
 * card titles etc, but every h1-h4 starts from a clear, confident step so
 * pages don't read as visually flat. Roughly a 1.35-1.4x ratio per level.
 */
h1 {
  font-size: clamp(1.75rem, 1.4rem + 1.6vw, 2.5rem);
  line-height: 1.3;
  margin: 0 0 var(--space-4);
  font-weight: 800;
  color: var(--color-heading);
  letter-spacing: -0.01em;
}

h2 {
  font-size: clamp(1.4rem, 1.25rem + 0.7vw, 1.75rem);
  line-height: 1.35;
  margin: 0 0 var(--space-3);
  font-weight: 800;
  color: var(--color-heading);
  letter-spacing: -0.005em;
}

h3 {
  font-size: 1.15rem;
  line-height: 1.4;
  margin: 0 0 var(--space-2);
  font-weight: 700;
  color: var(--color-heading);
}

h4 {
  font-size: 1rem;
  line-height: 1.4;
  margin: 0 0 var(--space-2);
  font-weight: 700;
  color: var(--color-heading);
}

p {
  margin: 0 0 var(--space-4);
}

ul,
ol {
  padding-left: 1.4em;
}

:focus-visible {
  outline: 3px solid var(--color-accent-gold);
  outline-offset: 2px;
  border-radius: 4px;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
}

.container {
  max-width: var(--content-width);
  margin: 0 auto;
  padding: 0 var(--space-5);
}

.container--narrow {
  max-width: var(--content-width-narrow);
}

.skip-link {
  position: absolute;
  left: -999px;
  top: 0;
  background: var(--color-primary-strong);
  color: #fff;
  padding: var(--space-2) var(--space-4);
  z-index: 1000;
  border-radius: 0 0 var(--radius-sm) 0;
}

.skip-link:focus {
  left: 0;
}

/* ==========================================================================
   Header / Footer
   ========================================================================== */

.site-header {
  height: 64px;
  padding: 0 max(24px, calc((100% - var(--content-width)) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--color-border);
  background: rgba(255, 255, 255, 0.97);
  position: sticky;
  top: 0;
  z-index: 30;
}

.site-logo {
  display: inline-flex;
  align-items: center;
}

.site-logo img {
  height: 48px;
  width: auto;
}

.site-nav {
  display: flex;
  gap: var(--space-6);
  align-items: center;
  color: var(--color-primary-strong);
  font-size: 0.85rem;
  font-weight: 700;
}

.site-nav a {
  color: inherit;
  padding: 22px 0 20px;
  border-bottom: 2px solid transparent;
  transition: color 0.15s, border-color 0.15s;
}

.site-nav a:hover {
  color: var(--color-primary);
  border-color: var(--color-primary);
  text-decoration: none;
}

.site-nav a[aria-current="page"] {
  border-color: var(--color-primary);
}

.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--color-primary-strong);
  padding: 0;
  cursor: pointer;
}

.nav-toggle__line {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform 0.15s ease, opacity 0.15s ease;
}

.nav-toggle.is-open .nav-toggle__line:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.nav-toggle.is-open .nav-toggle__line:nth-child(2) {
  opacity: 0;
}

.nav-toggle.is-open .nav-toggle__line:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.back-to-top {
  position: relative;
  right: auto;
  bottom: auto;
  margin: 16px max(16px, env(safe-area-inset-right)) 16px auto;
  z-index: 29;
  display: block;
  width: 82px;
  height: 110px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.back-to-top[hidden] {
  display: none !important;
}

.search-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: var(--space-5);
}

.back-to-top:hover {
  transform: translateY(-2px);
}

.back-to-top:focus-visible {
  outline: 3px solid var(--color-primary);
  outline-offset: 3px;
}

.back-to-top__character {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: opacity 0.1s ease;
}

.back-to-top__character--surprised {
  opacity: 0;
}

.back-to-top.is-preparing .back-to-top__character--normal {
  opacity: 0;
}

.back-to-top.is-preparing .back-to-top__character--surprised {
  opacity: 1;
  animation: back-to-top-surprise 0.42s ease-in-out both;
}

.back-to-top-flight {
  position: fixed;
  z-index: 31;
  width: 82px;
  height: 136px;
  pointer-events: none;
  will-change: transform;
}

.back-to-top-flight img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@keyframes back-to-top-surprise {
  0%, 100% { transform: rotate(0deg) scale(1); }
  35% { transform: rotate(-7deg) scale(1.04); }
  70% { transform: rotate(7deg) scale(1.04); }
}

.site-footer {
  padding: var(--space-6) max(24px, calc((100% - var(--content-width)) / 2)) var(--space-5);
  border-top: 1px solid var(--color-border);
  background: var(--color-section-bg);
  margin-top: var(--space-8);
}

.footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.footer-inner .site-logo img {
  height: 42px;
}

.footer-links {
  display: flex;
  gap: var(--space-5);
  flex-wrap: wrap;
  font-size: 0.85rem;
  font-weight: 700;
}

.footer-links a {
  color: var(--color-text-secondary);
}

.footer-links a:hover {
  color: var(--color-primary);
}

.footer-note {
  margin: var(--space-5) 0 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
  font-size: 0.8rem;
  color: var(--color-text-muted);
}

.footer-copyright {
  margin: var(--space-2) 0 0;
  text-align: center;
  font-size: 0.8rem;
  color: var(--color-text-muted);
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: 0.75em 1.5em;
  border-radius: var(--radius-md);
  border: 1px solid transparent;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  min-height: 44px;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.btn-primary {
  background: var(--color-primary);
  color: #fff;
}

.btn-primary:hover {
  background: var(--color-primary-strong);
  text-decoration: none;
  color: #fff;
}

.btn-secondary {
  background: var(--color-bg);
  color: var(--color-primary-strong);
  border-color: var(--color-primary);
}

.btn-secondary:hover {
  background: var(--color-pale-blue);
  text-decoration: none;
}

.btn-ghost {
  background: transparent;
  color: var(--color-text);
  border-color: var(--color-border);
}

.btn-ghost:hover {
  background: var(--color-section-bg);
  text-decoration: none;
}

.btn-block {
  width: 100%;
}

/* ==========================================================================
   Hero / Search
   ========================================================================== */

.hero {
  position: relative;
  background: linear-gradient(90deg, var(--color-hero-bg) 0%, var(--color-hero-bg) 30%, #dcecf8 100%);
  border-bottom: 1px solid var(--color-hero-border);
  overflow: hidden;
}

.hero__background-illustrations {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 43%, rgba(0, 0, 0, 0.35) 58%, #000 76%);
  mask-image: linear-gradient(90deg, transparent 43%, rgba(0, 0, 0, 0.35) 58%, #000 76%);
  pointer-events: none;
}

.hero__background-illustration {
  position: absolute;
  width: min(58vw, 700px);
  height: auto;
  mix-blend-mode: multiply;
  filter: saturate(1.1) contrast(1.08);
  pointer-events: none;
}

.hero__background-illustration--combined {
  top: -105px;
  right: -35px;
  width: min(80vw, 1080px);
  opacity: 0.50;
}

.hero__background-illustration--bulb {
  clip-path: inset(40% 8% 16% 64%);
  opacity: 0.34;
}

.hero__background-illustration--aircon {
  clip-path: inset(8% 55% 49% 5%);
  opacity: 0.28;
}

.hero__background-illustration--plug {
  clip-path: inset(46% 47% 7% 24%);
  opacity: 0.28;
}

.hero__grid {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  align-items: end;
  max-width: 980px;
  padding: 56px 0 0;
}

.hero__copy {
  max-width: 590px;
  padding-bottom: 58px;
  text-align: left;
}

.hero__eyebrow {
  display: block;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 0.03em;
  margin-bottom: var(--space-2);
}

.hero h1 {
  font-size: clamp(2.1rem, 1.6rem + 2.4vw, 3.1rem);
  line-height: 1.25;
  margin-bottom: var(--space-3);
  color: var(--color-heading);
  letter-spacing: -0.01em;
}

.hero p.lead {
  font-size: 0.95rem;
  line-height: 1.85;
  color: var(--color-text);
  font-weight: 500;
  max-width: 500px;
  margin: 0;
}

.hero__lead span {
  white-space: nowrap;
}

.hero__visual {
  position: absolute;
  right: 100px;
  bottom: -45px;
  z-index: 3;
  width: 342px;
  pointer-events: none;
}

.hero__character {
  display: block;
  width: min(100%, 342px);
  height: auto;
  margin: 0 auto;
}

.search-panel {
  position: relative;
  z-index: 2;
  max-width: 1080px;
  margin: 0 auto;
  padding-top: 0;
  padding-bottom: var(--space-5);
}

.search-panel .search-form {
  position: relative;
  z-index: 2;
}

.search-form {
  display: flex;
}

/* One unified, integrated control: icon + input + submit button all inside
   a single bordered box. overflow:hidden clips the button's square corners
   to the box's own border-radius, so the button reads as part of the box
   rather than a separate element floating next to it. */
.search-input-box {
  position: relative;
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: stretch;
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.search-form__field {
  position: relative;
  display: flex;
  flex: 1;
  min-width: 0;
}

.search-panel > .search-form .search-input-box {
  position: relative;
  margin-top: -1px;
  box-shadow: 0 3px 14px rgba(39, 99, 177, 0.1);
}

.search-form input[type="search"],
.search-form input[type="text"] {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  font-size: 1rem;
  padding: 0 var(--space-2);
  background: transparent;
}

/* Use the shared clear button consistently. Safari/Chrome add a native
   cancel control to search inputs, which would otherwise create two × icons. */
.search-form input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

.search-form .icon-svg,
.search-form__icon {
  align-self: center;
  flex-shrink: 0;
  margin-left: var(--space-4);
  color: var(--color-text-secondary);
  width: 1.2em;
  height: 1.2em;
}

.search-form__clear {
  align-self: center;
}

.search-form__submit {
  flex-shrink: 0;
  white-space: nowrap;
  height: auto;
  min-height: 0;
  /* Square on the side that meets the input, rounded to match the box's
     own outer corner on the other - reads as one piece without needing
     overflow:hidden (which would also clip the focus-visible ring). */
  border-radius: 0 calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0;
  border: none;
  margin: -1px;
}

/* Hero: a wide, pill-shaped search control with the submit action integrated
   into its right end. */
.search-form--hero .search-input-box {
  height: 62px;
  border-radius: 999px;
  border-width: 3px;
  border-color: #9fc1dd;
  box-shadow: 0 2px 6px rgba(39, 99, 177, 0.05);
}

.search-form--hero input[type="search"] {
  font-size: 1.05rem;
  padding-left: var(--space-2);
}

.search-form--hero .search-form__submit {
  min-width: 158px;
  padding: 0 var(--space-5);
  font-size: 1rem;
  border-radius: 0 999px 999px 0;
}

/* Compact: box ~54px tall (90% of the original ~60px) */
.search-form--compact {
  max-width: 640px;
}

.search-form--compact .search-input-box {
  height: 54px;
  border-radius: var(--radius-md);
}

.search-form--compact input[type="search"] {
  font-size: 1rem;
}

.search-form--compact .search-form__submit {
  padding: 0 var(--space-5);
  border-radius: 0 calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px) 0;
}

/* オートコンプリート候補ドロップダウン。既存の.search-input-box(position:relative)
   に対して絶対配置し、既存トークン(色/角丸/影/余白)のみで構成する。 */
.search-suggest {
  position: absolute;
  top: calc(100% + var(--space-1));
  left: 0;
  right: 0;
  margin: 0;
  padding: var(--space-1) 0;
  list-style: none;
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  max-height: 320px;
  overflow-y: auto;
  z-index: 20;
}

.search-suggest[hidden] {
  display: none;
}

.search-suggest__link {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: var(--space-2) var(--space-4);
  color: inherit;
  text-decoration: none;
}

.search-suggest__link:hover,
.search-suggest__link:focus-visible,
.search-suggest__link.is-active {
  background: var(--color-pale-blue);
  outline: none;
}

.search-suggest__model {
  font-weight: 700;
  font-size: 0.95rem;
}

.search-suggest__meta {
  font-size: 0.8rem;
  color: var(--color-text-secondary);
}

.search-form__clear {
  border: none;
  background: transparent;
  color: var(--color-text-secondary);
  font-size: 1.2rem;
  padding: 0 var(--space-2);
  cursor: pointer;
  line-height: 1;
}

.search-example {
  margin-top: var(--space-3);
  font-size: 0.9rem;
  color: var(--color-text-secondary);
}

.search-example code {
  background: var(--color-pale-blue);
  padding: 0.1em 0.5em;
  border-radius: 4px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.hero__note {
  margin-top: var(--space-4);
  font-size: 0.88rem;
  color: var(--color-text-secondary);
  display: flex;
  align-items: center;
  gap: 0.4em;
}

.hero__note .icon-svg {
  color: var(--color-success);
}

/* ==========================================================================
   Sections / Cards
   ========================================================================== */

.section {
  padding: var(--space-7) 0;
}

.section--alt {
  background: var(--color-section-bg);
}

.section-heading {
  text-align: center;
  max-width: 640px;
  margin: 0 auto var(--space-7);
}

.section-heading p {
  color: var(--color-text-secondary);
  margin-bottom: 0;
}

.section-heading--row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-4);
  text-align: left;
  max-width: none;
}

.section-heading--row h2 {
  margin-bottom: 0;
}

.card {
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
  box-shadow: var(--shadow-sm);
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}

/* ==========================================================================
   Feature grid (home)
   ========================================================================== */

.features-section {
  padding-top: var(--space-7);
  padding-bottom: var(--space-7);
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-5);
}

.feature-card {
  text-align: center;
  padding: var(--space-5) var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}

.feature-card:hover {
  border-color: #9fc2e1;
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

.icon-disc {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin: 0 auto var(--space-3);
  border-radius: 50%;
  background: transparent;
  color: var(--color-primary);
}

.icon-disc .icon-svg {
  width: 24px;
  height: 24px;
}

.icon-disc img {
  width: 60px;
  height: 60px;
}

.feature-card h3 {
  font-size: 1.05rem;
  margin-bottom: var(--space-2);
}

.feature-card p {
  color: var(--color-text-secondary);
  font-size: 0.85rem;
  line-height: 1.7;
  margin-bottom: 0;
}

/* ==========================================================================
   Steps (home)
   ========================================================================== */

.steps-section {
  padding-top: var(--space-7);
  padding-bottom: var(--space-5);
}

.section-heading--center {
  text-align: center;
  max-width: none;
}

.section-heading--center em {
  font-style: normal;
  color: var(--color-accent-gold);
  font-size: 1.3em;
}

.steps-card {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
  padding: var(--space-7);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
}

.step-item {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--space-4);
  position: relative;
  padding-right: var(--space-6);
}

.step-number {
  align-self: flex-start;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--color-accent-gold);
  color: #fff;
  font-size: 1.15rem;
  font-weight: 800;
}

.step-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: transparent;
  color: var(--color-primary);
}

.step-icon .icon-svg {
  width: 48px;
  height: 48px;
}

.step-item h3 {
  font-size: 1.05rem;
  margin-bottom: var(--space-1);
}

.step-item p {
  margin: 0;
  font-size: 0.83rem;
  line-height: 1.7;
  color: var(--color-text-secondary);
}

.step-arrow {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-border-strong);
  width: 24px;
  height: 24px;
}

@media (max-width: 900px) {
  .steps-card {
    grid-template-columns: 1fr;
    padding: var(--space-5);
  }

  .step-item {
    padding-right: 0;
    padding-bottom: var(--space-4);
  }

  .step-arrow {
    right: auto;
    left: 27px;
    top: auto;
    bottom: -4px;
    transform: rotate(90deg);
  }
}

/* ==========================================================================
   Badges / conclusion banner
   ========================================================================== */

.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0.25em 0.7em;
  border-radius: 999px;
  border: 1px solid var(--color-border);
  background: var(--color-section-bg);
  color: var(--color-text-secondary);
}

.badge--gold {
  background: #fbf1dc;
  border-color: var(--color-accent-gold);
  color: #8a6412;
}

.badge--success {
  background: var(--color-success-bg);
  border-color: var(--color-success);
  color: var(--color-success);
}

.badge--caution {
  background: var(--color-warning-bg);
  border-color: var(--color-warning);
  color: var(--color-warning);
}

.badge--primary {
  background: var(--color-pale-blue);
  border-color: var(--color-primary);
  color: var(--color-primary-strong);
}

.conclusion-banner {
  display: flex;
  gap: var(--space-4);
  align-items: flex-start;
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  background: var(--color-pale-blue);
  margin-bottom: var(--space-5);
}

.conclusion-banner__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  background: #fff;
  border: 1px solid var(--color-border);
}

.conclusion-banner h2 {
  margin-bottom: var(--space-1);
  font-size: 1.4rem;
}

.conclusion-banner p {
  margin-bottom: 0;
  color: var(--color-text-secondary);
}

.conclusion-banner--caution {
  background: var(--color-caution-bg);
  border-color: var(--color-caution-border);
}

.conclusion-banner--unknown {
  background: var(--color-section-bg);
}

/* ==========================================================================
   Result page layout (main + sidebar)
   ========================================================================== */

.result-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: var(--space-6);
  align-items: start;
}

.request-layout {
  grid-template-columns: 1fr 320px;
}

.result-sidebar {
  position: sticky;
  top: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.info-card {
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
}

.info-card--accent {
  background: var(--color-pale-blue);
  border-color: var(--color-border);
  text-align: center;
}

.info-card--accent img {
  width: 72px;
  margin: 0 auto var(--space-3);
}

.info-card h3 {
  font-size: 1rem;
  margin-bottom: var(--space-2);
}

.info-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  font-size: 0.85rem;
  color: var(--color-text-secondary);
}

.info-card__feature-list li {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: start;
  column-gap: var(--space-2);
}

.info-card__feature-icon,
.notice-box__icon {
  display: flex;
  align-items: flex-start;
  padding-top: 0.22em;
  color: var(--color-primary);
}

.info-card__feature-icon .icon-svg,
.notice-box__icon .icon-svg {
  width: 1.5em;
  height: 1.5em;
}

/* ==========================================================================
   Category / popular search (home)
   ========================================================================== */

.category-section {
  padding-top: var(--space-6);
  padding-bottom: var(--space-7);
}

.category-section__mascot {
  display: block;
  margin: 0 auto var(--space-4);
  width: 109px;
}

.category-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-5);
}

.category-tile {
  text-align: center;
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-6) var(--space-4);
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}

.category-tile:hover {
  border-color: var(--color-border-strong);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

.category-tile__icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin: 0 auto var(--space-4);
  border-radius: 50%;
  background: var(--color-section-bg);
  color: var(--color-text-muted);
}

.category-tile__icon .icon-svg {
  width: 28px;
  height: 28px;
}

.category-tile__icon img {
  width: 36px;
  height: 36px;
}

.category-tile h3 {
  font-size: 1.02rem;
  margin-bottom: var(--space-3);
}

.category-tile--active {
  background: var(--color-hero-bg);
  border-color: var(--color-primary);
}

.category-tile--active .category-tile__icon {
  background: #fff;
  color: var(--color-primary);
  box-shadow: var(--shadow-sm);
}

.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  width: fit-content;
  padding: 0.3em 0.85em;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
}

.status-badge .icon-svg {
  width: 0.9em;
  height: 0.9em;
}

.status-badge.blue {
  color: var(--color-primary);
  background: #fff;
}

.status-badge.gold {
  color: var(--color-accent-gold-strong);
  background: var(--color-accent-gold-bg);
}

.status-badge.gray {
  color: var(--color-text-muted);
  background: var(--color-section-bg);
}

.category-note {
  text-align: center;
  color: var(--color-text-secondary);
  font-size: 0.85rem;
  margin: var(--space-5) 0 0;
}

@media (max-width: 900px) {
  .category-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .category-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ==========================================================================
   Popular models (home)
   ========================================================================== */

.models-section,
.guides-section,
.trust-section {
  padding-top: var(--space-7);
  padding-bottom: var(--space-7);
}

.trust-section {
  padding-top: var(--space-5);
}

.request-section {
  padding-top: var(--space-8);
  padding-bottom: var(--space-8);
}

.model-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
}

.model-card {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-4);
  min-width: 0;
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  color: inherit;
  transition: border-color 0.15s, background-color 0.15s;
}

.model-card:hover {
  border-color: #9fc2e1;
  background: var(--color-hero-bg);
  text-decoration: none;
}

.model-visual {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  border-radius: var(--radius-md);
  background: var(--color-section-bg);
  color: var(--color-text-muted);
}

.model-visual .icon-svg {
  width: 28px;
  height: 28px;
}

.model-card h3 {
  margin: 0 0 var(--space-1);
  font-size: 1.1rem;
  letter-spacing: 0.01em;
}

.model-card__content {
  min-width: 0;
}

.model-card__name,
.model-card__manufacturer {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 0.78rem;
}

.model-card__manufacturer {
  margin-top: 2px;
  color: var(--color-text-muted);
}

.model-card .badge {
  margin-top: var(--space-2);
}

/* ==========================================================================
   Guide preview (home)
   ========================================================================== */

.guide-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}

.guide-card {
  display: block;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  color: inherit;
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}

.guide-card:hover {
  border-color: #9fc2e1;
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
  text-decoration: none;
}

.guide-thumb {
  display: grid;
  place-items: center;
  aspect-ratio: 16/9;
  color: #fff;
  background: var(--color-primary);
}

.guide-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.guide-thumb .icon-svg {
  width: 36px;
  height: 36px;
}

.guide-content {
  padding: var(--space-4);
}

.category-tag {
  display: inline-block;
  padding: 0.15em 0.6em;
  background: var(--color-pale-blue);
  color: var(--color-primary);
  font-size: 0.7rem;
  font-weight: 700;
  border-radius: var(--radius-sm);
}

.guide-card h3 {
  margin: var(--space-2) 0 var(--space-2);
  font-size: 1.05rem;
  line-height: 1.5;
}

.guide-card p {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 0.82rem;
  line-height: 1.65;
}

.guide-card__date {
  display: block;
  margin-top: var(--space-3);
  color: var(--color-text-muted);
  font-size: 0.72rem;
}

/* ==========================================================================
   Trust row + request CTA (home)
   ========================================================================== */

.trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}

.trust-card {
  display: flex;
  gap: var(--space-4);
  align-items: center;
  padding: var(--space-5) var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
}

.trust-card .icon-svg {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  color: var(--color-primary);
}

.trust-card__icon {
  flex-shrink: 0;
  width: 54px;
  height: 54px;
}

.trust-card h3 {
  margin: 0 0 var(--space-1);
  font-size: 1.05rem;
}

.trust-card p {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 0.82rem;
  line-height: 1.7;
}

.request-card {
  display: grid;
  grid-template-columns: 100px 1fr auto;
  gap: var(--space-5);
  align-items: center;
  padding: var(--space-5);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-lg);
  background: var(--color-hero-bg);
}

.request-card img {
  justify-self: center;
  width: 72px;
}

.request-card h2 {
  margin: 0 0 var(--space-1);
  font-size: 1.3rem;
}

.request-card p {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 0.85rem;
}

.primary-button {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  white-space: nowrap;
  height: 44px;
  padding: 0 var(--space-5);
  border: 0;
  border-radius: var(--radius-md);
  background: var(--color-primary);
  color: #fff;
  font-size: 0.9rem;
  font-weight: 700;
  transition: background 0.15s, transform 0.15s;
}

.primary-button:hover {
  background: var(--color-primary-strong);
  transform: translateY(-1px);
  color: #fff;
  text-decoration: none;
}

.section-action {
  display: inline-flex;
  align-items: center;
  gap: 0.2em;
  color: var(--color-primary);
  font-size: 0.82rem;
  font-weight: 700;
}

.section-action:hover {
  color: var(--color-primary-strong);
}

@media (max-width: 800px) {
  .model-grid,
  .guide-grid,
  .trust-grid {
    grid-template-columns: 1fr 1fr;
  }

  .guide-grid {
    grid-template-columns: 1fr;
  }

  .request-card {
    grid-template-columns: 64px 1fr;
  }

  .request-card .primary-button {
    grid-column: 1 / -1;
    justify-content: center;
  }
}

@media (max-width: 500px) {
  .model-grid,
  .trust-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   Search results
   ========================================================================== */

.result-product {
  display: flex;
  gap: var(--space-4);
  align-items: center;
  padding: var(--space-4) var(--space-5);
  background: var(--color-section-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-5);
}

.result-product__meta {
  color: var(--color-text-secondary);
  font-size: 0.9rem;
}

.candidate {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
  margin-bottom: var(--space-4);
  background: var(--color-bg);
}

.candidate--primary {
  border: 2px solid var(--color-primary);
  box-shadow: var(--shadow-md);
  position: relative;
  padding-top: calc(var(--space-5) + 10px);
}

.candidate__ribbon {
  position: absolute;
  top: -12px;
  left: var(--space-4);
  background: var(--color-accent-gold);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.3em 0.9em;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  box-shadow: var(--shadow-sm);
}

.candidate__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: var(--space-2);
  overflow-wrap: anywhere;
}

.candidate__badges {
  display: flex;
  align-items: center;
  margin-top: 4px;
  margin-bottom: 8px;
}

.candidate__badges .badge,
.model-offer-card__badges .badge {
  font-size: 0.72rem;
  line-height: 1.35;
  padding: 0.15em 0.55em;
}

.model-offer-card {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.model-offer-card__details {
  flex: 1 1 auto;
  min-width: 0;
}

.model-offer-card__badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  margin-bottom: 8px;
}

.model-offer-card__model {
  display: block;
  font-size: 1.3rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.model-offer-card__actions {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: var(--space-3);
  margin-left: auto;
}

.model-offer-card__actions form {
  margin: 0;
}

.model-offer-card__actions .btn {
  white-space: nowrap;
}

@media (max-width: 760px) {
  .model-offer-card {
    flex-direction: column;
    align-items: stretch;
  }

  .model-offer-card__actions {
    width: 100%;
    margin-left: 0;
  }

  .model-offer-card__actions > .btn,
  .model-offer-card__actions form {
    flex: 1 1 0;
  }

  .model-offer-card__actions form .btn {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .model-offer-card__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .model-offer-card__actions > .btn,
  .model-offer-card__actions form {
    width: 100%;
  }
}

.candidate__row {
  display: flex;
  gap: var(--space-3);
  flex-wrap: wrap;
  margin-bottom: var(--space-3);
}

/* Product-detail icon, source-link and feedback alignment. */
.model-section-heading,
.model-inline-icon-text {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.model-source-link,
.model-trailing-icon-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

.model-section-heading .icon-svg,
.model-inline-icon-text .icon-svg,
.model-source-link .icon-svg,
.model-trailing-icon-link .icon-svg {
  flex: 0 0 auto;
}

.model-section-heading > span,
.model-inline-icon-text > span,
.model-source-link > span,
.model-trailing-icon-link > span {
  min-width: 0;
}

.model-section-heading .icon-svg {
  width: 1.15em;
  height: 1.15em;
}

.model-source-link,
.model-trailing-icon-link {
  vertical-align: middle;
  max-width: 100%;
}

.model-source-link .icon-svg,
.model-trailing-icon-link .icon-svg {
  width: 1em;
  height: 1em;
}

.model-source-link > span,
.model-trailing-icon-link > span {
  overflow-wrap: anywhere;
}

.candidate__official-info {
  margin-top: var(--space-2);
}

.candidate__compare-action {
  display: flex;
  justify-content: flex-end;
  margin-top: var(--space-3);
}

.model-feedback-controls,
.model-feedback-options {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.model-feedback-controls {
  margin-bottom: var(--space-3);
}

.model-feedback-submit {
  flex: 0 0 auto;
  margin-left: auto;
}

.model-feedback-options label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 44px;
  padding: 0 var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  cursor: pointer;
}

.model-feedback-options label:has(input:checked) {
  border-color: var(--color-primary);
  background: var(--color-section-bg);
  color: var(--color-primary-strong);
  font-weight: 700;
}

.model-feedback-submit:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.model-info-list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  column-gap: var(--space-2);
}

.model-info-list__icon {
  display: flex;
  align-items: center;
  min-height: 1.7em;
  color: var(--color-primary);
}

.model-info-list__icon .icon-svg {
  flex: 0 0 auto;
}

.spec-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}

.spec-table th,
.spec-table td {
  text-align: left;
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--color-border);
  vertical-align: top;
}

.spec-table th {
  color: var(--color-text-secondary);
  font-weight: 600;
  width: 32%;
}

.spec-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.spec-cards {
  display: none;
}

.evidence-item {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-4);
  margin-bottom: var(--space-3);
  background: var(--color-bg);
}

.evidence-item__label {
  font-size: 0.78rem;
  color: var(--color-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: var(--space-1);
}

.safety-block {
  background: var(--color-caution-bg);
  border: 1px solid var(--color-caution-border);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
  margin-bottom: var(--space-5);
}

.safety-block h2 {
  font-size: 1.3rem;
}

.safety-list {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--space-3);
}

.safety-list li {
  display: flex;
  gap: var(--space-2);
  align-items: flex-start;
  margin-bottom: var(--space-2);
  font-weight: 600;
}

.safety-list li::before {
  content: "!";
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--color-accent-gold);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

details.safety-details {
  border: 1px solid var(--color-accent-gold);
  border-radius: var(--radius-md);
  background: #fff;
  padding: var(--space-3) var(--space-4);
}

details.safety-details summary {
  cursor: pointer;
  font-weight: 600;
  list-style: none;
}

details.safety-details summary::-webkit-details-marker {
  display: none;
}

details.safety-details summary::before {
  content: "▸ ";
  color: var(--color-accent-gold-strong);
}

details.safety-details[open] summary::before {
  content: "▾ ";
}

.request-faq details.safety-details summary {
  font-size: 0.94rem;
}

.request-faq details.safety-details summary::before {
  display: inline-block;
  margin-right: 6px;
  font-size: 1.5em;
  line-height: 0.65;
  vertical-align: -0.12em;
}

.request-faq .faq-answer {
  overflow: hidden;
}

.request-faq details.safety-details p {
  margin: var(--space-2) 0 0;
  font-size: 0.9rem;
  line-height: 1.8;
}

.notice-box {
  border: 1px dashed var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-4);
  background: var(--color-section-bg);
  color: var(--color-text-secondary);
  font-size: 0.92rem;
}

.notice-box--with-icon {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: start;
  column-gap: var(--space-2);
}

.submit-confirm-dialog {
  width: min(560px, calc(100% - 32px));
  max-height: min(720px, calc(100vh - 32px));
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  color: var(--color-text);
}

.submit-confirm-dialog::backdrop {
  background: rgba(19, 45, 78, 0.42);
}

.submit-confirm-dialog__panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-height: calc(100vh - 32px);
  margin: 0;
  padding: var(--space-6);
  overflow-y: auto;
}

.submit-confirm-dialog h2 {
  margin: 0;
  color: var(--color-heading);
  font-size: 1.25rem;
}

.submit-confirm-dialog__panel > p {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 0.92rem;
}

.submit-confirm-dialog__values {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 1px;
  max-height: 260px;
  margin: 0;
  overflow: auto;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-border);
}

.submit-confirm-dialog__values dt,
.submit-confirm-dialog__values dd {
  min-width: 0;
  margin: 0;
  padding: var(--space-3);
  background: var(--color-bg);
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}

.submit-confirm-dialog__values dt {
  color: var(--color-text-secondary);
  font-weight: 700;
}

.submit-confirm-dialog__actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-3);
  margin-top: var(--space-2);
}

/* ==========================================================================
   Energy calculator
   ========================================================================== */

.calc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-5);
}

.form-field {
  margin-bottom: var(--space-4);
}

.form-field label {
  display: block;
  font-weight: 600;
  margin-bottom: var(--space-1);
  font-size: 0.92rem;
}

.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  padding: var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: #fff;
}

.form-field .hint {
  font-size: 0.82rem;
  color: var(--color-text-secondary);
  margin-top: var(--space-1);
}

.calc-result {
  background: var(--color-pale-blue);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
}

.calc-result dl {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--space-2) var(--space-4);
  margin: 0;
}

.calc-result dt {
  color: var(--color-text-secondary);
}

.calc-result dd {
  margin: 0;
  font-weight: 700;
  text-align: right;
}

/* ==========================================================================
   Empty / unregistered states
   ========================================================================== */

.empty-state {
  text-align: center;
  padding: var(--space-7) var(--space-5);
  background: var(--color-section-bg);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
}

.empty-state img {
  width: 140px;
  margin: 0 auto var(--space-4);
}

.empty-state h2 {
  font-size: 1.4rem;
}

.empty-state p {
  color: var(--color-text-secondary);
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

.unregistered-page {
  padding-top: var(--space-4);
}

.unregistered-status {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: var(--space-7);
  padding: var(--space-6) var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-section-bg);
  text-align: center;
}

.unregistered-status > img {
  width: 116px;
  height: 116px;
  margin-bottom: var(--space-4);
  object-fit: contain;
}

.unregistered-status__copy {
  max-width: 620px;
}

.unregistered-status h1 {
  margin-bottom: var(--space-3);
  font-size: 1.4rem;
  line-height: 1.45;
}

.unregistered-status p {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 0.94rem;
  line-height: 1.85;
}

.unregistered-status p + p {
  margin-top: var(--space-2);
}

.unregistered-status .badge {
  font-size: 0.9rem;
  padding: 0.3em 0.8em;
}

.unregistered-request-cta {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-4);
  margin-top: var(--space-7);
  padding: var(--space-4) var(--space-5);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-lg);
  background: var(--color-hero-bg);
  color: inherit;
}

.unregistered-request-cta:hover {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-sm);
  text-decoration: none;
}

.unregistered-request-cta > img {
  width: 72px;
  max-height: 72px;
  object-fit: contain;
}

.unregistered-request-cta h2 {
  margin: 0 0 var(--space-1);
  font-size: 1.1rem;
}

.unregistered-request-cta p {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 0.88rem;
}

.unregistered-request-cta .btn {
  white-space: nowrap;
}

.unregistered-help-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-7);
}

.unregistered-help-card {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-3);
  min-height: 116px;
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  color: inherit;
}

.unregistered-help-card:hover {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-sm);
  text-decoration: none;
}

.unregistered-help-card__icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--color-pale-blue);
}

.unregistered-help-card__icon img {
  width: 30px;
  height: 30px;
}

.unregistered-help-card strong,
.unregistered-help-card span > span {
  display: block;
}

.unregistered-help-card strong {
  margin-bottom: var(--space-1);
  color: var(--color-heading);
  font-size: 1rem;
}

.unregistered-help-card span > span {
  color: var(--color-text-secondary);
  font-size: 0.88rem;
  line-height: 1.7;
}

.unregistered-help-card__arrow {
  width: 20px;
  height: 20px;
  color: var(--color-primary);
}

.candidate-list {
  list-style: none;
  padding: 0;
  max-width: 420px;
  margin: var(--space-4) auto;
  text-align: left;
}

.candidate-list li {
  padding: var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  margin-bottom: var(--space-2);
  background: #fff;
}

/* ==========================================================================
   Forms (contact / investigation request)
   ========================================================================== */

.form-card {
  max-width: 640px;
  margin: 0 auto;
}

.form-note {
  font-size: 0.85rem;
  color: var(--color-text-secondary);
}

.form-advisory {
  margin: 0 0 var(--space-4);
}

.form-consent {
  margin-bottom: var(--space-4);
}

.form-consent label {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  margin: 0;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.65;
  cursor: pointer;
}

.form-consent input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0.2em 0 0;
  accent-color: var(--color-primary);
}

.form-consent p {
  margin: var(--space-2) 0 0 26px;
  color: var(--color-text-secondary);
  font-size: 0.84rem;
  line-height: 1.7;
}

.form-errors {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  column-gap: var(--space-2);
  background: var(--color-danger-bg);
  border: 1px solid var(--color-danger);
  color: var(--color-danger);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-4);
}

.form-success {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  column-gap: var(--space-2);
  background: var(--color-success-bg);
  border: 1px solid var(--color-success);
  color: var(--color-success);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-4);
}

.form-message__icon {
  display: flex;
  align-items: flex-start;
  padding-top: 0.2em;
}

.form-message__icon .icon-svg {
  width: 1.15em;
  height: 1.15em;
}

/* ==========================================================================
   Guide / articles
   ========================================================================== */

.article-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}

.article-card {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: #fff;
  display: flex;
  flex-direction: column;
}

.article-card__image {
  aspect-ratio: 16/9;
  background: var(--color-pale-blue);
  overflow: hidden;
}

.article-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-card__body {
  padding: var(--space-4);
  flex: 1;
  display: flex;
  flex-direction: column;
}

.article-card__category {
  font-size: 0.75rem;
  color: var(--color-primary-strong);
  font-weight: 700;
  margin-bottom: var(--space-2);
}

.article-card h3 {
  font-size: 1.08rem;
  margin-bottom: var(--space-2);
}

.article-card__excerpt {
  color: var(--color-text-secondary);
  font-size: 0.9rem;
  flex: 1;
}

.article-body {
  font-size: 1.05rem;
  max-width: var(--content-width-narrow);
}

.article-body h2 {
  margin-top: var(--space-6);
}

.article-body h3 {
  margin-top: var(--space-5);
}

.article-body img {
  border-radius: var(--radius-md);
  margin: var(--space-4) 0;
}

.article-preview-notice {
  margin-bottom:var(--space-4);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-3);
  flex-wrap:wrap;
}

.kt-content-box {
  margin:var(--space-5) 0;
  padding:var(--space-4);
  border:1px solid var(--color-border);
  border-left:4px solid var(--color-primary);
  border-radius:var(--radius-md);
  background:#fff;
}
.kt-content-box__title { margin:0 0 var(--space-2); font-size:1rem; }
.kt-content-box__body > :last-child { margin-bottom:0; }
.kt-content-box--conclusion { background:var(--color-pale-blue); border-left-color:var(--color-primary-strong); }
.kt-content-box--point { background:#f4f9ff; border-left-color:#4a8bc7; }
.kt-content-box--warning { background:#fff9ed; border-left-color:#bf7b14; }
.kt-content-box--memo { background:#f7f8fa; border-left-color:#718096; }

.article-cta {
  background: var(--color-pale-blue);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin: var(--space-6) 0;
}

.article-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: var(--space-6);
  align-items: start;
}

.toc-panel {
  position: sticky;
  top: var(--space-5);
}

@media (max-width: 1023px) {
  .article-layout {
    grid-template-columns: 1fr;
  }

  .toc-panel {
    position: static;
  }
}

.breadcrumb {
  font-size: 0.85rem;
  color: var(--color-text-secondary);
  margin: var(--space-4) auto;
}

.breadcrumb a {
  color: var(--color-text-secondary);
}

.tag-list {
  list-style: none;
  padding: 0;
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
  margin: var(--space-3) 0;
}

.tag-list li {
  background: var(--color-section-bg);
  border: 1px solid var(--color-border);
  border-radius: 999px;
  padding: 0.2em 0.8em;
  font-size: 0.82rem;
  color: var(--color-text-secondary);
}

/* ==========================================================================
   Static / legal pages
   ========================================================================== */

.prose h2 {
  margin: var(--space-7) 0 var(--space-4);
  padding-left: var(--space-3);
  border-left: 3px solid var(--color-primary);
  font-size: clamp(1.2rem, 1.14rem + 0.3vw, 1.35rem);
  line-height: 1.5;
}

.prose h3 {
  margin: var(--space-5) 0 var(--space-3);
  font-size: 1.05rem;
}

.prose > h2:first-child {
  margin-top: 0;
}

#contact-personal-information {
  scroll-margin-top: calc(64px + var(--space-5));
}

.prose p,
.prose ul,
.prose ol {
  margin-bottom: var(--space-5);
  font-size: 0.94rem;
}

.prose ul,
.prose ol {
  line-height: 1.9;
}

.prose .article-cta {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: var(--space-4);
  margin: var(--space-7) 0 0;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  background: var(--color-hero-bg);
}

.prose .article-cta img {
  width: 72px;
  max-width: 72px !important;
}

.prose .article-cta__copy {
  align-self: center;
}

.prose .article-cta__title {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 1.15rem;
  line-height: 1.45;
}

.page-header {
  background: var(--color-section-bg);
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-5) 0;
  margin-bottom: var(--space-6);
  text-align: center;
}

.page-header h1 {
  margin-bottom: var(--space-3);
  font-size: clamp(1.6rem, 1.45rem + 0.6vw, 2rem);
  line-height: 1.35;
}

.page-header p {
  color: var(--color-text-secondary);
  font-size: 0.95rem;
  line-height: 1.75;
  margin-bottom: 0;
}

.content-page {
  padding-top: var(--space-5);
}

.content-page > h1 {
  margin-bottom: var(--space-3);
  font-size: clamp(1.6rem, 1.45rem + 0.6vw, 2rem);
  line-height: 1.35;
  text-align: center;
}

.content-page__lead {
  margin-bottom: var(--space-6);
  color: var(--color-text-secondary);
  font-size: 0.94rem;
  line-height: 1.8;
  text-align: center;
}

.guide-index__header {
  margin: 0 0 var(--space-6);
  border: 0;
  background: transparent;
  padding: 0;
}

/* ==========================================================================
   Error pages
   ========================================================================== */

.error-page {
  text-align: center;
  padding: var(--space-8) var(--space-5);
}

.error-page img {
  width: 160px;
  margin: 0 auto var(--space-5);
}

.error-page h1 {
  font-size: 2rem;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1024px) {
  .container {
    padding: 0 var(--space-4);
  }

  .card-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .article-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .result-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .result-layout > * {
    min-width: 0;
  }

  .result-sidebar {
    position: static;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .result-sidebar .info-card {
    flex: 1 1 240px;
  }

  /* On smaller screens, the desktop sidebar joins the single reading flow:
     introduction, usage notes, form, FAQ, then the support link. */
  .request-layout .request-main,
  .request-layout .request-sidebar {
    display: contents;
  }

  .request-layout .form-success,
  .request-layout .form-errors {
    order: 0;
  }

  .request-layout .request-intro {
    order: 1;
  }

  .request-layout .request-usage {
    order: 2;
  }

  .request-layout .request-form {
    order: 3;
  }

  .request-layout .request-faq {
    order: 4;
  }

  .request-layout .request-help {
    order: 5;
  }

  .request-layout .request-intro,
  .request-layout .request-faq {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }


  .popular-search-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .hero__grid {
    grid-template-columns: minmax(0, 1fr) 240px;
    padding-top: 40px;
  }

  .hero__copy {
    padding-bottom: var(--space-5);
  }

  .hero__visual {
    position: relative;
    right: auto;
    bottom: auto;
    z-index: 1;
    justify-self: center;
    width: 220px;
  }

  .hero__character {
    margin-bottom: -10px;
  }

  .calc-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .submit-confirm-dialog__panel {
    padding: var(--space-5);
  }

  .submit-confirm-dialog__values {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .submit-confirm-dialog__actions {
    flex-direction: column-reverse;
  }

  .submit-confirm-dialog__actions .btn {
    width: 100%;
    justify-content: center;
  }

  .hero__grid {
    display: block;
    padding-top: 40px;
  }

  .hero__background-illustration--combined {
    top: 20px;
    right: -230px;
    width: 680px;
    opacity: 0.16;
  }

  .hero__copy {
    margin: 0 auto;
    padding-bottom: var(--space-3);
    text-align: center;
  }

  .hero p.lead {
    margin: 0 auto;
  }

  .hero__visual {
    width: 140px;
    margin: 0 auto;
  }

  .hero__character {
    margin-bottom: -8px;
  }

  .search-panel {
    padding-top: 0;
  }

  .site-header {
    padding: 0 var(--space-4);
  }

  .site-nav {
    position: fixed;
    top: 64px;
    left: 0;
    right: 0;
    background: var(--color-bg);
    border-bottom: 1px solid var(--color-border);
    flex-direction: column;
    align-items: stretch;
    padding: var(--space-2) var(--space-5) var(--space-4);
    gap: 0;
    display: none;
    z-index: 100;
    box-shadow: var(--shadow-md);
  }

  .site-nav a {
    padding: var(--space-3) 0;
    border-bottom: 1px solid var(--color-pale-blue);
  }

  .site-nav.is-open {
    display: flex;
  }

  .nav-toggle {
    display: inline-flex;
  }

  .back-to-top {
    right: auto;
    bottom: auto;
    width: 68px;
    height: 92px;
  }

  .back-to-top-flight {
    width: 68px;
    height: 112px;
  }

  .card-grid {
    grid-template-columns: 1fr;
  }

  .article-grid {
    grid-template-columns: 1fr;
  }

  .popular-search-grid {
    grid-template-columns: 1fr;
  }

  .feature-grid,
  .category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
  }

  .unregistered-status {
    padding: var(--space-5) var(--space-4);
  }

  .unregistered-request-cta {
    grid-template-columns: 64px minmax(0, 1fr);
    padding: var(--space-4);
  }

  .unregistered-request-cta > img {
    width: 60px;
    max-height: 60px;
  }

  .unregistered-request-cta .btn {
    grid-column: 1 / -1;
    justify-content: center;
  }

  .unregistered-help-grid {
    grid-template-columns: 1fr;
  }

  .prose .article-cta {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .prose .article-cta .btn {
    width: 100%;
    justify-content: center;
  }

  /* On phones, the input and the action are separate stacked controls. */
  .search-input-box {
    flex-direction: column;
    gap: var(--space-3);
    height: auto !important;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .search-form--hero .search-input-box,
  .search-form--compact .search-input-box,
  .search-panel > .search-form .search-input-box {
    margin-top: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .search-form__field {
    min-height: 52px;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
  }

  .search-form input[type="search"] {
    flex-basis: auto;
    height: auto;
  }

  .search-form__clear {
    position: absolute;
    right: var(--space-3);
  }

  .search-form__submit {
    flex: 0 0 52px;
    width: 100%;
    height: 52px !important;
    margin: 0;
    border: none;
    border-radius: var(--radius-md);
  }

  .search-form--hero .search-form__submit,
  .search-form--compact .search-form__submit {
    border-radius: var(--radius-md);
  }

  .spec-table-wrap {
    display: none;
  }

  .spec-cards {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
    min-width: 0;
    max-width: 100%;
  }

  .spec-cards .card {
    padding: var(--space-4);
    min-width: 0;
    max-width: 100%;
  }

  .spec-cards .spec-table {
    table-layout: fixed;
    max-width: 100%;
  }

  .spec-cards .spec-table td {
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .result-product {
    flex-direction: column;
    align-items: flex-start;
  }

  .candidate--primary::before {
    left: var(--space-3);
  }
}
/* Extended Markdown v3 output: fixed, allowlisted visual tokens only. */
/* Product release 20261001: scoped to detail pages; retain reviewed badge/action layout. */
.model-product-header {display:grid;grid-template-columns:192px minmax(0,1fr) auto;align-items:center}
.model-product-header__title {margin:4px 0;font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.3;overflow-wrap:anywhere}
.model-product-image {width:192px;height:144px;object-fit:contain;border:1px solid var(--color-border);border-radius:var(--radius-md);background:white}
.model-offer-card__image {width:128px;height:96px;object-fit:contain;flex:0 0 128px;border-radius:var(--radius-md);background:white}
.model-section-heading--major {margin:var(--space-6) 0 var(--space-4);font-size:1.32rem;line-height:1.4}
.model-detail-page :is(#purchase-options,#spec-compare,#evidence,#safety-details,#energy-calculator,#feedback) {scroll-margin-top:104px}
.candidate__compare-action {display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}
.calc-result dl.calc-result__metrics {display:grid;grid-template-columns:1fr;gap:14px}
.calc-result__metric {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--color-border);font-size:.88rem;align-items:center}
.calc-result__metric dd {white-space:nowrap;color:var(--color-primary-strong)}
@media(max-width:900px){.model-product-header{grid-template-columns:128px minmax(0,1fr)}.model-product-image{width:128px;height:96px}.model-product-header>.badge{grid-column:2}.model-offer-card__image{width:96px;height:72px;flex-basis:96px}}
@media(max-width:580px){.model-product-header{grid-template-columns:96px minmax(0,1fr);padding:16px;gap:12px}.model-product-image{width:96px;height:72px}.model-product-header__title{font-size:1.35rem}.model-floating-control-conflict .back-to-top{display:none}.calc-result{padding:16px}.calc-result__metric{grid-template-columns:minmax(0,1fr);gap:4px}.calc-result__metric dd{text-align:left}.model-offer-card__image{align-self:flex-start}}
.article-featured-image{margin:var(--space-4) 0 0}.article-featured-image img{display:block;width:100%;max-height:640px;object-fit:cover;border-radius:var(--radius-md)}
.ktc .ktc-article-content .ktc-align-left{text-align:left}.ktc .ktc-article-content .ktc-align-center{text-align:center}.ktc .ktc-article-content .ktc-align-right{text-align:right}.ktc .ktc-article-content .ktc-align-justify{text-align:justify}
.ktc .ktc-article-content ul{list-style:disc outside;padding-left:1.65em}.ktc .ktc-article-content ol{list-style:decimal outside;padding-left:1.65em}.ktc .ktc-article-content li{display:list-item}
.ktc .ktc-contentbox{display:flex;gap:12px;border:1px solid;border-left:3px solid;border-radius:7px;padding:18px 19px;margin:19px 0}.ktc .ktc-contentbox-main{min-width:0;flex:1}.ktc .ktc-contentbox-title{font-size:12px;font-weight:700;line-height:1.6;letter-spacing:.03em;margin-bottom:6px}.ktc .ktc-contentbox-body{color:#455b71;font-size:14px;line-height:1.85}.ktc .ktc-box-default{border-color:#dbe5ef}.ktc .ktc-box-conclusion{border-color:#4285d4;background:#f4f8fe}.ktc .ktc-box-point{border-color:#2e9d78;background:#f2fbf7}.ktc .ktc-box-warning{border-color:#e6a531;background:#fffaf0}.ktc .ktc-box-memo{border-color:#8b6cc4;background:#faf7ff}
.ktc .ktc-table-wrap{overflow:auto;border:1px solid #dbe5ef;border-radius:6px;margin:23px 0}.ktc .ktc-article-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;background:#fff}.ktc .ktc-article-table th{background:#f3f6fa;font-weight:650;color:#4b627d;text-align:left}.ktc .ktc-article-table th,.ktc .ktc-article-table td{padding:10px 13px;border-bottom:1px solid #e4eaf2;border-right:1px solid #e4eaf2;line-height:1.7;min-width:80px;overflow-wrap:anywhere}.ktc .ktc-article-table th:last-child,.ktc .ktc-article-table td:last-child{border-right:0}.ktc .ktc-article-table tr:last-child td{border-bottom:0}
.ktc .ktc-code{white-space:pre-wrap;margin:20px 0;background:#172233;color:#eaf2fb;font-family:ui-monospace,SFMono-Regular,monospace;padding:16px;border-radius:6px;font-size:13px}.ktc .ktc-spacer{display:block;min-height:0}.ktc .ktc-divider{margin:15px 0;border:0;border-top:1px solid #dbe4ee}
.ktc .ktc-image-wrap{width:100%;min-width:0}.ktc .ktc-image-figure{display:inline-block;vertical-align:top;max-width:100%;margin:0;text-align:inherit}.ktc .ktc-image-figure img{display:block;width:100%;height:auto;max-width:100%}.ktc .ktc-image-figure figcaption{font-size:12px;line-height:1.7;color:#6c7f98;margin-top:9px;overflow-wrap:anywhere;text-align:center}
.ktc .ktc-button-wrap{width:100%;min-width:0;margin:12px 0}.ktc .ktc-article-button{box-sizing:border-box;position:relative;isolation:isolate;overflow:hidden;display:inline-flex;justify-content:center;align-items:center;gap:10px;max-width:100%;width:var(--button-width,auto);min-height:var(--button-height,52px);border:1px solid transparent;border-radius:var(--button-radius,12px);background:var(--button-bg,#2168c6);color:var(--button-fg,#fff);font-size:var(--button-font-size,16px);font-weight:700;text-decoration:none;line-height:1.5;padding:11px 22px;text-align:center}.ktc .ktc-article-button>span{position:relative;z-index:1}.ktc .ktc-article-button[data-effect=fade],.ktc .ktc-article-button[data-effect=shine-fade]{transition:background-color .24s ease,color .24s ease}.ktc .ktc-article-button:is([data-effect=fade],[data-effect=shine-fade]):is(:hover,:focus-visible){background:var(--button-hover-bg,#173b67);color:var(--button-hover-fg,#fff)}.ktc .ktc-article-button::before{content:"";position:absolute;z-index:0;pointer-events:none;inset:-30% auto -30% -65%;width:45%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,#ffffff75,transparent);opacity:0}.ktc .ktc-article-button:is([data-effect=shine],[data-effect=shine-fade]):is(:hover,:focus-visible)::before{animation:ktc-button-shine .7s ease-out 1}@keyframes ktc-button-shine{0%{left:-65%;opacity:0}20%{opacity:1}100%{left:125%;opacity:0}}
.ktc .ktc-article-card{display:grid;grid-template-columns:126px minmax(0,1fr) auto;gap:14px;align-items:center;margin:18px 0;overflow:hidden;border:1px solid #dbe5ef;border-radius:9px;background:#fff;color:#2b4968;text-decoration:none}.ktc .ktc-article-card__thumb{display:grid;width:126px;min-height:90px;place-items:center;background:linear-gradient(135deg,#e8f2ff,#d8e9f9);color:#547495;font-size:11px;object-fit:cover}.ktc .ktc-article-card__body{min-width:0;padding:13px 0}.ktc .ktc-article-card__meta{margin:0 0 4px;color:#778ba2;font-size:11px}.ktc .ktc-article-card__body strong{display:block}.ktc .ktc-article-card__body span{display:-webkit-box;overflow:hidden;margin-top:4px;color:#617991;font-size:12px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ktc .ktc-article-card__arrow{padding:15px;color:#3774bc}
.ktc .kt-trial-marker--yellow{background:linear-gradient(transparent 18%,#fff0a4 18%,#fff0a4 94%,transparent 94%)}.ktc .kt-trial-marker--blue{background:linear-gradient(transparent 18%,#ccecff 18%,#ccecff 94%,transparent 94%)}.ktc .kt-trial-marker--pink{background:linear-gradient(transparent 18%,#ffd3e0 18%,#ffd3e0 94%,transparent 94%)}.ktc .kt-trial-marker--under-yellow{border-bottom:3px solid #ffeb89}.ktc .kt-trial-size--small{font-size:.85em}.ktc .kt-trial-size--large{font-size:1.25em}.ktc .kt-trial-size--xlarge{font-size:1.5em}
.ktc .kt-trial-text--black{color:#111827}.ktc .kt-trial-text--navy{color:#173b67}.ktc .kt-trial-text--charcoal{color:#374151}.ktc .kt-trial-text--gray{color:#78869a}.ktc .kt-trial-text--silver{color:#cbd5e1}.ktc .kt-trial-text--white{color:#fff}.ktc .kt-trial-text--red{color:#c63850}.ktc .kt-trial-text--rose{color:#e11d48}.ktc .kt-trial-text--coral{color:#f87171}.ktc .kt-trial-text--orange{color:#ea580c}.ktc .kt-trial-text--amber{color:#d97706}.ktc .kt-trial-text--yellow{color:#facc15}.ktc .kt-trial-text--brown{color:#92400e}.ktc .kt-trial-text--lime{color:#84cc16}.ktc .kt-trial-text--green{color:#128163}.ktc .kt-trial-text--mint{color:#6ee7b7}.ktc .kt-trial-text--teal{color:#0f766e}.ktc .kt-trial-text--cyan{color:#0891b2}.ktc .kt-trial-text--sky{color:#38bdf8}.ktc .kt-trial-text--blue{color:#2168c6}.ktc .kt-trial-text--indigo{color:#4338ca}.ktc .kt-trial-text--violet{color:#7c3aed}.ktc .kt-trial-text--purple{color:#a21caf}.ktc .kt-trial-text--pink{color:#f472b6}
@media(prefers-reduced-motion:reduce){.ktc .ktc-article-button,.ktc .ktc-article-button::before{animation:none!important;transition:none!important}.ktc .ktc-article-button::before{display:none}}@media(max-width:580px){.ktc .ktc-article-card{grid-template-columns:92px minmax(0,1fr);gap:10px}.ktc .ktc-article-card__thumb{width:92px;min-height:76px}.ktc .ktc-article-card__arrow{display:none}.ktc .ktc-contentbox{padding:13px 11px}.ktc .ktc-article-table{font-size:12px}}


/* Purchase UX 2026-10-02: scoped to the product page's purchase cards. */
.model-offer-card {display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding:24px;align-items:start}
.model-offer-card__channel {display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.model-offer-card__platform {display:inline-flex;align-items:center;padding:5px 12px;border:1px solid #c6d8ec;border-radius:6px;background:#eef5fd;color:#194a80;font-size:.875rem;font-weight:700;line-height:1.5}
.model-offer-card__external-note {font-size:.75rem;color:var(--color-text-secondary)}
.model-offer-card__badges {margin-top:0;margin-bottom:8px;min-height:0}
.model-offer-card__badges:empty {display:none}
.model-offer-card__model {font-size:1.3rem;line-height:1.45}
.model-offer-card__merchant {display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-top:8px;color:var(--color-text);overflow-wrap:anywhere}
.model-offer-card__merchant strong {font-size:1.125rem;line-height:1.5;font-weight:700}
.model-offer-card__merchant-label {font-size:.75rem;color:var(--color-text-secondary);flex:0 0 auto}
.model-offer-card__facts {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:18px 0 0;padding:16px;border:1px solid #e0e8f0;border-radius:8px;background:#f7f9fc}
.model-offer-card__facts>div {display:grid;grid-template-columns:5em minmax(0,1fr);align-items:baseline;gap:10px;min-width:0}
.model-offer-card__facts dt {font-size:.8125rem;color:var(--color-text-secondary);font-weight:400}
.model-offer-card__facts dd {margin:0;font-size:.9375rem;font-weight:600;overflow-wrap:anywhere;line-height:1.5}
.model-offer-card__checked {font-size:.75rem;color:var(--color-text-secondary);line-height:1.6;margin:10px 0 0}
.model-offer-card__actions {display:flex;flex-wrap:wrap;gap:12px;margin:0;padding-top:16px;border-top:1px solid #e0e8f0;justify-content:flex-end;align-items:center;width:100%}
.model-offer-card__actions>.model-offer-card__shop-link {background:var(--color-primary);color:#fff;border-color:var(--color-primary);white-space:normal;text-align:center;max-width:100%;line-height:1.5}
.model-offer-card__shop-link:hover {filter:brightness(.93)}
.model-offer-card__actions form {margin:0;flex:0 0 auto}
.model-offer-card__actions form .btn {min-height:44px;font-size:.8125rem;padding:10px 14px}
.model-purchase-intro {font-size:.875rem;color:var(--color-text-secondary);line-height:1.7;margin:0 0 16px}
.model-offer-card__image,.model-offer-card__image-link {grid-row:auto;justify-self:start}
@media(max-width:760px){.model-offer-card__actions {display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.model-offer-card__actions>.btn,.model-offer-card__actions form {width:100%;flex:initial}.model-offer-card__actions form .btn {width:100%}}
@media(max-width:580px){.model-offer-card {padding:18px;gap:16px}.model-offer-card__channel {margin-bottom:12px;gap:6px 8px}.model-offer-card__facts {grid-template-columns:minmax(0,1fr);gap:10px;padding:14px;margin-top:16px}.model-offer-card__facts>div {grid-template-columns:5em minmax(0,1fr)}.model-offer-card__actions {padding-top:14px}.model-offer-card__external-note {font-size:.6875rem}.model-offer-card__merchant strong {font-size:1.0625rem}}


/* Purchase cards: product identity left, buying conditions and action right. */
.model-detail-page .result-layout>div:first-child {container-type:inline-size;container-name:product-content}
.model-offer-card {grid-template-columns:minmax(0,1fr) minmax(280px,.95fr);column-gap:28px;row-gap:14px;padding:24px;border-color:#d5e1ef;border-radius:12px;box-shadow:0 2px 8px #173f6b08}
.model-offer-card__details {display:contents}
.model-offer-card__identity {grid-column:1;grid-row:1 / span 2;min-width:0;display:flex;flex-direction:column;align-self:stretch}
.model-offer-card__identity-main {min-width:0}
.model-offer-card__identity-footer {margin-top:auto;padding-top:20px}
.model-offer-card__channel {gap:8px;margin-bottom:16px}
.model-offer-card__external-note {display:none}
.model-offer-card__badges {margin-bottom:12px}
.model-offer-card__model {display:flex;flex-direction:column;gap:3px;line-height:1.35;margin:0}
.model-offer-card__model-label {font-size:.75rem;font-weight:500;color:var(--color-text-secondary)}
.model-offer-card__model-value {font-size:1.5rem;font-weight:750;letter-spacing:.01em;color:#203c5b;overflow-wrap:anywhere}
.model-offer-card__merchant {margin-top:14px;gap:8px}
.model-offer-card__merchant strong {font-size:1.125rem}
.model-offer-card__checked {margin:0;font-size:.75rem}
.model-offer-card__facts {grid-column:2;grid-row:1;grid-template-columns:minmax(0,1fr);gap:0;margin:0;padding:8px 16px;background:#f5f8fc;border-color:#e1e9f3;border-radius:10px}
.model-offer-card__facts>div {grid-template-columns:5em minmax(0,1fr);gap:12px;padding:7px 0;align-items:baseline}
.model-offer-card__facts>div+div {border-top:1px solid #e1e9f3}
.model-offer-card__facts dd {text-align:right;font-size:.9375rem;font-weight:650}
.model-offer-card__actions {grid-column:2;grid-row:2;display:flex;flex-direction:column;gap:0;align-items:stretch;justify-content:flex-start;border:0;padding:0;margin:0}
.model-offer-card__actions>.model-offer-card__shop-link {width:100%;min-height:50px;padding:12px 16px;border-radius:8px;font-size:.9375rem}
.model-offer-card__actions form {align-self:flex-end;width:auto;flex:initial}
.model-offer-card__actions form .btn {width:auto;min-height:44px;border-color:transparent;background:transparent;color:#64768e;font-weight:500;font-size:.75rem;padding:10px 0 0;text-decoration:underline;text-underline-offset:3px}
.model-offer-card__actions form .btn:hover {background:transparent;color:var(--color-primary)}
.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) {grid-template-columns:96px minmax(0,1fr) minmax(260px,.95fr);column-gap:20px}
.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) .model-offer-card__identity {grid-column:2}
.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) :is(.model-offer-card__facts,.model-offer-card__actions) {grid-column:3}
.model-offer-card>.model-offer-card__image,.model-offer-card>.model-offer-card__image-link {grid-column:1;grid-row:1 / span 2;max-width:96px;width:96px;height:auto;align-self:start;margin-top:56px}
@media(max-width:760px){
 .model-offer-card,.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) {grid-template-columns:minmax(0,1fr);gap:16px;padding:20px}
 .model-offer-card__identity,.model-offer-card__facts,.model-offer-card__actions,.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) :is(.model-offer-card__identity,.model-offer-card__facts,.model-offer-card__actions) {grid-column:1;grid-row:auto}
 .model-offer-card__identity-footer {margin-top:0;padding-top:12px}
 .model-offer-card__channel {margin-bottom:12px}
 .model-offer-card__badges {margin-bottom:10px}
 .model-offer-card__model-value {font-size:1.375rem}
 .model-offer-card__merchant {margin-top:12px}
 .model-offer-card__merchant strong {font-size:1.0625rem}
 .model-offer-card__facts {padding:6px 14px}
 .model-offer-card__facts>div {padding:9px 0}
 .model-offer-card__actions {gap:0}
 .model-offer-card__actions form {width:auto;align-self:flex-end}
 .model-offer-card__actions form .btn {width:auto}
 .model-offer-card>.model-offer-card__image,.model-offer-card>.model-offer-card__image-link {grid-column:1;grid-row:auto;margin-top:0}
}
@container product-content (max-width:640px){
 .model-offer-card,.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) {grid-template-columns:minmax(0,1fr);gap:16px;padding:20px}
 .model-offer-card__identity,.model-offer-card__facts,.model-offer-card__actions,.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) :is(.model-offer-card__identity,.model-offer-card__facts,.model-offer-card__actions) {grid-column:1;grid-row:auto}
 .model-offer-card__identity-footer {margin-top:0;padding-top:12px}
 .model-offer-card__channel {margin-bottom:12px}
 .model-offer-card__badges {margin-bottom:10px}
 .model-offer-card__merchant {margin-top:12px}
 .model-offer-card__facts {padding:6px 14px}
 .model-offer-card__facts>div {padding:9px 0}
 .model-offer-card__actions {gap:0}
 .model-offer-card__actions form {width:auto;align-self:flex-end}
 .model-offer-card__actions form .btn {width:auto}
 .model-offer-card>.model-offer-card__image,.model-offer-card>.model-offer-card__image-link {grid-column:1;grid-row:auto;margin-top:0}
}

/* Purchase-card polish: one reading flow, paired identity, shared conditions strip. */
.model-offer-card {grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;row-gap:0;padding:24px;border:1px solid #d7e3ee;border-radius:12px;box-shadow:0 2px 6px #173f6b05}
.model-offer-card__details,.model-offer-card__identity,.model-offer-card__identity-main,.model-offer-card__actions {display:contents}
.model-offer-card__channel {grid-column:1 / -1;grid-row:1;margin:0 0 20px;gap:10px;align-self:center}
.model-offer-card__platform {padding:4px 10px;font-size:.8125rem;border-radius:5px}
.model-offer-card__badges {display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;margin:0;align-self:center}
.model-offer-card__model {grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:5px;margin:0;line-height:1.35}
.model-offer-card__model-label,.model-offer-card__merchant-label {font-size:.75rem;font-weight:500;line-height:1.5;color:#5b7088}
.model-offer-card__model-value {font-size:1.5rem;font-weight:750;color:#203c5b;letter-spacing:.015em;overflow-wrap:anywhere}
.model-offer-card__merchant {grid-column:2;grid-row:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;margin:0;padding-left:24px;border-left:1px solid #e3eaf2}
.model-offer-card__merchant strong {font-size:1.125rem;line-height:1.8;font-weight:700;color:#263d55;overflow-wrap:anywhere}
.model-offer-card__facts {grid-column:1 / -1;grid-row:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:20px 0;padding:16px 0;background:#f5f8fb;border:1px solid #e3eaf2;border-radius:8px}
.model-offer-card__facts>div {display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:0 18px;border:0}
.model-offer-card__facts>div+div {border-top:0;border-left:1px solid #dfe7f0}
.model-offer-card__facts dt {font-size:.75rem;line-height:1.5;color:#586d85}
.model-offer-card__facts dd {font-size:.875rem;line-height:1.5;font-weight:650;text-align:left;overflow-wrap:anywhere}
.model-offer-card__identity-footer {grid-column:1;grid-row:4;align-self:end;margin:0;padding:0}
.model-offer-card__checked {font-size:.75rem;line-height:1.6;margin:0;color:#5b7088}
.model-offer-card__actions>.model-offer-card__shop-link {grid-column:2;grid-row:4 / span 2;align-self:center;justify-self:end;width:100%;max-width:340px;min-height:50px;font-size:.9375rem;padding:12px 16px;border-radius:7px}
.model-offer-card__actions form {grid-column:1;grid-row:5;width:auto;justify-self:start;align-self:start;margin:0;flex:initial}
.model-offer-card__actions form .btn {width:auto;min-height:44px;padding:8px 0;font-size:.75rem;font-weight:500;line-height:1.5;border:0;background:transparent;color:#5b7088;text-decoration:underline;text-underline-offset:3px}
.model-offer-card__actions form .btn:hover {background:transparent;color:var(--color-primary)}
.model-offer-card__actions .btn:focus-visible {outline:3px solid #2862ad;outline-offset:4px}
.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) {grid-template-columns:88px minmax(0,1fr) minmax(0,1fr);column-gap:20px}
.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) :is(.model-offer-card__model,.model-offer-card__identity-footer) {grid-column:2}
.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) .model-offer-card__channel {grid-column:2 / -1}
.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) .model-offer-card__actions form {grid-column:2}
.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) .model-offer-card__merchant {grid-column:3}
.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) .model-offer-card__actions>.model-offer-card__shop-link {grid-column:3}
.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) .model-offer-card__facts {grid-column:1 / -1}
.model-offer-card>.model-offer-card__image,.model-offer-card>.model-offer-card__image-link {grid-column:1;grid-row:1 / span 2;width:88px;max-width:88px;margin:0;align-self:center}
@container product-content (max-width:640px){
 .model-offer-card,.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) {grid-template-columns:minmax(0,1fr);padding:20px;column-gap:0;row-gap:0}
 .model-offer-card__channel,.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) .model-offer-card__channel {grid-column:1;grid-row:1;margin:0 0 18px;gap:10px 8px}
 .model-offer-card__badges,.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) .model-offer-card__badges {margin:0;justify-content:flex-start}
 .model-offer-card__model,.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) .model-offer-card__model {grid-column:1;grid-row:3;gap:4px}
 .model-offer-card__model-value {font-size:1.375rem}
 .model-offer-card__merchant,.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) .model-offer-card__merchant {grid-column:1;grid-row:4;padding:0;border:0;margin-top:14px;gap:3px}
 .model-offer-card__merchant strong {font-size:1.0625rem;line-height:1.6}
 .model-offer-card__facts,.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) .model-offer-card__facts {grid-column:1;grid-row:5;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;margin:18px 0 12px}
 .model-offer-card__facts>div {padding:12px 14px;gap:4px}
 .model-offer-card__facts>div+div {border:0}
 .model-offer-card__facts>div:nth-child(even) {border-left:1px solid #dfe7f0}
 .model-offer-card__facts>div:nth-child(n+3) {border-top:1px solid #dfe7f0}
 .model-offer-card__facts dd {font-size:.8125rem}
 .model-offer-card__identity-footer,.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) .model-offer-card__identity-footer {grid-column:1;grid-row:6;padding:0;align-self:start}
 .model-offer-card__actions>.model-offer-card__shop-link,.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) .model-offer-card__actions>.model-offer-card__shop-link {grid-column:1;grid-row:7;margin-top:18px;max-width:none;font-size:.875rem;min-height:50px;justify-self:stretch}
 .model-offer-card__actions form,.model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) .model-offer-card__actions form {grid-column:1;grid-row:8;justify-self:end;margin-top:2px}
 .model-offer-card>.model-offer-card__image,.model-offer-card>.model-offer-card__image-link {grid-column:1;grid-row:1 / span 2;justify-self:end;width:60px;max-width:60px}
 .model-offer-card:has(>.model-offer-card__image,>.model-offer-card__image-link) .model-offer-card__channel {padding-right:70px}
}


/* Offer-owned API image: unchanged original image, no cropping or mirroring. */
.model-offer-card:has(>.model-offer-card__image-link) {grid-template-columns:112px minmax(0,1fr) minmax(0,1fr)}
.model-offer-card>.model-offer-card__image-link {position:relative;display:flex;flex-direction:column;align-self:start;align-items:center;width:112px;max-width:112px;text-decoration:none;gap:6px}
.model-offer-card__image-link>.model-offer-card__image {display:block;flex:none;object-fit:contain;width:110px;max-width:100%;height:110px;border:1px solid #e3eaf2;border-radius:7px;background:white}
.model-offer-image__caption {font-size:.6875rem;line-height:1.5;color:#5b7088;text-align:center;overflow-wrap:anywhere}
.model-offer-impression {position:absolute;bottom:0;left:0;width:1px;height:1px;pointer-events:none}
.model-offer-card__image-link:focus-visible {outline:3px solid #2862ad;outline-offset:4px;border-radius:7px}
@container product-content (max-width:640px){
 .model-offer-card:has(>.model-offer-card__image-link) {grid-template-columns:minmax(0,1fr)}
 .model-offer-card>.model-offer-card__image-link {width:84px;max-width:84px;grid-column:1;grid-row:1 / span 2;justify-self:end}
 .model-offer-card__image-link>.model-offer-card__image {width:82px;height:82px}
 .model-offer-card:has(>.model-offer-card__image-link) .model-offer-card__channel {padding-right:94px}
}

/* Reviewed Yahoo reference images: scoped provider-bound top blocks (2026-10-05). */
.model-source-image-slot { min-width:0; }
.model-source-image-slot [hidden] { display:none!important; }
.model-top-offer-image { position:relative; margin:0; width:100%; max-width:200px; color:var(--color-text-secondary); }
.model-top-offer-image__link { display:flex; align-items:center; justify-content:center; aspect-ratio:1; padding:10px; background:#fff; border:1px solid #dbe5ef; border-radius:10px; }
.model-top-offer-image__link:focus-visible { outline:3px solid #2861ad; outline-offset:3px; }
.model-top-offer-image__link img { display:block; width:100%; height:100%; object-fit:contain; }
.model-top-offer-image figcaption { display:flex; flex-direction:column; gap:4px; margin-top:8px; font-size:10px; line-height:1.5; overflow-wrap:anywhere; }
.model-top-offer-image__kind { color:#344b68; font-size:11px; font-weight:600; }
.model-top-offer-image__ad { white-space:nowrap; }
.model-top-offer-image__quantity { color:#344b68; }
.model-top-offer-image__pixel { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.candidate--with-reference-image .candidate__summary { display:grid; grid-template-columns:168px minmax(0,1fr); gap:16px 24px; align-items:center; }
.candidate--with-reference-image .model-top-offer-image { grid-row:1 / span 2; }
.candidate__summary-details { min-width:0; }
.candidate--with-reference-image .candidate__compare-action { grid-column:2; margin-top:0; }
@media(max-width:900px) {
 .candidate--with-reference-image .candidate__summary { grid-template-columns:144px minmax(0,1fr); gap:20px; }
}
@media(max-width:580px) {
 .candidate--with-reference-image .candidate__summary { grid-template-columns:104px minmax(0,1fr); gap:14px; align-items:start; }
 .candidate--with-reference-image .model-top-offer-image { grid-row:1; }
 .candidate--with-reference-image .candidate__compare-action { grid-column:1 / -1; justify-content:flex-start; gap:8px; }
 .candidate--with-reference-image .candidate__compare-action .btn { flex:1 1 auto; font-size:14px; padding:12px 10px; }
 .candidate--with-reference-image .candidate__title { font-size:20px; overflow-wrap:anywhere; }
 .candidate--with-reference-image .result-product__meta { overflow-wrap:anywhere; }
 .model-top-offer-image__link { padding:6px; }
 .model-top-offer-image figcaption { font-size:9px; }
 .model-top-offer-image__kind { font-size:10px; }
}
@media(max-width:360px) {
 .candidate--with-reference-image .candidate__summary { grid-template-columns:88px minmax(0,1fr); gap:10px; }
}
/* Home: search scope precedes editorial articles (2026-10-05). */
.home-coverage-hint { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 18px; margin:12px 0 0; color:#344b68; font-size:14px; line-height:1.6; }
.home-coverage-hint a { font-weight:600; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
.home-coverage { padding:40px 0 32px; background:linear-gradient(180deg,#f2f7fc 0%,#fff 100%); scroll-margin-top:100px; }
.home-coverage__heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.home-coverage__eyebrow { margin:0 0 6px; color:#2861ad; font-size:13px; font-weight:700; letter-spacing:.05em; }
.home-coverage__heading h2 { margin:0; font-size:28px; line-height:1.4; }
.home-coverage__total { padding:9px 15px; border:1px solid #cbdcee; border-radius:999px; color:#344b68; background:#fff; font-size:13px; white-space:nowrap; }
.home-coverage__total strong { color:#163b68; font-size:20px; margin:0 4px; }
.home-coverage__intro { margin:0 0 22px; color:#4a6078; font-size:15px; line-height:1.8; }
.home-coverage__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.home-coverage__card { min-width:0; padding:22px 20px; border:1px solid #d6e3f0; border-radius:14px; background:#fff; box-shadow:0 3px 12px rgba(23,57,91,.035); }
.home-coverage__card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.home-coverage__symbol { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; color:#2861ad; background:#ecf4fc; }
.home-coverage__symbol .icon-svg { width:22px; height:22px; }
.home-coverage__count { color:#4b6380; font-size:12px; font-weight:600; white-space:nowrap; }
.home-coverage__card h3 { color:#193b62; margin:0 0 8px; font-size:18px; line-height:1.5; }
.home-coverage__examples { margin:0; color:#2861ad; font-size:13px; font-weight:600; line-height:1.7; }
.home-coverage__description { margin:8px 0 0; color:#64758b; font-size:12px; line-height:1.7; }
.home-coverage__note { margin-top:16px; color:#64758b; font-size:12px; line-height:1.8; }
.home-coverage__note p { margin:3px 0 0; }
@media(max-width:1000px) { .home-coverage__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:580px) {
 .home-coverage { padding:28px 0 24px; }
 .home-coverage-hint { font-size:12px; gap:4px 12px; }
 .home-coverage__heading { gap:12px; }
 .home-coverage__heading h2 { font-size:22px; }
 .home-coverage__total { font-size:11px; padding:6px 10px; }
 .home-coverage__total strong { font-size:17px; }
 .home-coverage__intro { font-size:13px; margin-bottom:16px; }
 .home-coverage__grid { gap:12px; }
 .home-coverage__card { padding:16px 13px; border-radius:12px; }
 .home-coverage__card-top { margin-bottom:12px; gap:6px; }
 .home-coverage__symbol { width:30px; height:30px; }
 .home-coverage__symbol .icon-svg { width:18px; height:18px; }
 .home-coverage__card h3 { font-size:16px; }
 .home-coverage__examples { font-size:12px; }
 .home-coverage__description { font-size:11px; }
}
@media(max-width:360px) { .home-coverage__grid { grid-template-columns:1fr; } .home-coverage__card { padding:16px; } .home-coverage__card-top { margin-bottom:8px; } }