.device-gallery{gap:10px;min-width:0;margin:0;display:grid}.dg-main{border:1px solid var(--line-strong);border-radius:var(--radius-card);background:var(--surface-interactive);box-shadow:var(--shadow-card);touch-action:pan-y;position:relative;overflow:hidden}.dg-current{aspect-ratio:3/2;object-fit:cover;width:100%;display:block}.dg-step,.dg-expand,.dg-count{z-index:1;border:1px solid color-mix(in srgb, var(--ink) 22%, transparent);color:var(--ink);background:color-mix(in srgb, var(--surface) 78%, transparent);backdrop-filter:blur(8px);position:absolute}.dg-step{cursor:pointer;opacity:0;width:40px;height:40px;transition:opacity var(--t), border-color var(--t-fast), color var(--t-fast);border-radius:50%;place-items:center;display:grid;top:50%;translate:0 -50%}.dg-current.dg-portrait{object-fit:contain}.dg-main:hover .dg-step,.dg-step:focus-visible{opacity:1}.dg-step:hover,.dg-step:focus-visible,.dg-expand:hover,.dg-expand:focus-visible{border-color:var(--green);color:var(--green);outline:none}.dg-step--prev{left:12px}.dg-step--next{right:12px}.dg-step span{border-top:2px solid;border-right:2px solid;width:9px;height:9px}.dg-step--prev span{margin-left:4px;transform:rotate(-135deg)}.dg-step--next span{margin-right:4px;transform:rotate(45deg)}.dg-count{font-family:var(--font-mono), monospace;border-radius:999px;padding:4px 10px;font-size:.66rem;font-weight:600;bottom:12px;left:12px}.dg-expand{border-radius:var(--radius-sm);cursor:zoom-in;align-items:center;gap:6px;min-height:34px;padding:0 11px;font-size:.74rem;font-weight:700;display:inline-flex;bottom:12px;right:12px}.dg-expand svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.dg-thumbs{scrollbar-width:none;gap:8px;padding:2px;display:flex;overflow-x:auto}.dg-thumbs::-webkit-scrollbar{display:none}.dg-thumbs a{border-radius:var(--radius-sm);background:var(--surface-interactive);opacity:.6;transition:opacity var(--t-fast), border-color var(--t-fast);border:2px solid #0000;flex:0 0 calc(20% - 6.4px);overflow:hidden}.dg-thumbs a:hover{opacity:.9}.dg-thumbs a[aria-current=true]{border-color:var(--green);opacity:1}.dg-thumbs a:focus-visible{outline:2px solid var(--green);outline-offset:2px}.dg-thumbs img{aspect-ratio:3/2;object-fit:cover;width:100%;display:block}.device-gallery>figcaption{color:var(--muted);gap:2px;font-size:.7rem;line-height:1.5;display:grid}.device-gallery>figcaption b{color:var(--color-copy);font-size:.8rem}@media (hover:none){.dg-step{opacity:1}}.dg-dialog{width:min(1180px,94vw);max-width:none;max-height:96vh;color:var(--ink);background:0 0;border:0;padding:0;overflow:visible}.dg-dialog[open]{animation:dg-in var(--t) ease-out}.dg-dialog::backdrop{backdrop-filter:blur(12px);background:#020306eb}.dg-panel{position:relative}.dg-stage{aspect-ratio:3/2;border:1px solid color-mix(in srgb, var(--ink) 16%, transparent);border-radius:var(--radius-lg);background:var(--paper);place-items:center;max-height:74vh;margin-inline:auto;display:grid;position:relative;overflow:hidden}.dg-image{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.dg-close,.dg-arrow{z-index:2;border:1px solid color-mix(in srgb, var(--ink) 30%, transparent);color:var(--ink);background:color-mix(in srgb, var(--surface) 84%, transparent);backdrop-filter:blur(10px);cursor:pointer;transition:color var(--t-fast), border-color var(--t-fast);place-items:center;display:grid;position:absolute}.dg-close:hover,.dg-arrow:hover,.dg-close:focus-visible,.dg-arrow:focus-visible{border-color:var(--green);color:var(--green);outline:none}.dg-close{border-radius:50%;width:44px;height:44px;font-size:1.6rem;line-height:1;top:-14px;right:-14px}.dg-arrow{border-radius:var(--radius-md);width:48px;height:64px;top:50%;translate:0 -50%}.dg-prev{left:16px}.dg-next{right:16px}.dg-arrow span{border-top:2.5px solid;border-right:2.5px solid;width:12px;height:12px}.dg-prev span{margin-left:5px;transform:rotate(-135deg)}.dg-next span{margin-right:5px;transform:rotate(45deg)}.dg-caption{justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 6px 0;display:flex}.dg-caption>div{gap:3px;display:grid}.dg-title{font-size:.9rem}.dg-credit{color:var(--muted);font-size:.76rem;line-height:1.5}.dg-source{width:max-content;color:var(--green);font-size:.74rem;font-weight:700}.dg-counter{border:1px solid var(--line);font-family:var(--font-mono), monospace;border-radius:999px;flex:none;padding:4px 9px;font-size:.68rem}.dg-rail{scrollbar-width:thin;gap:8px;margin-top:12px;padding:2px 6px 6px;display:flex;overflow-x:auto}.dg-rail button{border-radius:var(--radius-sm);background:var(--surface-interactive);opacity:.55;cursor:pointer;transition:opacity var(--t-fast), border-color var(--t-fast);border:2px solid #0000;flex:0 0 96px;padding:0;overflow:hidden}.dg-rail button:hover{opacity:.85}.dg-rail button[aria-current=true]{border-color:var(--green);opacity:1}.dg-rail img{aspect-ratio:3/2;object-fit:cover;width:100%;display:block}@keyframes dg-in{0%{opacity:0;transform:scale(.98)}}@media (width<=620px){.dg-thumbs a{flex-basis:26%}.dg-dialog{width:calc(100vw - 16px)}.dg-close{top:8px;right:8px}.dg-arrow{width:40px;height:52px}.dg-prev{left:8px}.dg-next{right:8px}}@media (prefers-reduced-motion:reduce){.dg-dialog[open]{animation:none}}.product-hero-section{padding-bottom:96px}#related-articles{padding-top:0}.section:has(+#related-articles){padding-bottom:64px}.product-prose>section:last-child{margin-bottom:0}.product-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:clamp(28px,4vw,60px);display:grid}.product-summary{min-width:0}.product-summary .eyebrow{gap:8px}.product-summary .eyebrow a{text-underline-offset:3px;text-decoration:underline}.product-summary h1{font-size:clamp(2.1rem,4.4vw,3.4rem)}.product-summary .lead{max-width:52ch;margin:18px 0 0}.product-availability{color:var(--muted);margin:14px 0 0;font-size:.78rem}.product-availability b{color:var(--color-copy);font-weight:800}.quick-specs{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--line);grid-template-columns:1fr 1fr;gap:1px;margin:24px 0 0;display:grid;overflow:hidden}.quick-specs>div{background:var(--surface-interactive);padding:14px 16px}.quick-specs dt{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;font-size:.58rem}.quick-specs dd{color:var(--ink);margin:7px 0 0;font-size:.98rem;font-weight:750}.variant-facts{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-interactive);gap:10px;margin:14px 0 0;padding:12px 14px;display:grid}.variant-facts>div{grid-template-columns:84px minmax(0,1fr);align-items:baseline;gap:10px;display:grid}.variant-facts dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem}.variant-facts dd{color:var(--ink);margin:0;font-size:.84rem;font-weight:650}.variant-facts dd a{color:var(--color-link);text-underline-offset:3px;font-size:.78rem;text-decoration:underline}.variant-options{flex-wrap:wrap;gap:5px;display:flex}.variant-options span{border:1px solid var(--line-strong);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:.76rem}.spec-spread{gap:6px;margin:0;padding:0;list-style:none;display:grid}.spec-spread li{display:grid}.spec-spread small{color:var(--muted);font-family:var(--font-mono), monospace;font-size:.7rem;font-weight:500}.spec-spread .is-unknown{color:var(--muted);font-style:italic;font-weight:500}.color-list{flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.color-list li{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-interactive);padding:8px 12px;display:grid}.color-list b{font-size:.86rem}.color-list small{color:var(--muted);font-size:.72rem}.product-prose{max-width:none}.spec-intro{color:var(--muted);margin:6px 0 0;font-size:.86rem}.product-prose p,.product-prose ul:not([class]){max-width:72ch}.spec-sheet{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel-body);box-shadow:var(--shadow-card);margin-top:18px;overflow:hidden}.spec-group{--tone:var(--muted);grid-template-columns:180px minmax(0,1fr);display:grid}.spec-group:nth-child(3n+2),.spec-group:nth-child(3n){--tone:var(--muted)}.spec-group+.spec-group{border-top:1px solid var(--line-strong)}.spec-group h3{color:var(--tone);background:var(--surface-raised);border-right:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;margin:0;padding:16px 18px 16px 22px;font-size:.72rem;font-weight:600;position:relative}.spec-group h3:before{content:"";background:var(--tone);width:3px;box-shadow:none;border-radius:0 3px 3px 0;position:absolute;top:12px;bottom:12px;left:0}.spec-group dl{margin:0}.spec-group dl>div{transition:background-color var(--t-fast);grid-template-columns:minmax(140px,.8fr) minmax(0,1.4fr);gap:16px;padding:10px 18px;display:grid}.spec-group dl>div:nth-child(2n){background:color-mix(in srgb, var(--ink) 2%, transparent)}.spec-group dl>div:hover{background:color-mix(in srgb, var(--tone) 7%, transparent)}.spec-group dt{color:var(--color-copy);font-size:.86rem}.spec-group dd{color:var(--ink);margin:0;font-size:.9rem;font-weight:650;line-height:1.5}.spec-group dd.is-unknown{color:var(--muted);font-style:italic;font-weight:500}.config-table{table-layout:fixed;min-width:640px}.config-table th[scope=col]:first-child{width:30%}.config-table th[scope=col]:nth-child(2){width:24%}.config-table th[scope=col]:nth-child(3){width:20%}.config-table th[scope=row]{color:var(--ink);font-size:.84rem}.config-model{color:var(--muted);margin-top:2px;font-weight:500;display:block}.config-chips{flex-wrap:wrap;gap:4px;display:flex}.config-chips span{border:1px solid var(--line-strong);white-space:normal;overflow-wrap:anywhere;border-radius:999px;padding:2px 8px;font-size:.72rem}.config-varies{color:var(--muted);font-size:.72rem;display:block}.config-table th[scope=col]{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem}.config-table td{font-size:.84rem;font-weight:500}.config-model{font-family:var(--font-mono), monospace;font-size:.76rem}.source-fix{color:var(--color-link);align-items:center;gap:6px;font-weight:700;text-decoration:none;display:inline-flex}.source-fix:hover{text-underline-offset:3px;text-decoration:underline}.product-pairs{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.product-pairs li{margin:0;display:grid}.product-prose a.pair-card{color:var(--ink);font-weight:inherit;text-decoration:none}.pair-card{border:1px solid var(--line-strong);border-radius:var(--radius-md);color:var(--ink);background:var(--surface-interactive);transition:border-color var(--t-fast), background-color var(--t-fast);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px 12px 12px;text-decoration:none;display:grid}.pair-card:hover{border-color:color-mix(in srgb, var(--green) 45%, var(--line-strong))}.pair-card:focus-visible{outline:2px solid var(--green);outline-offset:2px}.pair-duo{align-items:center;display:flex;position:relative}.pair-duo img{border-radius:var(--radius-sm);object-fit:cover;width:64px;height:43px}.pair-duo b{z-index:1;border:1px solid var(--line-strong);background:var(--surface);border-radius:50%;place-items:center;width:24px;height:24px;margin-inline:-8px;font-size:.52rem;font-weight:800;display:grid;position:relative}.pair-text{gap:3px;min-width:0;display:grid}.pair-text b{font-size:.92rem;font-weight:700;line-height:1.3}.pair-kind{border:1px solid var(--line-strong);width:fit-content;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:0 6px;font-size:.6rem;font-weight:700;line-height:1.6}.pair-kind.is-editorial{border-color:color-mix(in srgb, var(--green) 40%, transparent);color:var(--color-link);background:var(--green-soft)}.pair-go{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);transition:color var(--t-fast), border-color var(--t-fast);border-radius:50%;place-items:center;display:grid}.pair-card:hover .pair-go{border-color:var(--green);color:var(--color-link)}.pair-card--any{background:0 0;border-style:dashed;grid-template-columns:auto minmax(0,1fr)}.pair-plus{border:1px dashed var(--line-strong);width:43px;height:43px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.pair-card--any:hover .pair-plus{border-color:var(--green);color:var(--color-link)}.balance{grid-template-columns:1fr 1fr;gap:16px;display:grid}.balance-col{--tone:var(--green);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--action-quiet-bg);padding:18px 20px;position:relative;overflow:hidden}.balance-col--limit{--tone:var(--amber)}.balance-col:before{content:"";background:var(--line);height:2px;position:absolute;top:0;left:0;right:0}.balance-col h3{color:var(--tone);font-size:.68rem;font-family:var(--font-ui-accent), sans-serif;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-weight:400}.balance-col ul{margin:0;padding-left:1.1em;font-size:.9rem}@media (width<=720px){.spec-group{grid-template-columns:1fr}.spec-group h3{border-right:0;border-bottom:1px solid var(--line);padding:10px 16px 10px 18px}.spec-group h3:before{top:8px;bottom:8px}.spec-group dl>div{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px;padding:9px 16px}}@media (width<=900px){.product-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.product-hero-section{padding-bottom:72px}}@media (width<=720px){.product-hero{grid-template-columns:minmax(0,1fr)}}@media (width<=360px){.quick-specs{grid-template-columns:1fr}}@media (width<=620px){.config-table{min-width:0}.config-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.config-table tbody,.config-table tr,.config-table th[scope=row],.config-table td{display:block}.config-table tbody tr{padding:14px}.config-table tbody tr+tr{border-top:1px solid var(--line-strong)}.table-wrap .config-table th[scope=row],.config-table td{overflow-wrap:anywhere;border:0;width:auto;padding:0}.config-table td{margin-top:12px;line-height:1.5}.config-table td:before{content:attr(data-label);color:var(--muted);margin-bottom:4px;font-size:.72rem;font-weight:600;display:block}.balance{grid-template-columns:1fr}}
