/*
Theme Name: Barkman Electric Labs
Theme URI: https://barkmanelectric.com
Author: Barkman Electric Labs
Description: Custom WordPress and WooCommerce theme for Barkman Electric Labs.
 Version: 0.1.4
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 8.0
Text Domain: barkman-electric
*/

:root{
  --bg:#F5F0E6;
  --bg2:#ECE5D3;
  --ink:#23262A;
  --muted:#5C6068;
  --line:rgba(35,38,42,0.14);
  --grid:rgba(35,38,42,0.05);
  --gold:#D7A43A;
  --gold-deep:#B9882A;
  --blue:#80A2C7;
  --panel:#23262A;
  --panel-deep:#1B1E23;
  --topbar:rgba(245,240,230,0.88);
  --tee-line:#23262A;
  --shadow:0 18px 50px -18px rgba(35,38,42,0.35);
}

[data-theme="dark"]{
  --bg:#16191E;
  --bg2:#1D2127;
  --ink:#F2ECE0;
  --muted:#A9A294;
  --line:rgba(242,236,224,0.16);
  --grid:rgba(242,236,224,0.045);
  --gold:#E5B045;
  --gold-deep:#D29D31;
  --panel:#101318;
  --panel-deep:#0B0D11;
  --topbar:rgba(22,25,30,0.86);
  --tee-line:#F2ECE0;
  --shadow:0 18px 50px -18px rgba(0,0,0,0.6);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Archivo',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  transition:background .35s ease,color .35s ease;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(var(--grid) 1px,transparent 1px) 0 0/100% 32px,
    linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/32px 100%;
}
img,svg,iframe{max-width:100%}
img{height:auto}
a{color:inherit}
::selection{background:var(--gold);color:#16191E}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}

.screen-reader-text{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.screen-reader-text:focus{
  width:auto;
  height:auto;
  clip:auto;
  z-index:1000;
  top:12px;
  left:12px;
  padding:10px 14px;
  background:var(--panel);
  color:#F5F0E6;
}

.wrap{max-width:1080px;margin:0 auto;padding:0 28px}
.display{font-family:'Archivo Black',sans-serif;letter-spacing:0;line-height:.98}
.eyebrow{
  font-family:'Space Mono',monospace;
  font-size:.72rem;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:var(--gold-deep);
}
.alignwide{max-width:1240px;margin-left:auto;margin-right:auto}
.alignfull{width:100vw;margin-left:calc(50% - 50vw)}

/* Header */
.topbar{
  position:sticky;
  top:0;
  z-index:40;
  background:var(--topbar);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.admin-bar .topbar{top:32px}
.topbar .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:68px;
  gap:18px;
}
.brandmark{
  display:flex;
  align-items:center;
  gap:11px;
  color:var(--ink);
  text-decoration:none;
  min-width:0;
}
.brandmark img{width:42px;height:42px;object-fit:contain;flex:0 0 auto}
.brandmark b{
  font-family:'Archivo Black',sans-serif;
  font-size:1.08rem;
  letter-spacing:.02em;
  white-space:nowrap;
}
.site-nav{margin-left:auto}
.primary-menu{
  display:flex;
  align-items:center;
  gap:28px;
  list-style:none;
}
.primary-menu a{
  font-family:'Space Mono',monospace;
  color:var(--muted);
  text-decoration:none;
  font-size:.9rem;
  transition:color .2s;
}
.primary-menu a:hover{color:var(--gold-deep)}
.menu-toggle{
  display:none;
  width:44px;
  height:44px;
  border:2px solid var(--ink);
  border-radius:4px;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  flex:0 0 auto;
}
.menu-toggle > span:not(.screen-reader-text){
  width:20px;
  height:2px;
  background:currentColor;
  border-radius:2px;
  transition:transform .2s ease,opacity .2s ease;
}
.menu-open .menu-toggle > span:nth-of-type(2){transform:translateY(7px) rotate(45deg)}
.menu-open .menu-toggle > span:nth-of-type(3){opacity:0}
.menu-open .menu-toggle > span:nth-of-type(4){transform:translateY(-7px) rotate(-45deg)}
.breaker{
  display:flex;
  align-items:center;
  gap:12px;
  background:transparent;
  border:0;
  cursor:pointer;
  color:var(--ink);
  flex:0 0 auto;
}
.breaker .sw{
  width:28px;
  height:50px;
  border:2px solid var(--ink);
  border-radius:8px;
  padding:4px;
  display:block;
}
.breaker .sw i{
  display:block;
  width:100%;
  height:18px;
  border-radius:5px;
  background:var(--gold);
  position:relative;
  top:3px;
  transition:top .22s cubic-bezier(.5,1.6,.4,1);
}
[data-theme="dark"] .breaker .sw i{top:19px}
.breaker .lbl{
  font-family:'Space Mono',monospace;
  font-size:.68rem;
  letter-spacing:.24em;
  display:grid;
  text-align:left;
}
.breaker .lbl b{font-family:'Archivo Black',sans-serif;font-size:.78rem;letter-spacing:.08em}
.breaker.zap .sw{box-shadow:0 0 0 6px rgba(215,164,58,.18)}

/* Hero */
.hero{
  position:relative;
  padding:52px 0 48px;
  overflow:hidden;
}
.hero .wrap{max-width:1240px}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(430px,1.05fr);
  grid-template-areas:"copy art";
  gap:32px;
  align-items:center;
  min-height:560px;
}
.hero-copy{grid-area:copy;text-align:left;min-width:0}
.hero-copy .eyebrow{display:block;margin-bottom:18px}
.hero-copy h1{font-size:3.95rem;margin-bottom:20px}
.hero h1 .spark{color:var(--gold)}
.hero-copy p.lede{
  max-width:37ch;
  margin:0 0 32px;
  font-size:1.08rem;
  color:var(--muted);
}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.btn,
.button,
button.button,
input[type="submit"]{
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:14px 22px;
  border:2px solid var(--ink);
  border-radius:3px;
  font-weight:700;
  color:var(--ink);
  text-decoration:none;
  background:transparent;
  line-height:1.1;
  cursor:pointer;
  transition:transform .15s,background .2s,color .2s,border-color .2s;
}
.btn:hover,
.button:hover,
button.button:hover,
input[type="submit"]:hover{transform:translateY(-1px)}
.btn-primary,
.button,
button.button,
input[type="submit"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.btn-primary:hover,
.button:hover,
button.button:hover,
input[type="submit"]:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:#16191E}
.btn-ghost:hover{background:rgba(35,38,42,.06)}
.arw{transition:transform .2s}
.btn:hover .arw{transform:translateX(3px)}
.hero-art{
  grid-area:art;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}
.hero-art img{
  width:min(560px,100%);
  display:block;
  filter:drop-shadow(0 18px 36px rgba(0,0,0,.14));
  transition:transform .5s ease,filter .5s ease;
}
.hero-art:hover img{
  transform:rotate(-1.5deg) scale(1.03);
  filter:drop-shadow(0 26px 50px rgba(0,0,0,.2));
}
.hero-wire{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--line)}

.specstrip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.specstrip .wrap{
  min-height:54px;
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
  font-family:'Space Mono',monospace;
  font-size:.78rem;
  letter-spacing:.18em;
  color:var(--muted);
}
.led{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px var(--gold);animation:pulse 2.2s infinite}
@keyframes pulse{50%{opacity:.35;box-shadow:0 0 2px var(--gold)}}

section.block{padding:88px 0;position:relative}
.sec-head{display:flex;align-items:flex-start;gap:18px;margin-top:12px}
.sec-head .num{
  font-family:'Space Mono',monospace;
  color:var(--gold-deep);
  font-size:.82rem;
}
.sec-head h2{font-size:clamp(2.4rem,6vw,5rem);max-width:760px}

/* Lineage */
.lineage{background:var(--panel);color:#F5F0E6;transition:background .35s ease}
.lineage .wrap{max-width:1320px}
.lineage-layout{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(380px,.78fr);
  gap:clamp(40px,5.5vw,82px);
  align-items:start;
}
.lineage-main{min-width:0}
.lineage .sec-head h2{color:#F5F0E6}
.lineage .eyebrow{color:var(--gold)}
.lineage p.intro{max-width:48ch;color:rgba(245,240,230,.74);margin-bottom:54px}
.lineage-mark{
  align-self:stretch;
  display:flex;
  justify-content:center;
  pointer-events:none;
}
.lineage-mark-inner{
  position:sticky;
  top:clamp(92px,11vh,132px);
  align-self:flex-start;
  display:flex;
  justify-content:center;
  width:100%;
  padding-top:8px;
}
.lineage-mark img{
  width:clamp(410px,38vw,560px);
  max-width:100%;
  height:auto;
  display:block;
  filter:drop-shadow(0 28px 52px rgba(0,0,0,.34));
}
.circuit{position:relative;display:grid;grid-template-columns:1fr;gap:0}
.circuit::before{
  content:"";
  position:absolute;
  left:23px;
  top:14px;
  bottom:14px;
  width:3px;
  background:rgba(245,240,230,.16);
  border-radius:3px;
}
.wire-fill{
  position:absolute;
  left:23px;
  top:14px;
  width:3px;
  height:0;
  border-radius:3px;
  background:var(--gold);
  box-shadow:0 0 12px rgba(210,157,49,.7);
  transition:height .18s linear;
}
.node{position:relative;padding:0 0 42px 72px;max-width:660px}
.node .dot{
  position:absolute;
  left:0;
  top:0;
  width:49px;
  height:49px;
  border-radius:50%;
  background:var(--panel);
  border:3px solid rgba(245,240,230,.2);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
}
.node .dot::after{
  content:"";
  width:15px;
  height:15px;
  border-radius:50%;
  background:var(--gold);
}
.node .role{
  font-family:'Space Mono',monospace;
  font-size:.74rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:5px;
}
.node h3{font-size:1.95rem;margin-bottom:10px;color:#F5F0E6}
.node p{color:rgba(245,240,230,.7)}
.node .aside{
  margin-top:14px;
  padding:13px 16px;
  border-left:2px solid var(--gold);
  color:rgba(245,240,230,.86);
  background:rgba(255,255,255,.045);
}
.node .who{
  font-family:'Space Mono',monospace;
  font-size:.76rem;
  color:rgba(245,240,230,.42);
  margin-top:14px;
}

/* Watch */
.watch .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;align-items:center}
.watch .copy p{color:var(--muted);max-width:42ch;margin:16px 0 24px}
.bench{display:flex;gap:8px;flex-wrap:wrap}
.bench span{
  font-family:'Space Mono',monospace;
  font-size:.7rem;
  padding:6px 9px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.22);
}
.bench span b{color:var(--gold-deep);font-weight:700}
.watch-stack{display:grid;gap:18px}
.yt-card,
.post-card{
  background:#fff;
  color:#23262A;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  text-decoration:none;
  padding:24px;
  position:relative;
  overflow:hidden;
  display:block;
  transition:transform .25s ease,box-shadow .25s ease;
}
[data-theme="dark"] .yt-card,
[data-theme="dark"] .post-card{background:#F2ECE0;color:#23262A}
.yt-card:hover,
.post-card:hover{transform:translateY(-4px)}
.watch-media,
.post-card .media{
  aspect-ratio:16/9;
  background:var(--panel);
  margin:-24px -24px 20px;
  overflow:hidden;
}
.watch-media iframe,
.post-card iframe,
.post-card img,
.watch-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border:0;
}
.play{
  width:62px;
  height:62px;
  border-radius:50%;
  background:var(--gold);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:20px;
  box-shadow:0 0 0 8px rgba(210,157,49,.16);
}
.play::before{
  content:"";
  margin-left:4px;
  border-top:12px solid transparent;
  border-bottom:12px solid transparent;
  border-left:18px solid #16191E;
}
.yt-card h3,
.yt-card h4,
.post-card h2,
.post-card h3{
  font-family:'Archivo Black',sans-serif;
  font-size:1.3rem;
  line-height:1.08;
  margin-bottom:8px;
}
.yt-card h3 a,
.yt-card h4 a,
.post-card h2 a,
.post-card h3 a{
  color:inherit;
  text-decoration:none;
}
.yt-card .meta,
.post-card .meta{
  font-family:'Space Mono',monospace;
  font-size:.76rem;
  color:var(--muted);
}
.watch-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:16px;
}
.watch-list .post-card{padding:18px}
.watch-list .post-card .media{margin:-18px -18px 16px}

/* Merch */
.merch{background:var(--bg2);transition:background .35s ease}
.merch .grid{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:center;margin-top:34px}
.product-stage{
  min-height:360px;
  background:rgba(255,255,255,.32);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:34px;
}
.product-stage img{max-height:420px;object-fit:contain}
.placeholder-product{
  width:min(360px,100%);
  aspect-ratio:1;
  border:3px solid var(--tee-line);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-family:'Archivo Black',sans-serif;
  font-size:2rem;
  color:var(--tee-line);
  background:var(--bg);
}
.merch .info .tag{
  font-family:'Space Mono',monospace;
  font-size:.74rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold-deep);
}
.merch .info h3{font-family:'Archivo Black',sans-serif;font-size:1.9rem;margin:8px 0 14px;line-height:1.05}
.merch .info p{color:var(--muted);max-width:42ch;margin-bottom:22px}
.price{
  font-weight:800;
  font-size:1.65rem;
  margin:0 0 20px;
}
.price small{
  font-family:'Space Mono',monospace;
  font-size:.72rem;
  color:var(--muted);
  display:block;
  font-weight:400;
}
.stamp{
  font-family:'Space Mono',monospace;
  font-size:.66rem;
  letter-spacing:.1em;
  border:1.5px solid var(--gold-deep);
  color:var(--gold-deep);
  padding:5px 10px;
  border-radius:2px;
  transform:rotate(-3deg);
  display:inline-flex;
}

