/* =============================================================
   Slate Harbor Fern — "broadsheet" stylesheet
   Design language: encrypted-terminal meets classified broadsheet
   (near-black canvas, single signal-lime accent, whisper serif +
   tracked-out mono labels + Fira Code proof panels).
   BEM prefix: dsr-
   ============================================================= */

/* ---- self-hosted fonts (substitutes) ---- */
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:300;font-display:swap;src:url('../type/sourceserif-300.woff2') format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:300;font-display:swap;src:url('../type/sourceserif-i300.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../type/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../type/inter-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../type/inter-600.woff2') format('woff2')}
@font-face{font-family:'Fira Code';font-style:normal;font-weight:400;font-display:swap;src:url('../type/firacode-400.woff2') format('woff2')}
@font-face{font-family:'Fira Code';font-style:normal;font-weight:500;font-display:swap;src:url('../type/firacode-500.woff2') format('woff2')}

:root{
  --void:#000000; --carbon:#060606; --onyx:#1f1f1f; --graphite:#252525;
  --iron:#313131; --slate:#3d3d3d; --fog:#525252; --ash:#7a7a7a;
  --smoke:#8a8a8a; --pearl:#c5c5c5; --bone:#e5e5e5; --chalk:#ffffff;
  --lime:#c5ff4a; --olive:#597321; --moss:#314013;
  --serif:'Source Serif 4', ui-serif, Georgia, Cambria, "Times New Roman", serif;
  --sans:'Inter', ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono:'Fira Code', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --maxw:1280px;
  --gutter:clamp(20px,5vw,64px);
  --glow:0 0 8px 0 rgba(197,255,74,.45);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--carbon); color:var(--bone);
  font-family:var(--sans); font-size:15px; line-height:1.55;
  font-weight:400; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
h1,h2,h3,h4{margin:0; font-weight:300}
p{margin:0}
ul,ol{margin:0}

.dsr-wrap{max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter)}
.dsr-skip{position:absolute; left:-9999px; top:0; background:var(--lime); color:#000;
  padding:10px 16px; z-index:200; font:600 13px/1 var(--sans)}
.dsr-skip:focus{left:12px; top:12px}

/* metadata label stamp — [ BRACKETED ] classified tag */
.dsr-stamp{
  font-family:var(--sans); font-weight:500; font-size:11px;
  letter-spacing:.22em; text-transform:uppercase; color:var(--ash);
  display:inline-flex; gap:.55em; align-items:baseline;
}
.dsr-stamp b{color:var(--lime); font-weight:500}
.dsr-index{font-family:var(--mono); font-size:11px; letter-spacing:.18em;
  color:var(--ash); text-transform:uppercase}

/* status pill */
.dsr-pill{
  display:inline-flex; align-items:center; gap:.4em;
  border:1px solid var(--lime); color:var(--lime); border-radius:9999px;
  padding:4px 11px; font:500 11px/1 var(--sans); letter-spacing:.06em;
  text-transform:uppercase; white-space:nowrap;
}

