:root { --education-page: min(1380px, calc(100% - 64px)); }

.education-public-page { background: #011b35; }
.education-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background:
    linear-gradient(180deg, rgba(1, 27, 53, .04) 0%, #011b35 78%),
    url('/assets/academy-raww-course-background-v2.png') center top / cover no-repeat,
    #011b35;
}
.education-page { width: var(--education-page); flex: 1 0 auto; margin: 0 auto; padding: 0; }
.education-shell .site-footer { flex: 0 0 auto; }
.education-page h1, .education-page h2, .education-page h3 { font-family: var(--font-display); }
.education-eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 18px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.education-eyebrow::before { content:''; width:34px; height:2px; background:var(--signal); }
.education-page h1 { max-width:22ch; margin:0; font-size:clamp(30px, 2.15vw, 36px); font-weight:600; line-height:1.03; letter-spacing:-.03em; text-wrap:balance; }
.education-page h1 span { color:var(--accent); }
.education-page h1 .education-title-line { color:var(--fg); white-space:nowrap; }
.education-page h2 { margin:0; font-size:clamp(30px, 2.35vw, 42px); font-weight:600; line-height:1.08; letter-spacing:-.03em; text-wrap:balance; }
.education-hero { display:grid; grid-template-columns:minmax(0, 1.12fr) minmax(300px, .72fr); align-items:start; gap:clamp(48px, 8vw, 128px); min-height:270px; padding:clamp(44px, 5vw, 72px) 0 clamp(20px, 2.5vw, 36px); }
.education-lead { align-self:start; max-width:470px; margin:0; padding-top:20px; border-top:1px solid var(--border); color:var(--muted); font-size:clamp(15px, 1.3vw, 18px); line-height:1.62; }
.education-lead p { margin:0; }
.education-lead strong { display:block; margin-top:22px; color:var(--fg); font-size:11px; letter-spacing:.08em; }

.education-steps, .program-section, .formats-section { padding:40px 0 48px; border-top:1px solid var(--border); }
.step-grid, .program-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); }
.step-grid { margin-top:26px; }
.step-grid article, .program-grid article { min-height:196px; padding:0 clamp(20px, 2.5vw, 38px); border-right:1px solid var(--border); }
.step-grid article { min-height:214px; display:flex; flex-direction:column; }
.step-grid article:first-child, .program-grid article:first-child { padding-left:0; }
.step-grid article:last-child, .program-grid article:last-child { border-right:0; }
.step-meta { display:flex; align-items:center; gap:20px; min-height:54px; }
.step-number, .program-number { display:inline-block; color:var(--accent); font:700 22px/1 ui-monospace, Consolas, monospace; }
.step-visual { display:grid; width:52px; height:52px; place-items:center; flex:0 0 52px; }
.step-visual img { display:block; width:100%; height:100%; object-fit:contain; }
.step-icon { display:inline-grid; width:44px; height:44px; place-items:center; border:1px solid var(--accent); color:var(--accent); font-size:25px; line-height:1; clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%); }
.step-grid h2, .program-grid h2 { margin:19px 0 8px; font-size:19px; }
.step-grid h2 { margin-top:22px; }
.step-grid p, .program-grid p { margin:0; color:var(--muted); font-size:14px; line-height:1.55; }
.program-section { padding-top:72px; }
.program-grid article { min-height:174px; }
.program-meta { display:flex; align-items:center; gap:20px; min-height:54px; }
.program-visual { display:grid; width:52px; height:52px; place-items:center; flex:0 0 52px; }
.program-visual img { display:block; width:100%; height:100%; object-fit:contain; }
.program-grid h2 { margin-top:16px; }

