/* System uses the homepage's Inter face, 12-column grid and shared chrome. */
.pd-system-route .pd-cube-page { font-family: Inter, "Inter Placeholder", sans-serif; }
.pd-system-route .pd-cube-shell,
.pd-system-route .pd-cube-narrow { width: calc(100% - 72px); max-width: 1600px; }
.pd-system-route .pd-cube-section { padding: 160px 0; }
.pd-system-route .pd-cube-page h1,
.pd-system-route .pd-cube-page h2 { font-weight: 600; letter-spacing: -.06em; line-height: 1.08; }
.pd-system-route .pd-cube-page h3 { font-weight: 600; letter-spacing: -.04em; line-height: 1.15; }
.pd-system-route .pd-cube-chip { font-size: 15px; letter-spacing: -.025em; line-height: 1.4; }
.pd-system-route .pd-cube-hero { padding: 60px 6px 0; }
.pd-system-route .pd-cube-hero__panel { width: 100%; max-width: none; min-height: 680px; }
.pd-system-route .pd-cube-hero__copy { min-height: 680px; padding: 64px 30px; justify-content: center; }
.pd-system-route .pd-cube-hero h1 { max-width: 1080px; font-size: clamp(52px,6.2vw,100px); }
.pd-system-route .pd-cube-display { margin-top: 32px !important; font-size: 26px; letter-spacing: -.04em; }
.pd-system-route .pd-cube-button { min-height: 54px; padding: 16px 26px; font-size: 18px; font-weight: 600; letter-spacing: -.04em; }
.pd-system-route .pd-cube-hero__geometry i::after { top: auto; bottom: 40px; left: 30px; }
.pd-system-route .pd-cube-problem > .pd-cube-shell,
.pd-system-route .pd-cube-does > .pd-cube-shell,
.pd-system-route .pd-cube-fit > .pd-cube-shell { column-gap: 24px; }
.pd-system-route .pd-cube-problem h2,
.pd-system-route .pd-cube-does h2,
.pd-system-route .pd-cube-fit h2 { grid-column: 4 / -1; font-size: clamp(40px,4.2vw,64px); max-width: 1080px; }
.pd-system-route .pd-cube-problem .pd-cube-intro,
.pd-system-route .pd-cube-fit .pd-cube-intro,
.pd-system-route .pd-cube-copy-column > p:not(.pd-cube-chip) { grid-column: 4 / 11; max-width: 800px; font-size: 20px; line-height: 1.5; letter-spacing: -.03em; }
.pd-system-route .pd-cube-does { min-height: 0; }
.pd-system-route .pd-cube-problem-grid { margin-top: 80px; }
.pd-system-route .pd-cube-problem-grid article { min-height: 310px; padding: 28px; }
.pd-system-route .pd-cube-problem-grid h3 { margin-top: 48px; font-size: 28px; }
.pd-system-route .pd-cube-problem-grid p { max-width: 36ch; font-size: 17px; line-height: 1.5; }
.pd-system-route .pd-cube-manifesto { padding: 120px 0; }
.pd-system-route .pd-cube-manifesto p { grid-column: 4 / -1; font-size: clamp(36px,4vw,60px); font-weight: 600; letter-spacing: -.055em; line-height: 1.12; }
.pd-system-route .pd-cube-manifesto span { grid-column: 4 / -1; font-size: 16px; margin-top: 32px; }
.pd-system-route .pd-cube-works { padding: 140px 0; }
.pd-system-route .pd-cube-works h2 { margin: 40px 0 0 25%; text-align: left; font-size: clamp(64px,8vw,120px); }
.pd-system-route .pd-cube-works .pd-cube-intro { margin: 32px 0 0 25%; text-align: left; font-size: 20px; max-width: 650px; }
.pd-system-route .pd-cube-step-grid { margin-top: 80px; }
.pd-system-route .pd-cube-step-grid article { padding: 40px 128px 40px 0; }
.pd-system-route .pd-cube-step-grid article > div { grid-template-columns: 60px minmax(0, .9fr) minmax(0, 1.1fr); gap: 28px; }
.pd-system-route .pd-cube-step-grid h3 { font-size: 32px; }
.pd-system-route .pd-cube-step-grid p { font-size: 17px; line-height: 1.5; }
.pd-system-route .pd-cube-proof h2 { margin: 32px 0 0 25%; max-width: 1000px; }
.pd-system-route .pd-cube-proof-grid { gap: 40px 24px; margin-top: 80px; }
.pd-system-route .pd-cube-proof-grid h3 { margin: 22px 0 0; font-size: 20px; }
.pd-system-route .pd-cube-proof-grid p { margin: 10px 0 0; font-size: 16px; line-height: 1.5; min-height: 0; }
.pd-system-route .pd-cube-get { padding: 0 6px; }
.pd-system-route .pd-cube-get > .pd-cube-shell { width: 100%; max-width: none; padding: 100px 30px; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 24px; }
.pd-system-route .pd-cube-get .pd-cube-chip { grid-column: 1 / 4; }
.pd-system-route .pd-cube-get p:last-child { grid-column: 4 / -1; font-size: clamp(32px,3.4vw,50px); font-weight: 600; line-height: 1.15; letter-spacing: -.05em; }
.pd-system-route .pd-cube-fit-grid { margin-top: 72px; gap: 24px; }
.pd-system-route .pd-cube-fit-grid article { padding: 36px; }
.pd-system-route .pd-cube-fit-grid li { font-size: 18px; line-height: 1.45; }
.pd-system-route .pd-cube-faq > .pd-cube-shell { align-items: start; column-gap: 40px; }
.pd-system-route .pd-cube-faq .pd-cube-chip { grid-column: 1 / 6; grid-row: 1; }
.pd-system-route .pd-cube-faq h2 { grid-column: 1 / 6; grid-row: 1; margin-top: 55px; font-size: clamp(42px,4.5vw,68px); }
.pd-system-route .pd-cube-faq-list { grid-column: 7 / -1; grid-row: 1; }
.pd-system-route .pd-cube-faq-list details { border-radius: 14px; background: white; padding: 26px; margin-bottom: 8px; }
.pd-system-route .pd-cube-faq-list summary { display:flex; justify-content:space-between; align-items:start; gap:20px; cursor:pointer; font-size:20px; font-weight:600; letter-spacing:-.04em; line-height:1.25; list-style:none; }
.pd-system-route .pd-cube-faq-list summary::-webkit-details-marker { display:none; }
.pd-system-route .pd-cube-faq-list summary::after { content:'+'; flex-shrink:0; font-size:24px; font-weight:400; line-height:1; }
.pd-system-route .pd-cube-faq-list details[open] summary::after { content:'−'; }
.pd-system-route .pd-cube-faq-list p { font-size:17px; line-height:1.5; margin-top:20px; }
.pd-system-route .pd-cube-final { padding: 0 6px; }
.pd-system-route .pd-cube-final > .pd-cube-shell { width:100%; max-width:none; min-height:640px; }
.pd-system-route .pd-cube-final h2 { font-size:clamp(60px,8vw,120px); }
.pd-system-route .pd-cube-final p:not(.pd-cube-chip) { font-size:22px; max-width:860px; line-height:1.4; }
.pd-system-route :focus-visible { outline:2px solid currentColor; outline-offset:5px; }
@media(max-width:1199.98px) {
  .pd-system-route .pd-cube-section { padding:112px 0; }
  .pd-system-route .pd-cube-step-grid article > div { grid-template-columns:48px minmax(0,1fr); }
  .pd-system-route .pd-cube-step-grid p { grid-column:2; }
  .pd-system-route .pd-cube-problem-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pd-system-route .pd-cube-problem-grid article:nth-child(3n) { border-right:1px solid var(--light-line); }
  .pd-system-route .pd-cube-problem-grid article:nth-child(2n) { border-right:0; }
}
@media(max-width:809.98px) {
  .pd-system-route .pd-cube-shell,.pd-system-route .pd-cube-narrow { width:calc(100% - 40px); }
  .pd-system-route .pd-cube-section { padding:80px 0; }
  .pd-system-route .pd-cube-hero { padding:60px 4px 0; }
  .pd-system-route .pd-cube-hero__panel { width:100%; min-height:660px; }
  .pd-system-route .pd-cube-hero__copy { min-height:660px; padding:48px 20px 80px; }
  .pd-system-route .pd-cube-hero h1 { font-size:clamp(40px,10.8vw,64px); }
  .pd-system-route .pd-cube-display { font-size:22px; }
  .pd-system-route .pd-cube-hero__geometry i::after { left:20px; bottom:28px; }
  .pd-system-route .pd-cube-problem h2,.pd-system-route .pd-cube-does h2,.pd-system-route .pd-cube-fit h2 { font-size:38px; margin-top:28px; }
  .pd-system-route .pd-cube-problem .pd-cube-intro,.pd-system-route .pd-cube-fit .pd-cube-intro,.pd-system-route .pd-cube-copy-column > p:not(.pd-cube-chip) { font-size:18px; }
  .pd-system-route .pd-cube-problem-grid { grid-template-columns:1fr; margin-top:48px; }
  .pd-system-route .pd-cube-problem-grid article,.pd-system-route .pd-cube-problem-grid article:nth-child(3n) { padding:28px 0; min-height:0; border-right:0; }
  .pd-system-route .pd-cube-problem-grid h3 { margin-top:24px; }
  .pd-system-route .pd-cube-manifesto,.pd-system-route .pd-cube-works { padding:80px 0; }
  .pd-system-route .pd-cube-manifesto p { font-size:36px; }
  .pd-system-route .pd-cube-works h2 { margin:28px 0 0; font-size:60px; }
  .pd-system-route .pd-cube-works .pd-cube-intro { margin:24px 0 0; font-size:18px; }
  .pd-system-route .pd-cube-step-grid { margin-top:48px; }
  .pd-system-route .pd-cube-step-grid article { padding:32px 0 132px; }
  .pd-system-route .pd-cube-step-grid article > div { display:block; }
  .pd-system-route .pd-cube-step-grid h3 { margin-top:20px; font-size:30px; }
  .pd-system-route .pd-cube-step-grid p { margin-top:20px; }
  .pd-system-route .pd-cube-proof h2 { margin:28px 0 0; font-size:38px; }
  .pd-system-route .pd-cube-proof-grid { margin-top:48px; gap:40px; }
  .pd-system-route .pd-cube-get > .pd-cube-shell { padding:64px 20px; }
  .pd-system-route .pd-cube-get p:last-child { margin-top:28px; font-size:32px; }
  .pd-system-route .pd-cube-fit-grid { margin-top:48px; }
  .pd-system-route .pd-cube-fit-grid article { padding:26px; }
  .pd-system-route .pd-cube-faq h2 { font-size:40px; margin-top:28px; }
  .pd-system-route .pd-cube-faq-list { margin-top:40px; }
  .pd-system-route .pd-cube-faq-list details { padding:24px; }
  .pd-system-route .pd-cube-final { padding:0 4px; }
  .pd-system-route .pd-cube-final > .pd-cube-shell { min-height:520px; padding:64px 24px; }
  .pd-system-route .pd-cube-final h2 { font-size:56px; }
  .pd-system-route .pd-cube-final p:not(.pd-cube-chip) { font-size:18px; }
}
