/* ==========================================================================
   SmartLaw — service page "Стягнення аліментів через судовий наказ"
   Loaded only on the page that uses page-templates/alimony-court-order.php.
   Uses theme tokens from style.css (--ink-*, --line-*, --gold-*, --text-*, fonts).
   Prefix: .alo-
   ========================================================================== */

.alo {
  --alo-pad: 32px;
  --alo-radius: 8px;
  --alo-blue: #5b9dc9;
  --alo-paper: #e8e2d3;
  --alo-paper-ink: #241f14;
  --alo-paper-text: #5c5646;
  --alo-paper-gold: #8b7d5a;
  background: var(--ink-900);
  color: var(--text-200);
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.6;
  overflow-x: clip;
}
.alo *, .alo *::before, .alo *::after { box-sizing: border-box; }
.alo h1, .alo h2, .alo h3, .alo p, .alo ul, .alo ol, .alo blockquote, .alo fieldset { margin: 0; padding: 0; }
.alo ul, .alo ol { list-style: none; }
.alo fieldset { border: 0; min-width: 0; }
.alo legend { padding: 0; }
.alo a { color: var(--gold-500); text-decoration: none; transition: color 120ms ease-out; }
.alo a:hover { color: var(--gold-hover); }
.alo button { font-family: inherit; }
.alo :focus-visible { outline: 2px solid var(--gold-500); outline-offset: 3px; }

/* Layout ---------------------------------------------------------------- */
.alo-section { padding: 88px 0 72px; }
.alo-section--alt {
  background: var(--ink-850);
  border-top: 1px solid var(--line-800);
  border-bottom: 1px solid var(--line-800);
  padding: 72px 0;
}
.alo-page-wrap {
  margin: 0 var(--sl-layout-edge, 48px);
  background: var(--ink-900);
  border-left: 1px solid var(--line-700);
  border-right: 1px solid var(--line-700);
}
.alo-container {
  width: calc(100% - var(--alo-pad) * 2);
  margin-left: var(--alo-pad);
  margin-right: var(--alo-pad);
}
.alo-split {
  display: grid;
  grid-template-columns: minmax(240px, .75fr) minmax(0, 1.25fr);
  gap: 56px;
}

/* Typography ------------------------------------------------------------ */
.alo-eyebrow {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold-500);
}
.alo-eyebrow--muted { color: var(--text-600); }
.alo-eyebrow--paper { color: var(--alo-paper-gold); }
.alo-eyebrow--cream { color: var(--gold-700); letter-spacing: .16em; }
.alo-eyebrow--link { display: inline-block; text-decoration: none; transition: color 120ms ease-out, text-decoration-color 120ms ease-out; }
.alo-eyebrow--link:hover { color: var(--gold-hover); text-decoration: underline; text-underline-offset: 4px; }
.alo-eyebrow--link:focus-visible { outline: 2px solid var(--gold-500); outline-offset: 3px; }
.alo-h2 {
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 32px;
  line-height: 1.2;
  color: var(--text-100);
  margin-top: 14px;
  max-width: 22em;
}
.alo-h2--sm { font-size: 30px; }
.alo-h2--xs { font-size: 28px; }
.alo-h2--flush { margin-top: 0; }
.alo-h3 {
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 22px;
  line-height: 1.25;
  color: var(--text-100);
  margin: 0 0 20px;
}
.alo-lead {
  font-size: 16px;
  line-height: 1.65;
  color: var(--text-500);
  margin-top: 18px;
  max-width: 52em;
}
.alo-lead--tight { margin-top: 16px; line-height: 1.6; }
.alo-lead--light { color: var(--text-200); }
.alo-text { font-size: 15px; line-height: 1.6; color: var(--text-500); margin-top: 14px; }
.alo-text--muted { font-size: 14px; color: var(--text-600); margin-top: 16px; }
.alo-text--tight { margin-top: 12px; }
.alo-small { font-size: 14px; line-height: 1.6; color: var(--text-600); margin-top: 20px; }
.alo-small--tight { margin-top: 8px; }

