.page-home{
  --home-hair:rgba(244,240,230,.12);
  --home-soft:rgba(244,240,230,.06);
  --home-body:rgba(244,240,230,.74);
  background:var(--ink);
  color:var(--bone);
  padding-bottom:clamp(2.5rem,7vw,5rem);
  overflow-x:clip;
}

.page-home .kicker{color:var(--lime);}

.page-home .home-index{
  position:sticky;
  top:var(--hdr-h);
  z-index:6;
  background:rgba(7,26,20,.94);
  border-bottom:1px solid var(--line);
}

.page-home .home-index-inner{
  display:flex;
  align-items:center;
  gap:.75rem;
  min-height:46px;
  overflow-x:auto;
  scrollbar-width:none;
}

.page-home .home-index-inner::-webkit-scrollbar{display:none;}

.page-home .home-index-label{
  flex:none;
  font-family:var(--font-num);
  font-size:.68rem;
  letter-spacing:.18em;
  color:var(--moss);
  white-space:nowrap;
}

.page-home .home-index-list{
  display:flex;
  gap:.3rem;
  list-style:none;
  margin:0;
  padding:0;
  flex:none;
}

.page-home .home-index-list a{
  display:inline-block;
  padding:.28rem .65rem;
  border-radius:999px;
  border:1px solid transparent;
  font-size:.82rem;
  color:var(--bone);
  text-decoration:none;
  white-space:nowrap;
  transition:color var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease);
}

.page-home .home-index-list a:hover{color:var(--lime);}

.page-home .home-index-list a:focus-visible{
  outline:2px solid var(--lime);
  outline-offset:2px;
}

.page-home .home-index-list a[aria-current="true"]{
  background:var(--lime);
  border-color:var(--lime);
  color:var(--lime-ink);
  font-weight:600;
}

.page-home .open{
  position:relative;
  padding:clamp(1.9rem,5vw,3.4rem) 0 clamp(2.4rem,6vw,4.4rem);
  border-bottom:1px solid var(--line);
  isolation:isolate;
}

.page-home .open-grid{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    repeating-linear-gradient(to right,var(--home-soft) 0 1px,transparent 1px 16.6667%),
    repeating-linear-gradient(to bottom,var(--home-soft) 0 1px,transparent 1px 96px);
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 84%);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 84%);
}

.page-home .open-inner{
  position:relative;
  z-index:1;
  display:grid;
  gap:clamp(1.9rem,4.5vw,3rem);
}

.page-home .open h1{margin:.55rem 0 1rem;}

.page-home .open-facts{
  list-style:none;
  margin:clamp(1.5rem,4vw,2.1rem) 0 0;
  padding:1.05rem 0 0;
  border-top:1px solid var(--line);
  display:grid;
  gap:.95rem;
  grid-template-columns:repeat(auto-fit,minmax(132px,1fr));
}

.page-home .open-facts li{
  display:flex;
  flex-direction:column;
  gap:.24rem;
  min-width:0;
}

.page-home .open-facts .num{
  font-family:var(--font-num);
  font-weight:700;
  font-size:clamp(1.3rem,2.6vw,1.72rem);
  line-height:1;
  color:var(--gold);
}

.page-home .open-facts .num em{
  font-style:normal;
  font-size:.6em;
  margin-left:.08em;
  opacity:.88;
}

.page-home .open-facts li span:last-child{
  font-size:.78rem;
  line-height:1.55;
  color:var(--moss);
}

.page-home .open-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin-top:clamp(1.3rem,3vw,1.8rem);
}

.page-home .open-doors{
  position:relative;
  display:grid;
  gap:.9rem;
}

.page-home .open-shot{
  position:absolute;
  inset:0;
  z-index:0;
  margin:0;
  border-radius:var(--rad-card);
  overflow:hidden;
  opacity:.34;
}

.page-home .open-shot img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.page-home .open-shot::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(160deg,rgba(7,26,20,.3),rgba(7,26,20,.94) 78%);
}

.page-home .door{
  position:relative;
  z-index:1;
  display:block;
  padding:1.05rem 1.15rem 1.2rem;
  border:1px solid var(--line);
  border-radius:var(--rad-card);
  background:var(--ink-2);
  color:var(--bone);
  text-decoration:none;
  transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}

