:root{
  --void:#060B0D;
  --panel:#0D1817;
  --panel-2:#0A1312;
  --ink:#DCE8E8;
  --mute:#6E8888;
  --line:#1B302E;
  --teald:#243C3C;
  --teal:#3C6C6C;
  --ice:#6CB4B4;
  --comet:#B1DAE3;
  --maxw:1000px;
  --disp:var(--gh-font-heading,'Saira Condensed'),system-ui,sans-serif;
  --body:var(--gh-font-body,'Newsreader'),Georgia,serif;
  --mono:'Space Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--void);color:var(--ink);
  font-family:var(--body);font-size:17px;line-height:1.6;
  background-image:
    radial-gradient(1100px 560px at 66% -8%, rgba(108,180,180,.10) 0%, transparent 60%),
    repeating-linear-gradient(115deg, rgba(177,218,227,.015) 0 2px, transparent 2px 22px);
}
a{color:var(--ice);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
a:focus-visible{outline:2px solid var(--ice);outline-offset:2px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.kick{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.kick a{color:inherit}
img{max-width:100%}

/* top utility bar */
.util{border-bottom:1px solid var(--line);background:var(--panel-2)}
.util .wrap{display:flex;align-items:center;justify-content:space-between;height:38px}
.util .brandline{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--mute);text-transform:uppercase}
.util .brandline b{color:var(--ink)}
nav.top ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}
nav.top a{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
nav.top a:hover{color:var(--ice);text-decoration:none}
nav.top .nav-current a{color:var(--ice)}
.nav-toggle{display:none;background:none;border:1px solid var(--teald);color:var(--ice);
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  padding:5px 12px;border-radius:2px;cursor:pointer}
.nav-toggle:hover{border-color:var(--ice)}
.brandline a{color:var(--ice)}
.context a{color:var(--ice)}
footer .flinks .h a{color:var(--ice)}

/* masthead — centered nameplate */
.mast{padding:34px 0 26px;border-bottom:1px solid var(--line);text-align:center}
.mast .logo-img{display:block;width:min(48%,380px);height:auto;margin:0 auto;
  filter:drop-shadow(0 0 40px rgba(108,180,180,.18))}
.mast .logo-text{font-family:var(--disp);font-style:italic;font-weight:800;font-size:clamp(64px,13vw,140px);line-height:.85;color:var(--ink)}
.lockup{margin:10px 0 0}
.context{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--mute)}
.tagline{font-family:var(--disp);font-style:italic;font-weight:700;font-size:22px;letter-spacing:.06em;color:var(--ink);margin-top:6px}
@media(max-width:520px){ .context{font-size:10px;letter-spacing:.1em} }

/* homepage grid */
.grid{display:grid;grid-template-columns:1fr 320px;gap:38px;padding:40px 0}

.lead{margin:0 0 34px;display:block}
.shot{position:relative;display:block;aspect-ratio:16/9;border:1px solid var(--teald);border-radius:2px;overflow:hidden;
  background:
    radial-gradient(120% 140% at 72% 12%, rgba(108,180,180,.16), transparent 46%),
    linear-gradient(160deg,#0e1c1c 0%,#0a1414 60%,#070d0d 100%);}
.shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shot .cap{position:absolute;bottom:8px;left:10px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--mute);text-transform:uppercase}
.lead-kick{margin-top:16px}
.lead h1{font-family:var(--disp);font-weight:700;font-size:clamp(30px,5vw,50px);line-height:.98;margin:8px 0;letter-spacing:-.01em}
.lead h1 a{color:var(--ink)}
.lead .dek{color:var(--mute);font-size:18px;margin:0;max-width:56ch}
.byline{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--mute);text-transform:uppercase;margin-top:14px}

.pieces{display:grid;gap:0}
.piece{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--line);align-items:start}
.piece .thumb{display:block;aspect-ratio:1;border:1px solid var(--teald);border-radius:2px;overflow:hidden;background:linear-gradient(150deg,#16292a,#0a1212)}
.piece .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.piece h2{font-family:var(--disp);font-weight:700;font-size:23px;line-height:1.02;margin:2px 0 4px}
.piece h2 a{color:var(--ink)}
.piece p{margin:0;color:var(--mute);font-size:15px}
.status{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;padding:2px 7px;border:1px solid var(--line);border-radius:2px;color:var(--mute);display:inline-block;margin-bottom:6px}
.status.live{color:var(--comet);border-color:rgba(108,180,180,.55)}
.status.soon{color:var(--ice);border-color:rgba(108,180,180,.4)}

/* sidebar */
aside{font-size:15px}
.box{border:1px solid var(--teald);background:var(--panel);border-radius:2px;padding:16px 16px 18px;margin-bottom:22px}
.box h3{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin:0 0 12px;font-weight:700}
.doctrine{font-family:var(--body);font-style:italic;color:var(--ink);font-size:16px;line-height:1.5;margin:0}
.doctrine b{color:var(--ice);font-style:normal;font-weight:500}
.codrive .stmt{margin:0 0 12px;color:var(--mute);font-size:14px}
.hosts{list-style:none;padding:0;margin:0;font-size:14px}
.hosts li{padding:7px 0;border-top:1px dashed var(--line);color:var(--mute)}
.hosts li:first-child{border-top:0}
.hosts b{color:var(--ink);font-family:var(--disp);font-weight:700;font-size:17px}
.social{list-style:none;padding:0;margin:0;font-family:var(--mono);font-size:12px;letter-spacing:.06em}
.social li{padding:6px 0}
.social .h{color:var(--mute);text-transform:uppercase;font-size:10px;letter-spacing:.14em}

/* lookbook band (homepage) */
.galleryband{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;background:var(--panel-2)}
.galleryband .head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.galleryband h3{font-family:var(--disp);font-weight:700;font-size:26px;margin:0}
.galleryband .enter{color:var(--ice)}
.mq{overflow:hidden;margin-top:4px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.mq-track{display:flex;gap:8px;width:max-content;animation:mq-drift 48s linear infinite}
.mq:hover .mq-track{animation-play-state:paused}
.mq-item{display:block;width:170px;height:170px;flex:none;border:1px solid var(--teald);border-radius:2px;overflow:hidden;background:linear-gradient(150deg,#16292a,#0a1212)}
.mq-item img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .3s}
.mq-item:hover img{opacity:.85}
@keyframes mq-drift{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.mq-track{animation:none}}
@media(max-width:600px){.mq-item{width:130px;height:130px}}

/* store */
.store{padding:40px 0}
.store h3{font-family:var(--disp);font-weight:700;font-size:26px;margin:0 0 4px}
.store .sub{color:var(--mute);font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 20px}
.slaps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.slap{border:1px solid var(--teald);border-radius:2px;background:var(--panel);overflow:hidden}
.slap .art{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#0f1d1d,#080e0e);border-bottom:1px solid var(--teald);text-align:center;padding:14px}
.slap .art span{font-family:var(--disp);font-style:italic;font-weight:800;font-size:24px;color:var(--ink)}
.slap .art .ice{color:var(--ice)}
.slap .art .sm{font-size:18px}
.slap .meta{padding:12px 14px;display:flex;justify-content:space-between;align-items:center}
.slap .meta .n{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.slap .meta .ice{color:var(--ice)}

/* article view */
.article{max-width:760px;margin:0 auto;padding:44px 0 60px}
.art-head h1{font-family:var(--disp);font-weight:700;font-size:clamp(34px,6vw,54px);line-height:.98;margin:10px 0;letter-spacing:-.01em}
.art-head .dek{color:var(--mute);font-size:19px;margin:0 0 4px}
.art-hero{margin:26px 0}
.art-hero img{width:100%;border:1px solid var(--teald);border-radius:2px}
.art-hero figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--mute);margin-top:8px;text-transform:uppercase}
.art-body{font-size:18px;line-height:1.75}
.art-body h2,.art-body h3{font-family:var(--disp);letter-spacing:-.01em;line-height:1.05;margin:1.6em 0 .5em}
.art-body h2{font-size:32px}
.art-body h3{font-size:25px;color:var(--comet)}
.art-body img{border:1px solid var(--teald);border-radius:2px}
.art-body figcaption{font-family:var(--mono);font-size:11px;color:var(--mute);text-transform:uppercase;letter-spacing:.1em}
.art-body blockquote{border-left:2px solid var(--teal);margin:1.4em 0;padding:.2em 0 .2em 1.2em;color:var(--comet);font-style:italic}
.art-body hr{border:0;height:1px;background:var(--line);margin:2.2em 0}
.art-body .kg-gallery-container img{border:none}
.art-body .kg-embed-card{margin:1.6em 0}
.art-body .kg-embed-card iframe{width:100%;aspect-ratio:16/9;height:auto;border:1px solid var(--teald);border-radius:2px}
.art-foot{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);text-align:center}
.signoff{font-family:var(--mono);font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--mute)}
.signoff span{color:var(--ice)}

/* card byline + empty states */
.card-byline{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-top:8px}
.empty{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);padding:34px 0;border-top:1px solid var(--line)}
.section-hosts{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:14px;font-size:14px;color:var(--mute)}
.section-hosts b{color:var(--ink);font-family:var(--disp);font-weight:700;font-size:16px}

/* section feeds */
.section-head{padding:40px 0 8px}
.section-head h1{font-family:var(--disp);font-weight:800;font-style:italic;font-size:clamp(38px,7vw,64px);line-height:.95;margin:6px 0;letter-spacing:-.01em}
.section-head .dek{color:var(--mute);font-size:18px;max-width:60ch}
.pieces.sectioned{padding-bottom:40px}

/* lookbook — contact sheet, rigid */
.lb-head{text-align:center}
.lb-wrap{max-width:1200px}
.lb-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;padding:20px 0 40px;counter-reset:lb}
.lb-cell{display:block;border:1px solid var(--teald);border-radius:0;background:var(--panel-2);counter-increment:lb;text-decoration:none}
.lb-cell:hover{text-decoration:none;border-color:var(--ice);box-shadow:0 0 0 1px var(--ice),0 0 14px rgba(108,180,180,.25)}
.lb-frame{display:block;aspect-ratio:4/3;overflow:hidden}
.lb-frame img{width:100%;height:100%;object-fit:cover;display:block}
.lb-meta{display:flex;justify-content:space-between;align-items:center;padding:6px 9px;border-top:1px solid var(--teald);font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--mute);text-transform:uppercase}
.lb-no::before{content:"№ " counter(lb,decimal-leading-zero)}
.lb-cell:hover .lb-meta{color:var(--ice);text-shadow:0 0 8px rgba(108,180,180,.5)}
.lb-cell:hover .lb-no::before{color:var(--comet)}

