/* Extended layout and interaction styles used across current pages. */
body::selection{background:rgba(108,99,255,.18)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(108,99,255,.35),transparent);pointer-events:none}
.brand:focus-visible,.site-nav a:focus-visible,.button:focus-visible,.text-link:focus-visible,.filter-bar a:focus-visible,.media-card a:focus-visible,.list-card a:focus-visible,.inline-links a:focus-visible,.chip-row a:focus-visible{outline:3px solid rgba(245,158,91,.62);outline-offset:3px}
.brand-mark{position:relative;isolation:isolate}.brand-mark::after{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.42);border-radius:10px;z-index:-1}
.site-nav a{position:relative;transition:background-color .2s ease,color .2s ease,transform .2s ease}.site-nav a:hover{transform:translateY(-1px)}
.hero{position:relative}.hero::before{content:"";position:absolute;left:-80px;top:18%;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(167,139,250,.16),transparent 68%);pointer-events:none;z-index:-1}
.hero-copy{position:relative;z-index:1}.hero-copy p{max-width:680px}.hero-actions .button{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.hero-actions .button:hover{transform:translateY(-2px)}
.button-primary:hover{box-shadow:0 16px 32px rgba(108,99,255,.32)}.button-secondary:hover{box-shadow:0 14px 28px rgba(245,158,91,.25)}.button-ghost:hover{background:var(--bg2)}
.hero-art{position:relative}.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 56%,rgba(23,24,33,.38));pointer-events:none}.hero-art img{min-height:470px}
.section-block{position:relative}.section-heading>div{min-width:0}.section-heading .text-link{white-space:nowrap}
.media-card{min-width:0}.media-card .poster{position:relative}.media-card .poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 68%,rgba(23,24,33,.15));opacity:0;transition:opacity .2s ease}.media-card:hover .poster::after{opacity:1}.media-card h3 a{display:inline;background-image:linear-gradient(var(--primary),var(--primary));background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .25s ease}.media-card:hover h3 a{background-size:100% 1px}
.media-body{min-height:148px;display:flex;flex-direction:column}.media-body p{margin-top:auto}.media-meta span{display:inline-flex;align-items:center}.media-meta span+span::before{content:"•";margin-right:10px;color:#b5b7c2}
.dark-band{position:relative;overflow:hidden}.dark-band::before{content:"";position:absolute;right:-90px;top:-120px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(108,99,255,.22),transparent 70%);pointer-events:none}.dark-band::after{content:"";position:absolute;left:10%;bottom:-180px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,91,.10),transparent 70%);pointer-events:none}.discovery-layout{position:relative;z-index:1}
.collection-row{transition:border-color .2s ease,transform .2s ease}.collection-row:hover{border-color:#4c4e61;transform:translateX(2px)}.chip-row a{transition:background-color .2s ease,color .2s ease}.chip-row a:hover{background:#3a3c4e;color:#fff}
.split-panel .image-panel{box-shadow:0 20px 48px rgba(34,35,43,.08)}.copy-panel{padding:20px 0}.copy-panel .text-link{display:inline-flex;margin-top:10px}.copy-panel .text-link::after,.section-heading .text-link::after{content:"→";margin-left:7px;transition:transform .18s ease}.copy-panel .text-link:hover::after,.section-heading .text-link:hover::after{transform:translateX(4px)}
.compact-note{border:1px solid rgba(108,99,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.footer-grid strong{color:#fff}.footer-grid a{color:#c8cad6;transition:color .18s ease}.footer-grid a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:16px}
.page-intro{position:relative}.page-intro::after{content:"";display:block;margin-top:28px;width:90px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--accent))}.page-intro p{max-width:790px}
.filter-bar{position:sticky;top:88px;z-index:10;padding:10px;border-radius:18px;background:rgba(247,247,250,.88);backdrop-filter:blur(12px);border:1px solid rgba(220,221,234,.65)}.filter-bar a{transition:background-color .18s ease,color .18s ease,border-color .18s ease}.filter-bar a:hover{border-color:#bfc1cf;color:var(--text)}
.list-card{position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.list-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--primary),var(--secondary));opacity:0;transition:opacity .2s ease}.list-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(34,35,43,.07);border-color:#cfd0dc}.list-card:hover::before{opacity:1}.list-thumb{position:relative}.list-thumb::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.22);border-radius:inherit;pointer-events:none}.list-copy h2 a:hover{color:var(--primary)}.tag-line{display:flex;align-items:center;gap:8px}.tag-line::before{content:"";width:22px;height:1px;background:var(--secondary)}
.official-intro{padding-top:64px}.official-intro .image-panel{position:relative}.official-intro .image-panel::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);border-radius:inherit;pointer-events:none}
.info-grid article{position:relative;overflow:hidden;transition:transform .18s ease,border-color .18s ease}.info-grid article::after{content:"";position:absolute;right:-22px;bottom:-22px;width:80px;height:80px;border-radius:50%;background:rgba(108,99,255,.06)}.info-grid article:hover{transform:translateY(-3px);border-color:#cacbea}.info-grid article>span{font-size:12px;letter-spacing:.12em}
.two-column-copy{align-items:start}.two-column-copy>div:last-child{padding-top:8px}.inline-links a{display:inline-flex;align-items:center}.inline-links a::after{content:"↗";margin-left:6px;font-size:12px}
.device-grid{align-items:stretch}.device-card{transition:transform .2s ease,box-shadow .2s ease}.device-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.device-card img{border-bottom:1px solid var(--line)}
.web-steps ol{counter-reset:step}.web-steps li{position:relative;overflow:hidden}.web-steps li::after{content:"";position:absolute;right:-30px;bottom:-30px;width:90px;height:90px;border-radius:50%;background:rgba(167,139,250,.08)}.web-steps li strong{font-size:18px}.web-steps li:before{font-size:12px;letter-spacing:.12em}
.detail-hero{position:relative}.detail-hero::before{content:"";position:absolute;right:5%;top:4%;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(108,99,255,.09),transparent 70%);z-index:-1}.detail-poster{position:relative}.detail-poster::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);border-radius:inherit;pointer-events:none}.detail-copy .lead{font-size:21px;line-height:1.6}.detail-facts span{border:1px solid rgba(108,99,255,.08)}
.not-found{min-height:62vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.not-found .eyebrow{font-size:18px}.not-found h1{max-width:640px}
@media (min-width:961px){.media-grid .media-card:nth-child(4n+2){transform:translateY(10px)}.media-grid .media-card:nth-child(4n+2):hover{transform:translateY(6px)}.media-grid .media-card:nth-child(4n+4){transform:translateY(4px)}.media-grid .media-card:nth-child(4n+4):hover{transform:translateY(0)}.detail-copy{padding-right:20px}.official-intro>div:first-child{padding-right:10px}.copy-panel{padding-right:24px}}
@media (max-width:960px){.filter-bar{top:78px}.official-intro{padding-top:42px}.hero-art img{min-height:360px}.footer-grid>div:first-child{grid-column:1/-1}.media-body{min-height:138px}}
@media (max-width:720px){.hero::before{display:none}.filter-bar{top:76px;margin-inline:-4px;overflow:auto;flex-wrap:nowrap;scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.filter-bar a{white-space:nowrap}.media-body{min-height:0}.dark-band{margin-block:24px}.collection-row>div:first-child{align-items:flex-start;flex-direction:column;gap:4px}.footer-bottom{flex-direction:column}.compact-note{padding:24px}.detail-copy .lead{font-size:18px}.web-steps li{min-height:0}.site-header{backdrop-filter:blur(12px)}}
@media (max-width:460px){.shell{width:min(100% - 20px,1180px)}.hero-copy h1,.page-intro h1,.detail-copy h1,.not-found h1{font-size:34px}.hero-copy p,.page-intro p{font-size:15px}.hero-art{min-height:280px}.hero-art img{min-height:280px}.section-heading h2,.copy-panel h2,.compact-note h2,.two-column-copy h2{font-size:28px}.list-copy h2{font-size:22px}.button{min-height:44px}.brand-mark{width:38px;height:38px}.header-inner{min-height:62px}.site-nav{top:62px}.filter-bar{top:68px}.page-shell{padding-top:34px}.detail-hero{gap:28px}}
@media (forced-colors:active){.button,.filter-bar a,.site-nav a,.media-card,.list-card,.info-grid article,.device-card{border:1px solid ButtonText}.button-primary{background:ButtonFace;color:ButtonText}.eyebrow,.text-link,.inline-links a{color:LinkText}}
@media print{.site-header,.site-footer,.menu-toggle,.hero-actions,.filter-bar,.text-link,.inline-links{display:none!important}body{background:#fff;color:#000}.shell{width:100%;max-width:none}.hero,.official-intro,.detail-hero,.split-panel,.two-column-copy{grid-template-columns:1fr}.media-grid,.info-grid,.compact-grid{grid-template-columns:repeat(2,1fr)}.media-card,.list-card,.info-grid article,.device-card{break-inside:avoid;box-shadow:none;border:1px solid #bbb}.dark-band{background:#fff;color:#000}.collection-row{background:#fff;color:#000;border-color:#bbb}.chip-row a{background:#fff;color:#000;border:1px solid #bbb}.page-intro,.hero,.section-block,.detail-hero{padding-block:20px}.detail-poster{max-width:300px}.hero-art,.image-panel{max-height:360px}.hero-art img,.image-panel img{object-fit:contain}}
.faq-list{display:grid;gap:12px}.faq-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 18px}.faq-item summary{cursor:pointer;font-weight:800;padding:18px 32px 18px 0;position:relative;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:22px;color:var(--primary)}.faq-item[open] summary::after{content:"−"}.faq-item p{margin:0;padding:0 0 18px;color:var(--muted);max-width:880px}.faq-item[open]{border-color:#cfd0f1;box-shadow:0 10px 28px rgba(34,35,43,.05)}
.search-intro{padding-bottom:20px}.search-form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;margin:0 0 46px;box-shadow:0 14px 36px rgba(34,35,43,.05)}.search-form label{display:block;font-weight:800;margin-bottom:10px}.search-field{display:grid;grid-template-columns:1fr auto;gap:12px}.search-field input{width:100%;min-height:50px;border:1px solid var(--line);border-radius:14px;padding:0 16px;font:inherit;color:var(--text);background:var(--bg)}.search-field input:focus{outline:3px solid rgba(108,99,255,.16);border-color:var(--primary)}.search-results{padding-bottom:24px}.search-empty{background:var(--bg2);border-radius:22px;padding:30px}.search-empty h2{margin:0 0 8px}.search-empty p{color:var(--muted);max-width:680px}.search-suggestions{padding:10px 0 54px}.search-suggestions h2{font-size:30px;margin:0 0 20px}.suggestion-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.suggestion-grid a{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.suggestion-grid a:hover{transform:translateY(-3px);border-color:#c9cae6;box-shadow:0 14px 30px rgba(34,35,43,.06)}.suggestion-grid strong{font-size:18px}.suggestion-grid span{color:var(--muted);font-size:14px}@media(max-width:960px){.suggestion-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.search-form{padding:18px}.search-field{grid-template-columns:1fr}.search-field .button{width:100%}.suggestion-grid{grid-template-columns:1fr}}
/* Additional production states for touch, keyboard, small landscape screens and content density. */
@media (hover:none){.media-card:hover,.list-card:hover,.device-card:hover,.info-grid article:hover,.suggestion-grid a:hover{transform:none;box-shadow:none}.site-nav a:hover{transform:none}.button:hover{transform:none}.collection-row:hover{transform:none}}
@media (pointer:coarse){.site-nav a,.filter-bar a,.chip-row a,.inline-links a{min-height:44px;display:inline-flex;align-items:center}.menu-toggle{min-width:48px;min-height:44px}.faq-item summary{min-height:54px;display:flex;align-items:center}.text-link{padding-block:8px}}
@media (orientation:landscape) and (max-height:520px){.site-header{position:relative}.hero{padding-block:28px}.hero-art{min-height:260px}.hero-art img{min-height:260px}.page-intro{padding-top:28px}.not-found{min-height:auto;padding-block:54px}.filter-bar{position:static}}
@media (min-width:721px) and (max-width:840px){.header-inner{gap:12px}.site-nav{gap:2px}.site-nav a{padding-inline:10px}.brand-copy small{display:none}.media-grid{gap:14px}.media-body{padding:14px}.compact-note{padding:24px}.list-card{grid-template-columns:190px 1fr}}
@media (min-width:1180px){.hero-copy{padding-right:24px}.page-intro p{max-width:820px}.list-card{padding:16px}.list-copy{padding-right:24px}.official-intro .image-panel{min-height:430px}.detail-copy{padding-right:54px}}
.media-card:nth-child(odd) .media-body{background:linear-gradient(180deg,#fff,rgba(247,247,250,.7))}.media-card:nth-child(even) .media-body{background:#fff}.list-stack .list-card:nth-child(even){background:linear-gradient(90deg,#fff,rgba(247,247,250,.82))}.list-stack .list-card:nth-child(odd){background:#fff}.info-grid article:nth-child(1){border-top:3px solid rgba(108,99,255,.7)}.info-grid article:nth-child(2){border-top:3px solid rgba(167,139,250,.7)}.info-grid article:nth-child(3){border-top:3px solid rgba(245,158,91,.7)}.info-grid article:nth-child(4){border-top:3px solid rgba(111,114,128,.5)}
.media-card a,.list-card a,.device-card a,.suggestion-grid a{-webkit-tap-highlight-color:transparent}.poster img,.list-thumb img,.image-panel img,.device-card img,.detail-poster img{background:linear-gradient(135deg,var(--bg2),#ddddea)}.poster img[alt=""],.image-panel img[alt=""]{color:transparent}.page-shell>.compact-note:last-child{margin-bottom:0}.search-results .list-stack{margin-bottom:10px}.search-form button{white-space:nowrap}.search-form input::placeholder{color:#999ca8}.faq-item summary:focus-visible{outline:3px solid rgba(108,99,255,.18);outline-offset:2px;border-radius:10px}.faq-item[open] summary{color:var(--primary)}
@supports not (backdrop-filter:blur(10px)){.site-header,.filter-bar{background:rgba(247,247,250,.98)}}
@supports (text-wrap:balance){.hero-copy h1,.page-intro h1,.detail-copy h1,.section-heading h2,.copy-panel h2,.compact-note h2,.two-column-copy h2{text-wrap:balance}}
@supports (content-visibility:auto){.media-card,.list-card,.device-card,.info-grid article{content-visibility:auto;contain-intrinsic-size:320px}}
/* Fine-grained spacing and reading safeguards for existing page components. */
.hero-copy>p:last-of-type,.page-intro>p:last-of-type,.detail-copy>p:last-of-type{margin-bottom:0}.media-body h3,.list-copy h2,.device-card h2,.info-grid h2{overflow-wrap:anywhere}.collection-row strong,.chip-row a,.tag-line,.media-meta{font-variant-numeric:tabular-nums}.site-footer p,.copy-panel p,.two-column-copy p,.faq-item p,.search-empty p{max-width:68ch}.media-card,.list-card,.device-card,.info-grid article,.faq-item,.search-form{isolation:isolate}.button,.filter-bar a,.site-nav a,.chip-row a,.inline-links a,.text-link{touch-action:manipulation}.poster,.list-thumb,.image-panel,.hero-art,.detail-poster{background-color:var(--bg2)}.media-card h3,.list-copy h2,.detail-copy h1{hyphens:auto}.page-intro+.filter-bar,.page-intro+.device-grid,.page-intro+.search-form{margin-top:8px}.site-nav a[aria-current="page"]{background:var(--bg2);color:var(--text)}