/* buttons */
.dsr-btn{
  display:inline-flex; align-items:center; gap:.5em; cursor:pointer;
  font:500 14px/1 var(--sans); letter-spacing:.04em; text-transform:uppercase;
  padding:13px 24px; border-radius:4px; border:1px solid var(--lime);
  background:var(--lime); color:#000; box-shadow:var(--glow); transition:.18s;
}
.dsr-btn:hover{background:#d4ff6e; border-color:#d4ff6e}
.dsr-btn--ghost{background:transparent; color:var(--lime); box-shadow:var(--glow)}
.dsr-btn--ghost:hover{background:rgba(197,255,74,.09)}
.dsr-btn--plain{border-color:var(--slate); background:transparent; color:var(--chalk);
  box-shadow:none; letter-spacing:.08em}
.dsr-btn--plain:hover{border-color:var(--fog); background:var(--onyx)}
.dsr-btn__a{font-size:1.05em}

/* ============ TOP NAV ============ */
.dsr-nav{
  position:sticky; top:0; z-index:100; background:var(--void);
  border-bottom:1px solid var(--graphite);
}
.dsr-nav__in{display:flex; align-items:center; justify-content:space-between;
  height:64px; gap:24px}
.dsr-brand{display:flex; align-items:center; gap:11px}
.dsr-brand__tile{width:34px; height:34px; border-radius:4px; flex:none}
.dsr-brand__name{font-family:var(--serif); font-weight:300; font-size:20px;
  color:var(--chalk); letter-spacing:-.01em; line-height:1}
.dsr-brand__sub{display:block; font:500 9px/1 var(--sans); letter-spacing:.24em;
  text-transform:uppercase; color:var(--ash); margin-top:4px}
.dsr-nav__list{display:flex; gap:30px; list-style:none; padding:0}
.dsr-nav__link{font:500 13px/1 var(--sans); letter-spacing:.18em;
  text-transform:uppercase; color:var(--chalk); transition:.15s}
.dsr-nav__link:hover{color:var(--lime)}
.dsr-nav__cta{display:flex; align-items:center; gap:14px}
.dsr-nav__cta .dsr-btn{padding:10px 20px; font-size:13px; box-shadow:var(--glow)}
.dsr-burger{display:none; width:44px; height:40px; background:transparent;
  border:1px solid var(--graphite); border-radius:4px; cursor:pointer;
  flex-direction:column; gap:5px; align-items:center; justify-content:center}
.dsr-burger span{width:20px; height:1.5px; background:var(--chalk)}

.dsr-drawer{position:fixed; inset:64px 0 auto 0; background:var(--void);
  border-bottom:1px solid var(--graphite); transform:translateY(-120%);
  transition:transform .28s ease; z-index:99; padding:8px 0 18px}
.dsr-drawer[data-open="true"]{transform:translateY(0)}
.dsr-drawer ul{list-style:none; padding:0}
.dsr-drawer a{display:block; padding:13px var(--gutter); color:var(--chalk);
  font:500 13px/1 var(--sans); letter-spacing:.14em; text-transform:uppercase;
  border-bottom:1px solid var(--onyx)}
.dsr-drawer a:hover{color:var(--lime); background:var(--onyx)}

/* ============ SECTION SHELL ============ */
.dsr-sec{padding-block:clamp(56px,9vw,110px)}
.dsr-sec--tight{padding-block:clamp(44px,7vw,84px)}
.dsr-headrow{display:flex; align-items:flex-end; justify-content:space-between;
  gap:20px; margin-bottom:44px; flex-wrap:wrap}
.dsr-title{font-family:var(--serif); font-weight:300; color:var(--chalk);
  font-size:clamp(34px,6vw,49px); line-height:1.05; letter-spacing:-.02em}
.dsr-title em{font-style:italic; color:var(--lime)}
.dsr-lead{color:var(--bone); font-size:15px; line-height:1.65; max-width:52ch}
.dsr-ey{display:block; margin-bottom:18px}

/* divider bar (once) */
.dsr-neon{height:7px; background:var(--lime); box-shadow:0 0 22px 0 rgba(197,255,74,.4); width:100%}

/* ============ HERO ============ */
.dsr-hero{position:relative; background:var(--carbon); overflow:hidden;
  padding-block:clamp(72px,13vw,148px)}
.dsr-hero__globe{position:absolute; inset:0; margin:auto; width:min(760px,92vw);
  opacity:.5; pointer-events:none; z-index:0}
.dsr-hero__in{position:relative; z-index:1; max-width:840px}
.dsr-hero h1{
  font-family:var(--serif); font-weight:300; color:var(--chalk);
  font-size:clamp(44px,9.2vw,89px); line-height:.96; letter-spacing:-.035em;
  margin:22px 0 0;
}
.dsr-hero h1 em{font-style:italic; color:var(--lime)}
.dsr-hero__lead{margin-top:26px; max-width:500px; color:var(--bone);
  font-size:16px; line-height:1.6}
.dsr-hero__cta{display:flex; gap:14px; flex-wrap:wrap; margin-top:34px}
.dsr-hero__pills{display:flex; gap:10px; flex-wrap:wrap; margin-top:34px}
.dsr-hero__meta{margin-top:40px; border-top:1px solid var(--graphite);
  padding-top:22px; display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--graphite); border:1px solid var(--graphite)}
