/* ============================================================
   Naumen 25 — landing
   ============================================================ */
:root{
  --orange:#FF6600;
  --orange-2:#ff7d1a;
  --ink:#0F1013;
  --ink-2:#41474d;
  --sky:#D2E9F6;
  --sky-2:#c2e2f4;
  --mist:#E9EDEF;
  --paper:#ffffff;
  --line:rgba(15,16,19,.12);
  --radius:26px;
  --container:1280px;
  --ease:cubic-bezier(.22,.61,.36,1);
  font-synthesis:none;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
html{overflow-x:hidden}
/* заголовки и крупные акценты — фирменная Geometria */
.hero-slogan,.hero-sub,.chronicles-title,.era-card h3,.capsule-title,.experts-head h2,
.video-title,.facts-title,.facts-subtitle,.stat-num,.projects-title,.quiz-title,.quiz-qnum,
.modal-body h3,.modal-body h4,.modal-card--sm h3,.expert-name,.pc-title{
  font-family:'Geometria',system-ui,sans-serif;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
section{position:relative}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 40px}

.eyebrow{
  display:inline-block;font-weight:700;font-size:clamp(15px,1.4vw,19px);
  letter-spacing:.01em;color:var(--ink);margin-bottom:18px;
}
.draft-tag{
  font-style:normal;font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--orange);background:rgba(255,102,0,.1);
  padding:2px 7px;border-radius:6px;margin-left:6px;vertical-align:middle;
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:700;font-size:18px;padding:16px 30px;border-radius:16px;
  transition:transform .2s var(--ease),background .2s,color .2s,box-shadow .2s;
  white-space:nowrap;
}
.btn:active{transform:scale(.97)}
.btn--orange{background:var(--orange);color:#fff}
.btn--orange:hover{background:var(--orange-2);box-shadow:0 10px 26px rgba(255,102,0,.32)}
.btn--black{background:var(--ink);color:#fff}
.btn--black:hover{background:#000}
.btn--ghost{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.btn--ghost:hover{background:var(--ink);color:#fff}

/* ============ HEADER ============ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:60;
  padding:18px 0;transition:background .3s,box-shadow .3s,padding .3s;
}
.site-header.scrolled{background:rgba(255,255,255,.82);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line);padding:12px 0}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{display:inline-flex;align-items:center}
.logo img{height:22px;width:auto;display:block}
.nav{display:flex;gap:34px}
.nav a{font-weight:600;font-size:16px;color:#fff;opacity:.92;transition:color .2s}
.nav a:hover{color:var(--orange)}
.site-header.scrolled .nav a{color:var(--ink)}
/* «История компании» недоступна, пока не долистали до капсулы (иначе ломается pin-сюжет) */
.nav a.nav-locked{opacity:.4;cursor:default}
.nav a.nav-locked:hover{color:inherit}
.burger{display:none;flex-direction:column;gap:5px;width:34px;height:30px;justify-content:center}
.burger span{height:3px;background:#fff;border-radius:3px;transition:.3s}
.site-header.scrolled .burger span{background:var(--ink)}
.burger.open span{background:var(--ink)}
.burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ============ HERO (тёмный фон, слоган слева, текст справа) ============ */
.hero{background:#0F1216}
.hero-stage{height:100vh;position:relative;overflow:hidden;background:#0F1216}
.hero-comets{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none;display:block}
.hero-text{position:absolute;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:var(--container);height:100%;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:0 40px;will-change:opacity,transform}
.hero-intro{max-width:270px;order:2;color:#fff}
.hero-sub{font-weight:800;font-size:clamp(24px,2.2vw,32px);line-height:1.12;margin-bottom:22px;color:#fff}
.hero-intro p{font-size:15px;color:rgba(255,255,255,.68);margin-bottom:14px}
.hero-slogan{text-align:left;flex-shrink:0;order:1;color:#fff}
.hero-slogan .big{display:block;font-weight:900;font-size:clamp(96px,13vw,196px);line-height:.84;letter-spacing:-.02em}
.hero-slogan .years{display:block;font-weight:900;font-size:clamp(72px,9.5vw,146px);line-height:.88;margin-bottom:22px}
.hero-slogan p{font-weight:700;font-size:clamp(26px,3vw,46px);line-height:1.12}

/* «25»-окно в горы: масштабируется только маска, горы за ним статичны */
.hero-window{position:absolute;inset:0;z-index:3;
  /* «25» показывает горы как будто через оранжевое прозрачное стекло:
     мягкий блик + оранжевый тон поверх фотографии гор */
  background:
    linear-gradient(122deg, rgba(255,180,120,.32) 0%, rgba(255,140,60,0) 32%),
    linear-gradient(150deg, rgba(255,102,0,.74) 0%, rgba(240,90,0,.68) 55%, rgba(255,125,26,.72) 100%),
    url(assets/mountains3.webp?v4) center bottom/cover no-repeat;
  -webkit-mask:url('data:image/svg+xml,%3Csvg%20width%3D%22705%22%20height%3D%22650%22%20viewBox%3D%220%200%20705%20650%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M338.4%20395.166C338.4%20410.755%20325.774%20423.392%20310.2%20423.392H155.1C147.313%20423.392%20141%20429.711%20141%20437.505C141%20445.299%20147.313%20451.618%20155.1%20451.618H310.2C325.774%20451.618%20338.4%20464.255%20338.4%20479.844V592.749C338.4%20623.926%20313.149%20649.201%20282%20649.201H56.4C25.2511%20649.201%200%20623.926%200%20592.749V254.035C0%20238.446%2012.6256%20225.809%2028.2%20225.809H183.3C191.087%20225.809%20197.4%20219.49%20197.4%20211.696C197.4%20203.902%20191.087%20197.583%20183.3%20197.583H28.2C12.6256%20197.583%200%20184.946%200%20169.357V56.4523C0%2025.2745%2025.2511%200%2056.4%200H282C313.149%200%20338.4%2025.2745%20338.4%2056.4523V395.166Z%22%20fill%3D%22%23D9D9D9%22%2F%3E%0A%3Cpath%20d%3D%22M366.6%20395.166C366.6%20410.755%20379.226%20423.392%20394.8%20423.392H549.9C557.687%20423.392%20564%20429.711%20564%20437.505C564%20445.299%20557.687%20451.618%20549.9%20451.618H394.8C379.226%20451.618%20366.6%20464.255%20366.6%20479.844V592.749C366.6%20623.926%20391.851%20649.201%20423%20649.201H648.6C679.749%20649.201%20705%20623.926%20705%20592.749V254.035C705%20238.446%20692.374%20225.809%20676.8%20225.809H521.7C513.913%20225.809%20507.6%20219.49%20507.6%20211.696C507.6%20203.902%20513.913%20197.583%20521.7%20197.583H676.8C692.374%20197.583%20705%20184.946%20705%20169.357V56.4523C705%2025.2745%20679.749%200%20648.6%200H423C391.851%200%20366.6%2025.2745%20366.6%2056.4523V395.166Z%22%20fill%3D%22%23D9D9D9%22%2F%3E%0A%3C%2Fsvg%3E') no-repeat center / var(--msize,54vh);
  mask:url('data:image/svg+xml,%3Csvg%20width%3D%22705%22%20height%3D%22650%22%20viewBox%3D%220%200%20705%20650%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M338.4%20395.166C338.4%20410.755%20325.774%20423.392%20310.2%20423.392H155.1C147.313%20423.392%20141%20429.711%20141%20437.505C141%20445.299%20147.313%20451.618%20155.1%20451.618H310.2C325.774%20451.618%20338.4%20464.255%20338.4%20479.844V592.749C338.4%20623.926%20313.149%20649.201%20282%20649.201H56.4C25.2511%20649.201%200%20623.926%200%20592.749V254.035C0%20238.446%2012.6256%20225.809%2028.2%20225.809H183.3C191.087%20225.809%20197.4%20219.49%20197.4%20211.696C197.4%20203.902%20191.087%20197.583%20183.3%20197.583H28.2C12.6256%20197.583%200%20184.946%200%20169.357V56.4523C0%2025.2745%2025.2511%200%2056.4%200H282C313.149%200%20338.4%2025.2745%20338.4%2056.4523V395.166Z%22%20fill%3D%22%23D9D9D9%22%2F%3E%0A%3Cpath%20d%3D%22M366.6%20395.166C366.6%20410.755%20379.226%20423.392%20394.8%20423.392H549.9C557.687%20423.392%20564%20429.711%20564%20437.505C564%20445.299%20557.687%20451.618%20549.9%20451.618H394.8C379.226%20451.618%20366.6%20464.255%20366.6%20479.844V592.749C366.6%20623.926%20391.851%20649.201%20423%20649.201H648.6C679.749%20649.201%20705%20623.926%20705%20592.749V254.035C705%20238.446%20692.374%20225.809%20676.8%20225.809H521.7C513.913%20225.809%20507.6%20219.49%20507.6%20211.696C507.6%20203.902%20513.913%20197.583%20521.7%20197.583H676.8C692.374%20197.583%20705%20184.946%20705%20169.357V56.4523C705%2025.2745%20679.749%200%20648.6%200H423C391.851%200%20366.6%2025.2745%20366.6%2056.4523V395.166Z%22%20fill%3D%22%23D9D9D9%22%2F%3E%0A%3C%2Fsvg%3E') no-repeat center / var(--msize,54vh);
  will-change:-webkit-mask-size,mask-size}
/* горы: проявляются после прохода сквозь «25» и едут горизонтально (background-position-x) */
.hero-full{position:absolute;inset:0;z-index:4;opacity:0;pointer-events:none;
  background:url(assets/mountains3.webp?v4) 50% bottom/cover no-repeat;
  will-change:opacity,background-position}

.scroll-hint{position:absolute;left:50%;bottom:26px;z-index:5;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.72);font-size:13px;font-weight:600}
.scroll-hint i{width:26px;height:40px;border:2px solid rgba(255,255,255,.6);border-radius:14px;position:relative}
.scroll-hint i::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;background:rgba(255,255,255,.8);border-radius:3px;transform:translateX(-50%);animation:scrollDot 1.5s infinite}
@keyframes scrollDot{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,14px)}}

/* ============ CHRONICLES ============ */
.anchor{position:absolute;top:-80px}
.chronicles-inner{position:absolute;top:0;left:0;width:100%;z-index:5;padding-top:8vh;padding-bottom:16vh;will-change:transform}
.chronicles-title{font-weight:900;font-size:clamp(52px,9vw,140px);line-height:1;letter-spacing:-.02em;padding-bottom:clamp(30px,5vw,70px);color:#fff}
.eras{display:flex;flex-direction:column;gap:clamp(50px,8vw,120px)}
.era{position:relative;display:flex}
.era--right{justify-content:flex-end}
.era-card{
  width:min(560px,88%);background:#fff;
  border-radius:var(--radius);
  padding:clamp(26px,3vw,44px);box-shadow:0 30px 60px rgba(40,90,130,.14);
}
.era-years{font-weight:600;font-size:clamp(17px,1.5vw,20px);color:var(--ink-2)}
.era-card h3{font-weight:800;font-size:clamp(30px,3.6vw,52px);line-height:1.04;margin:6px 0 18px}
.era-card p{font-size:clamp(15px,1.15vw,17px);color:#2a3036;margin-bottom:14px}
.era-card p:last-child{margin-bottom:0}
.era-icon{
  position:absolute;display:block;width:clamp(210px,26vw,430px);z-index:3;
  top:calc(50% - clamp(105px,13vw,215px));   /* по центру карточки по вертикали */
  will-change:transform;
}
.era-icon-img{display:block;width:100%}
.era:not(.era--right) .era-icon{right:2%}
.era--right .era-icon{left:2%}
.float{animation:floaty 6s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}

/* ============ CAPSULE ============ */
.capsule{background:var(--mist);padding:clamp(90px,10vw,150px) 0}
.capsule-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.capsule-title{font-weight:900;font-size:clamp(56px,8vw,120px);line-height:.92;letter-spacing:-.02em;margin:6px 0 26px}
.capsule-lead{font-size:clamp(16px,1.3vw,19px);color:var(--ink-2);max-width:520px;margin-bottom:30px}
.capsule-form{max-width:520px}
.field-wrap{position:relative}
.capsule-form textarea{
  width:100%;min-height:150px;resize:vertical;border:none;border-radius:22px;
  background:#fff;padding:22px 24px;font-family:inherit;font-size:17px;color:var(--ink);
  box-shadow:0 14px 40px rgba(40,60,80,.08);outline:none;transition:box-shadow .25s;
}
.capsule-form textarea:focus{box-shadow:0 14px 44px rgba(255,102,0,.18)}
.capsule-form textarea::placeholder{color:#9aa3ab}
.form-status{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;
  background:#fff;border-radius:22px;color:#1f9d55;font-weight:700;font-size:19px;
  opacity:0;visibility:hidden;transform:scale(.96);transition:.35s var(--ease);
}
.form-status.show{opacity:1;visibility:visible;transform:scale(1)}
.capsule-form .btn{margin-top:20px}

.capsule-visual{position:relative;height:clamp(480px,58vw,720px);display:flex;flex-direction:column;align-items:center;justify-content:center;will-change:transform,opacity}
.cap-sway{display:flex;flex-direction:column;align-items:center;gap:clamp(26px,4vw,60px);transform-origin:50% 46%;animation:capSway 6.5s ease-in-out infinite}
@keyframes capSway{0%{transform:rotate(-2.6deg)}50%{transform:rotate(2.6deg)}100%{transform:rotate(-2.6deg)}}
@media(prefers-reduced-motion:reduce){.cap-sway{animation:none}}
.cap-half{width:clamp(250px,32vw,400px);will-change:transform}

/* ============ EXPERTS ============ */
.experts{background:var(--mist);padding:0 0 clamp(90px,10vw,140px)}
.experts-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}
.experts-head h2{font-weight:800;font-size:clamp(30px,4.4vw,60px);line-height:1.02}
.slider-arrows{display:flex;gap:12px;flex-shrink:0}
.s-arrow{width:58px;height:58px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--ink);box-shadow:0 8px 22px rgba(40,60,80,.1);transition:.2s}
.s-arrow:hover{background:#ff6720;color:#fff}
.s-arrow:disabled{opacity:.35;cursor:default}
.s-arrow:disabled:hover{background:#fff;color:var(--ink)}

.slider{overflow:hidden;padding:20px 0 48px}
.slider-track{display:flex;gap:24px;transition:transform .55s var(--ease)}
.experts-qrow{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:40px}
.experts-question{position:relative;flex:1 1 auto;max-width:940px;padding:20px 30px 20px 34px;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 34px rgba(40,60,80,.06)}
.experts-question::before{content:'';position:absolute;left:0;top:0;bottom:0;width:7px;background:linear-gradient(180deg,#ffd23f 0%,#ff9a1f 50%,#ff6600 100%)}
.experts-question-label{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-bottom:9px}
.experts-question p{font-style:italic;font-size:clamp(14px,1.5vw,21px);line-height:1.4;color:var(--ink);font-weight:500}
.experts-qrow .slider-arrows{margin-bottom:2px}
.expert-card{
  flex:0 0 calc((100% - 48px)/3);background:#fff;border-radius:var(--radius);
  padding:26px 24px;box-shadow:0 16px 40px rgba(40,60,80,.07);display:flex;flex-direction:column;
  cursor:pointer;transition:box-shadow .25s var(--ease),transform .25s var(--ease);
}
.expert-card:hover{box-shadow:0 22px 52px rgba(40,60,80,.14);transform:translateY(-3px)}
.expert-top{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.expert-avatar{position:relative;flex-shrink:0;overflow:hidden;width:66px;height:66px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:24px;color:#fff}
.expert-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.expert-head{min-width:0}
.expert-name{font-weight:800;font-size:18px;line-height:1.15;margin-bottom:3px}
.expert-role{font-size:12px;color:var(--orange);font-weight:600;line-height:1.3}
.expert-quote{font-size:14.5px;color:var(--ink-2);line-height:1.55;margin-bottom:18px}
.expert-more{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:7px;color:var(--orange);font-weight:700;font-size:14px;transition:gap .2s}
.expert-more:hover{gap:11px}
.slider-dots{display:flex;gap:9px;justify-content:center;margin-top:18px}
.slider-dots button{width:9px;height:9px;border-radius:50%;background:rgba(15,16,19,.2);transition:.25s}
.slider-dots button.active{background:var(--orange);width:26px;border-radius:5px}

/* ============ VIDEO ============ */
.video{background:#0F1216;padding:clamp(80px,10vw,140px) 0}
.video-title{font-weight:800;font-size:clamp(28px,4vw,54px);margin-bottom:32px;line-height:1.04;color:#fff}
.video-frame{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/9;background:#0b1622;box-shadow:0 30px 70px rgba(20,40,60,.2)}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-cover{position:absolute;inset:0;cursor:pointer;z-index:2}
.video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62) saturate(1.05)}
.video-cover-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#fff}
.video-cover-inner span{font-weight:700;font-size:clamp(16px,1.6vw,22px)}
.play-btn{width:92px;height:92px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;padding-left:6px;transition:.25s;box-shadow:0 12px 40px rgba(255,102,0,.5)}
.video-cover:hover .play-btn{transform:scale(1.08)}

/* ============ FACTS ============ */
.facts{background:#fff;padding:clamp(90px,10vw,150px) 0 clamp(45px,5vw,80px);overflow-x:clip}
.facts-title{font-weight:900;font-size:clamp(52px,8.5vw,124px);line-height:.92;letter-spacing:-.02em;margin-bottom:70px}
.facts-group{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;margin-bottom:clamp(90px,12vw,180px)}
.facts-group:last-of-type{margin-bottom:clamp(30px,4vw,60px)}
.facts-group--rev .facts-col{order:2}
.facts-subtitle{font-weight:800;font-size:clamp(22px,2.3vw,32px);line-height:1.1;margin-bottom:36px;max-width:16em}
.stat{margin-bottom:34px}
.stat:last-child{margin-bottom:0}
.stat-num{display:block;font-weight:900;font-size:clamp(48px,7vw,104px);line-height:.95;letter-spacing:-.02em;white-space:nowrap}
.stat p{font-size:clamp(14px,1.1vw,16px);color:var(--ink-2);max-width:26em;margin-top:6px}
.facts-obj{display:flex;justify-content:center;align-items:center;position:relative;will-change:transform}
.facts-obj img{width:clamp(340px,42vw,520px);max-width:none}
.facts-obj img.big{width:clamp(340px,42vw,520px);max-width:none}
/* объекты прижаты к внешнему краю экрана (перекрытие уходит за край, не на текст) */
.facts-group:not(.facts-group--rev) .facts-obj{justify-content:flex-start}
.facts-group--rev .facts-obj{justify-content:flex-end;padding-right:clamp(40px,6vw,110px)}

/* ============ PROJECTS (на всю ширину, 5 в ряд) ============ */
.projects{background:var(--mist);padding:clamp(40px,4.5vw,70px) 0 clamp(90px,10vw,150px)}
.projects-head{max-width:var(--container);margin:0 auto;padding:0 40px}
.projects-title{font-weight:900;font-size:clamp(44px,7vw,104px);line-height:.94;letter-spacing:-.02em;margin-bottom:18px}
.projects-lead{font-size:clamp(16px,1.3vw,19px);color:var(--ink-2);max-width:640px;margin-bottom:50px}
.projects-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;padding:0 clamp(24px,3vw,48px)}
.project-card{
  position:relative;aspect-ratio:3/4;border-radius:22px;overflow:hidden;cursor:pointer;
  background:#dfe6ea;box-shadow:0 12px 30px rgba(40,60,80,.08);transition:transform .3s var(--ease),box-shadow .3s;
}
.project-card:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(40,60,80,.16)}
.project-card .pc-media{position:absolute;inset:0;background:#ccd2d7}   /* серая заглушка, пока/если нет картинки */
.project-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.project-card .pc-grad{position:absolute;inset:0}
.media-hide{display:none!important}
.project-card .pc-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,15,20,.05) 30%,rgba(10,15,20,.78) 100%)}
.project-card .pc-text{position:absolute;left:0;right:0;bottom:0;padding:22px;color:#fff;z-index:2}
.project-card .pc-tag{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.85;margin-bottom:8px;display:block}
.project-card .pc-title{font-weight:800;font-size:clamp(15px,1.15vw,19px);line-height:1.14;overflow-wrap:break-word;word-break:break-word;hyphens:auto}
.project-card .pc-title::first-letter,#modalTitle::first-letter{text-transform:uppercase}
.project-card .pc-tag::first-letter{text-transform:uppercase}
.project-card .pc-draft{position:absolute;top:112px;left:22px;z-index:4;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:rgba(255,102,0,.92);padding:4px 8px;border-radius:6px}
/* белая плашка под логотип — с отступами от краёв карточки (как у текста снизу) */
.project-card .pc-logo{position:absolute;top:22px;left:22px;right:22px;height:84px;z-index:3;background:#fff;border-radius:16px;display:flex;align-items:center;justify-content:center;padding:12px 18px;box-shadow:0 8px 22px rgba(20,30,40,.1)}
.project-card .pc-logo img{position:static;width:auto;max-width:100%;max-height:100%;object-fit:contain}
.project-card .pc-logo img.logo-sm{max-width:66%;max-height:64%}
.project-card .pc-logo .pc-logo-ph{width:96px;height:30px;border-radius:8px;background:#e7ebee}
.projects-more{display:none}

/* ---------- modal ---------- */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:24px}
.modal.open{display:flex}
.modal-overlay{position:absolute;inset:0;background:rgba(15,20,28,.42);backdrop-filter:blur(8px) saturate(1.1);-webkit-backdrop-filter:blur(8px) saturate(1.1);opacity:0;transition:opacity .35s}
.modal.open .modal-overlay{opacity:1}
.modal-card{
  position:relative;z-index:2;border-radius:var(--radius);
  background:#fff;box-shadow:0 44px 110px rgba(8,16,26,.4);
  width:min(1000px,100%);max-height:88vh;overflow:hidden;display:grid;grid-template-columns:1fr 1.1fr;
  transform:translateY(24px) scale(.98);opacity:0;transition:.4s var(--ease);
}
.modal.open .modal-card{transform:none;opacity:1}
/* прокручивается текстовая колонка (прямоугольник) — скроллбар не задевает скруглённые углы карточки */
.modal-body{max-height:88vh;overflow-y:auto;overscroll-behavior:contain}
.modal-card--sm{overflow-y:auto}
/* красивый скруглённый скроллбар без стрелок-кнопок */
.modal-body,.modal-card--sm{scrollbar-width:thin;scrollbar-color:#cfd6dc transparent}
.modal-body::-webkit-scrollbar,.modal-card--sm::-webkit-scrollbar{width:10px}
.modal-body::-webkit-scrollbar-button,.modal-card--sm::-webkit-scrollbar-button{display:none;width:0;height:0;background:transparent}
.modal-body::-webkit-scrollbar-track,.modal-card--sm::-webkit-scrollbar-track{background:transparent;margin:14px 0}
.modal-body::-webkit-scrollbar-thumb,.modal-card--sm::-webkit-scrollbar-thumb{background:#cfd6dc;border-radius:20px;border:2px solid #fff;background-clip:padding-box;min-height:50px}
.modal-body::-webkit-scrollbar-thumb:hover,.modal-card--sm::-webkit-scrollbar-thumb:hover{background:#ff9564}
.modal-card--sm{grid-template-columns:1fr;max-width:520px;text-align:center;padding:44px 40px 40px}
.modal-close{position:absolute;top:18px;right:18px;z-index:5;color:var(--ink);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}
.modal-close:hover{background:rgba(0,0,0,.06)}
.modal-media{min-height:320px;background:#ccd2d7;position:relative}
.modal-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.modal-media .pc-grad{position:absolute;inset:0}
.modal-body{padding:46px 44px}
.modal-body h3{font-weight:800;font-size:clamp(24px,2.6vw,34px);line-height:1.08;margin-bottom:18px;padding-right:30px}
.modal-lead{font-size:16px;color:var(--ink-2);margin-bottom:26px}
.modal-body h4{font-weight:800;font-size:20px;margin-bottom:10px}
.modal-body #modalText{font-size:15px;color:var(--ink-2)}

/* ---- Expert quote modal ---- */
.modal-card--expert{display:flex;flex-direction:column;width:min(660px,100%);max-height:88vh;overflow:hidden}
.exp-modal-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:48px 46px 28px;scrollbar-width:thin;scrollbar-color:#cfd6dc transparent}
.exp-modal-scroll::-webkit-scrollbar{width:10px}
.exp-modal-scroll::-webkit-scrollbar-track{background:transparent;margin:14px 0}
.exp-modal-scroll::-webkit-scrollbar-thumb{background:#cfd6dc;border-radius:20px;border:2px solid #fff;background-clip:padding-box;min-height:50px}
.exp-modal-scroll::-webkit-scrollbar-thumb:hover{background:#ff9564}
.exp-modal-head{display:flex;align-items:center;gap:22px;margin-bottom:26px;padding-right:34px}
.exp-modal-photo{position:relative;flex-shrink:0;width:132px;height:150px;border-radius:20px;overflow:hidden;background:#ccd2d7}
.exp-modal-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center}
.exp-modal-headtext{min-width:0}
.exp-modal-name{font-weight:800;font-size:clamp(23px,2.4vw,31px);line-height:1.1;margin-bottom:9px}
.exp-modal-role{font-size:14px;color:var(--orange);font-weight:600;line-height:1.35}
.exp-modal-quote{font-size:16px;color:var(--ink-2);line-height:1.68}
.exp-modal-nav{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 46px;border-top:1px solid #eef1f4;background:#fff}
.exp-nav{width:52px;height:52px;border-radius:50%;background:#fff;border:1px solid #e4e9ed;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:.2s;flex-shrink:0}
.exp-nav:hover{background:#ff6720;color:#fff;border-color:#ff6720}
.exp-modal-count{font-weight:700;font-size:14px;color:var(--ink-2);letter-spacing:.03em}

/* ============ QUIZ ============ */
.quiz{background:#fff;padding:clamp(70px,8vw,120px) 0 0}
.quiz-title{font-weight:900;font-size:clamp(48px,8vw,120px);line-height:1;text-align:center;letter-spacing:-.02em;margin-bottom:44px}
.quiz-progress{max-width:760px;margin:0 auto 30px;display:flex;align-items:center;gap:22px;background:#f1f3f5;border-radius:40px;padding:16px 28px}
.quiz-progress>span{font-weight:800;font-size:clamp(18px,1.8vw,24px);white-space:nowrap}
.progress-bar{flex:1;height:16px;background:var(--ink);border-radius:20px;overflow:hidden}
.progress-bar i{display:block;height:100%;width:8%;background:var(--orange);border-radius:20px;transition:width .4s var(--ease)}
.quiz-card{position:relative;max-width:760px;margin:0 auto;background:#f5f6f7;border-radius:26px;padding:38px 60px;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:background .3s}
.quiz-card.correct{background:#e4f7ec}
.quiz-qnum{font-weight:800;font-size:20px;margin-bottom:14px}
.quiz-question{font-size:clamp(18px,2vw,24px);font-weight:500;line-height:1.35;max-width:32em}
.quiz-mark{position:absolute;top:30px;right:30px;width:30px;height:30px;border-radius:50%;border:2px solid rgba(15,16,19,.25)}
.quiz-mark.ok{border:none;background:#22a35a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/60% no-repeat}
.quiz-mark.no{border:none;background:#e5484d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M18 6 6 18M6 6l12 12' stroke='white' stroke-width='2.4'/%3E%3C/svg%3E") center/54% no-repeat}
.quiz-dots{display:flex;gap:12px;justify-content:center;align-items:center;margin:26px 0}
.quiz-dots i{width:11px;height:11px;border-radius:50%;background:rgba(15,16,19,.18);flex:none;transition:width .28s var(--ease),height .28s var(--ease),background .2s}
/* пройденные — в 2 раза крупнее, серые непройденные остаются мелкими */
.quiz-dots i.ok,.quiz-dots i.no{width:22px;height:22px;cursor:pointer}
.quiz-dots i.ok{background:var(--orange)}
.quiz-dots i.ok:hover,.quiz-dots i.no:hover{box-shadow:0 0 0 4px rgba(255,102,0,.18)}
.quiz-dots i.no{background:var(--ink);position:relative}
.quiz-dots i.no::after{content:"✕";position:absolute;inset:0;color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}
.quiz-actions{display:flex;gap:16px;justify-content:center;margin-bottom:clamp(70px,8vw,110px)}
.quiz-actions .btn{min-width:170px;font-size:20px}
.quiz-result{text-align:center;padding-bottom:clamp(70px,8vw,110px)}
.quiz-result p{font-weight:800;font-size:clamp(26px,3vw,40px)}
.quiz-result span{display:block;font-size:20px;color:var(--ink-2);margin:10px 0 24px}
.quiz-modal-icon{width:70px;height:70px;border-radius:50%;margin:0 auto 20px;background:#fdecec url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e5484d' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center/44% no-repeat}
.quiz-modal-icon.ok{background:#e8f7ec url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232e7d32' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-11'/%3E%3C/svg%3E") center/44% no-repeat}
.modal-card--sm h3{font-weight:800;font-size:26px;margin-bottom:14px}
.modal-card--sm p{font-size:16px;color:var(--ink-2);margin-bottom:26px}

/* ============ FOOTER / MARQUEE ============ */
.site-footer{background:var(--ink);color:#fff;padding:clamp(50px,7vw,90px) 0 0;overflow:hidden}
.marquee{display:flex;flex-direction:column;gap:20px;padding-bottom:60px}
.marquee-row{display:flex;align-items:center;gap:16px;width:max-content;will-change:transform}
.tag-img{height:clamp(56px,6vw,84px);width:auto;flex:0 0 auto;object-fit:contain;pointer-events:none;user-select:none;will-change:transform;animation:tagBob 4.6s ease-in-out infinite}
@keyframes tagBob{
  0%{transform:translateY(2px) rotate(-3.2deg)}
  50%{transform:translateY(-7px) rotate(3.2deg)}
  100%{transform:translateY(2px) rotate(-3.2deg)}
}
.marquee-row--left{animation:mLeft 71s linear infinite}
.marquee-row--right{animation:mRight 71s linear infinite}
@keyframes mLeft{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes mRight{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.tag{border:1.6px solid var(--orange);border-radius:16px;padding:14px 30px;font-weight:600;font-size:clamp(18px,2.2vw,30px);white-space:nowrap;color:#fff}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:36px;padding-bottom:40px;border-top:1px solid rgba(255,255,255,.14)}
.logo--footer img{height:26px}
.footer-bottom p{color:rgba(255,255,255,.6);font-size:14px}

/* ============ REVEAL ANIM ============ */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* ============ RESPONSIVE ============ */
@media(max-width:1280px){
  .projects-grid{grid-template-columns:repeat(4,1fr)}
}
@media(min-width:1025px) and (max-width:1180px){
  .hero-intro{max-width:210px}
  .hero-slogan .big{font-size:clamp(80px,11vw,150px)}
  .hero-slogan .years{font-size:clamp(60px,8vw,112px)}
  .hero-slogan p{font-size:clamp(22px,2.6vw,36px)}
}
@media(max-width:1080px){
  .projects-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:1024px){
  .container{padding:0 24px}
  .nav{position:fixed;top:0;right:0;height:100vh;width:min(300px,80vw);background:#fff;flex-direction:column;justify-content:center;gap:26px;padding:40px;transform:translateX(100%);transition:transform .35s var(--ease);box-shadow:-10px 0 40px rgba(0,0,0,.1);z-index:55}
  .nav.open{transform:none}
  .nav a{font-size:20px;color:var(--ink)}
  .burger{display:flex;z-index:56}
  /* ---- Первый экран + Хроники: обычный вертикальный поток, без pin ---- */
  .hero-comets{display:none}
  .hero-stage{height:auto;display:flex;flex-direction:column;padding:90px 0 0}
  .hero-window{position:relative;inset:auto;order:1;width:100%;height:42vh;z-index:1;--msize:36vh}
  .hero-text{position:static;transform:none;order:2;flex-direction:column;height:auto;align-items:center;text-align:center;gap:18px;margin:20px 0 30px}
  .hero-slogan{text-align:center}
  .hero-slogan .big{font-size:clamp(84px,26vw,150px)}
  .hero-slogan .years{font-size:clamp(64px,18vw,110px)}
  .hero-slogan p{font-size:clamp(22px,6vw,34px)}
  .hero-intro{max-width:520px;order:3;padding:0 24px}
  .hero-full{position:relative;inset:auto;order:4;opacity:1;height:34vh;background-position:center bottom}
  /* хроники: светлый фон (тёмный текст читается), обычный скролл */
  .chronicles-inner{position:static;order:5;padding:30px 0 50px;transform:none!important;background:linear-gradient(180deg,#dbeef8 0%,#eef6fb 100%)}
  .chronicles-title{padding:0 24px clamp(24px,5vw,44px);color:var(--ink)}   /* на мобиле светлый фон — заголовок тёмный */
  .anchor{display:none}
  /* эпохи: карточки на всю ширину, иконка по центру сверху (без абсолютного позиционирования) */
  .eras{gap:clamp(36px,7vw,60px)}
  .era,.era--right{flex-direction:column}
  .era-card{width:100%}
  .era-icon{position:static;order:-1;display:block;margin:0 auto -18px;width:clamp(170px,44vw,240px)}
  .era:not(.era--right) .era-icon,.era--right .era-icon{left:auto;right:auto;top:auto}
  .capsule{overflow:hidden}
  .capsule-grid{grid-template-columns:1fr;gap:40px;position:relative}
  .capsule-copy{position:relative;z-index:2}
  /* капсула уходит фоном за текст, чтобы не наезжать */
  .capsule-visual{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:auto;margin:0;justify-content:center;opacity:.15;z-index:0;pointer-events:none}
  .cap-half{width:min(230px,56vw)}
  .facts-group,.facts-group--rev{grid-template-columns:1fr;gap:16px}
  .facts-group--rev .facts-col{order:0}
  .facts-obj{order:-1;margin-bottom:8px;justify-content:center!important;padding:0}
  .facts-obj img,.facts-obj img.big{width:min(320px,68vw);max-width:none}
  .modal-card{grid-template-columns:1fr;max-height:90vh;overflow-y:auto}
  .modal-media{min-height:200px}
  .modal-card--expert{width:min(560px,100%);max-height:90vh}
  .exp-modal-scroll{padding:40px 26px 18px}
  .exp-modal-nav{padding:14px 26px}
  .modal-body{padding:30px 26px;max-height:none;overflow:visible}
  .projects-grid{grid-template-columns:repeat(3,1fr);padding:0 20px;gap:16px}
  .projects-head{padding:0 24px}
  .expert-card{flex-basis:calc((100% - 24px)/2)}
  .experts-head{align-items:center}
}
@media(max-width:560px){
  .container{padding:0 18px}
  .quiz-progress{padding:12px 18px;gap:12px}
  .quiz-card{padding:30px 24px}
  .quiz-actions{flex-direction:column}
  .quiz-actions .btn{width:100%}
  .projects-grid{grid-template-columns:1fr 1fr;gap:12px;padding:0 16px}
  .expert-card{flex-basis:100%}
  .experts-qrow{flex-direction:column;align-items:stretch;gap:16px}
  .experts-qrow .slider-arrows{justify-content:flex-end;margin-bottom:0}
  .exp-modal-head{gap:16px}
  .exp-modal-photo{width:104px;height:120px}
  .btn{font-size:16px;padding:15px 24px}
  .cap-half{width:min(190px,50vw)}
}
@media(max-width:549px){
  /* уменьшаем текст карточек кейсов, чтобы он помещался при 2 в ряд */
  .projects-grid{gap:10px}
  .project-card .pc-text{padding:13px}
  .project-card .pc-tag{font-size:9.5px;margin-bottom:4px;letter-spacing:.03em;opacity:.8}
  .project-card .pc-title{font-size:12.5px;line-height:1.1}
  .project-card .pc-logo{height:56px;top:13px;left:13px;right:13px;border-radius:12px;padding:8px 12px}
  .project-card .pc-draft{top:68px;left:13px;font-size:9px;padding:3px 6px}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.1ms!important}
  .float{animation:none}
}
