/* Phase 2 hero (stage 2): the rotating format word, the paste box, the reel fan. */
/* Top-aligned, with the fan a fixed height: a late font reflowing the copy can never move the reels. */
.hx{box-sizing:border-box;padding:64px 5% 72px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:start}
.hx-copy{padding-top:28px}
.hx-copy{display:flex;flex-direction:column;gap:22px;min-width:0}
.hx-badge{display:inline-flex;align-self:flex-start;padding:6px 12px;border-radius:999px;border:1px solid #26262a;background:#101012;font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#ff4d17}
.hx h1{margin:0;font-size:72px;line-height:.98;font-weight:800;text-transform:uppercase;color:#fff}
.hx h1 span{color:#ff4d17}
.hx-rot{margin:0;font-family:"Bricolage Grotesque","Plus Jakarta Sans",system-ui,sans-serif;font-size:28px;font-weight:700;line-height:1.2;color:#f2f2f0;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .35em}
/* Every word sits in the same grid cell, so the box is as wide as the longest
   one and nothing around it moves when the word changes. */
.hx-words{display:inline-grid;color:#ff4d17}
.hx-words > span{grid-area:1/1;opacity:0;transform:translateY(.45em);transition:opacity .45s,transform .45s cubic-bezier(.2,.7,.2,1);white-space:nowrap}
.hx-words > span.on{opacity:1;transform:none}
.hx-words > span.out{opacity:0;transform:translateY(-.45em)}
.hx-line{margin:0;font-size:17px;font-weight:700;color:#fff}
.hx-sub{margin:0;font-size:18px;line-height:1.55;max-width:540px;color:#b8b8b4}
.hx-box{display:flex;gap:8px;padding:8px;border-radius:16px;border:1px solid #2c2c31;background:#0c0c0e;max-width:560px;box-shadow:0 0 0 0 rgba(255,77,23,0);transition:border-color .2s,box-shadow .2s}
.hx-box:focus-within{border-color:#ff4d17;box-shadow:0 0 0 4px rgba(255,77,23,.14)}
.hx-box input{flex:1;min-width:0;background:none;border:0;outline:0;color:#f2f2f0;font:inherit;font-size:16px;padding:12px 10px}
.hx-box input::placeholder{color:#6f6f6b}
.hx-box button{flex:none;border:0;cursor:pointer;background:#ff4d17;color:#fff;font:inherit;font-size:15px;font-weight:700;border-radius:11px;padding:12px 18px;transition:filter .15s,transform .15s}
.hx-box button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.hx-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.hx-btn{text-decoration:none;color:#fff;padding:14px 22px;background:#ff4d17;border-radius:12px;font-size:15px;font-weight:700}
.hx-btn.ghost{color:#f2f2f0;border:1px solid #26262a;background:#101012}

.hx-fan{position:relative;height:600px;display:flex;align-items:center;justify-content:center}
.hx-card{position:absolute;width:300px;height:534px;border-radius:30px;overflow:hidden;background:#101012;border:1px solid #26262a;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.hx-card video,.hx-card img{width:100%;height:100%;object-fit:cover;display:block}
.hx-card.c{z-index:3;animation:hx-float 7s ease-in-out infinite}
.hx-card.l{z-index:1;transform:translateX(-58%) rotate(-8deg) scale(.84);opacity:.75}
.hx-card.r{z-index:2;transform:translateX(58%) rotate(8deg) scale(.84);opacity:.75}
.hx-tag{position:absolute;left:12px;bottom:12px;z-index:4;padding:5px 10px;border-radius:999px;background:rgba(0,0,0,.62);font-size:12px;font-weight:700;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@keyframes hx-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

.px-idea{display:none;margin:0 auto 18px;max-width:720px;padding:12px 16px;border-radius:12px;border:1px solid rgba(255,77,23,.4);background:rgba(255,77,23,.08);color:#f2f2f0;font-size:14.5px;line-height:1.5;text-align:left}
.px-idea.on{display:flex;gap:10px;align-items:baseline}
.px-idea b{color:#ff4d17;flex:none}
.px-idea q{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.px-idea button{flex:none;background:none;border:0;color:#b8b8b4;text-decoration:underline;cursor:pointer;font:inherit;font-size:13px}

@media (max-width:980px){
  .hx{grid-template-columns:1fr;padding:48px 5% 56px;gap:36px}
  .hx h1{font-size:46px}
  .hx-rot{font-size:22px}
  .hx-fan{height:auto}
  .hx-card{position:relative}
  .hx-card.l,.hx-card.r{display:none}
  .hx-card.c{width:min(300px,78vw);height:auto;aspect-ratio:9/16}
}
@media (max-width:420px){.hx-box{flex-direction:column}.hx-box button{width:100%}}
/* The hero sign-up: the newsletter, in the idea box (Adam, 2026-09-30). */
.hx-join{display:flex;flex-direction:column;gap:10px;max-width:560px}
.hx-join-head{font-family:"Bricolage Grotesque","Plus Jakarta Sans",system-ui,sans-serif;font-size:20px;font-weight:800;line-height:1.25;color:#fff}
.hx-join .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.hx-join button:disabled{opacity:.6;cursor:progress}
.hx-join .said{font-size:14px;font-weight:600;margin-left:4px}
.hx-join .said:empty{display:none}
.hx-join .said.ok{color:#5fd08a}.hx-join .said.bad{color:#ff7a5a}
/* A laptop (768px tall and up) shows the newsletter under the idea box without scrolling. */
@media (min-width:981px){.hx{padding-top:30px}.hx-copy{padding-top:4px;gap:18px}}
/* A phone shows the idea box AND the newsletter without scrolling. */
@media (max-width:600px){
  .hx{padding-top:22px}
  .hx-copy{padding-top:0;gap:16px}
  .hx-sub{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  .hx-card.c{animation:none}
  .hx-words > span{transition:none}
}
