/* GENERATED by build-css.php – do not edit. Sources in order: platform-r167.css, unified-r1702.css, visual-r17027.css, visual-r17028.css, duo-refined-energy.css, duo-r170210.css, duo-r170211.css, duo-r170212.css, duo-r170215-images.css, duo-r170216-footer.css */

/* ---- platform-r167.css ---- */

/* R107 platform layer: centralized header/footer/admin-ready shell */
.duo-shell{width:min(1200px,calc(100% - 40px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.90);backdrop-filter:blur(18px);border-bottom:1px solid rgba(30,55,95,.08)}.duo-nav-shell{min-height:78px;display:flex;align-items:center;gap:32px}.duo-wordmark{display:flex;flex-direction:column;text-decoration:none;min-width:210px}.duo-wordmark strong{font-size:1.12rem;letter-spacing:-.03em;color:#101b31}.duo-wordmark small{font-size:.57rem;letter-spacing:.12em;color:#6d7a90;margin-top:4px}.duo-nav-shell nav{display:flex;gap:22px;align-items:center;flex:1;justify-content:center}.duo-nav-shell nav a,.duo-nav-tools a{color:#2b3548;text-decoration:none;font-size:.86rem}.duo-nav-shell nav a:hover{color:#2867e8}.duo-nav-tools{display:flex;gap:12px;align-items:center;color:#516078;font-size:.8rem}.duo-footer{margin-top:72px;background:#f5f7fb;border-top:1px solid #e5eaf2;padding:42px 0 18px;color:#34425a}.duo-footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:36px}.duo-footer strong{display:block;color:#16213a;margin-bottom:12px}.duo-footer a,.duo-footer span{display:block;color:#5b6b83;text-decoration:none;margin:7px 0;font-size:.88rem}.duo-footer p{margin:6px 0}.duo-muted{color:#7b8798;font-size:.86rem}.duo-footline{border-top:1px solid #e1e6ee;margin-top:28px;padding-top:15px;display:flex;justify-content:space-between;color:#7a8798;font-size:.78rem}@media(max-width:900px){.duo-nav-shell{flex-wrap:wrap;padding:12px 0}.duo-nav-shell nav{order:3;width:100%;overflow:auto;justify-content:flex-start;padding-bottom:4px}.duo-footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.duo-shell{width:min(100% - 24px,1200px)}.duo-wordmark{min-width:0;flex:1}.duo-nav-tools{margin-left:auto}.duo-footer-grid{grid-template-columns:1fr}.duo-footline{display:block}.duo-footline span{margin-top:6px}}

.duo-platform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.duo-platform-grid article{background:#fff;border:1px solid #e4e9f1;border-radius:16px;padding:24px;box-shadow:0 8px 26px #2237590b}.duo-platform-grid article>b{font-size:.69rem;letter-spacing:.13em;color:#2867e8}.duo-platform-grid article h2{margin:8px 0 8px}.duo-platform-grid article span{display:inline-block;margin-top:8px;padding:4px 8px;border-radius:999px;background:#eef3fb;color:#4f6180;font-size:.72rem}@media(max-width:680px){.duo-platform-grid{grid-template-columns:1fr}}

/* R108 accessory finder + compatibility matrix */
.tool-hero{padding:64px 0 22px}.tool-hero .eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.13em;color:#2867e8}.tool-hero h1{margin:.35rem 0 .55rem;font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.04em;line-height:1.05;color:#111c32}.tool-hero .lead{max-width:820px;color:#5a6980;font-size:1.05rem}.tool-panel,.tool-results{margin-top:14px}.tool-panel{background:#fff;border:1px solid #e2e8f1;border-radius:18px;padding:18px;box-shadow:0 12px 34px #243a5f0c}.finder-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end}.finder-form label{display:grid;gap:6px;font-weight:700;color:#26364f;font-size:.8rem}.finder-form select{min-height:44px;border:1px solid #cdd7e5;border-radius:10px;background:#fff;color:#15213a;padding:0 12px;font:inherit}.finder-form button{min-height:44px;border:0;border-radius:10px;background:#2867e8;color:#fff;padding:0 18px;font-weight:800;cursor:pointer}.finder-form button:hover{background:#1f57cc}.tool-results{padding-bottom:28px}.tool-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:28px 0 14px}.tool-head h2{margin:0;font-size:1.5rem}.tool-head p{margin:4px 0 0;color:#77849a}.tool-head a{color:#2867e8;text-decoration:none;font-weight:700}.tool-empty{background:#fff;border:1px dashed #ccd7e6;border-radius:16px;padding:28px;color:#53627a}.tool-empty h3{margin-top:0;color:#18243c}.tool-empty a{color:#2867e8;font-weight:700;text-decoration:none}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.product-card{background:#fff;border:1px solid #e1e7ef;border-radius:16px;padding:20px;box-shadow:0 8px 28px #2037580b;display:flex;flex-direction:column;min-height:260px}.product-meta{display:flex;gap:6px;flex-wrap:wrap}.product-meta span{padding:4px 8px;border-radius:999px;background:#edf3ff;color:#315caa;font-size:.68rem;font-weight:800}.product-card h3{margin:14px 0 6px;font-size:1.1rem}.product-card>p{margin:0 0 12px;color:#65748c}.product-card dl{margin:auto 0 14px}.product-card dl div{display:grid;grid-template-columns:110px 1fr;gap:8px;border-top:1px solid #edf1f5;padding:8px 0;font-size:.78rem}.product-card dt{font-weight:700;color:#34445e}.product-card dd{margin:0;color:#67768d}.product-actions{display:flex;gap:8px}.product-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:9px;padding:9px 12px;font-size:.8rem;font-weight:800}.product-actions .primary{background:#2867e8;color:#fff}.product-actions .secondary{border:1px solid #cfd8e5;color:#273852}.affiliate-note{font-size:.75rem;color:#7d899b;margin-top:12px}.matrix-wrap{overflow:auto;background:#fff;border:1px solid #e1e7ef;border-radius:16px}.compat-matrix{min-width:760px;width:100%;border-collapse:collapse}.compat-matrix th,.compat-matrix td{padding:13px 12px;border-bottom:1px solid #edf1f5;text-align:center}.compat-matrix thead th{background:#f7f9fc;color:#2e3b54;font-size:.78rem}.compat-matrix tbody th{text-align:left;min-width:240px}.compat-matrix tbody th b,.compat-matrix tbody th small{display:block}.compat-matrix tbody th small{color:#7b8799;font-weight:400;margin-top:3px}.compat{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 8px;border-radius:8px;font-size:.7rem;font-weight:800}.compat.editorial{background:#e7f7ed;color:#14743a}.compat.manufacturer{background:#eaf1ff;color:#2d5ca8}.compat.reported{background:#fff4dd;color:#8a5a00}.compat.unknown{background:#f1f3f7;color:#667085}.compat.none{background:transparent;color:#b1bac8}.legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;color:#66758d;font-size:.75rem}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.legend i.editorial{background:#39a364}.legend i.manufacturer{background:#4b79cc}.legend i.reported{background:#d59a2d}.legend i.unknown{background:#98a2b3}
@media(max-width:980px){.finder-form{grid-template-columns:1fr 1fr}.finder-form button{grid-column:1/-1}.product-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.finder-form,.product-grid{grid-template-columns:1fr}.tool-head{align-items:start;flex-direction:column}.product-card{min-height:0}}
.finder-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#eef4ff,#fff);border:1px solid #dce6f5;border-radius:16px;padding:24px!important}.finder-cta h2{margin:.25rem 0 .45rem}.finder-cta p{margin:0;color:#617089}.finder-cta-kicker{font-size:.68rem;font-weight:800;letter-spacing:.12em;color:#2867e8}.finder-cta-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.finder-cta-actions a{text-decoration:none;font-weight:800;color:#2867e8}.finder-cta-actions .button{background:#2867e8;color:#fff;border-radius:9px;padding:10px 13px}@media(max-width:720px){.finder-cta{align-items:flex-start;flex-direction:column}}


/* R109 model comparison + purchase advisor */
.compare-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.compare-form label,.advisor-form label{display:grid;gap:6px;font-size:.78rem;font-weight:800;color:#37465f}.compare-form select,.advisor-form select{width:100%;padding:11px 12px;border:1px solid #cfd9e7;border-radius:10px;background:#fff;color:#18243c;font:inherit}.compare-form button,.advisor-form button,.tool-primary{border:0;border-radius:10px;background:#2867e8;color:#fff;padding:11px 15px;font-weight:800;text-decoration:none;cursor:pointer}.compare-grid{display:grid;grid-template-columns:minmax(150px,.7fr) repeat(2,minmax(0,1fr));border:1px solid #e0e6ef;border-radius:16px;overflow:hidden;background:#fff}.compare-grid>div{padding:15px 16px;border-right:1px solid #edf1f5;border-bottom:1px solid #edf1f5}.compare-grid>div:nth-child(3n){border-right:0}.compare-device{background:#f7f9fc}.compare-device b,.compare-device span{display:block}.compare-device b{font-size:1rem;color:#17243c}.compare-device span{font-size:.72rem;color:#7c899c;margin-top:3px}.compare-label{font-weight:800;color:#33425b;background:#fafbfc}.compare-value{display:flex;flex-direction:column;gap:4px;min-height:82px}.compare-value strong{font-size:.95rem;color:#17243c}.compare-value small{color:#6d7b91}.compare-value a{color:#2867e8;text-decoration:none;font-size:.74rem;font-weight:800}.compare-value .missing{color:#98a2b3;font-style:italic}.tool-note{margin-top:12px;color:#66758d;font-size:.78rem;background:#f8faff;border:1px solid #e4eaf3;border-radius:10px;padding:12px 14px}.tool-crosslink{margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#f0f5ff,#fff);border:1px solid #dce6f5;border-radius:17px;padding:22px 24px}.tool-crosslink span{font-size:.72rem;color:#66758d}.tool-crosslink h2{margin:4px 0 0;font-size:1.25rem}.advisor-shell{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:18px;align-items:start}.advisor-form{background:#fff;border:1px solid #e1e7ef;border-radius:16px;padding:18px;display:grid;gap:12px;box-shadow:0 8px 28px #2037580b}.advisor-form label{padding-bottom:10px;border-bottom:1px solid #edf1f5}.advisor-form button{margin-top:4px}.advisor-intro,.advisor-results,.advisor-shell>.tool-empty{background:#fff;border:1px solid #e1e7ef;border-radius:16px;padding:22px;box-shadow:0 8px 28px #2037580b}.advisor-intro h2{margin-top:0}.advisor-intro p,.advisor-intro li{color:#65748c}.advisor-results{display:grid;gap:12px}.advisor-card{display:grid;grid-template-columns:44px 1fr;gap:14px;border:1px solid #e3e9f1;border-radius:14px;padding:15px}.advisor-card.best{border-color:#a9c5ff;background:linear-gradient(135deg,#f5f8ff,#fff)}.advisor-rank{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#edf3ff;color:#2867e8;font-weight:900}.advisor-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.advisor-title h3{margin:0}.advisor-title span{padding:4px 8px;border-radius:999px;background:#e7f7ed;color:#14743a;font-size:.67rem;font-weight:800}.advisor-bar{height:7px;background:#edf1f5;border-radius:999px;overflow:hidden;margin-top:12px}.advisor-bar i{display:block;height:100%;background:linear-gradient(90deg,#2867e8,#7c4dff);border-radius:inherit}.advisor-score{margin:6px 0 12px;color:#526178;font-size:.76rem;font-weight:800}.advisor-reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.advisor-reasons>div{border:1px solid #edf1f5;border-radius:9px;padding:9px}.advisor-reasons b,.advisor-reasons span,.advisor-reasons small,.advisor-reasons a{display:block}.advisor-reasons b{font-size:.78rem}.advisor-reasons span{font-size:.72rem;color:#66758d;margin:3px 0}.advisor-reasons small{font-size:.65rem;color:#7d899a}.advisor-reasons a{font-size:.68rem;color:#2867e8;text-decoration:none;font-weight:800;margin-top:3px}.advisor-excluded{margin:2px 0 0;color:#7c899a;font-size:.72rem}
@media(max-width:900px){.compare-form{grid-template-columns:1fr 1fr}.compare-form button{grid-column:1/-1}.advisor-shell{grid-template-columns:1fr}}
@media(max-width:650px){.compare-grid{grid-template-columns:minmax(120px,.65fr) repeat(2,minmax(180px,1fr));overflow:auto}.tool-crosslink{align-items:flex-start;flex-direction:column}.advisor-reasons{grid-template-columns:1fr}}

/* R110 multi-merchant + price structure */
.price-product{margin:28px 0 32px}.price-cat{font-size:.68rem;font-weight:800;letter-spacing:.12em;color:#2867e8;text-transform:uppercase}.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.offer-card{position:relative;background:#fff;border:1px solid #e1e7ef;border-radius:16px;padding:18px;box-shadow:0 8px 28px #2037580b;display:flex;flex-direction:column;min-height:240px}.offer-card.stale{border-color:#ead7b5;background:#fffdf8}.offer-badge{display:inline-flex;align-self:flex-start;margin:-4px 0 10px;padding:4px 8px;border-radius:999px;background:#edf3ff;color:#2867e8;font-size:.65rem;font-weight:900}.offer-top{display:flex;align-items:start;justify-content:space-between;gap:10px}.offer-top h3{margin:0;font-size:1.05rem}.availability{padding:4px 7px;border-radius:999px;background:#f1f3f7;color:#667085;font-size:.64rem;font-weight:800;white-space:nowrap}.availability.in_stock{background:#e7f7ed;color:#14743a}.availability.limited,.availability.preorder{background:#fff4dd;color:#8a5a00}.availability.out_of_stock{background:#fdecec;color:#9b2c2c}.offer-price{margin:18px 0 2px;font-size:1.8rem;line-height:1;font-weight:900;letter-spacing:-.04em;color:#111c32}.offer-shipping{color:#6f7d91;font-size:.76rem}.offer-check{display:block;margin:auto 0 14px;padding-top:15px;color:#68778f}.offer-check.fresh{color:#167843}.offer-check.stale{color:#9a6500}.offer-card .product-actions{margin-top:auto}.offer-card .product-actions a{width:100%}.price-overview-link{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:#2867e8;text-decoration:none}.admin-price-grid{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:18px;align-items:start}.merchant-list,.offer-admin-list{display:grid;gap:8px}.merchant-list a,.offer-admin-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e4e9f1;border-radius:10px;padding:11px 12px;text-decoration:none;color:inherit}.merchant-list span,.offer-admin-list article>div:first-child{display:grid;gap:2px}.merchant-list small,.offer-admin-list small{color:#78869a}.offer-admin-list article{align-items:flex-start;flex-wrap:wrap}.offer-admin-list .row-actions{width:100%;justify-content:flex-end}.price-admin-note{padding:12px 14px;border-radius:10px;background:#f8faff;border:1px solid #e3eaf5;color:#64748b;font-size:.78rem}.freshness{font-size:.68rem;font-weight:800}.freshness.fresh{color:#167843}.freshness.current{color:#315caa}.freshness.stale{color:#9a6500}.freshness.unknown{color:#8c96a7}
@media(max-width:980px){.offer-grid{grid-template-columns:1fr 1fr}.admin-price-grid{grid-template-columns:1fr}}
@media(max-width:620px){.offer-grid{grid-template-columns:1fr}.offer-card{min-height:0}.offer-top{align-items:flex-start;flex-direction:column}}

/* R111 Radar + source confidence */
.radar-filter{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.radar-filter label{display:grid;gap:6px;font-size:.78rem;font-weight:800;color:#37465f}.radar-filter select{padding:11px 12px;border:1px solid #cfd9e7;border-radius:10px;background:#fff;color:#18243c;font:inherit}.radar-filter button{border:0;border-radius:10px;background:#2867e8;color:#fff;padding:11px 15px;font-weight:800}.radar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.radar-card{background:#fff;border:1px solid #e1e7ef;border-radius:16px;padding:18px;box-shadow:0 8px 28px #2037580b}.radar-card h3{margin:10px 0 8px;font-size:1.08rem}.radar-card>p{margin:0 0 14px;color:#5f6e84}.radar-card>small{display:block;margin-top:14px;color:#8290a3}.radar-meta{display:flex;justify-content:space-between;gap:8px;align-items:center}.radar-kind{font-size:.66rem;font-weight:900;letter-spacing:.11em;color:#2867e8;text-transform:uppercase}.radar-confidence{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.65rem;font-weight:900}.radar-confidence.confirmed{background:#e7f7ed;color:#14743a}.radar-confidence.strong{background:#eaf1ff;color:#2d5ca8}.radar-confidence.reported{background:#fff4dd;color:#8a5a00}.radar-confidence.unverified{background:#f1f3f7;color:#667085}.radar-sources{display:grid;gap:5px;padding-top:12px;border-top:1px solid #edf1f5}.radar-sources b{font-size:.75rem}.radar-sources a{color:#2867e8;text-decoration:none;font-size:.74rem}.radar-method{margin-top:18px;padding:18px;border:1px solid #dce6f5;border-radius:14px;background:#f8faff;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.radar-method>strong{grid-column:1/-1}.radar-method span{font-size:.74rem;color:#64748b}.radar-method b{display:block;color:#21324f;margin-bottom:3px}@media(max-width:850px){.radar-grid{grid-template-columns:1fr}.radar-method{grid-template-columns:1fr 1fr}}@media(max-width:620px){.radar-filter,.radar-method{grid-template-columns:1fr}.radar-filter button{width:100%}}

/* R113 Duo Digest + Double-Opt-in Newsletter
   R115 builds on R114 SEO metadata is emitted server-side; no extra public UI payload. */
.newsletter-signup{margin-top:14px;background:linear-gradient(135deg,#f8faff,#fff);border:1px solid #dfe7f3;border-radius:20px;padding:24px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}.newsletter-signup h2{margin:0 0 8px;color:#17243c}.newsletter-signup p{margin:0;color:#65748c}.newsletter-form{display:grid;gap:10px}.newsletter-form label{display:grid;gap:6px;color:#34445e;font-size:.78rem;font-weight:800}.newsletter-form input{min-height:46px;border:1px solid #cbd7e6;border-radius:10px;padding:0 12px;font:inherit}.newsletter-form button,.newsletter-cta,.newsletter-danger{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:10px;background:#2867e8;color:#fff;padding:0 17px;text-decoration:none;font-weight:800;cursor:pointer}.newsletter-form small{color:#7a8799;font-size:.72rem;line-height:1.45}.newsletter-form small a{color:#2867e8}.newsletter-message{margin-top:14px;padding:11px 13px;border-radius:10px;font-size:.8rem;font-weight:700}.newsletter-message.ok{background:#e7f7ed;color:#14743a;border:1px solid #c5e8d0}.newsletter-message.warn{background:#fff4dd;color:#8a5a00;border:1px solid #eedbb4}.newsletter-archive{padding:26px 0 24px}.newsletter-edition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.newsletter-edition-grid article{background:#fff;border:1px solid #e1e7ef;border-radius:16px;padding:20px;box-shadow:0 8px 28px #2037580b}.newsletter-edition-grid article>small{color:#7c899a}.newsletter-edition-grid h3{margin:6px 0 8px}.newsletter-edition-grid p{color:#64748b}.newsletter-edition-grid ul{padding-left:18px;margin:14px 0 0}.newsletter-edition-grid li{margin:6px 0}.newsletter-edition-grid a{color:#2867e8;text-decoration:none}.newsletter-result{max-width:760px;padding:82px 0 100px}.newsletter-result h1{font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.04em}.newsletter-result p{color:#64748b;font-size:1.02rem}.newsletter-danger{background:#8f2f2f}.newsletter-danger:hover{background:#762626}
@media(max-width:760px){.newsletter-signup,.newsletter-edition-grid{grid-template-columns:1fr}.newsletter-signup{gap:18px}}

/* R116 Trade-in / Refurbished / Tarife */
.market-hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:12px 0 28px}.market-hub>a{display:flex;flex-direction:column;min-height:220px;padding:22px;border:1px solid #dfe6f0;border-radius:18px;background:linear-gradient(145deg,#fff,#f8faff);text-decoration:none;color:#1d2b45;box-shadow:0 10px 30px #2037580b}.market-hub span{font-size:.68rem;font-weight:900;letter-spacing:.13em;color:#2867e8}.market-hub strong{font-size:1.25rem;margin:12px 0 7px}.market-hub p{margin:0;color:#65748c}.market-hub b{margin-top:auto;color:#2867e8}.market-method{margin-top:10px;padding:20px 22px;border:1px solid #dce6f5;border-radius:16px;background:#f8faff}.market-method strong{display:block;margin-bottom:6px}.market-method p{margin:0;color:#627189}.market-filter{display:grid;grid-template-columns:minmax(220px,420px) auto;gap:12px;align-items:end}.market-filter label{display:grid;gap:6px;font-size:.78rem;font-weight:800;color:#37465f}.market-filter select{min-height:44px;border:1px solid #cdd7e5;border-radius:10px;background:#fff;padding:0 12px;font:inherit}.market-filter button{min-height:44px;border:0;border-radius:10px;background:#2867e8;color:#fff;padding:0 18px;font-weight:800}.market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.market-card{display:flex;flex-direction:column;min-height:300px;padding:20px;border:1px solid #e1e7ef;border-radius:16px;background:#fff;box-shadow:0 8px 28px #2037580b}.market-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.market-card-top>span{font-size:.66rem;font-weight:900;letter-spacing:.11em;color:#2867e8}.market-card h2{font-size:1.08rem;margin:13px 0 6px}.market-card>p{margin:0 0 12px;color:#66758d}.market-price{font-size:1.35rem;font-weight:900;color:#15223c;margin:2px 0 10px}.market-card dl{margin:auto 0 14px}.market-card dl div{display:grid;grid-template-columns:105px 1fr;gap:8px;border-top:1px solid #edf1f5;padding:8px 0;font-size:.78rem}.market-card dt{font-weight:800;color:#34445e}.market-card dd{margin:0;color:#627189}.market-cta{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:#2867e8;color:#fff;text-decoration:none;padding:10px 12px;font-size:.8rem;font-weight:800}.freshness.fresh{color:#167843}.freshness.current{color:#315caa}.freshness.stale{color:#9a6500}.freshness.unknown{color:#8c96a7}@media(max-width:960px){.market-hub,.market-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.market-hub,.market-grid,.market-filter{grid-template-columns:1fr}.market-card{min-height:0}}

/* Professional navigation and analytics; discontinued personal area removed. */
.duo-main-nav{display:flex;align-items:center;gap:18px;min-width:0}.duo-main-nav>a,.nav-menu>summary{font-size:.78rem;font-weight:750;color:#24344e;text-decoration:none;white-space:nowrap}.nav-menu{position:relative}.nav-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:5px}.nav-menu>summary::-webkit-details-marker{display:none}.nav-menu>summary::after{content:'⌄';font-size:.68rem;color:#718096}.nav-menu[open]>summary{color:#1768df}.nav-menu>div{position:absolute;z-index:30;top:calc(100% + 12px);right:0;min-width:220px;padding:8px;background:rgba(255,255,255,.98);border:1px solid #dfe6f0;border-radius:13px;box-shadow:0 18px 48px #24385824;display:grid;gap:2px}.nav-menu>div a{padding:10px 11px;border-radius:8px;color:#26364f;text-decoration:none;font-size:.78rem;font-weight:700}.nav-menu>div a:hover{background:#f2f6fc;color:#1768df}.duo-nav-tools{display:flex;align-items:center;gap:8px}.duo-nav-tools>a{white-space:nowrap}.conversion-focus{margin-top:26px;margin-bottom:10px;border:1px solid #dce6f4;border-radius:16px;background:linear-gradient(100deg,#f8fbff,#fff);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.conversion-focus span{display:block;font-size:.62rem;letter-spacing:.12em;font-weight:900;color:#2867e8}.conversion-focus strong{display:block;margin-top:3px;color:#1c2a43}.conversion-focus p{margin:3px 0 0;color:#6a788d;font-size:.78rem}.conversion-focus>a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:9px;background:#2867e8;color:#fff;text-decoration:none;font-weight:800;font-size:.78rem;white-space:nowrap}
@media(max-width:1120px){.duo-main-nav{gap:12px}.duo-main-nav>a,.nav-menu>summary{font-size:.72rem}}
@media(max-width:900px){.duo-main-nav{flex-wrap:wrap;justify-content:flex-end}.nav-menu>div{right:auto;left:0}.conversion-focus{margin-inline:12px}}
@media(max-width:640px){.conversion-focus{align-items:flex-start;flex-direction:column}.conversion-focus>a{width:100%}}

/* Footer safe area without a public release marker. */
.duo-footer{overflow-x:hidden}.duo-footer .duo-footline{box-sizing:border-box;gap:16px;flex-wrap:wrap;padding-right:10px}@media(max-width:600px){.duo-footer .duo-footline{padding-right:6px}}

/* Frontend focus: no public roadmap/USP landing page; compact three-column footer. */
.duo-footer-grid{grid-template-columns:1.45fr 1fr 1fr}
@media(max-width:900px){.duo-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.duo-footer-grid{grid-template-columns:1fr}}

/* R122–R124: no new public layout bulk. */
.article-page{max-width:860px;padding:52px 0 70px}.article-page header{padding-bottom:20px;border-bottom:1px solid #e7ecf2;margin-bottom:28px}.article-page h1{font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.04em;margin:.35rem 0}.article-page section{margin:30px 0}.article-page h2{font-size:1.3rem}.article-page p,.article-page li{color:#526075;line-height:1.75}.article-meta{color:#7b8798;font-size:.78rem}.article-page a{color:#2867e8}

/* R125 – definitive header / hero responsive hardening
   Consolidates the active PHP layout without changing the approved light visual language. */
.site-header,
.duo-nav-shell,
.duo-wordmark,
.duo-main-nav,
.duo-nav-tools{overflow:visible}
.duo-nav-shell{min-height:78px;height:auto;padding-block:10px;align-items:center}
.duo-wordmark{flex:0 0 auto;min-width:198px;line-height:1;justify-content:center;padding-block:3px}
.duo-wordmark strong{display:block;line-height:1.08;white-space:nowrap}
.duo-wordmark small{display:block;line-height:1.22;white-space:nowrap;margin-top:5px}
.duo-main-nav{flex:1 1 auto;justify-content:center;min-width:0}
.duo-nav-tools{flex:0 0 auto;min-width:max-content}

/* Keep hero content inside its own safe area at intermediate desktop widths. */
.home106-hero{isolation:isolate}
.home106-copy{box-sizing:border-box;max-width:610px}
.home106-copy h1{max-width:100%}

@media (max-width:1240px) and (min-width:901px){
 .duo-shell{width:min(100% - 28px,1200px)}
 .duo-nav-shell{gap:18px}
 .duo-wordmark{min-width:180px}
 .duo-wordmark strong{font-size:1.04rem}
 .duo-wordmark small{font-size:.52rem;letter-spacing:.10em}
 .duo-main-nav{gap:11px}
 .duo-main-nav>a,.nav-menu>summary{font-size:.70rem}
 .duo-nav-tools>a{font-size:.74rem}
 .home106-copy{width:52%;padding-left:30px;padding-right:18px}
 .home106-copy h1{font-size:clamp(3.75rem,6vw,4.7rem);white-space:normal;text-wrap:balance}
}

@media (max-width:900px){
 .site-header{overflow:visible!important}
 .duo-nav-shell{min-height:0;height:auto;padding:10px 0 8px;gap:10px 14px;align-items:center}
 .duo-wordmark{order:1;min-width:0;flex:1 1 220px;padding-block:2px}
 .duo-wordmark strong{font-size:1.05rem}
 .duo-wordmark small{font-size:.51rem;letter-spacing:.10em}
 .duo-nav-tools{order:2;margin-left:auto}
 .duo-main-nav{order:3;flex:1 0 100%;width:100%;display:flex;flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto!important;overflow-y:visible!important;gap:16px;padding:7px 1px 5px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
 .duo-main-nav>a,.nav-menu>summary{font-size:.76rem;white-space:nowrap}
 .nav-menu{flex:0 0 auto}
 .nav-menu>div{top:calc(100% + 8px);left:0;right:auto}
 .home106-copy h1{white-space:normal;text-wrap:balance;overflow-wrap:normal}
}

@media (max-width:620px){
 .duo-shell{width:min(100% - 24px,1200px)}
 .duo-nav-shell{padding-top:8px}
 .duo-wordmark{flex-basis:170px}
 .duo-wordmark strong{font-size:1rem}
 .duo-wordmark small{font-size:.47rem;letter-spacing:.085em;white-space:normal;max-width:190px}
 .duo-nav-tools>a{font-size:.75rem}
 .home106-hero{min-height:760px}
 .home106-copy{padding:32px 18px 335px}
 .home106-copy h1{font-size:clamp(3rem,15vw,3.55rem);line-height:.94}
 .home106-copy h2{font-size:clamp(1.55rem,7vw,1.75rem)}
}

@media (max-width:390px){
 .duo-wordmark strong{font-size:.94rem}
 .duo-wordmark small{font-size:.44rem;letter-spacing:.065em;max-width:165px}
 .duo-nav-tools>a{font-size:.70rem}
 .home106-copy{padding-left:15px;padding-right:15px}
 .home106-copy h1{font-size:clamp(2.75rem,14vw,3.2rem)}
}


/* R127 – unified public design system + news de-duplication support
   One visual language for all public pages, without changing editorial facts. */

/* Global public-page polish */
.duo-site{background:
  radial-gradient(circle at 12% 0%,rgba(75,133,255,.055),transparent 28rem),
  linear-gradient(#f7f9fc 0,#f4f7fb 36rem,#f4f7fb 100%)}
.duo-site main{min-height:42vh}
.duo-site .subpage,.duo-site main.wrap{padding-top:38px;padding-bottom:76px}
.duo-site .section{margin-top:34px}
.duo-site .section+.section{margin-top:34px}
.duo-site .section>h2{margin-bottom:16px;font-size:clamp(1.45rem,2.4vw,2rem)}
.duo-site .section-head{align-items:flex-end;margin-bottom:16px}
.duo-site .section-head h2{font-size:clamp(1.4rem,2.2vw,1.95rem)}
.duo-site .section-head p{max-width:52ch}

/* Generic pages should never look like unstyled text dumps. */
.duo-generic .hero,
.duo-generic .catalog-hero,
.duo-generic .duo89-hero,
.duo-review .review-hero{
  border-color:#dfe6ef;
  box-shadow:0 16px 44px rgba(31,55,88,.075)
}
.duo-generic .hero{background:linear-gradient(135deg,#fff 0%,#fbfdff 58%,#f1f6fd 100%);padding:42px 46px}
.duo-generic .hero .lead{max-width:62ch}
.duo-generic .card,.duo-generic .check,
.duo-catalog .catalog-card,.duo-catalog .hub-card{
  border-color:#e0e7f0;background:rgba(255,255,255,.96);box-shadow:0 7px 22px rgba(31,52,82,.045)
}
.duo-generic .card:hover,.duo-generic .check:hover,
.duo-catalog .catalog-card:hover,.duo-catalog .hub-card:hover{
  border-color:#bfd0e6;box-shadow:0 12px 30px rgba(31,52,82,.075);transform:translateY(-1px)
}
.info-link-card{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.info-link-card:hover{border-color:#b8cce7!important;box-shadow:0 12px 30px rgba(31,52,82,.075)!important;transform:translateY(-1px)}
.card-cta{margin-top:auto;padding-top:10px}

/* Review/article layout: visible panels and compact evidence blocks. */
.duo-review .review-copy{
  background:#fff;border:1px solid #e0e7f0;border-radius:20px;
  padding:28px 30px;margin-top:26px;box-shadow:0 8px 28px rgba(31,52,82,.04)
}
.duo-review .review-copy h2{font-size:clamp(1.45rem,2vw,1.8rem)}
.duo-review .review-copy p:last-child{margin-bottom:0}
.duo-review .source-box,.duo-generic .source-box{
  position:relative;padding:24px 26px 24px 28px;background:linear-gradient(135deg,#f8fbff,#fff);
  border-left:4px solid #2d72e8;border-radius:16px;box-shadow:0 6px 20px rgba(31,52,82,.035)
}
.duo-review .source-box h2,.duo-generic .source-box h2{font-size:1.2rem;margin-bottom:8px}
.duo-review .source-box p,.duo-generic .source-box p{font-size:.96rem;line-height:1.65;margin:8px 0}
.duo-review .criteria-grid article{min-height:0}
.duo-review .product-panel{border-radius:18px}
.duo-review .r89-related a{align-items:center;min-height:58px}

/* Affiliate/search callouts were previously structurally present but visually almost bare. */
.aff-box,.ad-box{
  width:min(100%,920px);margin:28px auto 0;padding:24px 26px;border:1px solid #d7e4f3;
  border-radius:18px;background:linear-gradient(135deg,#f5f9ff 0%,#fff 68%);
  box-shadow:0 8px 26px rgba(31,52,82,.04)
}
.aff-box h3,.ad-box h3{font-size:1.2rem;margin:0 0 8px}
.aff-box p,.ad-box p{margin:0;color:#64748b;max-width:70ch;font-size:.9rem;line-height:1.55}
.aff-box .aff-actions,.ad-box .aff-actions{margin-top:16px}
.aff-box .aff-btn,.ad-box .aff-btn{background:#fff;border-color:#cddbea}

/* English catalogue/detail components that had incomplete visual coverage. */
.phone-shop-card{position:relative;overflow:hidden}
.phone-shop-card .model-mark{min-height:64px}
.phone-status.available{background:#eaf8f2;color:#167452}
.phone-status.upcoming{background:#fff6df;color:#8a6200}
.phone-status.legacy{background:#f0f2f5;color:#667085}
.phone-shop-card .card-actions{margin-top:auto;padding-top:8px}
.news-heading{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  padding:34px 36px;border:1px solid #dfe6ef;border-radius:22px;
  background:linear-gradient(135deg,#fff,#f3f7fd);box-shadow:0 10px 32px rgba(31,52,82,.05)
}
.news-heading h1{font-size:clamp(2.35rem,4vw,3.8rem)}
.news-heading p{margin:10px 0 0;color:#627289;font-size:1rem}
.news-status{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#eef3f8;color:#607086;font-size:.72rem;font-weight:700}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* News archive – compact, editorial cards instead of tall empty boxes. */
.duo-archive main.wrap{padding-top:34px}
.duo-archive .news-tools{margin:16px 0 12px}
.duo-archive .news-meta-line{margin:12px 2px 18px}
.duo-archive .news-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.duo-archive .news-card{
  align-self:start;min-height:0;height:auto;border-radius:18px;overflow:hidden;
  border:1px solid #dfe6ef;background:#fff;box-shadow:0 8px 24px rgba(31,52,82,.045)
}
.duo-archive .news-card>img,.duo-archive .news-cover img{width:100%;height:168px;object-fit:cover}
.duo-archive .news-cover{position:relative;margin:0;height:168px;overflow:hidden;background:#e9eff7}
.duo-archive .news-cover figcaption{
  position:absolute;left:10px;right:10px;bottom:9px;width:max-content;max-width:calc(100% - 20px);
  padding:4px 7px;border-radius:7px;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);
  color:#53657e;font-size:.63rem;line-height:1.3
}
.duo-archive .story-body{padding:16px 17px 17px;min-height:0;gap:9px}
.duo-archive .story-body h3{font-size:1.02rem;line-height:1.28;margin:0}
.duo-archive .story-copy{font-size:.84rem;line-height:1.48;-webkit-line-clamp:2}
.duo-archive .story-tail{margin-top:8px;padding-top:10px;border-top:1px solid #edf1f5;align-items:center}
.duo-archive .story-tail span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:56%}
.duo-archive .story-tail a{white-space:nowrap}
.duo-archive .news-card:hover{border-color:#bfd0e6;box-shadow:0 13px 32px rgba(31,52,82,.075);transform:translateY(-1px)}

/* Dynamic tool pages – consistent hero/panels even when the database is empty. */
.duo-tool{padding-bottom:20px}
.duo-tool .tool-hero{
  margin-top:34px;padding:34px 36px;border:1px solid #dfe6ef;border-radius:22px;
  background:linear-gradient(135deg,#fff,#f3f7fd);box-shadow:0 10px 32px rgba(31,52,82,.05)
}
.duo-tool .tool-hero h1{font-size:clamp(2.25rem,4vw,3.7rem);max-width:18ch}
.duo-tool .tool-hero .lead{max-width:68ch}
.duo-tool .tool-note,.duo-tool .affiliate-note,.market-method{
  border-color:#dbe6f2;background:linear-gradient(135deg,#f7faff,#fff)
}

/* Generic link strips should read as intentional navigation, not loose text. */
.duo-site .links{gap:9px}
.duo-site .links>a{display:inline-flex;align-items:center;min-height:38px;padding:8px 11px;border:1px solid #d9e3ef;border-radius:10px;background:#fff;color:#31445e;font-size:.84rem;font-weight:700}
.duo-site .links>a:hover{border-color:#b9cce3;color:#1768df;background:#f8fbff}

@media(max-width:1020px){
 .duo-archive .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .news-heading{padding:28px}
}
@media(max-width:700px){
 .duo-site .subpage,.duo-site main.wrap{padding-top:22px;padding-bottom:54px}
 .duo-generic .hero{padding:28px 24px}
 .duo-review .review-copy{padding:22px 20px;border-radius:16px}
 .duo-review .source-box,.duo-generic .source-box,.aff-box,.ad-box{padding:20px;border-radius:15px}
 .news-heading,.duo-tool .tool-hero{padding:24px 20px;border-radius:18px}
 .duo-archive .news-grid{grid-template-columns:1fr;gap:14px}
 .duo-archive .news-card>img,.duo-archive .news-cover,.duo-archive .news-cover img{height:190px}
 .duo-archive .story-tail{align-items:flex-start;flex-direction:column;gap:5px}
 .duo-archive .story-tail span{max-width:100%;white-space:normal}
}

/* R127 coverage for the remaining public component classes. */
.check-link{display:flex;align-items:center;justify-content:space-between;gap:14px;color:inherit;text-decoration:none}
.check-link:after{content:'→';color:#7290b7;font-weight:800}
.btn.ghost{background:transparent;border-color:#b9c9dc;color:#31445e}
.btn.ghost:hover{background:#f7faff;color:#1768df}
.accessory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.news-card.featured{border-color:#cbdcf1;box-shadow:0 10px 28px rgba(31,52,82,.06)}
.advisor-main,.radar-public,.newsletter-public{padding-bottom:26px}
.tool-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
/* Personalization retired; ordinary accessory-grid and disabled-state styles retained. */
.disabled,[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
@media(max-width:760px){.accessory-grid{grid-template-columns:1fr}}
/* R134 integrated platform refinements */
.offer-total{font-size:.8rem;font-weight:800;color:#31506e;margin-top:2px}.advisor-accessories{margin-top:28px;padding-top:24px;border-top:1px solid var(--duo-line,#d9e2ee)}.advisor-accessory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.advisor-accessory-grid article{display:grid;gap:5px;padding:16px;border:1px solid #dfe6ef;border-radius:16px;background:#fff}.advisor-accessory-grid span{font-size:.78rem;color:#5b6f86}.advisor-accessory-grid b{font-size:.9rem;color:#1367e8}@media(max-width:900px){.advisor-accessory-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.advisor-accessory-grid{grid-template-columns:1fr}}\n
/* R135–R140 lifecycle, price freshness and matrix states */
.compat.incompatible{background:#fff1f1;color:#9d2020;border-color:#f1b7b7}
.legend i.incompatible{background:#d84a4a}
.compat-due{display:block;margin-top:4px;color:#a15d00;font-weight:700}
.price-history{display:block;margin-top:8px;color:#65758a;font-size:.82rem;font-weight:650}
.offer-card.stale{opacity:.86}
@media(max-width:720px){.price-history{line-height:1.4}}

/* R141–R146 release-guard consolidation: no visual redesign; existing R127 design retained. */


/* R147 – one public CTA system. Prevent legacy oversized/foreign button styles. */
.duo-site :is(a.button,a.btn,a.aff-btn,a.tool-primary,a.market-cta,a.newsletter-cta,button:not(.menu-toggle)){
  box-sizing:border-box;
  display:inline-flex;
  width:auto;
  max-width:100%;
  min-height:40px;
  height:auto;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:9px 14px;
  border:1px solid #c7d5e6;
  border-radius:10px;
  background:#fff;
  color:#263a56;
  font:inherit;
  font-size:.84rem;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
  white-space:normal;
  box-shadow:none;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.duo-site :is(a.button,a.btn.primary,a.tool-primary,a.market-cta,a.newsletter-cta,.finder-form button,.compare-form button,.advisor-form button,.radar-filter button,.market-filter button,.newsletter-form button){
  border-color:#1768df;
  background:#1768df;
  color:#fff;
}
.duo-site :is(a.button,a.btn.primary,a.tool-primary,a.market-cta,a.newsletter-cta,.finder-form button,.compare-form button,.advisor-form button,.radar-filter button,.market-filter button,.newsletter-form button):hover{
  border-color:#0e58c6;
  background:#0e58c6;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 5px 14px rgba(23,104,223,.16);
}
.duo-site :is(a.btn:not(.primary),a.aff-btn){background:#fff;color:#2b4667;border-color:#c7d5e6}
.duo-site :is(a.btn:not(.primary),a.aff-btn):hover{background:#f7faff;color:#1768df;border-color:#9fb9da;transform:translateY(-1px)}
.duo-site .finder-cta-actions{gap:10px;justify-content:flex-end}
.duo-site .finder-cta-actions .button{padding:9px 13px!important;min-height:40px!important;border-radius:10px!important;font-size:.82rem!important;box-shadow:none!important}
.duo-site .finder-cta-actions>a:not(.button){display:inline-flex;align-items:center;min-height:40px;padding:8px 4px;font-size:.82rem;color:#345678}
.duo-site .tool-crosslink>a.tool-primary{flex:0 0 auto;padding-inline:14px}
.duo-site .product-actions a,.duo-site .market-cta{min-height:38px;padding:8px 12px;border-radius:9px;font-size:.79rem}
.duo-site .home106-actions a{min-height:44px;padding:10px 17px;border-radius:10px;font-size:.86rem;box-shadow:none}
.duo-site .home106-primary{box-shadow:0 5px 14px rgba(8,116,249,.14)}
.duo-site .news-filters button{min-height:36px!important;padding:7px 10px!important;border-radius:9px!important;font-size:.78rem!important;background:#fff!important;color:#40536c!important;border-color:#d7e1ee!important}
.duo-site .news-filters button[aria-pressed="true"]{background:#1768df!important;color:#fff!important;border-color:#1768df!important}
.duo-site button:focus-visible,.duo-site a.button:focus-visible,.duo-site a.btn:focus-visible,.duo-site a.tool-primary:focus-visible,.duo-site a.market-cta:focus-visible,.duo-site a.newsletter-cta:focus-visible{outline:3px solid rgba(23,104,223,.26);outline-offset:2px}
@media(max-width:700px){
 .duo-site .finder-cta-actions,.duo-site .tool-crosslink{width:100%}
 .duo-site .finder-cta-actions{justify-content:flex-start}
 .duo-site .tool-crosslink{align-items:flex-start;flex-direction:column}
 .duo-site :is(a.button,a.btn,a.aff-btn,a.tool-primary,a.market-cta,a.newsletter-cta){max-width:100%}
}

/* R147 – news visual/topic de-duplication: card layout remains compact. */
.duo-archive .news-card[data-news-cluster-hidden="1"]{display:none!important}


/* R155 – editorial depth for guide/model hubs + cross-page consistency. */
.duo-guide-hub .subpage,.duo-model-info .subpage,.duo-model-hub .subpage{padding-top:30px}
.guide148-hero,.model148-hero,.modelhub148-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);overflow:hidden;border:1px solid #dbe5f0;border-radius:26px;background:linear-gradient(135deg,#fff 0%,#f7faff 56%,#edf4fd 100%);box-shadow:0 18px 48px rgba(31,55,88,.08)}
.guide148-copy,.model148-copy,.modelhub148-copy{padding:48px 50px;align-self:center}
.guide148-copy h1,.model148-copy h1,.modelhub148-copy h1{font-size:clamp(2.45rem,4vw,4.05rem);line-height:1.02;letter-spacing:-.035em;max-width:13ch;margin:10px 0 15px}
.guide148-copy .lead,.model148-copy .lead,.modelhub148-copy .lead{max-width:58ch;font-size:1.04rem;line-height:1.68;color:#4c6079}
.guide148-visual,.model148-visual,.modelhub148-hero>figure{position:relative;margin:0;min-height:390px;background:#e9eff7;overflow:hidden}
.guide148-visual img,.model148-visual img,.modelhub148-hero>figure img{width:100%;height:100%;min-height:390px;object-fit:cover;display:block}
.guide148-visual:after,.model148-visual:after,.modelhub148-hero>figure:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,250,255,.20),transparent 30%);pointer-events:none}
.guide148-visual figcaption,.model148-visual figcaption{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;width:max-content;max-width:calc(100% - 32px);padding:7px 10px;border:1px solid rgba(255,255,255,.62);border-radius:10px;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);color:#53657e;font-size:.72rem}
.guide148-pills,.model148-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}
.guide148-pills span,.model148-pills span{padding:6px 9px;border:1px solid #d6e2f0;border-radius:999px;background:#fff;color:#46617e;font-size:.73rem;font-weight:800}
.guide148-jump{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 8px;padding:10px;border:1px solid #e0e7f0;border-radius:15px;background:rgba(255,255,255,.92);box-shadow:0 7px 22px rgba(31,52,82,.035)}
.guide148-jump a{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border-radius:9px;color:#35516f;font-size:.79rem;font-weight:800;text-decoration:none}
.guide148-jump a:hover{background:#eef5ff;color:#1768df}
.duo-guide-hub .hub-group{scroll-margin-top:90px;margin-top:32px;padding:25px;border:1px solid #e0e7f0;border-radius:20px;background:rgba(255,255,255,.78)}
.duo-guide-hub .hub-group>h2{margin:0 0 15px;font-size:1.35rem}
.duo-guide-hub .hub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;counter-reset:none}
.duo-guide-hub .hub-card{position:relative;min-height:128px;padding:18px 38px 17px 17px;border:1px solid #e0e7f0;border-radius:14px;background:#fff;box-shadow:none;text-decoration:none}
.duo-guide-hub .hub-card:before{display:none!important}.duo-guide-hub .hub-card:after{content:'→';position:absolute;right:15px;top:17px;color:#8aa3c2;font-weight:900;transform:none}
.duo-guide-hub .hub-card b{font-size:.94rem;line-height:1.3}.duo-guide-hub .hub-card span{display:block;margin-top:7px;color:#697b91;font-size:.79rem;line-height:1.48}
.duo-guide-hub .hub-card:hover{transform:translateY(-2px);border-color:#b7cbe5;box-shadow:0 12px 28px rgba(31,52,82,.07)}
.duo-guide-hub .guide148-ios{scroll-margin-top:90px;margin-top:34px;padding:27px;border:1px solid #dde6f0;border-radius:20px;background:linear-gradient(135deg,#f7faff,#fff)}
.duo-guide-hub .guide148-ios .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}

.model148-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.model148-grid>a{display:flex;flex-direction:column;min-height:200px;padding:19px;border:1px solid #dfe6ef;border-radius:16px;background:#fff;color:#233a55;text-decoration:none;box-shadow:0 7px 22px rgba(31,52,82,.035);transition:.16s ease}
.model148-grid>a>span{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#edf4ff;color:#1768df;font-size:.72rem;font-weight:900;margin-bottom:18px}
.model148-grid h3{margin:0 0 8px;font-size:1rem}.model148-grid p{margin:0;color:#65778e;font-size:.83rem;line-height:1.55}.model148-grid b{margin-top:auto;padding-top:16px;color:#1768df;font-size:.78rem}
.model148-grid>a:hover{transform:translateY(-2px);border-color:#b5cae5;box-shadow:0 12px 30px rgba(31,52,82,.075)}
.model148-check{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:start;margin-top:14px;padding:20px 22px;border:1px solid #d7e5f5;border-radius:15px;background:linear-gradient(135deg,#eef5ff,#fff)}
.model148-check strong{font-size:.94rem}.model148-check ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin:0;padding-left:19px;color:#51657e;font-size:.83rem;line-height:1.48}
.duo-model-info .model148-detail{margin-top:16px!important;padding:22px 24px!important;border:1px solid #e0e7f0!important;border-radius:16px;background:#fff}
.duo-model-info .model148-detail h2{font-size:1.25rem!important;margin-bottom:8px!important}.duo-model-info .model148-detail p{margin:0;color:#52667f;line-height:1.65}
.duo-model-info .model148-affiliate{margin-top:18px;background:linear-gradient(135deg,#fffaf2,#fff);border-color:#ecdcc3}
.duo-model-info .model148-faq{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0;border:0;background:transparent}
.duo-model-info .model148-faq article{padding:20px;border:1px solid #e0e7f0;border-radius:15px;background:#fff}
.duo-model-info .model148-faq h3{font-size:.98rem;margin-bottom:7px}.duo-model-info .model148-faq p{font-size:.84rem;color:#62758c;line-height:1.58}

.modelhub148-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.modelhub148-hero>figure img{object-position:center}
.duo-model-hub main>.section{padding:28px;border:1px solid #e0e7f0;border-radius:19px;background:rgba(255,255,255,.8);margin-top:22px!important}

/* Keep commercial modules compact and visually secondary to editorial content. */
.duo-guide-hub .aff-box,.duo-model-info .aff-box{box-shadow:none}.duo-guide-hub .aff-actions,.duo-model-info .aff-actions{gap:8px}.duo-guide-hub .aff-btn,.duo-model-info .aff-btn{font-size:.78rem!important;min-height:38px!important}

/* Generic public pages: stronger hierarchy without turning every block into a new hero. */
.duo-generic:not(.duo-archive) .section p{max-width:74ch}.duo-generic .section-head>p{color:#718096}.duo-generic .cta{border:1px solid #d9e5f3;border-radius:16px;background:linear-gradient(135deg,#eef5ff,#fff);padding:22px}

@media(max-width:1100px){.duo-guide-hub .hub-grid,.duo-guide-hub .guide148-ios .catalog-grid,.model148-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide148-hero,.model148-hero,.modelhub148-hero{grid-template-columns:1fr minmax(330px,.8fr)}.guide148-copy,.model148-copy,.modelhub148-copy{padding:38px}}
@media(max-width:820px){.guide148-hero,.model148-hero,.modelhub148-hero{grid-template-columns:1fr}.guide148-visual,.model148-visual,.modelhub148-hero>figure,.guide148-visual img,.model148-visual img,.modelhub148-hero>figure img{min-height:300px;max-height:330px}.model148-check{grid-template-columns:1fr}.model148-check ul{grid-template-columns:1fr 1fr}.duo-guide-hub .hub-group{padding:20px}.duo-model-info .model148-faq{grid-template-columns:1fr}}
@media(max-width:560px){.guide148-copy,.model148-copy,.modelhub148-copy{padding:28px 23px}.guide148-copy h1,.model148-copy h1,.modelhub148-copy h1{font-size:2.35rem}.duo-guide-hub .hub-grid,.duo-guide-hub .guide148-ios .catalog-grid,.model148-grid{grid-template-columns:1fr}.guide148-jump{overflow-x:auto;flex-wrap:nowrap;padding:8px}.guide148-jump a{white-space:nowrap}.model148-grid>a{min-height:164px}.model148-check ul{grid-template-columns:1fr}.duo-model-hub main>.section{padding:20px}.guide148-visual,.model148-visual,.modelhub148-hero>figure,.guide148-visual img,.model148-visual img,.modelhub148-hero>figure img{min-height:235px}}


/* R149–R155 — editorial, decision, commerce, Radar, SEO and production finalization */
:root{--duo-card-shadow:0 18px 50px rgba(22,46,78,.08);--duo-card-shadow-hover:0 22px 56px rgba(22,46,78,.14)}
.duo-catalog .catalog-hero,.duo-review .review-hero,.duo-generic .hero{box-shadow:var(--duo-card-shadow)}
.duo-catalog .catalog-card,.duo-review .criteria-grid article,.duo-generic .card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.duo-catalog .catalog-card:hover,.duo-review .criteria-grid article:hover,.duo-generic .card:hover{transform:translateY(-3px);box-shadow:var(--duo-card-shadow-hover)}
.catalog-action-strip{max-width:1240px;margin:18px auto 4px;padding:0 20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.catalog-action-strip a{display:flex;flex-direction:column;gap:4px;padding:15px 17px;border:1px solid #dbe5f0;border-radius:13px;background:linear-gradient(145deg,#fff,#f7faff);text-decoration:none!important;color:#13263e;box-shadow:0 8px 24px rgba(28,52,82,.05)}
.catalog-action-strip a:hover{border-color:#97b7db;transform:translateY(-2px)}.catalog-action-strip b{font-size:14px}.catalog-action-strip span{font-size:11px;color:#0b63ce;font-weight:700}
.pro155-hero{max-width:1240px;margin:24px auto 0;padding:34px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);gap:34px;align-items:center;border:1px solid #dbe5f0;border-radius:22px;background:radial-gradient(circle at 85% 18%,rgba(83,135,198,.18),transparent 34%),linear-gradient(145deg,#f4f8fc,#fff);box-shadow:var(--duo-card-shadow)}
.pro155-copy h1{font-size:clamp(34px,4.4vw,58px);letter-spacing:-.045em;max-width:780px}.pro155-copy .lead{font-size:16px;line-height:1.7;max-width:720px}.pro155-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.pro155-visual{margin:0;position:relative}.pro155-visual img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:18px;box-shadow:0 22px 48px rgba(17,36,62,.16)}.pro155-visual figcaption{font-size:10px;color:#687b91;margin-top:7px}.pro155-facts{margin-top:26px}.pro155-facts .facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pro155-facts .fact{padding:18px;border:1px solid #dde6ef;border-radius:14px;background:#fff;box-shadow:0 9px 25px rgba(25,49,80,.05)}.pro155-facts .fact b{font-size:20px;display:block;margin-bottom:4px}.pro155-facts .fact span{font-size:11px;color:#63758a}.pro155-next{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.pro155-next a{display:flex;flex-direction:column;padding:17px;border:1px solid #dce6f0;border-radius:13px;background:#fff;text-decoration:none!important;color:#152a43}.pro155-next a:hover{border-color:#9bbade;box-shadow:var(--duo-card-shadow)}.pro155-next span{font-size:11px;color:#0b63ce;margin-top:5px}
.decision-quicklinks{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:18px}.decision-quicklinks>span{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#61758e}.decision-quicklinks a{padding:7px 10px;border:1px solid #d9e5f1;border-radius:999px;background:#fff;color:#1b3857;text-decoration:none!important;font-size:11px;font-weight:700}.decision-quicklinks a:hover{border-color:#91b5dd;background:#f4f9ff}
.compare-summary-grid,.matrix-summary,.price-overview,.radar-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}.compare-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-summary-grid article,.matrix-summary article,.price-overview article,.radar-summary article{padding:14px 16px;border:1px solid #dce6f0;border-radius:13px;background:linear-gradient(180deg,#fff,#f9fbfe)}.compare-summary-grid article{display:grid;grid-template-columns:1fr auto;gap:3px 10px}.compare-summary-grid span{grid-column:1/-1;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6b7e93}.compare-summary-grid strong{font-size:14px}.compare-summary-grid b{font-size:17px;color:#0b63ce}.compare-summary-grid small{grid-column:1/-1;color:#6d7f94}.matrix-summary b,.price-overview b,.radar-summary b{display:block;font-size:22px;color:#173653}.matrix-summary span,.price-overview span,.radar-summary span{font-size:10.5px;color:#6d7e92}.decision-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:24px;margin-bottom:6px}.decision-path article{display:grid;grid-template-columns:36px 1fr;gap:1px 12px;padding:15px 16px;border:1px solid #dce6f0;border-radius:13px;background:#fff}.decision-path article>b{grid-row:1/3;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#eaf3ff;color:#0b63ce}.decision-path span{font-size:13px;font-weight:800}.decision-path small{font-size:10.5px;color:#67798e}.advisor-compare-next{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0;padding:16px;border:1px solid #cfe0f2;border-radius:13px;background:#f5f9ff}.advisor-compare-next div{display:flex;flex-direction:column;gap:4px}.advisor-compare-next span{font-size:11px;color:#62768e}.advisor-compare-next a{font-weight:800;text-decoration:none!important;white-space:nowrap}
.finder-steps{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.finder-steps span{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #dbe6f1;font-size:10.5px;font-weight:700;color:#455b73}.finder-steps b{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#0b63ce;color:#fff;font-size:10px}.finder-form{grid-template-columns:repeat(3,minmax(0,1fr))!important}.finder-check{justify-content:flex-end;flex-direction:row!important;align-items:center!important;gap:8px!important;padding:8px 0}.finder-check input{width:17px!important;height:17px!important;margin:0}.filter-state{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #e3eaf2}.filter-state>span{font-size:10px;color:#6c7f94}.filter-state b{font-size:10px;padding:4px 7px;background:#edf5ff;border-radius:7px;color:#24415f}.filter-state a{margin-left:auto;font-size:10.5px;font-weight:750}.product-card dl{display:grid;grid-template-columns:1fr 1fr;gap:7px}.product-card dl>div{padding:8px;border-radius:9px;background:#f7f9fc}.product-card dt{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#718397}.product-card dd{margin:3px 0 0;font-size:11px;font-weight:700;color:#213d5d}
.price-principles{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.price-principles span{padding:6px 9px;border-radius:999px;border:1px solid #dbe6f0;background:#fff;font-size:10.5px;color:#466079}.price-filter{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.price-filter label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:750}.price-filter select{min-height:42px;border:1px solid #ccd9e7;border-radius:10px;background:#fff;padding:0 10px}.price-product-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.price-product-meta span{font-size:10px;border:1px solid #dce7f1;background:#f8fbff;border-radius:999px;padding:4px 7px;color:#526b83}
.radar-summary{margin-top:18px;margin-bottom:0}.radar-filter{grid-template-columns:1fr 1fr 1fr auto!important}.radar-card{position:relative;overflow:hidden}.radar-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#a9bad0}.radar-card:has(.radar-confidence.confirmed):before{background:#1c8b5c}.radar-card:has(.radar-confidence.strong):before{background:#357ac5}.radar-card:has(.radar-confidence.reported):before{background:#c28a24}.radar-card .radar-sources>b{display:block;margin-bottom:6px;color:#334d68}.radar-card .radar-sources a{display:inline-flex;margin:3px 6px 3px 0;padding:4px 7px;border-radius:7px;background:#f4f7fb;text-decoration:none!important;font-size:10px}
.duo-review .review-hero{border-radius:18px;background:radial-gradient(circle at 88% 12%,rgba(91,145,206,.13),transparent 32%),linear-gradient(145deg,#f5f9fd,#fff)}.duo-review .r89-review-visual img{border-radius:14px;box-shadow:0 16px 40px rgba(19,42,70,.13)}.duo-review .criteria-grid article{min-height:122px}.duo-review .review-method{border-left:0;border:1px solid #d6e4f2;border-radius:12px;background:#fff;padding:13px 15px}.duo-catalog .catalog-grid{gap:11px}.duo-catalog .catalog-card{min-height:88px;padding:15px 16px;border-radius:12px}.duo-catalog .catalog-card b{font-size:13.5px}.duo-catalog .catalog-card span{font-size:11px;line-height:1.45}.duo-catalog .catalog-card:after{content:"Öffnen →";margin-top:auto;padding-top:9px;font-size:10px;font-weight:800;color:#0b63ce}.duo-generic:not(.duo-legal) .section{border-radius:14px}.duo-generic:not(.duo-legal) .links a{border-radius:9px}
@media(max-width:900px){.pro155-hero{grid-template-columns:1fr;padding:24px}.pro155-visual{max-width:720px}.pro155-facts .facts{grid-template-columns:repeat(2,minmax(0,1fr))}.pro155-next{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-action-strip{grid-template-columns:1fr 1fr}.finder-form,.radar-filter{grid-template-columns:1fr 1fr!important}.compare-summary-grid,.matrix-summary,.price-overview,.radar-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.pro155-hero{margin-top:14px;padding:18px;border-radius:16px}.pro155-copy h1{font-size:34px}.pro155-facts .facts,.pro155-next,.catalog-action-strip,.decision-path,.compare-summary-grid,.matrix-summary,.price-overview,.radar-summary{grid-template-columns:1fr}.catalog-action-strip{padding-inline:14px}.finder-form,.radar-filter,.price-filter{grid-template-columns:1fr!important}.finder-check{justify-content:flex-start}.advisor-compare-next{align-items:flex-start;flex-direction:column}.product-card dl{grid-template-columns:1fr}.radar-summary{grid-template-columns:1fr 1fr}.pro155-visual img{border-radius:12px}}


/* R155.1 – professional sticky-header state: transparent enough at top, opaque while content scrolls below. */
.site-header.is-scrolled{background:rgba(248,251,255,.97)!important;border-bottom-color:rgba(72,101,140,.16);box-shadow:0 12px 34px rgba(28,51,82,.10);-webkit-backdrop-filter:blur(20px) saturate(155%);backdrop-filter:blur(20px) saturate(155%)}
.duo-home .site-header.is-scrolled{background:rgba(248,251,255,.97)!important;padding-top:0}
@media(max-width:900px){.site-header.is-scrolled{box-shadow:0 8px 24px rgba(28,51,82,.09)}}


/* R155.2 — compact, shared DE/EN footer. Every selector is footer-scoped. */
.duo-footer.duo-footer-compact{
 margin-top:36px;padding:0;background:#f7f9fc;border-top:1px solid #dfe7f0;
 color:#26384d;overflow:visible;
}
.duo-footer-compact .duo-footer-inner{width:min(1380px,calc(100% - 48px));padding:0}
.duo-footer-compact a,.duo-footer-compact span{margin:0}
.duo-footer-compact a{color:#40536c;text-decoration:none;font-size:13px;line-height:1.45}
.duo-footer-compact a:hover{color:#075fca;text-decoration:underline;text-underline-offset:4px}
.duo-footer-compact a:focus-visible{outline:2px solid #0866d9;outline-offset:4px;border-radius:4px}
.duo-footer-compact .duo-footer-top{
 display:flex;align-items:center;gap:32px;min-height:72px;padding:14px 0;
 border-bottom:1px solid #e3e9f1;
}
.duo-footer-compact .duo-footer-brand{display:inline-flex;flex:0 0 auto;flex-direction:column;gap:4px;text-decoration:none}
.duo-footer-compact .duo-footer-brand strong{font-size:20px;line-height:1.1;letter-spacing:-.045em;color:#172a43;margin:0}
.duo-footer-compact .duo-footer-brand small{font-size:8.5px;line-height:1.35;letter-spacing:.14em;color:#5c6f86}
.duo-footer-compact .duo-footer-intro{max-width:48ch;margin:0;font-size:13px;line-height:1.6;color:#5b6d82}
.duo-footer-compact .duo-footer-toplink{
 display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:9px;
 margin-left:auto;min-height:40px;padding:8px 12px;border:1px solid #dbe4ef;
 border-radius:9px;background:#fff;font-size:12px;font-weight:600;white-space:nowrap;
}
.duo-footer-compact .duo-footer-toplink:hover{background:#eef5ff;border-color:#b8cee7;text-decoration:none}
.duo-footer-compact .duo-footer-toplink svg{display:block;flex-shrink:0}
.duo-footer-compact .duo-footer-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding:16px 0 14px}
.duo-footer-compact .duo-footer-group{min-width:0}
.duo-footer-compact .duo-footer-group+.duo-footer-group{border-left:1px solid #e3e9f1;padding-left:32px}
.duo-footer-compact .duo-footer-group h2{font-size:11px;font-weight:750;line-height:1.4;letter-spacing:.09em;text-transform:uppercase;margin:0 0 6px;color:#263e5b}
.duo-footer-compact .duo-footer-group ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:0;list-style:none;margin:0;padding:0}
.duo-footer-compact .duo-footer-group li{min-width:0;margin:0;padding:0;list-style:none}
.duo-footer-compact .duo-footer-group a{display:flex;align-items:center;min-height:26px;padding:3px 0;width:fit-content;max-width:100%;overflow-wrap:break-word}
.duo-footer-compact .duo-footer-bottom{
 display:flex;align-items:center;gap:20px;border-top:1px solid #dfe7f0;
 min-height:48px;padding:8px 0;color:#62738a;
}
.duo-footer-compact .duo-footer-copyright{font-size:11px;line-height:1.6;flex:0 0 auto}
.duo-footer-compact .duo-footer-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin-left:auto}
.duo-footer-compact .duo-footer-legal a,.duo-footer-compact .duo-footer-language{display:inline-flex;align-items:center;min-height:28px;font-size:12px;color:#5b6d82}
.duo-footer-compact .duo-footer-meta{display:flex;align-items:center;gap:18px;border-left:1px solid #dce5f0;padding-left:20px}
@media(max-width:1050px){
 .duo-footer-compact .duo-footer-navigation{gap:24px}
 .duo-footer-compact .duo-footer-group+.duo-footer-group{padding-left:24px}
 .duo-footer-compact .duo-footer-group ul{grid-template-columns:1fr}
 .duo-footer-compact .duo-footer-bottom{gap:16px;flex-wrap:wrap}
}
@media(max-width:760px){
 .duo-footer.duo-footer-compact{margin-top:28px}
 .duo-footer-compact .duo-footer-top{min-height:74px;gap:16px;padding:14px 0}
 .duo-footer-compact .duo-footer-intro{display:none}
 .duo-footer-compact .duo-footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:8px 0}
 .duo-footer-compact .duo-footer-legal{grid-column:1/-1;grid-row:1;margin:0;gap:4px 18px}
 .duo-footer-compact .duo-footer-meta{padding:0;border:0;gap:14px}
}
@media(max-width:580px){
 .duo-footer-compact .duo-footer-inner{width:calc(100% - 32px)}
 .duo-footer-compact .duo-footer-brand strong{font-size:18px}
 .duo-footer-compact .duo-footer-brand small{font-size:7.5px;letter-spacing:.1em}
 .duo-footer-compact .duo-footer-toplink{min-height:44px;padding:9px 10px;font-size:11px;gap:7px}
 .duo-footer-compact .duo-footer-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;padding:16px 0 10px}
 .duo-footer-compact .duo-footer-group+.duo-footer-group{border:0;padding:0}
 .duo-footer-compact .duo-footer-group:last-child{grid-column:1/-1;border-top:1px solid #e3e9f1;padding-top:14px}
 .duo-footer-compact .duo-footer-group:last-child ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
 .duo-footer-compact .duo-footer-group h2{font-size:10px;margin-bottom:5px;letter-spacing:.075em}
 .duo-footer-compact .duo-footer-group a{min-height:44px;padding:10px 0;font-size:12.5px}
 .duo-footer-compact .duo-footer-legal{justify-content:space-between;gap:4px 12px}
 .duo-footer-compact .duo-footer-legal a,.duo-footer-compact .duo-footer-language{min-height:44px;font-size:12px}
 .duo-footer-compact .duo-footer-meta{gap:12px}
 .duo-footer-compact .duo-footer-copyright{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
 .duo-footer-compact,.duo-footer-compact a{transition:none!important;animation:none!important}
}


/* R155.3 — editorial-first navigation and optional, unobtrusive purchase support. */
.duo-editorial-shortcut{display:flex;align-items:center;justify-content:center;width:54px;height:48px;flex:0 0 54px;border-radius:10px;background:#edf4ff;color:#1769db;font-size:23px}
.duo-editorial-shortcut svg{display:block;flex:none}
.duo-site .duo-context-links{box-sizing:border-box;width:min(1200px,calc(100% - 40px));margin:22px auto;display:flex;align-items:center;flex-wrap:wrap;gap:6px 20px;padding:11px 0;border-top:1px solid #e2e9f1;border-bottom:1px solid #e2e9f1;background:transparent;color:#53677f;font-size:13px;line-height:1.6}
.duo-site .duo-context-links>span{font-size:12px;font-weight:500;color:#5b6d82}
.duo-site .duo-context-links>a,.duo-site .duo-editorial-link{display:inline-flex;align-items:center;min-height:30px;color:#245d9e;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px;background:transparent;border:0;border-radius:0;box-shadow:none}
.duo-site .duo-context-links>a:hover,.duo-site .duo-editorial-link:hover{color:#064c9f;text-decoration-thickness:2px}
.duo-site .duo-optional-products{box-sizing:border-box;width:100%;max-width:1200px;margin:20px auto;padding:0;border:1px solid #e0e7ef;border-radius:10px;background:#fbfcfe;box-shadow:none;color:#4d6077}
.duo-site .duo-optional-products>summary{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:5px 14px;padding:13px 16px 13px 39px;min-height:48px;list-style:none;cursor:pointer;font-size:13px;font-weight:600;line-height:1.55}
.duo-site .duo-optional-products>summary::-webkit-details-marker{display:none}
.duo-site .duo-optional-products>summary::before{content:'+';position:absolute;left:16px;top:13px;font-size:17px;line-height:1.2;color:#446582;font-weight:400}
.duo-site .duo-optional-products[open]>summary::before{content:'−'}
.duo-site .duo-optional-products>summary small{margin-left:auto;color:#627187;font-size:10.5px;font-weight:400;letter-spacing:.015em}
.duo-site .duo-optional-products[open]>summary{border-bottom:1px solid #e3eaf2}
.duo-site .duo-optional-products-body{padding:12px 16px 14px}
.duo-site .duo-optional-products-body>p{margin:0 0 9px;max-width:82ch;font-size:12px;line-height:1.6;color:#5b6b80}
.duo-site .duo-quiet-links{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px 20px}
.duo-site .duo-quiet-affiliate{display:inline-block;max-width:100%;padding:5px 0;color:#385f8c;font-size:12px;font-weight:500;line-height:1.6;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px;border:0;border-radius:0;background:transparent;box-shadow:none}
.duo-site .duo-quiet-affiliate:hover{color:#064c9f}
.duo-site .duo-context-links a:focus-visible,.duo-site .duo-editorial-link:focus-visible,.duo-site .duo-optional-products>summary:focus-visible,.duo-site .duo-quiet-affiliate:focus-visible{outline:2px solid #0866d9;outline-offset:3px;border-radius:3px}
@media(max-width:900px){
 .duo-nav-shell .duo-main-nav{order:3;flex:1 0 100%;width:100%;flex-wrap:wrap!important;overflow:visible!important;gap:0 18px;padding-block:0}
 .duo-nav-shell .duo-main-nav>a{display:inline-flex;align-items:center;min-height:40px;padding-block:6px}
}
@media(max-width:560px){
 .duo-site .duo-context-links{width:calc(100% - 24px);gap:4px 16px;padding-block:9px}
 .duo-site .duo-context-links>span{flex-basis:100%}
 .duo-site .duo-context-links>a,.duo-site .duo-quiet-affiliate{min-height:44px;align-content:center}
 .duo-site .duo-optional-products>summary{padding-block:12px;gap:1px 10px}
 .duo-site .duo-optional-products>summary small{flex-basis:100%;margin-left:0}
}

/* R169: quiet editorial launch centre & optional audience funnel.
   No modals, overlays, third-party fonts, trackers or animation. */
.duo-reader{padding:18px 0 60px;min-width:0}
.duo-reader-hero,.duo-reader-section{max-width:890px;margin-inline:auto}
.duo-reader-hero{padding-top:25px;padding-bottom:16px}
.duo-reader-hero h1{font-size:clamp(2rem,4vw,3.35rem);line-height:1.13;max-width:18ch;letter-spacing:-.035em}
.duo-reader-hero .lead{max-width:70ch;font-size:clamp(1.04rem,1.5vw,1.21rem);line-height:1.65}
.duo-reader-source{color:#607089;font-size:.78rem;line-height:1.6}
.duo-reader-section{padding-top:23px;padding-bottom:19px;border-bottom:1px solid #e1e8f1}
.duo-reader-section h2{font-size:clamp(1.3rem,2.3vw,1.72rem);color:#1e324f;line-height:1.28;margin:0 0 14px}
.duo-reader-section h3{font-size:1rem;color:#1e324f;margin:0 0 10px}
.duo-reader-section p{color:#34445e;line-height:1.75;max-width:74ch}
.duo-reader-section a{color:#1759ac;text-underline-offset:3px}
.duo-reader-timeline,.duo-reader-checklist{padding-left:1.35rem;display:grid;gap:12px;margin:16px 0}
.duo-reader-timeline li,.duo-reader-checklist li{padding-left:5px;line-height:1.67}
.duo-reader-timeline strong,.duo-reader-checklist strong{color:#203650}
.duo-reader-table-wrap{overflow-x:auto;max-width:100%}
.duo-reader-table{border-collapse:collapse;width:100%;min-width:390px;font-variant-numeric:tabular-nums;margin:13px 0}
.duo-reader-table caption{caption-side:bottom;text-align:left;color:#607089;font-size:.78rem;padding:9px 0}
.duo-reader-table th,.duo-reader-table td{padding:12px;text-align:left;border-bottom:1px solid #dce4ef}
.duo-reader-table thead{background:#f1f5fa}
.duo-reader-table th{color:#253956}
.duo-reader-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.duo-reader-cards article{padding:17px;border:1px solid #e0e8f3;border-radius:13px;background:#fff}
.duo-reader-cards p{font-size:.92rem;line-height:1.64;margin:0}
.duo-reader-next{display:flex;gap:9px 17px;flex-wrap:wrap;margin:24px 0}
.duo-reader-next a{font-size:.91rem;display:inline-block}
.duo-reader-contact{padding:18px 0}
.duo-reader-contact-link{display:inline-flex;align-items:center;padding:12px 18px;border:1px solid #a8bfdc;border-radius:9px;background:#f5f9ff;text-decoration:none;font-weight:650}
.duo-reader-contact-link:focus-visible,.duo-reader-next a:focus-visible{outline:2px solid #165ebd;outline-offset:4px}
.duo-audience-status{margin:18px auto 5px;max-width:890px;background:#f4f7fc;border:1px solid #dce5f1;border-radius:12px;padding:15px 19px}
.duo-audience-status small,.duo-audience-invite small{display:block;color:#5d6b83;font-size:.72rem;letter-spacing:.08em;font-weight:700;text-transform:uppercase}
.duo-audience-status strong,.duo-audience-invite strong{display:block;color:#203650;margin:7px 0;font-size:1rem}
.duo-audience-status p,.duo-audience-invite p{color:#53617b;font-size:.85rem;margin:0;line-height:1.55}
.duo-audience-invite{max-width:890px;display:flex;gap:18px;justify-content:space-between;align-items:center;border:1px solid #dce5f0;border-radius:13px;background:#fafcff;padding:18px;margin:28px auto}
.duo-audience-invite a{white-space:nowrap;color:#225da3;text-underline-offset:3px;font-weight:650}
@media(max-width:670px){.duo-reader{padding-top:3px}.duo-reader-hero,.duo-reader-section{width:min(calc(100% - 28px),890px)}.duo-reader-cards{grid-template-columns:1fr}.duo-audience-status,.duo-audience-invite{width:min(calc(100% - 28px),890px)}.duo-audience-invite{flex-direction:column;align-items:flex-start}.duo-audience-invite a{white-space:normal}.duo-reader-table{min-width:340px}}
@media(prefers-reduced-motion:reduce){.duo-reader *{scroll-behavior:auto!important}}

/* R169: one understated discovery line on the two language homepages. */
.duo-editorial-spotlight{max-width:1200px;margin:35px auto 46px;padding:24px 20px 16px;border-top:1px solid #e2e8f1;border-bottom:1px solid #e2e8f1}
.duo-editorial-spotlight h2{font-size:clamp(1.28rem,2.5vw,1.64rem);color:#203550;letter-spacing:-.02em;margin:0 0 6px}
.duo-editorial-spotlight>p{font-size:.91rem;color:#5a6a81;line-height:1.65;max-width:700px;margin:0 0 10px}
.duo-editorial-spotlight .duo-reader-next{margin:16px 0 6px;row-gap:12px}
.duo-editorial-spotlight .duo-reader-next a{font-size:.88rem}

/* R170 – precise, quiet B2B service presentation; no external fonts/scripts. */
.duo-profit-reader .duo-reader-hero h1{max-width:21ch}
.duo-profit-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:24px 0 10px}
.duo-profit-offer{min-width:0;display:flex;flex-direction:column;border:1px solid #dce5ef;border-radius:12px;background:#fff;padding:19px 17px}
.duo-profit-offer small{font-size:.7rem;letter-spacing:.08em;font-weight:700;color:#677791}
.duo-profit-offer h3{font-size:1.12rem;margin:10px 0 1px;color:#1d334f}
.duo-profit-offer .duo-profit-price{font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.03em;color:#254466;margin:3px 0 8px}
.duo-profit-offer p{font-size:.89rem;line-height:1.56;color:#40506a}
.duo-profit-offer .duo-profit-audience{font-size:.8rem;color:#61718a}
.duo-profit-offer>a{display:inline-flex;align-items:center;margin-top:auto;align-self:flex-start;gap:5px;color:#1657a0;font-size:.9rem;font-weight:680;text-underline-offset:4px}
.duo-profit-terms{font-size:.85rem;color:#687790;line-height:1.65}
.duo-profit-editorial-note{max-width:950px;margin:28px auto 25px;padding:20px 16px;border-block:1px solid #e1e9f3;background:#fbfcfe}
.duo-profit-editorial-note strong{display:block;font-size:.91rem;color:#294564}
.duo-profit-editorial-note p{font-size:.85rem;line-height:1.57;color:#65758c;margin:6px 0}
.duo-profit-editorial-note a{font-size:.87rem;color:#1e5fa7;text-underline-offset:3px}
.duo-profit-offer a:focus-visible,.duo-profit-editorial-note a:focus-visible{outline:2px solid #1b5cb5;outline-offset:4px;border-radius:3px}
@media(max-width:800px){.duo-profit-offers{grid-template-columns:1fr}.duo-profit-offer{max-width:none}}

/* R170 post-audit: long German legal headings must wrap at narrow viewports. */
.subpage.legal h1{overflow-wrap:anywhere;hyphens:auto}
/* Stage-aware source link: understated, fits existing light design. */
.duo-launch-home{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin:12px 0 17px;padding:10px 0 9px 13px;border-left:3px solid #2867e8;max-width:540px;color:#334760}
.duo-launch-home strong{font-size:.88rem;line-height:1.35;color:#203c63}
.duo-launch-home span{font-size:.78rem;line-height:1.48;color:#536581}
.duo-launch-home a{font-size:.81rem;color:#195db4;font-weight:750;text-decoration:underline;text-underline-offset:3px;margin-top:5px;min-height:25px}
.duo-launch-home a:focus-visible{outline:2px solid #165db6;outline-offset:3px}
@media(max-width:600px){.duo-launch-home{margin:12px 0 16px;padding-left:10px}.duo-launch-home strong{font-size:.83rem}}

/* R170.1 reader decisions: concise, source-led buying guidance, not ads. */
.duo-decision-brief{margin-top:16px}
.duo-decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:17px 0}
.duo-decision-grid article{min-width:0;padding:17px;background:#f7f9fc;border:1px solid #dce5f0;border-radius:11px}
.duo-decision-grid strong{display:block;color:#233e5e;font-size:.92rem;line-height:1.35}
.duo-decision-grid p{color:#43556b;line-height:1.6;font-size:.87rem;margin:8px 0 0;overflow-wrap:anywhere}
@media(max-width:750px){.duo-decision-grid{grid-template-columns:1fr}.duo-decision-grid article{padding:14px}}
/* End R170.1 reader decisions */

/* ---- unified-r1702.css ---- */
/* Duo R170.2 – one shared public layout system (all DE/EN and dynamic routes).
   The home illustration, original content, URLs and protected admin are preserved. */
:root {
  --duo-page-width: 1280px;
  --duo-reading-width: 900px;
  --duo-page-gutter: clamp(14px, 2.3vw, 30px);
  --duo-section-gap: clamp(25px, 3.4vw, 44px);
  --duo-card-radius: 16px;
  --duo-card-border: #dce5ef;
  --duo-card-bg: #fff;
  --duo-muted-ink: #566b83;
  --duo-focus-color: #0d62d9;
}
/* Shared page bounds: no unexpected 900px/1200px/1380px outer-shell jumps. */
body.duo-site .duo-nav-shell,
body.duo-site .duo-footer-inner,
body.duo-site .duo-shell,
body.duo-site main.home106-shell,
body.duo-site main.wrap,
body.duo-site main.subpage,
body.duo-site main.wrap.subpage,
body.duo-site .duo-site-layout {
  box-sizing:border-box;
  width: min(calc(100% - 2 * var(--duo-page-gutter)), var(--duo-page-width));
  max-width: var(--duo-page-width);
  margin-left:auto;
  margin-right:auto;
}
/* Full-bleed tool and editorial mains keep their inner .duo-shell width. */
body.duo-site main.duo-tool,
body.duo-site main.duo-reader {width:100%;max-width:none;margin-left:auto;margin-right:auto;}
body.duo-site main,body.duo-site main > *,body.duo-site main .wrap {min-width:0;}
body.duo-site main img {max-width:100%;height:auto;}
body.duo-site .site-header {z-index:100;}
body.duo-site .duo-nav-shell {min-height:72px;}
body.duo-site .duo-footer {margin-top:clamp(38px,5vw,66px);}
body.duo-site .duo-footer-inner {min-width:0;}

/* Same title scale, vertical rhythm and text contrast, regardless of template age. */
body.duo-site:not([data-duo-template="home"]) main h1 {
  font-size:clamp(2.05rem,3.55vw,3.35rem) !important;
  line-height:1.13;
  letter-spacing:-.035em;
  color:#17253e;
  overflow-wrap:break-word;
}
body.duo-site main :is(h2,h3) {overflow-wrap:break-word;}
body.duo-site:not([data-duo-template="home"]) main :is(.section h2,.review-copy h2,.hub-group > h2,.duo-reader-section h2,.tool-head h2) {
  font-size:clamp(1.38rem,2.15vw,1.93rem);
  line-height:1.25;
  letter-spacing:-.025em;
  color:#1b304c;
}
body.duo-site main :is(.lead,.review-copy p,.duo-reader-section p,.section p) {
  overflow-wrap:break-word;
}
body.duo-site main :is(.lead,.review-copy > p,.section > p,.duo-reader-section > p) {
  line-height:1.74;
}
body.duo-site main :is(.breadcrumbs,.crumbs) {margin-bottom:18px;color:#60738c;font-size:.83rem;line-height:1.45;}
body.duo-site main :is(.breadcrumbs,.crumbs) a {text-decoration:underline;text-decoration-color:#cedaea;text-underline-offset:3px;}
body.duo-site main :is(.breadcrumbs,.crumbs) a:hover {color:#155bb5;text-decoration-color:currentColor;}
body.duo-site a:focus-visible,body.duo-site button:focus-visible,
body.duo-site select:focus-visible,body.duo-site input:focus-visible,
body.duo-site textarea:focus-visible {outline:3px solid var(--duo-focus-color);outline-offset:3px;}

/* A breadcrumb rail exists on every content page, without duplication. */
body.duo-site .duo-page-path {
  width:min(calc(100% - 2 * var(--duo-page-gutter)), var(--duo-page-width));
  max-width:var(--duo-page-width);
  margin:clamp(13px,2.2vw,25px) auto 14px;
  display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px;
  font-size:.82rem;line-height:1.45;color:#65768e;
}
body.duo-site .duo-page-path a {color:#47617e;text-decoration:underline;text-decoration-color:#cbd6e5;text-underline-offset:3px;}
body.duo-site .duo-page-path span[aria-current] {color:#53647d;overflow-wrap:anywhere;}
body.duo-site[data-duo-template="legal"] .duo-page-path {width:100%;margin:0 0 20px;}
body.duo-site[data-duo-template="reader"] main > .duo-page-path {max-width:var(--duo-reading-width);margin-top:20px;margin-bottom:0;}
body.duo-site[data-duo-template="tool"] main > .duo-page-path {margin-bottom:0;}

/* Editorial hero: same border, radius, tone and title spacing for each template.
   Image-based layouts remain two-column above the mobile breakpoint. */
body.duo-site:not([data-duo-template="home"]) main :is(
  .review-hero,.catalog-hero,.hero,.guide148-hero,.model148-hero,
  .modelhub148-hero,.duo89-hero,.pro155-hero,.duo-reader-hero,.tool-hero
) {
  border-radius:22px;
  border:1px solid var(--duo-card-border);
  background:linear-gradient(125deg,#fff 0%,#f9fbff 66%,#f0f5fc 100%);
  box-shadow:0 12px 36px rgba(29,51,85,.055);
  overflow:hidden;
}
body.duo-site:not([data-duo-template="home"]) main :is(
  .review-hero h1,.catalog-hero h1,.hero h1,.guide148-hero h1,
  .model148-hero h1,.modelhub148-hero h1,.duo89-hero h1,
  .pro155-hero h1,.duo-reader-hero h1,.tool-hero h1
) {margin-top:7px;margin-bottom:12px;max-width:21ch;}
body.duo-site:not([data-duo-template="home"]) main :is(
  .review-hero .lead,.catalog-hero .lead,.hero .lead,.duo89-hero .lead,
  .pro155-hero .lead,.duo-reader-hero .lead,.tool-hero .lead
) {max-width:65ch;color:#4b617a;line-height:1.63;}
body.duo-site:not([data-duo-template="home"]) main :is(.r89-review-visual,.r89-catalog-visual,.duo89-visual) img {width:100%;height:100%;object-fit:cover;}

/* Shared readable center column: articles previously started at the far left
   of a 1280px page, leaving a distracting blank area to the right. */
body.duo-site[data-duo-template="article"] .review-hero {margin-bottom:var(--duo-section-gap);}
body.duo-site[data-duo-template="article"] .review-copy,
body.duo-site[data-duo-template="article"] .source-box,
body.duo-site[data-duo-template="article"] main > .section:not(:first-child),
body.duo-site[data-duo-template="article"] main > .product-panel,
body.duo-site[data-duo-template="article"] main > .r89-related,
body.duo-site[data-duo-template="article"] main > .review-faq {
  width:min(100%,var(--duo-reading-width));
  max-width:var(--duo-reading-width);
  margin-left:auto;
  margin-right:auto;
}
body.duo-site[data-duo-template="article"] main > .section:not(:first-child),
body.duo-site[data-duo-template="article"] main > .review-copy {margin-top:var(--duo-section-gap);}
body.duo-site[data-duo-template="article"] :is(.review-copy,.source-box) {box-sizing:border-box;}
body.duo-site[data-duo-template="article"] :is(.review-copy,.section) > p {max-width:78ch;}
/* Long-form subpages with .wrap.hero + .wrap content should use one centered
   reading grid. Existing decision tables and source boxes keep their own grids. */
body.duo-site[data-duo-template="guide"] main.subpage > .wrap:not(.hero),
body.duo-site[data-duo-template="guide"] main.subpage > .section:not(.hero) {width:min(100%,var(--duo-reading-width));margin-inline:auto;}
body.duo-site[data-duo-template="guide"] main.subpage > .wrap > .section {margin-top:var(--duo-section-gap);}
body.duo-site[data-duo-template="guide"] main.subpage > .wrap > .section:first-child {margin-top:0;}
body.duo-site[data-duo-template="guide"] main.subpage > .hero {margin-bottom:var(--duo-section-gap);}
body.duo-site[data-duo-template="guide"] .sourcebox,
body.duo-site[data-duo-template="article"] .sourcebox {max-width:100%;}

/* Hubs and directories: one shared card geometry and predictable gaps. */
body.duo-site main :is(
  .hub-grid,.catalog-grid,.grid,.criteria-grid,.model148-grid,.guide-grid,
  .duo-decision-grid,.product-grid,.r89-related
) {gap:14px;}
body.duo-site main :is(
  .hub-card,.catalog-card,.card,.check,.criteria-grid article,
  .duo-decision-grid article,.product-card,.r89-related a,.news-card
) {border-radius:var(--duo-card-radius);border-color:var(--duo-card-border);background-color:var(--duo-card-bg);}
body.duo-site main :is(.hub-card,.catalog-card,.card,.check,.duo-decision-grid article) {min-width:0;}
body.duo-site main :is(.hub-card,.catalog-card,.card,.check,.duo-decision-grid article):hover {
  border-color:#b6cbe5;
}
body.duo-site[data-duo-template="catalog"] .catalog-hero {margin-bottom:var(--duo-section-gap);}
body.duo-site[data-duo-template="catalog"] main > .section {margin-top:var(--duo-section-gap);}
body.duo-site[data-duo-template="hub"] main > .section,
body.duo-site[data-duo-template="model"] main > .section {margin-top:var(--duo-section-gap);}
body.duo-site[data-duo-template="hub"] .guide148-jump {width:100%;box-sizing:border-box;}

/* Guides and editorial launch pages: same readable 900px article rail. */
body.duo-site[data-duo-template="reader"] .duo-reader-hero,
body.duo-site[data-duo-template="reader"] .duo-reader-section {
  width:min(calc(100% - 2 * var(--duo-page-gutter)),var(--duo-reading-width));
  max-width:var(--duo-reading-width);
  margin-inline:auto;
}
body.duo-site[data-duo-template="reader"] .duo-reader-hero {
  padding:clamp(23px,3vw,38px);
  margin-top:clamp(18px,3vw,32px);
  margin-bottom:17px;
}
body.duo-site[data-duo-template="reader"] .duo-reader-section {padding-block:25px;margin-top:0;}
body.duo-site[data-duo-template="reader"] .duo-reader-hero h1 {max-width:none;}

/* Tool pages use the identical 1280px left/right rail as hubs and articles. */
body.duo-site[data-duo-template="tool"] .tool-hero {padding:clamp(23px,3vw,39px);margin-top:30px;margin-bottom:17px;}
body.duo-site[data-duo-template="tool"] :is(.tool-panel,.tool-results) {margin-top:var(--duo-section-gap);}
body.duo-site[data-duo-template="tool"] .tool-head {margin:0 0 16px;}
body.duo-site[data-duo-template="tool"] :is(.tool-panel,.product-card,.radar-card,.tool-empty) {border-radius:var(--duo-card-radius);}

/* Legal pages must not be billboard-width, but should have consistent typography,
   left alignment and readable measure at every breakpoint. */
body.duo-site[data-duo-template="legal"] main.legal {
  max-width:var(--duo-reading-width);
  margin-inline:auto;
  padding:clamp(22px,3.7vw,48px);
  background:#fff;
  border:1px solid var(--duo-card-border);
  border-radius:22px;
  box-shadow:0 12px 36px rgba(29,51,85,.045);
  margin-top:clamp(21px,3vw,36px);
  overflow-wrap:anywhere;
}
body.duo-site[data-duo-template="legal"] main.legal h2 {font-size:clamp(1.18rem,2vw,1.53rem);margin-top:29px;margin-bottom:13px;line-height:1.3;}
body.duo-site[data-duo-template="legal"] main.legal p {line-height:1.8;max-width:76ch;}
body.duo-site[data-duo-template="legal"] main.legal h1 {font-size:clamp(2.05rem,3.55vw,3.15rem) !important;max-width:100%;}

/* Homepage stays visually distinct but now sits on the common 1280px rail. */
body.duo-site[data-duo-template="home"] main.home106-shell {padding-top:16px;}
body.duo-site[data-duo-template="home"] :is(.home106-shortcuts,.home106-section,.home106-trust) {width:100%;box-sizing:border-box;}
body.duo-site[data-duo-template="home"] .home106-hero {border-radius:24px;}

/* Media queries: uniform spacing, no clipped headings or horizontal overflow. */
@media(max-width:1024px) {
  body.duo-site:not([data-duo-template="home"]) main :is(.review-hero,.catalog-hero,.duo89-hero,.modelhub148-hero,.model148-hero,.guide148-hero,.pro155-hero) {grid-template-columns:1fr;}
  body.duo-site main :is(.criteria-grid,.hub-grid,.catalog-grid,.guide-grid,.product-grid) {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px) {
  :root{--duo-page-gutter:14px;--duo-section-gap:26px;}
  body.duo-site .duo-nav-shell {min-height:64px;}
  body.duo-site:not([data-duo-template="home"]) main h1 {font-size:clamp(1.9rem,7.2vw,2.52rem) !important;}
  body.duo-site:not([data-duo-template="home"]) main :is(
    .review-hero,.catalog-hero,.hero,.guide148-hero,.model148-hero,
    .modelhub148-hero,.duo89-hero,.pro155-hero,.duo-reader-hero,.tool-hero
  ) {border-radius:17px;}
  body.duo-site:not([data-duo-template="home"]) main :is(.r89-catalog-copy,.review-hero > div,.duo89-copy,.guide148-copy,.model148-copy,.modelhub148-copy,.pro155-copy) {padding:clamp(20px,5vw,30px);}
  body.duo-site main :is(.criteria-grid,.hub-grid,.catalog-grid,.guide-grid,.product-grid,.duo-reader-cards,.duo-decision-grid,.r89-related) {grid-template-columns:1fr;}
  body.duo-site main :is(.review-copy,.section,.duo-reader-section) {overflow-wrap:break-word;}
  body.duo-site[data-duo-template="article"] main > .review-copy {padding:0;}
  body.duo-site[data-duo-template="guide"] main.subpage > .wrap:not(.hero) {width:100%;}
  body.duo-site[data-duo-template="guide"] main.subpage > .hero {padding:22px;}
  body.duo-site[data-duo-template="reader"] .duo-reader-hero {padding:21px;}
  body.duo-site[data-duo-template="tool"] .tool-hero {padding:22px;margin-top:21px;}
  body.duo-site[data-duo-template="legal"] main.legal {padding:23px 19px;}
  body.duo-site main :is(.duo-reader-table-wrap,.matrix-wrap) {overflow-x:auto;-webkit-overflow-scrolling:touch;}
}
@media(max-width:420px) {
  :root{--duo-page-gutter:12px;}
  body.duo-site .duo-nav-shell {gap:10px;}
  body.duo-site .duo-footer-inner {min-width:0;}
  body.duo-site:not([data-duo-template="home"]) main h1 {font-size:clamp(1.76rem,8vw,2.12rem) !important;}
}
@media(prefers-reduced-motion:reduce) {
  body.duo-site main :is(.catalog-card,.hub-card,.card,.check) {transition:none;}
}

/* Comparison tables on narrow phones must wrap cells, never widen the viewport. */
@media(max-width:560px) {
 body.duo-site main table.compare {table-layout:fixed;width:100%;max-width:100%;min-width:0;border-collapse:collapse;}
 body.duo-site main table.compare th,
 body.duo-site main table.compare td {overflow-wrap:anywhere;word-break:normal;white-space:normal;padding:9px 5px;font-size:.77rem;line-height:1.45;}
}

/* R170.2.1 – Articlerail hotfix. Every editorial article now uses ONE shared
   outer width: hero, evidence, criteria, practical check, sources and related.
   Text remains comfortably readable instead of stretching paragraphs across it. */
:root { --duo-article-rail: 1120px; }
body.duo-site[data-duo-template="article"] main.wrap.subpage {
  box-sizing:border-box;
  width:min(calc(100% - 2 * var(--duo-page-gutter)),var(--duo-article-rail));
  max-width:var(--duo-article-rail);
  margin-inline:auto;
}
body.duo-site[data-duo-template="article"] main.wrap.subpage > :is(
  .review-hero,.section,.review-copy,.source-box,.product-panel,.r89-related,.review-faq
) {
  box-sizing:border-box;
  width:100%; max-width:none;
  margin-inline:0;
}
body.duo-site[data-duo-template="article"] main.wrap.subpage > .review-copy {
  padding:clamp(22px,2.6vw,32px);
}
body.duo-site[data-duo-template="article"] main.wrap.subpage > .review-copy p,
body.duo-site[data-duo-template="article"] main.wrap.subpage .source-box p {
  max-width:82ch;
}
body.duo-site[data-duo-template="article"] main.wrap.subpage .section-head,
body.duo-site[data-duo-template="article"] main.wrap.subpage .criteria-grid,
body.duo-site[data-duo-template="article"] main.wrap.subpage .source-box,
body.duo-site[data-duo-template="article"] main.wrap.subpage .r89-related {
  box-sizing:border-box;
  width:100%; max-width:none;
  margin-inline:0;
}
body.duo-site[data-duo-template="article"] main.wrap.subpage .review-hero {
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  min-height:0;
}
body.duo-site[data-duo-template="article"] main.wrap.subpage .review-hero > div {
  min-width:0; padding:clamp(24px,3vw,40px);
}
body.duo-site[data-duo-template="article"] main.wrap.subpage .review-hero h1 {
  max-width:22ch;
}
body.duo-site[data-duo-template="article"] main.wrap.subpage .r89-review-visual,
body.duo-site[data-duo-template="article"] main.wrap.subpage .r89-review-visual img {
  min-height:0;
}
/* Five criteria are readable as 3 + 2 balanced cards, instead of a cramped
   five-column row with ~100px text columns at 70% browser zoom. */
body.duo-site[data-duo-template="article"] main.wrap.subpage .criteria-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
}
body.duo-site[data-duo-template="article"] main.wrap.subpage .criteria-grid > article {
  grid-column:span 2;
  min-width:0;
  min-height:0;
  padding:clamp(16px,2vw,22px);
}
body.duo-site[data-duo-template="article"] main.wrap.subpage .criteria-grid > article:nth-child(4),
body.duo-site[data-duo-template="article"] main.wrap.subpage .criteria-grid > article:nth-child(5) {
  grid-column:span 3;
}
@media(max-width:950px) {
  body.duo-site[data-duo-template="article"] main.wrap.subpage .review-hero {
    grid-template-columns:minmax(0,1fr);
  }
  body.duo-site[data-duo-template="article"] main.wrap.subpage .r89-review-visual,
  body.duo-site[data-duo-template="article"] main.wrap.subpage .r89-review-visual img {
    max-height:340px;
    object-fit:cover;
  }
  body.duo-site[data-duo-template="article"] main.wrap.subpage .criteria-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.duo-site[data-duo-template="article"] main.wrap.subpage .criteria-grid > article,
  body.duo-site[data-duo-template="article"] main.wrap.subpage .criteria-grid > article:nth-child(4),
  body.duo-site[data-duo-template="article"] main.wrap.subpage .criteria-grid > article:nth-child(5) {
    grid-column:span 1;
  }
  body.duo-site[data-duo-template="article"] main.wrap.subpage .criteria-grid > article:last-child:nth-child(odd) {
    grid-column:span 2;
  }
}
@media(max-width:570px) {
  body.duo-site[data-duo-template="article"] main.wrap.subpage .criteria-grid {
    grid-template-columns:minmax(0,1fr);
  }
  body.duo-site[data-duo-template="article"] main.wrap.subpage .criteria-grid > article,
  body.duo-site[data-duo-template="article"] main.wrap.subpage .criteria-grid > article:last-child:nth-child(odd) {
    grid-column:span 1;
  }
  body.duo-site[data-duo-template="article"] main.wrap.subpage > .review-copy {
    padding:21px 18px;
  }
}

/* R170.2.2: restrained source-first News instead of 30 repetitive stock images. */
body.duo-archive [data-news-grid]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
body.duo-archive [data-news-grid] .news-text-card{display:flex;min-width:0;min-height:216px;border:1px solid #dce5ef;border-radius:16px;background:#fff;box-shadow:0 5px 17px rgba(30,52,82,.035);overflow:hidden}
body.duo-archive [data-news-grid] .news-text-card>img,body.duo-archive [data-news-grid] .news-text-card .news-cover{display:none!important}
body.duo-archive [data-news-grid] .news-text-card .story-body{display:flex;flex-direction:column;gap:12px;padding:21px 22px;min-height:0;width:100%}
body.duo-archive [data-news-grid] .news-text-card .story-body h3{font-size:clamp(1rem,1.15vw,1.11rem);font-weight:750;line-height:1.38;overflow-wrap:anywhere;margin:0}
body.duo-archive [data-news-grid] .news-text-card .story-copy{font-size:.89rem;line-height:1.54;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:65ch}
body.duo-archive [data-news-grid] .news-text-card .story-tail{padding-top:11px;border-top:1px solid #e7edf5;align-items:center;flex-wrap:wrap}
body.duo-archive .news-bottom [data-news-more]:not([hidden]){display:inline-flex;align-items:center;justify-content:center;min-height:43px;border:1px solid #b8cee8;border-radius:10px;padding:9px 17px;background:#fff;color:#1557a1;font-weight:700;cursor:pointer}
body.duo-archive .news-bottom [data-news-more]:focus-visible{outline:2px solid #1557a1;outline-offset:3px}
@media(max-width:960px){body.duo-archive [data-news-grid]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){body.duo-archive [data-news-grid]{grid-template-columns:minmax(0,1fr)}body.duo-archive [data-news-grid] .news-text-card{min-height:0}body.duo-archive [data-news-grid] .news-text-card .story-body{padding:17px 18px}}

/* Respect hidden news filters and collapsed archive controls even under legacy display rules. */
body.duo-archive [hidden]{display:none!important}

/* R170.2.3 – compact, honest news desk; avoids false freshness and empty six-card grids. */
body.duo-archive main.news-r17023 {max-width:1100px;margin:0 auto;padding-top:clamp(28px,4vw,52px);padding-bottom:56px}
body.duo-archive .news-stage {min-width:0}
body.duo-archive .news-stage>.news-heading {border-bottom:1px solid #dce5f1;padding-bottom:19px;margin-bottom:13px}
body.duo-archive .news-stage>.news-heading h1 {font-size:clamp(1.8rem,3vw,2.45rem);line-height:1.14;letter-spacing:-.035em;color:#18304f;margin:0 0 8px}
body.duo-archive .news-stage>.news-heading p {font-size:.99rem;line-height:1.6;max-width:70ch;color:#52647b;margin:0}
body.duo-archive .news-stage>.news-meta-line{display:flex;align-items:center;margin:0 0 20px;gap:8px;min-height:0}
body.duo-archive .news-age{display:inline-flex;flex-wrap:wrap;gap:5px;align-items:center;padding:6px 10px;border:1px solid #cdd9e9;border-radius:9px;background:#f7faff;color:#375474;font-size:.8rem;line-height:1.45}
body.duo-archive .news-age[data-state="stale"]{color:#845d22;background:#fff9ee;border-color:#ecd9b6}
body.duo-archive .news-age[data-state="partial"]{color:#7a5c20;background:#fffaf0;border-color:#e7dcc3}
body.duo-archive .news-age[data-state="ok"]{color:#315b4c;background:#f5faf8;border-color:#d4e5de}
body.duo-archive .news-empty-panel{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;border-radius:18px;border:1px solid #dce6f3;background:#fff;padding:clamp(18px,3vw,28px);box-shadow:0 9px 24px rgba(20,45,80,.035)}
body.duo-archive .news-empty-panel .news-empty-icon {width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#edf4ff;color:#2665ad;font-size:24px;font-weight:700}
body.duo-archive .news-empty-panel h2{color:#1e3552;font-size:clamp(1.05rem,1.8vw,1.28rem);line-height:1.35;margin:2px 0 9px}
body.duo-archive .news-empty-panel p{color:#52647b;line-height:1.65;font-size:.94rem;max-width:70ch;margin:0}
body.duo-archive .news-editorial-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}
body.duo-archive .news-editorial-links a{color:#1d5ca5;font-size:.82rem;line-height:1.45;font-weight:700;text-decoration:none;display:inline-flex;padding:9px 12px;border:1px solid #d5e2f4;background:#f8fbff;border-radius:8px}
body.duo-archive .news-editorial-links a:hover{text-decoration:underline;background:#f0f6ff}
body.duo-archive .news-editorial-links a:focus-visible{outline:2px solid #2670bd;outline-offset:2px}
body.duo-archive .news-grid-curated{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
body.duo-archive .news-grid-curated .news-card{min-height:0;display:flex;flex-direction:column}
body.duo-archive .news-grid-curated .story-body{padding:21px;display:flex;flex-direction:column;gap:10px;height:100%}
body.duo-archive .news-current{margin-bottom:18px}
body.duo-archive .news-archive{border-radius:12px;border:1px solid #dbe5f1;background:#fff;overflow:hidden;margin:17px 0 16px}
body.duo-archive .news-archive summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;cursor:pointer;color:#294a6c;font-weight:750;font-size:.91rem;list-style:none}
body.duo-archive .news-archive summary::-webkit-details-marker{display:none}
body.duo-archive .news-archive summary:hover{background:#f5f8fc}
body.duo-archive .news-archive summary:focus-visible{outline:2px solid #1e64b5;outline-offset:-3px}
body.duo-archive .news-archive[open] summary>span:last-child{transform:rotate(180deg)}
body.duo-archive .news-archive-inner{padding:18px 18px 19px;border-top:1px solid #e0eaf4;background:#fafcff}
body.duo-archive .news-archive-desc,body.duo-archive .news-archive-caption{color:#65768c;font-size:.83rem;line-height:1.55;margin:0 0 14px}
body.duo-archive .news-archive-caption{margin:13px 0 0;font-size:.77rem}
body.duo-archive .news-grid-history{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body.duo-archive [data-current-news] .news-text-card,body.duo-archive [data-archive-news] .news-text-card{min-width:0;min-height:0}
body.duo-archive [data-archive-news] .news-text-card .story-body{padding:15px 16px;gap:9px;min-height:0}
body.duo-archive [data-archive-news] .news-text-card h3{font-size:.91rem;line-height:1.4}
body.duo-archive [data-archive-news] .news-text-card .story-copy{font-size:.8rem;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
body.duo-archive [data-archive-news] .news-text-card .story-tail{margin-top:auto;padding-top:9px}
body.duo-archive .news-stage>.news-info{max-width:85ch;color:#667991;font-size:.79rem;line-height:1.6;margin:0}
body.duo-archive [hidden]{display:none!important}
@media(max-width:950px){body.duo-archive .news-grid-curated,body.duo-archive .news-grid-history{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){body.duo-archive main.news-r17023{padding-top:25px;padding-bottom:32px}body.duo-archive .news-empty-panel{grid-template-columns:1fr;gap:8px}body.duo-archive .news-grid-curated,body.duo-archive .news-grid-history{grid-template-columns:minmax(0,1fr)}body.duo-archive .news-empty-panel .news-empty-icon{width:35px;height:35px;font-size:21px}body.duo-archive .news-archive summary{padding:15px 16px}}
/* News heading is one editorial block, not two competing flex columns. */
body.duo-archive .news-stage>.news-heading{display:block!important;min-width:0}
body.duo-archive .news-stage>.news-heading h1{max-width:none!important;overflow-wrap:break-word}
body.duo-archive .news-stage>.news-heading p{margin-top:5px;max-width:75ch}
body.duo-archive .news-grid-curated .story-review{font-size:.69rem;color:#59738c;background:#eef4fa;padding:4px 8px;border-radius:5px;white-space:nowrap}
body.duo-archive .news-grid-curated .story-copy{display:block;-webkit-line-clamp:unset;line-height:1.58;color:#506178;overflow-wrap:anywhere}
body.duo-archive .news-grid-curated .news-text-card .story-tail{margin-top:auto}

/* R170.2.4: three article-specific, captioned, first-party editorial illustrations.
   Only these vetted images are visible; legacy repeated news stock remains hidden. */
body.duo-archive .news-grid-curated .news-card.news-text-card>.news-cover.news-editorial-cover{
 display:block!important;position:relative;width:100%;height:auto!important;aspect-ratio:16/9;
 margin:0!important;overflow:hidden;background:#e4edf8;flex:0 0 auto
}
body.duo-archive .news-grid-curated .news-card.news-text-card>.news-editorial-cover img{
 display:block!important;width:100%!important;height:100%!important;max-height:none!important;
 aspect-ratio:16/9;object-fit:cover;object-position:center;border:0
}
body.duo-archive .news-grid-curated .news-card.news-text-card>.news-editorial-cover figcaption{
 display:block;position:absolute;left:10px;bottom:10px;right:auto;width:auto;max-width:calc(100% - 20px);
 padding:5px 9px;border-radius:7px;background:rgba(255,255,255,.93);
 color:#244061;backdrop-filter:blur(4px);font-size:.69rem;line-height:1.35;font-weight:650
}
body.duo-archive .news-grid-curated .news-card.news-text-card>.news-editorial-cover img:focus-visible{
 outline:3px solid #206adc;outline-offset:-3px
}
@media(max-width:650px){
 body.duo-archive .news-grid-curated .news-card.news-text-card>.news-editorial-cover figcaption{
  font-size:.67rem;left:9px;bottom:9px;padding:4px 7px
 }
}
/* End R170.2.4 news cover correction. */

/* R170.2.5 – smaller editorial title images. Home and News remain unchanged.
   Do not stretch photographs to the full height of the title text. */
body.duo-site[data-duo-template="article"] main.wrap.subpage .review-hero {
  grid-template-columns:minmax(0,1fr) minmax(0,300px) !important;
  align-items:center;
  min-height:0 !important;
}
body.duo-site[data-duo-template="article"] main.wrap.subpage .review-hero > .r89-review-visual {
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  justify-self:center;
  width:min(100%,280px);
  max-width:280px;
  min-height:0 !important;
  margin:12px 18px 12px 0;
  padding:0;
  background:transparent;
}
body.duo-site[data-duo-template="article"] main.wrap.subpage .review-hero > .r89-review-visual img {
  box-sizing:border-box;
  display:block;
  width:100% !important;
  height:195px !important;
  min-height:0 !important;
  max-height:195px !important;
  object-fit:cover;
  object-position:center 32%;
  border-radius:12px;
}
/* Also restrain imagery on non-home catalog, model and guide title blocks. */
body.duo-site:not([data-duo-template="home"]) main :is(
  .catalog-hero,.guide148-hero,.model148-hero,.modelhub148-hero,
  .duo89-hero,.pro155-hero,.hero:has(> .guide-visual)
) {
  grid-template-columns:minmax(0,1fr) minmax(0,300px) !important;
  align-items:center;
  min-height:0 !important;
}
body.duo-site:not([data-duo-template="home"]) main :is(
  .catalog-hero,.guide148-hero,.model148-hero,.modelhub148-hero,
  .duo89-hero,.pro155-hero,.hero:has(> .guide-visual)
) > figure {
  box-sizing:border-box;
  width:min(100%,280px);
  max-width:280px;
  min-height:0 !important;
  height:auto !important;
  justify-self:center;
  align-self:center;
  margin:14px auto;
  padding:0;
  background:transparent;
}
body.duo-site:not([data-duo-template="home"]) main :is(
  .catalog-hero,.guide148-hero,.model148-hero,.modelhub148-hero,
  .duo89-hero,.pro155-hero,.hero:has(> .guide-visual)
) > figure img {
  display:block;
  width:100% !important;
  height:195px !important;
  min-height:0 !important;
  max-height:195px !important;
  object-fit:cover;
  object-position:center;
  border-radius:12px;
}
@media(max-width:760px) {
  body.duo-site[data-duo-template="article"] main.wrap.subpage .review-hero,
  body.duo-site:not([data-duo-template="home"]) main :is(
    .catalog-hero,.guide148-hero,.model148-hero,.modelhub148-hero,
    .duo89-hero,.pro155-hero,.hero:has(> .guide-visual)
  ) {grid-template-columns:minmax(0,1fr) !important;}
  body.duo-site[data-duo-template="article"] main.wrap.subpage .review-hero > .r89-review-visual,
  body.duo-site:not([data-duo-template="home"]) main :is(
    .catalog-hero,.guide148-hero,.model148-hero,.modelhub148-hero,
    .duo89-hero,.pro155-hero,.hero:has(> .guide-visual)
  ) > figure {width:min(72%,225px);max-width:225px;margin:0 auto 18px;}
  body.duo-site[data-duo-template="article"] main.wrap.subpage .review-hero > .r89-review-visual img,
  body.duo-site:not([data-duo-template="home"]) main :is(
    .catalog-hero,.guide148-hero,.model148-hero,.modelhub148-hero,
    .duo89-hero,.pro155-hero,.hero:has(> .guide-visual)
  ) > figure img {height:150px !important;max-height:150px !important;}
}
/* End R170.2.5 compact editorial title imagery. */

/* R170.2.6: headline line box should contain all glyphs, even under browser zoom. */
.home106-copy #home-title{line-height:1.13;letter-spacing:-.038em;padding-block:.06em .11em;overflow:visible;}
@media(max-width:900px){.home106-copy #home-title{white-space:normal;overflow-wrap:normal;}}

/* ---- visual-r17027.css ---- */
/* R170.2.7 P0 editorial completeness. Added AFTER unified-r1702.css.
   Reverses the old 280x195 title-image cap without returning to giant banners.
   Keeps actual source images, responsive viewport fitting and accessible text. */
:root{--r17027-deep:#12243e;--r17027-accent:#1265d7;--r17027-fog:#e8eef7}
/* Main editorial heroes: balanced readable text + meaningful visual, not a 280px postage stamp. */
body.duo-site:not([data-duo-template="home"]) main :is(.catalog-hero,.guide148-hero,.model148-hero,.modelhub148-hero,.duo89-hero,.pro155-hero,.hero:has(> .guide-visual)){
 display:grid!important;grid-template-columns:minmax(0,1fr) minmax(340px,.83fr)!important;
 align-items:stretch;min-height:310px!important;gap:0;
 box-shadow:0 16px 46px rgba(23,45,77,.09);
}
body.duo-site:not([data-duo-template="home"]) main :is(.catalog-hero,.guide148-hero,.model148-hero,.modelhub148-hero,.duo89-hero,.pro155-hero,.hero:has(> .guide-visual)) > figure{
 position:relative;box-sizing:border-box;width:100%!important;max-width:none!important;min-width:0;
 height:100%!important;min-height:310px!important;margin:0!important;padding:0!important;
 background:#dce7f4;overflow:hidden;align-self:stretch;justify-self:stretch;
}
body.duo-site:not([data-duo-template="home"]) main :is(.catalog-hero,.guide148-hero,.model148-hero,.modelhub148-hero,.duo89-hero,.pro155-hero,.hero:has(> .guide-visual)) > figure img{
 box-sizing:border-box;display:block;width:100%!important;height:100%!important;
 min-height:310px!important;max-height:none!important;max-width:none;
 object-fit:cover;object-position:center;border-radius:0!important;
}
/* Pro hero has an inner padded panel and intentionally rounded image. */
body.duo-site[data-duo-page-id="iphone-18-pro"] .pro155-hero,
body.duo-site[data-duo-page-id="en/iphone-18-pro"] .pro155-hero{gap:25px;padding:24px;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr)!important}
body.duo-site[data-duo-page-id="iphone-18-pro"] .pro155-visual,
body.duo-site[data-duo-page-id="en/iphone-18-pro"] .pro155-visual{
 border-radius:17px;min-height:320px!important;overflow:hidden;
}
body.duo-site[data-duo-page-id="iphone-18-pro"] .pro155-visual img,
body.duo-site[data-duo-page-id="en/iphone-18-pro"] .pro155-visual img{
 object-position:center;min-height:320px!important;border-radius:17px!important
}
body.duo-site .pro155-copy{padding:10px 14px 10px 12px!important}
body.duo-site .pro155-copy .lead{max-width:58ch}
body.duo-site .pro155-visual figcaption{position:absolute;left:14px;right:14px;bottom:10px;max-width:calc(100% - 28px);color:#fff;background:rgba(12,26,48,.72);padding:8px 10px;border-radius:9px;font-size:.78rem;line-height:1.4;backdrop-filter:blur(6px)}
body.duo-site .guide148-visual figcaption{font-size:.75rem;line-height:1.38}
/* Restore reliable original image ratios on picture-heavy cards. */
body.duo-site main :is(.r89-review-visual,.r89-catalog-visual,.guide148-visual,.pro155-visual) img{vertical-align:middle}
body.duo-site main :is(.catalog-card,.hub-card){min-height:132px;padding:21px 45px 21px 22px;box-shadow:0 7px 20px rgba(28,51,83,.045)}
body.duo-site main :is(.catalog-card,.hub-card) b{font-size:clamp(.93rem,1.15vw,1.04rem);line-height:1.42}
body.duo-site main :is(.catalog-card,.hub-card) span{font-size:.86rem;line-height:1.55}
body.duo-site main :is(.catalog-card,.hub-card):focus-visible{outline:3px solid #1265d7;outline-offset:3px}
body.duo-site .guide148-hero .guide148-copy{align-self:center}
body.duo-site .guide148-hero h1{max-width:19ch}
/* A transparent methodology belongs with a review directory. */
body.duo-site main .r17027-editorial-note{box-sizing:border-box;margin:20px auto 0;padding:19px 22px;max-width:100%;border:1px solid #ccdceb;border-left:4px solid #367cd4;border-radius:14px;background:#f2f7fd}
body.duo-site main .r17027-editorial-note strong{font-size:1rem;color:#183456}
body.duo-site main .r17027-editorial-note p{margin:7px 0 0;line-height:1.65;color:#455d77;font-size:.92rem;max-width:85ch}
/* Publication / pre-order pages: real illustration alongside readable title. */
body.duo-site[data-duo-page-id="iphone-duo-vorbestellung"] .duo-audience-status,
body.duo-site[data-duo-page-id="en/iphone-duo-preorder"] .duo-audience-status{
 width:min(calc(100% - 2 * var(--duo-page-gutter)),1190px);max-width:1190px;
 padding:17px 23px;border-radius:14px;background:linear-gradient(110deg,#ecf4ff,#f8fbff);
}
body.duo-site[data-duo-page-id="iphone-duo-vorbestellung"] main .duo-page-path,
body.duo-site[data-duo-page-id="en/iphone-duo-preorder"] main .duo-page-path{max-width:1190px}
body.duo-site[data-duo-page-id="iphone-duo-vorbestellung"] .duo-reader-hero,
body.duo-site[data-duo-page-id="en/iphone-duo-preorder"] .duo-reader-hero{
 box-sizing:border-box;max-width:1190px;width:min(calc(100% - 2 * var(--duo-page-gutter)),1190px);
 display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);align-items:center;gap:0;
 padding:0!important;margin-top:22px;margin-bottom:26px;overflow:hidden;
}
body.duo-site .r17027-reader-copy{padding:clamp(26px,3.5vw,46px);min-width:0}
body.duo-site .r17027-reader-copy h1{max-width:20ch!important;margin:10px 0 15px!important;font-size:clamp(2.1rem,3.7vw,3.5rem)!important}
body.duo-site .r17027-reader-copy .lead{font-size:1.09rem!important;max-width:54ch;line-height:1.65}
body.duo-site .r17027-reader-copy .duo-reader-source{font-size:.8rem;margin-top:14px;max-width:52ch}
body.duo-site .r17027-reader-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}
body.duo-site .r17027-reader-actions a{display:inline-flex;justify-content:center;align-items:center;min-height:43px;padding:9px 15px;border:1px solid #b9cde6;border-radius:10px;font-weight:750;text-decoration:none;font-size:.87rem;color:#144d9a;background:#fff}
body.duo-site .r17027-reader-actions a.r17027-action-primary{background:#145fca;border-color:#145fca;color:#fff}
body.duo-site .r17027-reader-actions a:hover{box-shadow:0 8px 18px rgba(14,62,125,.13);transform:translateY(-1px)}
body.duo-site .r17027-reader-visual{position:relative;align-self:stretch;margin:0;min-height:340px;background:#0e1e35;overflow:hidden}
body.duo-site .r17027-reader-visual img{width:100%;height:100%!important;min-height:340px;object-fit:cover;display:block}
body.duo-site .r17027-reader-visual figcaption{position:absolute;bottom:15px;left:15px;right:15px;max-width:calc(100% - 30px);font-size:.74rem;line-height:1.4;color:#fff;background:rgba(14,25,45,.79);border:1px solid rgba(255,255,255,.14);padding:9px 11px;border-radius:8px;backdrop-filter:blur(5px)}
body.duo-site[data-duo-template="reader"] .duo-reader-section{max-width:880px;scroll-margin-top:92px}
body.duo-site[data-duo-template="reader"] .duo-reader-section h2{font-size:clamp(1.4rem,2.3vw,1.87rem);letter-spacing:-.025em}
body.duo-site[data-duo-template="reader"] .duo-reader-section p,
body.duo-site[data-duo-template="reader"] .duo-reader-section li{font-size:1rem;line-height:1.78}
/* Radar editorial status: a visual narrative, not a fake feed or fabricated progress. */
body.duo-site main.radar-public .tool-hero{margin-top:22px;padding:clamp(24px,3.3vw,39px);overflow:hidden}
body.duo-site main.radar-public .r17027-radar-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);gap:28px;align-items:center}
body.duo-site main.radar-public .r17027-radar-copy h1{max-width:20ch!important}
body.duo-site main.radar-public .r17027-radar-copy .lead{font-size:1.08rem;line-height:1.68;max-width:61ch}
body.duo-site main.radar-public .radar-state-note{color:#546b87;line-height:1.55;font-size:.85rem;max-width:67ch}
body.duo-site main.radar-public .r17027-radar-visual{height:315px;position:relative;display:flex;align-items:flex-end;justify-content:center;isolation:isolate;overflow:hidden;border-radius:19px;background:radial-gradient(circle at 50% 38%,#255787 0%,#102c4e 37%,#0b1931 74%);box-shadow:0 14px 35px rgba(8,28,53,.12)}
body.duo-site main.radar-public .r17027-radar-orbit{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
body.duo-site main.radar-public .r17027-radar-orbit span{grid-area:1/1;border:1px solid rgba(141,206,255,.24);border-radius:50%;aspect-ratio:1;box-shadow:0 0 22px rgba(50,153,244,.06) inset}
body.duo-site main.radar-public .r17027-radar-orbit span:nth-child(1){width:115px}
body.duo-site main.radar-public .r17027-radar-orbit span:nth-child(2){width:225px}
body.duo-site main.radar-public .r17027-radar-orbit span:nth-child(3){width:345px}
body.duo-site main.radar-public .r17027-radar-orbit i{position:absolute;width:11px;height:11px;left:calc(50% - 5px);top:calc(50% - 5px);background:#91d9ff;border-radius:50%;box-shadow:0 0 0 9px #7dccff20,0 0 35px #85cfff}
body.duo-site main.radar-public .r17027-radar-flow{position:relative;z-index:2;display:flex;gap:6px;justify-content:center;flex-wrap:wrap;padding:0 10px 22px}
body.duo-site main.radar-public .r17027-radar-flow span{display:flex;gap:5px;align-items:center;font-size:.71rem;color:#e5f3ff;padding:8px;border-radius:7px;background:#102b4acb;border:1px solid #749dc24a}
body.duo-site main.radar-public .r17027-radar-flow b{color:#80c9ff}
body.duo-site main.radar-public .radar-summary{margin:25px 0 0}
body.duo-site main.radar-public .radar-summary article{padding:17px 20px;border-radius:13px;background:#fff}
body.duo-site main.radar-public .radar-summary b{font-size:clamp(1.4rem,2vw,2rem)}
body.duo-site main.radar-public .radar-summary span{font-size:.82rem;line-height:1.42}
body.duo-site main.radar-public.radar-empty-state .tool-panel{display:none}
body.duo-site main.radar-public .r17027-radar-empty{padding:clamp(23px,3vw,36px);border:1px solid #cfddea;background:linear-gradient(125deg,#fff,#f5f9ff);border-radius:18px}
body.duo-site main.radar-public .r17027-empty-label{font-size:.72rem;font-weight:800;letter-spacing:.11em;color:#326db5;margin-bottom:9px}
body.duo-site main.radar-public .r17027-radar-empty h3{font-size:clamp(1.3rem,2.3vw,1.8rem);margin:0 0 11px;line-height:1.25}
body.duo-site main.radar-public .r17027-radar-empty>p{font-size:1rem;line-height:1.68;max-width:75ch;margin:0 0 22px;color:#435874}
body.duo-site main.radar-public .r17027-radar-next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
body.duo-site main.radar-public .r17027-radar-next a{padding:18px 18px;display:flex;flex-direction:column;gap:8px;border:1px solid #cddced;border-radius:12px;background:#fff;color:#132d4d;text-decoration:none;min-height:100px}
body.duo-site main.radar-public .r17027-radar-next a:hover{border-color:#86b5ea;box-shadow:0 12px 26px rgba(27,58,94,.07)}
body.duo-site main.radar-public .r17027-radar-next strong{font-size:.98rem}
body.duo-site main.radar-public .r17027-radar-next span{color:#2167b5;font-size:.84rem;line-height:1.48}
/* Narrow devices: true one-column layout with images in flow, no overflow. */
@media(max-width:930px){
 body.duo-site:not([data-duo-template="home"]) main :is(.catalog-hero,.guide148-hero,.model148-hero,.modelhub148-hero,.duo89-hero,.pro155-hero,.hero:has(> .guide-visual)){grid-template-columns:minmax(0,1fr)!important}
 body.duo-site:not([data-duo-template="home"]) main :is(.catalog-hero,.guide148-hero,.model148-hero,.modelhub148-hero,.duo89-hero,.pro155-hero,.hero:has(> .guide-visual))>figure{width:100%!important;max-width:none!important;min-height:225px!important;max-height:340px;height:245px!important;margin:0!important}
 body.duo-site:not([data-duo-template="home"]) main :is(.catalog-hero,.guide148-hero,.model148-hero,.modelhub148-hero,.duo89-hero,.pro155-hero,.hero:has(> .guide-visual))>figure img{height:100%!important;min-height:225px!important;max-height:none!important}
 body.duo-site[data-duo-page-id="iphone-18-pro"] .pro155-hero,body.duo-site[data-duo-page-id="en/iphone-18-pro"] .pro155-hero{grid-template-columns:minmax(0,1fr)!important}
 body.duo-site[data-duo-page-id="iphone-duo-vorbestellung"] .duo-reader-hero,body.duo-site[data-duo-page-id="en/iphone-duo-preorder"] .duo-reader-hero{grid-template-columns:minmax(0,1fr)}
 body.duo-site .r17027-reader-visual,body.duo-site .r17027-reader-visual img{height:255px!important;min-height:255px;max-height:255px}
 body.duo-site main.radar-public .r17027-radar-intro{grid-template-columns:minmax(0,1fr)}
 body.duo-site main.radar-public .r17027-radar-visual{height:240px}
}
@media(max-width:650px){
 body.duo-site:not([data-duo-template="home"]) main :is(.catalog-hero,.guide148-hero,.model148-hero,.modelhub148-hero,.duo89-hero,.pro155-hero,.hero:has(> .guide-visual))>figure{min-height:190px!important;height:205px!important}
 body.duo-site:not([data-duo-template="home"]) main :is(.catalog-hero,.guide148-hero,.model148-hero,.modelhub148-hero,.duo89-hero,.pro155-hero,.hero:has(> .guide-visual))>figure img{min-height:190px!important}
 body.duo-site .r17027-reader-copy{padding:22px}
 body.duo-site .r17027-reader-copy h1{font-size:clamp(1.88rem,7vw,2.48rem)!important}
 body.duo-site .r17027-reader-visual,body.duo-site .r17027-reader-visual img{height:205px!important;min-height:205px;max-height:205px}
 body.duo-site .r17027-reader-actions{flex-direction:column}
 body.duo-site main.radar-public .radar-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.duo-site main.radar-public .r17027-radar-visual{height:210px}
 body.duo-site main.radar-public .r17027-radar-next{grid-template-columns:1fr}
 body.duo-site main.radar-public .r17027-radar-next a{min-height:0}
 body.duo-site main :is(.catalog-card,.hub-card){min-height:104px;padding:18px 38px 18px 17px}
}
@media(prefers-reduced-motion:reduce){body.duo-site .r17027-reader-actions a{transition:none}}

/* Same fix for individual tests/reviews: compact but substantial images. */
body.duo-site[data-duo-template="article"] main.wrap.subpage .review-hero{
 display:grid!important;grid-template-columns:minmax(0,1fr) minmax(315px,.68fr)!important;
 align-items:stretch;min-height:0!important;gap:10px;
}
body.duo-site[data-duo-template="article"] main.wrap.subpage .review-hero > .r89-review-visual{
 width:100%!important;max-width:none!important;min-height:275px!important;
 align-items:stretch!important;justify-content:stretch!important;justify-self:stretch;
 margin:0!important;padding:18px!important;box-sizing:border-box;
}
body.duo-site[data-duo-template="article"] main.wrap.subpage .review-hero > .r89-review-visual img{
 width:100%!important;height:100%!important;min-height:255px!important;max-height:none!important;
 object-fit:cover;object-position:center;border-radius:13px;
}
body.duo-site .r17027-menu-button{display:none!important;border:1px solid #c9d9ec;border-radius:10px;padding:9px 11px;background:#fff;color:#1b365b;font:700 14px/1.25 system-ui,-apple-system,sans-serif;cursor:pointer;gap:7px;align-items:center;justify-content:center;white-space:nowrap;min-height:43px}
body.duo-site .r17027-menu-button:focus-visible{outline:3px solid #1265d7;outline-offset:3px}
body.duo-site .r17027-menu-button .r17027-menu-symbol{font-size:17px;line-height:1}
@media(max-width:930px){
 body.duo-site .duo-nav-shell{position:relative;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between;min-height:67px!important;gap:8px;padding:8px 0!important}
 body.duo-site .duo-nav-shell .duo-wordmark{flex:1 1 auto;min-width:0;order:1}
 body.duo-site .duo-nav-shell .duo-nav-tools{order:2;margin:0}
 body.duo-site .r17027-menu-button{display:inline-flex!important;flex:none;order:3}
 body.duo-site .duo-nav-shell .duo-main-nav{display:none!important;position:absolute!important;left:0!important;right:0!important;top:calc(100% + 5px)!important;
   box-sizing:border-box;order:4;z-index:150;min-width:0;max-width:100%;width:100%!important;flex:none!important;
   margin:0;padding:11px!important;overflow:visible!important;justify-content:stretch!important;align-items:stretch;
   background:#fff;border:1px solid #d2dfed;border-radius:14px;box-shadow:0 18px 42px rgba(15,45,80,.18)}
 body.duo-site .duo-nav-shell .duo-main-nav.open{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important}
 body.duo-site .duo-nav-shell .duo-main-nav>a{box-sizing:border-box;display:flex!important;padding:11px 13px!important;font-size:.93rem!important;min-height:44px;white-space:normal;border-radius:9px}
 body.duo-site .duo-nav-shell .duo-main-nav>a:hover,body.duo-site .duo-nav-shell .duo-main-nav>a[aria-current]{background:#eef5ff;color:#145eaf}
 body.duo-site .duo-nav-shell .duo-main-nav>a:focus-visible{outline:2px solid #145eaf;outline-offset:2px}
}
@media(max-width:930px){
 body.duo-site[data-duo-template="article"] main.wrap.subpage .review-hero{grid-template-columns:minmax(0,1fr)!important}
 body.duo-site[data-duo-template="article"] main.wrap.subpage .review-hero > .r89-review-visual{height:248px!important;min-height:0!important;padding:0 20px 18px!important}
 body.duo-site[data-duo-template="article"] main.wrap.subpage .review-hero > .r89-review-visual img{height:100%!important;min-height:0!important;max-height:none!important}
}
@media(max-width:440px){
 body.duo-site .duo-nav-shell .duo-main-nav.open{grid-template-columns:minmax(0,1fr)}
 body.duo-site .r17027-menu-button{font-size:13px;padding:8px 9px}
 body.duo-site .duo-nav-shell .duo-wordmark strong{font-size:1rem}
 body.duo-site .duo-nav-shell .duo-wordmark small{font-size:.49rem}
 body.duo-site .duo-nav-shell .duo-main-nav>a{font-size:.9rem!important}
 body.duo-site[data-duo-template="article"] main.wrap.subpage .review-hero > .r89-review-visual{height:204px!important}
}

/* Model and practical guides: essential topic visuals instead of isolated text banners.
   Images are explicitly editorial and do not imply actual hands-on testing. */
body.duo-site[data-duo-template="guide"] main.subpage .r17027-topic-hero{
 display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)!important;
 padding:0!important;overflow:hidden;align-items:stretch;min-height:300px;
 box-shadow:0 12px 34px rgba(24,48,81,.065);
}
body.duo-site[data-duo-template="guide"] .r17027-topic-copy{box-sizing:border-box;align-self:center;padding:clamp(26px,3.2vw,42px);min-width:0}
body.duo-site[data-duo-template="guide"] .r17027-topic-copy .crumbs{margin-bottom:14px;line-height:1.45}
body.duo-site[data-duo-template="guide"] .r17027-topic-copy h1{max-width:21ch!important;font-size:clamp(2rem,3.4vw,3.25rem)!important;line-height:1.12}
body.duo-site[data-duo-template="guide"] .r17027-topic-copy .lead{font-size:1.04rem!important;line-height:1.68;color:#49617e;max-width:57ch}
body.duo-site[data-duo-template="guide"] main.subpage .r17027-topic-visual{position:relative;display:block;overflow:hidden;align-self:stretch;width:100%;max-width:none;min-height:310px;margin:0;padding:0;background:#dce7f4}
body.duo-site[data-duo-template="guide"] main.subpage .r17027-topic-visual img{display:block;width:100%;height:100%!important;min-height:310px;max-height:none;object-fit:cover}
body.duo-site[data-duo-template="guide"] .r17027-topic-visual figcaption{position:absolute;bottom:12px;left:12px;right:12px;background:rgba(15,29,49,.76);color:#fff;padding:8px 10px;border-radius:8px;font-size:.76rem;line-height:1.4;backdrop-filter:blur(6px)}
@media(max-width:930px){body.duo-site[data-duo-template="guide"] main.subpage .r17027-topic-hero{grid-template-columns:minmax(0,1fr)!important}body.duo-site[data-duo-template="guide"] main.subpage .r17027-topic-visual,body.duo-site[data-duo-template="guide"] main.subpage .r17027-topic-visual img{min-height:220px;height:248px!important}}
@media(max-width:600px){body.duo-site[data-duo-template="guide"] .r17027-topic-copy{padding:23px 21px}body.duo-site[data-duo-template="guide"] .r17027-topic-copy h1{font-size:clamp(1.9rem,7vw,2.46rem)!important}body.duo-site[data-duo-template="guide"] main.subpage .r17027-topic-visual,body.duo-site[data-duo-template="guide"] main.subpage .r17027-topic-visual img{min-height:190px;height:205px!important}}

/* ---- visual-r17028.css ---- */
/* R170.2.8: editorial illustration treatment for topic-specific article heroes.
   Rendered after previous versions; all topics use a 16:9 WebP image with descriptive alt. */
body.duo-site .r89-review-visual,
body.duo-site .r17027-topic-visual { position:relative; }
body.duo-site .r17028-visual-caption {
 position:absolute;right:12px;bottom:12px;left:auto;display:inline-block;
 border:1px solid rgba(236,247,255,.24);border-radius:8px;
 background:rgba(10,23,42,.77);color:#fff;font-size:.70rem;line-height:1.35;
 padding:7px 10px;letter-spacing:.01em;pointer-events:none;max-width:calc(100% - 24px);
}
body.duo-site[data-duo-template="article"] main.wrap.subpage .review-hero > .r89-review-visual img { object-position:center center!important; }
body.duo-site[data-duo-template="guide"] main.subpage .r17027-topic-visual img { object-position:center center!important; }
@media(max-width:600px) {
 body.duo-site .r17028-visual-caption {font-size:.65rem;padding:5px 8px;right:7px;bottom:7px;}
}

/* ---- duo-refined-energy.css ---- */
/* DUO REFINED ENERGY -- cumulative layout refinement for offline release candidate.
 * Based on the actual R170.2.8 PHP-rendered site and its existing illustrations.
 * Scope: hierarchy, emphasis, visual rhythm, hover/focus and mobile resilience.
 * The design layer makes no outbound requests and does not manage monetization.
 */
:root {
  --duo-energy-blue: #0869ef;
  --duo-energy-deep: #102b55;
  --duo-energy-indigo: #6751cb;
  --duo-energy-aqua: #11a9b4;
  --duo-energy-hairline: #d1e1f3;
}
body.duo-site {
  background:
    radial-gradient(ellipse 760px 410px at 96% 160px, rgba(77,117,235,.075),transparent 79%),
    radial-gradient(ellipse 650px 390px at 2% 430px, rgba(0,165,195,.07),transparent 78%),
    #f3f7fc;
}
body.duo-site .site-header {
  background: rgba(255,255,255,.95);
  border-bottom: 1px solid rgba(168,193,226,.42);
  box-shadow: 0 7px 25px rgba(14,41,81,.043);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
body.duo-site .duo-wordmark strong {letter-spacing:-.025em;}
body.duo-site .duo-wordmark strong::after {
  content:"";display:block;width:41px;height:3px;margin-top:3px;
  border-radius:999px;background:linear-gradient(90deg,var(--duo-energy-blue),var(--duo-energy-aqua));
}
body.duo-site .duo-main-nav a{transition:color .18s ease;}
body.duo-site .duo-main-nav a:hover,
body.duo-site .duo-main-nav a:focus-visible{color:#075bc8;}
/* One unified accent across landing pages, guides, reviews, and model articles. */
body.duo-site:not([data-duo-template="home"]):not(.duo-legal) main :is(
  .duo-reader-hero,.guide148-hero,.catalog-hero,.review-hero,.pro155-hero,.model148-hero,.modelhub148-hero
){
  border:1px solid #d1e1f4;
  box-shadow:0 20px 48px rgba(24,61,105,.095),0 3px 8px rgba(19,48,85,.03);
  background-image:linear-gradient(135deg,#ffffff 4%,#f8fbff 52%,#edf5ff 100%);
}
body.duo-site:not([data-duo-template="home"]):not(.duo-legal) main :is(
  .r17027-reader-copy,.guide148-copy,.r89-catalog-copy,.pro155-copy,.review-copy
) .eyebrow,
body.duo-site main .kicker {
  color:#075fd6;
  letter-spacing:.13em;
}
body.duo-site:not([data-duo-template="home"]):not(.duo-legal) main :is(
  .r17027-reader-copy,.guide148-copy,.r89-catalog-copy,.pro155-copy
) h1 {
  color:#10274b;
  letter-spacing:-.043em;
}
body.duo-site:not([data-duo-template="home"]):not(.duo-legal) main :is(
  .r17027-reader-copy,.guide148-copy,.r89-catalog-copy,.pro155-copy
) h1::after {
  content:"";display:block;width:78px;height:4px;margin:17px 0 5px;
  border-radius:99px;background:linear-gradient(90deg,var(--duo-energy-blue),var(--duo-energy-indigo),var(--duo-energy-aqua));
}
body.duo-site .duo-audience-status{
  border-color:#cbdcf1;
  border-left:4px solid var(--duo-energy-blue);
  background:linear-gradient(115deg,#e7f1ff,#f4f9ff);
}
body.duo-site .r17027-reader-actions a.r17027-action-primary,
body.duo-site main .home106-actions a:first-child {
  background:linear-gradient(115deg,#0966e9,#246dfa) !important;
  border-color:#0b61d9 !important;color:#fff !important;
  box-shadow:0 9px 20px rgba(8,96,217,.21);
}
body.duo-site .r17027-reader-actions a:hover,
body.duo-site main .home106-actions a:hover {transform:translateY(-2px);box-shadow:0 13px 25px rgba(11,73,146,.17)}
/* Editorial subheads become more navigable without text changes. */
body.duo-site[data-duo-template="reader"] main .duo-reader-section {
  max-width:1020px;
  box-sizing:border-box;
  background:#fff;border:1px solid #dce8f6;border-radius:18px;
  padding:26px clamp(20px,3vw,36px);
  margin:18px auto;
  box-shadow:0 9px 26px rgba(23,61,105,.039);
}
body.duo-site[data-duo-template="reader"] main .duo-reader-section h2 {
  color:var(--duo-energy-deep);letter-spacing:-.029em;
}
body.duo-site[data-duo-template="reader"] main .duo-reader-timeline li {
  background:linear-gradient(145deg,#f6faff,#ebf4ff);
  border:1px solid #d5e5f7;border-radius:12px;
}
body.duo-site main :is(.catalog-card,.hub-card,.duo-reader-cards article,.r17027-radar-next a,.home106-shortcuts>a),
body.duo-site[data-duo-template="home"] .home106-news article {
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
body.duo-site main :is(.catalog-card,.hub-card,.duo-reader-cards article,.r17027-radar-next a,.home106-shortcuts>a):hover,
body.duo-site[data-duo-template="home"] .home106-news article:hover {
  transform:translateY(-3px);
  border-color:#9dbfea;
  box-shadow:0 14px 32px rgba(25,66,121,.105);
}
body.duo-site main :is(.catalog-card,.hub-card,.duo-reader-cards article,.r17027-radar-next a,.home106-shortcuts>a):focus-visible,
body.duo-site main :is(.catalog-card,.hub-card,.duo-reader-cards article,.r17027-radar-next a,.home106-shortcuts>a) a:focus-visible {
  outline:3px solid #1d6ee8;outline-offset:3px;
}
body.duo-site[data-duo-template="home"] .home106-hero{
  border:1px solid #c8daf1;
  box-shadow:0 27px 68px rgba(26,76,135,.13);
}
body.duo-site[data-duo-template="home"] .home106-shortcuts>a {
  position:relative;overflow:hidden;background:linear-gradient(160deg,#fff 70%,#f0f7ff);
}
body.duo-site[data-duo-template="home"] .home106-shortcuts>a::before {
  content:"";position:absolute;left:0;top:0;width:100%;height:3px;
  background:linear-gradient(90deg,#0c6cf2,#50c3d0);opacity:.77;
}
body.duo-site[data-duo-template="home"] .home106-news article .tag {
  background:linear-gradient(105deg,#0968ed,#4859ca);
}
body.duo-site main.radar-public .r17027-radar-visual{
  box-shadow:0 20px 40px rgba(13,45,103,.19);
}
body.duo-site main.radar-public .radar-summary article {
  border:1px solid #d5e5f6;
  box-shadow:0 8px 20px rgba(15,59,110,.045);
}
body.duo-site main.radar-public .radar-summary b {color:#1259b9;}
body.duo-site .r17027-editorial-note{
  border-left-color:var(--duo-energy-aqua)!important;
  background:linear-gradient(110deg,#eef8fc,#f5f9ff)!important;
}
/* Deliberately conservative at narrow widths; avoid introducing overflow or nested grids. */
@media(max-width:930px){
  body.duo-site[data-duo-template="reader"] main .duo-reader-section {width:min(calc(100% - 28px),1020px);}
  body.duo-site .duo-nav-shell .duo-main-nav.open {box-shadow:0 16px 40px rgba(20,52,102,.16);}
}
@media(max-width:600px){
  body.duo-site:not([data-duo-template="home"]):not(.duo-legal) main :is(
    .r17027-reader-copy,.guide148-copy,.r89-catalog-copy,.pro155-copy
  ) h1::after{margin-top:13px;width:57px;height:3px;}
  body.duo-site[data-duo-template="reader"] main .duo-reader-section{padding:20px 18px;}
  body.duo-site .duo-wordmark strong::after{width:28px;height:2px;}
}
@media(prefers-reduced-motion:reduce){
  body.duo-site .r17027-reader-actions a,
  body.duo-site main :is(.catalog-card,.hub-card,.duo-reader-cards article,.r17027-radar-next a,.home106-shortcuts>a){transition:none;transform:none;}
}
/* Mobile: show every guide anchor instead of truncating the horizontal navigation. */
@media(max-width:560px){
  body.duo-site .guide148-jump{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));
    white-space:normal!important;overflow:visible!important;gap:7px;
  }
  body.duo-site .guide148-jump a{
    min-width:0;white-space:normal!important;word-break:normal;
    min-height:43px;border:1px solid #deebfa;
    background:#f4f9ff;font-size:.77rem;line-height:1.3;
  }
}

/* Clear advertising identification and keyboard-accessible offer destinations. */
.duo-affiliate-label{display:block;color:#293d69;background:#ebf3ff;border:1px solid #bfd3f4;border-radius:7px;padding:5px 9px;font-size:.75rem;font-weight:700;margin:9px 0 5px;width:max-content;max-width:100%}
.offer-card a:focus-visible{outline:3px solid #0869ef;outline-offset:3px}

/* ---- duo-r170210.css ---- */
/* DUO R170.2.10: restrained freshness, photos approximately 20% smaller.
   Scoped to existing HTML; no artificial iPhone visuals or new libraries. */
:root{--duo-link:#1769c4;--duo-border:#dce6f1}
body.duo-site{background:#f7f9fc}
body.duo-site .duo-wordmark strong::after{background:#1c70c9;opacity:.75}
body.duo-site .site-header{box-shadow:0 3px 14px rgba(25,54,93,.042)}
body.duo-site[data-duo-template="home"] .home106-hero{
 background-image:
 linear-gradient(90deg,rgba(251,253,255,1) 0%,rgba(249,252,255,.99) 42%,rgba(247,251,255,.96) 53%,rgba(247,251,255,.64) 63%,rgba(247,251,255,.08) 78%),
 url('/assets/r89-duo-detail.webp'),
 radial-gradient(circle at 78% 38%,rgba(183,217,255,.45),transparent 37%),
 radial-gradient(circle at 58% 84%,rgba(255,234,216,.3),transparent 30%),
 linear-gradient(125deg,#fbfdff 0%,#f4f9ff 58%,#e9f3ff 100%);
 background-position:0 0,right center,center,center,center;
 background-size:auto,46.4% auto,auto,auto,auto;
 background-repeat:no-repeat;
}
body.duo-site[data-duo-template="home"] .home106-news article>img{height:107px;object-fit:cover;max-width:100%}
body.duo-site[data-duo-template="home"] .home106-shortcuts img{width:47px;height:40px}
body.duo-site[data-duo-template="home"] .home106-shortcuts>a{grid-template-columns:47px minmax(0,1fr) 27px}
body.duo-site[data-duo-template="home"] .home106-accessory-grid img{width:44px;height:36px}
body.duo-site[data-duo-template="home"] .home106-accessory-grid>a{grid-template-columns:44px minmax(0,1fr) 27px}
/* 80% of previous minimum hero image sizing; allow text to occupy more room */
@media (min-width:931px){
 body.duo-site:not([data-duo-template="home"]) main :is(.catalog-hero,.guide148-hero,.model148-hero,.modelhub148-hero,.duo89-hero,.pro155-hero,.hero:has(> .guide-visual)){
  grid-template-columns:minmax(0,1fr) minmax(272px,.66fr)!important;min-height:250px!important
 }
 body.duo-site:not([data-duo-template="home"]) main :is(.catalog-hero,.guide148-hero,.model148-hero,.modelhub148-hero,.duo89-hero,.pro155-hero,.hero:has(> .guide-visual)) > figure,
 body.duo-site:not([data-duo-template="home"]) main :is(.catalog-hero,.guide148-hero,.model148-hero,.modelhub148-hero,.duo89-hero,.pro155-hero,.hero:has(> .guide-visual)) > figure img{min-height:250px!important}
 body.duo-site[data-duo-page-id="iphone-18-pro"] .pro155-visual,
 body.duo-site[data-duo-page-id="en/iphone-18-pro"] .pro155-visual,
 body.duo-site[data-duo-page-id="iphone-18-pro"] .pro155-visual img,
 body.duo-site[data-duo-page-id="en/iphone-18-pro"] .pro155-visual img{min-height:260px!important}
}
@media(max-width:900px){
 body.duo-site[data-duo-template="home"] .home106-hero{background-image:linear-gradient(180deg,#fbfdff 0%,rgba(249,252,255,.96) 49%,rgba(248,252,255,.6) 62%,rgba(248,252,255,.05) 76%),url('/assets/r89-duo-detail.webp'),linear-gradient(125deg,#fbfdff,#eaf4ff);background-size:auto,auto 39.2%,auto;background-position:center,center bottom,center}
}
@media(max-width:620px){
 body.duo-site[data-duo-template="home"] .home106-hero{min-height:675px;background-size:auto,auto 33.6%,auto}
 body.duo-site[data-duo-template="home"] .home106-copy{padding-bottom:275px}
 body.duo-site[data-duo-template="home"] .home106-news article>img{height:136px}
}
/* Product-relevant, explicitly marked Amazon links (shown only with verified config). */
.duo-amazon-related{box-sizing:border-box;width:min(calc(100% - 34px),1030px);margin:28px auto 36px;padding:24px;border:1px solid #d6e5f3;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(25,62,104,.045)}
.duo-amazon-header{display:flex;gap:15px;justify-content:space-between;align-items:start;flex-wrap:wrap}
.duo-amazon-related h2{font-size:clamp(1.18rem,2vw,1.55rem);margin:.25rem 0;color:#183354;letter-spacing:-.025em}
.duo-amazon-related p{font-size:.9rem;color:#496077;margin:8px 0 17px}
.duo-amazon-header>a{font-size:.82rem;color:#1265cc}
.duo-amazon-eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.09em;color:#805b20;background:#fff6e4;border:1px solid #f0dbb1;border-radius:5px;padding:3px 6px}
.duo-amazon-related ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.duo-amazon-related li{border:1px solid #d9e5f3;border-radius:12px;padding:15px;background:#f9fbff;display:flex;min-width:0;flex-direction:column;gap:13px;justify-content:space-between}
.duo-amazon-offer-name{font-size:.9rem;font-weight:750;color:#172d4e;overflow-wrap:anywhere}
.duo-amazon-cta{font-size:.8rem;font-weight:750;border:1px solid #c6d9f1;background:#fff;padding:10px 12px;border-radius:9px;color:#1265cc!important;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.duo-amazon-cta:hover{background:#edf6ff}
.duo-amazon-related>small{font-size:.72rem;color:#52667e;display:block;margin-top:14px;line-height:1.5}
.duo-amazon-legal{font-weight:650;background:#eaf3ff;border-left:3px solid #1265cc;padding:10px 14px}
@media(max-width:680px){.duo-amazon-related{width:min(calc(100% - 20px),1030px);padding:17px}.duo-amazon-related ul{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.duo-amazon-cta{transition:none}}

/* ---- duo-r170211.css ---- */
/* R170.2.11 – Real homepage redesign. All markup uses existing public routes.
   No fictitious iPhone imagery, price, live source metric or fake signup form.
   Home-only selectors prevent regression in guides, tools, reviews and B2B. */
body.duo-site[data-duo-template="home"]{
  background:#f8fafc; color:#0c2039;
}
body.duo-site[data-duo-template="home"] .site-header{
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid #e4ebf3;
  box-shadow:0 3px 16px rgba(25,59,97,.036);
}
body.duo-site[data-duo-template="home"] .duo-wordmark strong::after {display:none}
body.duo-site[data-duo-template="home"] .duo-main-nav a {font-weight:650; font-size:.9rem}
body.duo-site[data-duo-template="home"] .duo-main-nav a:hover{color:#1769c4}
.home211-main{width:min(calc(100% - 56px),1340px);margin:23px auto 34px;color:#0d1d33}
.home211-main *{box-sizing:border-box}
.home211-main svg{width:23px;height:23px;flex-shrink:0}
.home211-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,280px);
  column-gap:clamp(18px,3.5vw,44px);row-gap:0;align-items:center;
  padding:38px 30px 0;
  background:radial-gradient(ellipse at 66% 7%,rgba(223,235,249,.55),transparent 39%),linear-gradient(110deg,#fcfdff 3%,#f4f8fd 100%);
  border:1px solid #dfe9f4;border-radius:22px;box-shadow:0 12px 36px rgba(30,63,101,.063);
  overflow:hidden;position:relative;
}
.home211-intro{padding:18px 0 18px 6px;min-width:0;position:relative;z-index:2}
.home211-eyebrow{margin:0 0 18px;font-size:.69rem!important;line-height:1.4;font-weight:800;letter-spacing:.18em;color:#59708b!important;text-transform:uppercase}
.home211-intro h1{margin:0;font-size:clamp(2.6rem,4vw,3.7rem);letter-spacing:-.052em;line-height:1.08;font-weight:840;color:#0b172b;max-width:12.5ch;overflow:visible;word-break:normal}
.home211-intro h1 span{color:#176bc4}
.home211-lead{font-size:clamp(.95rem,1.1vw,1.07rem)!important;line-height:1.56;color:#475e78!important;max-width:54ch;margin:20px 0 0!important}
.home211-actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 0}
.home211-actions a{min-height:47px;padding:11px 17px;display:inline-flex;align-items:center;gap:13px;border-radius:10px;text-decoration:none!important;font-size:.88rem;font-weight:760;transition:background .18s,transform .18s,box-shadow .18s}
.home211-primary{background:#1168c6;color:#fff!important;box-shadow:0 7px 16px rgba(14,93,183,.17)}
.home211-primary:hover{background:#0755a6;transform:translateY(-1px)}
.home211-secondary{background:#fff;color:#143757!important;border:1px solid #cad8e7}
.home211-secondary:hover{border-color:#8aadd4;background:#f7faff}
.home211-secondary svg{width:18px;height:18px;color:#1769c4}
.home211-topics{align-self:center;background:#fff;border:1px solid #e0e9f2;border-radius:15px;padding:9px 11px 7px;box-shadow:0 12px 25px rgba(30,64,96,.071);min-width:0;position:relative;z-index:3}
.home211-topics h2{font-size:.79rem;font-weight:800;margin:4px 8px 8px;letter-spacing:.03em;color:#253a51}
.home211-topic{display:flex;align-items:center;gap:10px;min-height:49px;border-radius:8px;padding:5px 7px;color:#132941!important;text-decoration:none!important;border-bottom:1px solid #eef2f7;transition:background .18s}
.home211-topic:last-child{border-bottom:0}
.home211-topic:hover{background:#f1f7ff}
.home211-topic-icon{display:grid;place-items:center;border-radius:10px;background:#ecf4fd;color:#1467ba;flex:none;width:32px;height:32px}
.home211-topic-icon svg{width:18px;height:18px}
.home211-topic strong{display:block;font-size:.81rem;font-weight:750;line-height:1.2}
.home211-topic small{display:block;font-size:.66rem;color:#687c90;margin-top:3px;line-height:1.18}
.home211-topic-arrow{margin-left:auto;color:#7a91a9;display:flex;align-items:center}
.home211-topic-arrow svg{width:14px;height:14px}
.home211-credibility{grid-column:1/-1;display:flex;gap:0;align-items:stretch;margin:16px -30px 0;padding:11px 28px;background:rgba(255,255,255,.7);border-top:1px solid #e2eaf4}
.home211-credibility>span{display:flex;gap:10px;align-items:center;padding:4px 19px;border-right:1px solid #e6eef6;min-width:0}
.home211-credibility>span:first-child{padding-left:8px}
.home211-credibility>span:last-child{border:0}
.home211-credibility svg{width:22px;height:22px;color:#1a70c2}
.home211-credibility b{display:block;font-weight:760;font-size:.78rem}
.home211-credibility small{display:block;font-size:.66rem;line-height:1.2;color:#627993;margin-top:2px}
.home211-section{margin-top:30px}
.home211-section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}
.home211-section-heading h2{font-size:1.5rem;letter-spacing:-.035em;line-height:1.15;color:#0c1b30;margin:0}
.home211-section-heading p{font-size:.83rem;color:#6a7c90;margin:5px 0 0}
.home211-section-heading>a{white-space:nowrap;color:#1769ba;font-size:.82rem;font-weight:800}
.home211-article-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.home211-card{background:#fff;border:1px solid #e1eaf3;border-radius:14px;display:flex;flex-direction:column;overflow:hidden;min-width:0;box-shadow:0 6px 18px rgba(23,55,90,.035);transition:border-color .2s,transform .2s,box-shadow .2s}
.home211-card:hover{border-color:#bad3ef;box-shadow:0 10px 23px rgba(22,63,112,.08);transform:translateY(-2px)}
.home211-card-media{background:#eef4fa;display:block;padding:8px 9px 0;text-decoration:none!important}
.home211-card-media img{width:100%;height:105px!important;object-fit:cover;display:block;border-radius:8px;max-width:100%}
.home211-card-abstract{height:105px;display:grid;place-items:center;position:relative;overflow:hidden;border-radius:8px;background:radial-gradient(circle at 73% 27%,#d9e8f8 0 15%,transparent 16%),radial-gradient(circle at 22% 80%,#b6d7f7 0 11%,transparent 12%),linear-gradient(135deg,#dfedfa,#b5cde6);color:#245f9b}
.home211-card-abstract::before{content:"";position:absolute;width:90px;height:90px;border:7px solid rgba(21,101,185,.19);border-radius:50%;left:40%;top:12%}
.home211-card-abstract::after{content:"";position:absolute;width:48px;height:48px;border:4px solid #2b7ac7;border-radius:50%;left:calc(40% + 21px);top:calc(12% + 21px)}
.home211-card-abstract span{font-weight:780;font-size:.75rem;letter-spacing:.1em;z-index:2;align-self:end;margin-bottom:8px;justify-self:start;margin-left:12px;text-transform:uppercase}
.home211-card-content{padding:12px 13px 14px;display:flex;flex-direction:column;flex:1;min-width:0}
.home211-card-meta{display:flex;gap:6px;justify-content:space-between;align-items:center}
.home211-card-meta>span{color:#1965ac;background:#e8f3fe;border-radius:6px;padding:3px 7px;font-size:.63rem;font-weight:800}
.home211-card-meta time{font-size:.65rem;color:#8394a7}
.home211-card h3{font-size:.91rem;line-height:1.32;letter-spacing:-.015em;margin:12px 0 8px;overflow-wrap:anywhere}
.home211-card h3 a{color:#152a44!important;text-decoration:none!important}
.home211-card h3 a:hover{color:#1263b6!important}
.home211-card p{font-size:.78rem;color:#536b84;line-height:1.44;margin:0 0 18px}
.home211-card-more{color:#1268bd;font-size:.75rem;font-weight:800;margin-top:auto}
.home211-accessories{margin-top:26px}
.home211-accessories-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.home211-accessory{background:#fff;border:1px solid #e2eaf3;border-radius:12px;padding:14px;display:flex;gap:11px;align-items:center;color:#143350!important;text-decoration:none!important;min-width:0}
.home211-accessory:hover{background:#f3f8ff;border-color:#bad3ec}
.home211-accessory-icon{width:39px;height:39px;flex:none;background:#edf5ff;color:#1a68bb;border-radius:9px;display:grid;place-items:center}
.home211-accessory-icon svg{width:19px;height:19px}
.home211-accessory b{display:block;font-size:.81rem}
.home211-accessory small{display:block;font-size:.68rem;color:#657a91;line-height:1.3;margin-top:4px}
.home211-accessory>span:last-child{margin-left:auto;color:#226fba}
.home211-digest{display:flex;align-items:center;gap:17px;background:#edf4fc;border:1px solid #dce9f7;border-radius:14px;padding:17px 21px;margin-top:25px}
.home211-digest-symbol{display:grid;place-items:center;background:#fff;color:#1769c4;border:1px solid #d4e5fa;border-radius:12px;width:47px;height:47px;flex:none}
.home211-digest-symbol svg{width:24px;height:24px}
.home211-digest>div{flex:1;min-width:0}
.home211-digest h2{font-size:1.13rem;margin:0;color:#132d49}
.home211-digest p{font-size:.83rem;margin:4px 0 0;color:#5f7590}
.home211-digest a{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;text-decoration:none!important;border-radius:9px;padding:11px 17px;background:#166fc3;color:#fff!important;font-weight:750;font-size:.82rem}
.home211-digest a:hover{background:#0b55a2}
.home211-digest>small{font-size:.66rem;color:#71869d;white-space:nowrap}
.home211-main .duo-editorial-spotlight{margin-top:24px;width:100%!important}
.home211-main a:focus-visible{outline:3px solid #1a76df;outline-offset:3px}
@media(max-width:1160px){
  .home211-main{width:min(calc(100% - 32px),1340px)}
  .home211-hero{grid-template-columns:minmax(0,1fr) 258px;padding:26px 23px 0;gap:12px}
  .home211-intro{padding:20px 0 14px}
  .home211-credibility{margin:10px -23px 0;padding:10px 18px}
  .home211-article-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home211-card:nth-child(n+4){display:none}
}
@media(max-width:740px){
 .home211-main{width:min(calc(100% - 20px),1340px);margin-top:12px}
 .home211-hero{display:flex;flex-direction:column;align-items:stretch;padding:24px 17px 0;border-radius:17px}
 .home211-intro{padding:5px 0 8px}
 .home211-intro h1{font-size:clamp(2.2rem,6vw,3rem);max-width:18ch}
 .home211-lead{margin-top:15px!important}
 .home211-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:8px;width:100%;margin:10px 0 0}
 .home211-topics h2{grid-column:1/-1;margin:5px 7px 6px}
 .home211-topic{border:1px solid #eef3f8;min-height:51px;gap:7px;padding:5px 6px}
 .home211-topic small{font-size:.62rem}
 .home211-topic-icon{width:29px;height:29px}
 .home211-topic-icon svg{width:16px;height:16px}
 .home211-topic-arrow{display:none}
 .home211-credibility{align-self:stretch;margin:12px -17px 0;padding:8px 10px}
 .home211-credibility>span{flex:1;padding:6px;gap:6px}
 .home211-credibility svg{width:18px;height:18px}
 .home211-credibility small{display:none}
 .home211-section{margin-top:23px}
 .home211-section-heading{align-items:flex-start}
 .home211-section-heading h2{font-size:1.35rem}
 .home211-section-heading p{font-size:.74rem}
 .home211-section-heading a{font-size:.7rem}
 .home211-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home211-card:nth-child(4){display:flex}
 .home211-accessories-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home211-digest{flex-wrap:wrap}
 .home211-digest>small{display:none}
}
@media(max-width:470px){
 .home211-intro h1{font-size:clamp(2.12rem,9.4vw,2.65rem)}
 .home211-actions a{width:auto;flex:1;justify-content:center;font-size:.78rem;padding-inline:9px;gap:6px}
 .home211-actions a svg{width:15px;height:15px}
 .home211-topic strong{font-size:.76rem}
 .home211-topic-icon{width:26px;height:26px}
 .home211-topic-icon svg{width:15px;height:15px}
 .home211-credibility b{font-size:.65rem}
 .home211-credibility>span{gap:4px}
 .home211-credibility svg{width:16px;height:16px}
 .home211-section-heading p{display:none}
 .home211-article-grid{grid-template-columns:1fr}
 .home211-card{flex-direction:row;min-height:139px}
 .home211-card:nth-child(n+4){display:flex}
 .home211-card-media{width:35%;flex:none;padding:9px 0 9px 9px}
 .home211-card-media img,.home211-card-abstract{height:100%!important;min-height:118px;max-height:166px}
 .home211-card-content{padding:10px;min-width:0}
 .home211-card h3{font-size:.87rem;margin:8px 0 6px}
 .home211-card p{font-size:.71rem;line-height:1.3;margin-bottom:8px}
 .home211-card-meta time{display:none}
 .home211-card-more{font-size:.7rem}
 .home211-accessories-grid{grid-template-columns:1fr 1fr;gap:7px}
 .home211-accessory{padding:8px;gap:6px;min-height:62px}
 .home211-accessory-icon{width:27px;height:27px}
 .home211-accessory-icon svg{width:15px;height:15px}
 .home211-accessory b{font-size:.73rem}
 .home211-accessory small{display:none}
 .home211-accessory>span:last-child{display:none}
 .home211-digest{padding:14px;gap:10px}
 .home211-digest-symbol{width:36px;height:36px}
 .home211-digest a{width:100%}
}
@media(prefers-reduced-motion:reduce){.home211-main *{transition:none!important;animation:none!important}}
/* Tablet: avoid intrinsic text width pushing accessory arrows outside cards. */
.home211-accessory>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
.home211-accessory>span:last-child{flex:none}
@media(min-width:741px) and (max-width:940px){
 .home211-accessories-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* R170.2.11 / visual refinement: keep the hero compact after removal of the
   decorative signal image. This applies only to desktop/tablet homepage.
   Mobile stacking and the compact shortcut tap targets remain unchanged. */
@media (min-width:741px) {
  .home211-hero {
    column-gap:clamp(18px,2.4vw,30px);
    padding-top:20px;
  }
  .home211-intro {padding-top:8px;padding-bottom:10px;}
  .home211-intro h1 {
    max-width:19ch;
    font-size:clamp(2.3rem,3.5vw,3.42rem);
    line-height:1.07;
  }
  .home211-eyebrow {margin-bottom:10px;}
  .home211-lead {margin-top:13px!important;}
  .home211-actions {margin-top:16px;}
  .home211-credibility {margin-top:10px;}
}
@media (min-width:1161px) {
  .home211-main {max-width:1160px;}
  .home211-hero {
    grid-template-columns:minmax(0,1fr) 280px;
    padding-left:26px;padding-right:26px;
  }
  .home211-credibility {margin-left:-26px;margin-right:-26px;}
}
@media (min-width:741px) and (max-width:1160px) {
  .home211-intro h1 {font-size:clamp(2.18rem,4vw,3.1rem);}
}

/* R170.2.11 / no-empty-middle: replace a large empty desktop middle with
   a balanced 2-column content + compact, useful 2-column quicklinks grid.
   No invented content, no decorative replacement picture. */
@media (min-width:900px) {
  .home211-hero {
    grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);
    column-gap:clamp(18px,2vw,24px);
  }
  .home211-intro {padding-left:3px}
  .home211-intro h1 {max-width:19ch}
  .home211-topics {
    align-self:center;
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:8px;
    row-gap:7px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .home211-topics h2 {grid-column:1/-1;margin:0 2px 3px;font-size:.79rem}
  .home211-topic {
    min-width:0;
    min-height:55px;
    padding:7px 9px;
    border:1px solid #e0e9f2;
    border-radius:10px;
    background:#fff;
    box-shadow:0 3px 11px rgba(26,62,97,.03);
  }
  .home211-topic:last-child {border-bottom:1px solid #e0e9f2}
  .home211-topic:first-of-type {grid-column:1/-1}
  .home211-topic>span:nth-child(2) {min-width:0}
  .home211-topic strong {font-size:.78rem}
  .home211-topic small {font-size:.64rem}
  .home211-credibility {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .home211-credibility>span {justify-content:center}
}


/* R170.2.11 – CONCEPT D / MAGAZINE HERO, review draft only.
   Designed from actual article illustration already in the project.
   No new product claim, fake render, enlarged topic buttons or new links.
   Overrides touch only the homepage; all other templates unchanged. */
body.duo-site[data-duo-template="home"] .home211-hero {
  isolation:isolate;
  background:linear-gradient(120deg,#fff 0%,#fafdff 58%,#f2f7fe 100%);
  border-color:#d1dff0;
  box-shadow:0 18px 38px rgba(24,58,95,.075);
}
body.duo-site[data-duo-template="home"] .home211-hero::before{
  content:"";position:absolute;z-index:4;pointer-events:none;
  height:4px;inset:0 0 auto 0;
  background:linear-gradient(90deg,#1683d8 0%,#2675cc 47%,#eaa566 78%,#efbb89 100%);
}
body.duo-site[data-duo-template="home"] .home211-intro,
body.duo-site[data-duo-template="home"] .home211-topics,
body.duo-site[data-duo-template="home"] .home211-credibility {position:relative;z-index:2}
body.duo-site[data-duo-template="home"] .home211-eyebrow{
  color:#56718f!important;letter-spacing:.15em;display:flex;align-items:center;gap:11px;
}
body.duo-site[data-duo-template="home"] .home211-eyebrow::before{
  content:"";display:block;width:23px;height:3px;background:#e4a15c;flex:none;border-radius:2px;
}
body.duo-site[data-duo-template="home"] .home211-intro h1{
  color:#0d203a;letter-spacing:-.055em;line-height:1.07;
}
body.duo-site[data-duo-template="home"] .home211-intro h1 span{color:#1975c9}
body.duo-site[data-duo-template="home"] .home211-lead{color:#516985!important}
body.duo-site[data-duo-template="home"] .home211-primary{
  border:1px solid #1869b9;background:#176dc5;box-shadow:0 8px 18px rgba(19,98,185,.14);
}
body.duo-site[data-duo-template="home"] .home211-primary:hover{background:#0d58ae}
body.duo-site[data-duo-template="home"] .home211-secondary{border-color:#ccddec;background:#fff}
/* Hero illustration is an existing editorial asset, not a claimed product photo. */
body.duo-site[data-duo-template="home"] .home211-visual{
  min-width:0;margin:0;position:relative;isolation:isolate;overflow:hidden;
  background:#102946;
}
body.duo-site[data-duo-template="home"] .home211-visual img{
  display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;
  object-fit:cover;object-position:44% center;z-index:1;
}
body.duo-site[data-duo-template="home"] .home211-visual::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  background:linear-gradient(180deg,rgba(8,29,55,.29) 0%,transparent 35%,rgba(3,22,42,.11) 58%,rgba(5,24,48,.74) 100%);
}
body.duo-site[data-duo-template="home"] .home211-visual-mark{
  display:inline-flex;align-items:center;position:absolute;z-index:3;top:23px;right:21px;
  font-size:.61rem;font-weight:800;letter-spacing:.15em;color:#fff;
  padding:8px 11px;border:1px solid rgba(255,255,255,.45);border-radius:6px;
  background:rgba(5,30,55,.43);backdrop-filter:blur(6px);
}
body.duo-site[data-duo-template="home"] .home211-visual-mark span{color:#eeb478;margin:0 4px}
body.duo-site[data-duo-template="home"] .home211-visual-note{
  position:absolute;z-index:3;bottom:23px;left:24px;right:20px;
  display:flex;flex-direction:column;align-items:start;gap:7px;
  border-left:3px solid #f0ac67;padding:0 0 0 14px;
  color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.21);
}
body.duo-site[data-duo-template="home"] .home211-visual-note small{
  font-size:.65rem;font-weight:800;letter-spacing:.15em;color:#f5c494;
}
body.duo-site[data-duo-template="home"] .home211-visual-note strong{
  color:#fff;font-size:clamp(1.45rem,2.25vw,1.91rem);line-height:1.11;
  font-weight:820;letter-spacing:-.035em;
}
body.duo-site[data-duo-template="home"] .home211-visual-note em{
  color:#fff;font-style:normal;font-weight:530;
}
@media(min-width:741px){
 body.duo-site[data-duo-template="home"] .home211-hero{
   display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:0;align-items:stretch;
   padding:0;border-radius:20px;overflow:hidden;
 }
 body.duo-site[data-duo-template="home"] .home211-intro{
   grid-column:1;grid-row:1;align-self:center;min-width:0;
   padding:30px 23px 27px 32px;
 }
 body.duo-site[data-duo-template="home"] .home211-intro h1{
   font-size:clamp(2.56rem,3.64vw,3.34rem);max-width:17.4ch;
 }
 body.duo-site[data-duo-template="home"] .home211-eyebrow{margin-bottom:14px;font-size:.65rem!important}
 body.duo-site[data-duo-template="home"] .home211-lead{
   margin-top:15px!important;max-width:49ch;font-size:.95rem!important;
 }
 body.duo-site[data-duo-template="home"] .home211-actions{margin-top:18px}
 body.duo-site[data-duo-template="home"] .home211-actions a{min-height:44px}
 body.duo-site[data-duo-template="home"] .home211-visual{
   grid-column:2;grid-row:1;min-height:297px;align-self:stretch;
 }
 body.duo-site[data-duo-template="home"] .home211-topics{
   grid-column:1/-1;grid-row:2;z-index:2;width:100%;display:grid;
   grid-template-columns:repeat(5,minmax(0,1fr));gap:0;min-width:0;
   padding:5px 16px;margin:0;border:0;border-top:1px solid #dbe7f5;
   border-radius:0;background:#eef5fd;box-shadow:none;
 }
 body.duo-site[data-duo-template="home"] .home211-topics h2{
   position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
   clip:rect(0,0,0,0);white-space:nowrap;border:0;
 }
 body.duo-site[data-duo-template="home"] .home211-topic,
 body.duo-site[data-duo-template="home"] .home211-topic:first-of-type{
   grid-column:auto;min-height:41px;gap:8px;justify-content:center;padding:5px 8px;
   border:0;border-right:1px solid #d7e4f2;border-radius:0;background:transparent;
   box-shadow:none;
 }
 body.duo-site[data-duo-template="home"] .home211-topic:last-of-type{border-right:0}
 body.duo-site[data-duo-template="home"] .home211-topic:hover{
   background:#e1eefe;
 }
 body.duo-site[data-duo-template="home"] .home211-topic-icon{
   width:28px;height:28px;border-radius:7px;background:#dcecfb;color:#186fbd;
 }
 body.duo-site[data-duo-template="home"] .home211-topic-icon svg{width:16px;height:16px}
 body.duo-site[data-duo-template="home"] .home211-topic strong{font-size:.78rem}
 body.duo-site[data-duo-template="home"] .home211-topic small,
 body.duo-site[data-duo-template="home"] .home211-topic-arrow{display:none}
 body.duo-site[data-duo-template="home"] .home211-credibility{
   grid-column:1/-1;grid-row:3;display:grid;
   grid-template-columns:repeat(3,minmax(0,1fr));
   margin:0;padding:6px 16px;background:#fff;border-top:1px solid #e0eaf5;
 }
 body.duo-site[data-duo-template="home"] .home211-credibility>span{justify-content:center;padding:4px 13px}
}
@media(min-width:741px) and (max-width:899px){
 body.duo-site[data-duo-template="home"] .home211-hero{grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr)}
 body.duo-site[data-duo-template="home"] .home211-intro{padding:23px 14px 24px 22px}
 body.duo-site[data-duo-template="home"] .home211-intro h1{font-size:clamp(2.18rem,4vw,2.58rem)}
 body.duo-site[data-duo-template="home"] .home211-eyebrow{font-size:.58rem!important;letter-spacing:.12em}
 body.duo-site[data-duo-template="home"] .home211-lead{font-size:.87rem!important}
 body.duo-site[data-duo-template="home"] .home211-visual-note strong{font-size:1.35rem}
 body.duo-site[data-duo-template="home"] .home211-visual-note{left:16px;bottom:20px}
 body.duo-site[data-duo-template="home"] .home211-visual-mark{top:14px;right:11px;font-size:.53rem}
 body.duo-site[data-duo-template="home"] .home211-topic{padding:5px 2px!important}
}
@media(max-width:740px){
 body.duo-site[data-duo-template="home"] .home211-hero{
   display:flex;flex-direction:column;align-items:stretch;padding:18px 16px 0;
 }
 body.duo-site[data-duo-template="home"] .home211-intro{padding:9px 0 13px}
 body.duo-site[data-duo-template="home"] .home211-eyebrow{font-size:.59rem!important;letter-spacing:.11em}
 body.duo-site[data-duo-template="home"] .home211-visual{
   display:block;min-height:145px;height:145px;flex:none;
   margin:5px -16px 0;
 }
 body.duo-site[data-duo-template="home"] .home211-visual img{object-position:center 41%}
 body.duo-site[data-duo-template="home"] .home211-visual-mark{top:13px;right:14px;font-size:.54rem;padding:6px 8px}
 body.duo-site[data-duo-template="home"] .home211-visual-note{left:17px;bottom:16px;gap:3px;padding-left:10px}
 body.duo-site[data-duo-template="home"] .home211-visual-note strong{font-size:1.36rem}
 body.duo-site[data-duo-template="home"] .home211-visual-note small{font-size:.56rem}
 body.duo-site[data-duo-template="home"] .home211-topics{
   margin:0 -16px;width:calc(100% + 32px);align-self:stretch;box-shadow:none;background:#eef5fd;border:0;border-radius:0;
   padding:10px 11px;gap:5px;
 }
 body.duo-site[data-duo-template="home"] .home211-topic{box-shadow:none;min-height:44px}
 body.duo-site[data-duo-template="home"] .home211-topic small{display:none}
 body.duo-site[data-duo-template="home"] .home211-topic:first-of-type{grid-column:1/-1}
 body.duo-site[data-duo-template="home"] .home211-credibility{margin:0 -16px;align-self:stretch}
}
@media(max-width:380px){
 body.duo-site[data-duo-template="home"] .home211-intro h1{font-size:2rem}
 body.duo-site[data-duo-template="home"] .home211-visual{height:130px;min-height:130px}
 body.duo-site[data-duo-template="home"] .home211-visual-note strong{font-size:1.21rem}
}
@media(prefers-reduced-motion:reduce){body.duo-site[data-duo-template="home"] .home211-hero *{animation:none!important;transition:none!important}}

/* ---- duo-r170212.css ---- */
/* R170.2.12 — restrained editorial system following the approved Concept D.
   Public templates only; no impact on admin, pricing, radar data or B2B. */
:root{--duo212-ink:#10243c;--duo212-soft:#516881;--duo212-blue:#1269bd;--duo212-line:#dce7f2;--duo212-paper:#fff}
body.duo-site{font-kerning:normal;text-rendering:optimizeLegibility}
body.duo-site :is(a,button,input,select,textarea):focus-visible{
 outline:3px solid #edab65!important;outline-offset:3px;border-radius:5px
}
body.duo-site :is(a,button){-webkit-tap-highlight-color:rgba(28,109,188,.16)}
body.duo-site .duo-main-nav a,body.duo-site .duo-wordmark,
body.duo-site .duo-footer-language{text-decoration-thickness:1.5px;text-underline-offset:4px}

/* Approved asymmetrical camera illustration. Keep the five shortcuts compact. */
body.duo-site[data-duo-template="home"]{background:linear-gradient(180deg,#f6f9fd 0%,#f9fbfd 57%,#fff 100%)}
body.duo-site[data-duo-template="home"] .home211-main{max-width:1290px}
body.duo-site[data-duo-template="home"] .home211-hero{
 box-shadow:0 22px 52px rgba(21,51,84,.09),0 3px 12px rgba(21,51,84,.04);
 border-color:#dbe6f2
}
body.duo-site[data-duo-template="home"] .home211-intro h1{letter-spacing:-.051em;text-wrap:balance}
body.duo-site[data-duo-template="home"] .home211-lead{max-width:48ch}
body.duo-site[data-duo-template="home"] .home211-visual img{object-fit:cover}
body.duo-site[data-duo-template="home"] .home211-section-heading h2{letter-spacing:-.028em;text-wrap:balance}
body.duo-site[data-duo-template="home"] .home211-section-heading p{line-height:1.5}
body.duo-site[data-duo-template="home"] .home211-article-grid{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px
}
body.duo-site[data-duo-template="home"] .home211-card{
 min-width:0;border-radius:15px;overflow:hidden;
 background:#fff;border:1px solid #dce5ef;
 box-shadow:0 2px 8px rgba(16,36,60,.025);
 transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
body.duo-site[data-duo-template="home"] .home211-card:hover{
 transform:translateY(-3px);border-color:#b7d1e9;
 box-shadow:0 16px 32px rgba(24,57,98,.1)
}
body.duo-site[data-duo-template="home"] .home211-card-media{
 border-radius:12px 12px 0 0;overflow:hidden;display:block
}
body.duo-site[data-duo-template="home"] .home211-card-media :is(img,.home211-card-abstract){
 height:181px;width:100%;object-fit:cover
}
body.duo-site[data-duo-template="home"] .home211-card-content{padding:15px 18px 18px}
body.duo-site[data-duo-template="home"] .home211-card h3{
 font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.23;letter-spacing:-.022em;
 text-wrap:pretty
}
body.duo-site[data-duo-template="home"] .home211-card h3 a{color:#103555;text-decoration:none}
body.duo-site[data-duo-template="home"] .home211-card h3 a:hover{color:#1269bd}
body.duo-site[data-duo-template="home"] .home211-card-content>p{line-height:1.57;color:#526981}
body.duo-site[data-duo-template="home"] .home211-card-more{font-weight:700}
body.duo-site[data-duo-template="home"] .home211-accessory{
 border-radius:14px;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease
}
body.duo-site[data-duo-template="home"] .home211-accessory:hover{
 transform:translateY(-2px);border-color:#bed7ef;box-shadow:0 9px 20px rgba(16,36,60,.07)
}
body.duo-site[data-duo-template="home"] .home211-digest{border-radius:18px}

/* Long-form pages: improve source transparency, reading rhythm and small screens. */
body.duo-site[data-duo-template="article"] .duo-editorial-depth,
body.duo-site[data-duo-template="reader"] .duo-editorial-depth{
 max-width:100%;margin-block:32px;background:#fff;border:1px solid #dbe6f0;
 border-left:4px solid #d99150;border-radius:14px;padding:clamp(20px,3vw,32px);
 box-shadow:0 9px 30px rgba(17,49,81,.055)
}
body.duo-site .duo-editorial-depth-head{margin-bottom:18px}
body.duo-site .duo-editorial-kicker{display:block;margin-bottom:9px;color:#a35b28;font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
body.duo-site .duo-editorial-depth h2{margin:0;color:#122b47;font-size:clamp(1.45rem,2.2vw,1.9rem);line-height:1.18;letter-spacing:-.03em}
body.duo-site .duo-editorial-depth>p{max-width:78ch;font-size:1rem;line-height:1.78;color:#344e68;margin:0 0 17px}
body.duo-site .duo-editorial-checks{margin:23px 0;padding:20px 22px;border:1px solid #d9e7f4;border-radius:12px;background:#f4f8fd}
body.duo-site .duo-editorial-checks h3{font-size:1rem;margin:0 0 12px;color:#153e66}
body.duo-site .duo-editorial-checks ul{margin:0;padding-left:22px;display:grid;gap:9px}
body.duo-site .duo-editorial-checks li{line-height:1.5;color:#304e6a}
body.duo-site p.duo-evidence-status{background:#fbf7f2;border:1px solid #f1dfcb;padding:13px 15px;border-radius:9px;font-size:.92rem;line-height:1.6;margin-bottom:0}
body.duo-site .duo-evidence-status b{color:#915323}
body.duo-site[data-duo-template="article"] .review-hero h1{text-wrap:balance}
body.duo-site[data-duo-template="legal"] main :is(p,li){line-height:1.7}

/* A comfortable magazine grid across desktop, tablet and narrow screens. */
@media(min-width:1280px){
 body.duo-site[data-duo-template="home"] .home211-main{margin-top:28px}
 body.duo-site[data-duo-template="home"] .home211-section{margin-top:34px}
}
@media(min-width:700px) and (max-width:1060px){
 body.duo-site[data-duo-template="home"] .home211-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:699px){
 body.duo-site[data-duo-template="home"] .home211-main{width:calc(100% - 20px);margin:12px auto 24px}
 body.duo-site[data-duo-template="home"] .home211-hero{border-radius:17px}
 body.duo-site[data-duo-template="home"] .home211-article-grid{grid-template-columns:minmax(0,1fr);gap:13px}
 body.duo-site[data-duo-template="home"] .home211-card-media :is(img,.home211-card-abstract){height:189px}
 body.duo-site[data-duo-template="home"] .home211-card-content{padding:15px 17px 16px}
 body.duo-site[data-duo-template="home"] .home211-card h3{font-size:1.14rem}
 body.duo-site .duo-editorial-depth{padding:19px 16px;margin-block:24px;border-radius:10px}
 body.duo-site .duo-editorial-depth>p{font-size:.97rem;line-height:1.7}
 body.duo-site .duo-editorial-checks{padding:17px 15px}
}
@media(prefers-reduced-motion:reduce){
 body.duo-site[data-duo-template="home"] .home211-card,
 body.duo-site[data-duo-template="home"] .home211-accessory{transition:none;transform:none!important}
}

/* ---- duo-r170215-images.css ---- */
/* R170.2.15: image-only style for the optional illustrated tool hero.
   No global width, typography, article or homepage rule. */
body.duo-site .tool-hero:has(>.duo214-tool-media) {display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center;gap:clamp(16px,2vw,28px)}
body.duo-site .duo214-tool-copy {min-width:0}
body.duo-site .duo214-tool-media {position:relative;margin:0;min-width:0;max-height:275px;overflow:hidden;border-radius:12px;background:#e6eef7}
body.duo-site .duo214-tool-media img {display:block;width:100%;height:260px;object-fit:cover}
body.duo-site .duo214-tool-media figcaption {position:absolute;bottom:8px;left:8px;right:8px;width:max-content;max-width:calc(100% - 16px);padding:5px 8px;background:rgba(15,35,58,.83);color:#fff;border-radius:6px;font-size:11px;line-height:1.4}
@media(max-width:750px){body.duo-site .tool-hero:has(>.duo214-tool-media){grid-template-columns:1fr}body.duo-site .duo214-tool-media img{height:180px}}
/* The former home TECHNIK placeholder was taller than a normal card image.
   Preserve its former grid-row proportions when substituting a real illustration. */
html[lang="de"] body.duo-site[data-duo-template="home"] .home211-article-grid>.home211-card:nth-child(2) .home211-card-media img{height:181px!important}
html[lang="en"] body.duo-site[data-duo-template="home"] .home211-article-grid>.home211-card:nth-child(2) .home211-card-media img{height:181px!important}
@media(max-width:699px){html[lang="en"] body.duo-site[data-duo-template="home"] .home211-article-grid>.home211-card:nth-child(2) .home211-card-media img{height:157px!important}}

/* ---- duo-r170216-footer.css ---- */
/* Duo-iPhone R170.2.16 — isolated light footer, based on approved mockup.
   Every selector is footer-scoped. No sitewide widths, typography or layout changes. */
body.duo-site .duo-footer.duo-footer-compact.duo216-footer {
 margin-top:clamp(38px,5vw,66px);padding:0;
 border:0;border-top:1px solid #dce6f2;
 background:linear-gradient(180deg,#fbfcfe 0%,#fff 100%);
 color:#172941;box-shadow:none;
}
body.duo-site .duo-footer.duo216-footer .duo-footer-inner {
 box-sizing:border-box;width:min(calc(100% - 2 * clamp(20px,3vw,55px)),1290px);
 max-width:1290px;margin:0 auto;padding:38px 0 0;
}
body.duo-site .duo-footer.duo216-footer a {color:#405b7c;text-decoration:none;}
body.duo-site .duo-footer.duo216-footer a:hover {color:#1366ba;text-decoration:underline;text-underline-offset:4px;}
body.duo-site .duo-footer.duo216-footer a:focus-visible {outline:3px solid #1676d2;outline-offset:4px;border-radius:3px;}
body.duo-site .duo-footer.duo216-footer .duo-footer-digest {
 display:flex;align-items:center;justify-content:space-between;gap:20px;
 padding:20px 24px;margin:0 0 34px;
 border:1px solid #d9e5f3;border-radius:12px;
 background:linear-gradient(110deg,#f1f7ff 0%,#f8fbff 100%);
}
body.duo-site .duo-footer.duo216-footer .duo-footer-digest-copy {min-width:0;}
body.duo-site .duo-footer.duo216-footer .duo-footer-digest h2 {
 font-size:18px;line-height:1.2;margin:0 0 5px;font-weight:750;
 letter-spacing:-.025em;color:#102740;
}
body.duo-site .duo-footer.duo216-footer .duo-footer-digest p {
 font-size:13px;line-height:1.55;margin:0;color:#60738b;
}
body.duo-site .duo-footer.duo216-footer a.duo-footer-digest-link {
 box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
 min-height:42px;padding:11px 18px;white-space:nowrap;
 border-radius:8px;background:#176dc7;color:#fff;
 font-size:13px;line-height:1.3;font-weight:700;
}
body.duo-site .duo-footer.duo216-footer a.duo-footer-digest-link:hover {
 background:#0b559f;color:#fff;text-decoration:none;
}
body.duo-site .duo-footer.duo216-footer .duo-footer-navigation {
 display:grid;grid-template-columns:minmax(0,1.28fr) repeat(3,minmax(0,1fr));
 gap:clamp(18px,3vw,46px);padding:0 0 36px;
}
body.duo-site .duo-footer.duo216-footer .duo-footer-identity,
body.duo-site .duo-footer.duo216-footer .duo-footer-group {min-width:0;}
body.duo-site .duo-footer.duo216-footer .duo-footer-group {border-left:1px solid #e3eaf2;padding-left:clamp(16px,2vw,30px);}
body.duo-site .duo-footer.duo216-footer .duo-footer-brand {display:inline-flex;flex-direction:column;align-items:flex-start;gap:5px;}
body.duo-site .duo-footer.duo216-footer .duo-footer-brand strong {
 font-size:22px;line-height:1.18;font-weight:790;color:#0e2541;letter-spacing:-.047em;
}
body.duo-site .duo-footer.duo216-footer .duo-footer-brand small {
 font-size:9px;line-height:1.5;letter-spacing:.15em;font-weight:700;color:#7c8fa7;
}
body.duo-site .duo-footer.duo216-footer .duo-footer-intro {
 max-width:27ch;margin:18px 0 0;color:#61748e;line-height:1.55;font-size:13px;
}
body.duo-site .duo-footer.duo216-footer .duo-footer-group h2 {
 margin:1px 0 12px;color:#142940;font-size:13px;font-weight:750;
 letter-spacing:0;line-height:1.35;text-transform:none;
}
body.duo-site .duo-footer.duo216-footer .duo-footer-group ul {
 padding:0;margin:0;list-style:none;display:grid;grid-template-columns:1fr;gap:7px;
}
body.duo-site .duo-footer.duo216-footer .duo-footer-group li {list-style:none;margin:0;padding:0;min-width:0;}
body.duo-site .duo-footer.duo216-footer .duo-footer-group a {
 display:inline-block;max-width:100%;font-size:13px;line-height:1.48;font-weight:450;
 padding:1px 0;overflow-wrap:anywhere;
}
body.duo-site .duo-footer.duo216-footer .duo-footer-bottom {
 display:grid;grid-template-columns:minmax(0,1fr) auto auto;
 align-items:center;gap:16px 26px;padding:17px 0 23px;
 border-top:1px solid #e1e9f1;
}
body.duo-site .duo-footer.duo216-footer .duo-footer-disclaimer {
 display:flex;flex-direction:column;gap:4px;min-width:0;
}
body.duo-site .duo-footer.duo216-footer .duo-footer-copyright {
 font-size:12px;color:#495f79;font-weight:600;
}
body.duo-site .duo-footer.duo216-footer .duo-footer-editorial {
 font-size:10.5px;line-height:1.4;color:#8393a8;
}
body.duo-site .duo-footer.duo216-footer .duo-footer-legal {
 display:flex;align-items:center;flex-wrap:wrap;gap:5px 19px;
}
/* Exactly one program-status statement inside the existing legal menu, not a new link. */
body.duo-site .duo-footer.duo216-footer .duo-footer-legal .duo-footer-partner-status {
 flex:1 1 100%; display:block; box-sizing:border-box;
 max-width:390px; min-width:0; margin:1px 0 0;
 color:#4e6480; font-size:12px; font-weight:400; line-height:1.55;
 overflow-wrap:break-word;
}
body.duo-site .duo-footer.duo216-footer .duo-footer-legal a,
body.duo-site .duo-footer.duo216-footer .duo-footer-language,
body.duo-site .duo-footer.duo216-footer .duo-footer-toplink {
 color:#596f8c;font-size:12px;line-height:1.5;min-height:30px;
 display:inline-flex;align-items:center;
}
body.duo-site .duo-footer.duo216-footer .duo-footer-meta {
 display:flex;align-items:center;gap:12px;white-space:nowrap;
}
body.duo-site .duo-footer.duo216-footer .duo-footer-toplink {padding:0;border:0;border-radius:0;background:none;gap:0;}
@media(max-width:1020px){
 body.duo-site .duo-footer.duo216-footer .duo-footer-navigation {grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 18px;}
 body.duo-site .duo-footer.duo216-footer .duo-footer-identity {grid-column:1 / -1;}
 body.duo-site .duo-footer.duo216-footer .duo-footer-identity p {max-width:55ch;margin-top:10px;}
 body.duo-site .duo-footer.duo216-footer .duo-footer-group {padding-left:18px;}
 body.duo-site .duo-footer.duo216-footer .duo-footer-bottom {grid-template-columns:1fr auto;}
 body.duo-site .duo-footer.duo216-footer .duo-footer-disclaimer {grid-column:1/-1;}
}
@media(max-width:650px){
 body.duo-site .duo-footer.duo216-footer .duo-footer-inner {width:calc(100% - 36px);padding-top:27px;}
 body.duo-site .duo-footer.duo216-footer .duo-footer-digest {flex-direction:column;align-items:stretch;gap:14px;padding:17px 18px;margin-bottom:28px;}
 body.duo-site .duo-footer.duo216-footer a.duo-footer-digest-link {width:100%;}
 body.duo-site .duo-footer.duo216-footer .duo-footer-navigation {grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 17px;padding-bottom:27px;}
 body.duo-site .duo-footer.duo216-footer .duo-footer-identity {grid-column:1/-1;}
 body.duo-site .duo-footer.duo216-footer .duo-footer-group {border:0;padding:0;}
 body.duo-site .duo-footer.duo216-footer .duo-footer-group:last-child {grid-column:1/-1;border-top:1px solid #e3eaf2;padding-top:21px;}
 body.duo-site .duo-footer.duo216-footer .duo-footer-group a {min-height:35px;display:inline-flex;align-items:center;padding:5px 0;}
 body.duo-site .duo-footer.duo216-footer .duo-footer-bottom {grid-template-columns:1fr;gap:10px;padding:17px 0 23px;}
 body.duo-site .duo-footer.duo216-footer .duo-footer-disclaimer,
 body.duo-site .duo-footer.duo216-footer .duo-footer-legal,
 body.duo-site .duo-footer.duo216-footer .duo-footer-meta {grid-column:1;}
 body.duo-site .duo-footer.duo216-footer .duo-footer-legal {gap:3px 16px;}
 body.duo-site .duo-footer.duo216-footer .duo-footer-legal a,
 body.duo-site .duo-footer.duo216-footer .duo-footer-language,
 body.duo-site .duo-footer.duo216-footer .duo-footer-toplink {min-height:38px;}
 body.duo-site .duo-footer.duo216-footer .duo-footer-meta {flex-wrap:wrap;gap:12px 22px;}
}
@media(prefers-reduced-motion:reduce){
 body.duo-site .duo-footer.duo216-footer * {scroll-behavior:auto;}
}
