:root{--ink:#08122b;--cobalt:#1647ff;--cobalt-dark:#0a2cbd;--lime:#c9ff32;--paper:#f3f5fa;--surface:#fff;--line:#b8c1d8;--muted:#58647e;--accent:var(--lime);font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.55}a{color:inherit}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:30;background:#fff;padding:.7rem}.shell{width:min(1180px,calc(100% - 2rem));margin:auto}.theme-header, .workspace-header{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:0 max(1rem,calc((100% - 1180px)/2));background:var(--ink);color:#fff;border-bottom:1px solid #ffffff30;position:relative;z-index:10}.theme-wordmark, .workspace-wordmark{display:grid;grid-template-columns:46px auto;grid-template-rows:auto auto;gap:0 .7rem;text-decoration:none}.theme-wordmark>span, .workspace-wordmark>span{grid-row:1/3;display:grid;place-items:center;background:var(--lime);color:var(--ink);font:900 1rem 'Arial Black',Impact,sans-serif;transform:rotate(-3deg)}.theme-wordmark strong, .workspace-wordmark strong{font:900 1.2rem 'Arial Black',Impact,sans-serif;text-transform:uppercase;letter-spacing:-.02em}.theme-wordmark small, .workspace-wordmark small{color:#9eabd0;font-size:.62rem;text-transform:uppercase;letter-spacing:.15em}.theme-header nav, .workspace-header nav{display:flex;align-items:center;gap:1.15rem}.theme-header nav a, .workspace-header nav a{text-decoration:none;font-size:.86rem;font-weight:800}.nav-cta{padding:.65rem .8rem;background:var(--lime);color:var(--ink)}.menu{display:none}.workspace-hero{min-height:680px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);position:relative;background:var(--cobalt);overflow:hidden}.hero-visual{min-height:680px;background:linear-gradient(90deg,transparent 72%,var(--cobalt)),url('../assets/site/hero-workspace.jpg') 47% center/cover no-repeat;filter:saturate(.68) contrast(1.08)}.hero-panel{align-self:center;padding:clamp(2rem,5vw,5.8rem) clamp(1.2rem,5vw,5.5rem) clamp(2rem,5vw,5rem) clamp(1rem,3vw,3rem);color:#fff;position:relative;z-index:1}.eyebrow{margin:0 0 .8rem;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:900;color:var(--cobalt)}.hero-panel .eyebrow{color:var(--lime)}h1,h2,h3{font-family:'Arial Black',Impact,sans-serif;line-height:.98;letter-spacing:-.045em}h1{font-size:clamp(3.4rem,7vw,7.5rem);margin:.2rem 0 1.3rem;text-transform:uppercase}.hero-lead{max-width:36rem;font-size:1.12rem;color:#dbe3ff}.actions,.card-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.75rem 1rem;background:var(--cobalt);color:#fff;text-decoration:none;border:1px solid transparent;font-weight:900}.hero-panel .button{background:var(--lime);color:var(--ink);box-shadow:6px 6px 0 var(--ink)}.text-link{font-weight:900;text-underline-offset:.25em}.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:0;list-style:none;padding:2.5rem 0 0;margin:2.5rem 0 0;border-top:1px solid #ffffff4a;color:#dbe3ff;font-size:.73rem}.hero-proof b{display:block;color:var(--lime);font-size:1rem}.hero-index{position:absolute;right:-.04em;bottom:-.35em;margin:0;color:#ffffff0d;font:900 18rem/1 'Arial Black',Impact,sans-serif}.workflow-band{background:var(--lime);padding:4rem 0}.workflow-band .eyebrow{color:var(--ink)}.journey{display:grid;grid-template-columns:repeat(3,1fr);border-top:3px solid var(--ink)}.journey article{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.5rem 1.4rem 0 0;border-right:1px solid #08122b55}.journey article:last-child{border:0}.journey article>b{font:900 1.2rem 'Arial Black',Impact,sans-serif}.journey h2{font-size:1.3rem;margin:0}.journey p{margin:.6rem 0;color:#2c3a25}.workspace-section,.gear-section>.shell,main>section:not(.workspace-hero):not(.workflow-band):not(.gear-section),main>article{width:min(1180px,calc(100% - 2rem));margin:auto;padding:6rem 0}.section-heading{display:grid;grid-template-columns:1fr auto;align-items:end;gap:0 2rem;margin-bottom:2rem}.section-heading .eyebrow{grid-column:1/3}.section-heading h2{max-width:760px;margin:0;font-size:clamp(2.4rem,5vw,5rem);text-transform:uppercase}.section-heading>span,.section-heading>a{font-weight:900}.intent-board{border-top:3px solid var(--ink)}.intent-board a{display:grid;grid-template-columns:4rem minmax(12rem,.7fr) 1.3fr 2rem;gap:1rem;align-items:center;padding:1.4rem 0;border-bottom:1px solid var(--line);text-decoration:none}.intent-board a:hover{background:var(--lime)}.intent-board span,.intent-board b{font-family:'Arial Black',Impact,sans-serif}.intent-board small{color:var(--muted)}.gear-section{background:var(--ink);color:#fff;padding:0}.gear-section .eyebrow{color:var(--lime)}.gear-section .section-heading>a{color:var(--lime)}.product-strip,.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.card{background:var(--surface);color:var(--ink);border:1px solid var(--line);overflow:hidden;box-shadow:7px 7px 0 var(--cobalt)}.product-card__body{display:grid;gap:.55rem;padding:1.1rem}.card h2,.card h3{margin:.1rem 0}.card h2{font-size:1.35rem}.card img,.product-image{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#eef1f7}.product-image--empty{display:grid;place-items:center;text-align:center}.product-image--empty span{display:grid;place-items:center;width:2.5rem;height:2.5rem;margin:auto;background:var(--cobalt);color:#fff;font-weight:900}.price{font:900 1.35rem 'Arial Black',Impact,sans-serif}.decision-note{display:grid;gap:.15rem;padding:.7rem .8rem;background:#eaf0ff;font-size:.88rem}.decision-note--caution{background:#f4ffd7}.merchant-disclosure,.decision-note span{color:var(--muted);line-height:1.4}.card-actions{justify-content:space-between;margin-top:.7rem}.button--shop{background:#ee4d2d}.breadcrumbs{color:var(--muted);margin-bottom:1.5rem}.finder{display:flex;gap:1rem;flex-wrap:wrap;padding:1rem;background:#fff;border:1px solid var(--line)}.finder label{display:grid;gap:.35rem;flex:1;min-width:180px}.finder input,.finder select{padding:.75rem;border:1px solid var(--line);font:inherit}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem}.facts div,.compare-products article,.merchant-panel{background:#fff;border:1px solid var(--line);padding:1rem}.facts dt{color:var(--muted);font-size:.8rem}.facts dd{margin:0;font-weight:800}.split,.compare-products{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.table-wrap{overflow:auto;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:#fff;min-width:42rem}th,td{padding:.85rem;text-align:left;border-bottom:1px solid var(--line)}thead{background:var(--cobalt);color:#fff}.editorial{max-width:780px}.empty{padding:2rem;text-align:center}footer{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:4rem max(1rem,calc((100% - 1180px)/2));background:var(--cobalt);color:#fff}footer>div:first-child strong{font:900 clamp(2rem,4vw,3.8rem)/1 'Arial Black',Impact,sans-serif;text-transform:uppercase}.footer-kicker{color:var(--lime);font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}footer a{color:var(--lime)}
@media(max-width:900px){.theme-header, .workspace-header{min-height:68px}.menu{display:block;background:var(--lime);border:0;padding:.65rem;font-weight:900}.theme-header nav, .workspace-header nav{display:none;position:absolute;top:68px;inset-inline:0;padding:1rem;background:var(--ink)}.theme-header nav.open, .workspace-header nav.open{display:grid}.workspace-hero{grid-template-columns:1fr}.hero-visual{min-height:340px;background:linear-gradient(0deg,var(--cobalt),transparent 45%),url('../assets/site/hero-workspace.jpg') center/cover}.hero-panel{padding:0 1rem 3rem}.hero-proof{gap:.5rem}.journey,.product-strip,.grid{grid-template-columns:1fr}.journey article{border-right:0;border-bottom:1px solid #08122b55;padding-bottom:1.5rem}.section-heading{display:block}.section-heading>span,.section-heading>a{display:inline-block;margin-top:1rem}.intent-board a{grid-template-columns:2.5rem 1fr 2rem}.intent-board small{grid-column:2}.split,.compare-products,footer{grid-template-columns:1fr}}
@media(max-width:480px){.theme-wordmark small, .workspace-wordmark small{display:none}.theme-wordmark, .workspace-wordmark{grid-template-rows:auto}.theme-wordmark>span, .workspace-wordmark>span{grid-row:1}.workspace-hero,.hero-visual{min-height:285px}.hero-panel h1{font-size:3.2rem}.hero-proof{grid-template-columns:1fr}.workspace-section,.gear-section>.shell,main>section:not(.workspace-hero):not(.workflow-band):not(.gear-section),main>article{padding:4rem 0}.intent-board a{grid-template-columns:2rem 1fr}.intent-board a b{display:none}.card-actions .button{width:100%}table{min-width:0}thead{position:absolute;width:1px;height:1px;overflow:hidden}tbody,tr,th,td{display:block}tbody tr{border-bottom:2px solid var(--ink)}tbody td:before{content:attr(data-label);display:block;color:var(--muted);font-weight:800}footer{gap:1rem}}
/* Sprint 51 gate */
html:root{color-scheme:light}
body[data-theme="cobalt-workspace"] .card,
body[data-theme="cobalt-workspace"] .need-card{height:auto;align-self:start}
body[data-theme="cobalt-workspace"] .card-body,
body[data-theme="cobalt-workspace"] .product-card__body{flex:0 0 auto;height:auto}
body[data-theme="cobalt-workspace"] .card-body p,
body[data-theme="cobalt-workspace"] .product-card__body p{flex:0 0 auto}
body[data-theme="cobalt-workspace"] .card-actions{margin-top:.7rem}
body[data-theme="cobalt-workspace"] .card img,
body[data-theme="cobalt-workspace"] .product-media img,
body[data-theme="cobalt-workspace"] .product-card img{max-width:100%;height:auto}
body[data-theme="cobalt-workspace"] .grid,
body[data-theme="cobalt-workspace"] .product-strip{align-items:start}
body[data-theme="cobalt-workspace"] a.button{background:#1647ff;color:#ffffff;border-color:#ffffff}
body[data-theme="cobalt-workspace"] .hero-panel a.button{background:#c9ff32;color:#08122b;border-color:#08122b}
body[data-theme="cobalt-workspace"] a.button.ghost{background:#ffffff;color:#08122b;border-color:#08122b}

body[data-theme="cobalt-workspace"] > footer{background:#1647ff;color:#ffffff}
body[data-theme="cobalt-workspace"] > footer a,
body[data-theme="cobalt-workspace"] > footer p,
body[data-theme="cobalt-workspace"] > footer strong,
body[data-theme="cobalt-workspace"] > footer .footer-label,
body[data-theme="cobalt-workspace"] > footer .footer-kicker{color:#ffffff;opacity:1}
body[data-theme="cobalt-workspace"] a.workspace-wordmark{display:flex;align-items:center;width:auto;height:auto;max-width:100%;overflow:visible}
body[data-theme="cobalt-workspace"] a.workspace-wordmark strong,
body[data-theme="cobalt-workspace"] a.workspace-wordmark small{color:#ffffff;overflow:visible}
@media(min-width:901px){
body[data-theme="cobalt-workspace"] header details.navigation{display:none}
body[data-theme="cobalt-workspace"] header>nav#nav{display:flex;position:static;width:max-content;min-width:max-content;flex-wrap:nowrap;align-items:center;gap:1rem;margin-left:auto;background:none;border:0;padding:0;height:auto;overflow:visible}
body[data-theme="cobalt-workspace"] header>nav#nav a{color:#ffffff;white-space:nowrap;overflow-wrap:normal;padding:.35rem 0}
}
@media(max-width:900px){
body[data-theme="cobalt-workspace"] header{display:flex;flex-wrap:wrap;align-items:center;height:auto;min-height:0;overflow:visible}
body[data-theme="cobalt-workspace"] header details.navigation{flex:0 0 auto;margin-left:auto}
body[data-theme="cobalt-workspace"] header details.navigation>summary{display:list-item}
body[data-theme="cobalt-workspace"] header>nav#nav{display:none}
body[data-theme="cobalt-workspace"] a.workspace-wordmark{display:flex;flex:1 1 auto;min-width:0;max-width:calc(100% - 3.5rem);overflow:visible}
body[data-theme="cobalt-workspace"] header details.navigation[open]~nav#nav{display:flex;flex-direction:column;flex:1 0 100%;position:static;top:auto;left:auto;right:auto;width:100%;min-width:0;grid-column:1 / -1;gap:.2rem;margin:.75rem 0 0;padding:1rem 1.2rem;background:#08122b;color:#ffffff;z-index:1;border-bottom:1px solid #ffffff}
body[data-theme="cobalt-workspace"] header details.navigation[open]~nav#nav a{color:#ffffff;display:block;width:100%;padding:.55rem 0;white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.4}
}
/* Inherited from editorial-room.
   This theme inherits editorial-room's templates, so it inherits their styles too.
   Its own rules and its own colours come first and win; only the component rules the
   theme never wrote are taken from the base. Generated by tools/theme-inherited-base.php. */
/* Editorial Room stylesheet.
 *
 * Adapted from prototypes/vacuum-indonesia/styles.css so the published artifact looks like the
 * vacuum prototype. The Blade templates use the prototype's own class names, so every class they
 * emit is defined here. Two deliberate deviations: the hero uses a gradient instead of the
 * prototype's local scene photo (canonical artifacts carry no prototype assets), and the mobile
 * menu uses a <details> toggle instead of JS (canonical audit rejects inline scripts).
 */
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,sans-serif}main,section,article,aside,header,footer{min-width:0}p,li,dd,a{overflow-wrap:anywhere}a{color:inherit}img{max-width:100%;display:block}:focus-visible{outline:3px solid #9b6d00;outline-offset:3px}
.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem}.shell{width:min(1180px,calc(100% - 2rem));margin-inline:auto}.section{padding:clamp(3rem,7vw,5rem) 0}.section-intro{max-width:68ch;color:var(--muted)}
header{display:flex;align-items:center;gap:1rem;padding:.8rem max(1rem,calc((100% - 1180px)/2));border-bottom:1px solid var(--line);position:sticky;top:0;background:#f8f7f1ee;backdrop-filter:blur(12px);z-index:5}.logo{font:900 1.4rem Georgia,serif;text-decoration:none}.logo span{color:var(--leaf)}.logo small{display:block;font:600 .6rem system-ui;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}
.navigation{margin-left:auto}.navigation summary{cursor:pointer;list-style:none;border:1px solid var(--line);border-radius:8px;background:white;padding:.5rem .7rem;font-weight:700}.navigation summary::-webkit-details-marker{display:none}.navigation nav{display:flex;gap:.4rem;flex-wrap:wrap;padding:.8rem 0}.navigation nav a{padding:.45rem .6rem;border-radius:8px;text-decoration:none;font-weight:700}.navigation nav a[aria-current]{background:var(--mint)}
.hero{min-height:560px;background:linear-gradient(105deg,#102b24f2,#18372fcf 55%,#18372f55);color:white;display:flex;align-items:center}.hero-shade{width:100%}.hero-copy{color:white}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:900;color:var(--leaf)}.hero-copy .eyebrow{color:#d8ed80}h1,h2,h3{font-family:Georgia,serif;line-height:1.05}h1{font-size:clamp(2.6rem,7vw,5rem);max-width:850px;margin:.4rem 0}.lede{max-width:680px;font-size:1.15rem}.actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:1rem}.button{background:var(--sun);color:var(--ink);padding:.85rem 1rem;border-radius:4px;text-decoration:none;font-weight:900;border:0}.button.ghost{background:transparent;color:white;border:1px solid #ffffff88}.button.light{color:var(--ink)}.button.full{width:100%;text-align:center}.hero-note{opacity:.85;font-size:.9rem}
.journey{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.journey article{background:white;border:1px solid var(--line);border-radius:12px;padding:1.5rem}.journey span{font-weight:900;color:var(--leaf)}.journey b{display:block;margin:.3rem 0}.journey p{margin:0;color:var(--muted)}
.needs{display:grid;gap:.8rem;margin-top:1rem}.needs a{display:flex;gap:1rem;align-items:baseline;background:white;border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.2rem;text-decoration:none}.needs b{font-size:1.05rem}.needs span{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.grid.two{grid-template-columns:repeat(2,1fr)}
.card{background:white;border:1px solid var(--line);border-radius:12px;padding:1.2rem;min-width:0;display:flex;flex-direction:column;height:100%}.card-body{display:flex;flex-direction:column;flex:1 1 auto}.card-body>*+*{margin-top:.6rem}.card-body p{flex:1 1 auto}.brand-mark{font-weight:900;color:var(--leaf);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.card h3{margin:.2rem 0;font-size:1.1rem}.card h3 a{text-decoration:none}.card-actions{margin-top:auto}.card-price{display:block}.card-disclosure{font-size:.85rem;color:var(--muted)}
.product-hero{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:1.5rem;align-items:start}.product-media{margin:0}.product-media img{border-radius:12px}.product-media figcaption{font-size:.85rem;color:var(--muted)}.image-fallback{display:grid;place-items:center;gap:.4rem;background:var(--mint);border:1px dashed var(--line);border-radius:12px;min-height:220px;color:var(--muted);text-align:center;padding:1.5rem}.image-fallback.full{min-height:320px}.image-fallback small{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.85}.image-fallback span{font-size:2rem;line-height:1;opacity:.6}.empty-cell{padding:.75rem .625rem;color:var(--muted);text-align:center;font-style:italic}
.price{font-size:1.4rem;font-weight:900}.compare-price{font-variant-numeric:tabular-nums}.offer-status{font-size:.9rem}.muted{color:var(--muted)}.source{font-size:.85rem;font-weight:700}.source-list{list-style:none;padding:0}.source-list li{padding:.4rem 0;border-top:1px solid var(--line)}
.facts{list-style:none;padding:0;display:grid;gap:.5rem}.facts li{background:white;border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem}.claim{display:inline-block;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;border-radius:6px;padding:.15rem .45rem;margin-right:.5rem;background:var(--mint);color:var(--green)}.claim.official{background:#dcefe4}.claim.editorial{background:#fdf0d5}.claim.third{background:#e8e4f6}
.detail{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:1.5rem;margin-top:1.5rem}.detail aside{background:white;border:1px solid var(--line);border-radius:12px;padding:1.2rem;align-self:start}.yes{border-left:4px solid var(--leaf);padding-left:.6rem}.no{border-left:4px solid #b3541e;padding-left:.6rem}
.prose{max-width:72ch}.prose h2{margin-top:1.5rem}.editorial{background:white;border:1px solid var(--line);border-radius:12px;padding:1.5rem}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:1.5rem;margin:1.5rem 0}
.brands .brand-mark{display:block;background:white;border:1px solid var(--line);border-radius:12px;padding:1.2rem;text-decoration:none}.category{display:flex;flex-direction:column;height:100%;background:white;border:1px solid var(--line);border-radius:12px;padding:1.2rem;text-decoration:none}.category>div{display:flex;flex-direction:column;flex:1 1 auto;height:100%}.category h3{margin:.2rem 0}.category p{flex:1 1 auto}.category .textlink,.category .text-link{margin-top:auto}.textlink{font-weight:700}.text-link{font-weight:700;color:var(--leaf)}
.compare table,.spec-table{width:100%;border-collapse:collapse;background:white}.compare th,.compare td,.spec-table th,.spec-table td{border:1px solid var(--line);padding:.6rem;text-align:left;vertical-align:top}
.result-heading{background:var(--mint);border-radius:12px;padding:.8rem 1rem}.trust{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;background:white;border:1px solid var(--line);border-radius:12px;padding:1.5rem;margin-top:1.5rem}.sources{font-size:.95rem}.disclosure{font-size:.9rem;color:var(--muted)}
footer{display:grid;grid-template-columns:1fr 1fr;gap:2rem;background:var(--green);color:white;padding:3rem max(1rem,calc((100% - 1180px)/2))}footer a{color:white}
.empty{background:white;border:1px dashed var(--line);border-radius:12px;padding:1.5rem}.empty h3{margin-top:0}.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.grid,.grid.two,.three,.journey,.product-hero,.detail,.trust{grid-template-columns:1fr}h1{font-size:clamp(2.2rem,10vw,3.2rem)}footer{grid-template-columns:1fr}}
/* Interface elements the templates use that neither the theme's own sheet nor the prototype it was
   adapted from defines. Only custom properties are used, so each theme gets these in its own
   colours. Generated by tools/theme-residual-styles.php. */
.buy-box-header{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--line,#ddd);margin-bottom:1rem}
.buy-box-header h2,.buy-box-header h3{margin:0}
.calc-range{width:100%;accent-color:var(--brand,var(--purple,#6f2cff))}
.slider-control{display:grid;gap:.35rem;margin-bottom:1rem}
.slider-control label{font-size:.875rem;opacity:.85}
.compare-form{display:grid;gap:1rem;padding:1rem;border:1px solid var(--line,#ddd);border-radius:.5rem;margin-bottom:1.5rem}
.compare-form select,.compare-form input{width:100%;padding:.5rem;border:1px solid var(--line,#ddd);border-radius:.35rem;background:var(--paper,#fff);color:inherit;font:inherit}
.aspect-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));margin:1.5rem 0}
.aspect-card{padding:1rem;border:1px solid var(--line,#ddd);border-radius:.5rem}
.aspect-card h3{margin:0 0 .5rem}
.aspect-diff{display:grid;gap:.35rem}
.aspect-diff>div{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border-bottom:1px dashed var(--line,#ddd)}
.aspect-winner-row{font-weight:700;color:var(--brand,var(--purple,#6f2cff))}
/* Shared layout structure. The layout names these the same way in every theme, and no theme
   defined them, so they rendered with browser defaults: a skip link visible on the page, a
   three-column grid that was one column, a secondary button with no affordance. */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;padding:.6rem 1rem;background:var(--ink,#17332d);color:var(--paper,#fff);text-decoration:none}
.skip-link:focus{left:0}
.three{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.prose>:first-child{margin-top:0}
.prose>*:last-child{margin-bottom:0}
.lede{font-size:1.125rem;line-height:1.6;opacity:.88;margin:0 0 1rem}
.section-intro{max-width:60ch;opacity:.85;margin:0 0 1.5rem}
.hero-note{padding:.75rem 1rem;border:1px solid currentColor;border-radius:.5rem;opacity:.9}
.result-heading{font-size:1.25rem;margin:0 0 .75rem}
.footer-label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.journey,.needs{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
.trust{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:center}
/* Residual interface elements: structures the shared layout names that neither a theme's own sheet
   nor the prototype it was adapted from ever defined. */
.navigation{display:flex;align-items:center}
.navigation>summary{cursor:pointer;list-style:none}
.navigation>summary::-webkit-details-marker{display:none}
.navigation[open]>summary~nav{position:absolute;right:1rem;top:100%;min-width:14rem;padding:.75rem;background:var(--paper,#fff);border:1px solid var(--line,#ccc);z-index:30}

/* The menu is written as a <details>, so it is closed — and therefore invisible — until something
   opens it. Below this width a reader is expected to tap the summary, which is right for a phone.
   Above it there is room for the whole bar, and it has to be laid out without being opened, or the
   navigation is missing from the page on every browser that does not open a closed <details> by
   itself. Ten of eleven sites were in exactly that state. The summary is hidden here because the
   links are already on screen. */
@media(min-width:900px){
.navigation>summary{display:none}
.navigation:not([open])>nav{display:flex;align-items:center;gap:1rem}
.navigation nav{position:static;background:none;border:0;padding:0;min-width:0}
.navigation nav a{padding:.35rem 0}
}
.ghost{background:none;border:1px solid currentColor;border-radius:.35rem}
.ghost:hover{opacity:.8}
.shell.hero-copy,.hero-copy{min-width:0}
.theme-mark,.brand-spark{display:inline-flex;align-items:center;gap:.35rem}
.buy-box-header{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--line,#ddd);margin-bottom:1rem}
.buy-box-header h2,.buy-box-header h3{margin:0}
.calc-range{width:100%;accent-color:var(--brand,var(--purple,#6f2cff))}
.slider-control{display:grid;gap:.35rem;margin-bottom:1rem}
.slider-control label{font-size:.875rem;opacity:.85}
.compare-form{display:grid;gap:1rem;padding:1rem;border:1px solid var(--line,#ddd);border-radius:.5rem;margin-bottom:1.5rem}
.compare-form select,.compare-form input{width:100%;padding:.5rem;border:1px solid var(--line,#ddd);border-radius:.35rem;background:var(--paper,#fff);color:inherit;font:inherit}
.aspect-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));margin:1.5rem 0}
.aspect-card{padding:1rem;border:1px solid var(--line,#ddd);border-radius:.5rem}
.aspect-card h3{margin:0 0 .5rem}
.aspect-diff{display:grid;gap:.35rem}
.aspect-diff>div{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border-bottom:1px dashed var(--line,#ddd)}
.aspect-winner-row{font-weight:700;color:var(--brand,var(--purple,#6f2cff))}

/* Sprint 52 homepage pattern. The theme sheet overrides the editorial-room
   base, so these rules stay more specific than that base and than the
   theme's own section padding. Card photos sit inside a square frame.
   The hero is one screen. Trust and the footer stay apart. */
body[data-theme="cobalt-workspace"] .card>.product-media{aspect-ratio:1;position:relative;overflow:hidden;background:#e7ebf6;border-radius:12px;margin:0 0 .8rem}
body[data-theme="cobalt-workspace"] .card>.product-media img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center;background:#e7ebf6}
body[data-theme="cobalt-workspace"] main>section.hero:not(.workspace-hero){min-height:0;width:100%;max-width:none;margin:0;padding:clamp(2.25rem,6vw,4.5rem) 0;background:#08122b;color:#ffffff}
body[data-theme="cobalt-workspace"] .hero h1{max-width:16em;font-size:clamp(2.2rem,6vw,4.2rem);line-height:1.05;color:#ffffff}
body[data-theme="cobalt-workspace"] .hero .eyebrow{color:#c9ff32}
body[data-theme="cobalt-workspace"] .hero .lede,
body[data-theme="cobalt-workspace"] .hero .hero-note,
body[data-theme="cobalt-workspace"] .hero-copy{color:#ffffff}
body[data-theme="cobalt-workspace"] main>section.trust{margin-bottom:clamp(2.75rem,8vw,5rem)}
body[data-theme="cobalt-workspace"] > footer{margin-top:clamp(1.5rem,4vw,2.5rem)}
body[data-theme="cobalt-workspace"] .footer-legal{grid-column:1 / -1;margin:.75rem 0 0;max-width:68ch}
body[data-theme="cobalt-workspace"] header details.navigation>summary{color:#08122b;background:#ffffff}
.delanja-network-bar{background:#08122b;color:#d1dcda;border-bottom:1px solid rgba(255,255,255,.1);font-size:.78rem;line-height:1.4;padding:.35rem 0;width:100%;box-sizing:border-box}
.delanja-network-inner{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;width:min(1180px,calc(100% - 2rem));margin-inline:auto;box-sizing:border-box}
.delanja-network-link{display:inline-flex;align-items:center;gap:.35rem;color:#ffffff!important;font-weight:700;text-decoration:none;letter-spacing:.01em;transition:color .15s ease}
.delanja-network-link:hover{color:#c9ff32!important;text-decoration:underline}
.delanja-network-arrow{font-size:.82rem;display:inline-block;transition:transform .15s ease}
.delanja-network-link:hover .delanja-network-arrow{transform:translate(1px,-1px)}
.delanja-network-tagline{color:#a4b3d6;font-size:.74rem;letter-spacing:.02em}
@media(max-width:640px){.delanja-network-bar{padding:.3rem 0;font-size:.72rem}.delanja-network-inner{gap:.2rem .5rem}.delanja-network-tagline{font-size:.68rem}}

 pre,code{white-space:pre-wrap;overflow-wrap:anywhere}