:root{
  --color-bg:#0A0A0B;--color-bg-elevated:#121214;--color-bg-subtle:#1A1A1D;
  --color-fg:#E8E8EA;--color-fg-muted:#8A8A92;--color-fg-subtle:#5A5A62;
  --color-border:#26262C;--color-border-strong:#34343C;
  --color-accent:#FF9900;--color-accent-hover:#FFAA33;
  --color-lavender:#CCCCFF;--color-lavender-dim:#9999CC;
  --color-brain:#8B18E8;--color-brain-soft:#A855F7;
  --font-serif:"Fraunces","Canela",Georgia,"Times New Roman",serif;
  --font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --font-mono:"JetBrains Mono","IBM Plex Mono",Menlo,Consolas,monospace;
  --fs-hero:clamp(2.5rem,6vw + 1rem,6rem);--fs-h1:clamp(2rem,3vw + 1rem,3.5rem);
  --fs-h2:clamp(1.5rem,2vw + .75rem,2.25rem);--fs-h3:clamp(1.125rem,1vw + .75rem,1.375rem);
  --fs-body:1.0625rem;--fs-small:.875rem;--fs-caption:.75rem;
  --lh-tight:1.05;--lh-snug:1.25;--lh-normal:1.55;--lh-loose:1.7;
  --container-max:1280px;
  --radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-full:9999px;
  --ease-out:cubic-bezier(.2,.7,.25,1);--dur-fast:.15s;--dur-base:.3s;--dur-slow:.6s;
}
*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--color-bg);color:var(--color-fg);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
.font-serif{font-family:var(--font-serif);font-weight:300;letter-spacing:-.01em}
.font-mono{font-family:var(--font-mono)}
.caption{font-family:var(--font-sans);font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.18em;color:var(--color-fg-muted);font-weight:500}
.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem)}
.stack>*+*{margin-block-start:var(--stack-gap,1.5rem)}
::selection{background:var(--color-accent);color:var(--color-bg)}
:focus-visible{outline:2px solid var(--color-lavender);outline-offset:3px;border-radius:2px}

@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
[data-reveal],[data-reveal-stagger]>*{animation:rise .7s var(--ease-out) both}
[data-reveal-stagger]>*:nth-child(2){animation-delay:.06s}
[data-reveal-stagger]>*:nth-child(3){animation-delay:.12s}
[data-reveal-stagger]>*:nth-child(4){animation-delay:.18s}
[data-reveal-stagger]>*:nth-child(5){animation-delay:.24s}
[data-reveal-stagger]>*:nth-child(6){animation-delay:.3s}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-reveal],[data-reveal-stagger]>*{opacity:1!important;transform:none!important}
}
.skip-link{position:absolute;top:-100px;left:1rem;background:var(--color-accent);color:var(--color-bg);padding:.75rem 1.25rem;border-radius:var(--radius-sm);font-weight:600;z-index:1000;transition:top var(--dur-fast) var(--ease-out)}
.skip-link:focus{top:1rem}

