/* ═══════════════════════════════════════════════════════════════════
   asistangpt.com — Vekil & Bekir
   Aesthetic: dark editorial. Ink ground, bone type, brass & mint accents.
   Committed single (dark) theme — no light variant by design.
   ═══════════════════════════════════════════════════════════════════ */

:root{
  --ink:      #0A0A0B;
  --ink-2:    #0F0F11;
  --ink-3:    #16161A;
  --ink-4:    #1D1D22;

  --bone:     #EFE9DE;
  --bone-2:   #B4AEA2;
  --bone-3:   #7A756C;

  --brass:    #D8A93A;
  --mint:     #4FCB8B;
  --acc:      var(--brass);

  --line:     rgba(239,233,222,.10);
  --line-2:   rgba(239,233,222,.18);

  --display:  'Fraunces', 'Iowan Old Style', Georgia, 'Times New Roman', serif;
  --sans:     'Archivo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --mono:     'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

  --shell:    1180px;
  --ease:     cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; scroll-padding-top:88px; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:var(--ink);
  color:var(--bone);
  font-family:var(--sans);
  font-size:clamp(15px,.42vw + 14px,17px);
  line-height:1.62;
  font-weight:400;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img,svg{ max-width:100%; display:block; }

::selection{ background:var(--brass); color:#0A0A0B; }

/* film grain over everything */
.grain{
  position:fixed; inset:0; z-index:9999; pointer-events:none; opacity:.055;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
}

.skip{
  position:absolute; left:-9999px; top:0; z-index:10000;
  background:var(--bone); color:var(--ink); padding:.7rem 1.1rem; font-family:var(--mono); font-size:12px;
}
.skip:focus{ left:12px; top:12px; }

:focus-visible{ outline:2px solid var(--acc); outline-offset:3px; border-radius:2px; }

.shell{ width:100%; max-width:var(--shell); margin-inline:auto; padding-inline:clamp(20px,5vw,44px); }
.shell--narrow{ max-width:800px; }

.mono{ font-family:var(--mono); font-weight:500; letter-spacing:.06em; }

/* ─────────────────────────── reveal ─────────────────────────── */
.js .reveal{
  opacity:0; transform:translateY(20px);
  transition:opacity .85s var(--ease) var(--d,0ms), transform .85s var(--ease) var(--d,0ms);
}
.js .reveal.is-in{ opacity:1; transform:none; }

/* ─────────────────────────── nav ─────────────────────────── */
.nav{
  position:sticky; top:0; z-index:100;
  border-bottom:1px solid transparent;
  transition:background .4s var(--ease), border-color .4s var(--ease), backdrop-filter .4s;
}
.nav--stuck{
  background:rgba(10,10,11,.78);
  backdrop-filter:blur(16px) saturate(1.3);
  -webkit-backdrop-filter:blur(16px) saturate(1.3);
  border-bottom-color:var(--line);
}
.nav__in{ display:flex; align-items:center; gap:clamp(16px,3vw,40px); height:72px; }

.brand{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--bone); flex:none; }
.brand__mark{
  width:22px; height:22px; flex:none; border-radius:50%;
  background:
    radial-gradient(circle at 32% 30%, var(--brass) 0 34%, transparent 35%),
    radial-gradient(circle at 68% 70%, var(--mint) 0 34%, transparent 35%),
    var(--ink-4);
  box-shadow:inset 0 0 0 1px var(--line-2);
}
.brand__txt{ font-family:var(--display); font-size:19px; font-weight:600; letter-spacing:-.02em; }
.brand__txt em{ font-style:italic; font-weight:300; color:var(--bone-2); }

.nav__links{ display:flex; gap:clamp(14px,2vw,28px); margin-left:auto; }
.nav__links a{
  color:var(--bone-2); text-decoration:none; font-size:14.5px; letter-spacing:-.01em;
  padding:6px 0; position:relative; transition:color .3s;
}
.nav__links a::after{
  content:''; position:absolute; left:0; right:100%; bottom:2px; height:1px; background:var(--bone);
  transition:right .35s var(--ease);
}
.nav__links a:hover{ color:var(--bone); }
.nav__links a:hover::after{ right:0; }

/* ── bölüm sonu "ayrıntılı incele" bağlantısı (ana sayfa → alt sayfa) ── */
.sect__more{ margin:clamp(30px,4vw,48px) 0 0; display:flex; flex-wrap:wrap; gap:10px 32px; }
.sect__more a{
  color:var(--acc); text-decoration:none; font-size:15px; letter-spacing:-.01em;
  display:inline-flex; align-items:center; gap:.5em; padding-bottom:3px;
  border-bottom:1px solid color-mix(in srgb, var(--acc) 35%, transparent);
  transition:border-color .3s var(--ease), gap .3s var(--ease);
}
.sect__more a:hover{ border-bottom-color:var(--acc); gap:.85em; }

/* ─────────────────────────── breadcrumbs ─────────────────────────── */
/* Alt sayfalarda; ana sayfada yok. Google kırıntı yolunu hem buradan hem
   JSON-LD BreadcrumbList'ten okur — ikisi birebir aynı sırada. */
.crumbs{ border-bottom:1px solid var(--line); }
.crumbs .shell{ display:flex; align-items:center; flex-wrap:wrap; gap:0; padding-block:13px; font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; }
.crumbs a{ color:var(--bone-3); text-decoration:none; transition:color .3s; }
.crumbs a:hover{ color:var(--acc); }
.crumbs span[aria-current]{ color:var(--bone-2); }
.crumbs__sep{ margin-inline:10px; color:var(--line-2); }

/* ─────────────────────────── buttons ─────────────────────────── */
.btn{
  --bg:var(--bone);
  display:inline-flex; align-items:center; gap:.5em;
  background:var(--bg); color:var(--ink);
  font-family:var(--sans); font-size:14.5px; font-weight:600; letter-spacing:-.005em;
  text-decoration:none; padding:.72em 1.15em; border-radius:999px; border:1px solid transparent;
  white-space:nowrap; flex:none;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .3s, color .3s;
}
.btn span{ transition:transform .35s var(--ease); }
.btn:hover{ transform:translateY(-2px); box-shadow:0 10px 30px -12px rgba(239,233,222,.5); }
.btn:hover span{ transform:translateX(3px); }
.btn--lg{ font-size:15.5px; padding:.9em 1.5em; }
.btn--sm{ font-size:13.5px; padding:.6em 1em; }
.btn--ghost{ background:transparent; color:var(--bone); border-color:var(--line-2); }
.btn--ghost:hover{ background:rgba(239,233,222,.06); box-shadow:none; border-color:var(--bone-3); }

/* ─────────────────────────── hero ─────────────────────────── */
.hero{ position:relative; padding-top:clamp(48px,7vw,96px); overflow:hidden; }
.hero__glow{
  position:absolute; inset:-30% -10% auto -10%; height:120vh; pointer-events:none; z-index:0;
  background:
    radial-gradient(52% 42% at 22% 18%, rgba(216,169,58,.13), transparent 68%),
    radial-gradient(46% 40% at 82% 44%, rgba(79,203,139,.10), transparent 70%);
  filter:blur(28px);
}
.hero__in{
  position:relative; z-index:1;
  display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(32px,5vw,72px);
  align-items:center; padding-bottom:clamp(48px,7vw,88px);
}

.kicker{
  display:inline-flex; align-items:center; gap:.7em; margin:0 0 clamp(20px,3vw,30px);
  font-family:var(--mono); font-size:11.5px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--bone-3);
}
.dot{
  width:6px; height:6px; border-radius:50%; background:var(--mint); flex:none;
  box-shadow:0 0 0 0 rgba(79,203,139,.55); animation:ping 2.6s var(--ease) infinite;
}
@keyframes ping{
  0%{ box-shadow:0 0 0 0 rgba(79,203,139,.5); }
  70%,100%{ box-shadow:0 0 0 9px rgba(79,203,139,0); }
}

