/* MemDev design system — terminal phosphor aesthetic */
:root {
  --bg:         #0A0D10;
  --bg-deep:    #06080A;
  --surface:    #11151A;
  --surface-2:  #161B22;
  --surface-3:  #1C2229;
  --line:       rgba(255,255,255,0.08);
  --line-strong:rgba(255,255,255,0.16);
  --line-faint: rgba(255,255,255,0.04);

  --text:       #E6EDF3;
  --text-muted: #9BA9B7;
  --text-faint: #5A6772;
  --text-dim:   #3D464F;

  --green:        #4FE685;
  --green-soft:   rgba(79,230,133,0.12);
  --green-glow:   rgba(79,230,133,0.45);
  --amber:        #FFB454;
  --amber-soft:   rgba(255,180,84,0.12);
  --red:          #FF6E6E;
  --red-soft:     rgba(255,110,110,0.12);
  --blue:         #6BB6FF;
  --blue-soft:    rgba(107,182,255,0.12);
  --purple:       #C792EA;
  --purple-soft:  rgba(199,146,234,0.12);

  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;

  --t-2xs: 11px; --t-xs: 12px; --t-sm: 13px; --t-base: 14px;
  --t-md: 15px;  --t-lg: 17px; --t-xl: 20px; --t-2xl: 26px;
  --t-3xl: 34px; --t-4xl: 48px;

  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px;
  --s-6:32px; --s-7:48px; --s-8:64px; --s-9:96px;

  --r-sm:4px; --r-md:6px; --r-lg:10px; --r-xl:14px;

  --sh-3: 0 16px 48px rgba(0,0,0,0.6);

  --dur-1:120ms; --dur-2:220ms; --dur-3:480ms;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-sans);
  font-size:var(--t-base);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--green-soft);color:var(--green);}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}

/* ── Layout shell ── */
.shell{position:relative;overflow:hidden;}
.dot-grid{
  position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,0.05) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,black 30%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,black 30%,transparent 75%);
  pointer-events:none;
}

/* ── Nav ── */
.nav{position:relative;z-index:10;display:flex;align-items:center;gap:var(--s-5);padding:18px 32px;border-bottom:1px solid var(--line-faint);backdrop-filter:blur(8px);}
.nav__brand{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-weight:700;font-size:15px;letter-spacing:-0.01em;color:var(--text);text-decoration:none;}
.nav__brand-mark{width:26px;height:26px;display:grid;place-items:center;}
.nav__brand-mark svg{width:100%;height:100%;}
.nav__links{display:flex;gap:var(--s-5);margin-left:var(--s-6);}
.nav__link{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-muted);text-decoration:none;transition:color var(--dur-1);white-space:nowrap;}
.nav__link:hover{color:var(--text);}
.nav__spacer{flex:1;}
.nav__github{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-muted);text-decoration:none;padding:6px 10px;border:1px solid var(--line);border-radius:var(--r-sm);transition:border-color var(--dur-1),color var(--dur-1);white-space:nowrap;flex-shrink:0;}
.nav__github:hover{color:var(--text);border-color:var(--line-strong);}
.nav__github svg{width:14px;height:14px;}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:var(--t-sm);font-weight:500;padding:10px 16px;border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer;text-decoration:none;letter-spacing:-0.01em;transition:background var(--dur-1),border-color var(--dur-1),color var(--dur-1),transform var(--dur-1);white-space:nowrap;}
.btn:active{transform:translateY(1px);}
.btn--primary{background:var(--green);color:var(--bg-deep);font-weight:600;}
.btn--primary:hover{background:#6CEF99;box-shadow:0 0 24px var(--green-glow);}
.btn--ghost{background:transparent;color:var(--text-muted);border-color:var(--line);}
.btn--ghost:hover{color:var(--text);border-color:var(--line-strong);}
.btn--sm{padding:6px 10px;font-size:var(--t-xs);}
.btn--lg{padding:14px 22px;font-size:var(--t-base);}

/* ── Section scaffold ── */
.section{padding:var(--s-9) 32px;max-width:1280px;margin:0 auto;position:relative;}
.section--tight{padding:var(--s-7) 32px;}
.section-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:var(--t-xs);color:var(--green);letter-spacing:0.04em;margin-bottom:var(--s-4);}
.section-eyebrow::before{content:"";width:16px;height:1px;background:var(--green);}
.section-title{font-family:var(--font-sans);font-weight:600;font-size:clamp(28px,4vw,44px);line-height:1.08;letter-spacing:-0.025em;color:var(--text);margin:0 0 var(--s-3);max-width:22ch;}
.section-title em{font-style:normal;color:var(--green);}
.section-sub{font-size:var(--t-md);color:var(--text-muted);margin:0;max-width:56ch;line-height:1.6;}

