:root{--ink:#0a0c0f;--paper:#f6f5f1;--white:#fff;--graphite:#20242b;--blue:#168cff;--lime:#caff36;--cyan:#5bd6e5;--orange:#ff7a2f;--muted:#747b86;--line:#d8d9d7;--max:1240px;--reading:72ch}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65}body.admin-bar .masthead{top:32px}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;object-fit:cover}button,input,textarea,select{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;background:var(--lime);padding:.7rem 1rem;z-index:999}.skip-link:focus{top:1rem}.reading-progress{position:fixed;top:0;left:0;height:3px;width:var(--progress,0);background:var(--lime);z-index:1000}.masthead{position:sticky;top:0;z-index:100;background:rgba(10,12,15,.97);color:#fff;border-bottom:1px solid #30343a}.masthead__top{max-width:var(--max);margin:auto;padding:.35rem 1.5rem;display:flex;justify-content:space-between;font-size:.66rem;letter-spacing:.16em;color:#aeb5bf}.masthead__main{max-width:var(--max);margin:auto;min-height:78px;padding:0 1.5rem;display:flex;align-items:center;gap:2rem}.brand{display:inline-flex;align-items:center;gap:.55rem;font-weight:900;font-size:1.65rem;letter-spacing:-.07em;line-height:1}.brand span span{color:var(--blue)}.brand__mark{width:38px;height:38px;color:#fff}.main-nav{display:flex;align-items:center;gap:1.25rem;margin-left:auto;font-size:.82rem;font-weight:750}.main-nav a:hover,.main-nav a:focus{color:var(--lime)}.masthead__actions{display:flex;align-items:center;gap:1rem}.nav-toggle{display:none;background:none;border:1px solid #555;color:#fff;padding:.45rem .7rem}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--blue);color:#fff;border:0;padding:.8rem 1.1rem;font-weight:800;cursor:pointer}.button:hover,.button:focus{background:#0075df;outline:3px solid rgba(22,140,255,.25)}.button--small{font-size:.75rem;padding:.55rem .8rem}.wrap{max-width:var(--max);margin:auto;padding:0 1.5rem}.hero{min-height:670px;background:var(--ink);color:#fff;position:relative;display:grid;place-items:end start;overflow:hidden}.hero__media{position:absolute;inset:0}.hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,12,.95) 0%,rgba(5,8,12,.67) 45%,rgba(5,8,12,.1)),linear-gradient(0deg,rgba(5,8,12,.65),transparent 60%)}.hero__media img{width:100%;height:100%}.hero__copy{position:relative;z-index:1;max-width:900px;padding:clamp(3rem,8vw,7rem) max(1.5rem,calc((100vw - var(--max))/2 + 1.5rem))}.section-kicker{font-size:.7rem!important;letter-spacing:.2em;text-transform:uppercase;font-weight:900;color:var(--blue);margin:0 0 .75rem}.hero h1{font-family:"Arial Black",Inter,sans-serif;font-size:clamp(3rem,6.6vw,6.7rem);line-height:.94;letter-spacing:-.065em;max-width:13ch;margin:.1em 0 .3em}.hero__copy>p:not(.section-kicker){max-width:65ch;color:#d9dde2;font-size:1.12rem}.button-row{display:flex;gap:1.2rem;align-items:center;margin-top:1.6rem}.text-link{font-weight:850;border-bottom:1px solid}.section{padding:5rem 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;border-top:6px solid var(--ink);padding-top:1rem;margin-bottom:2rem}.section-head h2{font-size:clamp(2.5rem,5vw,5rem);line-height:1;letter-spacing:-.055em;margin:0}.section-head>div>p:last-child{max-width:55ch;color:var(--muted)}.section-head>a{font-size:.82rem;font-weight:850;border-bottom:1px solid}.story-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1.3rem}.story{border-top:1px solid var(--ink);padding-top:.65rem}.story--lead{grid-row:span 2}.story img{aspect-ratio:16/10;width:100%;margin-bottom:1rem}.story small,.rail small,.archive-list small{color:var(--blue);font-weight:900;text-transform:uppercase;letter-spacing:.12em}.story h3{font-size:1.45rem;line-height:1.08;letter-spacing:-.035em;margin:.35rem 0}.story--lead h3{font-size:clamp(2.1rem,3.5vw,4rem)}.story p{color:#555}.topic-band{padding:4.5rem 0;background:#fff}.topic-band:nth-of-type(even){background:#101318;color:#fff}.topic-band--diy-maker{background:#f06524!important;color:#111!important}.topic-band--retro-tech{background:#dce5e7!important;color:#111!important}.rail{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem}.rail article{border-top:2px solid currentColor;padding-top:1rem}.rail h3{font-size:1.3rem;line-height:1.15}.rail p{font-size:.9rem;opacity:.78}.breadcrumbs{max-width:var(--max);margin:1.6rem auto;padding:0 1.5rem;display:flex;flex-wrap:wrap;gap:.5rem;color:var(--muted);font-size:.78rem}.breadcrumbs a:hover{text-decoration:underline}.article{max-width:var(--max);margin:auto;padding:1rem 1.5rem 6rem}.article-hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:520px;background:var(--ink);color:#fff;margin-bottom:3rem}.article-hero>div{padding:clamp(2rem,5vw,5rem);align-self:center}.article-hero h1{font-family:"Arial Black",Inter,sans-serif;font-size:clamp(2.5rem,5vw,5.8rem);line-height:.96;letter-spacing:-.06em;margin:.2em 0}.article-hero>img{width:100%;height:100%;min-height:520px}.article-deck{font-size:1.08rem;color:#cfd3d8}.byline{display:flex;gap:.7rem 1.2rem;flex-wrap:wrap;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#aab1ba}.article-layout{display:grid;grid-template-columns:minmax(0,var(--reading)) 300px;justify-content:center;gap:5rem}.article-body{font-family:Georgia,"Times New Roman",serif;font-size:1.12rem}.article-body h2{font-family:Inter,sans-serif;font-size:clamp(1.8rem,3vw,2.75rem);line-height:1.1;letter-spacing:-.04em;margin:2.4em 0 .6em}.article-lede{font-size:1.4rem;line-height:1.55}.key-takeaways{background:#e8f5ff;border-left:5px solid var(--blue);padding:1.4rem 1.8rem;margin:2rem 0}.key-takeaways strong{font-family:Inter,sans-serif;text-transform:uppercase;letter-spacing:.12em}.article-sidebar{font-family:Inter,sans-serif}.side-module{border-top:5px solid var(--ink);padding-top:1rem;margin-bottom:2rem}.side-feature{font-size:1.2rem;font-weight:850;line-height:1.2}.side-feature span{display:block;color:var(--blue);font-size:.78rem;margin-top:.8rem}.side-story{display:block;padding:.85rem 0;border-top:1px solid var(--line)}.side-story small{display:block;color:var(--blue);text-transform:uppercase;font-size:.63rem;font-weight:900}.side-story strong{display:block;line-height:1.25}.newsletter--side{background:var(--ink);color:#fff;padding:1.5rem}.faq{margin-top:4rem;border-top:6px solid var(--ink);padding-top:1.2rem}.faq details{border-top:1px solid var(--line);padding:1rem 0}.faq summary{font-family:Inter,sans-serif;font-weight:850;cursor:pointer}.page-shell{max-width:var(--max);margin:auto;padding:1rem 1.5rem 6rem}.page-hero{background:var(--ink);color:#fff;padding:clamp(2.5rem,7vw,7rem);margin-bottom:3rem}.page-hero h1{font-family:"Arial Black",Inter,sans-serif;font-size:clamp(3rem,7vw,7rem);letter-spacing:-.065em;line-height:.93;margin:.15em 0}.page-hero>p:last-child{font-size:1.2rem;max-width:65ch;color:#c9ced5}.page-content{max-width:var(--reading);margin:auto}.archive-list{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.archive-list article{border-top:3px solid var(--ink);padding-top:1rem}.archive-list h2{line-height:1.1}.newsletter-band{background:var(--lime);padding:4rem max(1.5rem,calc((100vw - var(--max))/2 + 1.5rem));display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end}.newsletter-band h2{font-size:clamp(2.3rem,4vw,4.5rem);line-height:.95;letter-spacing:-.055em;margin:.2em 0}.newsletter-band label{font-weight:800}.newsletter-band form>div{display:flex}.newsletter-band input{width:100%;padding:1rem;border:2px solid var(--ink)}.footer{background:var(--ink);color:#fff;padding:5rem max(1.5rem,calc((100vw - var(--max))/2 + 1.5rem)) 2rem}.footer__lead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #333;padding-bottom:2rem}.footer__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding:3rem 0}.footer__grid strong,.footer__grid a{display:block;margin:.65rem 0}.footer__grid strong{color:var(--blue);font-size:.72rem;letter-spacing:.16em}.footer__grid a{color:#c9ced5}.footer__bottom{display:flex;justify-content:space-between;border-top:1px solid #333;padding-top:1.5rem;color:#858c96;font-size:.75rem}.lost{min-height:65vh;display:grid;place-content:center;text-align:center;padding:4rem 1.5rem;background:var(--ink);color:#fff}.lost h1{font-size:clamp(3rem,8vw,8rem);letter-spacing:-.07em;line-height:.9;margin:.2em auto;max-width:11ch}.lost nav{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}.lost nav a{border-bottom:1px solid}
@media(max-width:980px){.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ink);padding:1.5rem;grid-template-columns:repeat(2,1fr)}.main-nav.is-open{display:grid}.nav-toggle{display:block;margin-left:auto}.masthead__actions .button{display:none}.article-hero{grid-template-columns:1fr}.article-layout{grid-template-columns:1fr}.article-sidebar{position:static}.story-grid{grid-template-columns:1fr 1fr}.story--lead{grid-column:span 2}.rail{grid-template-columns:1fr 1fr}.article-hero>img{min-height:360px}.newsletter-band{grid-template-columns:1fr}}
@media(max-width:620px){body.admin-bar .masthead{top:46px}.masthead__top{display:none}.masthead__main{min-height:64px}.hero{min-height:620px}.hero__copy{padding:3rem 1.2rem}.hero h1{font-size:3.1rem}.story-grid,.rail,.archive-list{grid-template-columns:1fr}.story--lead{grid-column:auto}.article{padding-inline:0}.article-hero{margin:0}.article-hero>div{padding:2rem 1.25rem}.article-hero h1{font-size:2.75rem}.article-hero>img{min-height:280px}.article-layout{padding:2rem 1.25rem}.footer__lead,.footer__bottom{align-items:flex-start;flex-direction:column;gap:1rem}.footer__grid{grid-template-columns:1fr 1fr}.newsletter-band form>div{display:block}.newsletter-band button{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.contact-form{font-family:Inter,sans-serif;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.contact-form label{font-weight:800}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;padding:.8rem;margin-top:.35rem;border:1px solid #aeb3b8;background:#fff}.contact-form textarea,.contact-form .check,.contact-form button{grid-column:1/-1}.contact-form .check input{display:inline;width:auto;margin-right:.5rem}.notice{background:#e2ffd0;border-left:5px solid #66a600;padding:1rem}
@media(max-width:620px){.contact-form{grid-template-columns:1fr}}
.notice--error{background:#ffe8e3;border-left-color:#c83a1b}.hp-field{display:none!important}
.hero h1{font-size:clamp(3.2rem,5.45vw,5.45rem);max-width:16ch}
@media(max-width:620px){.hero h1{font-size:3.1rem;max-width:12ch}}
.page-hero--visual{padding:0;display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden}.page-hero--visual>div{padding:clamp(2.5rem,5vw,5rem);align-self:center}.page-hero--visual>img{width:100%;height:100%;min-height:480px}.page-hero--visual h1{font-size:clamp(2.7rem,5vw,5.5rem)}
@media(max-width:800px){.page-hero--visual{grid-template-columns:1fr}.page-hero--visual>img{min-height:280px;max-height:420px}.page-hero--visual h1{font-size:clamp(2.65rem,10vw,4.3rem)}}

/* ---- Home page redesign (v1.0.1) ---- */
.hero__copy{max-width:none;padding-top:clamp(3rem,7vw,6rem);padding-bottom:clamp(3rem,7vw,6rem);padding-right:1.5rem;padding-left:max(1.5rem,calc((100vw - var(--max))/2 + 1.5rem))}
.hero h1{font-family:"Arial Black",Inter,sans-serif;font-size:clamp(2.1rem,4.4vw,3.8rem);line-height:1.05;letter-spacing:-.035em;max-width:900px;margin:.12em 0 .5em}
.hero__copy>p:not(.section-kicker){max-width:52ch}
@media(max-width:620px){.hero h1{max-width:15ch;font-size:clamp(2rem,9vw,2.8rem)}}

.home-intro{display:grid;grid-template-columns:1.05fr 1fr;gap:3.5rem;align-items:start}
.home-intro__lead h2{font-family:Inter,sans-serif;font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.05;letter-spacing:-.04em;margin:0 0 1.1rem}
.home-intro__lead p{color:#3a3f46;font-size:1.12rem;line-height:1.65;margin:0 0 1rem;max-width:60ch}
.principles{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem}
.principles li{border-top:2px solid var(--ink);padding-top:1rem}
.principles__mark{font-family:Inter,sans-serif;font-weight:900;color:var(--blue);letter-spacing:.1em;font-size:.8rem}
.principles h3{font-family:Inter,sans-serif;font-size:1.35rem;letter-spacing:-.02em;margin:.15rem 0 .35rem}
.principles p{color:#555;margin:0;line-height:1.55}

.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.guide-card{border:1px solid rgba(128,128,128,.35);padding:2rem;display:flex;flex-direction:column;gap:.6rem;background:rgba(255,255,255,.02)}
.guide-card__eyebrow{color:var(--blue);font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;margin:0}
.guide-card h3{font-family:Inter,sans-serif;font-size:1.7rem;line-height:1.1;letter-spacing:-.03em;margin:0}
.guide-card h3 a{color:inherit;text-decoration:none}
.guide-card h3 a:hover{color:var(--blue)}
.guide-card>p{margin:0;line-height:1.6;opacity:.85}
.guide-card .text-link{margin-top:.4rem;align-self:start;color:var(--blue)}

.featured{display:grid;grid-template-columns:1.5fr 1fr;gap:2.6rem;align-items:start}
.featured__lead{display:flex;flex-direction:column}
.featured__media{display:block}
.featured__media img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.featured__body{padding-top:1rem}
.featured__body small,.mini small{color:var(--blue);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}
.featured__body h3{font-family:Inter,sans-serif;font-size:clamp(1.8rem,2.6vw,2.6rem);line-height:1.06;letter-spacing:-.04em;margin:.4rem 0 .6rem}
.featured__body h3 a{color:inherit;text-decoration:none}
.featured__body h3 a:hover{color:var(--blue)}
.featured__body>p{color:#4a4f57;font-size:1.08rem;line-height:1.6;margin:0 0 .9rem;max-width:60ch}
.featured__meta{display:flex;gap:1.2rem;color:var(--muted);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.featured__rest{display:flex;flex-direction:column;gap:1.4rem}
.mini{border-top:2px solid var(--ink);padding-top:1rem}
.mini h4{font-family:Inter,sans-serif;font-size:1.25rem;line-height:1.14;letter-spacing:-.02em;margin:.35rem 0 .4rem}
.mini h4 a{color:inherit;text-decoration:none}
.mini h4 a:hover{color:var(--blue)}
.mini p{color:#666;font-size:.92rem;line-height:1.5;margin:0}

.covers{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.cover{display:flex;flex-direction:column;gap:.5rem;padding:1.6rem;border:1px solid currentColor;text-decoration:none;color:inherit;transition:transform .15s ease,background .15s ease}
.cover:hover{transform:translateY(-3px)}
.topic-band:nth-of-type(even) .cover:hover{background:rgba(255,255,255,.06)}
.topic-band:nth-of-type(odd) .cover:hover{background:rgba(0,0,0,.04)}
.cover h3{font-family:Inter,sans-serif;font-size:1.35rem;letter-spacing:-.02em;margin:0}
.cover p{margin:0;font-size:.93rem;line-height:1.5;opacity:.82;flex:1}
.cover__go{color:var(--blue);font-weight:850;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}

@media(max-width:980px){
 .home-intro{grid-template-columns:1fr;gap:2rem}
 .featured{grid-template-columns:1fr;gap:2rem}
 .covers{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 .guide-grid{grid-template-columns:1fr}
 .covers{grid-template-columns:1fr}
 .guide-card{padding:1.5rem}
}

/* ---- Full-bleed heroes + related/listing thumbnails (v1.0.5) ---- */
#content{overflow-x:clip}
.article-hero,.page-hero,.page-hero--visual{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.article-hero>img,.page-hero--visual>img{object-fit:cover}
/* align hero text with the site container gutter now that the band is full width */
.article-hero>div,.page-hero--visual>div{padding-left:max(1.5rem,calc((100vw - var(--max))/2 + 1.5rem))}
.page-hero:not(.page-hero--visual){padding-left:max(1.5rem,calc((100vw - var(--max))/2 + 1.5rem))}

/* related / recent posts: thumbnail + text row */
.side-story{display:flex;gap:.85rem;align-items:center}
.side-story__thumb{width:92px;height:62px;object-fit:cover;flex:0 0 auto}
.side-story__text{display:block;min-width:0}
.side-story small{display:block;color:var(--blue);text-transform:uppercase;font-size:.63rem;font-weight:900}
.side-story strong{display:block;line-height:1.2;font-size:.98rem}

/* blog listing: thumbnail above each item */
.archive-list article{display:flex;flex-direction:column}
.archive-thumb{display:block;margin-bottom:.9rem}
.archive-thumb img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}

/* ---- Image heroes: full-width image with overlaid text (v1.0.6) ---- */
.article-hero,.page-hero--visual{position:relative;display:grid;place-items:center start;grid-template-columns:none;overflow:hidden}
.article-hero>img,.page-hero--visual>img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;min-height:100%}
.article-hero:before,.page-hero--visual:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,9,13,.92),rgba(6,9,13,.74) 42%,rgba(6,9,13,.4) 70%,rgba(6,9,13,.18)),linear-gradient(0deg,rgba(6,9,13,.6),transparent 55%)}
.article-hero>div,.page-hero--visual>div{position:relative;z-index:2;max-width:900px;color:#fff}
.article-hero{min-height:560px}
.page-hero--visual{min-height:460px}

/* ---- Article/category hero: spread the headline horizontally (v1.0.7) ---- */
.article-hero>div,.page-hero--visual>div{max-width:none;padding-right:1.5rem}
.article-hero h1,.page-hero--visual h1{font-size:clamp(2.2rem,4.6vw,4.2rem);line-height:1.05;letter-spacing:-.04em;max-width:900px}
.article-hero .article-deck,.page-hero--visual>div>p{max-width:60ch}
@media(max-width:620px){
 .article-hero h1,.page-hero--visual h1{max-width:15ch;font-size:clamp(2rem,8vw,2.7rem)}
}
