/* =========================================================
   LINTEL — inner pages
   ========================================================= */
.pg { padding-top: calc(var(--header-h)); }

/* ---------- generic heads ---------- */
.pg-head { position: relative; display: grid; grid-template-columns: 1fr 3fr 1fr; min-height: 32rem; }
.pg-head > div { position: relative; }
.pg-head-mid { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 2rem; padding: 6rem 2rem; }
.pg-head-mid p { max-width: 54rem; color: var(--ink-2); }
.pg-label { color: var(--muted); }

/* ---------- pricing ---------- */
.pr-toggle { position: relative; display: grid; grid-template-columns: 1fr 1.5fr 1.5fr 2fr; height: 4.4rem; }
.pr-toggle button { position: relative; display: flex; align-items: center; justify-content: center; gap: .6rem; color: var(--ink-2); }
.pr-toggle button.on { background: var(--ink); color: var(--bg); }
.pr-toggle button .c-brand { transition: color .3s; }
.pr-toggle button.on .c-brand { color: var(--brand-2); }
.pr-table { position: relative; }
.pr-row { position: relative; display: grid; grid-template-columns: 2fr repeat(4, 1.5fr); min-height: 4.6rem; }
.pr-row > div { position: relative; padding: 1.2rem 1.6rem; display: flex; align-items: center; font-size: 1.4rem; color: var(--ink); }
.pr-row > div.na { background-image: repeating-linear-gradient(135deg, rgba(40, 40, 40, .05) 0 1px, transparent 1px 7px); background-color: rgba(40, 40, 40, .03); }
.pr-row .ck { width: 1.6rem; height: 1.6rem; border: var(--b) solid var(--ink-2); display: grid; place-items: center; }
.pr-row .ck svg { width: 1.2rem; }
.pr-plans { position: sticky; top: calc(var(--header-h) + var(--frame)); z-index: 6; background-color: var(--bg); background-image: var(--grain); }
.pr-plans .pr-row > div { flex-direction: column; align-items: stretch; justify-content: flex-start; padding: 1.6rem; gap: 1rem; }
.pr-plan-name { color: var(--ink); }
.pr-plan-desc { font-size: 1.3rem; color: var(--muted); min-height: 3.4em; }
.pr-price { display: flex; align-items: baseline; gap: .6rem; color: var(--ink); height: 3.4rem; overflow: hidden; }
.pr-price b { font-size: 2.8rem; font-weight: 600; letter-spacing: -.03em; display: inline-block; }
.pr-price small { color: var(--muted); }
.pr-plan .btn { width: 100%; justify-content: space-between; }
.pr-plan.feat { background: rgba(248, 65, 15, .05); }
.pr-plan .badge { position: absolute; top: 1.4rem; right: 1.4rem; background: var(--brand); color: #fff; padding: .2rem .5rem; }
.pr-row:hover > div:not(.na):not(:first-child) { background-color: rgba(40, 40, 40, .025); }
.pr-plans .pr-row:hover > div { background-color: transparent; }
@media (max-width: 991px) {
  .pr-wrap { overflow-x: auto; }
  .pr-table { min-width: 90rem; }
  .pr-plans { position: relative; top: 0; }
  .pr-toggle { grid-template-columns: 1fr 1fr; }
  .pr-toggle > div { display: none; }
}

/* ---------- faq ---------- */
.faq { position: relative; display: grid; grid-template-columns: 1fr 2fr; }
.faq-head { position: relative; padding: 2.4rem 1.6rem; }
.faq-head .h3 { margin-top: 1.2rem; }
.faq-item { position: relative; cursor: pointer; }
.faq-q { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding: 2rem 1.6rem; }
.faq-q .h6 { font-size: 2rem; transition: transform .6s var(--ease-out); }
.faq-q .pm { width: 1.4rem; height: 1.4rem; flex: none; color: var(--muted); }
.faq-q .pm .pm-v { transition: transform .4s var(--ease-out); transform-origin: center; transform-box: fill-box; }
.faq-item.active .pm .pm-v { transform: scaleY(0); }
.faq-item:hover .faq-q .h6 { transform: translateX(1rem); }
.faq-item:hover .pm, .faq-item.active .pm { color: var(--brand); }
.faq-a { overflow: hidden; }
.faq-a p { padding: 0 6rem 2.4rem 1.6rem; max-width: 76rem; color: var(--ink-2); }
@media (max-width: 767px) { .faq { grid-template-columns: 1fr; } .faq-q .h6 { font-size: 1.7rem; } }

/* ---------- about ---------- */
.ab-hero { position: relative; height: calc(100vh - var(--header-h) - 2 * var(--frame)); min-height: 56rem; overflow: hidden; background-image: var(--grid-bg); background-size: 6.4rem 6.4rem; }
.ab-hero .logo-big { position: absolute; left: 50%; top: 50%; width: 30rem; transform: translate(-50%, -50%); color: var(--ink); overflow: visible; }
.ab-hero-dot { position: absolute; width: .8rem; height: .8rem; background: var(--brand); margin: -.4rem 0 0 -.4rem; }
.ab-hero svg.leader { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.ab-hero-readout { position: absolute; right: 2.4rem; bottom: 2rem; color: var(--muted); text-align: right; }
.ab-state { position: relative; display: grid; grid-template-columns: 1fr 2.4fr 1fr; }
.ab-state > div { position: relative; padding: 1.6rem; }
.ab-state-mid { text-align: center; padding: 6rem 2rem !important; display: flex; flex-direction: column; gap: 2.4rem; align-items: center; }
.ab-state-mid p { max-width: 56rem; color: var(--ink-2); }
.ab-story { position: relative; display: grid; grid-template-columns: 1fr 1fr; }
.ab-story-img { position: relative; min-height: 90vh; }
.ab-story-img .ink-wrap { position: absolute; inset: 0; }
.ab-story-txt { padding: 4rem 3.2rem; display: flex; flex-direction: column; gap: 2.4rem; }
.ab-story-txt .lead { font-size: 2rem; line-height: 1.25; color: var(--ink); max-width: 56rem; }
.ab-story-txt p { max-width: 56rem; }
.ab-mission { margin-top: auto; }
.ab-mission h4 { padding: 1.6rem 0; }
.ab-mission li { position: relative; display: flex; justify-content: space-between; align-items: center; padding: 1.3rem 0; color: var(--ink); }
.ab-mission li i { width: 2.4rem; height: 2.4rem; color: var(--ink-2); }
.ab-team-head { position: relative; display: grid; grid-template-columns: 1fr 1fr; padding: 6rem 1.6rem 3.2rem; align-items: end; gap: 2rem; }
.ab-team-head p { max-width: 50rem; }
.ab-team { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); }
.tm { position: relative; cursor: pointer; transition: background .5s, color .5s; }
.tm-img { position: relative; aspect-ratio: 1 / .95; overflow: hidden; }
.tm-img canvas { position: absolute; inset: 0; width: 100%; height: 100%; transition: transform 1s var(--ease-out); }
.tm-cap { position: relative; padding: 1.6rem; text-align: center; }
.tm-cap .h6 { font-size: 2rem; transition: color .4s; }
.tm-cap .mono { color: var(--muted); margin-top: .4rem; transition: color .4s; }
.tm .plus { opacity: 0; transition: opacity .4s; }
.tm:hover, .tm.on { background: var(--ink); }
.tm:hover .tm-cap .h6, .tm.on .tm-cap .h6 { color: var(--bg); }
.tm:hover .tm-img canvas { transform: scale(1.04); }
.tm:hover .plus { opacity: 1; }
.tm:hover .plus::before, .tm:hover .plus::after { background: var(--bg); }
.tm-pop { position: fixed; inset: 0; z-index: 8000; display: grid; place-items: center; pointer-events: none; }
.tm-pop-bg { position: absolute; inset: 0; background: rgba(35, 35, 35, .5); opacity: 0; transition: opacity .5s; }
.tm-pop-card { position: relative; width: min(84rem, 92vw); display: grid; grid-template-columns: 1fr 1.2fr; background-color: var(--bg); background-image: var(--grain); border: var(--b) solid var(--ink); clip-path: inset(50% 0 50% 0); transition: clip-path .8s var(--ease-out); }
.tm-pop.show { pointer-events: auto; }
.tm-pop.show .tm-pop-bg { opacity: 1; }
.tm-pop.show .tm-pop-card { clip-path: inset(0 0 0 0); }
.tm-pop-img { position: relative; min-height: 40rem; border-right: var(--b) solid var(--line); }
.tm-pop-img canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.tm-pop-body { padding: 3.2rem; display: flex; flex-direction: column; gap: 1.6rem; }
.tm-pop-close { position: absolute; right: 0; top: 0; width: 4.4rem; height: 4.4rem; display: grid; place-items: center; background: var(--ink); color: var(--bg); font-size: 2rem; }
.tm-pop-close:hover { background: var(--brand); }
.ab-partners { position: relative; display: grid; grid-template-columns: 1fr 2fr; }
.ab-partners > *, .ab-state > *, .ab-story > *, .faq > *, .ct > *, .pd-hero > *, .ar-body > * { min-width: 0; }
.ab-marquee { overflow: hidden; }
.ab-partners-dots { min-height: 26rem; background-image: radial-gradient(var(--line) 1px, transparent 1.2px); background-size: 1.2rem 1.2rem; position: relative; }
.ab-partners-title { padding: 3.2rem 1.6rem; }
.ab-partners-title .h3 { margin-top: 1.2rem; }
.ab-marquee { position: relative; grid-column: 1 / 3; }
.ab-marquee .lbl { padding: 1.2rem 1.6rem; color: var(--ink); }
.ab-marquee .marquee-track > div { position: relative; width: 22rem; height: 9rem; display: grid; place-items: center; color: var(--ink-2); border-right: var(--b) solid var(--line); }
@media (max-width: 767px) {
  .ab-state, .ab-story, .ab-team-head, .ab-partners { grid-template-columns: 1fr; }
  .ab-state > div:not(.ab-state-mid) { display: none; }
  .ab-team { grid-template-columns: 1fr 1fr; }
  .ab-story-img { min-height: 60vh; }
  .tm-pop-card { grid-template-columns: 1fr; }
  .tm-pop-img { min-height: 24rem; }
  .ab-marquee { grid-column: 1; }
}

/* ---------- contact ---------- */
.ct { position: relative; display: grid; grid-template-columns: 1fr 1fr; }
.ct-left { position: relative; }
.ct-title { position: relative; padding: 2.4rem 1.6rem 3.2rem; }
.ct-title p { margin-top: 1.2rem; max-width: 46rem; color: var(--ink-2); }
.ct-info { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); }
.ct-info > div { position: relative; padding: 1.6rem; min-height: 12rem; display: flex; flex-direction: column; justify-content: space-between; }
.ct-info a, .ct-info span.v { color: var(--ink); font-size: 1.5rem; }
.ct-form { position: relative; }
.ct-form-title { position: relative; padding: 1.6rem; }
.fld { position: relative; }
.fld input, .fld textarea, .fld select { width: 100%; border: 0; background: transparent; padding: 2.6rem 1.6rem 1.2rem; font-size: 1.8rem; color: var(--ink); outline: 0; resize: none; font-weight: 500; appearance: none; }
.fld textarea { height: 14rem; }
.fld label { position: absolute; left: 1.6rem; top: 2rem; font-size: 1.8rem; color: var(--dim); font-weight: 600; text-transform: uppercase; letter-spacing: -.01em; pointer-events: none; transition: transform .45s var(--ease-out), color .3s, font-size .3s; transform-origin: left top; }
.fld.filled label, .fld input:focus + label, .fld textarea:focus + label, .fld select:focus + label { transform: translateY(-1.2rem) scale(.6); color: var(--muted); }
.fld::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: var(--b); background: var(--ink); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease-out); }
.fld:focus-within::after { transform: scaleX(1); }
.fld.err::after { transform: scaleX(1); background: var(--brand); }
.fld .msg { position: absolute; right: 1.6rem; top: 1.2rem; color: var(--brand); opacity: 0; transition: opacity .3s; }
.fld.err .msg { opacity: 1; }
.fld-row { display: grid; grid-template-columns: 1fr 1fr; position: relative; }
.fld-chips { display: flex; flex-wrap: wrap; gap: .6rem; padding: 1.6rem; position: relative; }
.chip { padding: .7rem 1rem; border: var(--b) solid var(--line); color: var(--ink-2); transition: background .3s, color .3s, border-color .3s; }
.chip:hover { border-color: var(--ink); }
.chip.on { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.ct-submit { position: relative; display: flex; justify-content: space-between; align-items: center; width: 100%; height: 7.2rem; padding: 0 1.6rem; font-size: 1.8rem; font-weight: 600; text-transform: uppercase; color: var(--dim); transition: color .4s; overflow: hidden; isolation: isolate; }
.ct-submit::before { content: ''; position: absolute; inset: 0; background: var(--brand); transform: scaleY(0); transform-origin: bottom; transition: transform .5s var(--ease-out); z-index: -1; }
.ct-submit.ready { color: var(--ink); }
.ct-submit:hover::before { transform: scaleY(1); }
.ct-submit:hover { color: #fff; }
.ct-submit svg { width: 1.8rem; }
.ct-right { position: relative; min-height: 70rem; }
.ct-right .ink-wrap { position: absolute; inset: 0; }
.ct-done { position: absolute; inset: 0; z-index: 5; background-color: var(--bg); background-image: var(--grain); display: flex; flex-direction: column; justify-content: center; padding: 4rem 3.2rem; gap: 2rem; clip-path: inset(100% 0 0 0); }
.ct-done .h2 { max-width: 50rem; }
.ct-done .tick { width: 6rem; height: 6rem; color: var(--brand); }
@media (max-width: 991px) { .ct { grid-template-columns: 1fr; } .ct-right { min-height: 50vh; } .ct-info { grid-template-columns: 1fr; } .ct-info > div { min-height: 8rem; } }

/* ---------- product ---------- */
.pd-hero { position: relative; display: grid; grid-template-columns: 1fr 1fr; height: calc(100vh - var(--header-h) - 2 * var(--frame) - 12rem); min-height: 58rem; }
.pd-hero-left { position: relative; display: flex; flex-direction: column; justify-content: space-between; }
.pd-hero-title { padding: 2.4rem 1.6rem; }
.pd-hero-title .h1 { margin-top: 1.4rem; font-size: 6rem; }
.pd-hero-sub { position: relative; display: grid; grid-template-columns: 2fr 1fr; }
.pd-hero-sub p { padding: 1.6rem; color: var(--ink-2); }
.pd-hero-sub > div { position: relative; }
.pd-hero-art { position: relative; overflow: hidden; }
.pd-hero-art .ink-wrap { position: absolute; inset: 0; }
.pd-hero-art .mock-chat-panel { right: 4%; top: auto; bottom: 6%; height: 54%; width: 42%; }
.pd-logos { position: relative; display: grid; grid-template-columns: 6.4rem 1fr 6.4rem; height: 12rem; }
.pd-logos .ctl { width: 100%; height: 100%; }
.pd-logos .ctl.next { background: var(--brand); color: #fff; }
.pd-logos .ctl.next::after { background: var(--ink); }
.pd-logos-view { position: relative; overflow: hidden; }
.pd-logos-track { display: flex; height: 100%; transition: transform .9s var(--ease-out); }
.pd-logos-track > div { position: relative; flex: 0 0 calc(100% / 6); display: grid; place-items: center; color: var(--ink-2); }
.pd-kf { position: relative; text-align: center; padding: 10rem 1.6rem 6rem; }
.pd-kf .h2 { margin-top: 1.2rem; }
.pd-tabs { position: sticky; top: calc(var(--header-h) + var(--frame)); z-index: 8; display: grid; grid-template-columns: repeat(5, 1fr); background-color: var(--bg); background-image: var(--grain); transition: top .7s var(--ease-out); }
.header.is-hidden ~ main .pd-tabs, body.hdr-hidden .pd-tabs { top: var(--frame); }
.pd-tab { position: relative; text-align: left; padding: 1.2rem 1.6rem; height: 6.4rem; display: flex; flex-direction: column; justify-content: space-between; color: var(--ink-2); overflow: hidden; isolation: isolate; }
.pd-tab::before { content: ''; position: absolute; inset: 0; background: var(--ink); transform: scaleY(0); transform-origin: bottom; transition: transform .5s var(--ease-out); z-index: -1; }
.pd-tab.on::before { transform: scaleY(1); }
.pd-tab.on { color: var(--bg); }
.pd-tab:hover:not(.on)::before { transform: scaleY(.08); }
.pd-tab-prog { position: absolute; left: 0; right: 0; bottom: 0; height: .2rem; background: var(--brand); transform: scaleX(0); transform-origin: left; }
.pd-feat { position: relative; display: grid; grid-template-columns: 5.6rem 1fr 1.2fr; min-height: 92vh; background-image: var(--grid-bg); background-size: 6.4rem 6.4rem; }
.pd-feat-num { position: relative; padding: 1.6rem .8rem; color: var(--muted); }
.pd-feat-txt { display: flex; flex-direction: column; justify-content: center; gap: 1.6rem; padding: 4rem 3.2rem; }
.pd-feat-txt .h3 { max-width: 46rem; }
.pd-feat-txt p { max-width: 42rem; color: var(--ink-2); }
.pd-feat-vis { position: relative; display: grid; place-items: center; padding: 4rem; }
.pd-scan { position: absolute; left: 0; right: 0; height: var(--b); background: var(--brand); opacity: .6; top: 50%; pointer-events: none; }
.fv { position: relative; width: min(52rem, 100%); aspect-ratio: 1 / .9; }
.fv .why-sheet, .fv .why-card { position: absolute; }
.fv-hi { fill: var(--brand); opacity: .85; }
.fv-tile { position: absolute; width: 7.6rem; height: 7.6rem; background: #fbfaf6; border: var(--b) solid var(--ink); box-shadow: .6rem .6rem 0 var(--ink); display: grid; place-items: center; font: 700 2.4rem 'Geist', sans-serif; color: var(--ink); letter-spacing: -.04em; }
.fv-tile small { position: absolute; bottom: .4rem; font: 500 .8rem 'Geist Mono', monospace; text-transform: uppercase; color: var(--muted); letter-spacing: 0; }
.fv-links { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.fv-links path { stroke: var(--brand); stroke-dasharray: 4 4; fill: none; animation: dashmove 1.2s linear infinite; }
@keyframes dashmove { to { stroke-dashoffset: -16; } }
.fv-iso { position: absolute; inset: 6% 4%; width: 92%; height: auto; color: var(--ink); }
.fv-iso .f-t { fill: #fbfaf6; } .fv-iso .f-l { fill: #ecebe4; } .fv-iso .f-r { fill: #dddcd4; }
.fv-iso .hot .f-t, .fv-iso .hot .f-l, .fv-iso .hot .f-r { fill: rgba(248, 65, 15, .82); }
.fv-chart { position: absolute; left: 0; right: 0; bottom: 0; height: 60%; border: var(--b) solid var(--ink); background: #fbfaf6; padding: 1.2rem; display: flex; align-items: flex-end; gap: .8rem; }
.fv-chart i { flex: 1; background: var(--ink); transform-origin: bottom; }
.fv-chart i.b { background: var(--brand); }
.pd-steps-head { position: relative; display: grid; grid-template-columns: 2fr 1fr; }
.pd-steps-head > div { position: relative; padding: 2.4rem 1.6rem; }
.pd-steps-art { position: relative; height: 64vh; min-height: 46rem; overflow: hidden; }
.pd-steps-art .ink-wrap { position: absolute; inset: 4% 15%; }
.pd-steps-art .step-ui { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 32rem; background: #fbfaf6; border: var(--b) solid var(--ink); box-shadow: .8rem .8rem 0 rgba(40, 40, 40, .12); }
.pd-steps { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); }
.pd-step { position: relative; padding: 1.6rem 1.6rem 3.2rem; min-height: 24rem; display: flex; flex-direction: column; gap: 1.2rem; transition: background .5s; }
.pd-step .top { display: flex; justify-content: space-between; color: var(--muted); }
.pd-step .h5 { margin-top: 1.2rem; }
.pd-step p { margin-top: auto; max-width: 34rem; }
.pd-step.on { background: rgba(40, 40, 40, .04); }
.pd-step.on .top span:first-child { color: var(--brand); }
@media (max-width: 991px) {
  .pd-hero { grid-template-columns: 1fr; height: auto; }
  .pd-hero-art { min-height: 56vh; }
  .pd-tabs { grid-template-columns: repeat(5, minmax(16rem, 1fr)); overflow-x: auto; }
  .pd-feat { grid-template-columns: 1fr; min-height: 0; }
  .pd-feat-num { display: none; }
  .pd-steps-head, .pd-steps { grid-template-columns: 1fr; }
  .pd-logos-track > div { flex-basis: 50%; }
}

/* ---------- resources ---------- */
.rs-filters { position: relative; display: flex; justify-content: center; gap: 3.2rem; padding: 1.6rem; }
.rs-filter { position: relative; color: var(--ink-2); padding: .4rem 0; }
.rs-filter sup { color: var(--muted); font-size: .9rem; margin-left: .2rem; }
.rs-filter::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: var(--b); background: var(--brand); transform: scaleX(0); transform-origin: right; transition: transform .5s var(--ease-out); }
.rs-filter.on { color: var(--brand); }
.rs-filter.on::after, .rs-filter:hover::after { transform: scaleX(1); transform-origin: left; }
.rs-grid { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); }
.rs-card { position: relative; display: flex; flex-direction: column; color: var(--ink); transition: background .5s, color .5s; }
.rs-card-img { position: relative; aspect-ratio: 1 / .78; overflow: hidden; margin: 1.2rem 1.2rem 0; }
.rs-card-img canvas { position: absolute; inset: 0; width: 100%; height: 100%; transition: transform 1.2s var(--ease-out); }
.rs-card-body { padding: 1.6rem 1.6rem 2.4rem; display: flex; flex-direction: column; gap: .8rem; }
.rs-card-meta { color: var(--muted); transition: color .5s; }
.rs-card .h6 { font-size: 2rem; transition: color .5s; }
.rs-card p { font-size: 1.3rem; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color .5s; }
.rs-card .plus { opacity: 0; transition: opacity .4s; }
.rs-card:hover { background: var(--ink); }
.rs-card:hover .h6 { color: var(--bg); }
.rs-card:hover p, .rs-card:hover .rs-card-meta { color: rgba(243, 242, 236, .7); }
.rs-card:hover .rs-card-img canvas { transform: scale(1.05); }
.rs-card:hover .plus { opacity: 1; }
.rs-card:hover .plus::before, .rs-card:hover .plus::after { background: var(--bg); }
.rs-card.hide { display: none; }
.rs-empty { padding: 6rem; text-align: center; color: var(--muted); display: none; }
@media (max-width: 991px) { .rs-grid { grid-template-columns: 1fr 1fr; } .rs-filters { gap: 1.6rem; flex-wrap: wrap; } }
@media (max-width: 560px) { .rs-grid { grid-template-columns: 1fr; } }

/* ---------- article ---------- */
.ar-hero { position: relative; display: grid; grid-template-columns: 1fr 1fr; }
.ar-hero-txt { position: relative; padding: 2.4rem 1.6rem; display: flex; flex-direction: column; gap: 2rem; justify-content: space-between; }
.ar-hero-txt .h1 { font-size: 5.2rem; }
.ar-hero-img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.ar-hero-img canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.ar-body { position: relative; display: grid; grid-template-columns: 1fr 2fr 1fr; }
.ar-toc { position: relative; }
.ar-toc-in { position: sticky; top: calc(var(--header-h) + var(--frame) + 2rem); padding: 1.6rem; }
.ar-toc a { display: flex; gap: 1rem; padding: .8rem 0; color: var(--muted); border-top: var(--b) solid var(--line-soft); transition: color .3s; font-size: 1.4rem; }
.ar-toc a .n { font-family: 'Geist Mono', monospace; font-size: 1.1rem; padding-top: .2rem; }
.ar-toc a.on, .ar-toc a:hover { color: var(--ink); }
.ar-toc a.on .n { color: var(--brand); }
.ar-prog { height: .3rem; background: var(--line-soft); margin-top: 1.6rem; }
.ar-prog i { display: block; height: 100%; background: var(--brand); transform-origin: left; transform: scaleX(0); }
.ar-text { position: relative; padding: 4rem 4rem 8rem; color: var(--ink-2); }
.ar-text .lead { font-size: 2.2rem; line-height: 1.3; color: var(--ink); margin-bottom: 4rem; }
.ar-text h2 { font-size: 2.8rem; color: var(--ink); text-transform: uppercase; letter-spacing: -.02em; font-weight: 600; line-height: 1; margin: 5.6rem 0 2rem; scroll-margin-top: 12rem; }
.ar-text p { font-size: 1.8rem; line-height: 1.55; margin-bottom: 1.8rem; }
.ar-text blockquote { border-left: .3rem solid var(--brand); padding: .4rem 0 .4rem 2rem; margin: 3.2rem 0; font-size: 2.2rem; line-height: 1.3; color: var(--ink); }
.ar-side { position: relative; }
.ar-share { position: sticky; top: calc(var(--header-h) + var(--frame) + 2rem); padding: 1.6rem; display: flex; flex-direction: column; gap: .8rem; }
.ar-share button { text-align: left; padding: .9rem 1rem; border: var(--b) solid var(--line); color: var(--ink-2); transition: background .3s, color .3s; }
.ar-share button:hover { background: var(--ink); color: var(--bg); }
.ar-more-head { position: relative; padding: 2.4rem 1.6rem; display: flex; justify-content: space-between; align-items: end; }
@media (max-width: 991px) {
  .ar-hero, .ar-body { grid-template-columns: 1fr; }
  .ar-toc, .ar-side { display: none; }
  .ar-text { padding: 3rem 1.6rem 6rem; }
  .ar-hero-txt .h1 { font-size: 3.4rem; }
}

/* ---------- legal ---------- */
.lg-head { position: relative; display: grid; grid-template-columns: 1fr 1fr; }
.lg-head > div { position: relative; padding: 2.4rem 1.6rem 4rem; }
.lg-tabs { display: flex; gap: .4rem; margin-top: 2rem; }
.lg-table { position: relative; }
.lg-table a { position: relative; display: flex; gap: 1.6rem; padding: 1.1rem 0; color: var(--ink-2); }
.lg-table a:hover { color: var(--brand); }
.lg-table a .n { font-family: 'Geist Mono', monospace; color: var(--muted); }
.lg-body { position: relative; display: grid; grid-template-columns: 1fr 2fr 1fr; }
.lg-body .ar-text h2 { font-size: 2.4rem; }
.lg-body .ar-text ul { margin: 0 0 1.8rem 2rem; list-style: square; }
.lg-body .ar-text li { font-size: 1.7rem; line-height: 1.5; margin-bottom: .6rem; }
@media (max-width: 991px) { .lg-head, .lg-body { grid-template-columns: 1fr; } }
