/* Local UI only. Keep Astra's typefaces and palette, size long quiz headings locally. */
.drq-root, .drq-home-cta { --drq-accent:#269fb7; --drq-ink:#323232; --drq-soft:#eef7f9; --drq-line:#d4e5e9; color:var(--drq-ink); }
.drq-root *, .drq-home-cta * { box-sizing:border-box; }
.drq-root [hidden] { display:none!important; }
body.drq-page .site-content > .ast-container { display:block; max-width:1240px; }
body.drq-page #primary.drq-primary { float:none; width:100%; margin:0; padding:0; border:0; }
.drq-root { max-width:1140px; margin:0 auto; padding:38px 0 60px; }
.drq-root p { margin-top:0; }
.drq-intro { max-width:880px; margin-bottom:28px; }
.drq-eyebrow { color:#16798d; font-weight:600; margin:0 0 16px; }
.drq-root .drq-intro h1 { max-width:860px; margin:0 0 18px; font-size:clamp(28px,3.5vw,44px); line-height:1.2; text-transform:none; text-wrap:balance; }
.drq-root .drq-intro .drq-eyebrow { margin-bottom:12px; }
.drq-intro > p:not(.drq-eyebrow) { max-width:800px; }
.drq-root .drq-benefits { display:flex; flex-wrap:wrap; gap:12px 30px; list-style:none; padding:0; margin:20px 0 0; }
.drq-benefits li { display:flex; align-items:baseline; }
.drq-benefits li::before, .drq-checklist li::before { content:'✓'; color:var(--drq-accent); margin-right:10px; }
.drq-app { background:#fff; border:1px solid var(--drq-line); border-radius:18px; padding:36px 40px; box-shadow:0 14px 40px #264e5309; }
.drq-progress { margin-bottom:30px; }
.drq-progress-label { font-weight:600; color:#16798d; margin-bottom:12px; }
.drq-progress-track { height:5px; border-radius:6px; background:#e6eff1; overflow:hidden; }
.drq-progress-track span { display:block; height:100%; background:var(--drq-accent); border-radius:6px; }
.drq-stage { scroll-margin-top:28px; }
.drq-fieldset { min-width:0; padding:0; margin:0; border:0; }
.drq-legend { float:none; max-width:100%; padding:0; margin-bottom:0; }
.drq-root .drq-legend h2, .drq-root .drq-stage > h2 { margin:0 0 16px; font-size:30px; line-height:1.3; text-transform:none; text-wrap:balance; }
.drq-hint { margin-bottom:26px; color:#526569; }
.drq-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:26px; }
.drq-options-format { grid-template-columns:repeat(3,minmax(0,1fr)); }
.drq-option { position:relative; display:flex; align-items:center; gap:14px; min-height:82px; padding:20px; background:#f7fafb; border:1px solid var(--drq-line); border-radius:10px; cursor:pointer; margin:0; font-weight:400; line-height:1.5; }
.drq-option:hover { background:var(--drq-soft); border-color:var(--drq-accent); }
.drq-option:has(input:checked) { background:#e8f5f7; border-color:#16798d; box-shadow:inset 0 0 0 1px #16798d; }
.drq-option input { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.drq-option:has(input:focus-visible), .drq-root button:focus-visible, .drq-root a:focus-visible, .drq-root summary:focus-visible, .drq-home-cta a:focus-visible { outline:3px solid #16798d; outline-offset:4px; }
.drq-check { display:inline-flex; align-items:center; justify-content:center; flex:0 0 22px; height:22px; line-height:1; border:1px solid #93b9c2; border-radius:5px; color:transparent; background:#fff; text-align:center; font-weight:600; }
.drq-option input:checked + .drq-check { background:#16798d; color:#fff; border-color:#16798d; }
.drq-option-label { display:block; font-weight:600; }
.drq-option-hint { display:block; margin-top:7px; color:#526569; font-weight:400; }
.drq-actions { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:30px; }
.drq-root .drq-button, .drq-home-cta .button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:16px 25px; text-align:center; white-space:normal; text-decoration:none; }
.drq-root .drq-button:disabled { cursor:not-allowed; opacity:.48; }
.drq-root .drq-secondary { background:#fff; color:#16798d; border:1px solid #93b9c2; }
.drq-root .drq-secondary:hover { background:#eef7f9; color:#125f6f; }
.drq-choice-help { color:#526569; }
.drq-footnote { max-width:880px; margin-top:26px; color:#526569; }
.drq-footnote p { margin-bottom:10px; }
.drq-answer-summary { margin-bottom:28px; }
.drq-root summary { cursor:pointer; color:#16798d; font-weight:600; }
.drq-root summary:focus { border-radius:3px; }
.drq-checklist { list-style:none; margin:18px 0 0; padding:0; }
.drq-checklist li { position:relative; padding-left:26px; margin-bottom:10px; }
.drq-checklist li::before { position:absolute; left:0; }
.drq-care-note { padding:20px 24px; border-left:3px solid var(--drq-accent); background:#eef7f9; }
.drq-result-group { margin-top:34px; }
.drq-group-title { margin:0 0 20px; }
.drq-card { overflow:hidden; border:1px solid var(--drq-line); border-radius:12px; background:#fff; }
.drq-product-image { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; }
.drq-card-content { display:flex; flex-direction:column; align-items:flex-start; padding:24px; }
.drq-card-type { color:#16798d; font-weight:600; margin-bottom:10px; }
.drq-card h3.drq-card-title { font-size:20px; line-height:1.45; margin:0 0 15px; }
.drq-card-description { margin-bottom:16px; }
.drq-card-format, .drq-duration { color:#526569; margin-bottom:10px; }
.drq-included { color:#16798d; margin-bottom:14px; }
.drq-card-buy { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; margin-top:auto; padding-top:20px; width:100%; }
.drq-price { font-family:Montserrat,sans-serif; font-size:24px; font-weight:500; white-space:nowrap; }
.drq-files { margin:6px 0 0; width:100%; }
.drq-program-card { display:grid; grid-template-columns:270px minmax(0,1fr); background:#f5fafb; align-items:start; }
.drq-program-card .drq-product-image { margin:24px 0 24px 24px; width:calc(100% - 24px); border-radius:8px; }
.drq-program-card .drq-card-content { padding-left:28px; }
.drq-singles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.drq-singles:has(> :only-child) { grid-template-columns:1fr; }
.drq-singles > :only-child { display:grid; grid-template-columns:220px minmax(0,1fr); align-items:start; }
.drq-overlap-note { color:#526569; }
.drq-result-actions { display:flex; flex-wrap:wrap; gap:18px 22px; align-items:center; border-top:1px solid var(--drq-line); padding-top:30px; margin-top:38px; }
.drq-catalog-link { color:#16798d; text-decoration:underline; text-underline-offset:.2em; }
.drq-home-cta { max-width:1140px; margin:46px auto 20px; display:grid; grid-template-columns:minmax(0,1fr) 305px; gap:32px; align-items:center; padding:34px 40px; background:#eef7f9; border-radius:14px; }
.entry-content .drq-home-cta h2 { margin-top:0; margin-bottom:16px; font-size:36px; line-height:1.25; text-transform:none; text-wrap:balance; }
.drq-home-cta div > p:last-child { margin-bottom:0; }
.drq-home-cta .button { max-width:305px; gap:12px; }
@media (max-width:1100px) { .drq-home-cta { margin-left:25px; margin-right:25px; grid-template-columns:1fr; }.drq-home-cta .button { justify-self:start; }.drq-options-format { grid-template-columns:1fr; } }
@media (max-width:767px) {
  .drq-root { padding:30px 0 38px; }
  .drq-intro { margin-bottom:24px; }
  .drq-root .drq-legend h2, .drq-root .drq-stage > h2 { font-size:24px; }
  .drq-app { padding:25px 20px; border-radius:12px; }
  .drq-progress { margin-bottom:24px; }
  .drq-options { grid-template-columns:1fr; gap:12px; }
  .drq-option { min-height:72px; padding:16px; gap:12px; }
  .drq-actions { margin-top:24px; gap:12px; }
  .drq-actions .drq-button { flex:1; padding:14px 15px; }
  .drq-actions .drq-choice-help { display:none; }
  .drq-root .drq-benefits { gap:8px 18px; }
  .drq-card h3.drq-card-title { font-size:18px; }
  .drq-program-card, .drq-singles > :only-child { display:block; }
  .drq-program-card .drq-product-image { width:100%; margin:0; border-radius:0; }
  .drq-singles { grid-template-columns:1fr; }
  .drq-card-content, .drq-program-card .drq-card-content { padding:22px; }
  .drq-card-buy { gap:15px; }
  .drq-card-buy .drq-button { width:100%; }
  .drq-result-actions { flex-direction:column; align-items:stretch; }
  .drq-result-actions .drq-catalog-link { text-align:center; }
  .drq-home-cta { margin:32px 20px 20px; padding:26px 24px; gap:24px; }
  .entry-content .drq-home-cta h2 { font-size:28px; }
  .drq-home-cta .button { max-width:100%; width:100%; justify-self:stretch; }
}
