.authority-home {
  --authority-navy: #0f2740;
  --authority-blue: #1f5c9e;
  --authority-sky: #4a8cc8;
  --authority-gold: #c8922a;
  --authority-ink: #172536;
  --authority-copy: #536273;
  --authority-line: #dce4ec;
  background: #f4f7fa;
  color: var(--authority-ink);
}

.authority-home section { position: relative; }
.authority-home .ar-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.authority-home .ar-kicker {
  color: var(--authority-blue);
  font: 600 11px/1.4 'IBM Plex Mono', monospace;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.authority-home .ar-section-head { max-width: 760px; margin-bottom: 34px; }
.authority-home .ar-section-head h2 {
  margin: 10px 0 13px;
  color: var(--authority-ink);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
}
.authority-home .ar-section-head p { color: var(--authority-copy); font-size: 17px; line-height: 1.7; }
.authority-home .ar-section { padding: 82px 0; }
.authority-home .ar-section--white { background: #fff; }
.authority-home .ar-section--tint { background: #edf3f8; }
.authority-home .ar-section--dark { background: var(--authority-navy); color: #eaf1f7; }
.authority-home .ar-section--dark h2,
.authority-home .ar-section--dark h3 { color: #fff; }
.authority-home .ar-section--dark .ar-kicker { color: #79acd9; }

.authority-home .ar-hero {
  min-height: 720px;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  background: #0b1d31;
  color: #fff;
}
.authority-home .ar-hero-media { position: absolute; inset: 0; }
.authority-home .ar-hero-media video,
.authority-home .ar-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.authority-home .ar-hero-media img { position: absolute; inset: 0; }
.authority-home .ar-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(7,22,38,.97) 0%, rgba(7,22,38,.88) 45%, rgba(7,22,38,.28) 78%, rgba(7,22,38,.16) 100%);
}
.authority-home .ar-hero .ar-shell { position: relative; z-index: 1; display: flex; align-items: center; padding: 90px 0 52px; }
.authority-home .ar-hero-copy { width: min(760px, 68%); }
.authority-home .ar-hero .ar-kicker { color: #8cb8df; }
.authority-home .ar-hero h1 {
  margin: 14px 0 20px;
  max-width: 760px;
  color: #fff;
  font-size: clamp(42px, 6.1vw, 74px);
  line-height: 1.01;
  letter-spacing: -.045em;
}
.authority-home .ar-hero-lead { max-width: 680px; color: #d3e0ec; font-size: clamp(18px, 2vw, 22px); line-height: 1.55; }
.authority-home .ar-history { margin-top: 15px; color: #99b1c7; font-size: 14px; line-height: 1.6; }
.authority-home .ar-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.authority-home .ar-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: var(--authority-blue);
  color: #fff;
  font-weight: 700;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.authority-home .ar-button:hover { transform: translateY(-1px); background: #286eaf; }
.authority-home .ar-button--ghost { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.08); }
.authority-home .ar-button--ghost:hover { border-color: #fff; background: rgba(255,255,255,.14); }
.authority-home .ar-evidence-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-top: 42px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 5px;
  background: rgba(255,255,255,.12);
}
.authority-home .ar-evidence-stat { padding: 17px; background: rgba(8,30,49,.78); }
.authority-home .ar-evidence-stat strong { display: block; color: #fff; font-size: 25px; line-height: 1; }
.authority-home .ar-evidence-stat span { display: block; margin-top: 7px; color: #a9bfd2; font-size: 11px; line-height: 1.4; text-transform: uppercase; letter-spacing: .07em; }

.authority-home .ar-grid { display: grid; gap: 20px; }
.authority-home .ar-grid--4 { grid-template-columns: repeat(4, 1fr); }
.authority-home .ar-card { border: 1px solid var(--authority-line); border-radius: 8px; background: #fff; overflow: hidden; }
.authority-home .ar-card-body { padding: 24px; }
.authority-home .ar-number { color: var(--authority-gold); font: 600 12px/1 'IBM Plex Mono', monospace; letter-spacing: .12em; }
.authority-home .ar-card h3 { margin: 14px 0 10px; color: var(--authority-ink); font-size: 21px; line-height: 1.25; }
.authority-home .ar-card p { color: var(--authority-copy); font-size: 15px; line-height: 1.65; }
.authority-home .ar-card-link { display: inline-block; margin-top: 17px; color: var(--authority-blue); font-size: 14px; font-weight: 700; }
.authority-home .ar-product-image { aspect-ratio: 4/3; overflow: hidden; background: #eef3f7; }
.authority-home .ar-product-image img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.authority-home .ar-chip-row { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.authority-home .ar-chip { padding: 5px 8px; border-radius: 3px; background: #edf3f8; color: #48647f; font: 600 10px/1.2 'IBM Plex Mono', monospace; letter-spacing: .04em; text-transform: uppercase; }

.authority-home .ar-flow { display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; counter-reset: workflow; }
.authority-home .ar-flow-step { min-height: 176px; padding: 20px 16px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.045); }
.authority-home .ar-flow-step::before { counter-increment: workflow; content: '0' counter(workflow); display: block; margin-bottom: 24px; color: #75a8d5; font: 600 12px/1 'IBM Plex Mono', monospace; }
.authority-home .ar-flow-step strong { display: block; color: #fff; font-size: 15px; line-height: 1.35; }
.authority-home .ar-flow-step span { display: block; margin-top: 9px; color: #aebfd0; font-size: 12px; line-height: 1.5; }

.authority-home .ar-proof-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 24px; align-items: stretch; }
.authority-home .ar-proof-main { position: relative; min-height: 490px; overflow: hidden; border-radius: 8px; background: #132d47; }
.authority-home .ar-proof-main img { width: 100%; height: 100%; object-fit: cover; }
.authority-home .ar-proof-caption { position: absolute; right: 0; bottom: 0; left: 0; padding: 70px 25px 23px; background: linear-gradient(transparent, rgba(7,20,34,.92)); color: #fff; }
.authority-home .ar-proof-caption strong { display: block; font-size: 21px; }
.authority-home .ar-proof-caption span { display: block; margin-top: 6px; color: #c8d7e5; font-size: 14px; line-height: 1.5; }
.authority-home .ar-proof-stack { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.authority-home .ar-proof-item { padding: 18px; border: 1px solid var(--authority-line); border-radius: 8px; background: #fff; }
.authority-home .ar-proof-item img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border-radius: 5px; }
.authority-home .ar-proof-item h3 { margin: 14px 0 6px; font-size: 17px; }
.authority-home .ar-proof-item p { color: var(--authority-copy); font-size: 13px; line-height: 1.5; }
.authority-home .ar-proof-stack .ar-proof-item:last-child:nth-child(odd) { grid-column: 1 / -1; }
.authority-home .ar-proof-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.authority-home .ar-proof-links a { color: var(--authority-blue); font-weight: 700; font-size: 14px; }

.authority-home .ar-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.authority-home .ar-faq article { padding: 24px; border: 1px solid var(--authority-line); border-radius: 7px; background: #fff; }
.authority-home .ar-faq h3 { margin: 0 0 9px; color: var(--authority-ink); font-size: 17px; line-height: 1.35; }
.authority-home .ar-faq p { color: var(--authority-copy); font-size: 14px; line-height: 1.65; }

.authority-home .ar-start { text-align: center; overflow: hidden; }
.authority-home .ar-start::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 10% 15%, rgba(74,140,200,.18), transparent 34%), radial-gradient(circle at 90% 80%, rgba(200,146,42,.13), transparent 30%); }
.authority-home .ar-start .ar-shell { position: relative; z-index: 1; }
.authority-home .ar-start h2 { margin: 10px auto 14px; max-width: 770px; color: #fff; font-size: clamp(34px, 5vw, 54px); }
.authority-home .ar-start > .ar-shell > p { max-width: 700px; margin: 0 auto; color: #b7c8d8; font-size: 17px; line-height: 1.65; }
.authority-home .ar-start-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 34px; text-align: left; }
.authority-home .ar-start-card { padding: 20px; border: 1px solid rgba(255,255,255,.14); border-radius: 6px; background: rgba(255,255,255,.06); }
.authority-home .ar-start-card strong { display: block; color: #fff; font-size: 15px; }
.authority-home .ar-start-card span { display: block; margin-top: 8px; color: #aebfd0; font-size: 13px; line-height: 1.5; }
.authority-home .ar-start .ar-actions { justify-content: center; }

@media (max-width: 1020px) {
  .authority-home .ar-grid--4 { grid-template-columns: 1fr 1fr; }
  .authority-home .ar-flow { grid-template-columns: repeat(4, 1fr); }
  .authority-home .ar-proof-layout { grid-template-columns: 1fr; }
  .authority-home .ar-start-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  .authority-home .ar-shell { width: min(100% - 28px, 1180px); }
  .authority-home .ar-section { padding: 58px 0; }
  .authority-home .ar-hero { min-height: 690px; }
  .authority-home .ar-hero::after { background: linear-gradient(180deg, rgba(7,22,38,.80), rgba(7,22,38,.97) 58%); }
  .authority-home .ar-hero .ar-shell { align-items: flex-end; padding: 110px 0 38px; }
  .authority-home .ar-hero-copy { width: 100%; }
  .authority-home .ar-hero h1 { font-size: clamp(37px, 12vw, 55px); }
  .authority-home .ar-evidence-strip { grid-template-columns: 1fr 1fr; }
  .authority-home .ar-grid--4,
  .authority-home .ar-proof-stack,
  .authority-home .ar-faq,
  .authority-home .ar-start-grid { grid-template-columns: 1fr; }
  .authority-home .ar-flow { grid-template-columns: 1fr 1fr; }
  .authority-home .ar-flow-step { min-height: 148px; }
  .authority-home .ar-proof-main { min-height: 360px; }
  .authority-home .ar-actions .ar-button { width: 100%; }
}

@media (max-width: 430px) {
  .authority-home .ar-evidence-strip,
  .authority-home .ar-flow { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .authority-home .ar-hero-media video { display: none; }
}

.authority-spec { padding: 76px 0; background: #fff; }
.authority-spec .as-shell { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }
.authority-spec .as-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .45fr); gap: 32px; align-items: end; margin-bottom: 28px; }
.authority-spec .as-kicker { color: #1f5c9e; font: 600 11px/1.4 'IBM Plex Mono', monospace; letter-spacing: .14em; text-transform: uppercase; }
.authority-spec h2 { margin: 9px 0 12px; color: #172536; font-size: clamp(30px, 4vw, 46px); line-height: 1.08; }
.authority-spec .as-intro { max-width: 760px; color: #536273; font-size: 16px; line-height: 1.7; }
.authority-spec .as-download { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 0 18px; border-radius: 4px; background: #1f5c9e; color: #fff; font-size: 14px; font-weight: 700; text-align: center; }
.authority-spec .as-table-wrap { overflow-x: auto; border: 1px solid #dce4ec; border-radius: 8px; box-shadow: 0 16px 34px rgba(15,39,64,.07); }
.authority-spec table { width: 100%; border-collapse: collapse; min-width: 720px; }
.authority-spec th { padding: 14px 18px; background: #0f2740; color: #dce9f4; font: 600 11px/1.35 'IBM Plex Mono', monospace; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.authority-spec td { padding: 14px 18px; border-bottom: 1px solid #e2e8ef; color: #45576a; font-size: 14px; line-height: 1.55; vertical-align: top; }
.authority-spec tbody tr:last-child td { border-bottom: 0; }
.authority-spec tbody tr:nth-child(even) td { background: #f6f9fb; }
.authority-spec td:first-child { color: #172536; font-weight: 700; }
.authority-spec .as-note { margin-top: 20px; padding: 17px 19px; border-left: 4px solid #c8922a; background: #fbf7ee; color: #5c513f; font-size: 14px; line-height: 1.65; }
.authority-spec .as-inputs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 22px; }
.authority-spec .as-input { padding: 15px; border: 1px solid #dce4ec; border-radius: 6px; background: #f7fafc; color: #42566b; font-size: 13px; line-height: 1.5; }
.authority-spec .as-input strong { display: block; margin-bottom: 5px; color: #172536; font-size: 14px; }
@media (max-width: 760px) {
  .authority-spec { padding: 56px 0; }
  .authority-spec .as-shell { width: min(100% - 28px, 1120px); }
  .authority-spec .as-head { grid-template-columns: 1fr; }
  .authority-spec .as-download { width: 100%; }
  .authority-spec .as-inputs { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 450px) { .authority-spec .as-inputs { grid-template-columns: 1fr; } }