.hero__h1{
  margin:0 0 clamp(22px,3vw,32px);
  font-family:var(--display);
  font-size:clamp(2.9rem,6.4vw,5.1rem);
  font-weight:300;
  line-height:.98;
  letter-spacing:-.035em;
  font-variation-settings:'SOFT' 0,'WONK' 1;
}
.hero__h1 span{ display:block; }
.hero__h1 .ital{ font-style:italic; font-weight:300; color:var(--bone-2); }
.hero__h1 .ital:last-child{ color:var(--bone); }

.hero__sub{
  margin:0 0 clamp(28px,4vw,38px); max-width:52ch;
  font-size:clamp(16px,1.05vw + 13px,18.5px); line-height:1.68; color:var(--bone-2);
}
.hero__sub b{ color:var(--bone); font-weight:600; }

.hero__cta{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:clamp(34px,5vw,52px); }

.hero__stats{ display:flex; flex-wrap:wrap; gap:clamp(22px,4vw,48px); margin:0; padding-top:26px; border-top:1px solid var(--line); }
.hero__stats div{ display:flex; flex-direction:column; gap:2px; }
.hero__stats dt{ font-family:var(--display); font-size:clamp(24px,2.4vw,32px); font-weight:400; letter-spacing:-.03em; line-height:1; }
.hero__stats dd{ margin:0; font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--bone-3); }