/* Blog and content */
.site-main{min-height:55vh}
.page-hero,
.archive-hero{
  padding:72px 0 38px;
}
.page-hero h1,
.archive-hero h1,
.entry-title{
  font-family:'Archivo Black',sans-serif;
  line-height:.98;
  font-size:clamp(2.6rem,7vw,5.6rem);
  max-width:980px;
}
.archive-hero p,
.page-hero p{max-width:54ch;color:var(--muted);margin-top:18px}
.post-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  padding-bottom:88px;
}
.post-card .excerpt{color:var(--muted);margin-top:10px}
.post-card .read-more{
  display:inline-flex;
  margin-top:16px;
  font-weight:800;
  color:var(--gold-deep);
}
.entry-shell{padding:72px 0 88px}
.entry-wrap{max-width:1080px}
.entry-header{max-width:920px;margin:0 auto 34px}
.entry-meta{
  font-family:'Space Mono',monospace;
  font-size:.8rem;
  color:var(--gold-deep);
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.entry-media{
  max-width:1040px;
  margin:0 auto 38px;
  background:var(--panel);
  box-shadow:var(--shadow);
}
.entry-media img,
.entry-media iframe{
  width:100%;
  aspect-ratio:16/9;
  display:block;
  object-fit:cover;
  border:0;
}
.entry-content{
  max-width:760px;
  margin:0 auto;
  font-size:1.08rem;
}
.entry-content > * + *{margin-top:1.15em}
.entry-content h2,
.entry-content h3{
  font-family:'Archivo Black',sans-serif;
  line-height:1.05;
  margin-top:1.8em;
}
.entry-content p,
.entry-content li{color:var(--muted)}
.entry-content ul,
.entry-content ol{padding-left:1.4em}
.entry-content blockquote{
  border-left:3px solid var(--gold);
  padding-left:18px;
  color:var(--ink);
  font-weight:700;
}
.nav-links{
  max-width:760px;
  margin:44px auto 0;
  display:flex;
  justify-content:space-between;
  gap:20px;
}
.nav-links a{font-weight:800;text-decoration:none;color:var(--gold-deep)}
.entry-nav-wrap{padding-bottom:88px}
.entry-nav-wrap .navigation{max-width:760px;margin:0 auto}
.entry-nav-wrap .nav-links{
  max-width:none;
  margin:0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:18px;
}
.entry-nav-wrap .nav-links > div{min-width:0}
.entry-nav-wrap .nav-next{text-align:right}
.entry-nav-wrap .nav-links a{
  display:block;
  min-height:116px;
  padding:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.28);
  box-shadow:0 14px 34px -24px rgba(35,38,42,.45);
  color:var(--ink);
}
.entry-nav-wrap .nav-direction{
  display:block;
  margin-bottom:10px;
  font-family:'Space Mono',monospace;
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold-deep);
}
.entry-nav-wrap .nav-title{
  display:block;
  font-family:'Archivo Black',sans-serif;
  font-size:1.05rem;
  line-height:1.12;
}
.pagination{padding:10px 0 80px}
.pagination .nav-links{margin-top:0}
.search-form{
  display:flex;
  gap:10px;
  max-width:560px;
  margin:24px 0 80px;
}
.search-field,
.entry-content input:not([type="submit"]),
.entry-content textarea{
  width:100%;
  min-height:52px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.34);
  color:var(--ink);
  padding:12px 14px;
  font:inherit;
}
.search-submit{min-width:120px}

