/* ===== SECTION SCAFFOLD ===== */
.section{padding:clamp(72px,10vw,128px) clamp(20px,4vw,48px)}
.section-inner{max-width:var(--max-w);margin:0 auto}
.section-label{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-ghost);margin-bottom:16px}
.section-title{font-family:var(--serif);font-weight:600;font-size:clamp(32px,4.8vw,54px);line-height:1.1;letter-spacing:-.03em;margin-bottom:20px;text-wrap:balance}
.section-title em{font-style:italic;color:var(--accent)}
.section-body{max-width:600px;font-size:clamp(16px,1.8vw,18px);line-height:1.7;color:var(--ink-soft);text-wrap:pretty}

/* ===== BUTTONS (page-specific variant) ===== */
.btn-tg{background:var(--tg);color:#fff;border-color:transparent}
.btn-tg:hover{background:var(--tg);filter:brightness(1.05);box-shadow:0 12px 36px rgba(var(--tg-rgb),.34)}

/* ===== HERO ===== */
.hero{position:relative;min-height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse 1100px 700px at 50% 24%,var(--surface-elev) 0%,var(--bg) 58%,var(--bg-warm) 100%);text-align:center;padding:120px clamp(20px,5vw,48px) 72px}
.hero-content{position:relative;z-index:2;width:min(720px,92vw)}
.hero-eyebrow{font-size:12.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-hover);margin-bottom:22px;opacity:0;animation:fadeUp .8s var(--ease) .12s forwards}
.hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(38px,6.2vw,76px);line-height:1.02;letter-spacing:-.04em;margin:0 0 22px;color:var(--ink);opacity:0;animation:fadeUp 1s var(--ease) .26s forwards}
.hero h1 em{font-style:italic;color:var(--accent)}
.hero-sub{max-width:560px;margin:0 auto 34px;font-size:clamp(16px,2vw,20px);line-height:1.58;color:var(--ink-soft);opacity:0;animation:fadeUp .9s var(--ease) .46s forwards;text-wrap:pretty}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeUp .9s var(--ease) .62s forwards}
.hero-cap{margin-top:20px;font-size:13.5px;font-weight:500;color:var(--ink-muted);letter-spacing:.01em;opacity:0;animation:fadeUp .9s var(--ease) .78s forwards}