/* ─────────────────────────── thread ─────────────────────────── */
.thread{
  --acc:var(--brass);
  position:relative; border:1px solid var(--line-2); border-radius:16px; overflow:hidden;
  background:linear-gradient(175deg,var(--ink-3),var(--ink-2) 60%);
  box-shadow:0 40px 80px -50px rgba(0,0,0,.95), inset 0 1px 0 rgba(239,233,222,.05);
}
.thread--mint{ --acc:var(--mint); }

.thread__bar{
  display:flex; align-items:center; gap:11px; padding:14px 16px;
  border-bottom:1px solid var(--line); background:rgba(239,233,222,.025);
}
.thread__avatar{
  width:34px; height:34px; flex:none; border-radius:50%;
  display:grid; place-items:center;
  font-family:var(--display); font-size:15px; font-weight:600; color:var(--ink);
  background:var(--acc);
}
.thread__meta{ display:flex; flex-direction:column; line-height:1.3; min-width:0; }
.thread__meta b{ font-size:14px; font-weight:600; letter-spacing:-.01em; }
.thread__meta i{ font-style:normal; font-family:var(--mono); font-size:10.5px; letter-spacing:.06em; color:var(--acc); }
.thread__lock{
  margin-left:auto; font-family:var(--mono); font-size:9.5px; letter-spacing:.09em;
  text-transform:uppercase; color:var(--bone-3); text-align:right;
}

.thread__body{
  display:flex; flex-direction:column; gap:9px; padding:20px 16px 22px;
  background-image:radial-gradient(rgba(239,233,222,.035) 1px, transparent 1px);
  background-size:22px 22px;
}
.day{
  align-self:center; margin-bottom:4px; padding:3px 11px; border-radius:999px;
  background:rgba(239,233,222,.06); color:var(--bone-3);
  font-family:var(--mono); font-size:10px; letter-spacing:.11em; text-transform:uppercase;
}

.msg{
  position:relative; max-width:84%; padding:9px 13px 8px; border-radius:14px;
  font-size:14.3px; line-height:1.52;
}
.js .msg{ opacity:0; transform:translateY(10px) scale(.985); }
[data-thread].is-in .msg,
.js [data-thread].is-in .msg{ animation:pop .55s var(--ease) forwards; animation-delay:calc(var(--i) * 480ms + 250ms); }
@keyframes pop{ to{ opacity:1; transform:none; } }

