/* Homepage below hero, editorial layout, no card grids */

.hp-ed {
 position: relative;
 isolation: isolate;
 width: 100vw;
 max-width: 100vw;
 margin-left: calc(50% - 50vw);
 margin-right: calc(50% - 50vw);
 padding: clamp(32px, 5vw, 56px) 20px;
 overflow: hidden;
 box-sizing: border-box;
}

.hp-ed::after {
 content: '';
 position: absolute;
 left: 8%;
 right: 8%;
 bottom: 0;
 height: 1px;
 background: linear-gradient(90deg, transparent, rgba(152, 186, 227, 0.22), transparent);
 pointer-events: none;
}

.hp-ed__shell {
 position: relative;
 z-index: 1;
 max-width: 1240px;
 margin: 0 auto;
}

.hp-ed__head {
 display: flex;
 flex-wrap: wrap;
 align-items: baseline;
 justify-content: space-between;
 gap: 12px 20px;
 margin-bottom: clamp(22px, 3.5vw, 36px);
}

.hp-ed__head-main {
 max-width: 40rem;
}

.hp-ed__kicker {
 margin: 0 0 8px;
 font-size: 0.72rem;
 font-weight: 800;
 letter-spacing: 0.18em;
 text-transform: uppercase;
 color: rgba(188, 209, 238, 0.88);
}

.hp-ed__title {
 margin: 0 0 10px;
 font-size: clamp(1.75rem, 3.8vw, 2.65rem);
 font-weight: 900;
 line-height: 1.08;
 letter-spacing: -0.02em;
}

.hp-ed__lede {
 margin: 0;
 max-width: 46ch;
 font-size: 1rem;
 line-height: 1.6;
 color: rgba(232, 238, 249, 0.84);
}

.hp-ed__link {
 display: inline-flex;
 align-items: center;
 gap: 8px;
 margin-top: 14px;
 font-size: 0.86rem;
 font-weight: 800;
 letter-spacing: 0.06em;
 text-transform: uppercase;
 text-decoration: none;
 color: #98bae3;
}

.hp-ed__link:hover {
 color: #fff;
}

.hp-ed__actions {
 display: flex;
 flex-wrap: wrap;
 gap: 12px;
 margin-top: 18px;
}

/* Wire wall */
.hp-ed-now {
 padding-bottom: clamp(20px, 3vw, 32px);
 overflow-x: clip;
 overflow-y: visible;
 background:
 radial-gradient(ellipse 80% 60% at 12% 0%, rgba(152, 186, 227, 0.12), transparent 55%),
 radial-gradient(ellipse 60% 50% at 88% 100%, rgba(89, 129, 177, 0.14), transparent 52%);
}

.hp-ed-now__layout {
 display: grid;
 grid-template-columns: minmax(0, 1.25fr) minmax(220px, 0.75fr);
 gap: clamp(20px, 3vw, 36px);
 align-items: start;
}

.hp-ed-now__main {
 min-width: 0;
}

.hp-ed-now__main.hp-ed__head {
 margin-bottom: clamp(14px, 2.2vw, 22px);
}

.hp-wire {
 display: flex;
 flex-direction: column;
 min-height: 100%;
}

.hp-ed-story {
 display: block;
 text-decoration: none;
 color: inherit;
}

.hp-ed-story__frame {
 position: relative;
 margin: 0 0 16px;
 aspect-ratio: 16 / 10;
 overflow: hidden;
 clip-path: polygon(0 0, 100% 0, 100% calc(100% - 28px), calc(100% - 28px) 100%, 0 100%);
 background: rgba(8, 14, 24, 0.8);
}

.hp-ed-story__frame img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
 transition: transform 0.6s ease;
}

.hp-ed-story:hover .hp-ed-story__frame img {
 transform: scale(1.04);
}

