/* hero.css — hero section, portrait, floating chips, stats, marquee */
.hero{padding:128px 0 90px;position:relative;z-index:2}
.herogrid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:start}
.chip{display:inline-flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--line);border-radius:100px;padding:8px 15px;font-size:13.5px;font-weight:600;color:var(--mut)}
.chip .dot{width:8px;height:8px;border-radius:50%;background:var(--bronze);box-shadow:0 0 0 0 var(--bronze);animation:pulse 2.6s infinite}
.h1{font-weight:700;font-size:clamp(36px,5vw,64px);letter-spacing:-0.04em;line-height:.98;margin-top:26px}
.h1 .serif{font-weight:700;color:var(--terra)}
.lead{font-size:19px;color:var(--mut);max-width:540px;margin-top:28px}
.herobtns{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 28px;border-radius:13px;font-size:15px;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s,color .2s;border:1px solid transparent}
.btn.solid{background:var(--terra);color:var(--cream)}
.btn.solid:hover{transform:translateY(-2px);box-shadow:0 16px 30px -16px rgba(63,94,140,.5)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--cream)}
.stats{display:flex;gap:44px;margin-top:60px;flex-wrap:wrap}
.statk{font-weight:700;font-size:36px;letter-spacing:-0.02em}
.statk b{color:var(--terra)}
.statv{font-size:13.5px;color:var(--mut);font-weight:500;margin-top:2px}

/* hero portrait */
.portrait{position:relative;margin-top:40px ;max-width:400px}
.pcardimg{aspect-ratio:4/5;border-radius:22px;background:linear-gradient(150deg,var(--mist),var(--sage));border:1px solid var(--line);display:flex;align-items:flex-end;justify-content:center;padding:24px;overflow:hidden;box-shadow:0 24px 50px -34px rgba(40,35,28,.4);will-change:transform}
.pimgnote{font-size:13px;font-weight:600;color:rgba(42,32,26,.55);background:rgba(255,253,248,.7);backdrop-filter:blur(6px);padding:8px 14px;border-radius:100px}
.floatchip{position:absolute;background:var(--card);border:1px solid var(--line);border-radius:100px;padding:10px 16px;font-size:13.5px;font-weight:600;box-shadow:0 8px 22px -14px rgba(40,35,28,.26);will-change:transform}
.fc1{top:14%;left:-34px}
.fc2{top:46%;right:-30px}
.fc3{bottom:10%;left:-20px}
.floatchip em{font-style:normal;color:var(--bronze)}

/* marquee ticker */
.marq{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:26px 0;position:relative;z-index:2;background:color-mix(in srgb,var(--card) 60%,transparent)}
.marqtrack{display:flex;white-space:nowrap;width:max-content;animation:scroll 36s linear infinite}
.marqtrack span{font-weight:700;font-size:24px;letter-spacing:-0.02em;padding:0 28px;display:inline-flex;align-items:center;gap:28px;color:var(--ink)}
.marqtrack span::after{content:'';width:9px;height:9px;border-radius:50%;background:var(--terra)}
