500;600;700&family=Prata&display=swap');

:root{
  --as-bg:#09111b;--as-bg2:#0d1724;--as-panel:#0f1c2b;--as-panel2:#152538;
  --as-text:#f5f8fb;--as-muted:#aebdcc;--as-line:rgba(255,255,255,.11);
  --as-gold:#4e8ecf;--as-gold2:#78cfff;--as-max:1180px;--as-r:24px;
}
html{scroll-behavior:smooth}
.as-section,.as-section *{box-sizing:border-box}
.as-section{color:var(--as-text);background:var(--as-bg);font-family:var(--as-font-sans);line-height:1.5}
.as-wrap{width:min(calc(100% - 40px),var(--as-max));margin:0 auto}
.as-pad{padding:88px 0}
.as-kicker{color:var(--as-gold2);text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800}
.as-title{font-family:var(--as-font-display);font-weight:500;font-size:clamp(36px,4.6vw,60px);line-height:1.08;letter-spacing:-.025em;margin:15px 0 18px}
.as-lead{font-size:18px;line-height:1.7;color:var(--as-muted);max-width:800px}
.as-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 23px;border-radius:999px;font-weight:750;font-size:15px;text-decoration:none;transition:.2s}
.as-btn:hover{transform:translateY(-1px)}
.as-primary{background:linear-gradient(135deg,#8ad6ff,#4f8fda);color:#08111b}
.as-secondary{border:1px solid var(--as-line);background:rgba(255,255,255,.035);color:#eef2f6}
.as-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.as-note{color:#84909b;font-size:13px;margin-top:13px}

/* hero */
.as-hero{background:
radial-gradient(circle at 82% 8%,rgba(38,88,162,.28),transparent 34%),
radial-gradient(circle at 8% 38%,rgba(120,207,255,.08),transparent 28%),
linear-gradient(180deg,#081019,#0d1520)}
.as-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:52px;align-items:center}
.as-eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:#9fdcff;font-weight:700}
.as-eyebrow:before{content:"";width:38px;height:1px;background:var(--as-gold)}
.as-h1{margin:18px 0 22px;font-family:var(--as-font-display);font-weight:500;font-size:clamp(48px,6.3vw,84px);line-height:.98;letter-spacing:-.035em}
.as-hero-copy{font-size:20px;line-height:1.55;color:#cbd3db}
.as-trustline{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px;color:#d6dde4;font-size:13px}
.as-trustline span{display:flex;align-items:center;gap:7px}
.as-trustline span:before{content:"•";color:var(--as-gold2)}
.as-visual{min-height:560px;border:1px dashed rgba(120,207,255,.34);border-radius:30px;background:linear-gradient(145deg,#26384a,#0f1720);position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:26px}
.as-visual:before{content:"ГЛАВНОЕ ФОТО / ВИДЕО";position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.15);font:28px var(--as-font-display);letter-spacing:.08em}
.as-visual-label{position:relative;z-index:2;background:rgba(7,14,21,.8);border:1px solid var(--as-line);border-radius:14px;padding:11px 13px}

/* metrics + logos */
.as-band{background:#0c141d;border-top:1px solid var(--as-line);border-bottom:1px solid var(--as-line)}
.as-metrics{display:grid;grid-template-columns:repeat(4,1fr)}
.as-metric{padding:27px 22px}
.as-metric+.as-metric{border-left:1px solid var(--as-line)}
.as-metric strong{display:block;font:34px var(--as-font-display);color:#d9efff}
.as-metric span{display:block;color:#96a2ad;font-size:14px;margin-top:5px}
.as-logo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:28px}
.as-logo{height:82px;border:1px dashed rgba(255,255,255,.16);border-radius:16px;display:grid;place-items:center;color:#7f8b95;font-size:12px;text-align:center;padding:8px;background:rgba(255,255,255,.02)}

/* cards */
.as-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
.as-card{min-height:230px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022));border:1px solid var(--as-line);border-radius:var(--as-r);padding:27px}
.as-card small{font-family:var(--as-font-display);color:#8fcbff;font-size:17px}
.as-card h3{font-size:21px;margin:32px 0 10px}
.as-card p{margin:0;color:#9ca8b4;line-height:1.65;font-size:14px}

/* video */
.as-video-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:center}
.as-video{aspect-ratio:16/9;border:1px dashed rgba(120,207,255,.32);border-radius:26px;background:linear-gradient(135deg,#233344,#0f1720);display:grid;place-items:center;color:#c4ccd4;text-align:center;padding:30px}
.as-video strong{display:block;font:34px var(--as-font-display);color:#c7ecff;margin-bottom:8px}

/* experience */
.as-exp{background:linear-gradient(180deg,#0f1b2b,#0c1521)}
.as-exp-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:52px;align-items:start}
.as-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}
.as-tag{padding:10px 14px;border-radius:999px;border:1px solid rgba(120,207,255,.20);background:rgba(120,207,255,.06);color:#cfeaff;font-size:13px;font-weight:650}
.as-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.as-list div{border-bottom:1px solid var(--as-line);padding:17px 0;color:#e1e6eb;font-size:16px}
.as-list div:before{content:"—";color:var(--as-gold);margin-right:9px}

/* projects */
.as-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
.as-project{min-height:330px;border-radius:var(--as-r);border:1px solid var(--as-line);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));padding:25px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.as-project:before{content:"ФОТО ПРОЕКТА";position:absolute;inset:0 0 42%;display:grid;place-items:center;color:rgba(255,255,255,.1);font:26px var(--as-font-display);background:linear-gradient(135deg,#26384a,#111b25)}
.as-project small{position:relative;z-index:2;color:#92d2ff;letter-spacing:.12em;text-transform:uppercase;font-size:10px}
.as-project h3{position:relative;z-index:2;font:26px var(--as-font-display);margin:8px 0}
.as-project p{position:relative;z-index:2;margin:0;color:#a7b1bb;font-size:14px}
.as-case-meta{position:relative;z-index:2;margin-top:13px;color:#7f8b95;font-size:12px}

/* agency */
.as-agency{background:radial-gradient(circle at 82% 22%,rgba(120,207,255,.12),transparent 31%),linear-gradient(135deg,#14212d,#0b131b)}
.as-agency-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:45px}
.as-checks{display:grid;gap:12px}
.as-check{padding:15px 17px;border:1px solid var(--as-line);border-radius:15px;background:rgba(255,255,255,.025);color:#dfe5ea}
.as-check:before{content:"✓";color:var(--as-gold2);margin-right:10px;font-weight:800}

/* gallery */
.as-gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:260px 220px;gap:15px;margin-top:38px}
.as-photo{border-radius:22px;border:1px dashed rgba(120,207,255,.28);background:linear-gradient(135deg,#26384a,#111b25);position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:18px}
.as-photo.big{grid-row:1/3}
.as-photo:before{content:"ФОТО";position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.11);font:54px var(--as-font-display)}
.as-photo span{position:relative;z-index:2;background:rgba(8,16,25,.78);border:1px solid var(--as-line);border-radius:12px;padding:9px 11px;font-size:12px}

/* reviews */
.as-reviews{background:radial-gradient(circle at 15% 15%,rgba(201,155,92,.1),transparent 28%),linear-gradient(180deg,#0d1620,#0a1119)}
.as-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
.as-review{min-height:325px;padding:28px;border-radius:var(--as-r);border:1px solid var(--as-line);background:rgba(255,255,255,.03);display:flex;flex-direction:column;justify-content:space-between}
.as-stars{color:#88d4ff;letter-spacing:.12em;font-size:14px;margin-bottom:16px}
.as-review p{font:19px/1.5 var(--as-font-display);margin:0}
.as-author{padding-top:22px;border-top:1px solid var(--as-line);margin-top:25px}
.as-author strong{display:block}
.as-author span{display:block;color:#8f9ba7;font-size:13px;margin-top:4px}

/* faq */
.as-faq{display:grid;gap:12px;margin-top:35px}
.as-faq-item{border:1px solid var(--as-line);border-radius:18px;padding:20px 22px;background:rgba(255,255,255,.025)}
.as-faq-item h3{margin:0 0 8px;font-size:17px}
.as-faq-item p{margin:0;color:#9da9b4;font-size:14px;line-height:1.65}

/* contacts */
.as-contact{background:linear-gradient(135deg,#13253a,#0d1620 75%)}
.as-contact-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:40px;align-items:end}
.as-contact-links{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.as-link{color:#fff;text-decoration:none;font-size:19px;border-bottom:1px solid rgba(255,255,255,.17);padding-bottom:4px}
.as-form-placeholder{margin-top:22px;padding:20px;border:1px dashed rgba(120,207,255,.27);border-radius:18px;color:#9aa6b1;background:rgba(255,255,255,.025);font-size:14px}

@media(max-width:950px){
 .as-hero-grid,.as-video-grid,.as-exp-grid,.as-agency-grid,.as-contact-grid{grid-template-columns:1fr}
 .as-cards,.as-projects,.as-review-grid{grid-template-columns:1fr 1fr}
 .as-metrics{grid-template-columns:1fr 1fr}
 .as-logo-grid{grid-template-columns:repeat(3,1fr)}
 .as-gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto}
 .as-photo.big{grid-column:1/-1;grid-row:auto;min-height:320px}
}
@media(max-width:650px){
 .as-wrap{width:min(calc(100% - 26px),var(--as-max))}
 .as-pad{padding:66px 0}
 .as-h1{font-size:47px}.as-hero-copy{font-size:17px}.as-visual{min-height:420px}
 .as-cards,.as-projects,.as-review-grid,.as-gallery{grid-template-columns:1fr}
 .as-logo-grid{grid-template-columns:1fr 1fr}
 .as-list{grid-template-columns:1fr}
 .as-photo,.as-photo.big{grid-column:auto;min-height:225px}
 .as-actions .as-btn{width:100%}
 .as-metric{padding:21px 13px}.as-metric strong{font-size:29px}
}

/* ---------- subtle motion / livelier premium UI ---------- */
@keyframes asFloatGlow{
  0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.42}
  50%{transform:translate3d(18px,-10px,0) scale(1.06);opacity:.62}
}
@keyframes asShimmer{
  0%{transform:translateX(-130%)}
  100%{transform:translateX(160%)}
}
@keyframes asPulseDot{
  0%,100%{box-shadow:0 0 0 0 rgba(120,207,255,.16)}
  50%{box-shadow:0 0 0 8px rgba(226,189,126,0)}
}
.as-section{position:relative;overflow:hidden}
.as-section.as-hero:after{
  content:"";position:absolute;right:-120px;top:80px;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle,rgba(120,207,255,.16),transparent 68%);
  filter:blur(12px);pointer-events:none;animation:asFloatGlow 9s ease-in-out infinite
}
.as-card,.as-project,.as-review,.as-faq-item,.as-logo,.as-photo,.as-visual,.as-video-card{
  transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease
}
.as-card:hover,.as-project:hover,.as-review:hover,.as-faq-item:hover{
  transform:translateY(-5px);border-color:rgba(120,207,255,.28);
  box-shadow:0 18px 50px rgba(0,0,0,.22)
}
.as-logo:hover{transform:translateY(-3px);border-color:rgba(120,207,255,.24)}
.as-photo:hover,.as-visual:hover,.as-video-card:hover{transform:scale(1.012);border-color:rgba(120,207,255,.30)}
.as-btn.as-primary{position:relative;overflow:hidden}
.as-btn.as-primary:after{
  content:"";position:absolute;top:0;bottom:0;width:45%;left:-60%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  transform:skewX(-18deg)
}
.as-btn.as-primary:hover:after{animation:asShimmer .7s ease}
.as-trustline span:before{animation:asPulseDot 2.8s ease-in-out infinite}

.as-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.as-reveal.as-visible{opacity:1;transform:none}
.as-reveal[data-delay="1"]{transition-delay:.08s}
.as-reveal[data-delay="2"]{transition-delay:.16s}
.as-reveal[data-delay="3"]{transition-delay:.24s}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .as-reveal{opacity:1!important;transform:none!important}
}

/* short video moments */
.as-video-moments{background:linear-gradient(180deg,#0b121a,#0f1924)}
.as-video-grid-small{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
.as-video-card{
  position:relative;min-height:290px;border-radius:24px;border:1px dashed rgba(120,207,255,.28);
  background:linear-gradient(155deg,#26394c,#111923);overflow:hidden;padding:22px;
  display:flex;align-items:flex-end
}
.as-video-card:before{
  content:"▶";position:absolute;left:22px;top:22px;width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;background:rgba(8,16,25,.72);border:1px solid rgba(255,255,255,.14);
  color:#c7ecff;font-size:16px;padding-left:2px
}
.as-video-card:after{
  content:"ВИДЕО 10–20 СЕК";position:absolute;inset:0;display:grid;place-items:center;
  color:rgba(255,255,255,.12);font:24px var(--as-font-display);letter-spacing:.08em
}
.as-video-info{position:relative;z-index:2;background:rgba(8,16,25,.8);border:1px solid var(--as-line);border-radius:14px;padding:11px 13px}
.as-video-info strong{display:block;color:#c7ecff;margin-bottom:3px}
.as-mini-note{margin-top:16px;color:#81909c;font-size:13px}

@media(max-width:950px){.as-video-grid-small{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.as-video-grid-small{grid-template-columns:1fr}}


/* ---------- refined typography system ---------- */
:root{
  --as-font-sans:"Onest", sans-serif;
  --as-font-display: "Prata", serif;

  --as-body-size:17px;
  --as-body-line:1.68;
  --as-small:13px;
  --as-kicker-size:11px;
  --as-h1-size:clamp(42px,5.2vw,60px);
  --as-h2-size:clamp(32px,4.2vw,50px);
  --as-h3-size:21px;
}
.as-section{
  font-family:var(--as-font-sans);
  font-size:var(--as-body-size);
  line-height:var(--as-body-line);
  letter-spacing:-.005em;
}
.as-kicker{
  font-family:var(--as-font-sans);
  font-size:var(--as-kicker-size);
  line-height:1.25;
  font-weight:750;
  letter-spacing:.18em;
}
.as-title{
  font-family:var(--as-font-display);
  font-size:var(--as-h2-size);
  line-height:1.075;
  letter-spacing:-.032em;
  max-width:980px;
  text-wrap:balance;
}
.as-h1{
  font-family:var(--as-font-display);
  font-size:var(--as-h1-size);
  line-height:.965;
  letter-spacing:-.043em;
  max-width:900px;
  text-wrap:balance;
}
.as-hero-copy{
  font-size:19px;
  line-height:1.58;
  letter-spacing:-.012em;
  max-width:760px;
}
.as-lead{
  font-size:18px;
  line-height:1.72;
  letter-spacing:-.01em;
}
.as-card h3{
  font-size:20px;
  line-height:1.18;
  letter-spacing:0;
}
.as-card p,.as-project p,.as-faq-item p{
  font-size:14px;
  line-height:1.68;
}
.as-metric strong{
  font-family:var(--as-font-display);
  font-size:36px;
  line-height:1;
  letter-spacing:-.035em;
}
.as-metric span{
  font-size:13px;
  line-height:1.4;
  letter-spacing:.005em;
}
.as-project h3{
  font-family:var(--as-font-display);
  font-size:27px;
  line-height:1.12;
  letter-spacing:-.028em;
}
.as-review p{
  font-family:var(--as-font-display);
  font-size:19px;
  line-height:1.55;
  letter-spacing:-.015em;
}
.as-author strong{
  font-size:14px;
  letter-spacing:.01em;
}
.as-author span,.as-case-meta,.as-mini-note,.as-note{
  font-size:12.5px;
  line-height:1.5;
  letter-spacing:.01em;
}
.as-check{
  font-size:15px;
  line-height:1.5;
}
.as-faq-item h3{
  font-size:16.5px;
  line-height:1.3;
  letter-spacing:-.012em;
}
.as-link{
  font-size:18px;
  letter-spacing:-.01em;
}
.as-btn{
  font-size:14px;
  letter-spacing:.005em;
}
.as-video-info strong,.as-photo span,.as-visual-label{
  letter-spacing:.005em;
}

/* section-specific identity */
.as-hero .as-kicker,.as-hero .as-eyebrow{
  letter-spacing:.19em;
}
.as-band .as-metric strong{
  color:#d9efff;
}
.as-exp .as-title{
  max-width:760px;
}
.as-agency .as-title{
  max-width:720px;
}
.as-reviews .as-title{
  max-width:720px;
}
.as-contact .as-title{
  max-width:760px;
}
.as-reviews .as-review:nth-child(2) p{
  font-size:18.5px;
}
.as-reviews .as-review:nth-child(3) p{
  font-size:18.5px;
}

/* subtle editorial accent */
.as-title em,.as-h1 em{
  font-style:italic;
  font-weight:400;
  color:#ead1a4;
}

/* desktop large */
@media(min-width:1280px){
  :root{
    --as-h1-size:60px;
    --as-h2-size:50px;
  }
  .as-wrap{max-width:1180px}
}

/* tablet */
@media(max-width:950px){
  :root{
    --as-h1-size:clamp(42px,5.2vw,60px);
    --as-h2-size:clamp(32px,4.2vw,50px);
  }
  .as-hero-copy{font-size:18px}
  .as-lead{font-size:17px}
}

/* mobile */
@media(max-width:650px){
  :root{
    --as-body-size:16px;
    --as-h1-size:60px;
    --as-h2-size:50px;
  }
  .as-h1{
    line-height:1.01;
    letter-spacing:-.035em;
  }
  .as-title{
    line-height:1.1;
    letter-spacing:-.027em;
  }
  .as-hero-copy{
    font-size:16.5px;
    line-height:1.6;
  }
  .as-lead{
    font-size:16px;
    line-height:1.68;
  }
  .as-kicker,.as-eyebrow{
    font-size:10px;
    letter-spacing:.16em;
  }
  .as-metric strong{font-size:30px}
  .as-review p{font-size:18px}
  .as-project h3{font-size:24px}
  .as-link{font-size:17px}
}


/* ---------- V5 font tuning: Prata + Manrope ---------- */
.as-h1{
  font-weight:400;
  letter-spacing:-.012em;
  line-height:.98;
}
.as-title{
  font-weight:400;
  letter-spacing:-.006em;
  line-height:1.09;
}
.as-project h3{
  font-weight:400;
  letter-spacing:0;
}
.as-review p{
  font-weight:400;
  letter-spacing:.002em;
}
.as-metric strong{
  font-weight:400;
  letter-spacing:-.004em;
}
.as-card h3,
.as-faq-item h3,
.as-author strong{
  font-family:var(--as-font-sans);
  font-weight:650;
}
.as-hero-copy,
.as-lead,
.as-card p,
.as-project p,
.as-check,
.as-faq-item p,
.as-contact-links,
.as-btn{
  font-family:var(--as-font-sans);
}
.as-kicker,
.as-eyebrow{
  font-family:var(--as-font-sans);
  font-weight:700;
  letter-spacing:.17em;
}
.as-btn{
  font-weight:700;
}
@media(max-width:650px){
  .as-h1{font-size:42px;line-height:1.025;letter-spacing:-.008em}
  .as-title{font-size:33px;line-height:1.12;letter-spacing:-.004em}
}


/* ---------- V6 Cyrillic tracking refinement ---------- */
.as-h1{
  letter-spacing:-0.012em !important;
}
.as-title{
  letter-spacing:-0.006em !important;
}
.as-project h3{
  letter-spacing:0 !important;
}
.as-review p{
  letter-spacing:0.002em !important;
}
.as-metric strong{
  letter-spacing:-0.004em !important;
}
@media(max-width:650px){
  .as-h1{letter-spacing:-0.008em !important}
  .as-title{letter-spacing:-0.004em !important}
}


/* V8: fixed side navigation + quick routes */
:root{--as-sidebar:212px}
body.as-site-with-sidebar{padding-left:var(--as-sidebar)}
.as-side-nav{position:fixed;left:0;top:0;bottom:0;width:var(--as-sidebar);z-index:90;background:rgba(7,14,23,.92);backdrop-filter:blur(18px);border-right:1px solid rgba(255,255,255,.09);display:flex;flex-direction:column;padding:26px 18px 20px}
.as-side-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-weight:700;font-size:14px;margin-bottom:30px}
.as-side-mark{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(120,207,255,.42);color:#9fdcff;font-family:var(--as-font-display);font-size:15px}
.as-side-label{line-height:1.16}.as-side-label small{display:block;color:#6f8091;font-weight:500;font-size:10px;margin-top:3px}
.as-side-menu{display:flex;flex-direction:column;gap:3px}
.as-side-link{position:relative;display:flex;align-items:center;min-height:36px;padding:7px 9px 7px 18px;border-radius:10px;color:#8d9cab;text-decoration:none;font-size:12px;font-weight:600;transition:.22s}
.as-side-link:before{content:"";position:absolute;left:4px;width:5px;height:5px;border-radius:50%;background:#415162;transition:.22s}
.as-side-link:hover{color:#dfeaf4;background:rgba(255,255,255,.035)}
.as-side-link.as-active{color:#fff;background:rgba(120,207,255,.065)}
.as-side-link.as-active:before{background:#78cfff;box-shadow:0 0 0 5px rgba(120,207,255,.08)}
.as-side-bottom{margin-top:auto}.as-side-geo{font-size:10px;line-height:1.45;color:#6f8091;margin-bottom:12px}
.as-side-cta{display:flex;justify-content:center;align-items:center;width:100%;min-height:42px;border-radius:12px;background:rgba(120,207,255,.10);border:1px solid rgba(120,207,255,.22);color:#cdeeff;text-decoration:none;font-size:12px;font-weight:700}
.as-scroll-progress{position:absolute;right:-1px;top:0;width:1px;height:0;background:linear-gradient(180deg,#78cfff,#4e8ecf);transition:height .08s linear}

.as-routes{background:#0b1521}
.as-route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.as-route{min-height:210px;border:1px solid var(--as-line);border-radius:22px;padding:24px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));display:flex;flex-direction:column;text-decoration:none;color:#fff;transition:.25s}
.as-route:hover{transform:translateY(-4px);border-color:rgba(120,207,255,.28);background:linear-gradient(180deg,rgba(120,207,255,.055),rgba(255,255,255,.018))}
.as-route small{color:#7fcfff;font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:700}
.as-route h3{font-family:var(--as-font-display);font-weight:400;font-size:24px;line-height:1.15;letter-spacing:0;margin:28px 0 10px}
.as-route p{color:#94a4b4;font-size:13px;line-height:1.6;margin:0 0 20px}
.as-route-arrow{margin-top:auto;color:#9edcff;font-size:13px;font-weight:700}.as-route-arrow:after{content:" →"}

@media(max-width:1100px){
  :root{--as-sidebar:0px}
  body.as-site-with-sidebar{padding-left:0;padding-top:58px}
  .as-side-nav{top:0;right:0;bottom:auto;width:100%;height:58px;padding:0 13px;flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid rgba(255,255,255,.09)}
  .as-side-brand{margin:0 16px 0 0}.as-side-label{display:none}
  .as-side-menu{flex-direction:row;gap:3px;overflow-x:auto;scrollbar-width:none;align-items:center;white-space:nowrap}
  .as-side-menu::-webkit-scrollbar{display:none}
  .as-side-link{min-height:34px;padding:6px 10px;font-size:11px}.as-side-link:before{display:none}
  .as-side-bottom{display:none}
  .as-scroll-progress{left:0;right:0;bottom:-1px;top:auto;width:0;height:1px}
}
@media(max-width:750px){.as-route-grid{grid-template-columns:1fr}.as-route{min-height:175px}}


/* V9: responsive hero photo fix */
.as-visual{
  position:relative;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:0;
  height:auto;
  aspect-ratio:4 / 5;
  overflow:hidden;
  padding:0;
  border:1px solid rgba(120,207,255,.28);
  border-radius:30px;
  background:#0f1720;
}
.as-visual:before{
  content:"" !important;
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(5,12,20,.02) 0%,rgba(5,12,20,.08) 55%,rgba(5,12,20,.58) 100%);
}
.as-hero-photo{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:cover;
  object-position:center 18%;
}
.as-visual-label{
  position:absolute;
  left:20px;
  right:20px;
  bottom:20px;
  z-index:2;
  width:auto;
  max-width:calc(100% - 40px);
  background:rgba(7,14,21,.62);
  backdrop-filter:blur(10px);
}
.as-hero-grid{min-width:0}
.as-hero-grid>*{min-width:0}
.as-section img{max-width:100%;height:auto}
.as-visual .as-hero-photo{height:100%}

@media(min-width:951px){
  .as-visual{
    height:min(72vh,680px);
    min-height:520px;
    aspect-ratio:auto;
  }
}
@media(max-width:950px){
  .as-visual{
    width:min(100%,620px);
    margin-inline:auto;
    aspect-ratio:4 / 5;
  }
}
@media(max-width:650px){
  .as-visual{
    width:100%;
    aspect-ratio:4 / 5;
    border-radius:22px;
  }
  .as-visual-label{left:14px;right:14px;bottom:14px;max-width:calc(100% - 28px)}
}


/* V10 typography: Prata + Onest, max 60px */
.as-h1{font-size:clamp(42px,5.2vw,46px)!important}
.as-title{font-size:clamp(32px,4.2vw,50px)!important}

.as-section,
.as-hero-copy,
.as-lead,
.as-card,
.as-project,
.as-faq-item,
.as-btn,
.as-side-nav,
.as-route,
.as-contact-links,
.as-author,
.as-video-info,
.as-photo-label{
  font-family:var(--as-font-sans)!important;
}

.as-h1,
.as-title,
.as-project h3,
.as-review p,
.as-metric strong,
.as-side-mark{
  font-family:var(--as-font-display)!important;
}

@media(max-width:650px){
  .as-h1{font-size:40px!important}
  .as-title{font-size:31px!important}
}


/* V11: fixed top navigation + warm gold accents */
body.as-site-with-topnav{
  padding-left:0 !important;
  padding-top:72px;
}

.as-top-nav{
  position:fixed;
  top:0;left:0;right:0;
  height:72px;
  z-index:95;
  display:flex;
  align-items:center;
  background:rgba(7,14,23,.90);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.09);
}

.as-top-wrap{
  width:min(calc(100% - 36px),1180px);
  margin:0 auto;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:24px;
}

.as-top-brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}

.as-top-mark{
  width:36px;height:36px;
  border-radius:50%;
  display:grid;place-items:center;
  border:1px solid rgba(207,166,103,.48);
  color:#e0b978;
  font-family:var(--as-font-display);
  font-size:14px;
}

.as-top-menu{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-width:0;
}

.as-top-link{
  position:relative;
  padding:9px 10px;
  border-radius:10px;
  color:#8999a8;
  text-decoration:none;
  font-size:11.5px;
  font-weight:600;
  white-space:nowrap;
  transition:.22s;
}

.as-top-link:hover{
  color:#fff;
  background:rgba(255,255,255,.035);
}

.as-top-link.as-active{
  color:#fff;
  background:rgba(207,166,103,.07);
}

.as-top-link.as-active:after{
  content:"";
  position:absolute;
  left:12px;right:12px;bottom:4px;
  height:1px;
  background:#d6aa6b;
}

.as-top-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 15px;
  border-radius:10px;
  background:linear-gradient(135deg,#e0b978,#bd8847);
  color:#15100a;
  text-decoration:none;
  font-size:11.5px;
  font-weight:750;
  white-space:nowrap;
}

.as-top-progress{
  position:absolute;
  left:0;bottom:-1px;
  width:0;height:1px;
  background:linear-gradient(90deg,#b8874f,#e1ba77);
  transition:width .08s linear;
}

/* restore warm premium accents while keeping navy base */
.as-kicker,
.as-eyebrow{
  color:#d8ad70 !important;
}

.as-eyebrow:before{
  background:#c99b5c !important;
}

.as-route small,
.as-route-arrow,
.as-video-info strong,
.as-photo-label strong,
.as-visual-label strong{
  color:#deb879 !important;
}

.as-card small,
.as-project small{
  color:#d4a967 !important;
}

.as-tag{
  border-color:rgba(207,166,103,.28) !important;
  background:rgba(207,166,103,.07) !important;
  color:#e9d2ae !important;
}

.as-check:before{
  color:#d8ad70 !important;
}

.as-primary{
  background:linear-gradient(135deg,#e0b978,#bd8847) !important;
  color:#15100a !important;
}

.as-side-mark,
.as-side-link.as-active:before,
.as-side-cta{
  /* legacy side-nav colors if block is reused elsewhere */
  border-color:rgba(207,166,103,.35) !important;
}

.as-route:hover,
.as-card:hover,
.as-project:hover,
.as-review:hover,
.as-faq-item:hover{
  border-color:rgba(207,166,103,.28) !important;
}

.as-section.as-hero:after{
  background:radial-gradient(circle,rgba(207,166,103,.12),transparent 68%) !important;
}

/* keep blue only as secondary environmental accent from the hero image */
.as-visual{
  border-color:rgba(120,207,255,.18) !important;
}

/* hide legacy side navigation if accidentally included */
.as-side-nav{display:none !important}

@media(max-width:980px){
  body.as-site-with-topnav{padding-top:62px}
  .as-top-nav{height:62px}
  .as-top-wrap{
    width:min(calc(100% - 24px),1180px);
    grid-template-columns:auto 1fr auto;
    gap:12px;
  }
  .as-top-menu{
    justify-content:flex-start;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .as-top-menu::-webkit-scrollbar{display:none}
  .as-top-link{font-size:11px;padding:8px 9px}
  .as-top-brand span:last-child{display:none}
}

@media(max-width:620px){
  .as-top-cta{display:none}
  .as-top-wrap{grid-template-columns:auto 1fr}
}


/* V11.1 — разреженность заголовков для кириллицы */
.as-h1{
  letter-spacing:0.012em !important;
}

.as-title{
  letter-spacing:0.008em !important;
}

.as-project h3{
  letter-spacing:0.006em !important;
}

.as-review p{
  letter-spacing:0.004em !important;
}

.as-metric strong{
  letter-spacing:0.002em !important;
}

@media(max-width:650px){
  .as-h1{
    letter-spacing:0.010em !important;
  }

  .as-title{
    letter-spacing:0.007em !important;
  }
}


/* FONT COMPARISON — Onest */
.as-section,
.as-hero-copy,
.as-lead,
.as-card,
.as-card h3,
.as-project p,
.as-faq-item,
.as-faq-item h3,
.as-btn,
.as-top-nav,
.as-top-brand,
.as-top-link,
.as-top-cta,
.as-route,
.as-route p,
.as-route small,
.as-contact-links,
.as-author,
.as-video-info,
.as-photo-label,
.as-kicker,
.as-eyebrow,
.as-tag,
.as-check,
.as-note,
.as-mini-note,
.as-case-meta{
  font-family:"Onest", sans-serif !important;
}

.as-h1,
.as-title,
.as-project h3,
.as-review p,
.as-metric strong,
.as-top-mark{
  font-family:"Prata", serif !important;
}

.as-top-link{
  font-size:12px !important;
  font-weight:500 !important;
  letter-spacing:0.018em !important;
}

.as-top-brand{
  font-family:"Onest", sans-serif !important;
  font-weight:500 !important;
  letter-spacing:0.015em !important;
}

.as-top-cta{
  font-family:"Onest", sans-serif !important;
  font-weight:600 !important;
  letter-spacing:0.01em !important;
}


/* V11.3 — главный заголовок: максимум 54px */
.as-h1{
  font-size:clamp(42px,5.2vw,46px) !important;
}
@media(max-width:650px){
  .as-h1{
    font-size:40px !important;
  }
}


/* V11.4 — отдельный фотоблок спортивных мероприятий */
.as-photo.sport{
  grid-column:2 / 4;
  min-height:210px;
}
@media(max-width:900px){
  .as-photo.sport{
    grid-column:1 / -1;
  }
}
@media(max-width:650px){
  .as-photo.sport{
    grid-column:auto;
    min-height:225px;
  }
}


/* V11.5 — специализация, галерея и опыт */

/* Галерея: 6 одинаковых карточек */
.as-gallery{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
}
.as-photo,
.as-photo.sport{
  grid-column:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  height:auto !important;
}

/* Опыт: основные характеристики в один столбец */
.as-experience-grid,
.as-experience-list,
.as-metrics,
.as-proof-grid{
  grid-template-columns:1fr !important;
}

/* Если внутри блока опыта используется общий двухколоночный контейнер */
#experience .as-grid,
#experience .as-cards,
#experience .as-metrics{
  grid-template-columns:1fr !important;
}

@media(max-width:900px){
  .as-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:650px){
  .as-gallery{
    grid-template-columns:1fr !important;
  }
  .as-photo{
    aspect-ratio:4 / 3 !important;
  }
}


/* V11.6 — точечные исправления сеток */

/* Преимущества после первого экрана: снова одна строка */
.as-band .as-metrics{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.as-band .as-metric + .as-metric{
  border-left:1px solid var(--as-line) !important;
}

/* Фото: ровно 6 одинаковых карточек, 3 × 2 */
.as-gallery{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-template-rows:none !important;
  gap:16px !important;
}
.as-gallery > .as-photo{
  grid-column:auto !important;
  grid-row:auto !important;
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  aspect-ratio:4 / 3 !important;
}

/* Опыт: как в Event-агентствам —
   сам блок остаётся двухчастным, но список характеристик справа идёт в один столбец */
#experience .as-exp-grid{
  display:grid !important;
  grid-template-columns:.94fr 1.06fr !important;
  gap:52px !important;
  align-items:start !important;
}
#experience .as-list{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
}

/* Отменяем ошибочную глобальную правку V11.5 для блока преимуществ */
.as-proof-grid{
  grid-template-columns:initial;
}

@media(max-width:900px){
  .as-band .as-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .as-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #experience .as-exp-grid{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:650px){
  .as-band .as-metrics{
    grid-template-columns:1fr !important;
  }
  .as-band .as-metric + .as-metric{
    border-left:0 !important;
    border-top:1px solid var(--as-line) !important;
  }
  .as-gallery{
    grid-template-columns:1fr !important;
  }
}


/* V11.7 — главный заголовок: максимум 50px */
.as-h1{
  font-size:clamp(42px,5.2vw,46px) !important;
}
@media(max-width:650px){
  .as-h1{
    font-size:40px !important;
  }
}


/* H1 size variant — max 46px */
.as-h1{
  font-size:clamp(42px,5.2vw,46px) !important;
}
@media(max-width:650px){
  .as-h1{
    font-size:40px !important;
  }
}


/* =========================================================
   SERVER VERSION — media elements
   ========================================================= */

body{
  margin:0;
  background:#09111b;
}

img,video{
  max-width:100%;
}

/* Hero image */
.as-visual{
  border-style:solid !important;
  padding:0 !important;
}
.as-visual:before{
  content:none !important;
}
.as-hero-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 24%;
  display:block;
}
.as-visual-label{
  position:absolute !important;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:3 !important;
  max-width:390px;
}
.as-visual:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 52%,rgba(5,12,19,.58) 100%);
  pointer-events:none;
  z-index:2;
}

/* Client logos: all source sizes/proportions are normalized visually */
.as-logo-grid{
  align-items:stretch;
}
.as-logo{
  height:96px !important;
  padding:14px 16px !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-style:solid !important;
}
.as-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  margin:auto;
}
.as-logo img.logo-normal{
  max-width:128px;
  max-height:50px;
}
.as-logo img.logo-wide{
  max-width:166px;
  max-height:40px;
}
.as-logo img.logo-tall{
  max-width:62px;
  max-height:60px;
}
.as-logo img.logo-square{
  max-width:68px;
  max-height:58px;
}
.as-logo-fallback{
  color:#7f8b95;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
}
.as-logo img.is-missing{
  display:none;
}

/* Gallery: exactly 6 equal cards */
.as-gallery{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-template-rows:none !important;
  gap:16px !important;
}
.as-photo{
  min-height:0 !important;
  height:auto !important;
  aspect-ratio:4/3 !important;
  grid-column:auto !important;
  grid-row:auto !important;
  padding:18px !important;
  border-style:solid !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
.as-photo:before{
  content:none !important;
}
.as-photo span{
  margin-top:auto;
}

/* Project cards with real background photos */
.as-project{
  background-size:100% 58%, auto !important;
  background-position:top center, center !important;
  background-repeat:no-repeat !important;
}
.as-project:before{
  content:"" !important;
  background:linear-gradient(180deg,transparent,rgba(9,17,27,.10)) !important;
}

/* Videos */
.as-video-card{
  padding:0 !important;
  display:flex !important;
  align-items:flex-end !important;
  background:#111b25 !important;
  border-style:solid !important;
}
.as-video-card:before,
.as-video-card:after{
  content:none !important;
}
.as-video-card video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  background:#111b25;
}
.as-video-info{
  width:calc(100% - 28px);
  margin:14px;
  z-index:3 !important;
  pointer-events:none;
}
.as-video-card:focus-within .as-video-info,
.as-video-card:hover .as-video-info{
  opacity:.28;
}

/* Experience: list in one column, same logic as agency block */
#experience .as-list{
  grid-template-columns:1fr !important;
}

/* Real contact form */
.as-contact-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:24px;
}
.as-contact-form .full{
  grid-column:1/-1;
}
.as-field{
  width:100%;
  min-height:50px;
  border:1px solid var(--as-line);
  border-radius:14px;
  padding:12px 14px;
  background:rgba(255,255,255,.035);
  color:#fff;
  font-family:var(--as-font-sans);
  font-size:14px;
  outline:none;
}
textarea.as-field{
  min-height:118px;
  resize:vertical;
}
.as-field:focus{
  border-color:rgba(224,185,120,.55);
}
.as-form-note{
  grid-column:1/-1;
  color:#82909c;
  font-size:11px;
  line-height:1.5;
}

/* Preserve selected 46px H1 */
.as-h1{
  font-size:clamp(42px,5.2vw,46px) !important;
}

/* Accessibility */
.as-sr-only{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}

@media(max-width:950px){
  .as-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:650px){
  .as-gallery{
    grid-template-columns:1fr !important;
  }
  .as-contact-form{
    grid-template-columns:1fr;
  }
  .as-contact-form .full{
    grid-column:auto;
  }
  .as-visual-label{
    left:14px;
    right:14px;
    bottom:14px;
  }
}



/* =========================================================
   SERVER V2 — restore light text colors
   ========================================================= */

body,
.as-section,
.as-wrap,
.as-card,
.as-route,
.as-project,
.as-review,
.as-faq-item,
.as-contact,
.as-contact-links,
.as-video-info,
.as-photo,
.as-logo,
.as-band,
.as-metric,
.as-exp-grid,
.as-list,
.as-list > div{
  color:var(--as-text, #f4f7fb) !important;
}

.as-h1,
.as-title,
.as-card h3,
.as-route h3,
.as-project h3,
.as-faq-item h3,
.as-review p,
.as-metric strong,
.as-list strong,
.as-contact h2,
.as-contact h3{
  color:#f5f7fb !important;
}

.as-lead,
.as-card p,
.as-route p,
.as-project p,
.as-faq-item p,
.as-note,
.as-mini-note,
.as-case-meta,
.as-author,
.as-form-note,
.as-list span,
.as-list p{
  color:#a9b5c0 !important;
}

.as-kicker,
.as-eyebrow,
.as-route small,
.as-card small,
.as-project small,
.as-video-info strong,
.as-photo-label strong,
.as-visual-label strong{
  color:#d8ad70 !important;
}

.as-link,
.as-contact-links a:not(.as-primary),
.as-top-link{
  color:#dbe5ee !important;
}

.as-link:hover,
.as-contact-links a:not(.as-primary):hover{
  color:#ffffff !important;
}

/* Keep primary gold buttons dark for contrast */
.as-primary,
.as-top-cta{
  color:#15100a !important;
}

/* Inputs */
.as-field{
  color:#f4f7fb !important;
}
.as-field::placeholder{
  color:#7f8c98 !important;
}

/* Defensive reset for browser defaults */
button,
input,
textarea,
select{
  font-family:var(--as-font-sans) !important;
}



/* SERVER V4 — pricing section */
.as-pricing-table{
  margin-top:28px;
  border:1px solid var(--as-line);
  border-radius:20px;
  overflow:hidden;
  background:rgba(255,255,255,.025);
  box-shadow:0 20px 50px rgba(0,0,0,.14);
}
.as-price-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 240px;
  align-items:center;
  min-height:62px;
  border-top:1px solid var(--as-line);
}
.as-price-row:first-child{border-top:0}
.as-price-row>div{padding:16px 20px}
.as-price-row>div:first-child{
  color:#f3f6f9;
  font-size:15px;
  line-height:1.45;
}
.as-price-row>div:last-child{
  color:#e1b676;
  font-size:15px;
  line-height:1.35;
  border-left:1px solid var(--as-line);
  white-space:nowrap;
  text-align:right;
}
.as-price-head{
  min-height:48px;
  background:rgba(216,173,112,.07);
}
.as-price-head>div{
  color:#d8ad70!important;
  font-size:11px!important;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:600;
}
@media(max-width:700px){
  .as-price-row{
    grid-template-columns:1fr;
    align-items:start;
  }
  .as-price-row>div{padding:14px 16px}
  .as-price-row>div:last-child{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.055);
    text-align:left;
    white-space:normal;
    padding-top:10px;
  }
  .as-price-head{display:none}
}


/* =========================================================
   SERVER V7 — navigation, 4 videos, emphasized experience
   ========================================================= */

.as-video-grid-four{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
}
.as-video-grid-four .as-video-card{
  min-height:0 !important;
  aspect-ratio:16 / 9 !important;
}

/* Experience right column — stronger visual emphasis */
#experience .as-experience-accent{
  position:relative;
  padding:22px !important;
  border:1px solid rgba(216,173,112,.28) !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,rgba(216,173,112,.07),rgba(255,255,255,.025)) !important;
  box-shadow:0 20px 50px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.035) !important;
  gap:0 !important;
  overflow:hidden;
}

#experience .as-experience-accent:before{
  content:"Ключевые сильные стороны";
  display:block;
  margin:0 0 10px;
  color:#d8ad70;
  font-size:11px;
  line-height:1.3;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:600;
}

#experience .as-experience-accent > div{
  position:relative;
  padding:16px 16px 16px 42px !important;
  border-top:1px solid rgba(255,255,255,.075) !important;
  background:transparent !important;
}

#experience .as-experience-accent > div:first-of-type{
  border-top:0 !important;
}

#experience .as-experience-accent > div:before{
  content:"✓";
  position:absolute;
  left:14px;
  top:16px;
  color:#d8ad70;
  font-size:14px;
  font-weight:700;
}

#experience .as-experience-accent strong{
  display:block;
  margin-bottom:4px;
  color:#f7f8fa !important;
  font-size:15px;
  line-height:1.35;
}

#experience .as-experience-accent span,
#experience .as-experience-accent p{
  color:#aeb9c3 !important;
  font-size:13px;
  line-height:1.55;
}

@media(max-width:760px){
  .as-video-grid-four{
    grid-template-columns:1fr !important;
  }
  #experience .as-experience-accent{
    padding:18px !important;
  }
}



/* =========================================================
   SERVER V8 — hero tuned for the new portrait
   ========================================================= */

.as-visual{
  background:linear-gradient(145deg,#111a24,#0a1119) !important;
  border-color:rgba(216,173,112,.20) !important;
  box-shadow:
    0 30px 85px rgba(3,10,18,.36),
    0 0 0 1px rgba(255,255,255,.018) inset !important;
}

/* New portrait is tighter: keep face comfortably inside the frame */
.as-hero-photo{
  object-position:center 18% !important;
}

/* Softer overlay: preserve the light background of the portrait */
.as-visual:after{
  background:
    linear-gradient(
      180deg,
      rgba(7,12,18,0) 50%,
      rgba(7,12,18,.18) 72%,
      rgba(7,12,18,.52) 100%
    ) !important;
}

/* Slightly cleaner label to work over the brighter portrait */
.as-visual-label{
  background:rgba(8,16,25,.66) !important;
  border-color:rgba(255,255,255,.12) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}

/* A restrained cool halo connects the bright portrait to the dark site */
.as-hero:before{
  content:"";
  position:absolute;
  top:6%;
  right:4%;
  width:40vw;
  height:40vw;
  max-width:620px;
  max-height:620px;
  background:radial-gradient(circle,rgba(116,154,191,.08),transparent 68%);
  pointer-events:none;
}

/* Keep gold as the premium accent rather than switching palette */
.as-visual-label strong{
  color:#deb879 !important;
}

@media(max-width:760px){
  .as-hero-photo{
    object-position:center 14% !important;
  }
}




/* =========================================================
   SERVER V9 — transparent cutout hero portrait
   ========================================================= */

/* Hero visual: turn the old photo frame into a premium stage-like showcase */
.as-visual{
  min-height:560px;
  border:1px solid rgba(216,173,112,.22) !important;
  border-radius:34px !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(145,191,255,.12), transparent 25%),
    radial-gradient(circle at 76% 22%, rgba(216,173,112,.10), transparent 22%),
    radial-gradient(circle at 28% 30%, rgba(66,112,168,.18), transparent 26%),
    linear-gradient(180deg, #101925 0%, #0d1621 50%, #09111a 100%) !important;
  box-shadow:
    0 30px 80px rgba(2,8,14,.34),
    inset 0 1px 0 rgba(255,255,255,.03),
    inset 0 -90px 120px rgba(0,0,0,.18) !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  padding:0 26px 0 !important;
  isolation:isolate;
}

/* remove placeholder text */
.as-visual:before{
  content:"" !important;
  position:absolute;
  inset:auto;
  width:66%;
  height:66%;
  left:17%;
  top:10%;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 32%, transparent 70%);
  filter:blur(4px);
  z-index:0;
}

/* subtle floor shadow under the cutout */
.as-visual:after{
  content:"";
  position:absolute;
  left:14%;
  right:14%;
  bottom:38px;
  height:52px;
  border-radius:50%;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.42), rgba(0,0,0,0) 72%);
  filter:blur(10px);
  z-index:0;
}

.as-hero-photo{
  position:relative;
  z-index:1;
  display:block;
  width:auto !important;
  height:100% !important;
  max-width:min(100%, 620px) !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  margin:0 auto;
  filter:drop-shadow(0 18px 36px rgba(0,0,0,.18));
}

.as-visual .as-hero-photo{
  height:calc(100% - 12px) !important;
}

.as-visual-label{
  position:absolute !important;
  left:20px;
  right:20px;
  bottom:18px;
  z-index:2;
  width:auto;
  max-width:calc(100% - 40px);
  background:rgba(8,16,25,.68) !important;
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}

.as-visual-label strong{
  color:#f6f7f8;
}

/* extra harmony with the lighter portrait */
.as-hero{
  background:
    radial-gradient(circle at 80% 8%, rgba(38,88,162,.24), transparent 34%),
    radial-gradient(circle at 10% 30%, rgba(120,207,255,.08), transparent 28%),
    linear-gradient(180deg, #081019, #0d1520);
}

@media(min-width:951px){
  .as-visual{
    height:min(74vh, 700px) !important;
    min-height:560px !important;
  }
}

@media(max-width:950px){
  .as-visual{
    width:min(100%, 620px);
    aspect-ratio:4 / 5;
    padding:0 10px 0 !important;
  }
  .as-hero-photo{
    max-width:min(100%, 520px) !important;
  }
}

@media(max-width:650px){
  .as-visual{
    border-radius:24px !important;
    padding:0 6px 0 !important;
  }
  .as-hero-photo{
    max-width:100% !important;
  }
  .as-visual-label{
    left:14px;
    right:14px;
    bottom:14px;
    max-width:calc(100% - 28px);
  }
}


/* V10 trust logos block */
.as-logo-grid--trust{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  margin-top:30px;
}
.as-logo-card{
  height:152px !important;
  padding:18px !important;
  border:1px solid rgba(216,173,112,.18) !important;
  border-radius:20px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,249,251,.95)) !important;
  box-shadow:0 10px 30px rgba(5,11,18,.14), inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.as-logo-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(5,11,18,.18), inset 0 1px 0 rgba(255,255,255,.92);
  border-color:rgba(216,173,112,.34) !important;
}
.as-logo-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  margin:auto;
  filter:none;
}
.as-logo-card img.logo-wide{max-width:92%; max-height:96px;}
.as-logo-card img.logo-square{max-width:96px; max-height:96px;}
.as-logo-card img.logo-tall{max-width:108px; max-height:120px;}

@media(max-width:980px){
  .as-logo-grid--trust{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:640px){
  .as-logo-grid--trust{grid-template-columns:1fr !important;}
  .as-logo-card{height:138px !important;}
  .as-logo-card img.logo-wide{max-height:86px;}
}




/* V11 — compact trust logos without background cards */
.as-logo-grid--compact{
  display:grid !important;
  grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
  gap:18px 22px !important;
  align-items:center;
  margin-top:28px;
}

.as-logo-plain{
  height:92px !important;
  min-height:92px !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.as-logo-plain img{
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:100%;
  object-fit:contain;
  object-position:center;
  margin:auto;
  filter:none;
}

.as-logo-plain img.logo-wide{
  max-width:100%;
  max-height:74px;
}
.as-logo-plain img.logo-square{
  max-width:78px;
  max-height:78px;
}
.as-logo-plain img.logo-tall{
  max-width:84px;
  max-height:88px;
}

/* slightly larger room for especially wide or detailed marks */
.as-logo-plain img[src*="russian-football-union"]{
  max-height:86px;
}
.as-logo-plain img[src*="blokada-museum"]{
  max-height:90px;
  max-width:140px;
}
.as-logo-plain img[src*="student-wrestling-league"]{
  max-height:84px;
  max-width:92px;
}
.as-logo-plain img[src*="abilimpics"]{
  max-height:80px;
  max-width:80px;
}
.as-logo-plain img[src*="cifra-cifra"]{
  max-height:76px;
  max-width:76px;
}

@media(max-width:1180px){
  .as-logo-grid--compact{
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  }
}
@media(max-width:900px){
  .as-logo-grid--compact{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:16px 18px !important;
  }
}
@media(max-width:640px){
  .as-logo-grid--compact{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:14px 16px !important;
  }
  .as-logo-plain{
    height:84px !important;
    min-height:84px !important;
  }
}


/* V12 — six equal video fragments */
.as-video-grid-six{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:30px;
}
.as-video-grid-six .as-video-card{
  position:relative;
  aspect-ratio:16 / 9;
  min-height:0 !important;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:#111b25;
}
.as-video-grid-six .as-video-card video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.as-video-grid-six .as-video-info{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  width:auto;
  margin:0;
  z-index:3;
}
.as-video-placeholder{
  display:grid !important;
  place-items:center !important;
  background:radial-gradient(circle at 50% 20%,rgba(216,173,112,.08),transparent 34%),rgba(255,255,255,.025) !important;
  border-style:dashed !important;
  border-color:rgba(216,173,112,.26) !important;
}
.as-video-placeholder-inner{text-align:center;padding:20px}
.as-video-placeholder-inner strong{
  display:block;color:#d8ad70;font-family:var(--as-font-display);font-size:20px;margin-bottom:8px
}
.as-video-placeholder-inner span{display:block;color:#c7d0d8;font-size:13px}
.as-video-placeholder-inner small{display:block;color:#7f8b95;margin-top:8px;font-size:11px}

@media(max-width:960px){
  .as-video-grid-six{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .as-video-grid-six{grid-template-columns:1fr}
}

/* V14 — trust logos layout refined */
.as-logo-grid--expanded{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:stretch;
}
.as-logo{
  min-height:112px !important;
  height:auto !important;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px !important;
  overflow:visible !important;
}
.as-logo.as-logo-plain{
  background:rgba(255,255,255,.018) !important;
  border:1px dashed rgba(255,255,255,.12) !important;
}
.as-logo img{
  display:block;
  width:auto;
  max-width:100%;
  max-height:84px;
  object-fit:contain;
  object-position:center;
  filter:none;
}
.as-logo img.logo-wide{max-height:62px;}
.as-logo img.logo-tall{max-height:88px;}
.as-logo img.logo-round{max-height:86px;}
.as-logo img.logo-auto{max-height:78px;}
.as-logo img.logo-znanie{max-height:68px;}
.as-logo img.logo-rsm{max-height:72px;}

@media(max-width:1280px){
  .as-logo-grid--expanded{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
}
@media(max-width:980px){
  .as-logo-grid--expanded{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:640px){
  .as-logo-grid--expanded{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .as-logo{min-height:100px !important;}
}


/* V15 — experience inherits Event-agency visual language */
#experience .as-experience-checks{
  align-self:start;
  padding:22px;
  border:1px solid rgba(216,173,112,.22);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(216,173,112,.055),rgba(255,255,255,.018));
  box-shadow:0 18px 44px rgba(0,0,0,.14);
}
#experience .as-experience-checks .as-check{
  background:rgba(255,255,255,.025);
  border-color:rgba(255,255,255,.08);
}

/* V15 — interactive gallery */
.as-gallery-interactive{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;}
.as-gallery-card{
  position:relative; aspect-ratio:4/3; border:1px solid rgba(255,255,255,.1); border-radius:18px; overflow:hidden;
  background-size:cover; background-position:center; cursor:pointer; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start;
  padding:18px; color:#fff; text-align:left; font-family:var(--as-font-sans); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
button.as-gallery-card:hover{transform:translateY(-3px);border-color:rgba(216,173,112,.35);box-shadow:0 18px 36px rgba(0,0,0,.2);}
.as-gallery-card-title{font-family:var(--as-font-display);font-size:20px;line-height:1.15;text-shadow:0 2px 14px rgba(0,0,0,.7);}
.as-gallery-count{margin-top:8px;font-size:12px;color:#e5bd80;background:rgba(8,16,25,.72);padding:5px 8px;border-radius:999px;}
.as-gallery-card-empty{background:linear-gradient(135deg,rgba(216,173,112,.07),rgba(255,255,255,.025));cursor:default;border-style:dashed;}
.as-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(3,8,13,.92);display:none;align-items:center;justify-content:center;padding:28px;}
.as-lightbox.is-open{display:flex;}
.as-lightbox-stage{position:relative;width:min(1100px,calc(100vw - 150px));height:min(78vh,760px);display:flex;align-items:center;justify-content:center;}
.as-lightbox-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:14px;box-shadow:0 28px 80px rgba(0,0,0,.35);}
.as-lightbox-caption{position:absolute;left:14px;right:14px;bottom:14px;display:flex;justify-content:space-between;gap:16px;padding:10px 12px;border-radius:12px;background:rgba(6,13,20,.74);backdrop-filter:blur(8px);color:#fff;}
.as-lightbox-caption span{color:#d8ad70;white-space:nowrap;}
.as-lightbox-close,.as-lightbox-prev,.as-lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;z-index:2;}
.as-lightbox-close{top:18px;right:22px;width:44px;height:44px;border-radius:50%;font-size:30px;line-height:1;}
.as-lightbox-prev,.as-lightbox-next{top:50%;transform:translateY(-50%);width:50px;height:70px;border-radius:14px;font-size:42px;}
.as-lightbox-prev{left:22px}.as-lightbox-next{right:22px}
.as-lightbox-prev[hidden],.as-lightbox-next[hidden]{display:none;}
body.as-lightbox-lock{overflow:hidden;}
@media(max-width:900px){.as-gallery-interactive{grid-template-columns:repeat(2,minmax(0,1fr))!important}.as-lightbox-stage{width:calc(100vw - 90px)}}
@media(max-width:620px){.as-gallery-interactive{grid-template-columns:1fr!important}.as-lightbox{padding:14px}.as-lightbox-stage{width:calc(100vw - 28px);height:78vh}.as-lightbox-prev,.as-lightbox-next{width:38px;height:58px;font-size:34px;background:rgba(0,0,0,.5)}.as-lightbox-prev{left:6px}.as-lightbox-next{right:6px}.as-lightbox-close{top:8px;right:8px}}


/* V16 — requested content/layout refinements */

/* Experience: no outer frame; each advantage remains its own framed item */
#experience .as-experience-checks{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
#experience .as-experience-checks .as-check{
  padding:17px 18px !important;
  border:1px solid rgba(216,173,112,.18) !important;
  border-radius:15px !important;
  background:rgba(255,255,255,.028) !important;
  box-shadow:0 8px 22px rgba(0,0,0,.08);
}

/* Combined services in pricing */
.as-price-services{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.as-price-services span + span{
  padding-top:7px;
  border-top:1px solid rgba(255,255,255,.055);
}

/* Hero no longer needs overlay caption */
.as-visual-label{
  display:none !important;
}


/* V17 — подпись конкретной фотографии в лайтбоксе */
#asLightboxPhotoCaption{
  display:block;
  margin-top:5px;
  color:#d9e1e8;
  font-size:13px;
  line-height:1.45;
}
#asLightboxPhotoCaption[hidden]{
  display:none !important;
}


.as-lightbox-photo-caption{
  font-family:var(--as-font-sans) !important;
}


/* Персональные данные */
.as-consent-check{
  display:flex !important;
  align-items:flex-start;
  gap:10px;
  color:#aeb9c3;
  font-size:12px;
  line-height:1.5;
  cursor:pointer;
}
.as-consent-check input{
  margin-top:3px;
  flex:0 0 auto;
  accent-color:#d8ad70;
}
.as-consent-check a,
.as-legal-footer a,
.as-legal a{
  color:#d8ad70;
  text-decoration:none;
}
.as-consent-check a:hover,
.as-legal-footer a:hover,
.as-legal a:hover{
  text-decoration:underline;
}
.as-legal-footer{
  padding:22px 0 34px;
  border-top:1px solid rgba(255,255,255,.07);
  background:#09111b;
  color:#82909c;
  font-size:12px;
}
.as-legal-footer .as-wrap{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.as-legal{
  min-height:100vh;
  background:#09111b;
  color:#e7edf2;
}
.as-legal .as-pad{
  max-width:920px;
}
.as-legal h1{
  font-family:var(--as-font-display);
  font-size:clamp(32px,4vw,50px);
  line-height:1.12;
  margin:24px 0 18px;
}
.as-legal h2{
  font-size:20px;
  margin:30px 0 10px;
}
.as-legal p,
.as-legal li{
  color:#aeb9c3;
  line-height:1.7;
}
.as-legal ul{
  padding-left:22px;
}
.as-legal-nav{
  padding-top:24px;
}
.as-legal-nav a{
  color:#d8ad70;
}


/* H1: визуальное разделение основной SEO-фразы и подзаголовка */
.as-h1-main,
.as-h1-sub{
  display:block;
}
.as-h1-sub{
  margin-top:.28em;
  font-size:.88em;
  line-height:1.18;
}
@media(max-width:640px){
  .as-h1-sub{
    margin-top:.34em;
    font-size:.9em;
  }
}
