/* ============================================================
   PALADIO — sections part 3 (industries, architecture, trust, outcomes, CTA)
   ============================================================ */

/* ---------- Industries ---------- */
.industries { background: var(--paper-2); }
.ind-grid { margin-top: clamp(40px,5vh,64px); display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:880px){ .ind-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .ind-grid{grid-template-columns:1fr} }
.ind-card { border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); padding:26px; transition:border-color .3s, transform .3s, box-shadow .3s; display:flex; flex-direction:column; }
.ind-card:hover { border-color:var(--line-strong); transform:translateY(-3px); box-shadow:0 24px 50px -40px rgba(12,13,14,.4); }
.ind-card .ic-name { font-size:clamp(1.3rem,1.8vw,1.6rem); font-weight:600; letter-spacing:-0.025em; }
.ind-card .ic-app { font-family:var(--mono); font-size:12.5px; color:var(--ink-500); margin-top:8px; }
.ind-card .ic-layers { display:flex; gap:7px; margin-top:auto; padding-top:22px; }
.ind-card .ic-layers .il { flex:1; height:5px; border-radius:3px; }
.ind-card .ic-foot { display:flex; gap:6px; margin-top:14px; font-family:var(--mono); font-size:10.5px; letter-spacing:.04em; color:var(--ink-400); flex-wrap:wrap; }

/* ---------- Architecture stack ---------- */
.architecture { background: var(--dark); color:var(--on-dark); }
.arch-wrap { margin-top: clamp(40px,5vh,64px); display:grid; grid-template-columns: 1fr; gap:0; max-width:760px; margin-inline:auto; }
.arch-layer { position:relative; border:1px solid var(--dark-line); border-radius:14px; padding:20px 26px; margin-bottom:12px; background:rgba(242,240,234,.02); transition:border-color .3s, background .3s, transform .3s; cursor:default; }
.arch-layer:hover { border-color:rgba(242,240,234,.32); background:rgba(242,240,234,.045); transform:scale(1.012); }
.arch-layer .al-row { display:flex; align-items:center; justify-content:space-between; gap:16px; }.arch-layer .al-name { font-size:clamp(1.1rem,1.6vw,1.35rem); font-weight:600; letter-spacing:-0.02em; display:flex; align-items:center; gap:12px; }
.arch-layer .al-name i { width:10px; height:10px; border-radius:3px; flex:none; }
.arch-layer .al-tag { font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--dark-ink-500); white-space:nowrap; }
.arch-layer .al-sub { font-family:var(--mono); font-size:12.5px; color:var(--dark-ink-300); margin-top:6px; }
.arch-apps { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.arch-apps .aa { font-family:var(--mono); font-size:11.5px; padding:6px 11px; border-radius:8px; border:1px solid var(--dark-line); color:var(--dark-ink-300); background:rgba(242,240,234,.03); white-space:nowrap; }
a.aa { transition:border-color .2s, color .2s, background .2s; }
a.aa:hover { color:var(--on-dark); border-color:rgba(242,240,234,.4); background:rgba(242,240,234,.08); }
.arch-tier-label { font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--dark-ink-500); margin:18px 0 12px; text-align:center; }
.arch-conn { text-align:center; color:var(--dark-ink-500); font-size:14px; margin:-4px 0 8px; }
.arch-apps-layer { border-color:rgba(242,240,234,.18); background:linear-gradient(180deg,rgba(242,240,234,.05),rgba(242,240,234,.01)); }
.arch-sys-layer { border-style:dashed; }
.arch-caption { text-align:center; margin-top:clamp(36px,5vh,56px); font-size:clamp(1.1rem,1.7vw,1.4rem); font-weight:500; letter-spacing:-0.02em; max-width:48ch; margin-inline:auto; color:var(--dark-ink-300); }

/* ---------- Trust cards ---------- */
.trust-sec .sec-head { margin-inline:auto; text-align:center; }
.trust-grid { margin-top: clamp(40px,5vh,64px); display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
@media (max-width:980px){ .trust-grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:620px){ .trust-grid{grid-template-columns:repeat(2,1fr)} }
.trust-card { border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); padding:22px 20px; min-height:148px; display:flex; flex-direction:column; transition:border-color .3s, transform .3s; }
.trust-card:hover { border-color:var(--accent); transform:translateY(-3px); }
.trust-card .tc-ico { width:34px; height:34px; border-radius:9px; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; flex:none; }
.trust-card .tc-ico svg { width:18px; height:18px; }
.trust-card .tc-t { font-weight:600; letter-spacing:-0.02em; font-size:16px; line-height:1.18; margin-top:18px; min-height:calc(2 * 1.18em); display:flex; align-items:flex-end; }
.trust-card .tc-d { font-size:12.5px; color:var(--ink-500); font-family:var(--mono); margin-top:6px; line-height:1.35; }

/* ---------- Outcomes ---------- */
.outcomes { border-top:1px solid var(--line); }
.out-grid { margin-top: clamp(40px,5vh,64px); display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; }
@media (max-width:820px){ .out-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:460px){ .out-grid{grid-template-columns:1fr} }
.out-cell { padding:clamp(28px,3.5vw,44px); border-right:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); background:var(--surface); }
.out-cell .om { font-size:clamp(3rem,6vw,5rem); font-weight:600; letter-spacing:-0.05em; line-height:0.9; }
.out-cell .od { font-size:14.5px; color:var(--ink-500); margin-top:16px; line-height:1.4; max-width:24ch; }
.out-cell:nth-child(4n){ border-right:none; }
@media (max-width:820px){ .out-cell:nth-child(2n){border-right:none} }

/* ---------- Final CTA ---------- */
.final { background: var(--dark); color:var(--on-dark); text-align:center; position:relative; overflow:hidden; }
.final-grid-bg { position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:linear-gradient(var(--dark-line-soft) 1px, transparent 1px), linear-gradient(90deg,var(--dark-line-soft) 1px, transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%, #000 20%, transparent 75%);
          mask-image:radial-gradient(ellipse 80% 70% at 50% 40%, #000 20%, transparent 75%); }
.final .wrap { position:relative; z-index:2; }
.final .display { margin:24px auto 0; max-width:16ch; }
.final .lead { margin:26px auto 0; max-width:50ch; color:var(--dark-ink-300); }
.final .cta-row { justify-content:center; margin-top:38px; }

/* ---------- Footer ---------- */
.footer { background:var(--dark); color:var(--on-dark); padding-top:clamp(48px,7vh,90px); padding-bottom:40px; border-top:1px solid var(--dark-line); }
.foot-top { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; }
@media (max-width:760px){ .foot-top{grid-template-columns:1fr 1fr; gap:28px} }
.foot-brand .brand { color:var(--on-dark); margin-bottom:16px; }
.foot-brand p { color:var(--dark-ink-500); font-size:14px; max-width:30ch; }
.foot-col h4 { font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--dark-ink-500); margin-bottom:16px; font-weight:500; }
.foot-col a { display:block; color:var(--dark-ink-300); font-size:14px; margin-bottom:11px; transition:color .2s; }
.foot-col a:hover { color:var(--on-dark); }
.foot-bot { display:flex; justify-content:space-between; align-items:center; margin-top:clamp(40px,6vh,70px); padding-top:24px; border-top:1px solid var(--dark-line); font-family:var(--mono); font-size:12px; color:var(--dark-ink-500); flex-wrap:wrap; gap:14px; }
.foot-layers { display:flex; gap:8px; align-items:center; }
.foot-layers i { width:9px; height:9px; border-radius:2px; }