/* ══════════════════════════════════════════════════════════════════════════
   atti.work — section component styles (part 2)
═══════════════════════════════════════════════════════════════════════════ */

/* ─── Staggered entrance for grid/list children (more dynamism) ───────── */
html.js .idn__grid.reveal, html.js .pil__grid.reveal, html.js .pil__trio-grid,
html.js .ai__grid.reveal, html.js .alk__grid.reveal, html.js .prt__list.reveal,
html.js .dgn__scenarios.reveal, html.js .cyc__list.reveal { opacity: 1; transform: none; }
html.js .idn__grid > *, html.js .pil__grid > *, html.js .pil__trio-grid > *,
html.js .ai__grid > *, html.js .alk__grid > *, html.js .prt__list > *,
html.js .dgn__scenarios > *, html.js .cyc__list > *, html.js .cap__list .cap__row {
  opacity: 0; transform: translateY(20px);
  transition: opacity 0.6s cubic-bezier(0.22,0.61,0.36,1), transform 0.6s cubic-bezier(0.22,0.61,0.36,1);
}
html.js .idn__grid.in > *, html.js .pil__grid.in > *, html.js .pil__trio.in .pil__trio-grid > *,
html.js .ai__grid.in > *, html.js .alk__grid.in > *, html.js .prt__list.in > *,
html.js .dgn__scenarios.in > *, html.js .cyc__list.in > *, html.js .cap__wrap.in .cap__row {
  opacity: 1; transform: none;
}
html.js .idn__grid.in > *:nth-child(2), html.js .pil__grid.in > *:nth-child(2), html.js .ai__grid.in > *:nth-child(2),
html.js .alk__grid.in > *:nth-child(2), html.js .prt__list.in > *:nth-child(2), html.js .cyc__list.in > *:nth-child(2),
html.js .dgn__scenarios.in > *:nth-child(2), html.js .cap__wrap.in .cap__row:nth-child(2), html.js .pil__trio.in .pil__trio-grid > *:nth-child(2) { transition-delay: 0.09s; }
html.js .idn__grid.in > *:nth-child(3), html.js .pil__grid.in > *:nth-child(3), html.js .ai__grid.in > *:nth-child(3),
html.js .alk__grid.in > *:nth-child(3), html.js .prt__list.in > *:nth-child(3), html.js .cyc__list.in > *:nth-child(3),
html.js .dgn__scenarios.in > *:nth-child(3), html.js .cap__wrap.in .cap__row:nth-child(3), html.js .pil__trio.in .pil__trio-grid > *:nth-child(3) { transition-delay: 0.18s; }
html.js .prt__list.in > *:nth-child(4), html.js .cyc__list.in > *:nth-child(4), html.js .cap__wrap.in .cap__row:nth-child(4) { transition-delay: 0.27s; }
html.js .prt__list.in > *:nth-child(5), html.js .cap__wrap.in .cap__row:nth-child(5) { transition-delay: 0.34s; }
html.js .prt__list.in > *:nth-child(6), html.js .cap__wrap.in .cap__row:nth-child(6) { transition-delay: 0.41s; }
html.js .prt__list.in > *:nth-child(n+7) { transition-delay: 0.47s; }
@media (prefers-reduced-motion: reduce){
  html.js .idn__grid > *, html.js .pil__grid > *, html.js .pil__trio-grid > *, html.js .ai__grid > *,
  html.js .alk__grid > *, html.js .prt__list > *, html.js .dgn__scenarios > *, html.js .cyc__list > *,
  html.js .cap__list .cap__row { opacity: 1; transform: none; transition: none; }
}

/* ─── Identity ───────────────────────────────────────────────────────── */
.idn__grid { display: grid; grid-template-columns: 1fr; gap: 0; border: 1px solid var(--bsoft); }
@media (min-width: 860px){ .idn__grid { grid-template-columns: repeat(3, 1fr); } }
.idn__block { padding: 2.4rem 2rem; border-top: 1px solid var(--bsoft); background: linear-gradient(180deg, color-mix(in oklab, var(--bg2) 60%, transparent), transparent); transition: background 0.25s ease; }
.idn__block:first-child { border-top: none; }
@media (min-width: 860px){ .idn__block { border-top: none; border-left: 1px solid var(--bsoft); } .idn__block:first-child { border-left: none; } }
.idn__block:hover { background: rgba(17,221,173,0.03); }
.idn__idx { display: block; margin-bottom: 1.3rem; font-family: var(--mono); font-size: 0.72rem; letter-spacing: 0.18em; color: var(--teal); }
.idn__label { display: block; margin-bottom: 0.9rem; font-family: var(--font); font-size: 0.8rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--dim); }
.idn__body { margin: 0; font-size: 1.06rem; line-height: 1.62; color: var(--mid); text-wrap: pretty; }
.idn__body b { color: var(--ink); font-weight: 600; }