.msg--in{
  align-self:flex-start; background:var(--ink-4); color:var(--bone);
  border-bottom-left-radius:4px; box-shadow:inset 0 0 0 1px rgba(239,233,222,.05);
}
.msg--out{
  align-self:flex-end; color:var(--bone);
  background:color-mix(in srgb, var(--acc) 16%, var(--ink-3));
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--acc) 26%, transparent);
  border-bottom-right-radius:4px;
}
.msg__who{
  display:block; font-family:var(--mono); font-size:10px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--bone-3); margin-bottom:3px;
}
.msg time{
  display:block; margin-top:3px; text-align:right;
  font-family:var(--mono); font-size:9.5px; letter-spacing:.05em; color:var(--bone-3);
}

.msg--typing{ align-self:flex-end; display:flex; gap:4px; padding:13px 15px; background:color-mix(in srgb, var(--acc) 12%, var(--ink-3)); }
.msg--typing i{ width:5px; height:5px; border-radius:50%; background:var(--bone-3); animation:blink 1.3s infinite; }
.msg--typing i:nth-child(2){ animation-delay:.18s; }
.msg--typing i:nth-child(3){ animation-delay:.36s; }
@keyframes blink{ 0%,60%,100%{ opacity:.28; transform:translateY(0); } 30%{ opacity:1; transform:translateY(-3px); } }

.thread__cap{
  margin:12px 2px 0; font-family:var(--mono); font-size:11px; letter-spacing:.04em; color:var(--bone-3);
}
.thread__cap .mono{ color:var(--bone-2); }

/* ─────────────────────────── marquee ─────────────────────────── */
.marquee{
  border-block:1px solid var(--line); overflow:hidden; padding:13px 0;
  background:rgba(239,233,222,.02);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee__track{
  display:flex; gap:26px; width:max-content; animation:slide 42s linear infinite;
  font-family:var(--mono); font-size:11.5px; letter-spacing:.17em; text-transform:uppercase; color:var(--bone-3);
}
.marquee__track .sep{ color:var(--brass); }
@keyframes slide{ to{ transform:translateX(-50%); } }

/* ─────────────────────────── section frame ─────────────────────────── */
.sect{ padding-block:clamp(72px,10vw,132px); position:relative; }
.sect__head{ max-width:720px; margin-bottom:clamp(38px,5vw,62px); }
.idx{
  display:block; margin-bottom:16px;
  font-family:var(--mono); font-size:11px; letter-spacing:.2em; color:var(--acc);
}
.sect__h2{
  margin:0 0 20px;
  font-family:var(--display); font-weight:300;
  font-size:clamp(2.1rem,4.3vw,3.5rem); line-height:1.04; letter-spacing:-.032em;
  font-variation-settings:'SOFT' 0,'WONK' 1;
}
.sect__h2 em{ font-style:italic; color:var(--acc); }
.sect__lead{ margin:0; max-width:60ch; font-size:clamp(15.5px,.7vw + 13px,17.5px); color:var(--bone-2); line-height:1.68; }

/* ─────────────────────────── diptych ─────────────────────────── */
.diptych{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,2.5vw,28px); align-items:start; }
.diptych .card:nth-child(2){ margin-top:clamp(0px,4vw,56px); }

.card{
  --acc:var(--brass);
  position:relative; display:flex; flex-direction:column; gap:0;
  padding:clamp(26px,3vw,38px); border-radius:20px; text-decoration:none; color:var(--bone);
  border:1px solid var(--line-2);
  background:linear-gradient(168deg, color-mix(in srgb, var(--acc) 7%, var(--ink-2)), var(--ink-2) 62%);
  overflow:hidden;
  transition:transform .5s var(--ease), border-color .4s, box-shadow .5s var(--ease);
}
.card--mint{ --acc:var(--mint); }
.card::after{
  content:''; position:absolute; inset:auto -40% -60% -40%; height:70%;
  background:radial-gradient(60% 100% at 50% 100%, color-mix(in srgb, var(--acc) 22%, transparent), transparent 70%);
  opacity:0; transition:opacity .5s var(--ease); pointer-events:none;
}
.card:hover{ transform:translateY(-6px); border-color:color-mix(in srgb, var(--acc) 45%, transparent); box-shadow:0 40px 70px -45px rgba(0,0,0,.9); }
.card:hover::after{ opacity:1; }

