/* V51: constrain major sections as cards; retain existing content and interactions. */
.constrained-product {--card-page:#f4f7fc;--card-surface:#fff;--card-soft:#f0f5ff;--card-border:#dee7f5;background:var(--card-page);}
:root[data-theme="dark"] .constrained-product {--card-page:#0d1726;--card-surface:#142339;--card-soft:#192d47;--card-border:#29425f;}
.constrained-product .header-inner,.constrained-product .company-footer-main,.constrained-product .company-footer-bottom {width:min(1180px,calc(100% - 48px));margin-inline:auto;}
.constrained-product .td-main {padding:22px 0 36px;}
.constrained-product .product-path {width:min(1180px,calc(100% - 48px));margin:0 auto 16px;}
.constrained-product .td-main>.td-panel {width:min(1180px,calc(100% - 48px));margin:0 auto 24px;padding:42px 44px;border:1px solid var(--card-border);border-radius:20px;background:var(--card-surface);box-shadow:0 5px 20px rgba(40,72,130,.025);}
.constrained-product .td-main>.td-hero {grid-template-columns:1fr 1.04fr;gap:44px;min-height:0;padding:44px;background:linear-gradient(120deg,var(--card-surface),var(--card-soft));}
.constrained-product .td-hero h1 {font-size:48px;line-height:1.26;letter-spacing:-1.2px;margin-bottom:20px;}
.constrained-product .td-hero .td-eyebrow {margin-bottom:20px;}
.constrained-product .td-lead {font-size:19px;}
.constrained-product .td-hero-art img {border-radius:12px;}
.constrained-product .td-intro {max-width:480px;font-size:15px;}
.constrained-product .td-main h2,.constrained-product .feature-heading h2 {font-size:28px;}
.constrained-product .td-main>.feature-intro {width:min(1180px,calc(100% - 48px));margin:12px auto 18px;padding:16px 4px;border:0;background:transparent;}
.constrained-product .td-section-heading {margin-bottom:26px;}
.constrained-product .feature-heading {margin-bottom:28px;}
.constrained-product .td-main>#how-it-works {padding:42px 44px;background:var(--card-surface);}
.constrained-product .td-steps {gap:24px;}
.constrained-product .td-steps li,.constrained-product .td-steps li:last-child {padding:18px 12px 12px;}
.constrained-product .detail-grid {gap:22px;}
.constrained-product .detail-grid article {padding:18px 12px 12px;}
.constrained-product .td-main>#volumes,.constrained-product .td-main>#reuse {gap:52px;grid-template-columns:.9fr 1.1fr;background:var(--card-soft);padding:42px 44px;}
.constrained-product #volumes .td-split-copy h2 {font-size:30px;}
.constrained-product .td-tabs {gap:18px;margin-bottom:24px;}
.constrained-product .td-tabs button {font-size:15px;}
.constrained-product .td-volume-panel h3 {font-size:21px;}
.constrained-product .td-main>#version-choice {padding:42px 44px;background:var(--card-surface);}
.constrained-product .td-editions {gap:64px;}
.constrained-product .td-editions article+article::before {left:-32px;}
.constrained-product .td-editions h3 {font-size:25px;}
.constrained-product .td-main>#faq {grid-template-columns:.6fr 1.4fr;gap:50px;padding:42px 44px;}
.constrained-product .td-main>.td-closing {padding:34px 44px;background:var(--card-soft);}
.constrained-product .page-scope-note {width:min(1180px,calc(100% - 48px));margin:0 auto;padding:0 4px;}
@media(max-width:1100px){
  .constrained-product .td-main>.td-panel,.constrained-product .td-main>#how-it-works,.constrained-product .td-main>#version-choice,.constrained-product .td-main>#faq,.constrained-product .td-main>#volumes,.constrained-product .td-main>#reuse {padding:34px;}
  .constrained-product .td-main>.td-hero {gap:30px;}.constrained-product .td-hero h1 {font-size:42px;}
  .constrained-product .td-main>#volumes,.constrained-product .td-main>#reuse {gap:34px;}
}
@media(max-width:850px){
  .constrained-product .td-main>.td-hero,.constrained-product .td-main>#volumes,.constrained-product .td-main>#reuse {grid-template-columns:1fr;gap:28px;}
  .constrained-product .td-main>#faq {grid-template-columns:1fr;gap:16px;}
  .constrained-product .td-hero-copy {max-width:none;}.constrained-product .td-hero-art img {max-height:420px;object-fit:cover;}
}
@media(max-width:600px){
  .constrained-product .header-inner,.constrained-product .company-footer-main,.constrained-product .company-footer-bottom {width:calc(100% - 32px);}
  .constrained-product .td-main {padding-top:14px;}.constrained-product .product-path {width:calc(100% - 32px);margin-bottom:12px;}
  .constrained-product .td-main>.td-panel,.constrained-product .td-main>#how-it-works,.constrained-product .td-main>#version-choice,.constrained-product .td-main>#faq,.constrained-product .td-main>#volumes,.constrained-product .td-main>#reuse,.constrained-product .td-main>.td-closing {width:calc(100% - 32px);margin-bottom:16px;padding:26px 20px;border-radius:15px;}
  .constrained-product .td-hero h1 {font-size:35px;letter-spacing:-.9px;}.constrained-product .td-lead {font-size:17px;}.constrained-product .td-intro {font-size:14px;}
  .constrained-product .td-main h2,.constrained-product .feature-heading h2,.constrained-product #volumes .td-split-copy h2 {font-size:24px;}
  .constrained-product .td-main>.feature-intro {width:calc(100% - 32px);padding:12px 4px;margin:4px auto 12px;}
  .constrained-product .td-editions {gap:28px;}.constrained-product .td-editions article+article::before {content:none;}
  .constrained-product .td-tabs {gap:8px;}.constrained-product .td-tabs button {font-size:14px;}
  .constrained-product .td-volume-panel h3 {font-size:19px;}.constrained-product .page-scope-note {width:calc(100% - 32px);}
}