.page-home .door::before{
  content:"";
  position:absolute;
  top:-1px;
  left:1.15rem;
  height:2px;
  width:28px;
  border-radius:2px;
  background:var(--lime);
  transition:width var(--dur) var(--ease);
}

.page-home .door:hover,
.page-home .door:focus-visible{
  transform:translateY(-4px);
  border-color:var(--line-lime);
  box-shadow:var(--shadow);
}

.page-home .door:hover::before,
.page-home .door:focus-visible::before{width:108px;}

.page-home .door:focus-visible{
  outline:2px solid var(--lime);
  outline-offset:3px;
}

.page-home .door-figure{
  margin:0 0 .9rem;
  border-radius:13px;
  overflow:hidden;
  background:var(--ink-deep);
  aspect-ratio:16/9;
}

.page-home .door--phone .door-figure{aspect-ratio:3/2;}

.page-home .door-figure img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.page-home .door-tag{
  display:block;
  font-family:var(--font-num);
  font-size:.66rem;
  letter-spacing:.16em;
  color:var(--lime);
  margin-bottom:.45rem;
}

.page-home .door-title{
  display:block;
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1.32rem,3.4vw,1.68rem);
  line-height:1.2;
  letter-spacing:-.01em;
  margin-bottom:.5rem;
}

.page-home .door p{
  margin:0 0 .85rem;
  font-size:.85rem;
  line-height:1.7;
  color:var(--home-body);
}

.page-home .door-go{
  display:inline-block;
  font-family:var(--font-num);
  font-size:.74rem;
  letter-spacing:.08em;
  color:var(--lime);
  border-bottom:1px solid var(--line-lime);
  padding-bottom:2px;
  transition:border-color var(--dur) var(--ease);
}

.page-home .door:hover .door-go{border-bottom-color:var(--lime);}

.page-home .creed{
  padding:clamp(2.4rem,6vw,4.4rem) 0;
  border-bottom:1px solid var(--line);
}

.page-home .creed-inner{
  display:grid;
  gap:clamp(1.6rem,4vw,3rem);
}

.page-home .creed-note{
  margin:1rem 0 0;
  max-width:32ch;
  font-size:.86rem;
  line-height:1.7;
  color:var(--moss);
}

.page-home .creed-body p{
  margin:0 0 1rem;
  font-size:.92rem;
  line-height:1.8;
  color:var(--home-body);
}

.page-home .creed-track{
  list-style:none;
  margin:clamp(1.5rem,4vw,2rem) 0 0;
  padding:0 0 0 1rem;
  border-left:1px solid var(--line);
}

.page-home .creed-track li{
  position:relative;
  display:grid;
  grid-template-columns:3.6rem minmax(0,1fr);
  gap:.7rem;
  padding:.7rem 0;
  border-bottom:1px solid var(--line-soft);
}

.page-home .creed-track li::before{
  content:"";
  position:absolute;
  left:-4.5px;
  top:1.15rem;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--ink);
  border:1.5px solid var(--lime);
}

.page-home .creed-track .num{
  font-family:var(--font-num);
  font-size:.82rem;
  color:var(--gold);
}

.page-home .creed-track p{
  margin:0;
  font-size:.83rem;
  line-height:1.65;
  color:var(--home-body);
}

.page-home .today{
  padding:clamp(2.4rem,6vw,4.4rem) 0;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,var(--ink) 0%,var(--ink-deep) 100%);
}

.page-home .today-head{max-width:56ch;}
.page-home .today-head .lede{margin-top:.9rem;}

.page-home .today-band{
  margin:clamp(1.4rem,4vw,2.2rem) 0 clamp(1.6rem,4vw,2.4rem);
  border:1px solid var(--line);
  border-radius:var(--rad-card);
  overflow:hidden;
  background:var(--ink-deep);
  aspect-ratio:16/9;
}

.page-home .today-band img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.page-home .feed{position:relative;}

.page-home .feed-radio{
  position:absolute;
  width:1px;
  height:1px;
  margin:0;
  padding:0;
  border:0;
  opacity:0;
  pointer-events:none;
}

.page-home .feed-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-bottom:.9rem;
}

.page-home .feed-tabs label{
  display:inline-block;
  padding:.42rem .95rem;
  border:1px solid var(--line);
  border-radius:999px;
  font-size:.82rem;
  color:var(--bone);
  cursor:pointer;
  user-select:none;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}

