/* Public site styles. */
:root {
  --font-body: Manrope, Helvetica, Arial, sans-serif;
  --font-hand: "Shantell Sans", "Segoe Print", cursive;
  /* Базовые */
  --c-bg-cream-1: #fffaf1;
  --c-bg-cream-2: #fffaf2;
  --c-text-dark:  #030e12;
  --c-on-dark: #fffaf1;
  --c-muted-on-dark: #bbc3bf;
  --c-accent-on-dark: #ff8273;
  --c-raised-dark: #1b282c;
  --c-white:      #ffffff;
  --c-black:      #000000;

  /* Акценты */
  --c-accent-cyan:   #8fe6ff;
  --c-accent-teal-1: #0b1b20;
  --c-accent-teal-2: #13262c;

  /* Красные (индикаторы/ошибки) */
  --c-red:         #f2211d;
  --c-accent-red:  #f2211d;
  --c-red-dark:    #b10000;
  --c-error:       #d93025;

  /* Серые (UI/текст) */
  --c-grey-900: #101010;
  --c-grey-800: #0f0f0f;
  --c-grey-750: #2c2c2c;
  --c-grey-700: #333333;
  --c-grey-600: #484848;
  --c-grey-500: #5d686f;
  --c-grey-450: #485055;
  --c-grey-400: #8a8a8a;
  --c-grey-350: #9ea0a1;
  --c-grey-325: #c4c4c4;
  --c-grey-300: #b8b8b8;
  --c-grey-250: #cfd2d3;
  --c-grey-225: #dfe2e3;
  --c-grey-200: #eaeaea;
  --c-grey-150: #eef0f1;
  --c-grey-100: #f4f6f7;

  /* Тёмные фоны (градиенты/карточки) */
  --c-deep-1: #0d171b;
  --c-deep-2: #101f24;

  /* Анимация */
  --reveal-dur: 550ms;
  --reveal-ease: cubic-bezier(.22,1,.24,1);
  --reveal-stagger: 65ms;
}

*{box-sizing:border-box}
html { scroll-behavior: smooth; }
html,body{height:100%}
body{margin:0;font-family:var(--font-body);background:var(--c-bg-cream-1);color:var(--c-text-dark)}