/* WooCommerce */
.wc-shell{padding:72px 0 88px}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{margin-bottom:24px}
.woocommerce .woocommerce-ordering select{
  min-height:44px;
  border:1px solid var(--line);
  background:var(--bg);
  color:var(--ink);
  padding:8px 12px;
}
.woocommerce ul.products{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  list-style:none;
  margin:28px 0 0;
  padding:0;
}
.woocommerce ul.products li.product{
  width:auto !important;
  margin:0 !important;
  float:none !important;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  padding:18px;
  color:#23262A;
}
.woocommerce ul.products li.product a{text-decoration:none;color:inherit}
.woocommerce ul.products li.product img{
  width:100%;
  aspect-ratio:1;
  object-fit:cover;
  margin:0 0 16px;
}
.woocommerce-loop-product__title{
  font-family:'Archivo Black',sans-serif;
  font-size:1.15rem !important;
  line-height:1.1;
  padding:0 !important;
}
.woocommerce ul.products li.product .price{
  color:var(--gold-deep);
  font-size:1.15rem;
  margin:10px 0 14px;
}
.woocommerce span.onsale{
  background:var(--gold) !important;
  color:#16191E !important;
  border-radius:2px !important;
  font-family:'Space Mono',monospace;
  min-height:auto !important;
  line-height:1 !important;
  padding:7px 9px !important;
}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  background:var(--ink);
  color:var(--bg);
  border:2px solid var(--ink);
  border-radius:3px;
  padding:14px 18px;
  font-weight:800;
  line-height:1;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{
  background:var(--gold-deep);
  color:#16191E;
  border-color:var(--gold-deep);
}
.woocommerce div.product{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);
  gap:48px;
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary{
  float:none !important;
  width:auto !important;
}
.woocommerce div.product .product_title{
  font-family:'Archivo Black',sans-serif;
  font-size:clamp(2.2rem,5vw,4.5rem);
  line-height:1;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{color:var(--gold-deep);font-size:1.6rem}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border-top-color:var(--gold) !important;
  background:rgba(255,255,255,.42);
  color:var(--ink);
}

