@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--blue:#0b67d1;--cyan:#13b8c7;--navy:#062b63;--ink:#071a34;--muted:#61718a;--bg:#f6fbff;--line:#dfeaf5;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}.container{width:min(1160px,calc(100% - 40px));margin:auto}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.93);backdrop-filter:blur(16px);border-bottom:1px solid rgba(223,234,245,.8)}.nav{height:82px;display:flex;align-items:center;gap:30px}.brand{display:block;width:190px}.brand img{width:100%;height:auto;display:block}.nav-links{display:flex;gap:28px;margin-left:auto;color:#53647d;font-weight:600;font-size:14px}.nav-links a:hover{color:var(--blue)}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font-weight:700;transition:.2s ease}.nav-cta{background:var(--blue);color:#fff;padding:13px 18px;font-size:14px}.nav-cta:hover,.button.primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(11,103,209,.2)}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f8fcff 0%,#edf8ff 55%,#f8ffff 100%);padding:90px 0 110px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;position:relative;z-index:1}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:800;color:var(--blue);margin-bottom:15px}.hero h1{font-size:clamp(44px,6vw,76px);line-height:1.02;letter-spacing:-.055em;margin:0 0 24px;color:var(--navy)}.hero h1 span{color:var(--cyan)}.hero-text{max-width:590px;font-size:18px;line-height:1.7;color:var(--muted)}.hero-actions{display:flex;gap:12px;margin:32px 0 25px;flex-wrap:wrap}.button{padding:15px 22px}.button.primary{background:var(--blue);color:#fff}.button.secondary{border:1px solid #c8dced;background:#fff;color:var(--navy)}.button.white{background:#fff;color:var(--blue)}.company-mini{display:flex;gap:24px;color:#6b7c94;font-size:12px;font-weight:600}.hero-card{min-height:410px;border-radius:34px;background:linear-gradient(145deg,#062b63,#0c72d9 62%,#16b7c6);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:0 35px 70px rgba(6,43,99,.2)}.hero-card img{width:75%;filter:drop-shadow(0 15px 25px rgba(0,0,0,.15));position:relative;z-index:2}.card-ring{position:absolute;width:410px;height:410px;border:1px solid rgba(255,255,255,.18);border-radius:50%}.hero-card-line{position:absolute;bottom:42px;left:12%;right:12%;height:1px;background:rgba(255,255,255,.25)}.hero-card strong{position:absolute;bottom:20px;color:#fff;letter-spacing:.28em;font-size:10px}.hero-glow{position:absolute;border-radius:50%;filter:blur(2px);opacity:.5}.glow-one{width:260px;height:260px;background:#a9f5ff;top:-120px;right:10%}.glow-two{width:200px;height:200px;background:#8eb9ff;bottom:-100px;left:-80px}.section{padding:100px 0}.section-soft{background:var(--bg)}.two-col{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.section h2{font-size:clamp(32px,4vw,48px);letter-spacing:-.04em;margin:0;color:var(--navy)}.text-block{font-size:17px;line-height:1.8;color:var(--muted)}.facts{display:grid;gap:18px;margin-top:28px}.facts div{padding:18px 20px;border:1px solid var(--line);border-radius:15px;background:#fff}.facts span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#8494aa;margin-bottom:7px}.facts strong{font-size:15px;color:var(--ink)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-heading p{max-width:450px;margin:0;color:var(--muted);line-height:1.6;font-size:14px}.text-link{color:var(--blue);font-weight:700}.manager-list{border-top:1px solid var(--line)}.manager-row{display:grid;grid-template-columns:80px 1fr 260px;align-items:center;gap:20px;padding:23px 0;border-bottom:1px solid var(--line)}.manager-index{font-size:12px;color:#8a9bb0;font-weight:700}.manager-name strong{font-size:19px}.manager-phone{color:var(--blue);font-weight:700;text-align:right}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:24px;box-shadow:0 12px 30px rgba(6,43,99,.05)}.review-card p{line-height:1.65;color:#53647d;margin:13px 0 20px}.review-card strong{font-size:14px}.stars{color:#f0b62d;letter-spacing:2px}.empty{padding:25px;border:1px dashed #cddbe9;border-radius:15px;color:#71829a;background:#fff}.contact-strip{background:linear-gradient(120deg,var(--navy),#0c72d9);color:#fff;padding:70px 0}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-inner .eyebrow{color:#8eeaf1}.contact-inner h2{color:#fff;margin-bottom:8px}.contact-inner p{color:#c9dcf4;margin:0}.footer{background:#061a36;color:#aebdd0;padding:28px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.footer img{width:145px;filter:brightness(0) invert(1)}.footer-links{display:flex;gap:18px}.footer-links a:hover{color:#fff}.contact-hero{background:linear-gradient(135deg,#f1f9ff,#e7f8ff);padding:70px 0}.contact-hero h1{font-size:clamp(42px,6vw,66px);margin:0 0 12px;color:var(--navy);letter-spacing:-.05em}.contact-hero p{color:var(--muted);max-width:620px;line-height:1.7}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}.profile-card{border:1px solid var(--line);border-radius:26px;padding:28px;background:#fff;box-shadow:0 20px 50px rgba(6,43,99,.07)}.manager-photo{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;margin-bottom:25px}.manager-photo.placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#062b63,#14b8c7);color:#fff;font-size:40px;font-weight:800}.profile-card h2{font-size:34px;margin:0 0 10px}.profile-desc{color:var(--muted);line-height:1.7}.contact-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.contact-button{border:1px solid #cbddec;border-radius:10px;padding:11px 14px;font-size:13px;font-weight:700;color:var(--navy)}.contact-button:hover{border-color:var(--blue);color:var(--blue)}.reviews-stack{display:grid;gap:14px;margin:22px 0}.wide{width:100%}@media(max-width:850px){.nav-links{display:none}.nav{height:72px}.hero{padding:60px 0 75px}.hero-grid,.two-col,.contact-grid{grid-template-columns:1fr;gap:40px}.hero-card{min-height:300px}.section{padding:70px 0}.reviews-grid{grid-template-columns:1fr}.section-heading,.contact-inner,.footer-inner{align-items:flex-start;flex-direction:column}.manager-row{grid-template-columns:45px 1fr}.manager-phone{text-align:left;grid-column:2}.footer-links{flex-wrap:wrap}}
@media(max-width:520px){.container{width:min(100% - 28px,1160px)}.brand{width:155px}.nav-cta{font-size:12px;padding:11px 13px}.hero h1{font-size:44px}.hero-card{min-height:245px;border-radius:24px}.hero-card img{width:82%}.company-mini{flex-direction:column;gap:7px}.button{width:100%}.hero-actions{width:100%}.contact-buttons .contact-button{flex:1;text-align:center}}

