/* planning/planning.html — overrides & blocks not in site-chrome-legacy (base .pps-* from site-chrome-legacy.css) */
.pps-hero__price { font-family: var(--font-display) !important; font-size: clamp(20px, 3.2vw, 36px) !important; font-weight: 300 !important; letter-spacing: 0.12em !important; color: var(--accent) !important; margin: 0 !important; }
.pps-hero__price small { font-family: var(--font-body) !important; font-size: 0.45em; letter-spacing: 0.2em; color: rgba(247,245,242,0.75); font-weight: 300; }
.pps-concept { background: var(--black); color: var(--gray-300); padding: clamp(48px, 8vw, 88px) var(--pad); }
.pps-label { display: block; font-family: var(--font-body) !important; font-size: 9px !important; font-weight: 400 !important; letter-spacing: 0.36em !important; text-transform: uppercase !important; color: var(--accent) !important; margin-bottom: 24px; }
.pps-concept__lead { font-size: clamp(14px, 1.8vw, 18px) !important; line-height: 1.75 !important; letter-spacing: 0.06em !important; margin: 0 0 20px !important; max-width: 720px; }
.pps-concept__cta { display: block; font-size: 12px !important; letter-spacing: 0.04em !important; opacity: 0.9; margin: 24px 0 0 !important; max-width: 720px; line-height: 1.75; }
.pps-concept__cta a { color: var(--accent) !important; }
.pps-concept__cta a:hover { opacity: 1; text-decoration: underline; }
.pps-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; max-width: 100vw; border-top: 1px solid var(--gray-100); }
.pps-feature { padding: clamp(40px, 5vw, 64px) clamp(24px, 3vw, 48px); border-right: 1px solid var(--gray-100); background: var(--white); }
.pps-features .pps-feature:last-child { border-right: none; }
.pps-feature__num { display: block; font-family: var(--font-display) !important; font-size: clamp(32px, 4vw, 48px) !important; font-weight: 300 !important; letter-spacing: 0.02em !important; color: var(--accent) !important; margin-bottom: 16px; line-height: 1; }
.pps-feature__title { font-family: var(--font-display) !important; font-size: clamp(14px, 1.4vw, 16px) !important; font-weight: 400 !important; letter-spacing: 0.08em !important; color: var(--black) !important; margin: 0 0 12px !important; line-height: 1.4; }
.pps-feature__text { font-size: 12px !important; line-height: 1.8 !important; letter-spacing: 0.03em !important; color: var(--gray-700) !important; margin: 0 !important; }
.pps-section { padding: clamp(32px, 5vw, 56px) var(--pad); border-top: 1px solid var(--gray-100); background: var(--white); }
.pps-section--muted { background: var(--gray-100); }
.pps-section .pps-label { color: var(--gray-500) !important; margin-bottom: 20px; }
.pps-flow { display: grid; gap: 20px; max-width: 720px; margin-top: 8px; }
.pps-flow__step { display: grid; grid-template-columns: auto 1fr; gap: 20px; align-items: start; padding: 20px 0; border-bottom: 1px solid var(--gray-100); }
.pps-flow__step:last-child { border-bottom: none; }
.pps-flow__num { font-family: var(--font-display) !important; font-size: 22px !important; color: var(--accent) !important; letter-spacing: 0.06em; line-height: 1.2; }
.pps-flow__body h3 { font-family: var(--font-display) !important; font-size: 15px !important; font-weight: 400 !important; letter-spacing: 0.1em !important; color: var(--black) !important; margin: 0 0 8px !important; }
.pps-flow__body p { font-size: 12px !important; line-height: 1.85 !important; margin: 0 !important; color: var(--gray-700) !important; }
.pps-price-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 24px; align-items: stretch; }
.pps-price-card { border: 1px solid var(--gray-100); padding: clamp(24px, 4vw, 36px); background: var(--white); }
.pps-price-card--emphasis { border-color: var(--accent); background: var(--black); color: var(--gray-300); }
.pps-price-card--emphasis .pps-price-card__title { color: var(--accent) !important; }
.pps-price-card--emphasis .pps-price-card__amt { color: var(--white) !important; }
.pps-price-card--emphasis p { color: var(--gray-300) !important; }
.pps-price-card__title { font-size: 9px !important; letter-spacing: 0.28em !important; text-transform: uppercase !important; color: var(--gray-500) !important; margin: 0 0 12px !important; }
.pps-price-card__amt { font-family: var(--font-display) !important; font-size: clamp(28px, 4vw, 40px) !important; font-weight: 300 !important; letter-spacing: 0.06em !important; color: var(--black) !important; margin: 0 0 12px !important; }
.pps-price-card p { font-size: 12px !important; line-height: 1.85 !important; margin: 0 !important; color: var(--gray-700) !important; }
.pps-figure { margin: 24px calc(-1 * var(--pad)) 0; width: calc(100% + 2 * var(--pad)); max-width: 100vw; overflow: hidden; }
.pps-figure img { width: 100%; height: auto; display: block; vertical-align: top; }
.pps-note { font-size: 11px !important; line-height: 1.8 !important; color: var(--gray-500) !important; margin-top: 24px !important; max-width: 720px; }
.pps-cta { text-align: center; padding: clamp(40px, 8vw, 64px) var(--pad); border-top: 1px solid var(--gray-100); background: linear-gradient(180deg, var(--white) 0%, var(--gray-100) 100%); }
.pps-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--white) !important;
  padding: 1.15rem 2.35rem;
  text-decoration: none !important;
  background: linear-gradient(158deg, #1c1a17 0%, #0a0a0a 45%, #141210 100%);
  border: 1px solid rgba(184, 149, 106, 0.48);
  border-radius: 1px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 14px 40px rgba(10, 10, 10, 0.2),
    0 0 48px rgba(184, 149, 106, 0.09);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.35s ease;
}
.pps-cta a:hover {
  transform: translateY(-4px);
  border-color: rgba(184, 149, 106, 0.75);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 20px 52px rgba(10, 10, 10, 0.28),
    0 0 64px rgba(184, 149, 106, 0.18);
  color: #ffffff !important;
  opacity: 1;
}
.pps-cta a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.pps-sibling { display: flex; flex-wrap: wrap; background: var(--white); border-bottom: 1px solid var(--gray-100); }
.pps-sibling__item { flex: 1 1 200px; padding: 18px 20px; text-align: center; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; border-right: 1px solid var(--gray-100); box-sizing: border-box; }
.pps-sibling__item:last-child { border-right: none; }
.pps-sibling__item a { color: var(--gray-500) !important; display: block; }
.pps-sibling__item a:hover { color: var(--accent) !important; opacity: 1; }
.pps-sibling__item--current { background: var(--gray-100); }
.pps-sibling__item--current span { color: var(--black); letter-spacing: 0.18em; }
.pps-sibling--3 .pps-sibling__item { flex: 1 1 160px; }
.pps-compare-hint { max-width: 720px; margin: 0 auto; padding: 16px 24px; font-size: 12px; line-height: 1.75; text-align: center; color: var(--gray-700); background: rgba(184, 149, 106, 0.09); border-bottom: 1px solid var(--gray-100); }
.pps-compare-hint a { color: var(--accent) !important; }
@media (prefers-reduced-motion: reduce) {
  .pps-cta a, .pps-cta a:hover { transition: none; transform: none; }
}
@media (max-width: 900px) {
  .pps-features { grid-template-columns: 1fr; }
  .pps-feature { border-right: none; border-bottom: 1px solid var(--gray-100); }
  .pps-features .pps-feature:last-child { border-bottom: none; }
  .pps-price-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .pps-sibling__item { border-right: none; border-bottom: 1px solid var(--gray-100); }
  .pps-sibling__item:last-child { border-bottom: none; }
}
@media (max-width: 768px) {
  .pps-hero { height: 72vh; min-height: 320px; }
  .pps-hero__title { letter-spacing: 0.12em !important; }
  .pps-concept { padding-left: var(--pad); padding-right: var(--pad); }
  .pps-figure { margin-left: calc(-1 * var(--pad)); width: calc(100% + 2 * var(--pad)); }
  .pps-section { padding-left: var(--pad); padding-right: var(--pad); }
}