/* ghost editor card widths */
.kg-width-wide{max-width:1000px;margin-left:calc(50% - 500px);width:1000px}
.kg-width-full{max-width:100vw;margin-left:calc(50% - 50vw);width:100vw}
@media(max-width:1060px){.kg-width-wide{max-width:100%;margin-left:0;width:100%}}
.kg-width-full img{border:none;border-radius:0}

/* pagination */
.pagination{display:flex;justify-content:space-between;padding:10px 0 50px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.pagination .page-number{color:var(--mute)}

/* footer */
footer{border-top:1px solid var(--line);background:var(--panel-2);padding:34px 0 44px}
footer .cols{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px}
footer .fm{font-family:var(--disp);font-style:italic;font-weight:800;font-size:40px;letter-spacing:-.02em;color:var(--ink);line-height:.85}
.ftag{font-family:var(--disp);font-style:italic;font-weight:700;font-size:17px;letter-spacing:.05em;color:var(--ink);margin:0 0 8px}
footer .ethos{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:0 0 12px}
footer .ethos b{color:var(--ice)}
.counter{font-family:var(--mono);font-size:11px;color:var(--mute);letter-spacing:.1em;border:1px solid var(--teald);padding:8px 10px;border-radius:2px;display:inline-block}
.counter b{color:var(--ice)}
footer .flinks{display:grid;gap:6px;font-family:var(--mono);font-size:12px;letter-spacing:.06em}
footer .flinks .h{color:var(--mute);text-transform:uppercase;font-size:10px;letter-spacing:.16em;margin-bottom:2px}
footer .flinks ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}

