/* Homepage sections: ticker, statement, services, process, promises, founding, testimonials */
.section{padding:128px 0}
.tag{color:var(--accent);display:block;margin-bottom:18px}
.sec-head{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;margin-bottom:64px;align-items:end}
.sec-head h2,.final h2{font-size:clamp(2.2rem,5vw,4.2rem);line-height:1;font-weight:800;letter-spacing:-.04em}
.sec-head p{color:var(--muted);max-width:30em}

/* scroll reveal: only hidden once ui.js has run, so content never depends on JS */
.ui-ready .rv:not(.in){opacity:0;transform:translateY(28px)}
.rv{transition:opacity .8s var(--ease),transform .8s var(--ease)}

/* ticker */
.marquee{border-block:1px solid var(--line);padding:22px 0;overflow:hidden;background:var(--surface)}
.track{display:flex;gap:56px;width:max-content;animation:rth-slide 38s linear infinite;font-size:clamp(1.4rem,3vw,2.2rem);font-weight:700;letter-spacing:-.02em;color:#3d3d48;white-space:nowrap}
.track span{display:flex;align-items:center;gap:56px}
.track span::after{content:"";width:10px;height:10px;background:var(--accent);border-radius:2px;transform:rotate(45deg)}
.marquee:hover .track{animation-play-state:paused}
@keyframes rth-slide{to{transform:translateX(-50%)}}

/* statement */
.statement{padding:140px 0}
.statement p{font-size:clamp(1.8rem,4.4vw,3.6rem);line-height:1.12;font-weight:700;letter-spacing:-.035em;max-width:20em}
.statement .w{color:#7a7a86;transition:color .5s}
.statement .w.on{color:var(--text)}

/* services bento */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.tile{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:32px;min-height:260px;transition:transform .35s var(--ease),border-color .3s,opacity .8s var(--ease);isolation:isolate}
.tile::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .3s;background:radial-gradient(420px circle at var(--x,50%) var(--y,50%),rgba(255,46,61,.16),transparent 60%)}
.tile:hover{border-color:#3a3a46}.tile:hover::before{opacity:1}
.tile .no{position:absolute;top:28px;right:30px;color:#80808c}
.ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(255,46,61,.1);border:1px solid rgba(255,46,61,.25);margin-bottom:56px}
.ico svg{width:24px;height:24px;stroke:var(--accent);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tile h3{font-size:1.5rem;letter-spacing:-.03em;margin-bottom:10px}
.tile p{color:var(--muted);font-size:15px;max-width:26em}
.t-lg{grid-column:span 7;min-height:340px}.t-md{grid-column:span 5;min-height:340px}.t-sm{grid-column:span 4}.t-half{grid-column:span 6}
.t-lg .ico,.t-md .ico{margin-bottom:96px}

/* process */
.steps{list-style:none;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:140px 1fr 1.2fr;gap:32px;padding:44px 0;border-bottom:1px solid var(--line);align-items:start;transition:background .3s,opacity .8s var(--ease),transform .8s var(--ease)}
.step:hover{background:linear-gradient(90deg,rgba(255,46,61,.05),transparent)}
.num{font-size:5.5rem;font-weight:800;line-height:.9;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px #5a5a66;transition:color .3s,-webkit-text-stroke-color .3s}
.step:hover .num{-webkit-text-stroke-color:var(--accent);color:rgba(255,46,61,.08)}
.step h3{font-size:2rem;letter-spacing:-.035em}
.step p{color:var(--muted)}
.step ul{list-style:none;margin-top:16px;display:grid;gap:8px;font-size:14px}
.step li{display:flex;gap:10px;align-items:center;color:#cfcfd6}
.step li::before{content:"";width:6px;height:6px;background:var(--accent);border-radius:50%;flex:none}

/* promises */
.promises{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.promise{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px}
.promise .mono{color:var(--accent);display:block;margin-bottom:40px}
.promise h3{font-size:1.25rem;letter-spacing:-.02em;margin-bottom:8px}
.promise p{color:var(--muted);font-size:15px}

/* founding offer */
.founding-box{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:56px}
.founding-box h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1;font-weight:800;letter-spacing:-.04em;margin-bottom:16px}
.founding-box p{color:var(--muted);max-width:32em;margin-bottom:28px}
.slots{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.slot{border:1px dashed #3a3a46;border-radius:12px;padding:28px 12px;text-align:center;color:var(--accent);font-family:var(--mono,monospace);font-size:13px;text-transform:uppercase;letter-spacing:.12em}

/* testimonials */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.quote{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:32px}
.quote blockquote p{font-size:1.15rem;line-height:1.5;letter-spacing:-.01em}
.quote figcaption{margin-top:24px;font-weight:600}
.quote figcaption span{display:block;color:var(--muted);font-weight:400;font-size:14px}

@media (max-width:900px){
  .promises{grid-template-columns:1fr 1fr}
  .founding-box{grid-template-columns:1fr;padding:32px}
  .section{padding:88px 0}
  .sec-head{grid-template-columns:1fr;gap:20px;margin-bottom:40px}
  .t-lg,.t-md,.t-sm,.t-half{grid-column:span 12}
  .t-lg,.t-md{min-height:280px}.t-lg .ico,.t-md .ico{margin-bottom:56px}
  .step{grid-template-columns:1fr;gap:12px}.num{font-size:3.5rem}
}
@media (prefers-reduced-motion:reduce){
  .ui-ready .rv:not(.in){opacity:1;transform:none}
  .statement .w{color:var(--text)}
}

.tile h3 a{color:inherit}.tile h3 a::after{content:"";position:absolute;inset:0;z-index:1}.tile h3 a:focus-visible{outline:2px solid var(--accent);outline-offset:-4px;border-radius:var(--r)}
