/* Общие улучшения для всех страниц сайта. */
html,
body {
  overflow-x: clip;
}

/* Brand system v2: новый знак, светлая техническая палитра и мягкая глубина. */
:root{--bg:#f5f8fb;--bg2:#fff;--ac:#08cdb8;--navy:#08245f;--navy2:#0c347f;--lt:#edf3f7;--tx:#14202b;--mt:#607181;--ln:#dbe4eb;--ink:#fff;color-scheme:light}
body{background:radial-gradient(circle at 8% 4%,rgba(8,205,184,.08),transparent 24rem),var(--bg);color:var(--tx)}
header{border-bottom:1px solid rgba(8,36,95,.09);background:rgba(255,255,255,.94);box-shadow:0 8px 30px rgba(8,36,95,.06);backdrop-filter:blur(16px)}
header .w{height:74px}
header .logo{width:214px;height:58px;min-width:214px;background:url("assets/brand/likro-lockup.jpg") center/contain no-repeat}
header .logo>*{display:none}
nav{gap:18px}nav a{color:#4d6070;font-size:14px;font-weight:500}nav a:hover,nav a[aria-current]{color:var(--navy)}
#mb{border-color:var(--ln);background:#fff;color:var(--navy)}
.btn,button.btn{border-color:var(--navy);border-radius:11px;background:var(--navy);color:#fff!important;box-shadow:0 10px 24px rgba(8,36,95,.15);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.btn:hover,button.btn:hover{transform:translateY(-2px);background:var(--navy2);box-shadow:0 14px 30px rgba(8,36,95,.22)}
.btn.o{border-color:rgba(8,36,95,.2);background:rgba(255,255,255,.75);color:var(--navy)!important;box-shadow:none}.btn.o:hover{border-color:var(--navy);background:#fff}
section{padding-top:82px;padding-bottom:82px}h1,h2,h3{color:var(--navy)}.mt,.hero p.l,.hero-wrap .sub{color:var(--mt)}
.home-page .hero{position:relative;grid-template-columns:1.02fr .98fr;min-height:610px;padding-top:82px;padding-bottom:82px}
.home-page .hero:before{content:"";position:absolute;z-index:-1;top:34px;right:-100px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(8,205,184,.16),transparent 66%)}
.home-page h1{max-width:720px;font-size:clamp(36px,5.2vw,64px);letter-spacing:-.035em}
.brand-stage{position:relative;isolation:isolate;min-height:440px;overflow:hidden;border:1px solid rgba(8,36,95,.1);border-radius:34px;background:linear-gradient(rgba(255,255,255,.92),rgba(245,249,252,.88)),repeating-linear-gradient(90deg,transparent 0 39px,rgba(8,36,95,.06) 40px),repeating-linear-gradient(0deg,transparent 0 39px,rgba(8,36,95,.06) 40px);box-shadow:0 28px 70px rgba(8,36,95,.13)}
.brand-stage:before{content:"";position:absolute;inset:auto -16% -42% 34%;height:74%;border-radius:50%;background:rgba(8,205,184,.18);filter:blur(20px)}
.brand-stage img{position:absolute;z-index:2;top:50%;left:50%;width:min(66%,310px);transform:translate(-50%,-48%);filter:drop-shadow(0 18px 28px rgba(8,36,95,.16))}
.stage-kicker{position:absolute;top:24px;left:26px;color:var(--navy);font-size:11px;font-weight:700;letter-spacing:.16em}
.stage-orbit{position:absolute;inset:12%;border:1px solid rgba(8,36,95,.12);border-radius:50%;transform:rotate(-14deg)}.stage-orbit.orbit-two{inset:23% 8%;border-color:rgba(8,205,184,.28);transform:rotate(23deg)}
.stage-label{position:absolute;z-index:3;padding:7px 11px;border:1px solid rgba(8,36,95,.1);border-radius:999px;background:rgba(255,255,255,.88);color:var(--navy);font-size:11px;font-weight:600;box-shadow:0 8px 20px rgba(8,36,95,.07)}
.label-a{top:20%;right:6%}.label-b{right:8%;bottom:19%}.label-c{bottom:12%;left:8%}.label-d{top:28%;left:5%}
.trust-strip>div,.sv,.card,.pj,.res,.res-b,.portfolio-shot,.download{border:1px solid rgba(8,36,95,.09);border-radius:18px;background:#fff;box-shadow:0 16px 38px rgba(8,36,95,.07)}
.trust-strip>div,.sv,.card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.trust-strip>div:hover,.sv:hover,.card:hover{transform:translateY(-4px);border-color:rgba(8,205,184,.55);box-shadow:0 22px 45px rgba(8,36,95,.11)}
.sv{border-top:1px solid rgba(8,36,95,.09)}.sv:before{content:"";width:42px;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--navy),var(--ac))}.sv p,.trust-strip span,.card p{color:var(--mt)}.sv b,.contact-link:hover,.portfolio-download a{color:#009e91}
.alt{border-color:var(--ln);background:#edf3f7}.calc{background:linear-gradient(135deg,#eef6fa,#f9fbfd);color:var(--tx)}.calc .mt{color:var(--mt)}
.chip{border-color:#cfdce5;background:rgba(255,255,255,.75);color:var(--navy)}.chip[aria-pressed=true],.filter[aria-pressed=true]{border-color:var(--navy);background:var(--navy);color:#fff}
input,select,textarea{border-color:#cfdbe5;border-radius:10px;background:#fff;color:var(--tx)}input:focus,select:focus,textarea:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(8,205,184,.14);outline:0}
.home-page .audience-grid a{border:1px solid rgba(8,36,95,.09)!important;border-radius:20px;background:#fff!important;box-shadow:0 16px 40px rgba(8,36,95,.07)}
.portfolio-page .hero{border-color:var(--ln);background:radial-gradient(circle at 78% 18%,rgba(8,205,184,.18),transparent 34%),linear-gradient(135deg,#f8fbfd 15%,#edf4f8 100%)}
.portfolio-page .hero p,.portfolio-page .section-head p,.portfolio-page .download p,.portfolio-page .cta p{color:var(--mt)}.portfolio-page .hero-stats{border-color:var(--ln);background:var(--ln)}.portfolio-page .hero-stats div,.portfolio-page .cta{background:#fff}.portfolio-page .gallery-section{background:var(--bg)}
.portfolio-page .work{border:0;border-radius:16px;box-shadow:0 16px 35px rgba(8,36,95,.1)}.portfolio-page .filter{border-color:#cfdce5;background:#fff;color:var(--navy)}
footer{border-color:rgba(255,255,255,.1);background:var(--navy);color:#aebcd0}footer .brand-name,footer h3,footer .logo,footer a:hover{color:#fff}footer .brand-sub{color:var(--ac)}footer .logo-mark{width:56px;height:56px;flex-basis:56px}
.mobile-actions{border-color:rgba(255,255,255,.12);background:rgba(8,36,95,.96)}.mobile-actions a:last-child{background:var(--ac);color:var(--navy)}
@media(max-width:1050px) and (min-width:721px){header .logo{width:180px;min-width:180px}nav{gap:13px}}
@media(max-width:720px){header .w{height:68px}header .logo{width:166px;height:52px;min-width:166px}nav{top:68px;border-color:var(--ln);background:rgba(255,255,255,.98)}.home-page .hero{min-height:0;padding-top:52px}.home-page h1{font-size:clamp(34px,10vw,48px)}.brand-stage{min-height:350px;border-radius:24px}.stage-label{font-size:10px}section{padding-top:58px;padding-bottom:58px}}
@media(prefers-reduced-motion:reduce){.btn,.sv,.card,.trust-strip>div{transition:none}}

.contact-link {
  color: inherit;
  text-decoration: none;
}

.logo {
  min-width: 150px;
}

.logo-mark {
  display: block;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
}

.brand-type {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.brand-name {
  color: var(--tx);
  font-family: Unbounded, Onest, system-ui, sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .01em;
}

.brand-sub {
  margin-top: 5px;
  color: var(--ac);
  font: 600 9px/1 Onest, system-ui, sans-serif;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.contact-link:hover {
  color: var(--ac);
}

.trust-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 28px;
}

.trust-strip > div {
  border: 1px solid var(--ln);
  background: var(--bg2);
  padding: 16px;
}

.trust-strip strong {
  display: block;
  margin-bottom: 4px;
  color: var(--tx);
}

.trust-strip span {
  color: var(--mt);
  font-size: 14px;
}

.audience-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding-top: 64px;
  padding-bottom: 64px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--ln);
}

.form-note {
  margin-top: 10px;
  color: var(--mt);
  font-size: 13px;
}

.print-estimate {
  display: block;
  margin-top: 10px;
  width: 100%;
  background: transparent;
  color: var(--ink) !important;
}

.mobile-actions {
  display: none;
}

.portfolio-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.portfolio-preview {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 230px);
  gap: 12px;
  margin-top: 30px;
}

.portfolio-shot {
  position: relative;
  overflow: hidden;
  min-height: 220px;
  border: 1px solid var(--ln);
  text-decoration: none;
}

.portfolio-shot.feature {
  grid-column: span 2;
  grid-row: span 2;
}

.portfolio-shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.portfolio-shot::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  background: linear-gradient(transparent, rgba(7, 12, 17, .92));
}

.portfolio-shot:hover img {
  transform: scale(1.035);
}

.portfolio-shot span {
  position: absolute;
  z-index: 1;
  right: 16px;
  bottom: 14px;
  left: 16px;
  font: 500 15px/1.25 Unbounded, Onest, sans-serif;
}

.portfolio-shot small {
  display: block;
  margin-bottom: 5px;
  color: #7ebeff;
  font: 600 10px/1 Onest, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.portfolio-download {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 14px;
  padding: 15px 18px;
  border: 1px solid var(--ln);
  color: var(--mt);
  font-size: 14px;
}

.portfolio-download a {
  color: var(--ac);
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

@media (max-width: 1050px) and (min-width: 721px) {
  .nav-phone {
    display: none;
  }
}

@media (max-width: 720px) {
  body {
    padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px));
  }

  .audience-grid,
  .footer-grid,
  .trust-strip {
    grid-template-columns: 1fr;
  }

  .portfolio-heading,
  .portfolio-download {
    align-items: flex-start;
    flex-direction: column;
  }

  .portfolio-preview {
    display: block;
  }

  .portfolio-shot,
  .portfolio-shot.feature {
    display: block;
    height: 300px;
    margin-bottom: 12px;
  }

  .audience-grid {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .footer-grid {
    gap: 24px;
  }

  .pt {
    font-size: 13px;
  }

  .pt td:last-child {
    white-space: normal;
    min-width: 92px;
  }

  .mobile-actions {
    position: fixed;
    z-index: 50;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--ln);
    background: rgba(16, 24, 32, .96);
    backdrop-filter: blur(12px);
  }

  .mobile-actions a {
    min-height: 42px;
    display: grid;
    place-items: center;
    border-right: 1px solid var(--ln);
    color: var(--tx);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
  }

  .mobile-actions a:last-child {
    border-right: 0;
    border-radius: 5px;
    background: var(--ac);
    color: var(--ink);
  }
}

@media print {
  header,
  footer,
  .mobile-actions,
  body > main > :not(#calc),
  #calc .cg > :first-child,
  #calc > .w > h2,
  #calc > .w > .mt,
  #rq,
  .print-estimate {
    display: none !important;
  }

  #calc {
    padding: 0;
    background: #fff;
    color: #111;
  }

  #calc .cg {
    display: block;
  }

  #calc .res {
    border: 1px solid #888;
  }
}