.hp-ed-story__stamp {
 position: absolute;
 top: 14px;
 left: 14px;
 padding: 4px 10px;
 font-size: 0.68rem;
 font-weight: 800;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 background: rgba(14, 22, 35, 0.82);
 border: 1px solid rgba(152, 186, 227, 0.35);
 color: #e8eef9;
}

.hp-ed-story__title {
 margin: 0 0 8px;
 font-size: clamp(1.55rem, 3.2vw, 2.35rem);
 font-weight: 900;
 line-height: 1.08;
 letter-spacing: -0.02em;
}

.hp-ed-story__meta {
 margin: 0;
 font-size: 0.82rem;
 letter-spacing: 0.08em;
 text-transform: uppercase;
 color: rgba(188, 209, 238, 0.82);
}

.hp-ed-story-slug {
 display: block;
 margin-top: 16px;
 padding: 10px 0 10px 14px;
 border-left: 3px solid rgba(152, 186, 227, 0.4);
 text-decoration: none;
 color: inherit;
 transform: rotate(-0.5deg);
}

.hp-ed-story-slug--thumb {
 display: grid;
 grid-template-columns: 64px minmax(0, 1fr);
 gap: 12px;
 align-items: center;
 padding: 10px 0 10px 0;
 border-left: 0;
 transform: none;
}

.hp-ed-story-slug--thumb img {
 width: 64px;
 height: 64px;
 object-fit: cover;
 display: block;
 clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%);
}

.hp-ed-story-slug strong {
 display: block;
 font-size: 0.98rem;
 font-weight: 800;
 line-height: 1.3;
}

.hp-ed-story-slug span {
 font-size: 0.78rem;
 color: rgba(188, 209, 238, 0.78);
}

.hp-ed-story--empty {
 text-decoration: none;
 color: inherit;
}

/* Wire: one unified block */
.hp-wire {
 display: grid;
 gap: 0;
}

.hp-wire__lead {
 margin: 0 0 4px;
}

.hp-wire__lead-link {
 display: grid;
 grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
 gap: clamp(16px, 2.5vw, 28px);
 align-items: end;
 text-decoration: none;
 color: inherit;
}

.hp-wire__lead-media {
 position: relative;
 margin: 0;
 aspect-ratio: 16 / 10;
 overflow: hidden;
 clip-path: polygon(0 0, 100% 0, 100% calc(100% - 22px), calc(100% - 22px) 100%, 0 100%);
 background: rgba(8, 14, 24, 0.8);
}

.hp-wire__lead-media img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
 transition: transform 0.55s ease;
}

.hp-wire__lead-link:hover .hp-wire__lead-media img {
 transform: scale(1.03);
}

.hp-wire__lead-copy {
 padding: 0 0 clamp(8px, 2vw, 16px) clamp(14px, 2vw, 22px);
 border-left: 3px solid rgba(152, 186, 227, 0.45);
}

.hp-wire__lead-title {
 margin: 0;
 font-size: clamp(1.45rem, 2.8vw, 2.2rem);
 font-weight: 900;
 line-height: 1.1;
 letter-spacing: -0.02em;
}

.hp-wire__meta {
 display: block;
 margin: 0 0 8px;
 font-size: 0.72rem;
 font-weight: 700;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 color: rgba(188, 209, 238, 0.82);
}

.hp-wire__list {
 list-style: none;
 margin: 0;
 padding: 0;
 border-top: 1px solid rgba(152, 186, 227, 0.16);
}

.hp-wire__row +.hp-wire__row {
 border-top: 1px solid rgba(152, 186, 227, 0.1);
}

.hp-wire__row-link {
 display: grid;
 grid-template-columns: 72px minmax(0, 1fr);
 gap: 14px;
 align-items: center;
 padding: 14px 4px 14px 0;
 text-decoration: none;
 color: inherit;
 transition: background 0.2s ease, padding-left 0.2s ease;
}

.hp-wire__row-link:hover {
 padding-left: 6px;
 background: linear-gradient(90deg, rgba(152, 186, 227, 0.06), transparent 85%);
}