.page-home .feed-tabs label:hover{
  border-color:var(--line-lime);
  color:var(--lime);
}

.page-home #f-all:checked ~ .feed-tabs label[for="f-all"],
.page-home #f-score:checked ~ .feed-tabs label[for="f-score"],
.page-home #f-report:checked ~ .feed-tabs label[for="f-report"],
.page-home #f-data:checked ~ .feed-tabs label[for="f-data"]{
  background:var(--lime);
  border-color:var(--lime);
  color:var(--lime-ink);
  font-weight:600;
}

.page-home #f-all:focus-visible ~ .feed-tabs label[for="f-all"],
.page-home #f-score:focus-visible ~ .feed-tabs label[for="f-score"],
.page-home #f-report:focus-visible ~ .feed-tabs label[for="f-report"],
.page-home #f-data:focus-visible ~ .feed-tabs label[for="f-data"]{
  outline:2px solid var(--lime);
  outline-offset:2px;
}

.page-home #f-score:checked ~ .feed-list .feed-item:not([data-cat="score"]){display:none;}
.page-home #f-report:checked ~ .feed-list .feed-item:not([data-cat="report"]){display:none;}
.page-home #f-data:checked ~ .feed-list .feed-item:not([data-cat="data"]){display:none;}

.page-home .feed-list{
  list-style:none;
  margin:0;
  padding:0;
  border-top:1px solid var(--line);
}

.page-home .feed-item{
  display:grid;
  grid-template-columns:4.2rem minmax(0,1fr);
  gap:.55rem .9rem;
  align-items:start;
  padding:1rem 0;
  border-bottom:1px solid var(--line-soft);
  transition:background var(--dur) var(--ease);
}

.page-home .feed-time{
  font-family:var(--font-num);
  font-weight:700;
  font-size:clamp(.94rem,2.2vw,1.12rem);
  line-height:1.1;
  letter-spacing:-.02em;
  color:var(--gold);
}

.page-home .feed-time small{
  display:block;
  margin-top:.2rem;
  font-size:.6rem;
  font-weight:500;
  letter-spacing:.08em;
  color:var(--moss);
}

.page-home .feed-main h3{
  margin:0 0 .28rem;
  font-family:var(--font-body);
  font-size:.96rem;
  font-weight:600;
  letter-spacing:0;
}

.page-home .feed-main p{
  margin:0;
  font-size:.82rem;
  line-height:1.7;
  color:var(--home-body);
}

.page-home .feed-tag{
  grid-column:2;
  justify-self:start;
  display:inline-block;
  padding:.2rem .55rem;
  border:1px solid var(--line);
  border-radius:999px;
  font-family:var(--font-num);
  font-size:.64rem;
  letter-spacing:.1em;
  color:var(--moss);
  white-space:nowrap;
}

.page-home .map{
  padding:clamp(2.4rem,6vw,4.4rem) 0;
  border-bottom:1px solid var(--line);
}

.page-home .map-list{
  list-style:none;
  margin:clamp(1.3rem,4vw,2rem) 0 0;
  padding:0;
  border-top:1px solid var(--line);
}

.page-home .map-list a{
  display:grid;
  grid-template-columns:2.1rem minmax(0,1fr) auto;
  grid-template-areas:
    "idx name go"
    ". note go";
  align-items:center;
  gap:.1rem .7rem;
  padding:1rem .2rem;
  border-bottom:1px solid var(--line-soft);
  color:var(--bone);
  text-decoration:none;
  transition:background var(--dur) var(--ease),padding-left var(--dur) var(--ease);
}

.page-home .map-idx{
  grid-area:idx;
  font-family:var(--font-num);
  font-size:.76rem;
  color:var(--moss);
  transition:color var(--dur) var(--ease);
}

.page-home .map-name{
  grid-area:name;
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1.08rem,2.6vw,1.42rem);
  line-height:1.2;
  letter-spacing:-.01em;
  transition:color var(--dur) var(--ease);
}

.page-home .map-note{
  grid-area:note;
  font-size:.79rem;
  line-height:1.55;
  color:rgba(244,240,230,.6);
}