/* responsive */
@media(max-width:820px){
  .grid{grid-template-columns:1fr;gap:8px}
  .slaps{grid-template-columns:1fr}
  .util .wrap{position:relative}
  .bl-rest{display:none}
  .nav-toggle{display:block}
  nav.top{position:absolute;top:38px;left:0;right:0;background:var(--panel-2);
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    display:none;z-index:90}
  nav.top.open{display:block}
  nav.top ul{flex-direction:column;gap:0;padding:4px 0}
  nav.top li{border-top:1px solid var(--line)}
  nav.top li:first-child{border-top:0}
  nav.top a{display:block;padding:14px 22px;font-size:12px;letter-spacing:.18em}
  nav.top a:hover{color:var(--ice)}
  .mast .logo-img{width:min(70%,320px)}
}



/* the rotation — apple music */
.box.rotation{padding:16px 0 0;overflow:hidden}
.box.rotation h3{padding:0 16px}
.rotation .am-frame{width:100%;height:450px;border:0;border-top:1px solid var(--teald);display:block;background:var(--panel);margin-top:12px}
.rotation .am-link{display:block;padding:10px 16px 14px}
.rotation h3 .fm{color:var(--ice)}
.am-link{display:block;margin-top:10px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}


/* the rotation sampler — top right */
#rot{position:fixed;top:46px;right:14px;z-index:70;display:flex;align-items:center;gap:9px;
  background:var(--panel-2);border:1px solid var(--teald);border-radius:2px;padding:7px 10px;
  max-width:min(300px,82vw)}
#rot.rot-on{border-color:var(--teal);box-shadow:0 0 12px rgba(108,180,180,.18)}
#rot img{width:34px;height:34px;border:1px solid var(--teald);border-radius:2px;display:block;background:var(--panel)}
.rot-mid{display:flex;flex-direction:column;min-width:0;max-width:150px}
#rot-name,#rot-sub{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#rot-name{color:var(--ink)}
#rot-sub{color:var(--mute)}
#rot.rot-on #rot-name{color:var(--comet)}
#rot button{background:none;border:1px solid var(--teald);border-radius:2px;color:var(--ice);
  font-family:var(--mono);font-size:11px;padding:3px 7px;cursor:pointer;flex:none}
#rot button:hover{border-color:var(--ice)}
.rot-follow{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;flex:none}
@media(max-width:600px){#rot{top:auto;bottom:12px;right:10px}}