/* The original hero artwork is one composition: scale it as a whole. */
:root{
  --section-space:clamp(56px,6.2vw,88px);
  --section-title:clamp(34px,4.4vw,64px);
  --page-gutter:clamp(22px,5vw,80px);
  --card-radius:8px;
  --c-paper:#f2ece1;
  --type-body:clamp(15px,1.2vw,17px);
  --type-tracking:-.045em;
}
html{scroll-padding-top:24px}
body{overflow-x:clip}
body,button,a{-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font-family:inherit}
button,a{touch-action:manipulation}
:focus-visible{outline:2px solid var(--c-accent-red);outline-offset:6px}
::selection{background:var(--c-accent-red);color:var(--c-bg-cream-1)}
.container{max-width:1440px;margin:0 auto;padding:0 var(--page-gutter)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:fixed;top:12px;left:12px;z-index:2000;padding:14px 20px;background:var(--c-text-dark);color:var(--c-bg-cream-1);transform:translateY(-180%)}
.skip-link:focus{transform:none}
.site_header{position:absolute;top:clamp(86px,11vw,176px);left:0;width:100%;z-index:20}
.site_header .container{max-width:1600px;padding-inline:5%}
.nav{display:grid;grid-template-columns:1fr 1fr;column-gap:28%;align-items:start;margin:0}
.nav_group{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0}
.nav_link{display:inline-block;padding:4px 0;color:var(--c-grey-600);font:500 clamp(11px,1.35vw,20px)/1.35 var(--font-body);letter-spacing:-.015em;text-decoration:none;text-align:center;transition:color .2s ease}
.nav_link:hover{color:var(--c-accent-red)}
.dot{display:none}
.hero-section{position:relative;background:var(--c-bg-cream-1);padding-top:24px}
.hero-section .container{max-width:1600px;padding:0 clamp(16px,2.5vw,40px)}
.hero-section .content-wrapper{position:relative}
.hero-section .main-content{position:relative;aspect-ratio:2000/992}
.hero-section .main-image{display:block;width:100%;height:auto;position:static;transform:none;pointer-events:none}
.hero-section .second-image{position:absolute;left:7.5%;bottom:15%;width:24%;height:auto;pointer-events:none}
.hero-note-en{color:var(--c-text-dark);overflow:visible}
.hero-note-en text{font:300 37px/1 var(--font-hand);letter-spacing:1px}
.hero-lang-toggle{position:absolute;right:8%;bottom:17%;width:14%;display:block;padding:8px;border:0;background:none;cursor:pointer;z-index:2;transform:rotate(3deg);transition:transform .3s ease}
.hero-lang-toggle img{display:block;width:100%;height:auto}
.hero-lang-toggle:hover{transform:rotate(-2deg)}
@media(max-width:700px){
  .hero-section{padding-top:0}
  .site_header{position:relative;top:auto;padding-block:10px 4px}
  .site_header .container{padding-inline:var(--page-gutter)}
  .nav{column-gap:20px;grid-template-columns:1fr 1.3fr}
  .nav_group{gap:0;align-items:flex-start}
  .nav_link{display:flex;align-items:center;min-height:44px;font-size:12px;line-height:1.3;text-align:left;letter-spacing:0}
  .hero-lang-toggle{right:6%;bottom:12%;width:17%;padding:6px}
  .hero-section .second-image{left:5%;bottom:12%;width:26%}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ===== SERVICES ===== */
.services_section{background:var(--c-bg-cream-1);padding:var(--section-space) 0}
.section_kicker{margin:0 0 18px;color:var(--c-red-dark);font:650 10px/1.4 var(--font-body);letter-spacing:.14em;text-transform:uppercase}
.services_header,.world_header{display:grid;grid-template-columns:1fr minmax(260px,.65fr);gap:48px;align-items:end}
.services_title,.world_header h2{margin:0;font:500 var(--section-title)/1.04 var(--font-body);letter-spacing:var(--type-tracking);text-transform:uppercase;text-wrap:balance}
.services_intro,.world_intro{margin:0;max-width:38ch;font:450 var(--type-body)/1.7 var(--font-body);color:var(--c-grey-600)}
.services_list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:48px 0 0;padding:12px 5px 20px;list-style:none}
.service_item{min-width:0;rotate:-1.4deg}
.service_item:nth-child(3n+2){padding-top:32px;rotate:1.2deg}
.service_item:nth-child(3n+3){padding-top:8px;rotate:-.5deg}
.service_card{position:relative;display:flex;flex-direction:column;align-items:start;min-height:386px;gap:22px;padding:28px clamp(22px,2.5vw,36px);border-radius:var(--card-radius);background:var(--c-paper);color:var(--c-text-dark);text-decoration:none;transition:translate .3s var(--reveal-ease),box-shadow .3s}
.service_item:nth-child(3n+1) .service_card{background:var(--c-text-dark);color:var(--c-bg-cream-1)}
.service_item:nth-child(3n+3) .service_card{background:#ece5da}
.service_index{align-self:end;color:var(--c-red-dark);font:350 clamp(38px,4vw,56px)/1 var(--font-hand);letter-spacing:-.08em;rotate:6deg}
.service_item:nth-child(3n+1) .service_index{color:#ff8273}
.service_card h3{margin:4px 0 0;max-width:15ch;font:500 clamp(26px,2.5vw,36px)/1.12 var(--font-body);letter-spacing:-.045em}
.service_card p{margin:0 0 10px;max-width:34ch;font:450 14px/1.75 var(--font-body);color:var(--c-grey-600)}
.service_item:nth-child(3n+1) p{color:#c0c3bd}
.service_link{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:auto;width:100%;font:500 12px/1.4 var(--font-body)}
.service_arrow{width:58px;height:34px;color:var(--c-accent-red);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:translate .3s}
@media(hover:hover){
 .service_card:hover{translate:0 -8px;box-shadow:0 16px 30px rgb(3 14 18 / .07)}
 .service_card:hover .service_arrow{translate:5px -3px}
}
@media(max-width:760px){
 .services_header,.world_header{grid-template-columns:1fr;gap:28px}
 .services_list{grid-template-columns:1fr;gap:20px;margin-top:28px;padding-inline:4px}
 .service_item:nth-child(n){padding:0;rotate:-.8deg}
 .service_item:nth-child(2n){rotate:.8deg}
 .service_card{min-height:280px;padding:26px;gap:18px}
 .service_index{position:absolute;right:26px;top:24px;font-size:34px}
 .service_card h3{padding-right:40px;max-width:18ch;margin:8px 0 0;font-size:29px}
 .service_card p{max-width:42ch;font-size:14px}
}

/* ===== INTERACTIVE WORLD MAP ===== */
.world_section{position:relative;background:var(--c-text-dark);color:var(--c-bg-cream-1);padding:var(--section-space) 0;overflow:clip}
.world_section .section_kicker{color:#ff8273}
.world_header{position:relative;z-index:2}
.world_intro{color:rgba(255,250,241,.65)}
.world_stage{position:relative;width:100vw;max-width:none;margin:24px calc(50% - 50vw) 0;aspect-ratio:1672/941;isolation:isolate}
.world_art{position:absolute;inset:0;display:block}
.world_art img{display:block;width:100%;height:100%;object-fit:cover}
.world_stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(var(--c-text-dark),transparent 12%,transparent 78%,var(--c-text-dark));z-index:1}
.world_markers{position:absolute;inset:0;z-index:2}
.world_marker{appearance:none;position:absolute;left:var(--x);top:var(--y);width:24px;height:24px;padding:0;border:0;background:none;transform:translate(-50%,-50%);cursor:pointer}
.world_marker::before{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--c-bg-cream-1);box-shadow:0 0 0 3px rgba(255,250,241,.1);transition:background .2s ease,transform .2s ease}
.world_marker:hover,.world_marker:focus-visible,.world_marker.is-active{z-index:4}
.world_marker:hover::before,.world_marker:focus-visible::before,.world_marker.is-active::before{background:var(--c-accent-red);transform:scale(1.3)}
.world_marker__pulse{display:none;position:absolute;inset:1px;border:1px solid var(--c-accent-red);border-radius:50%}
.world_marker.is-active .world_marker__pulse{display:block;animation:worldPulse 2.5s ease-out infinite}
.world_marker__label{position:absolute;left:50%;bottom:calc(100% + 4px);padding:7px 9px;background:var(--c-bg-cream-1);color:var(--c-text-dark);font:600 10px/1.2 var(--font-body);white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,5px);transition:opacity .2s ease,transform .2s ease}
.world_marker:hover .world_marker__label,.world_marker:focus-visible .world_marker__label,.world_marker.is-active .world_marker__label{opacity:1;transform:translate(-50%,0)}
.world_controls{position:relative;z-index:3;display:grid;grid-template-columns:minmax(150px,.36fr) 1fr;align-items:center;gap:32px;margin-top:-72px}
.world_selected{display:flex;flex-direction:column;gap:8px;margin:0;padding:9px 0;color:var(--c-bg-cream-1)}
.world_selected strong{font:450 clamp(24px,2.6vw,38px)/1.1 var(--font-body);letter-spacing:-.04em}
.world_selected span{color:rgba(255,250,241,.6);font:450 12px/1.4 var(--font-body)}
.world_citylist{display:flex;flex-wrap:wrap;gap:6px 10px;margin:0;padding:0;list-style:none}
.world_city{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;border:0;border-radius:var(--card-radius);background:none;color:#b1b8b5;font:450 13px/1.4 var(--font-body);cursor:pointer;transition:color .2s ease,background .2s}
.world_city::before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.45}
.world_city:hover,.world_city.is-active{color:var(--c-bg-cream-1);background:#1c272a}
.world_city.is-active::before{background:var(--c-accent-red);opacity:1}
.world_attribution{margin:24px 0 0;color:rgba(255,250,241,.42);font:450 10px/1.5 var(--font-body)}
.world_attribution a{color:inherit;text-underline-offset:3px}
@keyframes worldPulse{0%{opacity:.7;transform:scale(.55)}75%,100%{opacity:0;transform:scale(1.5)}}
@media(max-width:760px){
 .world_stage{margin-top:26px}
 .world_controls{grid-template-columns:1fr;gap:18px;margin-top:12px}
 .world_selected{flex-direction:row;align-items:baseline;gap:12px}
 .world_marker__label{display:none}
 .world_marker::before{inset:9.5px}
 .world_citylist{gap:0 18px}
 .world_city{font-size:12px}
}

/* ===== TV HERO ===== */
.tvHero{background:var(--c-bg-cream-1); position:relative;}
.tvHero__container{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:5%;align-items:center;padding-block:var(--section-space)}
.tvHero__copy{padding-bottom:20px;min-width:0}

.tvHero__title{
  margin:0;color:var(--c-text-dark);font:500 var(--section-title)/1.04 var(--font-body);letter-spacing:var(--type-tracking);text-wrap:balance;
}
.tvHero__title>span{display:block}
.tvHero__title>span+span{margin-top:.02em}

.tvHero__wrap{
  position:relative;width:100%;max-width:660px;margin:0 auto;
}
.tvHero__intro{max-width:32ch;margin:26px 0 0;color:var(--c-grey-600);font:450 var(--type-body)/1.7 var(--font-body)}
.tvHero__note{position:relative;display:table;max-width:26ch;margin:36px 0 0 8%;rotate:-5deg;color:var(--c-red-dark)}
.tvHero__note svg{position:absolute;left:85%;top:65%;width:84px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){
 .tvHero__container{grid-template-columns:1fr;gap:28px}
 .tvHero__copy{padding:0}
 .tvHero__intro{max-width:40ch;margin-top:20px}
 .tvHero__note{font-size:18px;margin:24px 0 0 auto;max-width:24ch}
 .tvHero__note svg{left:auto;right:80%;top:60%;width:56px;rotate:60deg}
 .tvHero__wrap{max-width:520px}
}

.tvHero__tv{
  display:block; width:100%; height:auto; object-fit:contain;
  filter:drop-shadow(0 10px 28px rgba(0,0,0,.16));
  pointer-events:none; position:relative; z-index:2;
}

/* Экран */
.tvHero__screen{
  --screen-left:   4.6%;
  --screen-top:   10.8%;
  --screen-width: 72.2%;
  --screen-height:71.6%;
  --load-dx: 0px; --load-dy: 0px;

  position:absolute; z-index:1;
  left:var(--screen-left); top:var(--screen-top);
  width:var(--screen-width); height:var(--screen-height);
  border-radius:min(24px,2.6vw); overflow:hidden; background:var(--c-black);
}
.tvHero__video{ width:100%; height:100%; display:block; object-fit:cover; }
.tvFx{ position:absolute; inset:0; pointer-events:none; }
.tvFx--scan{
  opacity:0; transition:opacity .25s ease;
  background:repeating-linear-gradient(to bottom,
    rgba(255,255,255,.06) 0, rgba(255,255,255,.06) 1px, transparent 2px);
  mix-blend-mode:screen;
}
.tvHero__wrap.is-playing .tvFx--scan{ opacity:.28; }

.tvFx--loading, .tvFx--nosignal{ display:none; align-items:center; justify-content:center; }
.tvHero__wrap.is-loading .tvFx--loading{ display:flex; background:rgba(0,0,0,.55); }
.tvHero__wrap.is-nosignal .tvFx--nosignal{
  display:flex;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 2px, transparent 2px 4px),
    #111;
}
.tvLoad{ display:flex; align-items:baseline; gap:.6ch; transform:translate(var(--load-dx),var(--load-dy)); }
.tvLoad__text{
  font:700 clamp(16px,2.2vw,24px)/1.1 Manrope,system-ui,sans-serif;
  letter-spacing:.28em; color:var(--c-grey-200); text-shadow:0 0 18px rgba(255,255,255,.18);
}
.tvDots{ display:inline-flex; gap:.4ch; }
.tvDots i{
  width:.5ch; height:.5ch; border-radius:50%;
  background:var(--c-grey-200); opacity:.2; transform:translateY(0);
  animation:tvDot 1.2s infinite ease-in-out;
}
.tvDots i:nth-child(2){ animation-delay:.2s; }
.tvDots i:nth-child(3){ animation-delay:.4s; }
@keyframes tvDot{
  0%,20%{ opacity:.2; transform:translateY(0) }
  50%   { opacity:1;  transform:translateY(-1px) }
  100%  { opacity:.2; transform:translateY(0) }
}

.tvFx--off{ display:none; background:var(--c-black); }
.tvHero__wrap.is-off .tvFx--off{ display:block; }
.tvHero__wrap.is-off .tvFx--off::before{
  content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:80%; height:8%;
  background:rgba(255,255,255,.9);
  box-shadow:0 0 18px rgba(255,255,255,.6), 0 0 64px rgba(255,255,255,.25);
  border-radius:50%; animation:crtOff .7s cubic-bezier(.2,.8,.2,1) forwards;
}
@keyframes crtOff{ 0%{width:80%;height:8%;opacity:1} 55%{width:8%;height:8%;opacity:1} 100%{width:0;height:0;opacity:0} }

.tvLed{
  position:absolute; z-index:4;
  top:9.9%; right:6.1%;
  width:12px; height:12px; border-radius:50%;
  background:radial-gradient(50% 50% at 50% 50%, var(--c-red) 0 45%, var(--c-red-dark) 60% 100%);
  box-shadow:0 0 0 0 rgba(255,48,48,.0);
  opacity:0; transition:opacity .2s ease;
}
.tvHero__wrap.is-playing .tvLed{ opacity:1; animation:ledPulse 1.1s ease-in-out infinite; }
@keyframes ledPulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(255,48,48,.55) } 50%{ box-shadow:0 0 14px 4px rgba(255,48,48,.55) } }

