:root {
  --author-program-bg: #ffffff;
  --author-program-text: #25282d;
  --author-program-muted: #6f7680;
  --author-program-border: #e5e7eb;
  --author-program-surface: #f7f8f8;
  --author-program-accent: #2f6f5e;
  --author-program-accent-hover: #25594c;
  --author-program-soft: #edf7f3;
  --author-program-ui: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --author-program-body: Georgia, "Times New Roman", serif;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  color: var(--author-program-text);
  background: var(--author-program-bg);
  font-family: var(--author-program-body);
}

.author-program-shell {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 30px 28px 70px;
}

.author-program-nav, .author-program-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
}

.author-program-nav {
  align-items: center;
  margin-bottom: 62px;
}

.author-program-brand, .author-program-nav-link, .author-program-button, .author-program-footer, .author-program-kicker, .author-program-card, .author-program-share {
  font-family: var(--author-program-ui);
}

.author-program-brand {
  color: var(--author-program-text);
  font-size: 18px;
  font-weight: 800;
  text-decoration: none;
}

.author-program-nav-link, .author-program-button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
}

.author-program-nav-link, .author-program-button--secondary {
  border: 1px solid var(--author-program-border);
  color: var(--author-program-text);
}

.author-program-hero {
  align-items: stretch;
  padding-bottom: 70px;
  border-bottom: 1px solid var(--author-program-border);
}

.author-program-hero-copy { max-width: 690px; }

.author-program-kicker {
  margin: 0 0 14px;
  color: var(--author-program-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.author-program-hero h1, .author-program-section h2, .author-program-cta h2 {
  margin: 0;
  font-family: var(--author-program-ui);
  letter-spacing: -.035em;
}

.author-program-hero h1 { font-size: clamp(42px, 6vw, 68px); line-height: .98; }

.author-program-lead, .author-program-section-lead, .author-program-cta p {
  color: var(--author-program-muted);
  font-size: 20px;
  line-height: 1.58;
}

.author-program-lead { margin: 24px 0 0; }

.author-program-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }

.author-program-button--primary { color: #fff; background: var(--author-program-accent); }
.author-program-button--primary:hover { background: var(--author-program-accent-hover); }

.author-program-share {
  width: min(100%, 310px);
  padding: 28px;
  align-self: center;
  border: 1px solid var(--author-program-border);
  border-radius: 10px;
  background: var(--author-program-soft);
}

.author-program-share span, .author-program-share p { color: var(--author-program-muted); font-size: 14px; }
.author-program-share strong { display: block; margin: 6px 0; color: var(--author-program-accent); font-size: 76px; line-height: 1; }
.author-program-share p { margin: 0; line-height: 1.45; }

.author-program-section { padding: 68px 0; border-bottom: 1px solid var(--author-program-border); }
.author-program-section h2, .author-program-cta h2 { font-size: clamp(29px, 4vw, 43px); line-height: 1.08; }
.author-program-section-lead { max-width: 760px; margin: 22px 0 0; }
.author-program-section--model { display: grid; grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr); gap: 44px; align-items: start; }
.author-program-section--conditions { display: grid; grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr); gap: 28px; align-items: start; }
.author-program-model-copy { display: grid; gap: 16px; color: var(--author-program-muted); font-size: 17px; line-height: 1.6; }
.author-program-model-copy p { margin: 0; }
.author-program-model-copy p:last-child { color: var(--author-program-text); }

.author-program-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 30px; }
.author-program-card { min-height: 220px; padding: 25px; border: 1px solid var(--author-program-border); border-radius: 9px; }
.author-program-step { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 50%; color: #fff; background: var(--author-program-accent); font-size: 13px; font-weight: 800; }
.author-program-card h3 { margin: 20px 0 10px; font-size: 17px; line-height: 1.3; }
.author-program-card p { margin: 0; color: var(--author-program-muted); font-size: 15px; line-height: 1.55; }

.author-program-conditions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin: 0; padding: 0; list-style: none; }
.author-program-conditions li { padding: 17px 18px 17px 42px; position: relative; border: 1px solid var(--author-program-border); border-radius: 8px; font: 600 14px/1.45 var(--author-program-ui); }
.author-program-conditions li::before { content: ""; position: absolute; top: 22px; left: 19px; width: 9px; height: 5px; border-left: 2px solid var(--author-program-accent); border-bottom: 2px solid var(--author-program-accent); transform: rotate(-45deg); }

.author-program-faq { display: grid; max-width: 820px; gap: 10px; margin-top: 28px; }
.author-program-faq details { border: 1px solid var(--author-program-border); border-radius: 8px; padding: 0 18px; font-family: var(--author-program-ui); }
.author-program-faq summary { cursor: pointer; padding: 18px 28px 18px 0; font-size: 15px; font-weight: 750; }
.author-program-faq details > div { padding: 0 0 18px; color: var(--author-program-muted); font-size: 15px; line-height: 1.55; }
.author-program-faq a { color: var(--author-program-accent); }

.author-program-cta { margin-top: 58px; padding: 44px; border-radius: 10px; color: #fff; background: var(--author-program-accent); }
.author-program-cta h2 { color: #fff; }
.author-program-cta p { max-width: 690px; margin: 16px 0 25px; color: #dcefe8; }
.author-program-cta .author-program-button { color: var(--author-program-accent); background: #fff; }

.author-program-footer { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 50px; padding-top: 25px; border-top: 1px solid var(--author-program-border); }
.author-program-footer a { color: var(--author-program-muted); font-size: 14px; text-decoration: none; }
.author-program-footer a:hover { color: var(--author-program-text); text-decoration: underline; }

@media (max-width: 800px) {
  .author-program-shell { padding: 24px 18px 54px; }
  .author-program-nav, .author-program-hero, .author-program-section--conditions, .author-program-section--model { grid-template-columns: 1fr; }
  .author-program-nav { margin-bottom: 42px; }
  .author-program-hero { padding-bottom: 52px; }
  .author-program-share { width: 100%; }
  .author-program-grid, .author-program-conditions { grid-template-columns: 1fr; }
  .author-program-section { padding: 52px 0; }
  .author-program-cta { margin-top: 42px; padding: 30px 22px; }
}

@media (max-width: 520px) {
  .author-program-actions, .author-program-actions .author-program-button { width: 100%; }
  .author-program-hero h1 { font-size: 40px; }
  .author-program-lead, .author-program-section-lead, .author-program-cta p { font-size: 18px; }
}