.dsr-hcell{background:var(--carbon); padding:16px 18px}
.dsr-hcell__k{font:500 10px/1 var(--sans); letter-spacing:.2em; text-transform:uppercase; color:var(--ash)}
.dsr-hcell__v{margin-top:8px; font-family:var(--mono); font-size:14px; color:var(--chalk)}
.dsr-hcell__v b{color:var(--lime); font-weight:500}

/* ============ MANIFESTO (about intro) ============ */
.dsr-mani__grid{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,6vw,80px);
  align-items:start}
.dsr-mani h2{font-family:var(--serif); font-weight:300; color:var(--chalk);
  font-size:clamp(30px,5.4vw,49px); line-height:1.06; letter-spacing:-.02em; margin-top:18px}
.dsr-mani h2 em{font-style:italic; color:var(--lime)}
.dsr-mani__body{display:flex; flex-direction:column; gap:18px}
.dsr-mani__body p{color:var(--bone); font-size:15px; line-height:1.7}
.dsr-mani__body p:first-child{color:var(--pearl)}
.dsr-mani__stats{display:flex; gap:0; margin-top:30px; border:1px solid var(--graphite)}
.dsr-mstat{flex:1; padding:18px 16px; border-right:1px solid var(--graphite)}
.dsr-mstat:last-child{border-right:0}
.dsr-mstat__n{font-family:var(--serif); font-weight:300; font-size:34px; color:var(--lime); line-height:1}
.dsr-mstat__l{margin-top:8px; font:500 10px/1.3 var(--sans); letter-spacing:.14em;
  text-transform:uppercase; color:var(--ash)}

/* ============ GAMES / DOSSIER GRID ============ */
.dsr-cat{display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
  background:var(--graphite); border:1px solid var(--graphite)}
.dsr-card{background:var(--onyx); padding:clamp(24px,3vw,38px);
  display:flex; flex-direction:column; gap:18px}
.dsr-card:hover{background:#232323}
.dsr-card__top{display:flex; align-items:center; justify-content:space-between; gap:12px}
.dsr-card__id{display:flex; flex-direction:column; gap:7px}
.dsr-card__head{display:flex; gap:16px; align-items:center}
.dsr-tile{width:64px; height:64px; border-radius:4px; border:1px solid var(--slate);
  object-fit:cover; flex:none; background:var(--graphite)}
.dsr-card__name{font-family:var(--serif); font-weight:300; font-size:26px;
  color:var(--chalk); line-height:1.05; letter-spacing:-.01em}
.dsr-card__dev{margin-top:6px; font:500 10px/1.2 var(--sans); letter-spacing:.16em;
  text-transform:uppercase; color:var(--ash)}
.dsr-card__text{color:var(--bone); font-size:14px; line-height:1.62}
.dsr-proof{background:var(--graphite); border:1px solid var(--iron); border-radius:4px;
  padding:16px 18px; font-family:var(--mono); font-size:12.5px; line-height:1.7;
  overflow-x:auto; margin-top:auto}
.dsr-proof__row{display:flex; gap:10px; white-space:nowrap}
.dsr-proof__k{color:var(--fog)}
.dsr-proof__v{color:var(--pearl)}
.dsr-proof__v b{color:var(--lime); font-weight:500}
.dsr-card__foot{display:flex; align-items:center; justify-content:space-between;
  gap:12px; flex-wrap:wrap}
.dsr-play{font:500 12px/1 var(--sans); letter-spacing:.08em; text-transform:uppercase;
  color:var(--lime); border-bottom:1px solid rgba(197,255,74,.35); padding-bottom:3px}
.dsr-play:hover{border-color:var(--lime)}

/* ============ PROTOCOL (how it works) ============ */
.dsr-proto{display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--graphite); border:1px solid var(--graphite)}
.dsr-pstep{background:var(--carbon); padding:clamp(24px,3vw,36px);
  display:flex; flex-direction:column; gap:14px}
.dsr-pstep__no{font-family:var(--mono); font-size:12px; letter-spacing:.2em;
  color:var(--lime)}
.dsr-pstep h3{font-family:var(--serif); font-weight:300; font-size:24px;
  color:var(--chalk); line-height:1.1}
.dsr-pstep p{color:var(--bone); font-size:14px; line-height:1.62}