/* Footer */
.site-footer{background:var(--panel-deep);color:#F5F0E6;padding:60px 0 40px;transition:background .35s ease}
.site-footer .top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap;margin-bottom:40px}
.site-footer .glyph{width:96px;height:auto;margin-bottom:14px}
.site-footer .blurb{max-width:30ch;color:rgba(245,240,230,.6);font-size:.92rem}
.site-footer .cols{display:flex;gap:54px;flex-wrap:wrap}
.site-footer .footer-menu{list-style:none;margin:0;padding:0}
.site-footer .col h5{
  font-family:'Space Mono',monospace;
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:14px;
}
.site-footer .col a{
  display:block;
  text-decoration:none;
  color:rgba(245,240,230,.78);
  font-size:.92rem;
  margin-bottom:9px;
  transition:color .2s;
}
.site-footer .col a:hover{color:var(--gold)}
.site-footer .base{
  border-top:1px solid rgba(245,240,230,.14);
  padding-top:22px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  font-family:'Space Mono',monospace;
  font-size:.74rem;
  color:rgba(245,240,230,.45);
}
.site-footer .base span{display:inline-flex;align-items:center}
.kilroy{position:relative;cursor:default}
.kilroy svg{width:46px;height:16px;opacity:.55;transition:opacity .3s}
.kilroy:hover svg{opacity:1}
.kilroy em{
  position:absolute;
  left:50%;
  bottom:130%;
  transform:translateX(-50%);
  white-space:nowrap;
  font-style:normal;
  font-size:.64rem;
  letter-spacing:.12em;
  color:var(--gold);
  opacity:0;
  transition:opacity .3s;
  pointer-events:none;
}
.kilroy:hover em{opacity:1}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

