/* ══════════════════════════════════════
       TOKENS
    ══════════════════════════════════════ */
    :root {
      --bg:        #FFFFFF;
      --bg-off:    #F5F5F3;
      --ink:       #111110;
      --ink-mid:   #6B6860;
      --ink-light: #B2AFA8;
      --rule:      #E0DEDB;
      --acid:      #C5F200;
      --font-head: 'Unbounded', sans-serif;
      --font-body: 'Inter', system-ui, sans-serif;
      --font-serif:'Libre Baskerville', Georgia, serif;
      --max-w:     1320px;
      --gutter:    clamp(20px,5vw,80px);
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      background: var(--bg); color: var(--ink);
      font-family: var(--font-body); font-size: 16px; line-height: 1.6;
      -webkit-font-smoothing: antialiased; overflow-x: hidden;
    }
    a { color: inherit; text-decoration: none; }
    img { display: block; max-width: 100%; }
    ul { list-style: none; }
    .container { max-width: var(--max-w); margin: 0 auto; padding: 0 var(--gutter); }



    /* ══════════════════════════════════════
       NAV
    ══════════════════════════════════════ */
    #main-header { position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--rule); }
    .nav-inner { display:flex;align-items:center;justify-content:space-between;height:60px; }
    .nav-logo { font-family:var(--font-head);font-size:14px;font-weight:900;letter-spacing:-.02em;color:var(--ink);display:flex;align-items:center;gap:5px; }
    .nav-logo-dot { width:7px;height:7px;border-radius:50%;background:var(--acid);animation:dotPulse 2.5s ease-in-out infinite; }
    @keyframes dotPulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.8)} }
    .nav-links { display:flex;align-items:center;gap:36px; }
    .nav-links a { font-size:13px;font-weight:500;color:var(--ink-mid);position:relative;transition:color .2s; }
    .nav-links a::after { content:'';position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background:var(--ink);transition:width .25s; }
    .nav-links a:hover { color:var(--ink); }
    .nav-links a:hover::after { width:100%; }
    .nav-cta { font-family:var(--font-head);font-size:10px!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase;background:var(--acid)!important;color:var(--ink)!important;padding:9px 18px;border-radius:2px;transition:transform .15s!important; }
    .nav-cta::after { display:none!important; }
    .nav-cta:hover { transform:translateY(-1px)!important; }
    .nav-hamburger { display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none; }
    .nav-hamburger span { display:block;width:22px;height:1.5px;background:var(--ink);transition:transform .3s,opacity .3s; }
    .nav-hamburger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity:0; }
    .nav-hamburger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
    .nav-mobile { display:none;flex-direction:column;border-top:1px solid var(--rule);padding:12px 0 20px; }
    .nav-mobile.open { display:flex; }
    .nav-mobile a { font-size:15px;font-weight:500;color:var(--ink);padding:14px 0;border-bottom:1px solid var(--rule); }
    .nav-mobile a:last-child { border-bottom:none; }

    /* ══════════════════════════════════════
       BREADCRUMB
    ══════════════════════════════════════ */
    .breadcrumb { display:flex;align-items:center;gap:12px;padding:20px 0; }
    .breadcrumb a { font-size:12px;font-weight:500;color:var(--ink-mid);transition:color .2s; }
    .breadcrumb a:hover { color:var(--ink); }
    .breadcrumb-sep { font-size:12px;color:var(--rule); }
    .breadcrumb-cur {
      font-family:var(--font-head);
      font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
      color:var(--ink-light);
    }

    /* ══════════════════════════════════════
       PROGRAM HERO — WHITE, editorial split
    ══════════════════════════════════════ */
    #pd-hero {
      background: var(--bg);
      border-bottom: 1px solid var(--rule);
      padding: 0;
      position: relative; overflow: hidden;
    }

    .pd-hero-grid {
      display: grid; grid-template-columns: 1fr 1fr;
      min-height: 80vh;
    }

    /* Left panel — text */
    .pd-hero-left {
      display: flex; flex-direction: column; justify-content: space-between;
      padding: clamp(40px,6vw,80px) clamp(24px,3vw,60px) clamp(40px,6vw,80px) var(--gutter);
      border-right: 1px solid var(--rule);
    }

    .pd-category {
      display: inline-flex; align-items: center; gap: 8px;
      font-family: var(--font-head);
      font-size: 9px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase;
      color: var(--ink-mid); align-self: flex-start;
    }

    .pd-title {
      font-family: var(--font-head);
      font-size: clamp(40px, 6vw, 80px);
      font-weight: 900; letter-spacing: -.05em;
      color: var(--ink); line-height: .95;
      margin: 20px 0 16px;
    }

    .pd-subtitle {
      font-family: var(--font-serif);
      font-size: clamp(15px, 1.4vw, 18px);
      font-style: italic; color: var(--ink-mid);
      line-height: 1.6; max-width: 460px;
    }

    .pd-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 24px; }
    .pd-tag {
      font-family: var(--font-head);
      font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
      color: var(--ink); background: var(--bg-off);
      border: 1px solid var(--rule);
      padding: 6px 14px; border-radius: 100px;
      transition: background .18s, color .18s, border-color .18s;
      white-space: nowrap;
    }
    .pd-tag:hover { background: var(--ink); color: #fff; border-color: var(--ink); }

    /* Right panel — cover image with action card */
    .pd-hero-right {
      position: relative; overflow: hidden;
    }
    .pd-cover-img {
      width: 100%; height: 100%;
      object-fit: cover; object-position: top center;
      filter: grayscale(15%) brightness(.95);
      transition: filter .5s ease;
    }
    .pd-hero-right:hover .pd-cover-img { filter: grayscale(0) brightness(1); }

    /* Action card — positioned bottom-left of image */
    /* архивная программа — набор закрыт */


    /* param strip below title on hero left */
    .pd-params { display: flex; gap: 0; border-top: 1px solid var(--rule); margin-top: 28px; }
    .pd-param {
      display:flex; flex-direction: column; gap: 2px;
      padding: 14px 20px 14px 0; border-right: 1px solid var(--rule);
      margin-right: 20px;
    }
    .pd-param:last-child { border-right: none; margin-right: 0; }
    .pd-param-l { font-family:var(--font-head);font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-light); }
    .pd-param-v { font-family:var(--font-head);font-size:13px;font-weight:500;letter-spacing:-.01em;color:var(--ink); }

    /* ══════════════════════════════════════
       MARQUEE
    ══════════════════════════════════════ */
    .marquee-strip { overflow:hidden;padding:10px 0;border-bottom:1px solid var(--rule); }
    .marquee-track { display:flex;width:max-content;animation:marq 30s linear infinite; }
    .marquee-track:hover { animation-play-state:paused; }
    .marquee-item { display:flex;align-items:center;gap:18px;padding-right:18px;white-space:nowrap;font-family:var(--font-head);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mid); }
    .marq-star { flex-shrink:0;width:14px;height:14px; }
    @keyframes marq { to { transform:translateX(-50%); } }


    /* ══════════════════════════════════════
       SECTION SHARED
    ══════════════════════════════════════ */
    .pd-section {
      padding: clamp(64px,10vh,112px) 0;
      border-bottom: 1px solid var(--rule);
    }
    .pd-section-hdr {
      display: flex; align-items: flex-end; justify-content: space-between; gap: 24px;
      margin-bottom: clamp(36px, 5vh, 60px);
    }
    .pd-section-num {
      font-family: var(--font-head);
      font-size: 10px; font-weight: 700; letter-spacing: .2em;
      text-transform: uppercase; color: var(--ink-light);
      display: block; margin-bottom: 10px;
    }
    .pd-section-title {
      font-family: var(--font-head);
      font-size: clamp(22px, 2.8vw, 36px); font-weight: 900;
      letter-spacing: -.03em; color: var(--ink); line-height: 1.1;
    }
    .pd-section-note { font-size: 11px; color: var(--ink-light); text-align: right; max-width: 200px; line-height: 1.5; flex-shrink: 0; }
    .pd-section-title em { font-family: var(--font-serif); font-style: italic; font-weight: 400; }

    /* ══════════════════════════════════════
       ABOUT — two-col, no floating stickers over text
    ══════════════════════════════════════ */
    #pd-about .about-grid {
      display: grid; grid-template-columns: 5fr 6fr; gap: clamp(32px,5vw,72px); align-items: start;
    }
    /* «Суть программы» без фотографии — задача и цель в две колонки */
    /* «Суть программы»: два столбца текста, ширина строки под чтение */
    #pd-about .about-grid.about-grid-notext {
      grid-template-columns: repeat(2, minmax(0,1fr));
      gap: clamp(28px,4vw,64px);
      border-top:1.5px solid var(--ink); padding-top:clamp(18px,2.4vh,26px);
      align-items: start;
    }
    .about-col { display:flex; flex-direction:column; gap:14px; }
    .about-col p { font-size:clamp(14px,1.3vw,15px); color:var(--ink-mid); line-height:1.75; max-width:56ch; }
    .about-col p b { color:var(--ink); font-weight:600; }
    .about-col .m-lb, .about-col .about-lb {
      display:block; font-family:var(--font-head); font-size:9px; font-weight:700;
      letter-spacing:.15em; text-transform:uppercase; color:var(--ink-light);
    }
    .about-img-wrap { position: relative; }
    .about-img {
      width: 100%; aspect-ratio: 4/5; overflow: hidden; border-radius: 2px;
    }
    .about-img img { width:100%;height:100%;object-fit:cover;filter:grayscale(15%);transition:filter .5s; }
    .about-img-wrap:hover .about-img img { filter:grayscale(0); }

    /* sticker below image, not overlapping text */
    .about-img-badge {
      position: absolute; bottom: -20px; left: -12px;
      background: var(--ink); color: #fff;
      font-family: var(--font-head);
      font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
      padding: 8px 16px; border-radius: 2px;
      white-space: nowrap;
    }
    @keyframes floatUD { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
    @keyframes spinStar { to { transform: rotate(360deg); } }

    /* stats strip — factual anchors, mirrors .hero-stats on index */
    .pd-stats {
      display: flex; gap: 0;
      border: 1px solid var(--rule); border-radius: 2px;
      overflow: hidden; margin-top: clamp(32px,5vh,56px);
    }
    .pd-stat { padding: 18px 24px; border-right: 1px solid var(--rule); flex: 1; }
    .pd-stat:last-child { border-right: none; }
    .pd-stat-num {
      font-family: var(--font-head);
      font-size: clamp(18px,2vw,26px); font-weight: 900;
      letter-spacing: -.04em; color: var(--ink); line-height: 1; display: block;
    }
    .pd-stat-label { font-size: 10px; color: var(--ink-light); margin-top: 5px; letter-spacing: .04em; display: block; }

    .about-text { padding-top: 0; }
    .about-text p { font-size: clamp(14px,1.3vw,16px); color: var(--ink-mid); line-height: 1.8; margin-bottom: 20px; }
    .about-text p:last-child { margin-bottom: 0; }
    .about-text p b { color: var(--ink); font-weight: 600; }

    /* ══════════════════════════════════════
       OUTCOMES — clean numbered list
    ══════════════════════════════════════ */
    #pd-outcomes .outcomes-grid {
      display: grid; grid-template-columns: repeat(3,1fr);
      border-top: 1.5px solid var(--ink);
    }
    .outcome-item {
      padding: 28px; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule);
      position: relative; overflow: hidden;
    }
    .outcome-item::before {
      content: ''; position:absolute;top:0;left:0;right:0;height:2px;
      background:var(--acid);transform:scaleX(0);transform-origin:left;transition:transform .35s;
    }
    .outcome-item:hover::before { transform:scaleX(1); }
    .outcome-item:nth-child(3n) { border-right:none; }
    .outcome-item:nth-child(n+4) { border-bottom:none; }

    .out-num {
      font-family: var(--font-head);
      font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
      color: var(--ink-light);
      display: block; margin-bottom: 16px;
    }
    .out-text {
      font-family: var(--font-head);
      font-size: clamp(13px,1.3vw,15px); font-weight: 700;
      letter-spacing: -.015em; color: var(--ink); line-height: 1.45;
    }

    /* ══════════════════════════════════════
       FOR WHOM — editorial numbered strip,
       NOT generic cards
    ══════════════════════════════════════ */
    #pd-for-whom .whom-list { display: flex; flex-direction: column; border-top: 1.5px solid var(--ink); }

    .whom-item {
      display: grid;
      grid-template-columns: 2.5rem 1fr;
      gap: 20px; align-items: start;
      padding: 20px 0;
      border-bottom: 1px solid var(--rule);
      transition: background .2s;
      position: relative;
    }
    .whom-item::before {
      content: ''; position:absolute;left:0;top:0;bottom:0;width:2px;
      background:var(--ink);opacity:0;transition:opacity .2s;
    }
    .whom-item:hover::before { opacity:1; }
    .whom-item:last-child { border-bottom: none; }

    .whom-n {
      font-family: var(--font-head);
      font-size: clamp(15px, 1.4vw, 18px); font-weight: 700;
      letter-spacing: .06em; color: var(--ink-light); line-height: 1.45;
      padding-top: 4px; transition: color .2s;
    }
    .whom-item:hover .whom-n { color: var(--ink-light); }

    .whom-title {
      font-family: var(--font-head);
      font-size: clamp(13px, 1.2vw, 15px); font-weight: 500;
      letter-spacing: -.01em; color: var(--ink); line-height: 1.45;
      padding-top: 4px; max-width: 46ch;
    }

    .whom-desc {
      font-size: 14px; color: var(--ink-mid); line-height: 1.7; padding-top: 6px;
    }

    /* ══════════════════════════════════════
       TIMELINE — keep as good
    ══════════════════════════════════════ */
    #pd-process { position: relative; }
    .timeline-wrap { position: relative; }
    .timeline-line {
      position: absolute; top: 7px; left: 0; right: 0;
      height: 1px; background: var(--rule);
    }
    .timeline-grid {
      display: grid; grid-template-columns: repeat(4,1fr);
      position: relative;
    }
    .tl-step { padding-top: 36px; padding-right: 24px; position: relative; }
    .tl-step:last-child { padding-right: 0; }
    .tl-dot {
      position: absolute; top: 0; left: 0;
      width: 14px; height: 14px; border-radius: 50%;
      background: var(--bg); border: 2px solid var(--rule);
      transition: border-color .3s, background .3s, transform .3s;
    }
    .tl-dot.active { background: var(--acid); border-color: var(--acid); }
    .tl-step:hover .tl-dot { transform: scale(1.5); }
    .tl-title { font-family: var(--font-head); font-size: 15px; font-weight: 700; letter-spacing: -.02em; color: var(--ink); margin-bottom: 6px; }
    .tl-desc { font-size: 13px; color: var(--ink-mid); line-height: 1.6; }

    /* ══════════════════════════════════════
       PASSPORT
    ══════════════════════════════════════ */
    #pd-passport .passport-grid {
      display: grid; grid-template-columns: 1fr 1fr;
      border-top: 1.5px solid var(--ink); padding-top: 4px;
    }
    .pp-row {
      display: flex; justify-content: space-between; align-items: center;
      padding: 18px 40px 18px 0; border-bottom: 1px solid var(--rule); gap: 20px;
      position: relative;
    }
    .pp-row::before {
      content:'';position:absolute;top:1px;bottom:1px;left:0;right:0;
      background:var(--bg-off);border-radius:4px;opacity:0;transition:opacity .15s;pointer-events:none;z-index:0;
    }
    .pp-row:hover::before { opacity:1; }
    .pp-row > * { position:relative;z-index:1; }
    .pp-row:nth-last-child(-n+2) { border-bottom: none; }
    .pp-label {
      font-family: var(--font-body);
      font-size: 11px; font-weight: 500; letter-spacing: .02em;
      color: var(--ink-light); flex-shrink: 0;
    }
    .pp-val { font-family: var(--font-head); font-size: 14px; font-weight: 500; letter-spacing: -.01em; color: var(--ink); text-align: right; }

    /* ══════════════════════════════════════
       APPLY
    ══════════════════════════════════════ */
    #pd-apply {
      background: var(--ink); color: #fff;
      padding: clamp(80px,12vh,140px) 0; border-bottom: none;
      position: relative; overflow: hidden;
    }
    #pd-apply::before {
      content:''; position:absolute; inset:0; pointer-events:none;
      background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
      background-size:60px 60px;
    }
    #pd-apply::after {
      content:''; position:absolute; top:0; left:0; right:0; height:3px;
      background:linear-gradient(90deg,var(--acid),transparent 70%);
    }
    #pd-apply .container { position: relative; }
    .apply-hdr { margin-bottom: clamp(48px,7vh,80px); }
    .apply-num { font-family:var(--font-head);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.3);display:block;margin-bottom:10px; }
    .apply-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px,5vw,80px); align-items: start; }

    .apply-left h2 {
      font-family: var(--font-head);
      font-size: clamp(32px, 4vw, 56px); font-weight: 900;
      letter-spacing: -.045em; color: #fff; line-height: 1.05; margin-bottom: 20px;
    }
    .apply-left h2 .acid-hl { background: var(--acid); color: var(--ink); padding: 0 10px; border-radius: 3px; }
    .apply-left p { font-size: 14px; color: rgba(255,255,255,.45); line-height: 1.75; max-width: 420px; margin-bottom: 24px; }

    /* Form */
    .pd-form { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: 3px; padding: clamp(24px,3vw,36px); }
    .pd-form-title { font-family: var(--font-head); font-size: 15px; font-weight: 700; letter-spacing: -.02em; color: #fff; margin-bottom: 4px; }
    .pd-form-sub { font-size: 12px; color: rgba(255,255,255,.35); margin-bottom: 24px; }
    /* архивные ссылки вместо формы */
    .arch-links { display: flex; flex-direction: column; border-top: 1px solid rgba(255,255,255,.1); }
    .arch-link {
      display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
      padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.1);
      transition: padding-left .2s;
    }
    .arch-link:hover { padding-left: 8px; }
    .arch-link:last-child { border-bottom: none; }
    .arch-link-l { font-family:var(--font-head);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.3);flex-shrink:0; }
    .arch-link-v { font-family:var(--font-head);font-size:13px;font-weight:700;letter-spacing:-.01em;color:#fff;text-align:right;transition:color .2s; }
    .arch-link:hover .arch-link-v { color: var(--acid); }

    /* ══════════════════════════════════════
       FOOTER
    ══════════════════════════════════════ */
    /* ── футер: контакт вперёд, пункты спокойные ── */
    .f-cta { display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;
             padding-bottom:clamp(22px,3vh,30px);border-bottom:1.5px solid var(--ink); }
    .f-cta-l { font-family:var(--font-head);font-size:9px;font-weight:700;letter-spacing:.2em;
               text-transform:uppercase;color:var(--ink-light);display:block;margin-bottom:10px; }
    .f-mail { font-family:var(--font-head);font-size:clamp(22px,3.4vw,44px);font-weight:900;
              letter-spacing:-.04em;line-height:1;display:inline-block;
              border-bottom:3px solid var(--acid);padding-bottom:4px;transition:opacity .18s; }
    .f-mail:hover { opacity:.65; }
    .f-cta-side { text-align:right; }
    .f-city { font-family:var(--font-head);font-size:10px;font-weight:700;letter-spacing:.14em;
              text-transform:uppercase;color:var(--ink-mid);display:block;margin-bottom:12px; }
    .f-soc { display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap; }
    .f-soc a { font-family:var(--font-body);font-size:12px;font-weight:400;color:var(--ink-mid);
               border:1px solid var(--rule);padding:7px 14px;border-radius:100px;
               transition:background .18s,color .18s,border-color .18s; }
    .f-soc a:hover { background:var(--ink);color:#fff;border-color:var(--ink); }
    .f-fond-logo { height:20px;width:auto;filter:invert(1);opacity:.55;margin-top:20px;display:block; }
    #footer { padding:clamp(48px,7vh,80px) 0; }
    .footer-inner { display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(28px,4vw,48px);padding:clamp(28px,4vh,38px) 0 clamp(24px,3.4vh,34px);border-bottom:1px solid var(--rule); }
    .f-logo { font-family:var(--font-head);font-size:15px;font-weight:900;letter-spacing:-.02em;color:var(--ink);margin-bottom:12px;display:flex;align-items:center;gap:5px; }
    .f-logo .logo-dot { width:7px;height:7px;border-radius:50%;background:var(--acid);display:inline-block; }
    .f-tagline { font-size:13px;color:var(--ink-mid);line-height:1.7;max-width:290px; }
    .f-col-title { font-family:var(--font-head);font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-light);margin-bottom:16px; }
    .f-links { display:flex;flex-direction:column;gap:11px; }
    .f-links a { font-size:14px;font-weight:400;color:var(--ink);position:relative;display:inline-block;width:fit-content; }
    .f-links a::after { content:'';position:absolute;bottom:-1px;left:0;width:0;height:1.5px;background:var(--acid);transition:width .22s; }
    .f-links a:hover::after { width:100%; }
    .footer-bottom { display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:clamp(16px,2.2vh,22px); }
    .footer-copy { font-size:11px;color:var(--ink-light);line-height:1.5; }
    .f-top-btn { font-family:var(--font-head);font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--ink);background:var(--acid);padding:8px 14px;border-radius:2px;border:none;cursor:pointer;transition:transform .18s; }
    .f-top-btn:hover { transform:translateY(-2px); }

    /* ══════════════════════════════════════
       REVEAL
    ══════════════════════════════════════ */
    .reveal { opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s; }
    .reveal.visible { opacity:1;transform:translateY(0); }
    .rd1 { transition-delay:.1s; } .rd2 { transition-delay:.2s; }

    /* ══════════════════════════════════════
       RESPONSIVE
    ══════════════════════════════════════ */
    @media (max-width: 1100px) {
      .pd-hero-grid { grid-template-columns: 1fr; }
      .pd-hero-right { min-height: 400px; }
      .pd-card { position: static; }
      #pd-outcomes .outcomes-grid { grid-template-columns: repeat(2,1fr); }
      .outcome-item:nth-child(3n) { border-right:1px solid var(--rule); }
      .outcome-item:nth-child(2n) { border-right:none; }
      .timeline-grid { grid-template-columns: repeat(2,1fr); }
      #pd-passport .passport-grid { grid-template-columns: 1fr; }
      .pp-row { padding-right: 0; }
      .apply-grid { grid-template-columns: 1fr; }
      .footer-inner { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 768px) {
      :root { --gutter: 20px; }
      .nav-links { display:none; }
      .nav-hamburger { display:flex; }
      #pd-about .about-grid { grid-template-columns: 1fr; }
      .about-img-badge { bottom:-12px;left:0; }
      .whom-item { grid-template-columns: 2.5rem 1fr; }
      .whom-desc { display:block; grid-column:2; padding-top:4px; font-size:13px; }
      .timeline-grid { grid-template-columns: 1fr; }
      .timeline-line { display:none; }
      .tl-step { padding-top:0;padding-left:28px;padding-bottom:28px;border-bottom:1px solid var(--rule); }
      .tl-step:last-child { border-bottom:none; }
      .arch-link { flex-direction: column; gap: 4px; }
      .arch-link-v { text-align: left; }
      .pd-stats { flex-direction: column; }
      .pd-stat { border-right: none; border-bottom: 1px solid var(--rule); }
      .pd-stat:last-child { border-bottom: none; }
      .pd-params { display: grid; grid-template-columns: 1fr 1fr; }
      .pd-param { padding: 14px 16px; margin-right: 0; min-width: 0; }
      .pd-param:nth-child(2n) { border-right: none; }
      .pd-param-v { white-space: normal; }
      .footer-inner { grid-template-columns: 1fr; gap:28px; }
      .footer-bottom { flex-direction:column;align-items:flex-start;gap:14px; }
    }
    @media (max-width: 480px) {
      #pd-outcomes .outcomes-grid { grid-template-columns: 1fr; }
      .outcome-item { border-right:none!important;border-bottom:1px solid var(--rule)!important; }
      .outcome-item:last-child { border-bottom:none!important; }
    }

/* ── строка «Заказчик и партнёры» под паспортом ── */
.pd-partners-line { margin-top:24px;padding-top:18px;border-top:1px solid var(--rule);font-size:14px;color:var(--ink-mid);line-height:1.7; }
.pd-partners-l { display:block;font-family:var(--font-head);font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-light);margin-bottom:8px; }
/* аудитория без описаний — одна колонка текста */
.whom-item:not(:has(.whom-desc)) { grid-template-columns:3rem 1fr; }

    /* ══════════════════════════════════════
       ОБЛОЖКА-ГРАФИКА вместо фотографии:
       направление и сроки крупной типографикой на сеточном паттерне
    ══════════════════════════════════════ */
    .pd-cover-gfx {
      position:absolute; inset:0; background:var(--ink); overflow:hidden;
      display:flex; flex-direction:column; justify-content:space-between;
      padding:clamp(24px,3vw,44px);
    }
    .pd-cover-gfx::before {
      content:''; position:absolute; inset:0; pointer-events:none;
      background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
                       linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
      background-size:60px 60px;
    }
    .pd-cover-gfx::after {
      content:''; position:absolute; top:0; left:0; right:0; height:3px;
      background:linear-gradient(90deg,var(--acid),transparent 70%);
    }
    .gfx-top { position:relative; display:flex; justify-content:space-between; align-items:baseline; gap:16px; }
    .gfx-idx { font-family:var(--font-head);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.35); }
    .gfx-years { font-family:var(--font-head);font-size:10px;font-weight:700;letter-spacing:.14em;color:rgba(255,255,255,.35);font-variant-numeric:tabular-nums; }
    .gfx-word {
      position:relative; font-family:var(--font-head);
      font-size:clamp(46px,7.5vw,104px); font-weight:900; letter-spacing:-.055em; line-height:.86;
      color:#fff; margin:auto 0 clamp(90px,14vh,150px); word-break:break-word;
    }
    .gfx-word em { font-family:var(--font-serif);font-style:italic;font-weight:400;color:rgba(255,255,255,.42);letter-spacing:-.01em; }

    /* ══════════════════════════════════════
       HERO-ВОРДМАРК — приём главной: имя во всю ширину,
       кислотный акцент на одной букве, рамка статистики
    ══════════════════════════════════════ */
    #pd-hero.pd-hero-wm { border-bottom: 1px solid var(--rule); padding: clamp(28px,4vh,52px) 0 clamp(30px,4vh,54px); }
    .pd-eyebrow {
      display:flex; align-items:center; gap:10px;
      font-family:var(--font-body); font-size:11px; font-weight:500;
      letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mid);
    }
    .pd-eyebrow::before { content:''; width:28px; height:1px; background:var(--ink-light); flex-shrink:0; }
    .pd-wordmark {
      font-family:var(--font-head);
      font-size:clamp(34px, calc(86vw / var(--wm-len, 9)), 150px); font-weight:900;
      letter-spacing:-.055em; line-height:1.02; color:var(--ink);
      white-space:nowrap; overflow-wrap:normal;
      margin:clamp(10px,1.6vh,18px) 0 0;
    }
    .wm-em { position:relative; display:inline-block; }
    .wm-em::after {
      content:''; position:absolute; left:0; right:0; bottom:.11em;
      height:.085em; background:var(--acid);
    }
    .pd-wm-row {
      display:flex; align-items:flex-end; justify-content:space-between; gap:clamp(24px,4vw,56px);
      margin-top:clamp(20px,3vh,32px); padding-top:clamp(16px,2.4vh,24px);
      border-top:1px solid var(--rule);
    }
    .pd-wm-left { max-width:520px; }
    .pd-stats {
      display:flex; gap:0; border:1px solid var(--rule); border-radius:2px;
      overflow:hidden; flex-shrink:0;
    }
    .pd-stat { padding:14px 24px; border-right:1px solid var(--rule); text-align:center; min-width:130px; }
    .pd-stat:last-child { border-right:none; }
    .pd-stat-num {
      font-family:var(--font-head); font-size:clamp(18px,2vw,26px); font-weight:900;
      letter-spacing:-.04em; color:var(--ink); line-height:1; display:block;
    }
    .pd-stat-label { font-size:10px; color:var(--ink-light); margin-top:4px; letter-spacing:.04em; display:block; }
    /* ── статус строкой: слева состояние, справа действие ── */
    .pd-status-row {
      display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
      margin-top:clamp(18px,2.6vh,28px); padding-top:clamp(14px,2vh,18px);
      border-top:1.5px solid var(--ink);
    }
    .pd-status-line {
      display:inline-flex; align-items:center; gap:9px;
      font-size:13px; color:var(--ink-mid); line-height:1.5;
    }
    .pd-dot {
      width:7px; height:7px; border-radius:50%; flex-shrink:0;
      background:var(--acid); box-shadow:0 0 0 3px rgba(197,242,0,.25);
      animation:dotPulse 2s ease infinite;
    }
    .pd-dot-off { background:var(--rule); box-shadow:none; animation:none; }
    .pd-status-link {
      font-family:var(--font-head); font-size:10px; font-weight:700;
      letter-spacing:.08em; text-transform:uppercase; white-space:nowrap;
      border-bottom:2px solid var(--rule); padding-bottom:2px;
      transition:border-color .18s, gap .18s;
    }
    .pd-status-link:hover { border-bottom-color:var(--ink); }
    .pd-status-link-acid { border-bottom-color:var(--acid); }
    /* карточка статуса под шапкой */