.hp-wire__row-thumb {
 width: 72px;
 height: 72px;
 object-fit: cover;
 display: block;
 clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%);
 background: rgba(8, 14, 24, 0.8);
}

.hp-wire__row-copy {
 display: grid;
 gap: 4px;
}

.hp-wire__row-title {
 font-size: 0.98rem;
 font-weight: 700;
 line-height: 1.35;
}

.hp-wire__empty {
 margin: 0 0 8px;
 font-size: 0.94rem;
 line-height: 1.55;
 color: rgba(232, 238, 249, 0.78);
}

.hp-wire__actions {
 display: flex;
 flex-wrap: wrap;
 gap: 12px;
 margin-top: auto;
 padding-top: 16px;
 border-top: 1px solid rgba(152, 186, 227, 0.14);
}

.hp-ed-now__rail {
 display: grid;
 gap: 12px;
 align-self: start;
 padding-top: 10px;
 min-width: 0;
 max-width: 100%;
}

.hp-ed-note {
 position: relative;
 padding: 16px 16px 18px;
 background: linear-gradient(165deg, #fff6df 0%, #f3e6c8 100%);
 color: #2a2118;
 transform: rotate(1.8deg);
 box-shadow: 4px 8px 0 rgba(42, 33, 24, 0.22);
 min-width: 0;
 overflow: visible;
}

.hp-ed-note--b {
 transform: rotate(-2.2deg);
 margin-left: 8px;
}

.hp-ed-note__pin {
 position: absolute;
 top: 0;
 left: 50%;
 z-index: 2;
 width: 12px;
 height: 12px;
 border-radius: 50%;
 background: #c44b3a;
 box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
 transform: translate(-50%, -50%);
}

.hp-ed-note__kicker {
 margin: 0 0 6px;
 font-size: 0.68rem;
 font-weight: 800;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 opacity: 0.72;
}

.hp-ed-note__title {
 margin: 0 0 8px;
 font-size: 1.05rem;
 font-weight: 900;
 line-height: 1.2;
}

.hp-ed-note__teasers {
 list-style: none;
 margin: 0 0 10px;
 padding: 0;
 display: grid;
 gap: 10px;
 min-width: 0;
 overflow: hidden;
}

.hp-ed-teaser {
 display: block;
 text-decoration: none;
 color: inherit;
}

.hp-ed-teaser--lead .hp-ed-teaser__media {
 display: block;
 aspect-ratio: 16 / 10;
 max-height: 140px;
 margin-bottom: 8px;
 overflow: hidden;
 background: #2a2118;
 box-shadow: 2px 5px 0 rgba(42, 33, 24, 0.18);
 transform: rotate(-1.2deg);
 transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.hp-ed-teaser--lead:hover .hp-ed-teaser__media {
 transform: rotate(0deg) scale(1.01);
 box-shadow: 3px 7px 0 rgba(42, 33, 24, 0.24);
}

.hp-ed-teaser--lead .hp-ed-teaser__media img,
.hp-ed-teaser--row .hp-ed-teaser__media img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
 transition: transform 0.45s ease;
}

.hp-ed-teaser--lead:hover .hp-ed-teaser__media img {
 transform: scale(1.05);
}

.hp-ed-teaser--row {
 display: grid;
 grid-template-columns: 58px minmax(0, 1fr);
 gap: 10px;
 align-items: center;
 padding: 4px 0;
 border-top: 1px solid rgba(42, 33, 24, 0.12);
 transition: padding-left 0.2s ease;
}

.hp-ed-teaser--row:hover {
 padding-left: 4px;
}

.hp-ed-teaser--row .hp-ed-teaser__media {
 width: 58px;
 height: 58px;
 flex-shrink: 0;
 overflow: hidden;
 background: #2a2118;
 box-shadow: 1px 3px 0 rgba(42, 33, 24, 0.14);
 transform: rotate(1.5deg);
}

.hp-ed-teaser--row:hover .hp-ed-teaser__media {
 transform: rotate(0deg);
}

.hp-ed-teaser__fallback {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 100%;
 height: 100%;
 min-height: 58px;
 background: linear-gradient(145deg, #2a2118 0%, #4a3728 100%);
 color: #fff6df;
 font-weight: 900;
 font-size: 0.82rem;
 letter-spacing: 0.08em;
 text-transform: uppercase;
}

.hp-ed-teaser__copy {
 display: grid;
 gap: 3px;
 min-width: 0;
}

.hp-ed-teaser__title {
 display: block;
 font-size: 0.92rem;
 font-weight: 800;
 line-height: 1.25;
}

.hp-ed-teaser--lead .hp-ed-teaser__title {
 font-size: 1rem;
}

.hp-ed-teaser__meta {
 display: block;
 font-size: 0.72rem;
 line-height: 1.3;
 opacity: 0.72;
}

.hp-ed-note .hp-ed__link {
 margin-top: 2px;
}

/* Join strip */
.hp-ed-join {
 padding-top: clamp(20px, 3vw, 28px);
 padding-bottom: clamp(24px, 4vw, 36px);
 background:
 radial-gradient(ellipse 70% 50% at 15% 50%, rgba(88, 101, 242, 0.12), transparent 55%),
 linear-gradient(180deg, rgba(14, 22, 35, 0.35) 0%, transparent 100%);
}

.hp-ed-join__frame {
 position: relative;
 border-radius: 14px;
 padding: 2px;
 background: rgba(152, 186, 227, 0.18);
}

.hp-ed-join__flare {
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 pointer-events: none;
 z-index: 2;
 overflow: visible;
}

.hp-ed-join__flare-track {
 fill: none;
 stroke: rgba(152, 186, 227, 0.3);
 stroke-width: 2;
}

.hp-ed-join__flare-spot {
 fill: none;
 stroke: rgb(244, 248, 255);
 stroke-width: 2;
 stroke-linecap: round;
 stroke-dasharray: 1 99;
}

.hp-ed-join__bar {
 position: relative;
 isolation: isolate;
 overflow: hidden;
 display: grid;
 grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.35fr) auto;
 gap: clamp(16px, 2.5vw, 24px);
 align-items: center;
 padding: clamp(16px, 2.5vw, 22px) clamp(18px, 3vw, 28px);
 border: none;
 border-radius: 12px;
 background: rgb(14, 22, 35);
}

.hp-ed-join__bar > * {
 position: relative;
 z-index: 1;
}

.hp-ed-join__intro.hp-ed__title {
 font-size: clamp(1.65rem, 3.2vw, 2.35rem);
}

.hp-ed-join__intro.hp-ed__lede {
 max-width: 36ch;
}

.hp-ed-join__perks {
 list-style: none;
 margin: 0;
 padding: 0;
 display: grid;
 gap: 12px;
}

.hp-ed-join__perks li {
 display: grid;
 gap: 2px;
 padding-left: 14px;
 border-left: 3px solid rgba(152, 186, 227, 0.35);
}

.hp-ed-join__perks strong {
 font-size: 0.72rem;
 font-weight: 800;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: rgba(188, 209, 238, 0.9);
}

.hp-ed-join__perks span {
 font-size: 0.94rem;
 line-height: 1.45;
 color: rgba(232, 238, 249, 0.86);
}

.hp-ed-join__perks code {
 font-size: 0.92em;
}

.hp-ed-join__cta {
 display: grid;
 gap: 12px;
 justify-items: start;
}

/* Play */
.hp-ed-play {
 background:
 radial-gradient(ellipse 70% 55% at 90% 20%, rgba(145, 70, 255, 0.14), transparent 58%),
 linear-gradient(168deg, #0a1420 0%, #15273c 50%, #10192a 100%);
}

.hp-ed-play__marquee {
 position: relative;
 padding: 6px 0 8px;
 border-top: 2px solid #e8b05c;
 border-bottom: 2px solid #e8b05c;
 margin-bottom: clamp(16px, 2.5vw, 24px);
 overflow: hidden;
}

.hp-ed-play__marquee-track {
 display: flex;
 width: max-content;
 gap: 2rem;
 animation: hpEdMarquee 28s linear infinite;
 font-size: clamp(0.82rem, 1.6vw, 1.05rem);
 font-weight: 900;
 letter-spacing: 0.1em;
 text-transform: uppercase;
 color: #ffe8a8;
 text-shadow: 0 0 12px rgba(232, 176, 92, 0.28);
 line-height: 1.2;
}

.hp-ed-play__stage {
 display: grid;
 grid-template-columns: minmax(0, 1fr) minmax(220px, 0.75fr);
 gap: clamp(24px, 4vw, 40px);
 align-items: start;
}

.hp-ed-play__actions {
 display: flex;
 flex-wrap: wrap;
 gap: 12px;
 margin-top: 18px;
}

.hp-ed-play__main {
 position: relative;
}

.hp-ed-play__scanlines {
 position: absolute;
 inset: 0;
 pointer-events: none;
 background: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.03) 0 2px, transparent 2px 4px);
 opacity: 0.35;
 mix-blend-mode: overlay;
}