/* ============ FIELD REPORTS (reviews) ============ */
.dsr-reports{columns:3; column-gap:1px; background:var(--graphite);
  border:1px solid var(--graphite)}
.dsr-rep{background:var(--onyx); padding:26px 24px; break-inside:avoid;
  display:flex; flex-direction:column; gap:14px; margin:0}
.dsr-rep__top{display:flex; align-items:center; justify-content:space-between}
.dsr-rep__stars{color:var(--lime); font-size:13px; letter-spacing:2px}
.dsr-rep__idx{font-family:var(--mono); font-size:10px; letter-spacing:.14em; color:var(--fog)}
.dsr-rep__text{color:var(--bone); font-size:14px; line-height:1.6; font-family:var(--serif);
  font-weight:300; font-style:italic}
.dsr-rep__by{display:flex; align-items:center; gap:11px; border-top:1px solid var(--graphite);
  padding-top:14px}
.dsr-rep__mark{width:34px; height:34px; border-radius:4px; border:1px solid var(--slate);
  display:grid; place-items:center; font:500 11px/1 var(--sans); letter-spacing:.06em;
  color:var(--lime); flex:none}
.dsr-rep__name{font:500 13px/1.1 var(--sans); color:var(--chalk)}
.dsr-rep__loc{font:500 10px/1.2 var(--sans); letter-spacing:.14em; text-transform:uppercase;
  color:var(--ash); margin-top:4px}

/* ============ REGISTRO (about timeline) ============ */
.dsr-log{list-style:none; padding:0; border-top:1px solid var(--graphite)}
.dsr-log__row{display:grid; grid-template-columns:200px 1fr; gap:clamp(20px,4vw,56px);
  padding:26px 0; border-bottom:1px solid var(--graphite)}
.dsr-log__meta{display:flex; flex-direction:column; gap:9px}
.dsr-log__yr{font-family:var(--mono); font-size:13px; letter-spacing:.06em; color:var(--lime)}
.dsr-log__tag{font:500 10px/1 var(--sans); letter-spacing:.2em; text-transform:uppercase; color:var(--ash)}
.dsr-log__t{font-family:var(--serif); font-weight:300; font-size:24px; color:var(--chalk);
  line-height:1.12; margin-bottom:10px}
.dsr-log__row p{color:var(--bone); font-size:14.5px; line-height:1.66}
.dsr-log__sign{margin-top:26px; font-family:var(--serif); font-style:italic; font-weight:300;
  color:var(--ash); font-size:15px}

/* ============ FAQ ============ */
.dsr-faq{border:1px solid var(--graphite)}
.dsr-qa{border-bottom:1px solid var(--graphite)}
.dsr-qa:last-child{border-bottom:0}
.dsr-qa summary{list-style:none; cursor:pointer; display:flex; gap:18px;
  align-items:baseline; padding:22px clamp(18px,3vw,30px); color:var(--chalk)}
.dsr-qa summary::-webkit-details-marker{display:none}
.dsr-qa__no{font-family:var(--mono); font-size:12px; color:var(--lime); flex:none; letter-spacing:.1em}
.dsr-qa__q{font-family:var(--serif); font-weight:300; font-size:20px; line-height:1.25; flex:1}
.dsr-qa__sign{font-family:var(--mono); color:var(--ash); font-size:20px; flex:none; transition:.2s}
.dsr-qa[open] .dsr-qa__sign{transform:rotate(45deg); color:var(--lime)}
.dsr-qa__a{padding:0 clamp(18px,3vw,30px) 24px calc(clamp(18px,3vw,30px) + 34px);
  color:var(--bone); font-size:14.5px; line-height:1.7; max-width:74ch}

/* ============ SUBSCRIBE (terminal form) ============ */
.dsr-sub{background:var(--void); border:1px solid var(--graphite); border-radius:4px;
  overflow:hidden}
.dsr-sub__bar{display:flex; align-items:center; gap:8px; padding:12px 18px;
  border-bottom:1px solid var(--graphite); background:var(--onyx)}