/* ── Hero ── */
.hero{position:relative;display:grid;grid-template-columns:1fr;gap:var(--s-7);padding:var(--s-8) 32px var(--s-9);max-width:1280px;margin:0 auto;}
.hero__top{max-width:760px;}
.hero__tag{display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 8px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-muted);margin-bottom:var(--s-5);white-space:nowrap;}
.hero__tag-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px var(--green-soft);animation:pulse 2.4s ease-out infinite;}
@keyframes pulse{0%,100%{box-shadow:0 0 0 3px var(--green-soft);}50%{box-shadow:0 0 0 6px transparent;}}
.hero__tag b{color:var(--text);font-weight:600;}
.hero__title{font-family:var(--font-sans);font-weight:600;font-size:clamp(38px,5.2vw,64px);line-height:1.05;letter-spacing:-0.035em;color:var(--text);margin:0 0 var(--s-5);max-width:20ch;}
.hero__title em{font-family:var(--font-mono);font-style:normal;font-weight:500;color:var(--green);letter-spacing:-0.02em;white-space:nowrap;}
.hero__title-cursor{display:inline-block;width:0.08em;height:0.78em;background:var(--green);vertical-align:-0.04em;animation:blink 1.1s steps(2) infinite;box-shadow:0 0 12px var(--green-glow);}
@keyframes blink{50%{opacity:0;}}
.hero__lede{font-size:clamp(16px,1.4vw,19px);color:var(--text-muted);line-height:1.55;max-width:58ch;margin:0 0 var(--s-6);}
.hero__lede b{color:var(--text);font-weight:600;}
.hero__cta{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap;}
.hero__cta-form{display:flex;gap:0;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-sm);overflow:hidden;}
.hero__cta-form:focus-within{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft);}
.hero__cta-input{background:transparent;border:0;outline:none;padding:10px 14px;font:inherit;font-family:var(--font-mono);font-size:var(--t-sm);color:var(--text);width:280px;}
.hero__cta-input::placeholder{color:var(--text-faint);}
.hero__cta-form .btn{border-radius:0;}
.hero__meta{display:flex;gap:var(--s-5);flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-faint);margin-top:var(--s-4);}
.hero__meta span{display:inline-flex;align-items:center;gap:6px;}
.hero__meta svg{width:12px;height:12px;}

/* Hero stage */
.hero__stage{display:grid;grid-template-columns:minmax(0,1.15fr) auto minmax(0,1fr);gap:var(--s-5);align-items:center;margin-top:var(--s-5);}
@media(max-width:920px){.hero__stage{grid-template-columns:1fr;gap:var(--s-4);}.hero__arrow{display:none;}}
.hero__arrow{display:grid;place-items:center;font-family:var(--font-mono);color:var(--green);font-size:var(--t-xs);}
.hero__arrow svg{width:32px;height:12px;}
.hero__arrow span{font-size:10px;color:var(--text-faint);letter-spacing:0.08em;text-transform:uppercase;margin-top:4px;white-space:nowrap;}