.card__idx{ font-size:10.5px; letter-spacing:.2em; color:var(--acc); }
.card__avatar{
  width:52px; height:52px; margin:22px 0 16px; border-radius:50%; display:grid; place-items:center;
  font-family:var(--display); font-size:23px; font-weight:600; color:var(--ink); background:var(--acc);
  box-shadow:0 12px 30px -14px color-mix(in srgb, var(--acc) 80%, transparent);
}
.card h3{ margin:0; font-family:var(--display); font-weight:400; font-size:clamp(1.9rem,2.7vw,2.5rem); letter-spacing:-.03em; line-height:1; }
.card__role{ margin:8px 0 16px; font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--acc); }
.card__desc{ margin:0 0 20px; color:var(--bone-2); font-size:15.5px; line-height:1.66; }
.card__list{ list-style:none; margin:0 0 26px; padding:0; display:flex; flex-direction:column; gap:9px; border-top:1px solid var(--line); padding-top:18px; }
.card__list li{ position:relative; padding-left:20px; font-size:14.3px; color:var(--bone-2); }
.card__list li::before{
  content:''; position:absolute; left:0; top:.62em; width:7px; height:7px; border-radius:2px;
  background:var(--acc); transform:rotate(45deg);
}
.card__go{ margin-top:auto; display:inline-flex; align-items:center; gap:.5em; font-size:14px; font-weight:600; color:var(--bone); }
.card__go i{ font-style:normal; transition:transform .35s var(--ease); color:var(--acc); }
.card:hover .card__go i{ transform:translateX(5px); }

/* ─────────────────────────── agent sections ─────────────────────────── */
.sect--agent{ border-top:1px solid var(--line); }
.agent--brass{ --acc:var(--brass); }
.agent--mint{ --acc:var(--mint); }
.sect--agent::before{
  content:''; position:absolute; inset:0 0 auto 0; height:1px;
  background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--acc) 60%, transparent), transparent);
}

.split{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,70px); align-items:start; }
.split--rev .split__list{ order:2; }
.split--rev .split__aside{ order:1; }

.split__list{ display:flex; flex-direction:column; }
.feat{ padding:26px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:auto 1fr; gap:0 20px; }
.feat:first-child{ border-top:0; padding-top:0; }
.feat__n{ font-size:11px; letter-spacing:.16em; color:var(--acc); padding-top:.45em; }
.feat h3{ margin:0 0 8px; font-size:clamp(17px,1vw + 14px,19.5px); font-weight:600; letter-spacing:-.018em; }
.feat p{ margin:0; grid-column:2; color:var(--bone-2); font-size:15.3px; line-height:1.68; }
.feat h3{ grid-column:2; }
.feat b{ color:var(--bone); font-weight:600; }
.feat i{ color:var(--bone); font-style:italic; }

.split__aside{ position:sticky; top:100px; }