.tvBtns{
  position:absolute; z-index:4;
  right:4.2%; bottom:17.8%;
  width:133px;
  display:flex; justify-content:space-between; align-items:center;
}

.tvBtn{
  position:relative;
  width: 38px;
  height: 29px;
  border-radius:6px; display:grid; place-items:center;
  cursor:pointer; outline:none;
  background:linear-gradient(var(--c-grey-750),var(--c-grey-900));
  border:1px solid rgba(0,0,0,.65);
  box-shadow:0 2px 6px rgba(0,0,0,.45),
             inset 0 1px 1px rgba(255,255,255,.12),
             inset 0 -2px 3px rgba(0,0,0,.6);
  transition:transform .08s ease, background .12s ease, box-shadow .12s ease;
}
.tvBtn:hover{ transform:translateY(-1px); background:linear-gradient(var(--c-grey-700),var(--c-grey-800)); }
.tvBtn:active{ transform:translateY(0); }
.tvBtn svg{ width:60%; height:60%; fill:var(--c-white); opacity:.95; }

.tvBtn__label{
  position:absolute; right:calc(100% + 10px); top:50%; transform:translateY(-50%);
  white-space:nowrap; padding:.38em .6em; border-radius:10px;
  background:rgba(24,26,28,.92); color:var(--c-white); font-weight:700; font-size:.86rem;
  box-shadow:0 6px 16px rgba(0,0,0,.25);
  opacity:0; pointer-events:none; transition:opacity .15s ease, transform .15s ease;
  transform-origin:right center;
}
.tvBtn--next:hover .tvBtn__label,
.tvBtn--next:focus-visible .tvBtn__label,
.tvHero__wrap.show-hint .tvBtn--next .tvBtn__label{
  opacity:1; transform:translate(-2px,-50%);
}