.dsr-sub__dot{width:9px; height:9px; border-radius:9999px; background:var(--slate)}
.dsr-sub__dot--lime{background:var(--lime); box-shadow:var(--glow)}
.dsr-sub__path{font-family:var(--mono); font-size:12px; color:var(--ash); letter-spacing:.06em}
.dsr-sub__body{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(28px,5vw,56px);
  padding:clamp(28px,5vw,52px)}
.dsr-sub__intro h2{font-family:var(--serif); font-weight:300; font-size:clamp(28px,4.6vw,40px);
  color:var(--chalk); line-height:1.08; letter-spacing:-.02em; margin-top:16px}
.dsr-sub__intro h2 em{font-style:italic; color:var(--lime)}
.dsr-sub__intro p{margin-top:18px; color:var(--bone); font-size:14.5px; line-height:1.7}
.dsr-sub__intro ul{list-style:none; padding:0; margin-top:22px; display:flex;
  flex-direction:column; gap:12px}
.dsr-sub__intro li{display:flex; gap:11px; font-family:var(--mono); font-size:12.5px;
  color:var(--pearl)}
.dsr-sub__intro li::before{content:"›"; color:var(--lime)}
.dsr-form{display:flex; flex-direction:column; gap:16px}
.dsr-field label{display:block; font:500 10px/1 var(--sans); letter-spacing:.2em;
  text-transform:uppercase; color:var(--ash); margin-bottom:8px}
.dsr-field label b{color:var(--lime)}
.dsr-field input[type=text],.dsr-field input[type=tel],.dsr-field input[type=email]{
  width:100%; background:var(--carbon); border:1px solid var(--slate); border-radius:4px;
  color:var(--chalk); font:400 14px/1.3 var(--mono); padding:13px 14px; transition:.15s}
.dsr-field input:focus{outline:none; border-color:var(--lime); box-shadow:var(--glow)}
.dsr-field input::placeholder{color:var(--fog)}
.dsr-consent{display:flex; gap:11px; align-items:flex-start; font-size:13px;
  color:var(--ash); line-height:1.5}
.dsr-consent input{margin-top:3px; accent-color:var(--lime); width:16px; height:16px; flex:none}
.dsr-consent a{color:var(--lime); border-bottom:1px solid rgba(197,255,74,.4)}
.dsr-form .dsr-btn{justify-content:center; width:100%; margin-top:4px}
.dsr-success{display:none; align-items:center; gap:9px; border:1px solid var(--lime);
  border-radius:4px; padding:13px 15px; color:var(--lime); font-family:var(--mono);
  font-size:12.5px; box-shadow:var(--glow)}
.dsr-success.show{display:flex}

/* ============ FOOTER ============ */
.dsr-foot{background:var(--void); border-top:1px solid var(--graphite);
  padding-top:clamp(48px,7vw,72px)}
.dsr-foot__grid{display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:40px;
  padding-bottom:44px}
.dsr-foot__brand{display:flex; align-items:center; gap:11px; margin-bottom:16px}
.dsr-foot__brand img{width:32px; height:32px; border-radius:4px}
.dsr-foot__brand b{font-family:var(--serif); font-weight:300; font-size:19px; color:var(--chalk)}
.dsr-foot__blurb{color:var(--ash); font-size:13.5px; line-height:1.7; max-width:38ch}
.dsr-foot__nap{font-style:normal; margin-top:16px; color:var(--smoke); font-size:13px;
  line-height:1.8}
.dsr-foot__nap a{color:var(--pearl)}
.dsr-foot__nap a:hover{color:var(--lime)}
.dsr-foot h4{font:500 11px/1 var(--sans); letter-spacing:.2em; text-transform:uppercase;
  color:var(--ash); margin-bottom:16px}
.dsr-foot__list{list-style:none; padding:0; display:flex; flex-direction:column; gap:11px}
.dsr-foot__list a{color:var(--pearl); font-size:13.5px}
.dsr-foot__list a:hover{color:var(--lime)}
.dsr-foot__disc{margin-top:16px; color:var(--fog); font-size:11.5px; line-height:1.6}
.dsr-foot__bar{border-top:1px solid var(--graphite); padding-block:20px;
  display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap;
  color:var(--fog); font-size:12px; font-family:var(--mono); letter-spacing:.02em}
.dsr-foot__bar a{color:var(--ash)}
.dsr-foot__bar a:hover{color:var(--lime)}