/* memory panel */
.panel{
  border:1px solid var(--line-2); border-radius:16px; overflow:hidden;
  background:linear-gradient(175deg,var(--ink-3),var(--ink-2) 65%);
  box-shadow:0 40px 80px -55px rgba(0,0,0,.95);
}
.panel__head{
  padding:13px 18px; border-bottom:1px solid var(--line);
  font-size:10.5px; letter-spacing:.2em; color:var(--acc); background:rgba(239,233,222,.025);
}
.mem{ list-style:none; margin:0; padding:8px 0; }
.mem li{
  display:flex; gap:14px; padding:11px 18px; font-size:14px; color:var(--bone-2); line-height:1.5;
  border-bottom:1px dashed rgba(239,233,222,.07);
}
.js .mem li{ opacity:0; transform:translateX(-8px); }
.mem li:last-child{ border-bottom:0; }
.js .reveal.is-in .mem li,
.js .panel.is-in .mem li{ animation:memin .6s var(--ease) forwards; animation-delay:calc(var(--i) * 160ms + 180ms); }
@keyframes memin{ to{ opacity:1; transform:none; } }
.mem__k{ font-size:11px; color:var(--acc); flex:none; padding-top:.18em; }
.mem b{ color:var(--bone); font-weight:600; }
.panel__foot{
  display:flex; align-items:center; gap:9px; padding:14px 18px; border-top:1px solid var(--line);
  font-family:var(--mono); font-size:10.5px; letter-spacing:.06em; color:var(--bone-3);
  background:rgba(239,233,222,.02);
}
.pulse{ width:6px; height:6px; border-radius:50%; background:var(--acc); flex:none; animation:ping2 2.4s infinite; }
@keyframes ping2{ 0%{ opacity:1; } 50%{ opacity:.25; } 100%{ opacity:1; } }

/* ─────────────────────────── security ─────────────────────────── */
.sect--sec{ --acc:var(--bone); border-top:1px solid var(--line); background:linear-gradient(180deg,rgba(239,233,222,.022),transparent 45%); }
.sect--sec .sect__h2 em{ color:var(--brass); }
.sect--sec .idx{ color:var(--bone-3); }

.secgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.sec{ background:var(--ink); padding:clamp(24px,2.6vw,32px); transition:background .4s; }
.sec:hover{ background:var(--ink-2); }
.sec h3{ margin:0 0 10px; font-size:16.5px; font-weight:600; letter-spacing:-.015em; display:flex; align-items:baseline; gap:11px; }
.sec h3 .mono{ font-size:10.5px; letter-spacing:.16em; color:var(--brass); }
.sec p{ margin:0; color:var(--bone-2); font-size:14.6px; line-height:1.65; }

.secnote{
  margin:26px 0 0; padding:16px 20px; border-left:2px solid var(--brass);
  background:rgba(216,169,58,.05); color:var(--bone-2); font-size:14.5px; border-radius:0 8px 8px 0;
}
.secnote b{ color:var(--bone); }

/* ─────────────────────────── steps ─────────────────────────── */
.steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); }
.steps li{ background:var(--ink); padding:clamp(22px,2.4vw,30px) clamp(18px,2vw,26px); }
.steps__n{ display:block; font-size:11px; letter-spacing:.2em; color:var(--brass); margin-bottom:18px; }
.steps h3{ margin:0 0 9px; font-family:var(--display); font-weight:400; font-size:clamp(19px,1.5vw,23px); letter-spacing:-.025em; }
.steps p{ margin:0; color:var(--bone-2); font-size:14.4px; line-height:1.62; }