/* ── Terminal ── */
.term{background:#0D1117;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-3);font-family:var(--font-mono);font-size:var(--t-sm);line-height:1.55;}
.term__chrome{display:flex;align-items:center;gap:10px;padding:11px 14px;background:#161B22;border-bottom:1px solid var(--line-faint);}
.term__dots{display:flex;gap:6px;}
.term__dots span{width:11px;height:11px;border-radius:50%;}
.term__dots span:nth-child(1){background:#FF6058;}
.term__dots span:nth-child(2){background:#FFBD2D;}
.term__dots span:nth-child(3){background:#28C840;}
.term__title{flex:1;text-align:center;font-size:var(--t-xs);color:var(--text-faint);letter-spacing:0.02em;}
.term__title .path{color:var(--text-muted);}
.term__badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--green);padding:2px 7px;background:var(--green-soft);border-radius:3px;letter-spacing:0.04em;}
.term__badge::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--green);}
.term__body{padding:var(--s-4) var(--s-5);min-height:280px;position:relative;}
.term__line{display:flex;gap:8px;align-items:baseline;min-height:21px;}
.term__prompt{color:var(--green);user-select:none;}
.term__cmd{color:var(--text);}
.term__out{color:var(--text-muted);white-space:pre-wrap;}
.term__out--dim{color:var(--text-faint);}
.term__out--ok{color:var(--green);}
.term__cursor{display:inline-block;width:8px;height:16px;background:var(--green);margin-left:1px;vertical-align:-3px;animation:blink 1.1s steps(2) infinite;}

/* ── Memory card ── */
.memcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-4) var(--s-4) var(--s-3);font-size:var(--t-sm);}
.memcard--glow{border-color:rgba(79,230,133,0.35);box-shadow:0 0 0 1px rgba(79,230,133,0.08),0 8px 32px rgba(79,230,133,0.08);}
.memcard__head{display:flex;align-items:center;gap:8px;margin-bottom:var(--s-3);padding-bottom:var(--s-3);border-bottom:1px solid var(--line-faint);}
.memcard__id{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);letter-spacing:0.06em;padding:2px 6px;background:var(--surface-3);border-radius:3px;}
.memcard__time{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-faint);}
.memcard__branch{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:var(--t-xs);color:var(--purple);padding:2px 7px;background:var(--purple-soft);border-radius:3px;}
.memcard__branch svg{width:10px;height:10px;}
.memcard__summary{font-size:var(--t-md);font-weight:500;color:var(--text);line-height:1.45;margin:0 0 var(--s-3);}
.memcard__files{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--s-3);}
.memcard__file{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-muted);}
.memcard__file-path{color:var(--text-muted);}
.memcard__file-add{color:var(--green);}
.memcard__file-del{color:var(--red);}
.memcard__foot{display:flex;gap:8px;flex-wrap:wrap;padding-top:var(--s-3);border-top:1px solid var(--line-faint);}
.memcard__tag{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);padding:2px 7px;background:var(--surface-3);border-radius:3px;letter-spacing:0.04em;}
.memcard__tag.tag--ai{color:var(--blue);background:var(--blue-soft);}

/* ── AI chat ── */
.aichat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;font-size:var(--t-sm);}
.aichat__head{display:flex;align-items:center;gap:10px;padding:11px 14px;background:var(--surface-2);border-bottom:1px solid var(--line-faint);}
.aichat__head-mark{width:22px;height:22px;display:grid;place-items:center;background:linear-gradient(135deg,#D97757,#C56B4D);border-radius:5px;color:white;font-weight:700;font-size:12px;}
.aichat__head-name{font-weight:600;font-size:var(--t-xs);}
.aichat__head-status{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);margin-left:auto;display:inline-flex;align-items:center;gap:5px;}
.aichat__head-status::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);}
.aichat__body{padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3);min-height:260px;}
.aichat__msg-user,.aichat__msg-ai{display:flex;flex-direction:column;gap:4px;}
.aichat__role{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);letter-spacing:0.06em;}
.aichat__bubble{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px;font-size:var(--t-sm);line-height:1.5;color:var(--text);}
.aichat__msg-ai .aichat__bubble{background:rgba(217,119,87,0.06);border-color:rgba(217,119,87,0.2);}
.aichat__bubble code{font-family:var(--font-mono);font-size:var(--t-xs);background:var(--surface-3);padding:1px 4px;border-radius:3px;color:var(--green);}
.aichat__inject{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-family:var(--font-mono);font-size:10px;color:var(--green);padding:4px 8px;background:var(--green-soft);border:1px dashed rgba(79,230,133,0.3);border-radius:3px;letter-spacing:0.04em;}

/* ── Problem section ── */
.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6);align-items:stretch;margin-top:var(--s-6);}
@media(max-width:920px){.problem-grid{grid-template-columns:1fr;}}
.transcript{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3);}
.transcript__head{display:flex;align-items:center;gap:8px;margin-bottom:var(--s-2);padding-bottom:var(--s-3);border-bottom:1px solid var(--line-faint);}
.transcript__day{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-faint);}
.transcript__day b{color:var(--text-muted);font-weight:600;}
.transcript__pain{margin-left:auto;font-size:10px;font-family:var(--font-mono);color:var(--red);padding:2px 7px;background:var(--red-soft);border-radius:3px;letter-spacing:0.04em;}
.tmsg{display:flex;flex-direction:column;gap:4px;}
.tmsg__role{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);letter-spacing:0.04em;}
.tmsg__bubble{font-size:var(--t-sm);padding:9px 12px;border-radius:var(--r-md);line-height:1.5;max-width:92%;}
.tmsg--user .tmsg__bubble{background:var(--surface-2);border:1px solid var(--line);align-self:flex-start;}
.tmsg--ai .tmsg__bubble{background:rgba(217,119,87,0.06);border:1px solid rgba(217,119,87,0.2);align-self:flex-end;}
.tmsg--ai{align-items:flex-end;}
.tmsg__bubble em{font-style:italic;color:var(--text-muted);}
.problem-side{display:flex;flex-direction:column;gap:var(--s-4);justify-content:center;}
.problem-side__quote{font-size:clamp(22px,2.5vw,30px);line-height:1.25;letter-spacing:-0.02em;color:var(--text);font-weight:500;margin:0;}
.problem-side__quote em{font-style:normal;color:var(--green);}
.problem-side__list{display:flex;flex-direction:column;gap:var(--s-3);margin-top:var(--s-2);}
.problem-side__item{display:grid;grid-template-columns:18px 1fr;gap:var(--s-3);align-items:flex-start;}
.problem-side__icon{width:18px;height:18px;display:grid;place-items:center;color:var(--red);margin-top:2px;}
.problem-side__icon svg{width:14px;height:14px;}
.problem-side__item-title{font-weight:600;font-size:var(--t-sm);color:var(--text);margin:0;}
.problem-side__item-desc{font-size:var(--t-sm);color:var(--text-muted);margin:2px 0 0;line-height:1.5;}