/* ---- header ---- */
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);background:color-mix(in srgb,var(--color-bg) 72%,transparent);border-bottom:1px solid transparent;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}
.site-header.is-scrolled{border-bottom-color:var(--color-border);background:color-mix(in srgb,var(--color-bg) 88%,transparent)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;padding-block:1.15rem}
.logo{display:inline-flex;align-items:center;gap:.55rem}
.logo__dot{width:7px;height:7px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 12px color-mix(in srgb,var(--color-accent) 70%,transparent)}
.logo__mark{font-family:var(--font-sans);font-weight:700;letter-spacing:.22em;font-size:.875rem;color:var(--color-fg)}
.nav{display:flex;align-items:center;gap:clamp(1rem,2vw,2.25rem)}
.nav a{font-size:.875rem;font-weight:500;letter-spacing:.04em;color:var(--color-fg-muted);transition:color var(--dur-fast) var(--ease-out)}
.nav a:hover{color:var(--color-fg)}
.nav a[aria-current="page"]{color:var(--color-fg)}
.nav__cta{color:var(--color-bg)!important;background:var(--color-accent);padding:.6rem 1.1rem;border-radius:var(--radius-sm);font-weight:600;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.nav__cta:hover{background:var(--color-accent-hover);transform:translateY(-1px)}
@media(max-width:640px){.nav a:not(.nav__cta){display:none}}

/* ---- hero ---- */
.bhero{position:relative;overflow:hidden;padding-block:clamp(3.5rem,9vh,6.5rem) clamp(3rem,7vh,5rem);border-block-end:1px solid var(--color-border)}
.bhero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 15%,color-mix(in srgb,var(--color-brain) 20%,transparent) 0%,transparent 55%),radial-gradient(ellipse at 85% 80%,color-mix(in srgb,var(--color-accent) 7%,transparent) 0%,transparent 50%);pointer-events:none}
.bhero__grid{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.bhero__crumb{display:inline-flex;align-items:center;gap:.5rem;margin-block-end:1.5rem;color:var(--color-fg-subtle)}
.bhero__crumb a{color:var(--color-fg-muted);transition:color var(--dur-fast) var(--ease-out)}
.bhero__crumb a:hover{color:var(--color-accent)}
.bhero__title{font-size:var(--fs-hero);line-height:var(--lh-tight);letter-spacing:-.025em;margin:0}
.bhero__title em{font-style:italic;font-weight:300;color:var(--color-lavender)}
.bhero__deck{margin-block-start:1.75rem;max-width:46ch;font-size:1.125rem;color:var(--color-fg-muted)}
.status{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .75rem;border:1px solid color-mix(in srgb,var(--color-brain-soft) 55%,transparent);border-radius:var(--radius-full);color:var(--color-brain-soft);font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.16em;font-weight:600}
.status .dot{width:6px;height:6px;border-radius:50%;background:var(--color-brain-soft);animation:blink 1.8s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.bhero__mark{display:flex;justify-content:center}
.lockup{display:block;width:min(100%,340px);aspect-ratio:3752/2675;overflow:hidden;position:relative;filter:drop-shadow(0 0 60px color-mix(in srgb,var(--color-brain) 45%,transparent))}
.lockup img{position:absolute;top:0;left:0;width:111.94%;height:auto;transform:translate(-5.333%,-56.386%)}
.bhero__meta{margin-block-start:2.75rem;display:flex;flex-wrap:wrap;gap:2.25rem}
.bhero__meta div{display:flex;flex-direction:column;gap:.2rem}
.bhero__meta dt{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.15em;color:var(--color-fg-subtle)}
.bhero__meta dd{margin:0;font-size:.9375rem;color:var(--color-fg);font-weight:500}
@media(max-width:900px){.bhero__grid{grid-template-columns:1fr}.bhero__mark{order:-1}.lockup{width:min(58vw,220px)}}

/* ---- video ---- */
.section--video{padding-block:clamp(3rem,6vw,5rem);background:linear-gradient(180deg,color-mix(in srgb,var(--color-brain) 9%,var(--color-bg)),var(--color-bg))}
.vid{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:#000;box-shadow:0 40px 100px -40px color-mix(in srgb,var(--color-brain) 55%,transparent)}
.vid video{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:contain;background:#000}
.vid__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:baseline;margin-block-start:1rem;color:var(--color-fg-muted);font-size:.9375rem}
.vid__meta .caption{color:var(--color-brain-soft)}

/* ---- sections ---- */
.section{padding-block:clamp(3.5rem,7vw,6rem);position:relative}
.section--alt{background:var(--color-bg-elevated);border-block:1px solid var(--color-border)}
.section__inner{display:flex;flex-direction:column;gap:clamp(2rem,4vw,3.25rem)}
.section__header{max-width:820px}
.section__header .caption{color:var(--color-lavender);margin-block-end:.75rem;display:inline-flex;align-items:center;gap:.6rem}
.section__header .caption:before{content:"";width:22px;height:1px;background:var(--color-lavender);opacity:.6}
.section__title{font-size:var(--fs-h1);line-height:var(--lh-snug);letter-spacing:-.02em;margin:0;font-weight:300}
.section__deck{margin-block-start:1rem;color:var(--color-fg-muted);font-size:1.0625rem;max-width:62ch}

/* ---- what it is ---- */
.what__grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.what__body p{color:var(--color-fg);max-width:60ch;font-size:1.0625rem;line-height:var(--lh-loose);margin-block:0}
.what__body.stack>*+*{margin-block-start:var(--stack-gap,1.5rem)}
.what__body em{color:var(--color-lavender);font-style:normal;font-weight:500}
.what__body strong{color:var(--color-fg);font-weight:600}
.callout{padding:1.5rem 1.75rem;border:1px solid var(--color-border);border-left:3px solid var(--color-brain-soft);border-radius:4px;background:color-mix(in srgb,var(--color-brain) 7%,transparent)}
.callout .caption{color:var(--color-brain-soft);margin-block-end:.6rem;display:block}
.callout p{margin:0;font-size:1rem;line-height:1.65;color:var(--color-fg-muted);max-width:60ch}
.what__figure{margin:0;padding:1.5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg)}
.what__figure img{width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--color-bg-subtle);border-radius:6px;filter:grayscale(12%) contrast(1.02)}
.what__figure figcaption{margin-block-start:1rem;color:var(--color-fg-muted);font-size:.9375rem;line-height:1.5}
.what__figure figcaption .caption{display:block;color:var(--color-lavender);margin-block-end:.3rem}
@media(max-width:900px){.what__grid{grid-template-columns:1fr}.what__figure{max-width:460px}}

/* ---- layers ---- */
.layers{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1.25rem}
.layer{padding:1.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);transition:border-color var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.layer:hover{border-color:var(--color-brain-soft);transform:translateY(-2px)}
.layer__index{font-family:var(--font-mono);font-size:.75rem;color:var(--color-accent);letter-spacing:.1em;margin-block-end:1rem}
.layer__title{font-family:var(--font-sans);font-weight:600;font-size:1rem;letter-spacing:.02em;color:var(--color-lavender);margin:0 0 .75rem}
.layer p{margin:0;color:var(--color-fg-muted);font-size:.9375rem}

/* ---- advisory board ---- */
.board__figure{margin:0;position:relative;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);background:#000;box-shadow:0 40px 100px -50px color-mix(in srgb,var(--color-brain) 60%,transparent)}
.board__figure img,.board__figure picture{width:100%;display:block}
.board__figure figcaption{padding:1.1rem 1.35rem;background:var(--color-bg-elevated);border-block-start:1px solid var(--color-border);color:var(--color-fg-muted);font-size:.9375rem;line-height:1.5}
.board__figure figcaption .caption{display:block;color:var(--color-brain-soft);margin-block-end:.35rem}
.board__note{margin:0;color:var(--color-fg-muted);font-size:.8125rem;letter-spacing:.02em;max-width:80ch}
.evoke{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem;padding:clamp(1.5rem,3vw,2.25rem);border:1px solid color-mix(in srgb,var(--color-brain-soft) 40%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-brain) 9%,transparent)}
.evoke__q{margin:0;font-family:var(--font-serif);font-weight:300;font-style:italic;font-size:clamp(1.0625rem,1.1vw + .7rem,1.3125rem);line-height:1.35;letter-spacing:-.015em;color:var(--color-lavender)}
.evoke__q:before{content:"";display:block;width:20px;height:1px;background:var(--color-brain-soft);margin-block-end:.9rem;opacity:.7}
.how{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(1.25rem,3vw,2.5rem)}
.how__item{display:flex;flex-direction:column;gap:.55rem}
.how__index{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.14em;color:var(--color-accent)}
.how__title{margin:0;font-family:var(--font-sans);font-weight:600;font-size:.9375rem;letter-spacing:.02em;color:var(--color-lavender)}
.how__item p{margin:0;color:var(--color-fg-muted);font-size:.9375rem}
.domains{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:1px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}
.domain{background:var(--color-bg);outline:1px solid var(--color-border);padding:1.35rem;display:flex;flex-direction:column;gap:.6rem;transition:background var(--dur-base) var(--ease-out)}
.domain:hover{background:var(--color-bg-elevated)}
.domain__head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}
.domain__field{font-family:var(--font-serif);font-weight:400;font-size:1.0625rem;color:var(--color-fg);letter-spacing:-.01em;line-height:1.25}
.domain__count{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.1em;color:var(--color-accent);flex:none}
.domain__names{margin:0;font-size:.8125rem;line-height:1.55;color:var(--color-fg-muted)}
.compl{border:1px solid color-mix(in srgb,var(--color-brain-soft) 38%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-brain) 8%,transparent);overflow:hidden}
.compl__head{padding:clamp(1.5rem,3vw,2.25rem);border-block-end:1px solid var(--color-border)}
.compl__label{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.14em;color:var(--color-brain-soft);text-transform:uppercase;margin-block-end:.9rem}
.compl__label:before{content:"";width:18px;height:1px;background:var(--color-brain-soft);opacity:.7}
.compl__title{margin:0 0 1rem;font-family:var(--font-serif);font-weight:300;font-size:var(--fs-h2);letter-spacing:-.02em;line-height:1.2}
.compl__head p{margin:0;color:var(--color-fg-muted);max-width:64ch}
.compl__head p+p{margin-block-start:.85rem}
.compl__head em{font-style:normal;color:var(--color-lavender)}
.compl__body{padding:clamp(1.5rem,3vw,2.25rem);display:flex;flex-direction:column;gap:1.5rem}
.compl__caption{margin:0;font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.18em;color:var(--color-fg-subtle);font-weight:500}
.sources{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:1.5rem 2rem;margin:0}
.source{display:flex;flex-direction:column;gap:.5rem}
.source__scope{font-family:var(--font-sans);font-weight:600;font-size:.875rem;letter-spacing:.02em;color:var(--color-lavender);margin:0}
.source ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.4rem}
.source li{font-size:.8125rem;line-height:1.5;color:var(--color-fg-muted);padding-inline-start:.85rem;position:relative}
.source li:before{content:"";position:absolute;left:0;top:.55em;width:4px;height:1px;background:var(--color-fg-subtle)}
.compl__rule{display:flex;flex-wrap:wrap;gap:.5rem}
.compl__rule span{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--color-fg-muted);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:.35rem .8rem}
.board__tally{display:flex;flex-wrap:wrap;gap:2.5rem;padding-block-start:.25rem}
.board__tally div{display:flex;flex-direction:column;gap:.15rem}
.board__tally dt{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.15em;color:var(--color-fg-subtle)}
.board__tally dd{margin:0;font-family:var(--font-serif);font-weight:300;font-size:clamp(1.75rem,2.4vw,2.5rem);line-height:1;color:var(--color-lavender);letter-spacing:-.02em}

