  .ph-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 56px; align-items: end; }
  .ph-side { background: var(--paper); border-radius: 24px; padding: 28px; }
  .ph-side h3 { font-size: 17px; margin-bottom: 14px; }
  .ph-side ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
  .ph-side li a { display: flex; justify-content: space-between; align-items: center; gap: 14px; text-decoration: none; color: var(--ink); padding: 12px 0; border-bottom: 1px solid var(--rule); font-weight: 700; font-size: 14.5px; }
  .ph-side li:last-child a { border-bottom: 0; }
  .ph-side li a:hover { color: var(--pink-deep); }
  .ph-side li a::after { content: "→"; color: var(--ink-mute); font-weight: 800; }

  /* hero spans full width (no side card) */
  .page-hero h1 { max-width: none; }
  .page-hero .lead { max-width: none; }

  /* FAQ groups */
  .faq-group { background: var(--paper); border-radius: 28px; padding: 36px; margin-top: 18px; }
  .faq-group .gt {
    display: flex; align-items: center; gap: 14px;
    margin-bottom: 24px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--rule);
  }
  .faq-group .gt .ic { width: 44px; height: 44px; border-radius: 12px; background: var(--pink-pale); color: var(--pink-deep); display: grid; place-items: center; }
  .faq-group.g .gt .ic { background: var(--sage-pale); color: var(--sage-deep); }
  .faq-group .gt h2 { font-size: 24px; letter-spacing: -0.02em; }
  .faq-group .gt .gc { display: block; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 800; color: var(--ink-mute); margin-bottom: 4px; }

  .faq-item {
    border-bottom: 1px solid var(--rule);
  }
  .faq-item:last-child { border-bottom: 0; }
  .faq-item .q {
    font-weight: 800; font-size: 17px;
    cursor: pointer;
    display: flex; justify-content: space-between; align-items: center; gap: 18px;
    list-style: none;
    padding: 18px 0;
  }
  .faq-item .q::-webkit-details-marker { display: none; }
  .faq-item .q::after { content: "+"; font-size: 24px; color: var(--pink-deep); font-weight: 800; }
  .faq-group.g .faq-item .q::after { color: var(--sage-deep); }
  .faq-item[open] .q::after { content: "−"; }
  .faq-item p { color: var(--ink-soft); margin: 0 0 18px; font-size: 15px; line-height: 1.6; }
  .faq-item p + p { margin-top: 10px; }
  .faq-item ul { color: var(--ink-soft); font-size: 15px; line-height: 1.6; margin: 0 0 18px; padding-left: 20px; }
  .faq-item ul li { margin-bottom: 4px; }

  @media (max-width: 1100px) {
    .ph-grid { grid-template-columns: 1fr; }
  }
  @media (max-width: 900px) {
    .faq-group { padding: 28px; }
    .faq-group .gt h2 { font-size: 20px; }
  }
