/* Page 996 only: shared product-section palette, no global component overrides. */
body.page-id-996.custom-background.wp-theme-partdo { background:#fff; }
body.page-id-996 .site-footer .footer-row.custom-background-dark { background:var(--ourdeal-grey,#f7fafd); }
.od-why { --odw-purple:#673de6; --odw-ink:#212529; --odw-muted:#596471; --odw-border:#d1dced; --odw-pale:#f7f9fc; width:100%; max-width:1464px; padding:0 28px 64px; margin:auto; color:var(--odw-ink); font-family:inherit; font-size:16px; line-height:1.65; }
.od-why * { box-sizing:border-box; }
.od-why h1,.od-why h2,.od-why h3,.od-why p,.od-why figure { margin:0; }
.od-why h1,.od-why h2,.od-why h3 { color:var(--odw-ink); font-family:inherit; font-weight:700; letter-spacing:-.025em; }
.od-why h1 { font-size:clamp(32px,3.4vw,50px); line-height:1.15; margin:16px 0 22px; }
.od-why h1 span,.od-why .odw-purple { color:var(--odw-purple); }
.od-why h2 { font-size:clamp(27px,2.4vw,36px); line-height:1.24; margin:12px 0 18px; }
.od-why h3 { font-size:19px; line-height:1.35; margin:0 0 8px; }
.od-why p { color:var(--odw-muted); }
.od-why p+p { margin-top:14px; }
.od-why a { color:var(--odw-purple); }
.od-why .odw-eyebrow { color:var(--odw-purple); font-size:12px; font-weight:700; letter-spacing:.17em; line-height:1.6; }
.od-why .odw-lead { color:var(--odw-ink); font-size:21px; line-height:1.45; margin-bottom:16px; }
.odw-hero { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:64px; padding:64px 0 42px; }
.odw-hero-image { position:relative; overflow:hidden; border-radius:18px; background:var(--odw-pale); }
.odw-hero-image img { display:block; width:100%; height:auto; aspect-ratio:1.18; object-fit:cover; }
.odw-hero-image figcaption { position:absolute; bottom:20px; left:20px; right:20px; display:flex; gap:16px; align-items:center; background:rgba(255,255,255,.96); padding:20px; border-radius:14px; }
.odw-hero-image figcaption strong,.odw-hero-image figcaption div>span { display:block; }
.odw-hero-image figcaption strong { font-size:20px; }
.odw-hero-image figcaption div>span { font-size:14px; color:var(--odw-muted); margin-top:3px; }
.odw-tick { flex:none; display:inline-flex; justify-content:center; align-items:center; width:38px; height:38px; background:#f5f1ff; border-radius:50%; color:var(--odw-purple); font-size:24px; line-height:1; }
.odw-actions { display:flex; flex-wrap:wrap; gap:20px; align-items:center; margin-top:26px; }
.od-why .odw-button { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:48px; padding:12px 24px; border:1px solid var(--odw-purple); border-radius:99px; color:#fff; background:var(--odw-purple); text-decoration:none; font-size:15px; font-weight:600; line-height:1.4; }
.od-why .odw-button:hover { background:#582bcf; border-color:#582bcf; color:#fff; }
.od-why .odw-textlink { font-size:14px; font-weight:600; text-decoration:none; }
.od-why .odw-textlink:hover { text-decoration:underline; }
.od-why a:focus-visible,.od-why summary:focus-visible { outline:3px solid var(--odw-purple); outline-offset:4px; border-radius:8px; }
.odw-assurance { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--odw-border); border-bottom:1px solid var(--odw-border); padding:26px 0; gap:30px; }
.odw-assurance>div { display:flex; gap:14px; align-items:center; }
.odw-assurance p strong,.odw-assurance p span { display:block; }
.odw-assurance p strong { color:var(--odw-ink); font-size:15px; }
.odw-assurance p span { font-size:13px; margin-top:2px; }
.odw-section { margin-top:76px; scroll-margin-top:150px; }
.odw-difference { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:center; }
.odw-difference-list article { display:flex; gap:20px; padding:24px 0; border-bottom:1px solid var(--odw-border); }
.odw-difference-list article:first-child { padding-top:0; }
.odw-difference-list article:last-child { border:0; padding-bottom:0; }
.odw-number { color:var(--odw-purple); font-size:14px; font-weight:600; padding-top:3px; }
.odw-difference-list p { font-size:15px; }
.odw-panel { background:var(--odw-pale); border:1px solid var(--odw-border); border-radius:18px; padding:36px; }
.odw-section-heading { display:flex; justify-content:space-between; align-items:center; gap:32px; margin-bottom:26px; }
.odw-section-heading h2 { margin-bottom:0; }
.odw-section-heading>p { max-width:370px; }
.odw-stats { display:grid; grid-template-columns:1fr 1fr 1fr 1.3fr; padding:26px 0; border-top:1px solid var(--odw-border); border-bottom:1px solid var(--odw-border); }
.odw-stats>div { padding:0 26px; border-right:1px solid var(--odw-border); }
.odw-stats>div:first-child { padding-left:0; }
.odw-stats>div:last-child { border:0; padding-right:0; }
.odw-stats strong { display:block; font-size:44px; font-weight:500; line-height:1.15; color:var(--odw-purple); letter-spacing:-.04em; }
.odw-stats strong span { font-size:28px; }
.odw-stats div>span:not(.odw-tick) { display:block; font-size:14px; color:var(--odw-muted); margin-top:8px; }
.odw-stat-note { display:flex; align-items:center; gap:14px; }
.odw-stat-note p { font-size:14px; }
.odw-stat-note small { display:block; font-size:12px; margin-top:4px; }
.od-why .odw-check-intro { margin:24px 0; font-size:14px; max-width:900px; }
.odw-check-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; align-items:start; }
.od-why details { border:1px solid var(--odw-border); border-radius:12px; background:#fff; overflow:hidden; }
.od-why summary { display:flex; align-items:center; gap:12px; position:relative; padding:17px 46px 17px 18px; font-size:15px; line-height:1.45; font-weight:600; cursor:pointer; list-style:none; color:var(--odw-ink); }
.od-why summary::-webkit-details-marker { display:none; }
.od-why summary::after { content:'+'; position:absolute; right:18px; color:var(--odw-purple); font-size:22px; font-weight:400; }
.od-why details[open]>summary::after { content:'−'; }
.od-why details[open]>summary { color:var(--odw-purple); }
.od-why summary>span { font-weight:400; font-size:12px; color:var(--odw-purple); }
.od-why details>p { font-size:14px; padding:0 18px 18px; margin:0; }
.odw-journey { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; list-style:none; padding:0; margin:0; }
.odw-journey li { margin:0; border-top:2px solid var(--odw-border); padding-top:22px; }
.odw-journey li>span { display:block; color:var(--odw-purple); font-size:13px; font-weight:600; margin-bottom:16px; }
.odw-journey p { font-size:15px; }
.odw-grades { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.odw-grades article { padding:24px; border:1px solid var(--odw-border); border-radius:16px; }
.odw-grade-icon { display:inline-flex; width:34px; height:34px; align-items:center; justify-content:center; color:var(--odw-purple); font-size:25px; border:1px solid #d9ccff; border-radius:50%; margin-bottom:18px; }
.odw-grades h3 { font-size:27px; margin-bottom:6px; }
.odw-grades p { font-size:15px; }
.odw-grades .odw-purple { font-size:13px; }
.od-why .odw-small { font-size:12px; margin-top:16px; }
.odw-support { background:var(--odw-pale); padding:40px; border-radius:18px; display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.odw-support .odw-button { margin-top:24px; }
.odw-support-cards { display:grid; gap:22px; }
.odw-support-cards article { padding-left:24px; border-left:2px solid var(--odw-border); }
.odw-support-cards p { font-size:14px; }
.odw-faq-section { display:grid; grid-template-columns:.65fr 1.35fr; gap:72px; }
.odw-faq-section .odw-textlink { display:inline-block; margin-top:18px; }
.odw-faqs { display:grid; gap:12px; align-content:start; }
.odw-faqs details { background:var(--odw-pale); }
.odw-faqs summary { padding:20px 48px 20px 22px; }
.odw-faqs details>p { padding:0 22px 22px; }
.odw-final { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:36px 0 0; border-top:1px solid var(--odw-border); margin-top:64px; }
.odw-final h2 { margin-bottom:0; font-size:30px; }
.odw-final .odw-actions { margin-top:0; }
@media(max-width:1024px) { .odw-hero { gap:30px; }.odw-hero-image figcaption { padding:15px; left:14px; right:14px; bottom:14px; }.odw-hero-image figcaption strong { font-size:17px; }.odw-difference { gap:40px; }.odw-panel { padding:28px; }.odw-grades { grid-template-columns:repeat(2,1fr); }.odw-stats { grid-template-columns:repeat(3,1fr); }.odw-stats>div:nth-child(3) { border:0; }.odw-stats .odw-stat-note { grid-column:1/-1; padding:22px 0 0; }.odw-journey { gap:20px; }.odw-support { gap:35px; }.odw-faq-section { gap:35px; }.odw-assurance { gap:16px; }.odw-assurance>div { gap:10px; }.odw-assurance .odw-tick { width:30px; height:30px; font-size:20px; } }
@media(max-width:767px) { .od-why { padding:0 20px 40px; font-size:15px; }.odw-hero { grid-template-columns:1fr; gap:28px; padding:36px 0 28px; }.od-why h1 { font-size:36px; }.odw-hero-image img { aspect-ratio:1.4; }.odw-hero-image figcaption { padding:14px; }.odw-assurance { grid-template-columns:1fr; gap:18px; padding:24px 0; }.odw-section { margin-top:48px; scroll-margin-top:110px; }.odw-difference,.odw-faq-section,.odw-support { grid-template-columns:1fr; gap:28px; }.odw-section-heading { display:block; margin-bottom:22px; }.odw-section-heading>p { margin-top:16px; font-size:14px; }.odw-panel { padding:22px 16px; }.odw-stats>div { padding:0 10px; }.odw-stats strong { font-size:32px; }.odw-stats div>span:not(.odw-tick) { font-size:12px; }.odw-check-grid { grid-template-columns:1fr; gap:9px; }.odw-journey { grid-template-columns:1fr 1fr; gap:26px 22px; }.odw-grades { gap:14px; }.odw-grades article { padding:20px; }.odw-grades h3 { font-size:24px; }.odw-support { padding:26px 22px; }.odw-final { display:block; margin-top:44px; }.odw-final .odw-actions { margin-top:24px; }.odw-faqs summary { font-size:14px; }.odw-actions { gap:16px; } }
@media(max-width:420px) { .od-why { padding-left:16px; padding-right:16px; }.od-why h1 { font-size:32px; }.od-why .odw-lead { font-size:19px; }.odw-grades { grid-template-columns:1fr; }.odw-journey { grid-template-columns:1fr; }.odw-hero-image figcaption div>span { font-size:12px; }.odw-hero-image figcaption strong { font-size:16px; }.odw-hero-image figcaption { gap:10px; left:10px; right:10px; bottom:10px; }.odw-stats strong { font-size:29px; }.odw-stats strong span { font-size:21px; }.odw-stats div>span:not(.odw-tick) { font-size:11px; }.odw-stats>div { padding:0 8px; } }