/* ── Steps ── */
.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:var(--s-6);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;}
.step{padding:var(--s-5) var(--s-5) var(--s-6);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);}
.step:nth-child(2n){border-right:0;}
.step:nth-child(n+3){border-bottom:0;}
.step__num{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--green);letter-spacing:0.04em;margin-bottom:var(--s-3);}
.step__title{font-weight:600;font-size:var(--t-xl);letter-spacing:-0.02em;color:var(--text);margin:0 0 var(--s-2);}
.step__desc{font-size:var(--t-sm);color:var(--text-muted);margin:0 0 var(--s-4);line-height:1.6;}
.step__viz{background:var(--bg-deep);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s-3);font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-muted);}
.step__viz-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.7;}
.step__viz-prompt{color:var(--green);margin-right:6px;}
.step__viz-cmd{color:var(--text);}
.step__viz-out{color:var(--text-faint);}
.step__viz-ok{color:var(--green);}
@media(max-width:720px){.steps{grid-template-columns:1fr;}.step{border-right:0;border-bottom:1px solid var(--line);}.step:last-child{border-bottom:0;}}

/* ── Features grid ── */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-top:var(--s-6);}
.feat{background:var(--surface);padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3);}
.feat__icon{width:28px;height:28px;display:grid;place-items:center;color:var(--green);}
.feat__icon svg{width:100%;height:100%;}
.feat__title{font-family:var(--font-mono);font-size:var(--t-sm);font-weight:500;color:var(--text);letter-spacing:-0.01em;margin:0;}
.feat__desc{font-size:var(--t-sm);color:var(--text-muted);margin:0;line-height:1.55;}
.feat__code{font-family:var(--font-mono);font-size:var(--t-xs);background:var(--bg-deep);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;color:var(--text-muted);margin-top:auto;}
.feat__code .kw{color:var(--green);}
.feat__code .arg{color:var(--blue);}
.feat__code .str{color:var(--amber);}
@media(max-width:1100px){.feats{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.feats{grid-template-columns:1fr;}}

/* ── Architecture ── */
.arch{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-6);margin-top:var(--s-6);display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6);}
@media(max-width:920px){.arch{grid-template-columns:1fr;}}
.arch__pipeline{display:flex;flex-direction:column;gap:0;}
.arch__node{display:grid;grid-template-columns:36px 1fr auto;gap:var(--s-3);align-items:center;padding:12px 14px;background:var(--bg-deep);border:1px solid var(--line);border-radius:var(--r-md);}
.arch__node-icon{width:36px;height:36px;background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-sm);display:grid;place-items:center;color:var(--green);}
.arch__node-icon svg{width:16px;height:16px;}
.arch__node-name{font-family:var(--font-mono);font-size:var(--t-sm);font-weight:500;color:var(--text);}
.arch__node-tech{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);margin-top:2px;letter-spacing:0.02em;}
.arch__node-tag{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);padding:3px 7px;background:var(--surface-3);border-radius:3px;}
.arch__connector{width:2px;height:18px;margin:0 auto;background:var(--line-strong);position:relative;}
.arch__connector::after{content:"";position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--line-strong);}
.arch__detail h3{font-weight:600;font-size:var(--t-xl);letter-spacing:-0.02em;color:var(--text);margin:0 0 var(--s-3);}
.arch__detail p{font-size:var(--t-sm);color:var(--text-muted);line-height:1.65;margin:0 0 var(--s-3);}
.arch__detail p code{font-family:var(--font-mono);font-size:var(--t-xs);background:var(--bg-deep);padding:1px 5px;border-radius:3px;color:var(--green);}
.arch__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-3);margin-top:var(--s-4);}
.arch__stat{background:var(--bg-deep);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s-3);}
.arch__stat-num{font-family:var(--font-mono);font-size:var(--t-2xl);font-weight:500;color:var(--green);letter-spacing:-0.02em;line-height:1;}
.arch__stat-label{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-faint);margin-top:4px;letter-spacing:0.02em;}