@media(max-width:1100px){
  .lineage-layout{grid-template-columns:minmax(0,1fr) minmax(330px,.7fr);gap:36px}
  .lineage-mark img{width:clamp(340px,34vw,460px)}
}
@media(max-width:980px){
  .hero{padding-top:44px;padding-bottom:44px}
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:26px}
  .hero-copy h1{font-size:3.3rem}
  .hero-art img{max-width:360px}
  .post-grid,
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:880px){
  .lineage-layout{grid-template-columns:1fr;gap:34px}
  .lineage-mark{justify-content:center;min-height:0;order:-1}
  .lineage-mark-inner{position:relative;top:auto;justify-content:center}
  .lineage-mark img{width:min(340px,86vw)}
}
@media(max-width:780px){
  .topbar .wrap{position:relative;height:64px;min-height:64px;padding-top:8px;padding-bottom:8px}
  .brandmark b{display:none}
  .menu-toggle{display:inline-flex;margin-left:auto}
  .site-nav{
    position:absolute;
    top:calc(100% + 10px);
    left:18px;
    right:18px;
    margin-left:0;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
    z-index:60;
  }
  .site-nav.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .primary-menu{
    display:grid;
    gap:0;
    padding:8px;
    background:var(--bg);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
  }
  .primary-menu a{
    display:block;
    padding:13px 14px;
    font-size:.9rem;
    color:var(--ink);
  }
  .primary-menu li + li a{border-top:1px solid var(--line)}
  .hero{padding-top:30px;padding-bottom:38px}
  .hero-grid{grid-template-columns:1fr;grid-template-areas:"art" "copy";gap:22px;min-height:0}
  .hero-art{justify-content:center}
  .hero-art img{width:min(260px,68vw);max-width:none}
  .hero-copy h1{font-size:3.05rem;line-height:1}
  .hero-copy p.lede{max-width:100%;font-size:1rem;margin-bottom:24px}
  .watch .wrap,
  .merch .grid,
  .woocommerce div.product{grid-template-columns:1fr;gap:24px}
  .watch-list{grid-template-columns:1fr}
  .post-grid{grid-template-columns:1fr}
  .entry-shell{padding:54px 0 72px}
  .entry-title{font-size:clamp(2.3rem,10vw,3.2rem);line-height:1.02}
  .entry-meta{font-size:.7rem;letter-spacing:.16em;line-height:1.8}
  .entry-content{font-size:1.02rem;line-height:1.72}
  .entry-nav-wrap{padding-bottom:72px}
  .entry-nav-wrap .nav-links{grid-template-columns:1fr}
  .entry-nav-wrap .nav-next{text-align:left}
  .entry-nav-wrap .nav-links a{min-height:auto;padding:17px 18px}
}
@media(max-width:600px){
  .admin-bar .topbar{top:0}
  .breaker .lbl{display:none}
  .woocommerce ul.products{grid-template-columns:1fr}
}
@media(max-width:480px){
  .wrap{padding:0 18px}
  .wrap.entry-wrap,
  .wrap.entry-nav-wrap{padding-left:22px;padding-right:22px}
  .hero-copy .eyebrow{font-size:.66rem;letter-spacing:.24em}
  .hero-copy h1{font-size:2.35rem}
  .hero-copy p.lede{font-size:.95rem;line-height:1.55;margin-bottom:20px}
  .hero-actions .btn{width:100%}
  .specstrip .wrap{gap:12px;font-size:.62rem;letter-spacing:.08em}
  .specstrip .chip{width:100%}
  section.block{padding:68px 0}
  .sec-head{display:block}
  .sec-head .num{display:block;margin-bottom:10px}
  .node{padding-left:58px}
  .circuit::before,
  .wire-fill{left:18px}
  .node .dot{width:39px;height:39px}
  .entry-shell{padding-top:48px}
  .entry-title{font-size:2.25rem}
  .entry-header{margin-bottom:28px}
  .site-footer .base{flex-direction:column;align-items:flex-start}
}
@media(max-width:380px){
  .hero{padding-top:24px;padding-bottom:30px}
  .hero-grid{gap:18px}
  .hero-copy .eyebrow{font-size:.62rem;letter-spacing:.2em;margin-bottom:14px}
  .hero-copy h1{font-size:1.85rem;line-height:1.02;margin-bottom:16px}
  .hero-art img{width:min(200px,64vw)}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto !important;animation:none !important}
  .reveal{opacity:1;transform:none;transition:none}
  .wire-fill{transition:none}
  .hero-art:hover img{transform:none}
}