.registry-section { display:grid; grid-template-columns:minmax(0, 1fr) minmax(310px, .52fr); gap:clamp(46px, 10vw, 170px); align-items:center; padding:76px 0; border-top:1px solid var(--border); }
.registry-copy { max-width:680px; }
.registry-copy > p:not(.education-eyebrow) { max-width:56ch; margin:22px 0 0; color:var(--muted); font-size:17px; line-height:1.65; }
.registry-actions { display:flex; flex-wrap:wrap; gap:14px 18px; margin-top:30px; }
.education-button { min-height:48px; display:inline-flex; align-items:center; justify-content:space-between; gap:22px; padding:0 18px; border:1px solid #e7f1f8; border-radius:4px; background:#e7f1f8; color:#083557; font-size:14px; font-weight:700; transition:transform var(--motion-ui) var(--ease-standard),background-color var(--motion-ui) var(--ease-standard); }
.education-button:hover { transform:translateY(-2px); background:#fff; }
.education-button span { font-size:18px; }
.education-link { align-self:center; color:var(--fg); font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.registry-mark { min-height:282px; padding:30px; display:flex; flex-direction:column; align-items:flex-start; border:1px solid #246188; border-radius:7px; background:rgba(1, 27, 53, .34); }
.registry-mark-icon { width:58px; height:66px; color:var(--accent); }
.registry-mark-icon svg { width:100%; height:100%; stroke:currentColor; stroke-width:1.3; }
.registry-mark strong { margin-top:24px; font-size:20px; }
.registry-mark > span:last-of-type { margin:8px 0; color:var(--muted); font-size:14px; }
.registry-mark b { color:var(--accent); font-size:14px; line-height:1.55; }
.registry-mark a { margin-top:auto; color:var(--accent); font-size:14px; font-weight:600; text-decoration:underline; text-underline-offset:4px; }

.outcome-section { display:grid; grid-template-columns:minmax(0, .78fr) minmax(420px, 1.14fr); align-items:center; gap:clamp(60px, 11vw, 190px); padding:88px 0; border-top:1px solid var(--border); }
.outcome-heading > p:not(.education-eyebrow) { max-width:43ch; margin:22px 0 30px; color:var(--muted); font-size:17px; line-height:1.62; }
.education-button-outline { border-color:var(--border); background:transparent; color:var(--fg); }
.education-button-outline:hover { background:rgba(255,255,255,.08); color:var(--fg); }
.certificate-showcase { width:min(100%, 700px); margin:0; justify-self:end; }
.certificate-frame { position:relative; aspect-ratio:1287 / 909; padding:clamp(10px,1.8vw,20px); overflow:hidden; border-radius:6px; background:#f7f8f7; box-shadow:16px 20px 0 rgba(0,10,28,.22); }
.certificate-frame::before { content:'Образец документа'; position:absolute; top:16px; left:16px; z-index:1; padding:4px 7px; border-radius:3px; background:rgba(1,27,53,.88); color:#fff; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.certificate-frame img { width:100%; height:100%; display:block; object-fit:contain; }
.certificate-showcase figcaption { position:relative; z-index:1; margin-top:0; transform:translateY(-1px); color:var(--muted); font-size:12px; text-align:right; }

.formats-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:22px; }
.formats-grid article { min-height:248px; padding:26px; border:1px solid #246188; border-radius:5px; background:rgba(2,31,58,.27); }
.format-icon { display:grid; place-items:center; width:62px; height:62px; }
.format-icon img { display:block; width:100%; height:100%; object-fit:contain; }
.formats-grid h3 { margin:18px 0 8px; font-size:20px; }
.formats-grid p { margin:0; color:var(--muted); font-size:14px; line-height:1.55; }
.formats-grid b { display:inline-block; margin-top:20px; padding:4px 6px; color:var(--accent); background:rgba(31,112,151,.2); font-size:10px; letter-spacing:.06em; }

.education-cta { display:grid; grid-template-columns:minmax(0, .86fr) minmax(330px, .64fr); gap:clamp(54px, 11vw, 190px); margin:90px calc((100vw - var(--education-page)) / -2) 0; padding:70px max(calc((100vw - var(--education-page)) / 2), 32px); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.education-cta > div:first-child > p:not(.education-eyebrow) { max-width:44ch; margin:20px 0 28px; color:var(--muted); font-size:16px; line-height:1.6; }
.education-cta > div:first-child > div { display:flex; flex-wrap:wrap; gap:14px; }
.education-cta-notes { display:grid; gap:24px; align-content:center; }
.education-cta-notes article { display:grid; grid-template-columns:54px 1fr; gap:14px; }
.cta-icon { display:grid; width:52px; height:52px; place-items:center; }
.cta-icon img { display:block; width:100%; height:100%; object-fit:contain; }
.education-cta-notes h3 { margin:0; font-size:17px; }
.education-cta-notes p { margin:5px 0 0; color:var(--muted); font-size:14px; line-height:1.5; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

@media (max-width:1120px) {
  :root { --education-page:min(860px, calc(100% - 40px)); }
  .education-hero, .registry-section, .outcome-section, .education-cta { grid-template-columns:1fr; }
  .education-hero { min-height:0; gap:40px; }
  .education-lead { max-width:58ch; }
  .registry-mark { max-width:560px; }
  .certificate-showcase { justify-self:start; }
  .education-cta { margin-left:calc((100vw - var(--education-page)) / -2); margin-right:calc((100vw - var(--education-page)) / -2); }
}
@media (max-width:760px) {
  :root { --education-page:calc(100% - 28px); }
  .education-page { padding:40px 0 0; }
  .education-page h1 { font-size:clamp(28px, 8.5vw, 36px); }
  .education-page h2 { font-size:clamp(29px, 8.5vw, 38px); }
  .education-hero { padding:28px 0 56px; }
  .education-steps, .program-section { padding:30px 0; }
  .step-grid, .program-grid, .formats-grid { grid-template-columns:1fr; }
  .step-grid article, .program-grid article { min-height:0; padding:24px 0; border-right:0; border-bottom:1px solid var(--border); }
  .step-grid article:first-child, .program-grid article:first-child { padding-left:0; }
  .step-grid article:last-child, .program-grid article:last-child { border-bottom:0; }
  .registry-section, .outcome-section { gap:42px; padding:60px 0; }
  .registry-mark { min-height:220px; }
  .registry-actions, .education-cta > div:first-child > div { flex-direction:column; align-items:stretch; }
  .education-button { width:100%; }
  .certificate-showcase { width:100%; }
  .formats-grid { gap:14px; }
  .formats-grid article { min-height:0; }
  .education-cta { margin-top:62px; padding-top:56px; padding-bottom:56px; }
}