/* Buttons --------------------------------------------------------------- */
.alo-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  border: 1px solid transparent;
  cursor: pointer;
  text-align: center;
  transition: background-color 120ms ease-out, color 120ms ease-out, border-color 120ms ease-out, transform 80ms ease-out;
}
.alo-btn:active { transform: translateY(1px); }
.alo .alo-btn--primary,
.alo a.alo-btn--primary,
.alo a.alo-btn--primary:link,
.alo a.alo-btn--primary:visited { background: var(--gold-500); color: var(--ink-900); padding: 16px 28px; }
.alo .alo-btn--primary:hover,
.alo .alo-btn--primary:focus-visible,
.alo .alo-btn--primary:active,
.alo a.alo-btn--primary:hover,
.alo a.alo-btn--primary:focus-visible,
.alo a.alo-btn--primary:active { background: var(--gold-hover); color: var(--ink-900); }
.alo .alo-btn--primary span, .alo a.alo-btn--primary span { color: inherit; }
.alo-btn--primary[disabled] { opacity: .7; cursor: progress; }
.alo .alo-btn--outline, .alo a.alo-btn--outline {
  border-color: var(--gold-500);
  color: var(--gold-500);
  background: transparent;
  padding: 13px 22px;
  border-radius: 999px;
  font-size: 14px;
  white-space: nowrap;
}
.alo .alo-btn--outline:hover, .alo .alo-btn--outline:focus-visible { background: rgba(216, 167, 71, .1); color: var(--gold-hover); }
.alo-btn--pill { border-radius: 999px; padding: 16px; }
.alo-btn--block { width: 100%; }

.alo-link {
  display: inline-block;
  background: none;
  border: 0;
  padding: 0;
  font-size: 14px;
  color: var(--gold-500);
  cursor: pointer;
  text-decoration: none;
  transition: color 120ms ease-out;
}
.alo-link:hover, .alo-link:focus-visible { color: var(--gold-hover); }
.alo-link[aria-expanded="true"] { text-decoration: underline; text-underline-offset: 4px; }
.alo-link--paper { color: var(--alo-paper-gold); }
.alo-link--paper:hover, .alo-link--paper:focus-visible { color: var(--alo-paper-ink); }

.alo-pill {
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 9px 15px;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  background: transparent;
  color: var(--text-300);
  cursor: pointer;
  transition: background-color 120ms ease-out, color 120ms ease-out, border-color 120ms ease-out;
}
.alo-pill:hover { border-color: var(--line-500); color: var(--text-100); }
.alo-pill.is-active, .alo-pill[aria-pressed="true"] { background: var(--gold-500); color: var(--ink-900); border-color: var(--gold-500); }
.alo-seg {
  display: inline-flex;
  background: var(--ink-800);
  border: 1px solid var(--line-700);
  border-radius: 999px;
  padding: 4px;
  gap: 4px;
}

.alo-close {
  position: absolute;
  top: 24px;
  right: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid var(--line-600);
  background: none;
  color: var(--text-600);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 120ms ease-out, border-color 120ms ease-out;
}
.alo-close:hover, .alo-close:focus-visible { color: var(--text-100); border-color: var(--gold-500); }

/* Cards ----------------------------------------------------------------- */
.alo-card {
  background: var(--ink-800);
  border: 1px solid var(--line-700);
  border-radius: var(--alo-radius);
  padding: 24px;
  transition: border-color 160ms ease-out;
}
.alo-card--gold { border-color: var(--gold-500); padding: 28px; }
.alo-card--tight { padding: 22px; }
.alo-card--roomy { padding: 28px; }
.alo-card--dim { background: var(--ink-850); }
.alo-card__title {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 17px;
  line-height: 1.3;
  color: var(--text-100);
  margin-top: 14px;
}
.alo-card__title--sm { font-size: 16px; margin-top: 0; }
.alo-card__title--lg { font-size: 19px; margin-top: 16px; }
.alo-card__text { font-size: 14px; line-height: 1.55; color: var(--text-500); margin-top: 10px; }
.alo-card__text--sm { font-size: 13.5px; line-height: 1.6; color: var(--text-600); margin-top: 8px; }
.alo-card__text--lg { font-size: 15px; line-height: 1.6; }
.alo-card__text--muted { color: var(--text-600); }
.alo-card--tight .alo-card__text { margin-top: 8px; }
.alo-grid-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin-top: 32px;
}
.alo-grid-cards--two { margin-top: 36px; }
/* 06 · Відповідність: two equal cards, one column below 640 px */
.alo-fits .alo-grid-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 639px) {
  .alo-fits .alo-grid-cards { grid-template-columns: 1fr; }
}
/* 04 · Якщо не платять: 3 × 3 on desktop, 2 columns on tablet, 1 on mobile */
.alo-consequences .alo-grid-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
@media (max-width: 1099px) {
  .alo-consequences .alo-grid-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .alo-consequences .alo-grid-cards { grid-template-columns: 1fr; }
}
.alo-note-row {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--line-700);
  font-size: 14px;
  color: var(--text-600);
}
.alo-note-row svg { flex: none; }