/* ── Logo exploration ── */
.logo-explore{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4);margin-top:var(--s-5);}
@media(max-width:720px){.logo-explore{grid-template-columns:1fr;}}
.logo-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3);align-items:center;text-align:center;}
.logo-card__display{width:100%;min-height:140px;display:grid;place-items:center;background:var(--bg-deep);border-radius:var(--r-md);border:1px solid var(--line);}
.logo-card__name{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-faint);letter-spacing:0.06em;text-transform:uppercase;}
.logo-card__title{font-weight:600;font-size:var(--t-md);color:var(--text);}
.logo-card__desc{font-size:var(--t-xs);color:var(--text-muted);line-height:1.55;max-width:36ch;}

/* ── FAQ ── */
.faq{margin-top:var(--s-6);}
.faq__item{border-bottom:1px solid var(--line);padding:var(--s-4) 0;}
.faq__item:first-child{border-top:1px solid var(--line);}
.faq__q{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);font-weight:500;font-size:var(--t-md);color:var(--text);cursor:pointer;user-select:none;}
.faq__q-icon{color:var(--text-faint);transition:transform var(--dur-2);}
.faq__item.is-open .faq__q-icon{transform:rotate(45deg);color:var(--green);}
.faq__a{font-size:var(--t-sm);color:var(--text-muted);line-height:1.65;margin:0;max-height:0;overflow:hidden;transition:max-height var(--dur-3),padding var(--dur-2);}
.faq__item.is-open .faq__a{max-height:400px;padding-top:var(--s-3);}
.faq__a code{font-family:var(--font-mono);font-size:var(--t-xs);background:var(--surface-2);padding:1px 5px;border-radius:3px;color:var(--green);}

/* ── CTA strip ── */
.cta-strip{margin-top:var(--s-9);padding:var(--s-8) var(--s-7);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);text-align:center;position:relative;overflow:hidden;}
.cta-strip::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 100% at 50% 0%,var(--green-soft),transparent 70%);pointer-events:none;}
.cta-strip__title{position:relative;font-weight:600;font-size:clamp(28px,4vw,44px);letter-spacing:-0.025em;margin:0 0 var(--s-3);color:var(--text);}
.cta-strip__title em{font-style:normal;color:var(--green);font-family:var(--font-mono);font-weight:500;}
.cta-strip__sub{position:relative;font-size:var(--t-md);color:var(--text-muted);margin:0 auto var(--s-5);max-width:50ch;}
.cta-strip__form{position:relative;display:inline-flex;gap:0;background:var(--bg-deep);border:1px solid var(--line-strong);border-radius:var(--r-sm);overflow:hidden;}
.cta-strip__form:focus-within{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft);}
.cta-strip__input{background:transparent;border:0;outline:none;padding:12px 16px;font:inherit;font-family:var(--font-mono);font-size:var(--t-sm);color:var(--text);width:320px;}
.cta-strip__input::placeholder{color:var(--text-faint);}
.cta-strip__form .btn{border-radius:0;}

/* ── Footer ── */
.foot{margin-top:var(--s-9);padding:var(--s-6) 32px var(--s-7);border-top:1px solid var(--line-faint);}
.foot__inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--s-6);}
.foot__brand-name{font-family:var(--font-mono);font-weight:700;font-size:15px;color:var(--text);margin-bottom:var(--s-3);display:inline-flex;align-items:center;gap:8px;}
.foot__brand-desc{font-size:var(--t-sm);color:var(--text-faint);max-width:36ch;line-height:1.55;}
.foot__col-title{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-muted);letter-spacing:0.06em;text-transform:uppercase;margin:0 0 var(--s-3);}
.foot__col a{display:block;font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-faint);text-decoration:none;margin-bottom:8px;transition:color var(--dur-1);}
.foot__col a:hover{color:var(--text);}
.foot__bottom{max-width:1280px;margin:var(--s-6) auto 0;display:flex;justify-content:space-between;align-items:center;padding-top:var(--s-4);border-top:1px solid var(--line-faint);font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-dim);}
@media(max-width:720px){.foot__inner{grid-template-columns:1fr 1fr;}}
