
:root{
  --violet:#7539f6;
  --violet2:#8e4dff;
  --gold:#efcf62;
  --ink:#141519;
  --muted:#6f727b;
  --line:#e8e7ec;
  --pale:#f6f6f8;
  --paper:#fff;
  --shadow:0 18px 40px rgba(23,17,43,.08);
  --radius:26px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
img{max-width:100%;display:block}
.wrap{width:min(1480px,calc(100% - 80px));margin:auto}
.center{text-align:center}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #ececf0}
.header-in{min-height:102px;display:flex;align-items:center;gap:28px}
.logo{display:flex;align-items:center;gap:14px;min-width:max-content}
.logo-mark{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--violet),var(--violet2));box-shadow:0 14px 26px rgba(117,57,246,.18);font-size:24px;font-weight:800}
.logo b,.logo small{display:block}
.logo b{font:700 32px/1 Georgia,serif;letter-spacing:-.5px}
.logo small{font-size:13px;color:#888a93;margin-top:6px}
.nav{margin-left:auto;display:flex;align-items:center;gap:30px}
.nav>a{font-size:16px;color:#32353d}
.nav>a:hover{color:var(--violet)}
.nav-phone{font-size:17px !important;font-weight:700;color:#16181d !important}
.header-cta{padding:22px 34px;border-radius:16px;background:linear-gradient(145deg,var(--violet),var(--violet2));color:#fff;font-size:18px;font-weight:800;box-shadow:0 16px 28px rgba(117,57,246,.18)}
.menu-btn{display:none;margin-left:auto;border:0;background:#f2edff;color:var(--violet);border-radius:12px;width:44px;height:44px;font-size:20px}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid #ececf0}
.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.92) 48%,rgba(255,255,255,.78) 76%,rgba(255,255,255,.96) 100%),radial-gradient(circle at 87% 35%,rgba(200,215,153,.34),transparent 18%),linear-gradient(135deg,#f7f7f8 0 45%,#efefef 45% 100%)}
.hero-bg:before{content:"";position:absolute;left:0;bottom:0;width:46%;height:75%;opacity:.5;background:linear-gradient(90deg,transparent 9%,rgba(113,118,126,.10) 9% 10%,transparent 10% 23%,rgba(113,118,126,.08) 23% 24%,transparent 24% 38%,rgba(113,118,126,.08) 38% 39%,transparent 39% 100%),linear-gradient(0deg,rgba(93,97,105,.08),rgba(93,97,105,.08));clip-path:polygon(0 100%,0 36%,22% 36%,22% 20%,36% 20%,36% 3%,52% 3%,52% 100%)}
.hero-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.65fr);gap:96px;align-items:start;min-height:760px;padding:88px 0 100px}
.hero h1{margin:0 0 28px;max-width:860px;font:700 86px/1.05 Georgia,serif;letter-spacing:-1.5px}
.hero-copy>p{max-width:790px;margin:0 0 28px;color:#50545d;font-size:26px;line-height:1.48}
.hero-list{list-style:none;padding:0;margin:0;display:grid;gap:18px;max-width:900px}
.hero-list li{position:relative;padding-left:40px;font-size:21px;line-height:1.45;color:#2f333a}
.hero-list li:before{content:"✓";position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eee6ff;color:var(--violet);font-size:15px;font-weight:800}
.lead-card{position:relative;padding:52px 48px 34px;background:#fff;border-radius:26px;box-shadow:0 18px 44px rgba(32,21,63,.12);border:1px solid #ece7f6;margin-top:70px}
.lead-top{position:absolute;left:0;right:0;top:0;height:4px;border-radius:26px 26px 0 0;background:linear-gradient(90deg,var(--violet),var(--violet2))}
.lead-card h3{margin:0 0 18px;text-align:center;font:700 31px/1.2 Georgia,serif}
.lead-card>p{margin:0 0 28px;text-align:center;font-size:17px;line-height:1.45;color:#7a7f88}
.lead-card input,.lead-card button,.contact-form input,.contact-form select,.contact-form textarea,.contact-form button,.calc-form input,.calc-form select,.calc-form button{width:100%;border-radius:16px}
.lead-card input{height:78px;border:1px solid #dbdde3;padding:0 22px;margin-bottom:16px;font-size:20px}
.lead-card button,.contact-form button,.calc-form button{border:0;background:linear-gradient(145deg,var(--violet),var(--violet2));color:#fff;font-weight:800;cursor:pointer;box-shadow:0 12px 26px rgba(117,57,246,.18)}
.lead-card button{height:74px;font-size:22px}
.lead-card small{display:block;margin-top:14px;text-align:center;font-size:13px;color:#90949c}

/* stat */
.stat-wrap{padding:54px 0 38px}
.stat-card{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:30px;min-height:130px;padding:24px 34px;border:1px solid #e8e7ea;border-radius:20px;box-shadow:0 8px 18px rgba(0,0,0,.035)}
.stat-card strong{color:var(--gold);font:400 80px Georgia,serif;border-right:1px solid #eceaea;padding-right:30px}
.stat-card p{margin:0;font-size:20px;line-height:1.6;color:#5f646c}

/* common */
.section{padding:90px 0}
.compact-pad{padding-top:38px;padding-bottom:38px}
.pale{background:#f8f8fa}
.section-head{max-width:980px;margin:0 auto 40px;text-align:center}
.wide-head h2,.text-col h2,.calc-card h2,.benefit-copy h2,.contact-section h2{font:700 72px/1.12 Georgia,serif;letter-spacing:-1px;margin:0 0 22px}
.wide-head p,.text-col p,.catalog-text,.contact-grid>div>p{font-size:22px;line-height:1.6;color:#5f646c;margin:0}
.two-col{display:grid;grid-template-columns:.92fr 1.08fr;gap:100px;align-items:center}

/* about photo */
.photo-card{height:650px;border-radius:28px;position:relative;overflow:hidden;background:linear-gradient(145deg,#e8e2d6,#f9f8f5 36%,#d1d7df 36% 100%);box-shadow:var(--shadow)}
.photo-doc:before{content:"";position:absolute;left:54px;top:74px;width:210px;height:145px;background:#eef1f3;border:18px solid #30353b;border-bottom-width:24px;border-radius:6px;box-shadow:0 8px 20px rgba(0,0,0,.08)}
.scene-monitor{position:absolute;left:72px;top:214px;width:230px;height:14px;background:#252a2f;border-radius:8px}
.scene-paper{position:absolute;left:278px;bottom:96px;width:260px;height:164px;background:#f7f5ee;border:1px solid #d8d1c7;border-radius:8px;transform:rotate(-8deg);box-shadow:0 18px 30px rgba(0,0,0,.08)}
.scene-book{position:absolute;left:40px;bottom:40px;width:220px;height:130px;border-radius:10px;background:#19365a;transform:rotate(8deg);box-shadow:0 10px 24px rgba(11,26,45,.28)}
.scene-book:after{content:"ДИПЛОМ";position:absolute;left:28px;bottom:22px;font:700 52px/1 Georgia,serif;color:#dcb76c;opacity:.95}
.scene-person{position:absolute;right:30px;top:60px;width:280px;height:520px;background:linear-gradient(180deg,#253a5b 0%,#23334c 50%,#0f1830 100%);clip-path:ellipse(40% 48% at 60% 48%);opacity:.92}
.photo-badge{position:absolute;right:18px;bottom:18px;padding:16px 24px;border-radius:999px;background:#c9ed66;font-size:16px;font-weight:800}
.text-col p{margin-bottom:18px}
.quote-box{margin-top:28px;padding:28px 28px;border-left:4px solid var(--violet);background:#f8f7fa;border-radius:0 16px 16px 0;font:700 24px/1.55 Georgia,serif;color:#3f434a}

/* expert */
.expert-wrap{padding:12px 0 78px}
.expert-card{display:grid;grid-template-columns:92px 1fr;gap:24px;align-items:center;padding:34px 40px;border:1px solid #ebe7f4;border-left:4px solid var(--violet);border-radius:20px;box-shadow:0 8px 18px rgba(0,0,0,.035);background:#fff}
.avatar,.review-avatar{border-radius:50%;display:grid;place-items:center;font-weight:900}
.avatar{width:92px;height:92px;background:linear-gradient(145deg,#d6dde3,#8c98a5);color:#fff;font-size:25px}
.expert-card p{margin:0 0 10px;font-size:22px;line-height:1.58;color:#555b64}
.expert-card b,.expert-card small{display:block}
.expert-card b{font-size:22px}.expert-card small{font-size:16px;color:#8a8e95;margin-top:3px}

/* info cards */
.cards-grid{display:grid;gap:28px}
.cards-3{grid-template-columns:repeat(3,1fr)}
.cards-2{grid-template-columns:repeat(2,1fr)}
.cards-4{grid-template-columns:repeat(4,1fr)}
.info-card,.guarantee-card,.spec-card,.team-card{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 8px 18px rgba(0,0,0,.03)}
.info-card{padding:40px 34px 34px;min-height:350px}
.icon-box{width:86px;height:86px;border-radius:20px;display:grid;place-items:center;background:#f2eff7;color:var(--violet);font-size:38px;margin-bottom:26px}
.info-card h3,.guarantee-card h3,.spec-card h3,.team-card h3{font:700 28px/1.2 Georgia,serif;margin:0 0 16px}
.info-card p,.guarantee-card p,.spec-card p,.team-card p{font-size:22px;line-height:1.55;color:#5f646d;margin:0}

/* calculator */
.calc-card{background:#f7f7f8;border:1px solid #ececef;border-radius:28px;padding:52px 50px 46px}
.calc-card h2{text-align:center;margin-bottom:34px;font-size:58px}
.calc-form{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:28px;align-items:end}
.calc-form label span{display:block;font-size:20px;font-weight:700;margin:0 0 10px}
.calc-form input,.calc-form select{height:76px;border:1px solid #dddfe4;padding:0 22px;font-size:20px;background:#fff}
.calc-form button{height:76px;font-size:22px}

/* timeline */
.steps-section{overflow:hidden}
.timeline{position:relative;display:grid;gap:34px;padding-top:20px}
.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:#e7e6eb;transform:translateX(-50%)}
.timeline-card{position:relative;width:calc(50% - 64px);padding:42px 38px 32px;background:#f7f7f8;border:1px solid #ececef;border-radius:28px;min-height:370px}
.timeline-card.left{justify-self:start}
.timeline-card.right{justify-self:end}
.timeline-num{position:absolute;top:14px;width:66px;height:66px;border:3px solid var(--violet);background:#fff;border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--violet);font-size:28px}
.timeline-card.left .timeline-num{right:-98px}
.timeline-card.right .timeline-num{left:-98px}
.timeline-card h3{font:700 28px/1.2 Georgia,serif;margin:0 0 14px;max-width:360px}
.timeline-card em{display:inline-block;padding:10px 22px;border-radius:999px;background:#f2d25d;font-style:normal;font-weight:800;margin-bottom:18px;font-size:18px}
.timeline-card ul{margin:0;padding:0;list-style:none;display:grid;gap:16px}
.timeline-card li{position:relative;padding-left:26px;font-size:20px;line-height:1.55;color:#555b64}
.timeline-card li:before{content:"";position:absolute;left:0;top:11px;width:12px;height:12px;border-radius:50%;background:#f86a2f}

/* note */
.note-box{position:relative;padding:36px 42px;border:1px solid #e9e6db;border-left:4px solid var(--gold);background:#f7f7f8;border-radius:22px}
.note-tag{position:absolute;top:-18px;left:24px;padding:12px 22px;border-radius:999px;background:#f0cf5b;font-weight:800;font-size:18px}
.note-box p{margin:0;font-size:22px;line-height:1.6;color:#555b64}

/* compare */
.compare-table{border:1px solid var(--line);border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 8px 18px rgba(0,0,0,.03)}
.compare-row{display:grid;grid-template-columns:1.2fr 1fr 1fr}
.compare-row>div{padding:28px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:20px;line-height:1.55}
.compare-row>div:last-child{border-right:0}
.compare-row:last-child>div{border-bottom:0}
.compare-head>div{font:700 22px/1.35 Georgia,serif;background:#fafafc}
.accent-head{background:linear-gradient(145deg,var(--violet),var(--violet2)) !important;color:#fff !important}
.bad{color:#7d3b43}.good{color:#30343a;font-weight:700}

/* guarantees */
.guarantee-card{padding:38px 34px;min-height:320px}

/* directions */
.chips{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-bottom:30px}
.chip{border:0;background:#f0f0f2;color:#2d3036;padding:18px 28px;border-radius:999px;font-size:18px;cursor:pointer}
.chip.active{background:linear-gradient(145deg,var(--violet),var(--violet2));color:#fff;box-shadow:0 10px 20px rgba(117,57,246,.18)}
.spec-card{text-align:center;padding:36px 26px;min-height:250px}
.spec-icon{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;margin:0 auto 22px;background:#f2eff7;color:var(--violet);font-size:34px}
.catalog-text{text-align:center;margin:28px 0 24px;color:#7a7f88}
.purple-btn,.gold-btn{display:inline-flex;align-items:center;justify-content:center;padding:18px 30px;border-radius:18px;font-weight:800}
.purple-btn{background:linear-gradient(145deg,var(--violet),var(--violet2));color:#fff;box-shadow:0 12px 24px rgba(117,57,246,.18)}
.purple-btn.large{padding:22px 42px;font-size:20px}

/* CTA */
.cta-banner{display:grid;grid-template-columns:1.15fr .75fr;gap:50px;align-items:center;padding:58px 70px;border-radius:30px;color:#fff;background:radial-gradient(circle at 85% 22%,rgba(255,255,255,.10),transparent 18%),linear-gradient(135deg,var(--violet2),var(--violet));box-shadow:0 18px 38px rgba(117,57,246,.16)}
.cta-banner h2{font:700 62px/1.14 Georgia,serif;margin:0 0 18px;letter-spacing:-1px}
.cta-banner p{margin:0;font-size:22px;line-height:1.55;color:#eee6ff}
.gold-btn{min-height:120px;background:#efcf62;color:#1e1b13;font-size:30px;text-align:center;box-shadow:none}

/* benefits */
.portrait-card{position:relative;height:660px;border-radius:28px;overflow:hidden;background:linear-gradient(180deg,#d3e7ff 0%,#b9d7f4 28%,#d7dadd 28% 100%);box-shadow:var(--shadow)}
.portrait-skyline{position:absolute;left:0;right:0;top:80px;height:220px;background:linear-gradient(90deg,#96b9df 0 8%,transparent 8% 14%,#9bc0e7 14% 21%,transparent 21% 28%,#6a8dbd 28% 35%,transparent 35% 43%,#efb67d 43% 48%,transparent 48% 53%,#9fc2ea 53% 60%,transparent 60% 68%,#7fa4d0 68% 76%,transparent 76% 100%);opacity:.9}
.portrait-person{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:290px;height:540px;background:linear-gradient(180deg,#1a4a7c 0%,#0d2443 58%,#18243a 100%);clip-path:ellipse(34% 46% at 50% 48%)}
.portrait-person:before{content:"";position:absolute;left:50%;top:60px;transform:translateX(-50%);width:112px;height:126px;background:#efc2a6;border-radius:44% 44% 46% 46%/48% 48% 42% 42%}
.portrait-doc{position:absolute;left:50%;bottom:110px;transform:translateX(-50%);width:142px;height:180px;background:#17345a;border-radius:8px;box-shadow:0 12px 20px rgba(11,24,47,.28)}
.portrait-doc:after{content:"ДИПЛОМ";position:absolute;left:26px;bottom:18px;color:#dcb76c;font:700 34px/1 Georgia,serif}
.benefit-list{display:grid;gap:32px}
.benefit-list article{display:grid;grid-template-columns:88px 1fr;gap:26px;align-items:start}
.icon-box.violet{background:linear-gradient(145deg,var(--violet),var(--violet2));color:#fff}
.benefit-list h3{font:700 28px/1.2 Georgia,serif;margin:0 0 10px}
.benefit-list p{margin:0;font-size:22px;line-height:1.55;color:#5e636c}

/* faq */
.faq-wrap{max-width:1020px}
.big-faq details{padding:22px 28px;border:1px solid var(--line);border-radius:18px;background:#fff;margin-bottom:18px}
.big-faq summary{cursor:pointer;list-style:none;font-size:22px;font-weight:700}
.big-faq summary::-webkit-details-marker{display:none}
.big-faq summary:after{content:"⌄";float:right;color:var(--violet);font-size:24px}
.big-faq details[open] summary:after{content:"⌃"}
.big-faq p{font-size:20px;line-height:1.6;color:#666b74;margin:16px 0 0}

/* reviews */
.reviews-large{grid-template-columns:repeat(3,1fr)}
.reviews article{padding:32px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 8px 18px rgba(0,0,0,.03)}
.review-head{display:grid;grid-template-columns:74px 1fr;gap:18px;align-items:center;margin-bottom:18px}
.review-avatar{width:74px;height:74px;background:linear-gradient(145deg,#d6dde3,#9ca7b2);color:#fff;font-size:26px}
.review-avatar.soft{background:linear-gradient(145deg,#d8dee5,#b7c0c9)}
.review-head b{display:block;font-size:22px;margin-bottom:4px}
.review-head small{font-size:18px;color:#81858d}
.stars{font-size:28px;color:#f1cb54;letter-spacing:8px;margin:10px 0 18px}
.reviews p{font-size:21px;line-height:1.65;color:#5f646d;margin:0}

/* team */
.team-grid{align-items:start}
.team-card{text-align:center;padding-bottom:20px;border:0;box-shadow:none;background:transparent}
.team-photo{height:420px;border-radius:22px;background:linear-gradient(180deg,#d4dadf 0%,#eceff1 20%,#3c4d67 20% 100%);margin-bottom:24px;position:relative;overflow:hidden}
.team-photo:before{content:"";position:absolute;left:50%;top:72px;transform:translateX(-50%);width:118px;height:136px;background:#efc6ab;border-radius:44% 44% 46% 46%/48% 48% 42% 42%}
.team-photo:after{content:"";position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);width:230px;height:270px;background:linear-gradient(180deg,#234068,#0e1d33);border-radius:46% 46% 12% 12%/28% 28% 6% 6%}
.team-photo.alt{background:linear-gradient(180deg,#d8dee5 0%,#edf0f2 24%,#42536d 24% 100%)}
.team-photo.third{background:linear-gradient(180deg,#ddd8d4 0%,#f4f0eb 24%,#32455f 24% 100%)}
.team-photo.fourth{background:linear-gradient(180deg,#e3e5e8 0%,#f2f4f6 24%,#425b82 24% 100%)}
.team-card span{display:block;font-size:18px;color:#8a8e95;margin-bottom:12px}
.team-card h3{font-size:30px;margin-bottom:16px}
.team-card p{font-size:20px;line-height:1.6}

/* contact */
.contact-section{padding:96px 0;background:radial-gradient(circle at 82% 26%,rgba(139,81,255,.18),transparent 24%),#181323;color:#fff}
.contact-grid{display:grid;grid-template-columns:.88fr 1fr;gap:74px;align-items:start}
.eyebrow{font-size:16px;letter-spacing:1.8px;font-weight:900;color:var(--violet)}
.eyebrow.light{color:#baa3ff}
.contact-section h2{max-width:680px;color:#fff;font-size:64px}
.contact-grid>div>p{font-size:22px;color:#c3bdcf}
.contact-list{display:grid;gap:16px;margin-top:32px}
.contact-list>div{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:center}
.contact-list>div>span{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:#2b2341;font-size:24px}
.contact-list p{margin:0}.contact-list b,.contact-list small{display:block}
.contact-list b{font-size:18px}.contact-list small{font-size:16px;color:#a9a4b6;margin-top:4px}
.contact-form{padding:36px;background:#fff;border-radius:26px;color:#111;box-shadow:0 20px 42px rgba(0,0,0,.18)}
.contact-form h3{font:700 32px Georgia,serif;margin:0 0 18px}
.contact-form input,.contact-form select,.contact-form textarea{border:1px solid #d9d9df;padding:18px 18px;margin-bottom:12px;font-size:18px;background:#fff}
.contact-form textarea{min-height:130px;resize:vertical}
.contact-form button{height:68px;font-size:20px}
.contact-form small{display:block;margin-top:10px;color:#8b8d94;font-size:13px;line-height:1.5}

/* footer */
.footer{padding:44px 0 0;background:#0f0d14;color:#fff}
.footer-grid{display:grid;gap:34px;padding-bottom:34px}
.footer-4{grid-template-columns:1.35fr 1fr 1fr 1fr}
.footer-logo{margin-bottom:14px}
.footer p{font-size:16px;line-height:1.6;color:#8b8694;max-width:330px}
.footer h4{margin:0 0 14px;font-size:18px;color:#d0c6e4}
.footer a,.footer span{display:block;color:#8c8894;font-size:16px;margin:8px 0}
.footer a:hover{color:#fff}
.footer-bottom{min-height:56px;border-top:1px solid #211d2c;display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#696471}
.telegram-float{position:fixed;right:28px;bottom:28px;z-index:40;width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--violet),var(--violet2));color:#fff;box-shadow:0 14px 28px rgba(117,57,246,.28);font-size:35px}

/* modal */
.modal{position:fixed;inset:0;z-index:200;background:rgba(10,8,16,.55);display:none;place-items:center;padding:20px}.modal.show{display:grid}
.modal-card{position:relative;width:min(420px,100%);padding:30px;background:#fff;border-radius:20px;text-align:center}.modal-card b{font:700 26px Georgia,serif}.modal-card p{font-size:18px;line-height:1.5;color:#777b82}.modal-close{position:absolute;right:10px;top:8px;border:0;background:none;font-size:26px;cursor:pointer}

/* mobile */
@media (max-width: 1200px){
  .wrap{width:min(100% - 42px,1200px)}
  .header-in{min-height:84px;gap:18px}
  .logo b{font-size:24px}.logo small{font-size:11px}
  .logo-mark{width:48px;height:48px;font-size:20px}
  .nav{gap:18px}.nav>a{font-size:14px}.nav-phone{font-size:15px !important}
  .header-cta{padding:18px 22px;font-size:16px}
  .hero-in{grid-template-columns:1fr;gap:34px;min-height:auto;padding:56px 0 62px}
  .hero h1{font-size:58px;max-width:none}
  .hero-copy>p,.hero-list li,.wide-head p,.text-col p,.benefit-list p,.reviews p,.info-card p,.guarantee-card p,.spec-card p,.team-card p,.stat-card p,.contact-grid>div>p{font-size:18px}
  .lead-card{margin-top:0}
  .wide-head h2,.text-col h2,.calc-card h2,.benefit-copy h2,.contact-section h2{font-size:48px}
  .two-col,.contact-grid,.cta-banner,.calc-form{grid-template-columns:1fr}
  .cards-3,.cards-4,.cards-2,.reviews-large{grid-template-columns:1fr 1fr}
  .timeline-line{left:22px;transform:none}
  .timeline-card{width:calc(100% - 56px);justify-self:end !important}
  .timeline-card.left .timeline-num,.timeline-card.right .timeline-num{left:-52px;right:auto}
}
@media (max-width: 800px){
  .wrap{width:min(100% - 28px,760px)}
  .header-in{min-height:72px}
  .nav{display:none;position:absolute;top:72px;left:14px;right:14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);grid-template-columns:1fr;gap:10px}
  .site-header.open .nav{display:grid}
  .menu-btn{display:block}
  .header-cta{display:none}
  .nav-phone{margin-top:6px;padding-top:10px;border-top:1px solid var(--line)}
  .logo b{font-size:20px}.logo small{font-size:10px}.logo-mark{width:42px;height:42px;font-size:18px}
  .hero h1{font-size:40px}
  .hero-copy>p,.hero-list li,.wide-head p,.text-col p,.benefit-list p,.reviews p,.info-card p,.guarantee-card p,.spec-card p,.team-card p,.stat-card p,.contact-grid>div>p,.big-faq p,.compare-row>div,.note-box p{font-size:16px}
  .lead-card{padding:28px 22px;border-radius:20px}.lead-card h3{font-size:24px}.lead-card>p{font-size:14px}.lead-card input{height:58px;font-size:16px}.lead-card button{height:56px;font-size:18px}
  .stat-card{grid-template-columns:1fr;gap:14px}.stat-card strong{border-right:0;border-bottom:1px solid #eceaea;padding-right:0;padding-bottom:10px}
  .section{padding:58px 0}.compact-pad{padding:26px 0}
  .wide-head h2,.text-col h2,.calc-card h2,.benefit-copy h2,.contact-section h2{font-size:34px}
  .two-col,.contact-grid{gap:34px}
  .photo-card,.portrait-card{height:380px}
  .scene-person{width:190px;height:380px}.scene-book{width:160px;height:94px}.scene-book:after{font-size:34px}.scene-paper{left:150px;bottom:46px;width:180px;height:120px}.photo-doc:before{left:28px;top:34px;width:145px;height:105px;border-width:12px}.photo-badge{font-size:12px;padding:11px 16px}
  .quote-box{font-size:18px;padding:20px}
  .expert-card{grid-template-columns:68px 1fr;padding:22px}.avatar{width:68px;height:68px;font-size:18px}.expert-card p{font-size:16px}.expert-card b{font-size:17px}.expert-card small{font-size:13px}
  .cards-3,.cards-4,.cards-2,.reviews-large,.footer-4{grid-template-columns:1fr}
  .info-card,.guarantee-card,.spec-card{padding:28px 22px;min-height:auto}
  .icon-box{width:64px;height:64px;border-radius:16px;font-size:28px;margin-bottom:18px}
  .info-card h3,.guarantee-card h3,.spec-card h3,.team-card h3,.timeline-card h3,.benefit-list h3{font-size:24px}
  .calc-card{padding:24px 20px}.calc-form{gap:16px}.calc-form label span{font-size:16px}.calc-form input,.calc-form select,.calc-form button{height:56px;font-size:16px}
  .timeline-card{width:calc(100% - 46px);padding:26px 22px 22px;border-radius:20px;min-height:auto}.timeline-num{width:46px;height:46px;font-size:20px;left:-38px !important;top:20px}.timeline-card em{font-size:14px;padding:8px 14px}.timeline-card li{font-size:16px}
  .note-tag{position:static;display:inline-block;margin-bottom:14px;font-size:14px;padding:9px 14px}.note-box{padding:22px 20px}
  .compare-table{overflow:auto}.compare-row{min-width:860px}
  .chips{gap:10px}.chip{padding:13px 18px;font-size:15px}
  .purple-btn.large,.gold-btn{font-size:16px;padding:16px 22px;min-height:auto}.cta-banner{padding:30px 22px;gap:20px}.cta-banner h2{font-size:34px}.cta-banner p{font-size:16px}
  .benefit-list article{grid-template-columns:64px 1fr;gap:16px}.benefit-list .icon-box{margin-bottom:0}
  .review-head{grid-template-columns:58px 1fr}.review-avatar{width:58px;height:58px;font-size:20px}.review-head b{font-size:18px}.review-head small{font-size:14px}.stars{font-size:22px;letter-spacing:5px}
  .team-photo{height:280px}.team-card span{font-size:14px}.team-card h3{font-size:22px}.team-card p{font-size:16px}
  .contact-section{padding:60px 0}.contact-form{padding:24px}.contact-form h3{font-size:24px}.contact-form input,.contact-form select,.contact-form textarea{padding:14px;font-size:16px}.contact-form button{height:56px;font-size:18px}.contact-list>div{grid-template-columns:44px 1fr}.contact-list>div>span{width:44px;height:44px;border-radius:12px;font-size:20px}.contact-list b{font-size:16px}.contact-list small{font-size:14px}
  .footer{padding-top:30px}.footer p,.footer a,.footer span{font-size:14px}.footer h4{font-size:16px}.footer-bottom{padding:12px 0;gap:10px;align-items:flex-start;flex-direction:column}
  .telegram-float{right:16px;bottom:16px;width:62px;height:62px;font-size:28px}
}


/* =========================================================
   RECOLOR + SMALLER HEADINGS
   ========================================================= */
:root{
  --violet:#0f766e;
  --violet2:#14b8a6;
  --gold:#f2b84b;
  --ink:#17202a;
  --muted:#6b747c;
  --line:#dde6e5;
  --pale:#f3f8f7;
  --paper:#ffffff;
  --shadow:0 18px 40px rgba(20,68,65,.08);
}

/* Main accents */
.logo-mark,
.header-cta,
.lead-card button,
.contact-form button,
.calc-form button,
.purple-btn,
.telegram-float,
.icon-box.violet,
.chip.active{
  background:linear-gradient(145deg,#0f766e,#14b8a6) !important;
}

.header-cta,
.purple-btn,
.telegram-float{
  box-shadow:0 14px 28px rgba(15,118,110,.18) !important;
}

.nav>a:hover,
.eyebrow,
.timeline-num,
.direction-list i{
  color:#0f766e !important;
}

.hero-list li:before,
.spec-icon,
.icon-box{
  background:#e6f5f2 !important;
  color:#0f766e !important;
}

.lead-top{
  background:linear-gradient(90deg,#0f766e,#14b8a6) !important;
}

.photo-badge{
  background:#d9ef8f !important;
}

.accent-head{
  background:linear-gradient(145deg,#0f766e,#14b8a6) !important;
}

.contact-section{
  background:
    radial-gradient(circle at 82% 26%,rgba(20,184,166,.14),transparent 24%),
    #102a2c !important;
}

.cta-banner{
  background:
    radial-gradient(circle at 85% 22%,rgba(255,255,255,.10),transparent 18%),
    linear-gradient(135deg,#14b8a6,#0f766e) !important;
  box-shadow:0 18px 38px rgba(15,118,110,.16) !important;
}

.gold-btn{
  background:#f2c35c !important;
}

.site-header{
  border-bottom-color:#e6eeed !important;
}

.pale{
  background:#f4f8f7 !important;
}

.info-card,
.guarantee-card,
.spec-card,
.calc-card,
.timeline-card,
.big-faq details,
.reviews article,
.compare-table{
  border-color:#dfe9e7 !important;
}

/* Smaller headings */
.hero h1{
  font-size:60px !important;
  line-height:1.08 !important;
  max-width:800px !important;
}

.wide-head h2,
.text-col h2,
.calc-card h2,
.benefit-copy h2,
.contact-section h2{
  font-size:50px !important;
  line-height:1.14 !important;
  letter-spacing:-.6px !important;
}

.cta-banner h2{
  font-size:44px !important;
  line-height:1.16 !important;
}

.lead-card h3{
  font-size:27px !important;
}

.info-card h3,
.guarantee-card h3,
.spec-card h3,
.team-card h3,
.timeline-card h3,
.benefit-list h3{
  font-size:24px !important;
}

.contact-form h3{
  font-size:28px !important;
}

.logo b{
  font-size:28px !important;
}

/* Slightly tighter vertical spacing to match smaller type */
.section{
  padding-top:72px !important;
  padding-bottom:72px !important;
}

.section-head{
  margin-bottom:32px !important;
}

.hero-in{
  min-height:680px !important;
  padding-top:72px !important;
  padding-bottom:78px !important;
}

@media (max-width:1200px){
  .hero h1{
    font-size:48px !important;
  }

  .wide-head h2,
  .text-col h2,
  .calc-card h2,
  .benefit-copy h2,
  .contact-section h2{
    font-size:40px !important;
  }

  .cta-banner h2{
    font-size:36px !important;
  }
}

@media (max-width:800px){
  .hero h1{
    font-size:34px !important;
  }

  .wide-head h2,
  .text-col h2,
  .calc-card h2,
  .benefit-copy h2,
  .contact-section h2{
    font-size:30px !important;
  }

  .cta-banner h2{
    font-size:28px !important;
  }

  .logo b{
    font-size:19px !important;
  }

  .section{
    padding-top:52px !important;
    padding-bottom:52px !important;
  }
}