/* Steps (numbered lists) ------------------------------------------------ */
.alo-steps { margin-top: 28px; }
.alo-steps--process { margin-top: 0; }
.alo-step { display: flex; gap: 20px; padding: 20px 0; border-top: 1px solid var(--line-700); }
.alo-steps--process .alo-step { padding: 22px 0; }
.alo-step__num {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--ink-800);
  border: 1px solid var(--line-600);
  color: var(--gold-500);
  font-weight: 700;
  font-size: 14px;
  display: flex; align-items: center; justify-content: center;
  flex: none;
}
.alo-step__num--sm { width: 32px; height: 32px; font-size: 13px; }
.alo-step__title { font-family: var(--font-sans); font-weight: 700; font-size: 17px; line-height: 1.3; color: var(--text-100); }
.alo-step__title--lg { font-size: 18px; }
.alo-step__desc { font-size: 14.5px; line-height: 1.6; color: var(--text-500); margin-top: 6px; max-width: 44em; }
.alo-step__desc--lg { font-size: 15px; max-width: none; }

/* HERO ------------------------------------------------------------------ */
.alo-hero { padding: 48px 0 0; }
.alo-hero__grid {
  display: grid;
  grid-template-columns: minmax(280px, 1.05fr) minmax(260px, .95fr);
  gap: 32px;
  margin-top: 20px;
  align-items: start;
}
.alo-hero__title {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: clamp(32px, 4.4vw, 48px);
  line-height: 1.18;
  color: var(--text-100);
  max-width: 14em;
  text-wrap: balance;
}
.alo-hero__lead { font-size: 18px; line-height: 1.5; color: var(--text-200); margin-top: 22px; max-width: 26em; }
.alo-hero__sub { font-size: 15px; line-height: 1.6; color: var(--text-600); margin-top: 14px; max-width: 28em; }
.alo-hero__price { display: flex; align-items: baseline; gap: 14px; margin-top: 32px; flex-wrap: wrap; }
.alo-price { font-family: var(--font-serif); font-size: 42px; line-height: 1.1; color: var(--text-100); }
.alo-price span { font-size: 24px; color: var(--text-500); }
.alo-price__note { font-size: 14px; line-height: 1.4; color: var(--text-600); }
.alo-hero .alo-btn--primary { margin-top: 22px; }
.alo-hero__hint { font-size: 13px; color: var(--text-600); margin-top: 12px; }
.alo-hero__scope { background: var(--ink-800); border: 1px solid var(--line-700); padding: 32px; }
.alo-hero__scope .alo-eyebrow { letter-spacing: .12em; }
.alo-hero__scope-title { font-family: var(--font-serif); font-size: 24px; line-height: 1.3; color: var(--text-100); margin-top: 12px; }
.alo-hero__step { border-top: 1px solid var(--line-700); padding: 18px 0; display: flex; gap: 14px; margin-top: 0; }
.alo-hero__scope-title + .alo-hero__step { margin-top: 18px; }
.alo-hero__step:last-child { padding-bottom: 0; }
.alo-hero__step-num { font-family: var(--font-mono); font-size: 12px; color: var(--gold-500); flex: none; padding-top: 2px; }
.alo-hero__step-title { font-size: 16px; font-weight: 700; color: var(--text-100); line-height: 1.35; }
.alo-hero__step-desc { font-size: 14px; line-height: 1.5; color: var(--text-500); margin-top: 6px; }
.alo-hero__outside {
  display: flex; flex-wrap: wrap; align-items: center; gap: 14px;
  margin-top: 36px; padding: 22px 0;
  border-top: 1px solid var(--line-800);
}
.alo-hero__outside .alo-eyebrow { letter-spacing: .12em; }
.alo-hero__outside-text { font-size: 15px; color: var(--text-300); }