/* ─── Pillars (condensed atti / work / •) ─────────────────────────────── */
.pil__grid { display: grid; grid-template-columns: 1fr; border: 1px solid var(--bsoft); }
@media (min-width: 860px){ .pil__grid { grid-template-columns: repeat(3, 1fr); } }
.pil__card { position: relative; padding: clamp(2.2rem,4vw,3.2rem) 2rem; border-top: 1px solid var(--bsoft); transition: background 0.25s ease; }
.pil__card:first-child { border-top: none; }
@media (min-width: 860px){ .pil__card { border-top: none; border-left: 1px solid var(--bsoft); } .pil__card:first-child { border-left: none; } }
.pil__card:hover { background: rgba(17,221,173,0.03); }
.pil__token { display: block; margin: 0 0 0.4rem; font-family: var(--font); font-size: clamp(2.6rem,5vw,3.4rem); font-weight: 700; line-height: 1; letter-spacing: -0.04em; color: var(--teal); text-transform: lowercase; }
.pil__kicker { display: block; margin: 0 0 1.4rem; font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--dim); }
.pil__claim { margin: 0 0 1rem; font-family: var(--font); font-size: 1.4rem; font-weight: 700; line-height: 1.15; letter-spacing: -0.02em; text-transform: lowercase; color: var(--ink); text-wrap: balance; }
.pil__body { margin: 0; font-size: 1rem; line-height: 1.6; color: var(--mid); text-wrap: pretty; }
.pil__trio { margin-top: 2.5rem; }
.pil__trio-label { display: flex; align-items: center; gap: 0.8rem; margin: 0 0 1.4rem; font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--dim); }
.pil__trio-label::after { content:""; flex: 1; height: 1px; background: var(--bsoft); }
.pil__trio-grid { display: grid; grid-template-columns: 1fr; gap: 0; border: 1px solid var(--bsoft); }
@media (min-width: 760px){ .pil__trio-grid { grid-template-columns: repeat(3, 1fr); } }
.pil__trio-item { display: grid; grid-template-columns: 2.2rem 1fr; gap: 0.9rem; padding: 1.4rem 1.5rem; border-top: 1px solid var(--bsoft); align-items: start; }
.pil__trio-item:first-child { border-top: none; }
@media (min-width: 760px){ .pil__trio-item { border-top: none; border-left: 1px solid var(--bsoft); } .pil__trio-item:first-child { border-left: none; } }
.pil__trio-sym { font-family: var(--font); font-size: 1.5rem; font-weight: 700; line-height: 1; color: var(--teal); }
.pil__trio-name { margin: 0; font-family: var(--font); font-size: 1.05rem; font-weight: 700; text-transform: lowercase; color: var(--ink); letter-spacing: -0.01em; }
.pil__trio-sub { margin: 0.15rem 0 0.5rem; font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--dim); }
.pil__trio-body { margin: 0; font-size: 0.92rem; line-height: 1.5; color: var(--mid); }