.hp-ed-play__poster {
 position: relative;
 z-index: 2;
 margin: 0;
 transform: rotate(-2deg);
}

.hp-ed-play__poster img {
 width: min(100%, 400px);
 display: block;
 filter: drop-shadow(12px 18px 0 rgba(2, 4, 8, 0.45));
}

.hp-ed-play__coin {
 margin: 14px 0 0;
 font-size: 0.82rem;
 font-weight: 800;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: rgba(232, 176, 92, 0.95);
}

.hp-ed-score-tape {
 margin-top: 16px;
 padding: 12px 14px;
 background: rgba(8, 14, 24, 0.75);
 border: 1px dashed rgba(152, 186, 227, 0.28);
 font-family: ui-monospace, monospace;
 font-size: 0.78rem;
 line-height: 1.6;
 color: rgba(232, 238, 249, 0.88);
}

.hp-ed-score-tape__head {
 margin: 0 0 8px;
 font-size: 0.68rem;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: rgba(188, 209, 238, 0.75);
}

.hp-ed-board__wall {
 position: relative;
 min-height: 360px;
 padding: clamp(20px, 3vw, 32px);
 background:
 repeating-linear-gradient(0deg, transparent 0 31px, rgba(80, 58, 32, 0.06) 31px 32px),
 #2a2118;
 border: 8px solid #1a140f;
 box-shadow: inset 0 0 80px rgba(0, 0, 0, 0.35);
}