/* The TV controls scale with the artwork, not eleven viewport breakpoints. */
.tvBtns{width:18%;right:4.2%}
.tvBtn{width:35%;height:auto;aspect-ratio:1.35}
.tvLed{width:1.6%;height:auto;aspect-ratio:1}
.tvBtn:focus-visible{outline:2px solid var(--c-bg-cream-1);outline-offset:4px}
@media(max-width:760px),(pointer:coarse){
 .tvHero__wrap:has(.tvBtns){margin-bottom:58px}
 .tvBtns{top:100%;bottom:auto;right:0;width:100%;gap:14px}
 .tvBtn{flex:1;display:flex;justify-content:center;gap:10px;width:auto;min-width:44px;height:44px;aspect-ratio:auto;padding:8px 12px;background:var(--c-paper);color:var(--c-text-dark);border:0;box-shadow:none;border-radius:var(--card-radius)}
 .tvBtn svg{flex:none;width:18px;height:18px;fill:currentColor}
 .tvBtn .tvBtn__label{position:static;white-space:normal;padding:0;transform:none!important;opacity:1;visibility:visible!important;pointer-events:none;background:none;color:inherit;font:500 11px/1.3 var(--font-body);box-shadow:none}
 .tvBtn:hover{background:#e9e1d4;transform:none}
 .tvBtn:focus-visible{outline-color:var(--c-accent-red)}
}


/* ===== CLIENTS ===== */
.clients_section{background:var(--c-text-dark);color:var(--c-on-dark);padding:40px 0 var(--section-space);overflow:clip}
.clients_section .section_kicker{color:var(--c-accent-on-dark)}
.clients_header{display:grid;grid-template-columns:1fr minmax(260px,.6fr);gap:48px;align-items:end}
.clients__title{margin:0;font:500 var(--section-title)/1.04 var(--font-body);letter-spacing:var(--type-tracking);text-transform:uppercase}
.clients__subtitle{margin:0;max-width:34ch;color:var(--c-muted-on-dark);font:450 var(--type-body)/1.7 var(--font-body)}
.clients_fullbleed{width:100%}
.clients_marquee{position:relative;overflow:hidden;padding:44px 0;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.clients_track{display:flex;align-items:center;gap:clamp(40px,6vw,90px);will-change:transform}
.clients__logo{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;color:var(--c-muted-on-dark);font:500 clamp(20px,2.5vw,34px)/1.2 var(--font-body);letter-spacing:-.04em}
.client_cases{display:flex;flex-wrap:wrap;gap:28px 56px}
.client_case{appearance:none;display:grid;grid-template-columns:1fr auto;gap:12px 40px;min-width:280px;max-width:100%;padding:24px 28px;border:0;border-radius:var(--card-radius);background:var(--c-paper);color:var(--c-text-dark);text-align:left;cursor:pointer;transition:background .2s}
.client_case:hover{background:#e9e1d4}
.client_case span{grid-column:1;color:var(--c-grey-600);font:550 10px/1.4 var(--font-body);letter-spacing:.12em}
.client_case strong{grid-column:1;font:500 clamp(24px,2.2vw,32px)/1.1 var(--font-body);letter-spacing:-.04em}
.client_case i{grid-column:2;grid-row:2;align-self:center;color:var(--c-accent-red);font:400 26px/1 var(--font-body);transition:transform .2s ease}
.client_case:hover i{transform:translate(4px,-4px)}
@media(max-width:760px){
 .clients_header{grid-template-columns:1fr;gap:28px}
 .clients_marquee{padding-block:36px}
}
@media(prefers-reduced-motion:reduce){
 .clients_marquee{mask-image:none}
 .clients_track{flex-wrap:wrap;justify-content:center;padding-inline:var(--page-gutter);gap:24px 36px;transform:none!important;will-change:auto}
}

/* ===== TESTIMONIALS ===== */
.testimonials_section{background:var(--c-bg-cream-1);color:var(--c-text-dark)}
.testimonials_container{padding-block:var(--section-space)}
.section_header{position:relative;margin:0 0 40px;padding-right:22%;max-width:100%}
.testimonials_sketch{position:absolute;right:8%;top:32%;width:17%;max-width:200px;height:auto;transform:rotate(9deg)}
.section_title{margin:0;font:500 var(--section-title)/1.04 var(--font-body);letter-spacing:var(--type-tracking);text-transform:uppercase;text-wrap:balance}
.section_subtitle{max-width:40ch;margin:24px 0 0;color:var(--c-grey-600);font:450 var(--type-body)/1.7 var(--font-body)}
.testimonials_grid{list-style:none;margin:0;padding:12px 6px 24px;display:grid;gap:32px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.testimonial_card{display:flex;flex-direction:column;align-items:start;gap:24px;padding:clamp(28px,3.5vw,48px);border-radius:var(--card-radius);background:var(--c-paper);rotate:-1deg;transition:rotate .3s}
.testimonial_card:nth-child(even){margin-top:40px;rotate:1deg;background:#fff}
@media(hover:hover){.testimonial_card:hover{rotate:0deg}}
.quote_mark{height:38px;color:var(--c-accent-red);font:400 86px/1 Georgia,serif}
.testimonial_text{margin:0;font:450 clamp(16px,1.4vw,20px)/1.7 var(--font-body);letter-spacing:-.02em;text-wrap:pretty}
.testimonial_author{display:flex;align-items:center;gap:12px;margin-top:4px}
.author_avatar{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--c-text-dark);color:var(--c-bg-cream-1);font:500 13px/1 var(--font-body)}
.author_avatar--image{overflow:hidden}
.author_avatar--image img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.author_info h4{margin:0 0 4px;font:600 13px/1.4 var(--font-body)}
.author_info p{margin:0;color:var(--c-grey-600);font:450 12px/1.4 var(--font-body)}
@media(max-width:760px){
 .section_header{padding-right:0}
 .testimonials_sketch{position:static;display:block;width:130px;max-width:40%;margin:28px 12px 0 auto}
 .testimonials_grid{grid-template-columns:1fr;gap:48px;padding:0}
 .testimonial_card:nth-child(even){margin-top:0}
 .testimonial_card{gap:18px}
}

/* ===== FOOTER ===== */
.site_footer{background:var(--c-text-dark);color:var(--c-bg-cream-1)}
.footer_container{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.7fr);column-gap:8%;row-gap:36px;align-items:end;padding-block:var(--section-space) 36px}
.footer_opening{grid-column:1;grid-row:1}
.footer_opening .section_kicker{color:#ff8273}
.footer_heading{margin:0;max-width:14ch;font:500 clamp(38px,5.8vw,84px)/1.04 var(--font-body);letter-spacing:var(--type-tracking)}
.footer_hello{grid-column:2;grid-row:2;display:flex;align-items:center;gap:18px;flex-wrap:wrap;align-self:center;justify-self:start;min-height:60px;color:var(--c-bg-cream-1);font:350 clamp(28px,3vw,42px)/1.3 var(--font-hand);text-decoration:none;rotate:-4deg}
.footer_hello svg{width:60px;fill:none;stroke:#ff8273;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:translate .2s}
.footer_hello span{flex-basis:100%;font:500 11px/1.4 var(--font-body);color:#bfc3c1;rotate:4deg}
.footer_hello:hover svg{translate:5px -4px}
.footer_left{min-width:0}
.footer_contact,.footer_contact:link,.footer_contact:visited{color:var(--c-bg-cream-1);text-decoration:none}
.footer__email{display:inline-block;max-width:100%;overflow-wrap:anywhere;font:450 clamp(20px,2.8vw,38px)/1.3 var(--font-body);letter-spacing:-.03em}
.footer_phone_row{margin-top:16px}
.footer__phone{display:inline-block;font:450 clamp(24px,3vw,40px)/1.2 var(--font-body);letter-spacing:-.035em}
.footer_contact:hover{color:var(--c-accent-red)}
.footer_social{display:flex;flex-wrap:wrap;gap:14px 28px;list-style:none;margin:28px 0 0;padding:0}
.footer_social_link{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:rgba(255,250,241,.7);text-decoration:none;font:450 14px/1.4 var(--font-body)}
.footer_social_link:hover{color:var(--c-bg-cream-1)}
.social_ico{width:20px;height:20px;flex:0 0 20px}
.social_ico--fill *{fill:currentColor;stroke:none}
.footer_credit{display:flex;align-items:center;gap:10px;margin-top:24px;color:rgba(255,250,241,.45);font:450 10px/1.5 var(--font-body)}
.credit_logo{height:18px;width:auto;filter:brightness(0) invert(1);opacity:.55}
.credit_link{color:rgba(255,250,241,.65);font-weight:550;text-decoration:none}
.footer_right{align-self:start;justify-self:start;padding-top:8px}
.footer_btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:44px;max-width:100%;padding:0;color:var(--c-bg-cream-1);text-decoration:none;font:550 11px/1.5 var(--font-body);letter-spacing:.06em;text-transform:uppercase}
.footer_btn::after{content:"↓";color:var(--c-accent-red);font-size:24px;transition:transform .2s ease}
.footer_btn:hover::after{transform:translateY(4px)}
@media(max-width:900px){
 .footer_container{grid-template-columns:1fr;gap:28px}
 .footer_opening,.footer_hello{grid-column:1;grid-row:auto}
 .footer_heading{margin-bottom:8px}
 .footer_hello{margin-bottom:22px;font-size:32px}
 .footer_right{justify-self:start}
}

/* ===== CLIENT MODAL ===== */
.cmodal[hidden]{display:none}

.cmodal{
  position:fixed; inset:0; z-index:1000;
}

.cmodal__backdrop{
  position:absolute; inset:0;
  background:rgba(3,14,18,.62);
  backdrop-filter:blur(6px);
}

.cmodal__dialog{
  position:absolute; left:50%; top:50%;
  transform:translate(-50%,-50%);
  width:min(720px, calc(100vw - 32px));
  max-height:calc(100vh - 32px);
  overflow:auto;
  background:var(--c-bg-cream-1); color:var(--c-text-dark);
  border:1px solid rgba(3,14,18,.08);
  border-radius:2px;
  box-shadow:0 24px 64px rgba(0,0,0,.35);
  padding:24px clamp(18px,4vw,32px) 22px;
}

.cmodal__header{margin-bottom:8px}
.cmodal__title{
  margin:0; font:700 clamp(18px,3.4vw,28px)/1.1 Manrope,system-ui,sans-serif;
}
.cmodal__subtitle{
  margin:6px 0 0; color:var(--c-grey-450); font:600 13px/1.3 Manrope,system-ui,sans-serif;
  text-transform:uppercase; letter-spacing:.08em; opacity:.9;
}

.cmodal__body{margin-top:8px}
.cmodal__quote{margin:0 0 18px; font:450 16px/1.65 var(--font-body); font-style:normal}

.cmodal__avatar{
  width:44px; height:44px; flex:0 0 44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--c-accent-teal-1) 0%, var(--c-accent-teal-2) 100%);
  color:var(--c-bg-cream-1); font:700 14px/1 Manrope,system-ui,sans-serif;
  border:1px solid rgba(255,255,255,.12);
}
.cmodal__author{display:flex;align-items:center;gap:14px;margin-top:12px}
.cmodal__author-info{display:flex;flex-direction:column}
.cmodal__author-name{margin:0 0 3px;font:700 16px/1.15 Manrope,system-ui,sans-serif;color:var(--c-text-dark)}
.cmodal__author-role{font:600 12px/1.2 Manrope,system-ui,sans-serif;color:var(--c-grey-500)}

.cmodal__footer{margin-top:18px; display:flex; justify-content:flex-end}
.cmodal__btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:12px 18px; border-radius:2px; border:0;
  background:var(--c-accent-teal-1); color:var(--c-bg-cream-1); cursor:pointer;
  font:700 13px/1 Manrope,system-ui,sans-serif; letter-spacing:.06em; text-transform:uppercase;
  transition:transform .2s ease, opacity .2s ease, background-color .2s ease, box-shadow .2s ease;
  box-shadow:none;
}
.cmodal__btn:hover{transform:translateY(-1px); background:var(--c-accent-teal-2)}
.cmodal__btn:active{transform:none; opacity:.92}
.cmodal__btn:focus-visible{outline:2px solid var(--c-accent-red); outline-offset:2px}
.cmodal__avatar.is-hidden{display:none;}
.cmodal__avatar--image{overflow:hidden; padding:0; background:none;}
.cmodal__avatar--image img{ display:block; width:100%; height:100%; object-fit:cover; }

@media (prefers-reduced-motion:reduce){
  .cmodal__backdrop{backdrop-filter:none}
}

/* ===== REVEAL CORE ===== */
.reveal{
  will-change: transform, opacity;
}
.reveal.reveal-ready{
  opacity: 0;
  transition:
    transform var(--reveal-dur) var(--reveal-ease),
    opacity   var(--reveal-dur) var(--reveal-ease);
}
.reveal.reveal-ready.is-inview{
  opacity: 1;
  transform: none;
}
.reveal.is-inview[data-delay="1"]{ transition-delay: calc(var(--reveal-stagger) * 1); }
.reveal.is-inview[data-delay="2"]{ transition-delay: calc(var(--reveal-stagger) * 2); }
.reveal.is-inview[data-delay="3"]{ transition-delay: calc(var(--reveal-stagger) * 3); }
.reveal.is-inview[data-delay="4"]{ transition-delay: calc(var(--reveal-stagger) * 4); }

@media (prefers-reduced-motion:no-preference){
  .reveal.reveal-ready{ transform: translateY(10px); }
  .reveal[data-appear="fade-up"]{ transform: translateY(14px); }
  .reveal[data-appear="fade-down"]{ transform: translateY(-14px); }
  .reveal[data-appear="fade-left"]{ transform: translateX(14px); }
  .reveal[data-appear="fade-right"]{ transform: translateX(-14px); }
  .reveal[data-appear="scale"]{ transform: scale(.97); }

  .reveal.is-inview[data-speed="slow"]  { transition-duration: calc(var(--reveal-dur) * 1.5); }
  .reveal.is-inview[data-speed="xslow"] { transition-duration: calc(var(--reveal-dur) * 2); }
}

/* ===== PRIVACY CENTER / COOKIE CONSENT ===== */
.footer_legal{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:24px;max-width:760px}
.footer_legal button,.media_legal_footer button{
  appearance:none;border:0;padding:0;background:none;color:rgba(255,250,241,.65);cursor:pointer;min-height:44px;
  font:600 12px/1.4 Manrope,system-ui,sans-serif;text-decoration:underline;text-decoration-color:transparent;
  text-underline-offset:4px;transition:color .2s ease,text-decoration-color .2s ease
}
.footer_legal button:hover,.media_legal_footer button:hover{color:var(--c-bg-cream-2);text-decoration-color:currentColor}
.footer_copyright{margin:4px 0 0;color:var(--c-grey-350);font:500 11px/1.4 Manrope,system-ui,sans-serif}

.cookie-banner[hidden],.privacy-modal[hidden]{display:none!important}
.cookie-banner{
  position:fixed;z-index:1400;left:clamp(12px,2vw,28px);right:clamp(12px,2vw,28px);bottom:clamp(12px,2vw,28px);
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;
  max-width:1040px;margin-inline:auto;padding:22px;
  border:1px solid rgba(255,250,241,.16);border-radius:2px;
  background:rgba(3,14,18,.97);color:var(--c-bg-cream-2);box-shadow:0 24px 80px rgba(0,0,0,.42);
  backdrop-filter:blur(16px);opacity:0;transform:translateY(18px);transition:opacity .25s ease,transform .25s ease
}
.cookie-banner.is-open{opacity:1;transform:none}
.cookie-banner__eyebrow,.privacy-modal__eyebrow{display:block;margin-bottom:7px;color:var(--c-accent-red);font:700 10px/1 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.cookie-banner h2{margin:0 0 7px;font:550 20px/1.2 var(--font-body);letter-spacing:-.015em}
.cookie-banner p{max-width:700px;margin:0;color:rgba(255,250,241,.72);font:500 13px/1.55 Manrope,sans-serif}
.cookie-banner__link{appearance:none;border:0;background:none;color:var(--c-bg-cream-2);cursor:pointer;font:inherit;padding:0;text-decoration:underline;text-underline-offset:3px}
.cookie-banner__actions,.privacy-modal__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}
.cookie-button{appearance:none;min-height:44px;padding:11px 16px;border:1px solid transparent;border-radius:2px;cursor:pointer;font:700 11px/1.2 Manrope,sans-serif;letter-spacing:.035em;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.cookie-button:hover{transform:translateY(-1px)}
.cookie-button--primary{background:var(--c-bg-cream-2);color:var(--c-text-dark)}
.cookie-button--ghost{border-color:rgba(255,250,241,.24);background:transparent;color:var(--c-bg-cream-2)}

body.privacy-modal-open{overflow:hidden}
.privacy-modal{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:16px}
.privacy-modal__backdrop{position:absolute;inset:0;border:0;background:rgba(3,14,18,.72);backdrop-filter:blur(8px);cursor:default}
.privacy-modal__dialog{position:relative;width:min(680px,100%);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid rgba(3,14,18,.1);border-radius:2px;background:var(--c-bg-cream-1);color:var(--c-text-dark);box-shadow:0 24px 64px rgba(0,0,0,.3);padding:clamp(24px,4vw,42px)}
.privacy-modal__dialog--legal{width:min(980px,100%)}
.privacy-modal__dialog h2{margin:0 44px 12px 0;font:700 clamp(24px,4vw,42px)/1.04 Manrope,sans-serif;letter-spacing:-.035em}
.privacy-modal__dialog>p{margin:0 0 22px;color:var(--c-grey-500);font:500 14px/1.6 Manrope,sans-serif}
.privacy-modal__close{position:absolute;right:16px;top:14px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(3,14,18,.14);border-radius:50%;background:transparent;color:var(--c-text-dark);cursor:pointer;font:400 30px/1 sans-serif}
.cookie-category{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 0;border-top:1px solid rgba(3,14,18,.12)}
.cookie-category strong,.cookie-category small{display:block}.cookie-category strong{font:700 15px/1.3 Manrope,sans-serif}.cookie-category small{margin-top:5px;color:var(--c-grey-500);font:500 12px/1.5 Manrope,sans-serif}
.cookie-category__state{padding:7px 9px;border-radius:999px;background:rgba(3,14,18,.08);font:700 10px/1 Manrope,sans-serif;text-transform:uppercase}
.cookie-category--toggle{cursor:pointer}.cookie-category--toggle input{position:absolute;opacity:0;pointer-events:none}
.cookie-switch{position:relative;width:50px;height:28px;border-radius:999px;background:rgba(3,14,18,.18);transition:background .2s ease}
.cookie-switch::after{content:"";position:absolute;left:4px;top:4px;width:20px;height:20px;border-radius:50%;background:white;box-shadow:0 2px 7px rgba(0,0,0,.25);transition:transform .2s ease}
.cookie-category input:checked+.cookie-switch{background:var(--c-accent-teal-1)}.cookie-category input:checked+.cookie-switch::after{transform:translateX(22px)}
.cookie-category input:focus-visible+.cookie-switch{outline:2px solid var(--c-accent-teal-1);outline-offset:3px}
.privacy-modal__actions{padding-top:20px;border-top:1px solid rgba(3,14,18,.12)}
.privacy-modal__dialog .cookie-button--ghost{color:var(--c-text-dark);border-color:rgba(3,14,18,.18)}
.privacy-modal__dialog .cookie-button--primary{background:var(--c-text-dark);color:var(--c-bg-cream-2)}

.legal-tabs{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;gap:7px;margin:-8px 52px 28px 0;padding:8px 0;background:var(--c-bg-cream-1)}
.legal-tabs button{appearance:none;border:1px solid rgba(3,14,18,.14);border-radius:999px;background:transparent;color:var(--c-text-dark);cursor:pointer;padding:9px 13px;font:700 11px/1 Manrope,sans-serif}
.legal-tabs button.is-active{background:var(--c-text-dark);color:var(--c-bg-cream-2)}
.legal-document[hidden]{display:none}.legal-document{max-width:820px}.legal-document h2{max-width:760px}.legal-document h3{margin:25px 0 8px;font:700 16px/1.3 Manrope,sans-serif}.legal-document p,.legal-document li{color:#3f494e;font:500 14px/1.68 Manrope,sans-serif}.legal-document p{margin:0 0 12px}.legal-document a{color:var(--c-accent-teal-1)}
.legal-cookie-table{display:grid;gap:10px;margin:18px 0}.legal-cookie-table>div{padding:15px;border:1px solid rgba(3,14,18,.12);border-radius:10px}.legal-cookie-table strong,.legal-cookie-table span{display:block;overflow-wrap:anywhere}.legal-cookie-table strong{font:700 13px/1.3 monospace}.legal-cookie-table span{margin:4px 0 7px;color:var(--c-accent-teal-1);font:700 10px/1.3 Manrope,sans-serif;text-transform:uppercase}.legal-cookie-table p{margin:0;font-size:12px}

.media_legal_footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px clamp(20px,5vw,72px);background:var(--c-text-dark);color:var(--c-grey-250);font:500 11px/1.4 Manrope,sans-serif}.media_legal_footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 18px}

@media(max-width:820px){.cookie-banner{grid-template-columns:1fr}.cookie-banner__actions{justify-content:flex-start}.analytics-grid{grid-template-columns:1fr}}
@media(max-width:560px){.cookie-banner{bottom:8px;left:8px;right:8px;padding:18px}.cookie-banner__actions{display:grid;grid-template-columns:1fr 1fr}.cookie-banner__actions .cookie-button--primary{grid-column:1/-1;grid-row:1}.privacy-modal{padding:8px}.privacy-modal__dialog{max-height:calc(100dvh - 16px);padding:22px 17px}.privacy-modal__dialog h2{font-size:25px}.privacy-modal__actions{display:grid;grid-template-columns:1fr}.legal-tabs{margin-right:40px;overflow-x:auto;flex-wrap:nowrap}.media_legal_footer{align-items:flex-start;flex-direction:column}.media_legal_footer nav{justify-content:flex-start}}

@media(prefers-reduced-motion:reduce){.cookie-banner{transition:none}.privacy-modal__backdrop{backdrop-filter:none}}
@font-face{font-family:Manrope;src:url("../../control/fonts/manrope-latin.101877a7a906.woff2") format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url("../../control/fonts/manrope-cyrillic.8fc0aa17e129.woff2") format('woff2');font-weight:400 800;font-style:normal;font-display:swap;unicode-range:U+0400-052F,U+2DE0-2DFF,U+A640-A69F}
@font-face{font-family:"Shantell Sans";src:url("../fonts/shantell-sans-latin.3aaa42ab8fe9.woff2") format('woff2');font-weight:300 500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Shantell Sans";src:url("../fonts/shantell-sans-cyrillic.384c9a8e8053.woff2") format('woff2');font-weight:300 500;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
picture{display:contents}