/* ─── Capabilities (what operates in the box) ─────────────────────────── */
.cap__wrap { display: grid; grid-template-columns: 1fr; gap: 2.5rem; }
@media (min-width: 900px){ .cap__wrap { grid-template-columns: 0.9fr 1.1fr; gap: 4rem; align-items: start; } }
.cap__list { display: grid; grid-template-columns: 1fr; border-top: 2px solid var(--bord); }
.cap__row { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--bsoft); transition: padding-left 0.2s ease; align-items: baseline; }
.cap__row:hover { padding-left: 0.5rem; }
.cap__row-idx { font-family: var(--mono); font-size: 0.72rem; color: var(--teal); letter-spacing: 0.12em; }
.cap__row-name { font-family: var(--font); font-size: 1.14rem; font-weight: 600; text-transform: lowercase; color: var(--ink); letter-spacing: -0.01em; }
.cap__row-desc { margin: 0.2rem 0 0; font-size: 0.96rem; line-height: 1.5; color: var(--mid); }
.cap__aside-label { font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--dim); margin: 0 0 1.2rem; }
.cap__box { border: 2px solid var(--teal); background: linear-gradient(180deg, rgba(17,221,173,0.06), rgba(17,221,173,0.01)); padding: 2rem 1.8rem; }
.cap__box-title { margin: 0 0 1rem; font-family: var(--font); font-size: 1.5rem; font-weight: 700; text-transform: lowercase; letter-spacing: -0.02em; color: var(--ink); }
.cap__box-body { margin: 0 0 1.5rem; font-size: 1rem; line-height: 1.62; color: var(--mid); }
.cap__tags { display: flex; flex-wrap: wrap; gap: 0.5rem; }

/* ─── Cycle (cruise) ──────────────────────────────────────────────────── */
.cyc__list { list-style: none; margin: 0; padding: 0; }
.cyc__item { display: grid; grid-template-columns: 3.2rem 1fr; gap: 1.25rem; padding: 2rem 0; border-top: 1px solid var(--bsoft); transition: background 0.2s ease; }
@media (min-width: 768px){ .cyc__item { grid-template-columns: 6rem 1fr; gap: 2.5rem; padding: 2.5rem 0; } }
.cyc__item:first-child { border-top: 2px solid var(--bord); }
.cyc__item:last-child { border-bottom: 2px solid var(--bord); }
.cyc__num { font-family: var(--mono); font-size: 1.4rem; font-weight: 700; color: var(--dim); line-height: 1; transition: color 0.2s ease; }
@media (min-width: 768px){ .cyc__num { font-size: 2rem; } }
.cyc__item:hover .cyc__num { color: var(--teal); }
.cyc__title { margin: 0 0 0.7rem; font-family: var(--font); font-size: clamp(1.4rem, 2.6vw, 2rem); font-weight: 700; letter-spacing: -0.02em; text-transform: lowercase; color: var(--ink); }
.cyc__body { margin: 0; max-width: 52rem; font-size: 1.08rem; line-height: 1.6; color: var(--mid); text-wrap: pretty; }

/* ─── Methodology (cruise · compact comparison) ───────────────────────── */
.mth__table { display: grid; border: 1px solid var(--bord); background: var(--bg2); }
.mth__thead { display: grid; grid-template-columns: 1fr; border-bottom: 1px solid var(--bord); }
@media (min-width: 768px){ .mth__thead { grid-template-columns: 1fr 1fr; } }
.mth__th { padding: 1.1rem 1.4rem; font-family: var(--mono); font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase; }
.mth__th--m { color: var(--dim); border-bottom: 1px solid var(--bord); }
@media (min-width: 768px){ .mth__th--m { border-right: 1px solid var(--bord); border-bottom: none; } }
.mth__th--a { color: var(--teal); background: rgba(17,221,173,0.05); display: flex; align-items: center; gap: 0.5rem; }
.mth__row { display: grid; grid-template-columns: 1fr; border-bottom: 1px solid var(--bsoft); }
.mth__row:last-child { border-bottom: none; }
@media (min-width: 768px){ .mth__row { grid-template-columns: 1fr 1fr; } }
.mth__cell { padding: 1.4rem; font-size: 1.02rem; line-height: 1.5; }
.mth__cell--m { color: var(--dim); border-bottom: 1px solid var(--bsoft); }
@media (min-width: 768px){ .mth__cell--m { border-right: 1px solid var(--bord); border-bottom: none; } }
.mth__cell--a { color: var(--ink); background: rgba(17,221,173,0.025); font-weight: 500; }
.mth__closing { margin: 2.2rem 0 0; max-width: 56rem; font-size: 1.1rem; line-height: 1.6; color: var(--mid); }
.mth__closing b { color: var(--ink); font-weight: 600; }