/* 01 ABOUT -------------------------------------------------------------- */
.alo-about { border-top: 1px solid var(--line-800); }
.alo-about__grid {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(0, 1.6fr);
  gap: 20px;
  margin-top: 36px;
}
.alo-about__zero-num { font-family: var(--font-serif); font-size: 88px; line-height: 1; color: var(--gold-500); margin-top: 18px; }
.alo-about__zero-title { font-family: var(--font-sans); font-weight: 700; font-size: 24px; line-height: 1.2; color: var(--text-100); margin-top: 22px; }
.alo-about__zero-text { font-size: 14.5px; line-height: 1.55; color: var(--text-500); margin-top: 10px; }
.alo-about__zero .alo-link { margin-top: 20px; }
.alo-about__doc {
  background: var(--alo-paper);
  border-radius: var(--alo-radius);
  padding: 28px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: start;
}
.alo-about__doc-title { font-family: var(--font-serif); font-weight: 400; font-size: 34px; line-height: 1.15; color: var(--alo-paper-ink); margin-top: 14px; }
.alo-about__doc-text { font-size: 14.5px; line-height: 1.55; color: var(--alo-paper-text); margin-top: 12px; }
.alo-about__doc .alo-link { margin-top: 16px; }
.alo-about__doc-svg { flex: none; filter: drop-shadow(0 10px 16px rgba(36, 31, 20, .28)); }
.alo-about__doc :focus-visible { outline-color: var(--alo-paper-ink); }
.alo-about__small {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin-top: 20px;
}
.alo-about__small .alo-link { margin-top: 14px; }
.alo-about__toggle[aria-expanded="true"] { color: var(--gold-hover); }
.alo-about__panel { margin-top: 24px; padding-top: 24px; padding-right: 48px; border-top: 1px solid var(--line-700); position: relative; }
.alo-about__panel-title { font-family: var(--font-sans); font-weight: 700; font-size: 19px; line-height: 1.3; color: var(--gold-500); max-width: 44em; }
.alo-about__panel-text { font-size: 15px; line-height: 1.65; color: #c4c9d1; margin-top: 10px; max-width: 44em; }

/* 02 TIMELINE ----------------------------------------------------------- */
.alo-timeline__item { display: flex; gap: 20px; padding: 20px 0; border-top: 1px solid var(--line-700); }
.alo-timeline__num { font-family: var(--font-mono); font-size: 12px; color: var(--gold-500); flex: none; width: 88px; padding-top: 3px; }
.alo-timeline__title { font-family: var(--font-sans); font-weight: 700; font-size: 17px; line-height: 1.3; color: var(--text-100); }
.alo-timeline__desc { font-size: 14.5px; line-height: 1.55; color: var(--text-500); margin-top: 6px; }

/* 03 AMOUNTS ------------------------------------------------------------ */
.alo-amounts__bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 36px; }
.alo-amounts__label { font-size: 15px; color: #c4c9d1; }
.alo-amounts__box {
  margin-top: 20px;
  background: var(--ink-800);
  border: 1px solid var(--gold-500);
  border-radius: var(--alo-radius);
  padding: 32px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 32px;
}
.alo-amount__label { font-size: 15px; color: var(--text-200); }
.alo-amount__value { font-family: var(--font-serif); font-size: 56px; line-height: 1.1; color: var(--gold-500); margin-top: 18px; }
.alo-amount__value span { font-size: 26px; }
.alo-amount__eq { font-size: 15px; color: var(--text-500); margin-top: 14px; }
.alo-amount__percent { display: none; }
.alo-amounts.is-percent .alo-amount__fraction { display: none; }
.alo-amounts.is-percent .alo-amount__percent { display: block; }
.alo-amount__from { font-size: 14px; color: var(--text-600); margin-top: 14px; }
.alo-amount__bars { display: flex; gap: 6px; margin-top: 16px; }
.alo-amount__bars span { height: 4px; flex: 1; background: var(--line-600); border-radius: 2px; }
.alo-amount__bars span.is-on { background: var(--gold-500); }
.alo-amounts__alt { border-top: 1px solid var(--line-700); margin-top: 24px; padding-top: 20px; }
.alo-amounts__alt-toggle {
  width: 100%;
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  background: none; border: 0; padding: 4px 0; text-align: left;
  font-size: 15px; color: #c4c9d1; cursor: pointer;
  transition: color 120ms ease-out;
}
.alo-amounts__alt-toggle:hover { color: var(--text-100); }
.alo-amounts__alt-icon { width: 24px; height: 24px; flex: none; font-size: 20px; line-height: 24px; color: var(--gold-500); text-align: center; }
.alo-amounts__alt-panel .alo-text { max-width: 52em; line-height: 1.65; }
.alo-amounts__alt-panel strong { color: var(--text-200); font-weight: 700; }

/* MILITARY -------------------------------------------------------------- */
.alo-military { padding: 0 0 72px; }
.alo-military__box {
  background: linear-gradient(180deg, rgba(91, 157, 201, .06), rgba(91, 157, 201, .02));
  border: 1px solid var(--line-700);
  border-top: 3px solid var(--alo-blue);
  border-radius: var(--alo-radius);
  padding: 24px 28px;
}
.alo-military__head { display: flex; align-items: center; gap: 10px; }
.alo-military__head svg { flex: none; }
.alo-military__title { font-family: var(--font-sans); font-weight: 700; font-size: 15px; color: var(--alo-blue); }
.alo-military__text { font-size: 14px; line-height: 1.6; color: var(--text-500); margin-top: 8px; max-width: 52em; }

/* 06 FITS / 07 SCOPE ---------------------------------------------------- */
.alo-fits { padding-top: 96px; }
.alo-scope__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
  margin-top: 24px;
}
.alo-scope__grid > .alo-card { padding: 32px; }
.alo-scope__excluded {
  background: var(--ink-800);
  border: 1px solid var(--line-700);
  border-radius: var(--alo-radius);
  padding: 32px;
  display: flex;
  flex-direction: column;
}
.alo-scope__item { display: flex; gap: 14px; padding: 14px 0; border-top: 1px solid var(--line-700); }
.alo-scope__item svg { flex: none; margin-top: 2px; }
.alo-scope__item-title { font-size: 15.5px; font-weight: 700; color: var(--text-200); line-height: 1.4; }
.alo-scope__item-desc { font-size: 14.5px; line-height: 1.55; color: var(--text-600); margin-top: 4px; }
.alo-scope__group { flex: 1 1 0; margin: 0; padding: 14px 0; border-top: 1px solid var(--line-700); display: flex; flex-direction: column; justify-content: center; }
.alo-scope__group-title { font-family: var(--font-sans); font-size: 13px; font-weight: 700; line-height: 1.4; color: var(--text-600); text-transform: uppercase; letter-spacing: .04em; }
.alo-scope__dashes { margin-top: 4px; }
.alo-scope__dashes li { display: grid; grid-template-columns: 14px minmax(0, 1fr); column-gap: 8px; align-items: start; font-size: 15px; line-height: 1.5; color: var(--text-500); margin-top: 8px; }
.alo-scope__dashes li span:first-child { color: var(--gold-500); text-align: center; }
.alo-scope__foot { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; margin-top: 16px; }
.alo-scope__foot-text { max-width: 44em; margin-top: 0; }