/* ─────────────────────────── faq ─────────────────────────── */
.faq{ border-top:1px solid var(--line); }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{
  list-style:none; cursor:pointer; padding:22px 44px 22px 0; position:relative;
  font-family:var(--display); font-size:clamp(18px,1.4vw,21px); font-weight:400; letter-spacing:-.022em;
  transition:color .3s;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary:hover{ color:var(--brass); }
.faq summary::after{
  content:''; position:absolute; right:6px; top:50%; width:11px; height:11px; margin-top:-6px;
  border-right:1.5px solid var(--bone-3); border-bottom:1.5px solid var(--bone-3);
  transform:rotate(45deg); transition:transform .35s var(--ease), border-color .3s;
}
.faq details[open] summary::after{ transform:rotate(-135deg); margin-top:-2px; border-color:var(--brass); }
.faq details p{ margin:0; padding:0 8% 24px 0; color:var(--bone-2); font-size:15.3px; line-height:1.7; animation:fadein .45s var(--ease); }
@keyframes fadein{ from{ opacity:0; transform:translateY(-6px); } }

/* ─────────────────────────── cta ─────────────────────────── */
.cta{
  position:relative; border-top:1px solid var(--line); padding-block:clamp(80px,11vw,140px); overflow:hidden;
  text-align:center;
}
.cta::before{
  content:''; position:absolute; inset:auto -20% -70% -20%; height:150%; pointer-events:none;
  background:radial-gradient(50% 60% at 50% 100%, rgba(216,169,58,.16), transparent 68%);
}
.cta__in{ position:relative; }
.cta h2{
  margin:0 auto 18px; max-width:16ch;
  font-family:var(--display); font-weight:300; font-size:clamp(2.2rem,5vw,4rem);
  line-height:1.02; letter-spacing:-.035em; font-variation-settings:'SOFT' 0,'WONK' 1;
}
.cta h2 em{ font-style:italic; color:var(--brass); }
.cta p{ margin:0 auto 34px; max-width:50ch; color:var(--bone-2); font-size:clamp(15.5px,.7vw + 13px,17.5px); }
.cta__btns{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }

/* ─────────────────────────── footer ─────────────────────────── */
.foot{ border-top:1px solid var(--line); padding-block:36px; background:var(--ink-2); }
.foot__in{ display:flex; flex-wrap:wrap; align-items:center; gap:20px 32px; }
.foot__brand{ display:flex; align-items:center; gap:11px; }
.foot__brand div{ display:flex; flex-direction:column; line-height:1.4; }
.foot__brand b{ font-size:14.5px; letter-spacing:-.01em; }
.foot__brand span{ font-size:12.5px; color:var(--bone-3); }
.foot__links{ display:flex; flex-wrap:wrap; gap:8px 20px; margin-left:auto; }
.foot__links a{ color:var(--bone-2); text-decoration:none; font-size:13.5px; transition:color .3s; }
.foot__links a:hover{ color:var(--brass); }
.foot__contact{ width:100%; margin:0; padding-top:20px; border-top:1px solid var(--line); font-size:13.5px; color:var(--bone-3); }
.foot__contact a{ color:var(--bone-2); text-decoration:none; transition:color .3s; }
.foot__contact a:hover{ color:var(--brass); }
.foot__contact span{ margin-inline:8px; color:var(--line); }
.foot__legal{ width:100%; margin:0; padding-top:14px; font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; color:var(--bone-3); }

/* ─────────────────────────── responsive ─────────────────────────── */
@media (max-width:1000px){
  .hero__in{ grid-template-columns:1fr; gap:44px; }
  .hero__thread{ max-width:520px; }
  .split{ grid-template-columns:1fr; gap:40px; }
  .split--rev .split__list{ order:1; }
  .split--rev .split__aside{ order:2; }
  .split__aside{ position:static; max-width:520px; }
  .secgrid{ grid-template-columns:repeat(2,1fr); }
  .steps{ grid-template-columns:repeat(2,1fr); }
  .nav__links{ display:none; }
}

@media (max-width:660px){
  html{ scroll-padding-top:72px; }
  .nav__in{ height:64px; }
  .diptych{ grid-template-columns:1fr; }
  .diptych .card:nth-child(2){ margin-top:0; }
  .secgrid{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:1fr; }
  .hero__stats{ gap:20px 28px; }
  .msg{ max-width:90%; }
  .feat{ grid-template-columns:1fr; gap:0; }
  .feat h3,.feat p{ grid-column:1; }
  .feat__n{ padding:0 0 8px; }
  .thread__lock{ display:none; }
  .foot__links{ margin-left:0; }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .js .reveal,.js .msg,.js .mem li{ opacity:1; transform:none; }
}
