:root{color-scheme:dark;--background:#0a131e;--surface:#141f2d;--surface-raised:#1b293a;--line:#35465c;--text:#f3f6fb;--muted:#b7c6d9;--accent:#85cfff;--ink:#0a131e;color:var(--text);background:var(--background);font-family:system-ui,sans-serif}*,:before,:after{box-sizing:border-box}body{flex-direction:column;min-height:100vh;margin:0;display:flex}main{flex:1}img{max-width:100%;display:block}a{color:var(--accent);text-underline-offset:.2em}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}p{margin:0 0 1rem;line-height:1.65}h1,h2,h3{letter-spacing:-.035em;overflow-wrap:break-word;margin:0;line-height:1.1}h1{font-size:clamp(2.6rem,7vw,5.5rem)}h2{font-size:clamp(1.7rem,4vw,3rem)}h3{font-size:1.22rem;line-height:1.25}.frame{width:min(100% - 3rem,75rem);margin-inline:auto}.skip-link{z-index:2;background:var(--surface);padding:.75rem;position:absolute;inset:0 auto auto 1rem;transform:translateY(-110%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--line)}.header-inner,.footer-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:4.5rem;display:flex}.brand{display:block}.brand img{width:clamp(8.5rem,22vw,11rem);height:auto}nav{flex-wrap:wrap;align-items:center;gap:.3rem .75rem;display:flex}nav a{color:var(--muted);font-weight:600;text-decoration:none}nav a:hover,nav a[aria-current=page]{color:var(--text);text-decoration:underline}.site-header nav a{padding:.5rem .25rem}.site-footer{color:var(--muted);border-top:1px solid var(--line)}.site-footer nav{font-size:.85rem}.hero{padding-block:clamp(4rem,10vw,8rem)}.hero h1{margin:.6rem 0 1rem}.hero p{max-width:40rem;color:var(--muted);font-size:clamp(1.2rem,2.3vw,1.5rem)}.eyebrow{color:var(--accent);letter-spacing:.11em;text-transform:uppercase;font-size:.78rem;font-weight:700;display:inline-block}.button{color:var(--ink);background:var(--accent);border-radius:.4rem;align-items:center;gap:.6rem;margin-top:.8rem;padding:.75rem 1rem;font-weight:750;text-decoration:none;display:inline-flex}.button:hover{background:#b1e2ff}.section{padding-block:3rem 4rem}.page-section{padding-block-start:clamp(3rem,7vw,5.5rem)}.section-heading{margin-bottom:1.6rem}.section-heading h1,.section-heading h2{margin-top:.35rem}.section-heading p{max-width:40rem;color:var(--muted);margin-top:.75rem}.post-grid,.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.post-card a,.gallery-grid a{height:100%;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:.55rem;text-decoration:none;display:block;overflow:hidden}.post-card a:hover,.gallery-grid a:hover{background:var(--surface-raised);border-color:var(--accent)}.post-card img{aspect-ratio:16/9;object-fit:cover;width:100%}.card-copy{padding:1.1rem}.card-copy h3{margin-top:.45rem}.tools-band{background:var(--surface);border-top:1px solid var(--line)}.tool-grid,.gallery-grid{margin:0;padding:0;list-style:none}.tool-grid{grid-template-columns:repeat(auto-fit,minmax(9.3rem,1fr));gap:.65rem;display:grid}.tool-grid li{border:1px solid var(--line);border-radius:.45rem;align-items:center;gap:.65rem;min-height:3.6rem;padding:.6rem;display:flex}.tool-grid img{object-fit:contain}.term-list{flex-wrap:wrap;gap:.5rem;margin-bottom:1.4rem;display:flex}.term-list a{color:var(--accent);border:1px solid var(--line);border-radius:.3rem;padding:.3rem .6rem;text-decoration:none;display:inline-block}.term-list a:hover{border-color:var(--accent)}.back-link{margin-bottom:1.3rem;display:inline-block}.article-page{padding-block:clamp(2.5rem,6vw,4.5rem)}.article-header,.prose,.article-tags{max-width:47rem;margin-inline:auto}.article-header h1{font-size:clamp(2rem,6vw,3.75rem)}.article-header time{color:var(--muted);margin-top:1.1rem;display:block}.article-cover{aspect-ratio:2.25;object-fit:cover;border-radius:.6rem;width:100%;max-width:64rem;margin:2rem auto}.prose{font-size:1.07rem;line-height:1.7}.prose h2{margin:2.2rem 0 .85rem;font-size:clamp(1.55rem,4vw,2.2rem)}.prose h3{margin:1.5rem 0 .6rem}.prose li{margin-bottom:.45rem}.prose img{border:1px solid var(--line);border-radius:.4rem;width:100%;height:auto;margin:1rem 0}.article-tags{margin-top:2rem}.gallery-group{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:2rem}.gallery-grid img{aspect-ratio:16/10;object-fit:contain;background:#e8edf5;width:100%}.gallery-grid a span{padding:.65rem .85rem;display:block}.lightbox{border:1px solid var(--line);width:min(94vw,72rem);max-height:94vh;color:var(--text);background:var(--surface);border-radius:.55rem;margin:auto;padding:1rem}.lightbox::backdrop{background:#040b14dc}.lightbox img{object-fit:contain;max-height:68vh;margin-inline:auto}.lightbox-toolbar{justify-content:space-between;align-items:center;gap:.6rem;padding:.45rem 0;display:flex}.lightbox-toolbar p{margin:0}.lightbox button{color:var(--text);background:var(--surface-raised);border:1px solid var(--line);font:inherit;cursor:pointer;border-radius:.3rem;padding:.45rem .7rem}.lightbox button:hover{border-color:var(--accent)}@media (width>=62rem){.featured .post-card:first-child{grid-area:span 2/span 2}.featured .post-card:first-child img{aspect-ratio:16/10}.featured .post-card:first-child h3{font-size:clamp(1.7rem,3vw,2.5rem)}}@media (width<=62rem){.post-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=35rem){.frame{width:calc(100% - 1.75rem)}.post-grid,.gallery-grid{grid-template-columns:1fr}.header-inner{flex-wrap:wrap;gap:.1rem .5rem;padding-block:.5rem}.site-header nav{font-size:.88rem}}.comparison{margin:1.5rem 0}.comparison-images img{margin:.5rem 0}.comparison.interactive .comparison-images{display:grid}.comparison.interactive img{object-fit:contain;grid-area:1/1;height:100%;margin:0}.comparison.interactive img:first-child{z-index:1;clip-path:inset(0 calc(100% - var(--reveal,50%)) 0 0);background:var(--surface)}.comparison label:not([hidden]){justify-content:center;align-items:center;gap:.75rem;margin-top:.6rem;display:flex}.comparison input{width:min(60%,20rem);accent-color:var(--accent)}.comparison figcaption{color:var(--muted);text-align:center;margin-top:.45rem;font-size:.9rem}