/* ─── Protocols (cruise · catalog) ────────────────────────────────────── */
.prt__entry { margin: 0 0 2.5rem; padding: clamp(2rem,4vw,2.8rem); border: 2px solid var(--teal); background: linear-gradient(180deg, rgba(17,221,173,0.06), rgba(17,221,173,0.01)); }
.prt__flag { display: inline-flex; align-items: center; gap: 0.5rem; margin-bottom: 1.1rem; padding: 0.35rem 0.6rem; border: 1px solid rgba(17,221,173,0.4); background: rgba(17,221,173,0.06); }
.prt__flag-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--teal); animation: pulse 2.4s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.4;transform:scale(0.78)} }
.prt__flag-label { font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--teal); }
.prt__entry-title { margin: 0 0 0.9rem; font-family: var(--font); font-size: clamp(1.5rem,3vw,2.1rem); font-weight: 700; letter-spacing: -0.02em; text-transform: lowercase; color: var(--ink); }
.prt__entry-body { margin: 0; max-width: 56rem; font-size: 1.06rem; line-height: 1.6; color: var(--mid); }
.prt__cat-label { margin: 0 0 1.3rem; font-family: var(--mono); font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--dim); }
.prt__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; border: 1px solid var(--bsoft); }
@media (min-width: 768px){ .prt__list { grid-template-columns: repeat(2, 1fr); } }
.prt__item { display: grid; grid-template-columns: 2rem 1fr; gap: 0.9rem; padding: 1.4rem 1.5rem; border-top: 1px solid var(--bsoft); transition: background 0.2s ease; }
.prt__item:first-child { border-top: none; }
@media (min-width: 768px){ .prt__item:nth-child(2){ border-top: none; } .prt__item:nth-child(even){ border-left: 1px solid var(--bsoft); } }
.prt__item:hover { background: rgba(17,221,173,0.025); }
.prt__item-idx { font-family: var(--mono); font-size: 0.7rem; color: var(--teal); padding-top: 0.15rem; }
.prt__item-title { margin: 0 0 0.35rem; font-family: var(--font); font-size: 1.1rem; font-weight: 600; letter-spacing: -0.01em; text-transform: lowercase; color: var(--ink); }
.prt__item-body { margin: 0; font-size: 0.95rem; line-height: 1.5; color: var(--mid); }
.prt__closing { margin: 2.2rem 0 0; max-width: 56rem; font-size: 1.06rem; line-height: 1.6; color: var(--mid); }

/* ─── AI layer (cruise) ───────────────────────────────────────────────── */
.ai__grid { display: grid; grid-template-columns: 1fr; gap: 0; border: 1px solid var(--bsoft); margin-top: 0.5rem; }
@media (min-width: 860px){ .ai__grid { grid-template-columns: repeat(3, 1fr); } }
.ai__agent { padding: 2.2rem 1.9rem; border-top: 1px solid var(--bsoft); transition: background 0.2s ease; }
.ai__agent:first-child { border-top: none; }
@media (min-width: 860px){ .ai__agent { border-top: none; border-left: 1px solid var(--bsoft); } .ai__agent:first-child { border-left: none; } }
.ai__agent:hover { background: rgba(17,221,173,0.03); }
.ai__agent-name { margin: 0 0 0.3rem; font-family: var(--font); font-size: 1.3rem; font-weight: 700; text-transform: lowercase; letter-spacing: -0.01em; color: var(--ink); }
.ai__agent-role { margin: 0 0 1rem; font-family: var(--mono); font-size: 0.64rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--teal); }
.ai__agent-body { margin: 0; font-size: 0.98rem; line-height: 1.55; color: var(--mid); }
.ai__closing { margin: 2.2rem 0 0; max-width: 50rem; font-size: 1.2rem; line-height: 1.5; color: var(--ink); font-family: var(--font); font-weight: 600; letter-spacing: -0.01em; text-wrap: balance; }