/* ---- cad studio ---- */
.cad{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.cad__lede{margin:0;color:var(--color-fg);font-size:1.0625rem;line-height:var(--lh-loose);max-width:56ch}
.cad__lede em{font-style:normal;color:var(--color-lavender)}
.principle{margin-block-start:1.5rem;padding:1.35rem 1.6rem;border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:4px;background:color-mix(in srgb,var(--color-accent) 6%,transparent)}
.principle .caption{display:block;color:var(--color-accent);margin-block-end:.55rem}
.principle p{margin:0;color:var(--color-fg-muted);font-size:1rem;line-height:1.6;max-width:52ch}
.zones{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem}
.zone{padding:.85rem 1rem;border-radius:6px;border:1px solid var(--color-border);display:flex;flex-direction:column;gap:.2rem;background:var(--color-bg)}
.zone b{font-size:.875rem;font-weight:600;color:var(--color-fg)}
.zone span{font-size:.6875rem;color:var(--color-fg-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.pipeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}
.step{background:var(--color-bg);outline:1px solid var(--color-border);padding:1.5rem 1.35rem;display:flex;flex-direction:column;gap:.55rem;transition:background var(--dur-base) var(--ease-out)}
.step:hover{background:var(--color-bg-elevated)}
.step__n{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.14em;color:var(--color-accent)}
.step h4{margin:0;font-family:var(--font-sans);font-weight:600;font-size:.9375rem;letter-spacing:.02em;color:var(--color-lavender)}
.step p{margin:0;color:var(--color-fg-muted);font-size:.875rem;line-height:1.55}
.engines{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}
.engine{padding:1.5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);display:flex;flex-direction:column;gap:.5rem;transition:border-color var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.engine:hover{border-color:var(--color-brain-soft);transform:translateY(-2px)}
.engine__role{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent)}
.engine__name{font-family:var(--font-serif);font-weight:400;font-size:1.125rem;color:var(--color-fg);letter-spacing:-.01em}
.engine p{margin:0;color:var(--color-fg-muted);font-size:.875rem;line-height:1.55}
.outputs{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}
.outputs li{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--color-fg-muted);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:.35rem .8rem}
@media(max-width:900px){.cad{grid-template-columns:1fr}}