.hp-ed-flyer {
 position: absolute;
 padding: 16px 16px 20px;
 background: #fff6df;
 color: #2a2118;
 text-decoration: none;
 box-shadow: 3px 6px 0 rgba(0, 0, 0, 0.25);
}

.hp-ed-flyer--member {
 top: 8%;
 left: 6%;
 transform: rotate(-4deg);
 z-index: 3;
 width: min(52%, 340px);
 background: linear-gradient(180deg, #fffaf0 0%, #f3e6c8 100%);
}

.hp-ed-flyer--member-2 {
 top: 38%;
 left: 34%;
 transform: rotate(2.5deg);
 z-index: 2;
 width: min(44%, 280px);
}

.hp-ed-flyer--commercial {
 bottom: 8%;
 right: 4%;
 transform: rotate(3deg);
 z-index: 1;
 width: min(38%, 240px);
 background: #eef0ff;
 opacity: 0.92;
}

.hp-ed-flyer__tape {
 position: absolute;
 top: -8px;
 left: 18%;
 width: 52px;
 height: 18px;
 background: rgba(255, 255, 200, 0.55);
 border: 1px solid rgba(0, 0, 0, 0.08);
 transform: rotate(-4deg);
}

.hp-ed-flyer__date {
 display: inline-block;
 margin: 0 0 8px;
 padding: 2px 8px;
 font-size: 0.68rem;
 font-weight: 800;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 border: 2px solid currentColor;
 transform: rotate(-3deg);
}

.hp-ed-flyer__title {
 margin: 0 0 8px;
 font-size: clamp(1.1rem, 2.2vw, 1.45rem);
 font-weight: 900;
 line-height: 1.1;
}

.hp-ed-flyer__copy {
 margin: 0;
 font-size: 0.86rem;
 line-height: 1.45;
}

.hp-ed-people {
 margin-top: clamp(24px, 3.5vw, 36px);
 padding-top: 18px;
 border-top: 1px solid rgba(152, 186, 227, 0.14);
}

.hp-ed-people__rail {
 display: flex;
 flex-wrap: wrap;
 gap: 12px;
 margin-bottom: 16px;
}

.hp-ed-people__face {
 display: inline-flex;
 align-items: center;
 gap: 8px;
 padding: 6px 12px 6px 6px;
 text-decoration: none;
 color: inherit;
 background: rgba(14, 22, 35, 0.55);
 border: 1px solid rgba(152, 186, 227, 0.14);
 font-size: 0.84rem;
}

.hp-ed-people__face span:first-child {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 28px;
 height: 28px;
 border-radius: 50%;
 background: rgba(89, 129, 177, 0.35);
 font-weight: 800;
 font-size: 0.78rem;
}

.hp-ed-people__links {
 display: flex;
 flex-wrap: wrap;
 gap: 12px;
}

/* Support dock */
.hp-ed-dock {
 padding: 18px 20px 28px;
 background: rgba(8, 14, 24, 0.92);
 border-top: 1px solid rgba(152, 186, 227, 0.2);
}

.hp-ed-dock__bar {
 max-width: 1240px;
 margin: 0 auto;
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 gap: 12px 20px;
}

.hp-ed-dock__status {
 display: inline-flex;
 align-items: center;
 gap: 8px;
 font-size: 0.72rem;
 font-weight: 800;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 color: rgba(188, 209, 238, 0.85);
}

.hp-ed-dock__light {
 width: 8px;
 height: 8px;
 border-radius: 50%;
 background: #57f287;
}

.hp-ed-dock__nav {
 display: flex;
 flex-wrap: wrap;
 gap: 8px 16px;
 margin: 0;
 padding: 0;
 list-style: none;
}

.hp-ed-dock__nav a {
 font-size: 0.84rem;
 font-weight: 700;
 text-decoration: none;
 color: rgba(232, 238, 249, 0.88);
}

.hp-ed-dock__nav a:hover {
 color: #98bae3;
}

.hp-ed-dock__sep {
 opacity: 0.35;
}

@keyframes hpEdMarquee {
 from { transform: translateX(0); }
 to { transform: translateX(-50%); }
}

@media (max-width: 960px) {
.hp-ed-now__layout,
.hp-ed-play__stage,
.hp-ed-join__bar {
 grid-template-columns: 1fr;
 }

.hp-ed-now__rail {
 order: -1;
 padding-top: 10px;
 }

.hp-ed-note--b {
 margin-left: 0;
 }

.hp-ed-join__cta {
 justify-items: stretch;
 width: 100%;
 }

.hp-ed-join__cta.hp-lan-btn {
 width: 100%;
 justify-content: center;
 }

.hp-wire__lead-link {
 grid-template-columns: 1fr;
 }

.hp-wire__lead-copy {
 border-left: 0;
 padding-left: 0;
 }

}

@media (prefers-reduced-motion: reduce) {
.hp-ed-play__marquee-track,
.hp-ed-join__flare-spot {
 display: none;
 }

.hp-ed-join__frame {
 background: rgba(152, 186, 227, 0.24);
 }
}

/* Homepage: support dock + footer sit flush, no flex stretch gap */
body.home-page.footer {
 margin-top: 0;
}