/* ─── Anti lock-in (descent · back to night) ──────────────────────────── */
.alk__title { font-size: clamp(2.6rem, 6vw, 4.6rem); line-height: 1; letter-spacing: -0.04em; }
.alk__grid { display: grid; grid-template-columns: 1fr; gap: 2rem; margin-top: 2.8rem; }
@media (min-width: 900px){ .alk__grid { grid-template-columns: repeat(3, 1fr); } }
.alk__block { padding: 1.9rem 1.6rem; border-top: 2px solid var(--teal); background: linear-gradient(180deg, rgba(17,221,173,0.04), transparent); }
.alk__idx { display: block; margin-bottom: 0.8rem; font-family: var(--mono); font-size: 0.72rem; letter-spacing: 0.16em; color: var(--teal); }
.alk__label { display: block; margin-bottom: 1rem; font-family: var(--font); font-size: 0.84rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink); }
.alk__body { margin: 0; font-size: 1.02rem; line-height: 1.6; color: var(--mid); text-wrap: pretty; }
.alk__proof { margin-top: 2.6rem; padding-top: 2rem; border-top: 1px solid var(--bsoft); display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem 2rem; }
.alk__proof-label { font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--dim); }
.alk__proof-stack { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.alk__proof-item { padding: 0.5rem 0.9rem; border: 1px solid var(--bord); font-family: var(--font); font-size: 0.92rem; font-weight: 600; letter-spacing: -0.01em; color: var(--mid); transition: border-color 0.2s ease, color 0.2s ease; }
.alk__proof-item:hover { border-color: var(--teal); color: var(--ink); }

/* ─── Credibility (who's in the tower) ────────────────────────────────── */
.cred { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: center; }
.cred--solo { grid-template-columns: 1fr !important; max-width: 64rem; }
@media (min-width: 860px){ .cred { grid-template-columns: 0.7fr 1.3fr; gap: 4rem; } }
.cred__photo { width: 100%; aspect-ratio: 4/5; border: 1px solid var(--bord); background: var(--bg2); position: relative; overflow: hidden; }
.cred__photo image-slot { width: 100%; height: 100%; display: block; }
.cred__quote { margin: 0 0 2rem; font-family: var(--font); font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 600; line-height: 1.25; letter-spacing: -0.02em; text-transform: lowercase; color: var(--ink); text-wrap: balance; }
.cred__quote b { color: var(--teal); font-weight: 600; }
.cred__body { margin: 0 0 1.8rem; max-width: 46rem; font-size: 1.08rem; line-height: 1.62; color: var(--mid); text-wrap: pretty; }
.cred__sig { display: flex; align-items: center; gap: 1rem; }
.cred__sig-line { width: 2.2rem; height: 1px; background: var(--teal); }
.cred__sig-name { font-family: var(--font); font-size: 1rem; font-weight: 700; text-transform: lowercase; color: var(--ink); }
.cred__sig-role { font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--dim); }

/* ─── Diagnosis (calm CTA) ────────────────────────────────────────────── */
.dgn__scenarios { display: grid; grid-template-columns: 1fr; margin: 0 0 3rem; border-top: 2px solid var(--bord); border-bottom: 2px solid var(--bord); }
.dgn__scenario { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem; padding: 1.6rem 0; border-top: 1px solid var(--bsoft); transition: background 0.2s ease; align-items: baseline; }
.dgn__scenario:first-child { border-top: none; }
.dgn__scenario:hover { background: rgba(17,221,173,0.025); }
@media (min-width: 768px){ .dgn__scenario { grid-template-columns: 3rem 17rem 1fr; padding: 1.9rem 0; } }
.dgn__idx { font-family: var(--mono); font-size: 0.85rem; color: var(--teal); }
.dgn__title { margin: 0; font-family: var(--font); font-size: 1.25rem; font-weight: 700; text-transform: lowercase; letter-spacing: -0.01em; color: var(--ink); }
.dgn__when { margin: 0.4rem 0 0; font-size: 1rem; line-height: 1.5; color: var(--mid); }
@media (min-width: 768px){ .dgn__when { margin: 0; padding-right: 1.5rem; } }
.dgn__ctas { display: flex; flex-wrap: wrap; gap: 0.8rem; margin: 0 0 1.4rem; align-items: center; }
.dgn__tertiary { margin: 0; font-family: var(--mono); font-size: 0.82rem; letter-spacing: 0.06em; color: var(--dim); }
.dgn__tertiary a { color: var(--teal); }