/* ---- companion ---- */
.app{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.phone{border:1px solid var(--color-border-strong);border-radius:26px;padding:8px;background:var(--color-bg-subtle);box-shadow:0 40px 90px -45px color-mix(in srgb,var(--color-brain) 65%,transparent)}
.phone img{width:100%;border-radius:19px;display:block}
.app__body{display:flex;flex-direction:column;gap:clamp(1.5rem,3vw,2.25rem)}
.app__lede{margin:0;color:var(--color-fg);font-size:1.0625rem;line-height:var(--lh-loose);max-width:56ch}
.app__lede em{font-style:normal;color:var(--color-lavender)}
.fgroup{display:flex;flex-direction:column;gap:.9rem}
.fgroup__label{margin:0;font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.18em;color:var(--color-fg-subtle);font-weight:500}
.fgroup ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:.85rem 1.5rem}
.fgroup li{display:flex;flex-direction:column;gap:.2rem;font-size:.9375rem;color:var(--color-fg-muted);line-height:1.45}
.fgroup li b{font-family:var(--font-sans);font-weight:600;font-size:.9375rem;color:var(--color-fg)}
@media(max-width:820px){.app{grid-template-columns:1fr}.phone{max-width:280px}}

/* ---- cta ---- */
.section--cta{padding-block:clamp(4rem,9vw,7rem);background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--color-brain) 12%,transparent),transparent 60%),var(--color-bg);border-block-start:1px solid var(--color-border);text-align:center}
.section--cta .section__header{margin-inline:auto;text-align:center}
.section--cta .section__header .caption{justify-content:center}
.section--cta .section__deck{margin-inline:auto}
.btn-row{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-block-start:2.25rem}
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.875rem 1.5rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9375rem;transition:all var(--dur-fast) var(--ease-out)}
.btn--primary{background:var(--color-accent);color:var(--color-bg)}
.btn--primary:hover{background:var(--color-accent-hover);transform:translateY(-1px)}
.btn--ghost{color:var(--color-fg);border:1px solid var(--color-border)}
.btn--ghost:hover{border-color:var(--color-lavender);color:var(--color-lavender)}

/* ---- footer ---- */
.site-footer{border-top:1px solid var(--color-border);padding-block:3rem 1.5rem;background:var(--color-bg)}
.site-footer__inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-block-end:2.5rem}
.site-footer__col p{margin:0 0 .35rem;color:var(--color-fg-muted);font-size:.9375rem}
.site-footer__col .caption{margin-block-end:.75rem}
.site-footer__col a:hover{color:var(--color-accent)}
.site-footer__brand{font-weight:700!important;letter-spacing:.22em;color:var(--color-fg)!important;font-size:.9375rem!important}
.site-footer__tag{font-size:.8125rem!important;margin-block-start:.5rem!important}
.site-footer__base{padding-block-start:1.5rem;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;color:var(--color-fg-subtle);font-size:.8125rem}
.site-footer__base p{margin:0}