.about-large{max-width:1000px}.about-large h2{margin-bottom:28px}.about-copy{font-size:18px;line-height:1.9;color:#53647d}.about-copy p{margin:0 0 22px}.about-copy strong{color:var(--navy)}.contact-side{padding-top:10px}.contact-side h2{margin-bottom:14px}.contact-side .button{margin-top:12px}

.manager-review-list{display:grid;gap:14px;margin:22px 0 28px}
.review-form-card{margin-top:28px;padding:24px;border:1px solid var(--line);border-radius:20px;background:#f8fcff}
.review-form-card h3{margin:0 0 18px;color:var(--navy);font-size:23px}
.manager-review-form{display:grid;gap:12px}
.form-row-public{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.public-field{width:100%;padding:13px 14px;border:1px solid #cbddec;border-radius:10px;background:#fff;font:inherit;color:var(--ink);outline:none}
.public-field:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,103,209,.08)}
.form-success,.form-error{padding:13px 15px;border-radius:10px;margin-bottom:14px;font-size:14px;line-height:1.5}
.form-success{background:#e9f8f0;color:#18784b}.form-error{background:#fff0f0;color:#a73535}
.hp-field{position:absolute;left:-9999px;opacity:0;pointer-events:none}
.external-reviews-box{margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}
@media(max-width:650px){.form-row-public{grid-template-columns:1fr}}

/* Отдельные цвета мессенджеров */
.contact-buttons .whatsapp-button,
.contact-buttons .telegram-button{color:#fff;border:0}
.contact-buttons .whatsapp-button{background:#25D366}
.contact-buttons .whatsapp-button:hover{background:#1fb95a}
.contact-buttons .telegram-button{background:#229ED9;color:#fff;border:0}
.contact-buttons .telegram-button:hover{background:#168ac2}

/* Модальное окно отзыва */
body.modal-open{overflow:hidden}
.review-open-btn{min-width:190px}
.review-modal{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;padding:20px}
.review-modal.is-open{display:flex}
.review-modal-backdrop{position:absolute;inset:0;background:rgba(4,25,52,.62);backdrop-filter:blur(3px)}
.review-modal-dialog{position:relative;z-index:2;width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;padding:30px;box-shadow:0 25px 80px rgba(0,0,0,.25);animation:reviewModalIn .18s ease-out}
.review-modal-close{position:absolute;right:14px;top:10px;width:40px;height:40px;border:0;border-radius:50%;background:#eef5fb;color:#173b61;font-size:28px;line-height:1;cursor:pointer}
.review-modal-close:hover{background:#dceaf7}
.review-modal-dialog h3{margin:4px 45px 20px 0;color:var(--navy);font-size:25px}
.review-modal-dialog .manager-review-form{gap:13px}
@keyframes reviewModalIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:600px){
  .review-modal{padding:10px}
  .review-modal-dialog{padding:24px 18px;border-radius:18px;max-height:94vh}
}

.info-section{padding-top:88px;padding-bottom:88px}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}.info-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px;box-shadow:0 12px 35px rgba(6,43,99,.05)}.info-number{font-size:13px;font-weight:800;color:var(--blue);letter-spacing:.12em;margin-bottom:24px}.info-card h3{margin:0 0 10px;color:var(--navy);font-size:20px}.info-card p{margin:0;color:#60748a;line-height:1.7}.two-column-info{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:start}.two-column-info h2,.faq-section h2{margin:6px 0 18px}.two-column-info p{color:#5d7187;line-height:1.8;font-size:16px}.detail-panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:10px}.detail-item{padding:19px 20px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:7px}.detail-item:last-child{border-bottom:0}.detail-item span{font-size:12px;color:#7b8da0;text-transform:uppercase;letter-spacing:.08em}.detail-item strong{color:var(--navy);line-height:1.45}.faq-section{max-width:900px}.faq-list{margin-top:28px;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:18px 0}.faq-list summary{cursor:pointer;font-weight:700;color:var(--navy);font-size:17px;list-style:none;position:relative;padding-right:35px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:4px;top:-2px;font-size:25px;color:var(--blue)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{margin:12px 0 2px;color:#64788d;line-height:1.7;max-width:800px}@media(max-width:900px){.info-grid{grid-template-columns:1fr 1fr}.two-column-info{grid-template-columns:1fr;gap:30px}}@media(max-width:600px){.info-grid{grid-template-columns:1fr}.info-section{padding-top:60px;padding-bottom:60px}}

/* Дополнительные информационные блоки главной страницы */
.process-section{padding-top:88px;padding-bottom:88px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}.process-card{padding:28px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#fff,#f8fcff);min-height:235px}.process-card span{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#eaf4ff;color:var(--blue);font-size:13px;font-weight:800;margin-bottom:22px}.process-card h3{margin:0 0 10px;color:var(--navy);font-size:19px}.process-card p{margin:0;color:#60748a;line-height:1.72;font-size:15px}.visitor-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.visitor-grid h2,.principles-header h2,.questions-grid h2{margin:6px 0 18px}.visitor-grid p{color:#5d7187;line-height:1.82;font-size:16px}.visitor-list{display:grid;gap:12px}.visitor-item{display:flex;gap:15px;align-items:flex-start;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.visitor-icon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#e9f8f0;color:#1c8a56;display:flex;align-items:center;justify-content:center;font-weight:800}.visitor-item strong{display:block;color:var(--navy);margin-bottom:4px}.visitor-item span{display:block;color:#718399;font-size:14px;line-height:1.5}.principles-header{display:flex;justify-content:space-between;gap:50px;align-items:flex-end}.principles-header>p{max-width:500px;margin:0;color:#60748a;line-height:1.75}.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.principles-grid>div{padding:28px;border-top:3px solid #dbeaf8;background:#f8fcff;border-radius:4px 4px 18px 18px}.principles-grid h3{margin:0 0 10px;color:var(--navy)}.principles-grid p{margin:0;color:#61758b;line-height:1.7}.questions-section{padding-top:80px;padding-bottom:90px}.questions-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.questions-grid>div:first-child p{color:#60748a;line-height:1.8}.question-box{border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 14px 40px rgba(6,43,99,.05);overflow:hidden}.question-box>div{padding:20px 24px;border-bottom:1px solid var(--line)}.question-box>div:last-child{border-bottom:0}.question-box strong{display:block;color:var(--navy);margin-bottom:5px}.question-box span{color:#718399;line-height:1.55;font-size:14px}@media(max-width:950px){.process-grid{grid-template-columns:1fr 1fr}.visitor-grid,.questions-grid{grid-template-columns:1fr;gap:35px}.principles-header{display:block}.principles-header>p{margin-top:15px}.principles-grid{grid-template-columns:1fr}}@media(max-width:600px){.process-grid{grid-template-columns:1fr}.process-section{padding-top:60px;padding-bottom:60px}.visitor-grid{gap:25px}.questions-section{padding-top:60px;padding-bottom:60px}}

.company-register-button{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:-4px;padding:15px 18px;border:1px solid #cfe0f5;border-radius:12px;background:#f7fbff;color:#0b4f91;text-decoration:none;font-weight:700;transition:.2s ease}
.company-register-button:hover{background:#edf6ff;border-color:#a9c9eb;transform:translateY(-1px)}
.company-register-button span{font-size:18px;line-height:1}

/* Mobile: open the Contact page directly on the manager card */
@media(max-width:600px){
  .contact-page .contact-hero{display:none}
  .contact-page .section{padding-top:16px;padding-bottom:60px}
  .contact-page .contact-grid{gap:42px}
  .contact-page .profile-card{padding:28px;border-radius:26px}
  .contact-page .manager-photo{margin-bottom:25px;border-radius:18px}
  .contact-page .profile-card h2{font-size:34px;line-height:1.05;margin-bottom:12px}
  .contact-page .contact-buttons{gap:10px}
  .contact-page .contact-button{min-height:72px;display:flex;align-items:center;justify-content:center;padding:11px 10px}
  .contact-page .contact-side{padding-top:0}
}

.about-register-button{margin-top:0;background:#f7fbff}

/* ===== CVUK reference-style opening ===== */
.reference-hero{
  position:relative;
  min-height:430px;
  overflow:hidden;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 12% 20%, rgba(255,255,255,.16) 0 3%, transparent 3.5%),
    radial-gradient(circle at 72% 65%, rgba(255,255,255,.13) 0 4%, transparent 4.5%),
    linear-gradient(135deg,#063d8f 0%,#0875cf 48%,#11b7c7 100%);
}
.reference-pattern{
  position:absolute; inset:-80px;
  opacity:.33;
  background-image:
    radial-gradient(circle at 8% 22%, transparent 0 27px, rgba(255,255,255,.18) 28px 29px, transparent 30px),
    radial-gradient(circle at 28% 70%, transparent 0 36px, rgba(255,255,255,.15) 37px 38px, transparent 39px),
    radial-gradient(circle at 54% 25%, transparent 0 30px, rgba(255,255,255,.17) 31px 32px, transparent 33px),
    radial-gradient(circle at 82% 72%, transparent 0 40px, rgba(255,255,255,.14) 41px 42px, transparent 43px),
    linear-gradient(32deg, transparent 48%, rgba(255,255,255,.09) 49%, rgba(255,255,255,.09) 50%, transparent 51%),
    linear-gradient(145deg, transparent 48%, rgba(255,255,255,.08) 49%, rgba(255,255,255,.08) 50%, transparent 51%);
  background-size: 280px 210px,340px 260px,300px 230px,360px 280px,220px 180px,260px 210px;
  background-position: 0 0, 80px 50px, 140px 20px, 20px 100px,0 0,70px 40px;
}
.reference-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(3,37,88,.34),rgba(4,83,160,.16) 55%,rgba(10,179,196,.20));
}
.reference-hero-inner{position:relative;z-index:2;text-align:center;color:#fff;padding:92px 20px 88px}
.reference-kicker{font-size:13px;letter-spacing:.22em;font-weight:800;margin-bottom:18px;opacity:.9}
.reference-hero h1{font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.045em;margin:0 auto 18px;font-weight:800;max-width:900px}
.reference-hero h1 span{color:#dffcff}
.reference-hero .reference-dot{color:#fff}
.reference-hero p{margin:0 auto;max-width:650px;font-size:17px;line-height:1.65;color:rgba(255,255,255,.88)}
.reference-cta{
  background:#173e69;
  padding:34px 20px;
  display:flex;justify-content:center;
  box-shadow:0 12px 25px rgba(0,0,0,.14);
}
.reference-cta-button{
  background:#fff;color:#0875cf;
  padding:14px 28px;
  font-size:15px;font-weight:700;
  border:1px solid rgba(255,255,255,.9);
  transition:.2s ease;
}
.reference-cta-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.18)}

@media(max-width:850px){
  .reference-hero{min-height:360px}
  .reference-hero-inner{padding:75px 18px 70px}
  .reference-hero h1{font-size:44px}
  .reference-hero p{font-size:15px}
}
@media(max-width:520px){
  .reference-hero{min-height:335px}
  .reference-hero-inner{padding:65px 16px 58px}
  .reference-kicker{font-size:11px}
  .reference-hero h1{font-size:38px}
  .reference-cta{padding:24px 16px}
  .reference-cta-button{width:100%;text-align:center}
}
