:root{--ink:#17101f;--muted:#6d6378;--purple:#6f2cff;--purple-dark:#4520a8;--orange:#ff6b2c;--acid:#dfff62;--cream:#fff9f2;--lilac:#eee5ff;--line:#d9cdea;--white:#fff;--shadow:0 28px 70px #37146720;font-family:"Arial Narrow",Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);line-height:1.6}a{color:inherit}.skip,.skip-link{position:absolute;left:-999px}.skip:focus,.skip-link:focus{left:1rem;top:1rem;z-index:40;background:var(--ink);color:#fff;padding:.75rem}.studio-shell{width:min(1180px,calc(100% - 3rem));margin:auto}.theme-header, .studio-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(1.5rem,calc((100% - 1180px)/2));position:sticky;top:0;z-index:20;background:#fff9f2ef;border-bottom:2px solid var(--ink);backdrop-filter:blur(16px)}.theme-wordmark, .studio-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}.theme-wordmark, .studio-brand>span:last-child{display:grid}.theme-wordmark, .studio-brand strong{font-size:1.1rem;letter-spacing:-.045em}.theme-wordmark, .studio-brand small{color:var(--purple-dark);font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em}.brand-spark{position:relative;display:block;width:41px;height:41px;border:2px solid var(--ink);border-radius:50%;background:var(--orange);transform:rotate(-10deg)}.brand-spark i{position:absolute;display:block;background:var(--ink)}.brand-spark i:first-child{width:2px;height:30px;left:18px;top:3px;transform:rotate(45deg)}.brand-spark i:last-child{width:30px;height:2px;left:4px;top:18px;transform:rotate(45deg)}.theme-header, .studio-header nav{display:flex;align-items:center;gap:1.15rem}.theme-header, .studio-header nav a{text-decoration:none;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.theme-header, .studio-header nav a:hover{color:var(--purple)}.theme-header, .studio-header .nav-cta{padding:.65rem .85rem;border:2px solid var(--ink);border-radius:999px;background:var(--acid);box-shadow:3px 3px 0 var(--ink)}.studio-menu{display:none}.studio-hero{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(460px,1.05fr);min-height:700px;padding:clamp(2rem,5vw,5rem) max(1.5rem,calc((100vw - 1180px)/2));gap:clamp(2rem,5vw,5.5rem);overflow:hidden;background:radial-gradient(circle at 8% 8%,#e4d4ff 0,transparent 28%),linear-gradient(120deg,var(--cream),#faf2ff)}.studio-hero:after{content:"CREATE / REFINE / SHIP";position:absolute;right:-2rem;bottom:1rem;color:#6f2cff12;font-size:clamp(5rem,12vw,11rem);font-weight:1000;letter-spacing:-.08em;white-space:nowrap;pointer-events:none}.studio-hero__copy{position:relative;align-self:center;z-index:2}.eyebrow{margin:0 0 1rem;color:var(--purple);font-size:.7rem;font-weight:1000;text-transform:uppercase;letter-spacing:.16em}h1,h2,h3{margin-top:0;letter-spacing:-.055em;line-height:.97}h1{max-width:10ch;margin-bottom:1.5rem;font-size:clamp(3.8rem,6.5vw,7rem);font-weight:1000}.studio-hero h1::first-line{color:var(--purple)}.hero-lead, .studio-hero__lead{max-width:590px;color:var(--muted);font-size:1.05rem}.actions,.card-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:51px;padding:.75rem 1rem;border:2px solid var(--ink);border-radius:999px;background:var(--orange);color:var(--ink);box-shadow:5px 5px 0 var(--ink);text-decoration:none;font-size:.74rem;font-weight:1000;text-transform:uppercase}.button:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ink)}.text-link{font-size:.75rem;font-weight:900;text-underline-offset:.35rem}.studio-tags{display:flex;gap:.55rem;margin-top:4rem}.studio-tags span{padding:.35rem .55rem;border:1px solid var(--ink);border-radius:999px;background:white;font-size:.58rem;font-weight:900;letter-spacing:.1em}.studio-artboard{position:relative;align-self:stretch;margin:0;min-height:540px;padding:14px 14px 90px;border:2px solid var(--ink);border-radius:190px 190px 22px 22px;background:var(--purple);box-shadow:14px 14px 0 var(--orange);z-index:1}.studio-artboard__image{height:100%;min-height:435px;border:2px solid var(--ink);border-radius:174px 174px 10px 10px;background:linear-gradient(180deg,#6f2cff10,#23103270),url('../assets/site/hero-creator.jpg') center/cover no-repeat}.studio-artboard figcaption{position:absolute;right:1.7rem;bottom:1.2rem;left:1.7rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;color:#fff;font-size:.64rem;letter-spacing:.08em}.studio-artboard figcaption strong{max-width:250px;font-size:.78rem;letter-spacing:0;text-align:right}.orbit{position:absolute;width:58px;height:58px;border:2px solid var(--ink);border-radius:50%;background:var(--acid)}.orbit:after{content:"";position:absolute;width:12px;height:12px;left:21px;top:21px;border-radius:50%;background:var(--ink)}.orbit-one{left:-28px;top:28%}.orbit-two{right:-26px;bottom:28%;background:var(--orange)}.studio-sticker{position:absolute;right:max(1rem,calc((100vw - 1240px)/2));top:3.8rem;z-index:3;display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border:2px solid var(--ink);border-radius:8px;background:var(--acid);box-shadow:5px 5px 0 var(--ink);transform:rotate(4deg)}.studio-sticker span{font-size:2rem;font-weight:1000;line-height:1}.studio-sticker small{font-size:.58rem;font-weight:900;text-transform:uppercase;line-height:1.2}.studio-process{padding:6rem 0;background:var(--purple);color:#fff}.studio-process header{display:grid;grid-template-columns:1fr 2fr;gap:2rem;margin-bottom:3rem}.studio-process .eyebrow{color:var(--acid)}.studio-process h2{max-width:800px;font-size:clamp(2.5rem,4.8vw,5.2rem)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid #fff}.process-grid article{min-height:235px;padding:1.5rem;border-right:2px solid #fff}.process-grid article:last-child{border:0}.process-grid article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--orange);color:var(--ink);font-size:.7rem;font-weight:1000}.process-grid article div{margin-top:3rem}.process-grid h3{margin-bottom:.5rem;font-size:1.35rem}.process-grid p{margin:0;color:#eee6ff;font-size:.88rem}.studio-section,.studio-products>.studio-shell,main>section:not(.studio-hero):not(.studio-process):not(.studio-products),main>article{width:min(1180px,calc(100% - 3rem));margin:auto;padding:6rem 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.section-heading h2{max-width:800px;margin:0;font-size:clamp(2.8rem,5vw,5.2rem)}.section-heading>span,.section-heading>a{color:var(--muted);font-size:.7rem;font-weight:900;text-transform:uppercase}.intent-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.intent-grid a{display:grid;grid-template-columns:2.5rem 1fr auto;gap:1rem;min-height:180px;padding:1.5rem;border:2px solid var(--ink);border-radius:8px;background:white;box-shadow:7px 7px 0 var(--lilac);text-decoration:none}.intent-grid a:nth-child(2n){background:var(--lilac);box-shadow:7px 7px 0 var(--orange)}.intent-grid a:hover{transform:translate(3px,3px);box-shadow:4px 4px 0 var(--orange)}.intent-grid a>span,.intent-grid i{color:var(--purple);font-size:.7rem;font-weight:1000;font-style:normal}.intent-grid a>div{display:grid;align-content:space-between;gap:1rem}.intent-grid strong{font-size:1.4rem;line-height:1.1}.intent-grid small{max-width:420px;color:var(--muted)}.studio-products{background:var(--ink);color:#fff}.studio-products .eyebrow{color:var(--orange)}.studio-products .section-heading>a{color:var(--acid)}.product-strip,.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.card{display:flex;flex-direction:column;height:100%;overflow:hidden;border:2px solid var(--ink);border-radius:8px;background:white;color:var(--ink);box-shadow:7px 7px 0 var(--orange)}.studio-products .card:nth-child(3n+2){box-shadow:7px 7px 0 var(--purple)}.studio-products .card:nth-child(3n){box-shadow:7px 7px 0 var(--acid)}.card-body,.product-card__body{display:flex;flex-direction:column;flex:1 1 auto;gap:.6rem;padding:1.25rem}.card-body p,.product-card__body p{flex:1 1 auto}.need-card{display:flex;flex-direction:column;height:100%;padding:1.5rem;border:2px solid var(--ink);border-radius:8px;background:white;color:var(--ink);box-shadow:7px 7px 0 var(--orange);text-decoration:none;transition:transform .15s,box-shadow .15s}.need-card:hover{transform:translate(2px,2px);box-shadow:5px 5px 0 var(--orange)}.need-card h3{margin:0 0 .5rem;font-size:1.25rem}.need-card p{margin:0 0 1rem;color:var(--muted);font-size:.92rem;flex:1 1 auto}.need-card .text-link{margin-top:auto}.number{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--orange);color:var(--ink);font-size:.7rem;font-weight:1000}.category{display:flex;flex-direction:column;height:100%;padding:1.5rem;border:2px solid var(--ink);border-radius:8px;background:white;color:var(--ink);box-shadow:7px 7px 0 var(--lilac);text-decoration:none;transition:transform .15s,box-shadow .15s}.category:hover{transform:translate(2px,2px);box-shadow:5px 5px 0 var(--lilac)}.category>div{display:flex;flex-direction:column;flex:1 1 auto;height:100%}.category h3{margin:0 0 .5rem;font-size:1.25rem}.category p{margin:0 0 1rem;color:var(--muted);font-size:.92rem;flex:1 1 auto}.category .text-link,.category .textlink{margin-top:auto}.card h2,.card h3{margin:.1rem 0}.card h2{font-size:1.3rem}.card img,.product-image{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff}.product-image--empty,.image-fallback{display:grid;place-items:center;text-align:center;background:var(--lilac);border:2px dashed var(--line);border-radius:8px;min-height:220px;padding:1.5rem;color:var(--muted)}.product-image--empty span,.image-fallback span{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--orange);color:var(--ink);font-size:1.5rem;line-height:1}.image-fallback.full{min-height:320px}.image-fallback small{font-size:.75rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.empty-cell{padding:.75rem .625rem;color:var(--muted);text-align:center;font-style:italic}.price{font-size:1.15rem;font-weight:1000}.decision-note{display:grid;gap:.15rem;padding:.75rem .85rem;border-left:4px solid var(--purple);background:#f4efff;font-size:.84rem}.merchant-disclosure,.decision-note span{color:var(--muted);line-height:1.4}.card-actions{justify-content:space-between;margin-top:auto}.breadcrumbs{color:var(--muted);margin-bottom:1.5rem}.finder{display:flex;gap:1rem;flex-wrap:wrap;padding:1rem;border:2px solid var(--ink);background:white}.finder label{display:grid;gap:.35rem;flex:1;min-width:180px}.finder input,.finder select{padding:.75rem;border:1px solid var(--line);background:white;color:var(--ink);font:inherit}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.facts div,.compare-products article,.merchant-panel{padding:1rem;border:2px solid var(--ink);background:white}.facts dt{color:var(--muted);font-size:.8rem}.facts dd{margin:0;font-weight:900}.split,.compare-products{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.table-wrap{overflow:auto;border:2px solid var(--ink)}table{width:100%;border-collapse:collapse;background:white;min-width:42rem}th,td{padding:.85rem;text-align:left;border-bottom:1px solid var(--line)}thead{background:var(--lilac)}.editorial{max-width:780px}.empty{padding:2rem;text-align:center}footer{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:5rem max(1.5rem,calc((100% - 1180px)/2));border-top:2px solid var(--ink);background:var(--orange);color:var(--ink)}.footer-brand{display:flex;align-items:flex-start;gap:1.2rem}.footer-brand .brand-spark{background:var(--acid)}.footer-brand>div>strong{font-size:clamp(1.8rem,3vw,3.5rem);line-height:1}footer p{max-width:580px}footer a{text-underline-offset:.25rem}
@media(max-width:920px){.theme-header, .studio-header{height:70px}.theme-wordmark, .studio-brand small{display:none}.studio-menu{display:block;padding:.5rem .75rem;border:2px solid var(--ink);border-radius:999px;background:var(--acid);font-weight:900}.theme-header, .studio-header nav{display:none;position:absolute;top:70px;inset-inline:0;padding:1.2rem;background:#fff9f2fa;border-bottom:2px solid var(--ink)}.theme-header, .studio-header nav.open{display:grid}.studio-hero{grid-template-columns:1fr;padding-top:1.5rem}.studio-artboard{order:-1;min-height:430px;margin:0 2rem}.studio-artboard__image{min-height:325px}.studio-sticker{top:3rem}.studio-hero__copy{padding:2rem 0 3rem}.studio-process header{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.process-grid article{min-height:0;border-right:0;border-bottom:2px solid white}.process-grid article div{margin-top:2rem}.product-strip,.grid{grid-template-columns:1fr 1fr}.section-heading{display:block}.split,.compare-products,footer{grid-template-columns:1fr}}
@media(max-width:560px){.studio-shell{width:min(100% - 2rem,1180px)}h1{font-size:3.55rem}.studio-hero{padding-inline:1rem}.studio-artboard{min-height:350px;margin:0;padding:10px 10px 76px;border-radius:120px 120px 16px 16px;box-shadow:8px 8px 0 var(--orange)}.studio-artboard__image{min-height:260px;border-radius:110px 110px 8px 8px}.studio-artboard figcaption{right:1rem;bottom:.8rem;left:1rem;display:grid}.studio-artboard figcaption strong{text-align:left}.studio-sticker{right:1.1rem;top:2.4rem}.studio-tags{margin-top:2.5rem}.studio-process{padding:4rem 0}.studio-section,.studio-products>.studio-shell,main>section:not(.studio-hero):not(.studio-process):not(.studio-products),main>article{width:min(100% - 2rem,1180px);padding:4rem 0}.section-heading h2{font-size:2.8rem}.intent-grid,.product-strip,.grid{grid-template-columns:1fr}.intent-grid a{grid-template-columns:2rem 1fr}.intent-grid i{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:1px solid var(--line)}tbody td:before{content:attr(data-label);display:block;color:var(--muted);font-weight:700}footer{gap:2rem}}

/* 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))}
 pre,code{white-space:pre-wrap;overflow-wrap:anywhere}