.page-home .map-go{
  grid-area:go;
  font-size:1rem;
  color:var(--moss);
  transition:color var(--dur) var(--ease),transform var(--dur) var(--ease);
}

.page-home .map-list a:hover{background:var(--veil);padding-left:.65rem;}
.page-home .map-list a:hover .map-name{color:var(--lime);}
.page-home .map-list a:hover .map-idx{color:var(--gold);}
.page-home .map-list a:hover .map-go{color:var(--lime);transform:translateX(4px);}

.page-home .map-list a:focus-visible{
  outline:2px solid var(--lime);
  outline-offset:-2px;
}

.page-home .promise{padding:clamp(2.4rem,6vw,4.4rem) 0 0;}

.page-home .promise-inner{
  display:grid;
  gap:clamp(1.6rem,4vw,3rem);
}

.page-home .promise-lead .lede{margin-top:.9rem;max-width:34ch;}

.page-home .promise-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.8rem;
}

.page-home .promise-list li{
  padding:1rem 1.05rem 1.1rem;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--ink-2);
  transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}

.page-home .promise-list li:hover{
  border-color:var(--line-lime);
  transform:translateY(-3px);
}

.page-home .promise-num{
  display:block;
  margin-bottom:.5rem;
  font-family:var(--font-num);
  font-weight:700;
  font-size:clamp(1.2rem,3vw,1.5rem);
  line-height:1;
  color:var(--gold);
}

.page-home .promise-list h3{
  margin:0 0 .3rem;
  font-family:var(--font-body);
  font-size:.94rem;
  font-weight:600;
}

.page-home .promise-list p{
  margin:0;
  font-size:.81rem;
  line-height:1.65;
  color:var(--home-body);
}

.page-home .promise-foot{
  margin-top:clamp(1.6rem,4vw,2.4rem);
  padding-top:1.4rem;
  border-top:1px solid var(--line);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

.page-home .promise-foot p{
  margin:0;
  max-width:46ch;
  font-size:.87rem;
  line-height:1.7;
  color:var(--moss);
}

@media (min-width:640px){
  .page-home .door--phone{width:calc(100% - 1.6rem);}
  .page-home .door--tv{width:calc(100% - 1.6rem);margin-left:auto;}
  .page-home .promise-list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-home .today-band{aspect-ratio:8/3;}
}

@media (min-width:720px){
  .page-home .door--phone{width:calc(100% - 2.6rem);}
  .page-home .door--tv{width:calc(100% - 2.6rem);}

  .page-home .feed-item{
    grid-template-columns:5.4rem minmax(0,1fr) auto;
    align-items:center;
    padding:1.05rem .55rem;
  }

  .page-home .feed-tag{
    grid-column:3;
    justify-self:end;
    align-self:center;
  }

  .page-home .feed-item:hover{background:var(--veil);}

  .page-home .map-list a{
    grid-template-columns:2.4rem minmax(0,1fr) minmax(0,.9fr) auto;
    grid-template-areas:"idx name note go";
    gap:.2rem 1.1rem;
    padding:1.1rem .4rem;
  }

  .page-home .map-list a:hover{padding-left:.9rem;}
}

@media (min-width:900px){
  .page-home .creed-inner{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    align-items:start;
    gap:clamp(2rem,4vw,3.6rem);
  }

  .page-home .promise-inner{
    grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
    align-items:start;
  }

  .page-home .promise-foot{grid-column:1 / -1;}
}

@media (min-width:960px){
  .page-home .open{
    padding-top:clamp(2.4rem,4vw,3.2rem);
  }

  .page-home .open-inner{
    grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
    align-items:start;
    gap:clamp(2rem,4vw,3.6rem);
  }

  .page-home .open-doors{
    margin-top:clamp(.4rem,2vw,1.4rem);
  }
}

@media (prefers-reduced-motion:reduce){
  .page-home .door,
  .page-home .door::before,
  .page-home .door-go,
  .page-home .map-list a,
  .page-home .map-go,
  .page-home .promise-list li,
  .page-home .feed-item{
    transition-duration:1ms;
  }

  .page-home .door:hover,
  .page-home .door:focus-visible,
  .page-home .promise-list li:hover,
  .page-home .map-list a:hover .map-go{
    transform:none;
  }

  .page-home .map-list a:hover{padding-left:.2rem;}
}