/* ===== CHAT THREAD MOCK (hero demo) ===== */
.thread-wrap{position:relative;z-index:2;width:min(540px,94vw);margin:54px auto 0}
.thread{position:relative;background:var(--surface-elev);border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 70px rgba(var(--shadow),.13),0 4px 12px rgba(var(--shadow),.06);overflow:hidden;text-align:left}
.thread-head{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line);background:var(--surface)}
.thread-ava{width:38px;height:38px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff;background:linear-gradient(140deg,#C76545,#9A4A30)}
.thread-meta{display:flex;flex-direction:column;line-height:1.3;min-width:0;flex:1}
.thread-name{font-size:14.5px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thread-status{font-size:12px;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thread-members{margin-left:auto;display:flex;flex-shrink:0;padding-left:8px}
.tm-dot{width:24px;height:24px;border-radius:50%;margin-left:-7px;border:2px solid var(--surface);display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;color:#fff}
.thread-body{padding:18px;display:flex;flex-direction:column;gap:12px;min-height:300px;background:linear-gradient(180deg,var(--surface-elev),var(--surface))}

.msg{display:flex;gap:9px;max-width:88%;opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.msg.in{opacity:1;transform:none}
.msg-ava{width:30px;height:30px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;align-self:flex-end}
.msg-bubble{background:var(--surface);border:1px solid var(--line);border-radius:4px 15px 15px 15px;padding:9px 13px;box-shadow:0 1px 3px rgba(var(--shadow),.05)}
.msg-name{font-size:11.5px;font-weight:700;margin-bottom:2px}
.msg-text{font-size:14px;line-height:1.45;color:var(--ink)}
.msg.me{align-self:flex-end;flex-direction:row-reverse}
.msg.me .msg-bubble{border-radius:15px 4px 15px 15px;background:rgba(var(--tg-rgb),.1);border-color:rgba(var(--tg-rgb),.22)}
.msg-reply{border-left:2.5px solid var(--accent);padding:3px 0 3px 9px;margin-bottom:6px;opacity:.85}
.msg-reply .rn{font-size:11px;font-weight:700;color:var(--accent-hover)}
.msg-reply .rt{font-size:12px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.mention{color:var(--tg);font-weight:700}
.msg-react{position:absolute;bottom:-9px;right:10px;background:var(--surface-elev);border:1px solid var(--line);border-radius:100px;padding:1px 8px;font-size:11px;font-weight:600;color:var(--green);box-shadow:0 2px 6px rgba(var(--shadow),.1);display:flex;align-items:center;gap:3px;transform:scale(0);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.msg-react.in{transform:scale(1)}
.msg.me{position:relative}

/* bot card */
.botcard{align-self:flex-start;max-width:92%;display:flex;gap:9px;opacity:0;transform:translateY(12px) scale(.97);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.botcard.in{opacity:1;transform:none}
.bot-ava{width:30px;height:30px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(140deg,#463A2E,#2E251C);align-self:flex-end}
.bot-ava svg{width:17px;height:17px}
.taskcard{background:var(--surface-elev);border:1px solid rgba(var(--accent-rgb),.3);border-radius:4px 15px 15px 15px;padding:13px 14px;box-shadow:0 8px 24px rgba(var(--shadow),.08);width:280px;max-width:100%}
.tc-top{display:flex;align-items:center;gap:7px;margin-bottom:9px}
.tc-badge{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-hover);background:var(--accent-glow);border:1px solid rgba(var(--accent-rgb),.24);border-radius:6px;padding:2px 7px;white-space:nowrap}
.tc-title{font-size:15px;font-weight:700;color:var(--ink);line-height:1.3;margin-bottom:11px}
.tc-meta{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}
.tc-row{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-soft)}
.tc-row svg{width:15px;height:15px;color:var(--ink-ghost);flex-shrink:0}
.tc-who{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--ink)}
.tc-who .av{width:19px;height:19px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff}
.tc-due{font-weight:600;color:var(--ink)}
.tc-link{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:600;color:var(--accent-hover);border-top:1px solid var(--line);margin:0 -14px -13px;padding:11px;background:rgba(var(--accent-rgb),.05);white-space:nowrap}
.tc-link svg{width:14px;height:14px}
.typing{display:flex;align-items:center;gap:4px;padding:11px 14px;background:var(--surface);border:1px solid var(--line);border-radius:4px 15px 15px 15px;width:fit-content}
.typing span{width:6px;height:6px;border-radius:50%;background:var(--ink-ghost);animation:typedot 1.2s infinite ease-in-out}
.typing span:nth-child(2){animation-delay:.2s}
.typing span:nth-child(3){animation-delay:.4s}
@keyframes typedot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
.botrow{display:flex;gap:9px;align-self:flex-start;opacity:0;transition:opacity .3s var(--ease)}
.botrow.in{opacity:1}
.botrow.gone{display:none}

@media(max-width:560px){.thread-body{min-height:0}.taskcard{width:100%}}

/* ===== PROBLEM ===== */
.problem-section{background:var(--bg);border-top:1px solid var(--line);text-align:center;padding-top:clamp(58px,8vw,92px);padding-bottom:clamp(58px,8vw,92px)}
.problem-compact{max-width:780px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.problem-compact .section-label{margin-bottom:14px}
.problem-compact .section-title{margin-bottom:14px}
.problem-lead{font-size:clamp(16px,1.9vw,19px);line-height:1.55;color:var(--ink-soft);max-width:540px;margin:0 auto 34px;text-wrap:pretty}
.strike-line{display:flex;flex-wrap:wrap;gap:12px 30px;justify-content:center;font-family:var(--serif);font-weight:600;font-size:clamp(24px,3.7vw,42px);line-height:1.12;letter-spacing:-.025em;color:var(--ink)}
.strike-word{position:relative;white-space:nowrap;transition:color .55s var(--ease)}
.strike-word::after{content:'';position:absolute;left:-4px;right:100%;top:55%;height:3px;background:var(--red);border-radius:2px;transition:right .42s var(--ease)}
.strike-word.struck::after{right:-4px}
.strike-word.struck{color:var(--ink-ghost)}
@media(max-width:560px){.strike-line{font-size:25px;gap:9px 20px}}

/* ===== HOW IT WORKS ===== */
.how-section{background:var(--bg-warm);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.how-head{text-align:center;max-width:680px;margin:0 auto}
.how-head .section-body{margin:0 auto;text-align:center}
.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,44px);max-width:940px;margin:clamp(40px,5vw,56px) auto 0}
.hstep-n{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--accent);background:var(--surface);border:1px solid var(--line);margin-bottom:16px}
.hstep-t{font-size:17px;font-weight:600;letter-spacing:-.01em;margin-bottom:7px}
.hstep-d{font-size:14.5px;line-height:1.55;color:var(--ink-soft)}
@media(max-width:720px){.how-steps{grid-template-columns:1fr;gap:26px}}

/* ===== SHARED CONTEXT ===== */
.context-section,.midcta{--accent:#E18463;--accent-hover:#EC997B;--accent-rgb:225,132,99;--action-primary:#E8DDCC;--action-primary-hover:#F4EBDB;--text-on-primary:#211C17}
.context-section{background:var(--bg-deep);color:#fff;overflow:hidden;position:relative}
.context-section::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:900px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-rgb),.08),transparent 68%);pointer-events:none}
.context-section .section-inner{position:relative}
.context-section .section-label{color:rgba(255,255,255,.35)}
.context-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,5vw,72px);align-items:center}
.context-section .section-title{color:#fff}
.context-section .section-title em{color:var(--accent)}
.context-section .section-body{color:rgba(255,255,255,.55)}
.ctx-points{display:flex;flex-direction:column;gap:16px;margin-top:28px}
.ctx-pt{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.74)}
.ctx-pt svg{width:20px;height:20px;flex-shrink:0;color:var(--accent);fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.ctx-pt b{color:#fff;font-weight:700}
/* app board mock */
.board{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:22px;padding:20px;box-shadow:0 30px 70px rgba(0,0,0,.3)}
.board-head{display:flex;align-items:center;gap:11px;padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid rgba(255,255,255,.08)}
.board-headtext{flex:1;min-width:0}
.board-tag{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;background:rgba(var(--accent-rgb),.2);color:var(--accent)}
.board-tag svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9}
.board-title{font-size:15px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.board-sub{font-size:12px;color:rgba(255,255,255,.4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.board-members{margin-left:auto;display:flex;flex-shrink:0}
.board-members .bm{width:26px;height:26px;border-radius:50%;margin-left:-8px;border:2px solid var(--bg-deep);display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;color:#fff}
.board-members .bm.more{background:rgba(255,255,255,.14);color:rgba(255,255,255,.7)}
.btask{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:13px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);margin-bottom:9px;opacity:0;transform:translateX(-12px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.btask:last-child{margin-bottom:0}
.btask.in{opacity:1;transform:none}
.btask-check{width:19px;height:19px;border-radius:6px;border:2px solid rgba(255,255,255,.16);flex-shrink:0;display:flex;align-items:center;justify-content:center}
.btask.done .btask-check{border-color:var(--green);background:rgba(var(--green-rgb),.2)}
.btask.done .btask-check::after{content:'✓';font-size:10px;color:var(--green)}
.btask-body{flex:1;min-width:0}
.btask-t{font-size:13.5px;font-weight:600;color:rgba(255,255,255,.85);line-height:1.3}
.btask.done .btask-t{color:rgba(255,255,255,.5);text-decoration:line-through;text-decoration-color:rgba(255,255,255,.3)}
.btask-m{font-size:11px;color:rgba(255,255,255,.4);margin-top:2px}
.btask-who{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;color:#fff}
.btask-who.un{background:rgba(255,255,255,.08);color:rgba(255,255,255,.45);border:1.5px dashed rgba(255,255,255,.25)}
@media(max-width:820px){.context-grid{grid-template-columns:1fr;gap:44px}}

/* ===== MID / FINAL CTA ===== */
.midcta{background:linear-gradient(158deg,#CC6A48 0%,#A8472E 62%,#963C26 100%);color:#fff;text-align:center;padding:clamp(72px,11vw,128px) clamp(20px,4vw,48px);position:relative;overflow:hidden;border-top:1px solid rgba(255,255,255,.12)}
.midcta::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:900px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 66%);pointer-events:none}
.midcta-inner{position:relative;max-width:640px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.midcta-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.82);margin-bottom:18px}
.midcta-title{font-family:var(--serif);font-weight:600;font-size:clamp(30px,4.6vw,52px);line-height:1.1;letter-spacing:-.03em;color:#fff;margin-bottom:18px;text-wrap:balance}
.midcta-title em{font-style:italic;color:#FBEADD}
.midcta .btn-tg{background:#FCF4EA;color:#A8472E;border-color:transparent}
.midcta .btn-tg:hover{background:#fff;filter:none;box-shadow:0 14px 38px rgba(0,0,0,.22)}
.midcta-sub{font-size:clamp(15px,1.9vw,18px);line-height:1.6;color:rgba(255,255,255,.86);max-width:480px;margin:0 auto 34px}
.midcta-note{margin-top:22px;font-size:13px;color:rgba(255,255,255,.62)}