/* 08 PROCESS ------------------------------------------------------------ */
.alo-process { padding-top: 96px; }
.alo-process__prep { margin-top: 32px; }
.alo-process__prep .alo-card__title { margin-top: 0; }

/* 09 LAWYER (cream) ----------------------------------------------------- */
.alo-lawyer {
  padding: 64px 0;
  background: var(--cream-100);
  color: var(--text-dark-900);
  border-top: 1px solid var(--line-800);
}
.alo-lawyer :focus-visible { outline-color: var(--gold-700); }
.alo-lawyer__title {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 38px;
  line-height: 1.15;
  color: var(--text-dark-900);
  margin-top: 14px;
  max-width: 22em;
  text-wrap: balance;
}
.alo-lawyer__card {
  margin-top: 30px;
  background: var(--cream-000);
  border: 1px solid var(--cream-line);
  display: grid;
  grid-template-columns: minmax(240px, 420px) minmax(0, 1fr);
}
.alo-lawyer__photo { position: relative; min-height: 400px; background: var(--cream-line); }
.alo-lawyer__photo img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: 50% 18%;
  display: block;
}
.alo-lawyer__body { padding: 44px 48px 40px; }
.alo-lawyer__body .alo-eyebrow { letter-spacing: .14em; }
.alo-lawyer__name { font-family: var(--font-serif); font-weight: 400; font-size: 32px; line-height: 1.2; color: var(--text-dark-900); margin-top: 8px; }
.alo-lawyer__meta { font-family: var(--font-mono); font-size: 14px; line-height: 1.5; color: var(--text-dark-400); margin-top: 4px; }
.alo-lawyer__name + .alo-lawyer__meta { margin-top: 8px; }
.alo-lawyer__links { margin-top: 12px; font-family: var(--font-mono); font-size: 11px; letter-spacing: .04em; color: #b0a480; line-height: 1.8; }
.alo-lawyer__links a { color: #b0a480; }
.alo-lawyer__links a:hover, .alo-lawyer__links a:focus-visible { color: var(--gold-700); }
.alo .alo-lawyer__quote {
  border-left: 2px solid var(--gold-500);
  padding: 2px 0 2px 26px;
  text-indent: 0;
  hanging-punctuation: none;
  margin-top: 20px;
  font-family: var(--font-serif);
  font-size: 21px;
  line-height: 1.45;
  color: var(--text-dark-900);
  max-width: 24em;
}
.alo-lawyer__cert {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 16px;
  border-top: 1px solid var(--cream-line-2);
  border-bottom: 1px solid var(--cream-line-2);
  padding: 13px 0;
  margin-top: 22px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--text-dark-700);
}
.alo-lawyer__cert-label { font-family: var(--font-mono); font-size: 11px; letter-spacing: .12em; color: var(--gold-700); padding-top: 4px; }

/* 10 FAQ ---------------------------------------------------------------- */
.alo-faq { padding-top: 96px; }
.alo-faq__grid { display: grid; grid-template-columns: minmax(200px, .7fr) minmax(0, 1.3fr); gap: 40px; }
.alo-faq__list { display: flex; flex-direction: column; gap: 12px; }
.alo-faq__item { background: var(--ink-800); border: 1px solid var(--line-700); border-radius: var(--alo-radius); transition: border-color 160ms ease-out; }
.alo-faq__item:hover, .alo-faq__item.is-open { border-color: var(--line-600); }
.alo-faq__q { font-size: inherit; font-weight: inherit; }
.alo-faq__btn {
  width: 100%;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  background: none; border: 0; padding: 20px 24px; text-align: left;
  font-size: 16px; font-weight: 700; line-height: 1.4; color: var(--text-100);
  cursor: pointer;
}
.alo-faq__btn:focus-visible { outline-offset: -4px; border-radius: var(--alo-radius); }
.alo-faq__icon { font-size: 20px; line-height: 1; color: var(--gold-500); flex: none; }
.alo-faq__a { padding: 0 24px 20px; }
.alo-faq__a p { font-size: 15px; line-height: 1.6; color: var(--text-500); max-width: 42em; }

/* 11 CHECK FORM --------------------------------------------------------- */
.alo-check { padding: 96px 0; background: var(--ink-800); border-top: 1px solid var(--line-800); scroll-margin-top: 90px; }
.alo-check:focus { outline: none; }
.alo-check__state { margin-top: 20px; }
.alo-check__grid { display: grid; grid-template-columns: minmax(240px, .75fr) minmax(0, 1.25fr); gap: 48px; }
.alo-check__grid--mismatch { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; }
.alo-contacts { border-top: 1px solid var(--line-600); margin-top: 24px; padding-top: 20px; }
.alo-contacts__phone { display: block; font-family: var(--font-serif); font-size: 22px; line-height: 1.3; color: var(--gold-500); }
.alo-contacts__phone--sm { font-size: 20px; margin-top: 8px; }
.alo-contacts__line { display: block; font-size: 14px; line-height: 1.5; color: var(--text-300); margin-top: 8px; }
.alo-contacts__line--tight { margin-top: 4px; }
a.alo-contacts__line:hover { color: var(--gold-hover); }

.alo-form {
  background: var(--ink-850);
  border: 1px solid var(--line-600);
  border-top: 3px solid var(--gold-500);
  border-radius: var(--alo-radius);
  padding: 36px;
  min-width: 0;
}
.alo-form__price-label { font-size: 13px; color: var(--text-600); }
.alo-form__price { font-family: var(--font-serif); font-size: 34px; line-height: 1.2; color: var(--text-100); margin-top: 4px; }
.alo-form__price-note { font-size: 13.5px; line-height: 1.55; color: var(--text-600); margin-top: 8px; }
.alo-form__q { border-top: 1px solid var(--line-700); margin-top: 20px; padding-top: 20px; }
.alo-form__legend { font-size: 15px; font-weight: 700; color: var(--text-200); line-height: 1.45; }
.alo-form__options { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.alo-opt { position: relative; display: inline-block; }
.alo-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.alo-opt span {
  display: inline-flex; align-items: center;
  min-height: 40px;
  border: 1px solid var(--line-600);
  color: var(--text-300);
  border-radius: 999px;
  padding: 9px 15px;
  font-size: 13px;
  line-height: 1.2;
  cursor: pointer;
  user-select: none;
  transition: background-color 120ms ease-out, color 120ms ease-out, border-color 120ms ease-out;
}
.alo-opt:hover span { border-color: var(--line-500); color: var(--text-100); }
.alo-opt input:checked + span { background: var(--gold-500); color: var(--ink-900); border-color: var(--gold-500); }
.alo-opt input:focus-visible + span { outline: 2px solid var(--gold-500); outline-offset: 3px; }
.alo-form__contacts { display: flex; flex-direction: column; gap: 14px; margin-top: 24px; border-top: 1px solid var(--line-700); padding-top: 20px; }
.alo-form__contacts--flush { border-top: 0; padding-top: 0; margin-top: 20px; }
.alo-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; }
.alo-form__field { min-width: 0; }
.alo-input {
  width: 100%;
  background: var(--ink-900);
  border: 1px solid var(--line-600);
  border-radius: 6px;
  color: var(--text-200);
  padding: 14px 16px;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.4;
  transition: border-color 120ms ease-out, box-shadow 120ms ease-out;
}
.alo-input::placeholder { color: var(--text-700); }
.alo-input:hover { border-color: var(--line-500); }
.alo-input:focus { outline: none; border-color: var(--gold-500); box-shadow: 0 0 0 3px rgba(216, 167, 71, .15); }
.alo-form__field.has-error .alo-input { border-color: var(--error-500); }
.alo-form__field.has-error .alo-opt span { border-color: var(--error-500); }
.alo-form__error { display: none; font-size: 13px; line-height: 1.4; color: #e07a5f; margin-top: 6px; }
.alo-form__error:not(:empty) { display: block; }
.alo-form__hint { font-size: 13px; line-height: 1.55; color: var(--text-600); }
.alo-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.5; color: var(--text-300); cursor: pointer; }
.alo-consent input { margin: 3px 0 0; flex: none; width: 16px; height: 16px; accent-color: var(--gold-500); cursor: pointer; }
.alo-consent a { text-decoration: underline; text-underline-offset: 2px; }
.alo-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.alo-form__status { font-size: 14px; line-height: 1.5; color: var(--text-500); text-align: center; }
.alo-form__status:empty { display: none; }
.alo-form__status.is-error { color: #e07a5f; }
.alo-form__foot { font-size: 12px; line-height: 1.5; color: var(--text-600); text-align: center; }

.alo-check__next { padding: 36px; }
.alo-check__back {
  display: inline-block;
  background: none; border: 0; padding: 0;
  font-family: inherit; font-size: 18px; font-weight: 700; line-height: 1.4;
  color: var(--gold-500); margin-top: 14px; cursor: pointer; text-align: left;
  transition: color 120ms ease-out;
}
.alo-check__back:hover, .alo-check__back:focus-visible { color: var(--gold-hover); }
.alo-check__success {
  max-width: 520px;
  background: var(--ink-850);
  border: 1px solid var(--line-600);
  border-top: 3px solid var(--gold-500);
  border-radius: var(--alo-radius);
  padding: 40px;
}
.alo-check__success:focus { outline: none; }
.alo-check__success-contacts { border-top: 1px solid var(--line-700); margin-top: 22px; padding-top: 18px; }
.alo-check__success-brand { font-size: 14px; font-weight: 700; color: var(--text-200); }

/* Motion ---------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .alo *, .alo *::before, .alo *::after { transition: none !important; }
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1199px) {
  .alo-split { gap: 40px; }
  .alo-check__grid { gap: 32px; }
  .alo-lawyer__body { padding: 36px 32px; }
}

@media (max-width: 1023px) {
  .alo-hero__grid { grid-template-columns: 1fr; gap: 24px; }
  .alo-hero__scope { max-width: 640px; }
  .alo-split { grid-template-columns: 1fr; gap: 32px; }
  .alo-faq__grid { grid-template-columns: 1fr; gap: 24px; }
  .alo-check__grid { grid-template-columns: 1fr; gap: 24px; }
  .alo-lawyer__card { grid-template-columns: minmax(220px, 340px) minmax(0, 1fr); }
  .alo-about__grid { grid-template-columns: 1fr; gap: 16px; }
  .alo-lawyer__cert { grid-template-columns: 110px 1fr; }
}

@media (max-width: 899px) {
  .alo { --alo-pad: 20px; }
  .alo-page-wrap { margin: 0; border-left: 0; border-right: 0; }
  .alo-section { padding: 48px 0 40px; }
  .alo-section--alt { padding: 40px 0; }
  .alo-hero { padding: 28px 0 0; }
  .alo-fits, .alo-process, .alo-faq { padding-top: 48px; }
  .alo-military { padding: 0 0 40px; }
  .alo-check { padding: 48px 0; scroll-margin-top: 80px; }
  .alo-lawyer { padding: 40px 0; }
  .alo-h2 { font-size: 26px; }
  .alo-h2--sm { font-size: 26px; }
  .alo-h2--xs { font-size: 24px; }
  .alo-lawyer__card { grid-template-columns: 1fr; }
  .alo-lawyer__photo { min-height: 0; aspect-ratio: 4 / 3; }
  .alo-lawyer__photo img { object-position: 50% 22%; }
  .alo-lawyer__body { padding: 24px 22px 26px; }
  .alo-lawyer__title { font-size: 32px; }
  .alo .alo-lawyer__quote { padding-left: 20px; }
  .alo-grid-cards { grid-template-columns: 1fr; gap: 16px; margin-top: 28px; }
  .alo-scope__grid { grid-template-columns: 1fr; gap: 16px; margin-top: 20px; }
  .alo-scope__excluded { padding: 28px 22px; }
  .alo-scope__group { flex: none; }
  .alo-amounts__box { grid-template-columns: 1fr; gap: 24px; }
  .alo-about__small { grid-template-columns: 1fr; gap: 16px; }
  .alo-check__grid--mismatch { grid-template-columns: 1fr; gap: 16px; }
  .alo-check__next { padding: 24px 4px 0; }
  .alo-form__row { grid-template-columns: 1fr; }
  .alo-scope__foot .alo-btn--outline { white-space: normal; }
}

@media (max-width: 640px) {
  .alo-hero__title { font-size: clamp(30px, 8.5vw, 36px); }
  .alo-hero__scope { padding: 24px 20px; }
  .alo-form { padding: 24px 18px; }
  .alo-check__success { padding: 28px 20px; }
  .alo-about__doc { grid-template-columns: 1fr; }
  .alo-about__doc-svg { width: 96px; height: 104px; justify-self: end; margin-top: -8px; }
  .alo-about__doc-title { font-size: 28px; }
  .alo-about__zero-num { font-size: 72px; }
  .alo-amount__value { font-size: 48px; }
  .alo-timeline__item { gap: 14px; }
  .alo-timeline__num { width: 72px; }
  .alo-lawyer__body { padding: 22px 18px 24px; }
  .alo-lawyer__name { font-size: 28px; }
  .alo .alo-lawyer__quote { font-size: 19px; padding-left: 18px; }
  .alo-lawyer__cert { grid-template-columns: 1fr; gap: 6px; }
  .alo-lawyer__cert-label { padding-top: 0; }
  .alo-faq__btn { padding: 16px 18px; font-size: 15px; }
  .alo-faq__a { padding: 0 18px 18px; }
  .alo-scope__grid > .alo-card, .alo-scope__excluded { padding: 22px 18px; }
  .alo-military__box { padding: 20px 18px; }
  .alo-card--gold, .alo-card--roomy { padding: 22px 18px; }
  .alo-check__back { font-size: 16px; }
  .alo-price { font-size: 38px; }
}

@media (max-width: 420px) {
  .alo-hero .alo-btn--primary { width: 100%; }
  .alo-seg { width: 100%; }
  .alo-seg .alo-pill { flex: 1; text-align: center; }
  .alo-amounts__bar { flex-direction: column; align-items: stretch; gap: 12px; }
  .alo-form__options { gap: 8px; }
  .alo-opt span { min-height: 42px; }
  .alo-form__legend { font-size: 14.5px; }
  .alo-about__panel { padding-right: 40px; }
}