/* ============ COOKIE ============ */
.dsr-cookie{position:fixed; left:16px; right:16px; bottom:16px; z-index:150;
  max-width:640px; margin-inline:auto; background:var(--onyx);
  border:1px solid var(--lime); border-radius:4px; box-shadow:var(--glow);
  padding:18px 20px; display:none; gap:16px; align-items:center; flex-wrap:wrap;
  justify-content:space-between}
.dsr-cookie[data-show="true"]{display:flex}
.dsr-cookie__txt{color:var(--bone); font-size:13px; line-height:1.55; flex:1; min-width:220px}
.dsr-cookie__txt b{color:var(--chalk); font-weight:600}
.dsr-cookie__txt a{color:var(--lime); border-bottom:1px solid rgba(197,255,74,.4)}
.dsr-cookie__btns{display:flex; gap:10px}
.dsr-cookie__btns .dsr-btn{padding:9px 18px; font-size:12px}

/* ============ LEGAL / DOC PAGES ============ */
.dsr-doc{padding-block:clamp(48px,8vw,90px)}
.dsr-doc__head{max-width:760px; margin-bottom:40px}
.dsr-doc__head h1{font-family:var(--serif); font-weight:300; color:var(--chalk);
  font-size:clamp(34px,6vw,56px); line-height:1.04; letter-spacing:-.025em; margin-top:16px}
.dsr-doc__head p{margin-top:18px; color:var(--bone); font-size:15px; line-height:1.65}
.dsr-prose{max-width:760px}
.dsr-updated{font-family:var(--mono); font-size:12px; color:var(--ash); letter-spacing:.04em}
.dsr-callout{border:1px solid var(--graphite); border-left:3px solid var(--lime);
  background:var(--onyx); padding:18px 20px; margin:24px 0; border-radius:0 4px 4px 0}
.dsr-callout p{color:var(--pearl); font-size:14px; line-height:1.65}
.dsr-prose h2{font-family:var(--serif); font-weight:300; color:var(--chalk);
  font-size:26px; line-height:1.15; margin:38px 0 14px; letter-spacing:-.01em}
.dsr-prose p{color:var(--bone); font-size:14.5px; line-height:1.75; margin-bottom:14px}
.dsr-prose ul{padding-left:20px; margin:0 0 16px; color:var(--bone); font-size:14.5px; line-height:1.75}
.dsr-prose li{margin-bottom:8px}
.dsr-prose b{color:var(--chalk); font-weight:600}
.dsr-prose a{color:var(--lime); border-bottom:1px solid rgba(197,255,74,.35)}
.dsr-404{min-height:64vh; display:grid; place-items:center; text-align:center;
  padding-block:80px}
.dsr-404__code{font-family:var(--mono); font-size:13px; letter-spacing:.24em; color:var(--lime)}
.dsr-404 h1{font-family:var(--serif); font-weight:300; color:var(--chalk);
  font-size:clamp(56px,14vw,120px); line-height:.9; letter-spacing:-.04em; margin:16px 0}
.dsr-404 p{color:var(--bone); max-width:44ch; margin:0 auto 28px}

/* ============ RESPONSIVE ============ */
@media (max-width:1000px){
  .dsr-reports{columns:2}
  .dsr-foot__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .dsr-nav__list, .dsr-nav__cta{display:none}
  .dsr-burger{display:flex}
  .dsr-mani__grid{grid-template-columns:1fr}
  .dsr-sub__body{grid-template-columns:1fr}
}
@media (max-width:760px){
  .dsr-cat{grid-template-columns:1fr}
  .dsr-proto{grid-template-columns:1fr}
  .dsr-reports{columns:1}
  .dsr-hero__meta{grid-template-columns:1fr 1fr}
  .dsr-log__row{grid-template-columns:1fr; gap:12px}
  .dsr-mani__stats{flex-wrap:wrap}
  .dsr-mstat{min-width:40%}
  .dsr-foot__grid{grid-template-columns:1fr}
  .dsr-foot__bar{flex-direction:column; gap:8px}
}
@media (max-width:420px){
  .dsr-hero__meta{grid-template-columns:1fr}
  .dsr-card__head{flex-direction:row}
}