/* ─── FAQ ─────────────────────────────────────────────────────────────── */
.faq__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--bord); }
.faq__item { border-bottom: 1px solid var(--bsoft); }
.faq__item.open { border-bottom-color: var(--bord); }
.faq__q { width: 100%; display: grid; grid-template-columns: 2.5rem 1fr 2rem; align-items: center; gap: 1rem; padding: 1.5rem 0; background: transparent; border: none; text-align: left; color: var(--ink); font-family: var(--font); font-size: 1.1rem; font-weight: 600; text-transform: lowercase; cursor: pointer; transition: color 0.2s ease; }
@media (min-width: 768px){ .faq__q { grid-template-columns: 3.5rem 1fr 2rem; font-size: 1.25rem; padding: 1.7rem 0; } }
.faq__q:hover { color: var(--teal); }
.faq__q-idx { font-family: var(--mono); font-size: 0.72rem; color: var(--dim); }
.faq__item.open .faq__q-idx { color: var(--teal); }
.faq__q-tog { font-family: var(--mono); font-size: 1.4rem; text-align: right; color: var(--dim); transition: color 0.2s ease, transform 0.2s ease; }
.faq__item.open .faq__q-tog { color: var(--teal); transform: rotate(45deg); }
.faq__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.32s ease; }
.faq__item.open .faq__a { grid-template-rows: 1fr; }
.faq__a > div { overflow: hidden; }
.faq__a p { margin: 0; padding: 0 0 1.6rem 2.5rem; font-size: 1.04rem; line-height: 1.62; color: var(--mid); max-width: 60rem; }
@media (min-width: 768px){ .faq__a p { padding-left: 3.5rem; } }

/* ─── Footer ──────────────────────────────────────────────────────────── */
.ft { border-top: 2px solid var(--bord); background: var(--bg2); padding: clamp(3.5rem,8vw,5.5rem) clamp(1.25rem,4vw,3rem) 2rem; position: relative; }
.ft__in { max-width: var(--maxw); margin: 0 auto; }
.ft__cta { margin-bottom: 3rem; }
.ft__word { margin: 0; display: inline-flex; align-items: baseline; gap: 0.02em; font-family: var(--font); font-size: clamp(3.4rem, 15vw, 9.5rem); font-weight: 700; line-height: 0.82; letter-spacing: -0.05em; text-transform: lowercase; color: var(--ink); }
.ft__word-dot { width: 0.18em; height: 0.18em; min-width: 0.18em; border-radius: 50%; background: var(--teal); transform: translateY(-0.06em); box-shadow: 0 0 14px 0 rgba(17,221,173,0.35); flex-shrink: 0; }
.ft__tagline { margin: 1.4rem 0 0; font-family: var(--mono); font-size: 0.74rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--teal); }
.ft__rule { display: block; width: 100%; height: 2px; margin-top: 1.6rem; background: var(--bord); }
.ft__grid { display: grid; grid-template-columns: 1fr; gap: 2.5rem; padding-top: 2.8rem; }
@media (min-width: 640px){ .ft__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 860px){ .ft__grid { grid-template-columns: 5fr 3fr 4fr; gap: 3rem; } }
.ft__col-title { margin: 0 0 1.2rem; font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--dim); }
.ft__desc { margin: 0 0 1rem; max-width: 28rem; font-size: 0.98rem; line-height: 1.6; color: var(--mid); }
.ft__razao { font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.1em; line-height: 1.8; color: var(--dim); }
.ft__list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 0.7rem; }
.ft__link { display: inline-flex; align-items: center; font-family: var(--font); font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mid); transition: color 0.18s ease; }
.ft__link-rule { width: 0; height: 1px; background: var(--teal); transition: width 0.2s ease, margin-right 0.2s ease; }
.ft__link:hover { color: var(--ink); }
.ft__link:hover .ft__link-rule { width: 0.8rem; margin-right: 0.45rem; }
.ft__social { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.ft__social a { display: inline-flex; align-items: center; justify-content: center; width: 2.8rem; height: 2.8rem; border: 1px solid var(--bord); color: var(--mid); transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, color 0.18s ease; }
.ft__social a:hover { transform: var(--lift); background: var(--teal); border-color: var(--teal); color: #06241d; }
.ft__legal { margin-top: 2.5rem; border-top: 1px solid var(--bsoft); padding-top: 1.4rem; }
.ft__legal-line { margin: 0.2rem 0 0; text-align: center; font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.1em; line-height: 1.9; color: var(--dim); }
