/* Технический директор LIRVÉ — сайт-визитка
   Дизайн-система сайта LIRVE: 12 колонок, поля --pad, межколонник --gap.
   Белая подложка, почти чёрный основной, кобальтовый синий акцент вместо оранжевого. */
@font-face{font-family:'Unbounded';font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/unbounded-400.woff2) format('woff2')}
@font-face{font-family:'Unbounded';font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/unbounded-700.woff2) format('woff2')}
@font-face{font-family:'Unbounded';font-weight:900;font-style:normal;font-display:swap;src:url(../fonts/unbounded-900.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/playfair-italic.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/mono-400.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/mono-700.woff2) format('woff2')}

:root{
  --bg:#ffffff;
  --ink:#0a0c14;
  --accent:#1e3dff;
  --accent-deep:#0b1a5c;
  --accent-soft:#9db0ff;
  --soft:#f1f3f9;
  --muted:#5c6275;
  --line:rgba(10,12,20,.14);
  --on-accent:#ffffff;
  --on-dark:#ffffff;
  --display:'Unbounded','Arial Black',system-ui,sans-serif;
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
  --pad:clamp(16px,3.6vw,56px);
  --gap:clamp(12px,1.6vw,24px);
  --max:1600px;
  --ease:cubic-bezier(.7,0,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--display);font-weight:400;font-size:15px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
::selection{background:var(--accent);color:var(--on-accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}

.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-left:max(var(--pad),env(safe-area-inset-left,0px));padding-right:max(var(--pad),env(safe-area-inset-right,0px))}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.mono{font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase}
.serif{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:0}
.dot{color:var(--accent);font-style:normal}
.label{display:flex;gap:10px;align-items:center}
.label::before{content:"";width:8px;height:8px;background:var(--accent);flex:none}
.label--light::before{background:var(--on-accent)}

/* ---------- Прелоадер ---------- */
.loader{position:fixed;inset:0;z-index:100;background:var(--bg);display:grid;place-items:center;pointer-events:none}
.loader__mark{width:min(16vw,92px);aspect-ratio:845/1505;position:relative}
.loader__mark svg{position:absolute;inset:0;width:100%;height:100%;color:var(--line)}
.loader__mark .fill{color:var(--accent);clip-path:inset(100% 0 0 0)}
.loader__row{position:absolute;left:var(--pad);right:var(--pad);bottom:calc(var(--pad) + env(safe-area-inset-bottom,0px));display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.loader__count{font-family:var(--display);font-weight:900;font-size:clamp(48px,9vw,140px);line-height:.8;font-variant-numeric:tabular-nums}
.loader__count span{color:var(--accent)}
.loader__bar{position:absolute;left:0;bottom:0;height:4px;width:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0)}
.loader__curtain{position:absolute;inset:0;background:var(--accent);transform:translateY(100%)}
.no-js .loader,.reduced .loader{display:none}

/* ---------- Курсор ---------- */
.cursor{position:fixed;left:0;top:0;z-index:90;pointer-events:none;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--accent);transition:width .35s var(--ease-out),height .35s var(--ease-out),margin .35s var(--ease-out),background .3s,border-color .3s;display:grid;place-items:center;opacity:0}
.cursor__label{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--on-accent);opacity:0;transition:opacity .2s;white-space:nowrap}
.cursor.is-big{width:96px;height:96px;margin:-48px 0 0 -48px}
.cursor.is-big .cursor__label{opacity:1}
.cursor.is-link{width:40px;height:40px;margin:-20px 0 0 -20px;background:transparent;border:1.5px solid var(--accent)}
.cursor.on-blue{background:var(--on-accent)}
.cursor.on-blue .cursor__label{color:var(--accent)}
.cursor.on-blue.is-link{background:transparent;border-color:var(--on-accent)}
@media (hover:hover) and (pointer:fine){.cursor-on .cursor{opacity:1}}

.progress{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);z-index:60}

/* ---------- Шапка ---------- */
.header{position:fixed;left:0;right:0;top:0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:transform .5s var(--ease),background .3s}
.header.is-hidden{transform:translateY(-110%)}
.header.is-solid{background:rgba(255,255,255,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.header__in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:18px;letter-spacing:-.01em}
.brand svg{height:30px;width:auto;aspect-ratio:845/1505;transition:transform .6s var(--ease),color .3s}
.brand:hover svg{transform:rotate(-12deg);color:var(--accent)}
.nav{display:flex;gap:clamp(14px,2vw,30px)}
.nav a{position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1.5px;background:var(--accent);transform:scaleX(0);transform-origin:100% 50%;transition:transform .45s var(--ease)}
.nav a:hover::after,.nav a.is-active::after{transform:scaleX(1);transform-origin:0 50%}
.nav a.is-active{color:var(--accent)}
.header__right{display:flex;align-items:center;gap:18px}
.clock{color:var(--muted);font-variant-numeric:tabular-nums}
.burger{display:none;width:44px;height:44px;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:2px;background:var(--ink);transition:transform .4s var(--ease),top .4s var(--ease),background .3s}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.menu-open .burger span{background:var(--on-accent)}
.menu-open .burger span:first-child{top:21px;transform:rotate(45deg)}
.menu-open .burger span:last-child{top:21px;transform:rotate(-45deg)}
.menu-open .header{background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.menu-open .brand{color:var(--on-accent)}

.menu{position:fixed;inset:0;z-index:45;background:var(--accent);color:var(--on-accent);clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease);display:flex;flex-direction:column;justify-content:flex-end;padding-top:96px;padding-bottom:calc(var(--pad) + env(safe-area-inset-bottom,0px));padding-left:max(var(--pad),env(safe-area-inset-left,0px));padding-right:max(var(--pad),env(safe-area-inset-right,0px))}
.menu-open .menu{clip-path:inset(0 0 0 0)}
.menu__links a{display:block;font-weight:900;font-size:clamp(28px,8.2vw,64px);line-height:1.08;text-transform:uppercase;letter-spacing:-.02em}
.menu__foot{display:flex;justify-content:space-between;gap:16px;margin-top:40px;flex-wrap:wrap}

/* ---------- Кнопки ---------- */
.btn{--b:var(--ink);--f:var(--bg);position:relative;display:inline-flex;align-items:center;gap:14px;height:52px;padding:0 22px;border:1.5px solid var(--b);background:var(--b);color:var(--f);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;overflow:hidden;isolation:isolate;white-space:nowrap;transition:color .4s var(--ease),border-color .4s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;background:var(--accent);transform:translateY(101%);transition:transform .5s var(--ease);z-index:-1}
.btn:hover::before{transform:none}
.btn:hover{color:var(--on-accent);border-color:var(--accent)}
.btn .arr{display:inline-block;transition:transform .5s var(--ease)}
.btn:hover .arr{transform:translateX(4px) rotate(-45deg)}
.btn--ghost{--b:var(--ink);background:transparent;color:var(--ink)}
.btn--small{height:40px;padding:0 16px}

/* ---------- Заголовки секций ---------- */
.section{padding-block:clamp(80px,11vw,160px)}
.s-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:end;margin-bottom:clamp(40px,6vw,88px)}
.s-head__label{grid-column:1/4;display:flex;gap:10px;align-items:center;align-self:start;padding-top:12px}
.s-head__label::before{content:"";width:8px;height:8px;background:var(--accent)}
.s-head__title{grid-column:4/13;font-weight:900;font-size:clamp(34px,6.6vw,112px);line-height:.92;letter-spacing:-.035em;text-transform:uppercase;text-wrap:balance}
.s-head__title sup{font-family:var(--mono);font-weight:400;font-size:clamp(12px,1.2vw,16px);letter-spacing:.04em;vertical-align:top;margin-left:.4em;color:var(--accent)}
.s-head__note{grid-column:4/10;margin-top:24px;color:var(--muted);max-width:56ch;font-family:var(--serif);font-style:italic;font-size:clamp(18px,1.6vw,24px);line-height:1.3}
.line-mask{display:block;overflow:hidden;padding-top:.16em;margin-top:-.16em;padding-bottom:.04em;margin-bottom:-.04em}
.line-mask>span{display:block}

/* ---------- Hero ---------- */
.hero{position:relative;padding-top:calc(96px + env(safe-area-inset-top,0px));padding-bottom:0;overflow:hidden}
.hero__meta{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);border-top:1px solid var(--ink);padding-top:12px}
.hero__meta>*{grid-column:span 3}
.hero__meta>*:nth-child(2){grid-column:4/7}
.hero__meta>*:last-child{text-align:right}
.hero__main{margin-top:clamp(28px,4vw,56px);align-items:stretch}
.hero__copy{grid-column:1/9;display:flex;flex-direction:column;justify-content:space-between;gap:36px;min-width:0}
.hero__title{font-weight:900;font-size:clamp(34px,6.1vw,98px);line-height:.94;letter-spacing:-.04em;text-transform:uppercase;position:relative;height:calc(2 * 1.1em - .12em)}
.hero__phrase{position:absolute;inset:0;visibility:hidden}
.hero__phrase.is-on{visibility:visible}
.hero__phrase .ln{display:block;overflow:hidden;height:1.1em;line-height:1.1;white-space:nowrap}
.hero__phrase .ln+.ln{margin-top:-.12em}
.hero__phrase .ch{display:inline-block;will-change:transform}
.hero__title .it{font-family:var(--serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:-.01em;font-size:1.18em;line-height:.8;color:var(--accent)}
.hero__bottom{display:flex;flex-direction:column;gap:28px}
.hero__lead{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;max-width:640px}
.hero__lead p{font-family:var(--serif);font-style:italic;font-size:clamp(20px,1.9vw,28px);line-height:1.25}
.hero__lead .tick{width:44px;height:44px;border:1.5px solid var(--ink);display:grid;place-items:center;font-family:var(--mono);font-size:12px}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px}
.hero__aud{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted)}
.hero__aud a{display:inline-flex;gap:8px;align-items:center;transition:color .3s}
.hero__aud a:hover{color:var(--accent)}
.hero__aud a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}

/* Панель с портретом: кадр дрона */
.ppanel{grid-column:9/13;position:relative;background:var(--accent-deep);color:var(--on-dark);display:flex;flex-direction:column;min-width:0;perspective:1200px;overflow:hidden;user-select:none;-webkit-user-select:none}
.ppanel__frame{position:relative;aspect-ratio:1080/1350;overflow:hidden;will-change:transform;max-width:100%}
.ppanel__img{position:absolute;inset:-3%;width:106%;height:106%;max-width:none;object-fit:cover;will-change:transform}
.ppanel.is-liquid .ppanel__img{filter:url(#liquid)}
.ppanel__frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(157,176,255,.28) 48%,transparent 62%);transform:translateX(-120%);transition:transform 1.2s var(--ease)}
.ppanel:hover .ppanel__frame::after{transform:translateX(120%)}
.hud{position:absolute;inset:14px;pointer-events:none;color:var(--on-dark)}
.hud__c{position:absolute;width:22px;height:22px;border:1.5px solid currentColor;opacity:.9}
.hud__c--tl{left:0;top:0;border-right:0;border-bottom:0}
.hud__c--tr{right:0;top:0;border-left:0;border-bottom:0}
.hud__c--bl{left:0;bottom:0;border-right:0;border-top:0}
.hud__c--br{right:0;bottom:0;border-left:0;border-top:0}
.hud .mono{font-size:10.5px;letter-spacing:.08em;text-shadow:0 1px 8px rgba(5,10,40,.6)}
.hud__top{position:absolute;left:30px;right:30px;top:3px;display:flex;justify-content:flex-start;gap:16px;font-variant-numeric:tabular-nums}
.hud__rec{display:inline-flex;gap:6px;align-items:center}
.hud__rec i{width:7px;height:7px;border-radius:50%;background:#ff4b4b;animation:rec 1.2s steps(1) infinite}
@keyframes rec{50%{opacity:0}}
.hud__side{position:absolute;right:2px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-variant-numeric:tabular-nums}
.hud__side b{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.02em}
.hud__bot{position:absolute;left:30px;right:30px;bottom:3px;display:flex;justify-content:space-between;gap:10px;font-variant-numeric:tabular-nums}
.hud__cross{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border:1px solid rgba(255,255,255,.75);border-radius:50%;will-change:transform}
.hud__cross::before,.hud__cross::after{content:"";position:absolute;background:rgba(255,255,255,.75)}
.hud__cross::before{left:50%;top:-10px;bottom:-10px;width:1px}
.hud__cross::after{top:50%;left:-10px;right:-10px;height:1px}
.hud__cross i{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px;border-radius:50%;background:var(--on-dark)}
.ppanel__foot{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;gap:12px}
.ppanel__bars{display:flex;gap:4px}
.ppanel__bars i{width:22px;height:3px;background:rgba(255,255,255,.25);position:relative;overflow:hidden}
.ppanel__bars i::after{content:"";position:absolute;inset:0;background:var(--on-dark);transform:scaleX(0);transform-origin:0 50%;animation:bar 6s linear infinite}
.ppanel__bars i:nth-child(2)::after{animation-delay:1.2s}.ppanel__bars i:nth-child(3)::after{animation-delay:2.4s}.ppanel__bars i:nth-child(4)::after{animation-delay:3.6s}.ppanel__bars i:nth-child(5)::after{animation-delay:4.8s}
@keyframes bar{0%{transform:scaleX(0)}20%,100%{transform:scaleX(1)}}

/* Бегущая строка */
.ticker{margin-top:clamp(36px,5vw,72px);background:var(--ink);color:var(--on-dark);overflow:hidden;padding-block:18px;white-space:nowrap}
.ticker__track{display:inline-flex;align-items:center;gap:40px;padding-right:40px;will-change:transform}
.ticker__item{display:inline-flex;align-items:center;gap:40px;font-weight:900;font-size:clamp(20px,2.6vw,38px);letter-spacing:-.02em;text-transform:uppercase}
.ticker__item svg{height:.9em;width:auto;aspect-ratio:845/1505;color:var(--accent-soft)}

/* ---------- Манифест ---------- */
.about__side{grid-column:1/4;display:flex;flex-direction:column;gap:28px;align-self:start}
.about__mark{width:clamp(64px,7vw,110px);aspect-ratio:845/1505;position:relative}
.about__mark svg{position:absolute;inset:0;width:100%;height:100%;color:var(--line)}
.about__mark .fill{color:var(--accent);clip-path:inset(var(--m,100%) 0 0 0)}
.about__body{grid-column:4/13;display:flex;flex-direction:column;gap:28px}
.about__text{font-weight:700;font-size:clamp(24px,3.4vw,54px);line-height:1.12;letter-spacing:-.025em}
.about__text .w{color:rgba(10,12,20,.14);transition:color .25s}
.about__text .w.on{color:var(--ink)}
.about__text .w.acc.on{color:var(--accent)}
.about__text .serif{font-size:1.08em;letter-spacing:-.01em}
.about__sign{color:var(--muted)}
.stats{margin-top:clamp(56px,8vw,120px);grid-column:1/13;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--gap)}
.stat{position:relative;padding-top:20px;display:flex;flex-direction:column;gap:12px}
.stat::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--ink);transform-origin:0 50%;transform:scaleX(var(--s,1))}
.stat__n{font-weight:900;font-size:clamp(56px,6.4vw,104px);line-height:.85;letter-spacing:-.05em;font-variant-numeric:tabular-nums;display:flex;align-items:baseline}
.stat__n span{color:var(--accent)}
.stat:hover .stat__n b{color:var(--accent)}
.stat__n b{transition:color .4s}
.stat p{color:var(--muted);font-size:14px;line-height:1.5;max-width:26ch}

/* ---------- Направления ---------- */
.svc{border-top:1px solid var(--ink)}
.svc__row{position:relative;padding-inline:14px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:center;padding-block:clamp(20px,2.4vw,34px);border-bottom:1px solid var(--ink);isolation:isolate;overflow:hidden;transition:color .5s var(--ease)}
.svc__row::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--accent);transform:scaleY(0);transform-origin:50% var(--o,100%);transition:transform .6s var(--ease)}
.svc__row:hover{color:var(--on-accent)}
.svc__row:hover::before{transform:none}
.svc__n{grid-column:1/2;font-family:var(--mono);font-size:12px;color:var(--accent);transition:color .4s}
.svc__row:hover .svc__n{color:var(--on-accent)}
.svc__t{grid-column:2/7;font-weight:900;font-size:clamp(20px,2.5vw,38px);line-height:1;letter-spacing:-.03em;text-transform:uppercase;transition:transform .6s var(--ease)}
.svc__row:hover .svc__t{transform:translateX(12px)}
.svc__d{grid-column:7/12;font-size:14px;line-height:1.55;max-width:52ch;color:var(--muted);transition:color .4s}
.svc__row:hover .svc__d{color:rgba(255,255,255,.86)}
.svc__a{grid-column:12/13;justify-self:end;width:48px;height:48px;border:1.5px solid currentColor;display:grid;place-items:center;transition:transform .6s var(--ease),background .3s,color .3s}
.svc__a svg{width:22px;height:22px}
.svc__row:hover .svc__a{transform:rotate(-8deg) scale(1.08);background:var(--on-accent);color:var(--accent);border-color:var(--on-accent)}

/* ---------- Процесс ---------- */
.process{position:relative}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--gap);position:relative;padding-top:36px}
.steps__line{position:absolute;left:0;right:0;top:0;height:2px;background:var(--line)}
.steps__line b{position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:0 50%}
.step{position:relative;display:flex;flex-direction:column;gap:16px;min-width:0}
.step::before{content:"";position:absolute;top:-42px;left:0;width:14px;height:14px;background:var(--bg);border:2px solid var(--ink);transition:background .3s,border-color .3s,transform .5s var(--ease)}
.step.is-on::before{background:var(--accent);border-color:var(--accent);transform:rotate(45deg)}
.step__n{font-weight:900;font-size:clamp(56px,6.5vw,104px);line-height:.85;letter-spacing:-.05em;color:rgba(10,12,20,.1);transition:color .6s}
.step.is-on .step__n{color:var(--ink)}
.step h3{font-weight:700;font-size:clamp(17px,1.5vw,22px);line-height:1.2}
.step p{font-size:14px;color:var(--muted);line-height:1.55;max-width:34ch}

/* ---------- Навыки ---------- */
.chips{overflow:hidden;border-block:1px solid var(--line);padding-block:12px;margin-bottom:clamp(28px,4vw,48px);white-space:nowrap}
.chips__track{display:inline-flex;gap:28px;padding-right:28px}
.chips__track span{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;display:inline-flex;gap:28px;align-items:center}
.chips__track span::after{content:"";width:7px;height:7px;background:var(--accent);transform:rotate(45deg)}
.tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);perspective:1400px}
.tool{position:relative;border:1.5px solid var(--ink);padding:clamp(18px,2vw,28px);min-height:clamp(150px,14vw,220px);display:flex;flex-direction:column;justify-content:space-between;gap:24px;overflow:hidden;isolation:isolate;min-width:0;transform-style:preserve-3d;transition:color .5s,box-shadow .5s,border-color .5s}
.tool::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--accent);clip-path:circle(0 at var(--x,50%) var(--y,50%));transition:clip-path .8s var(--ease)}
.tool:hover{color:var(--on-accent);border-color:var(--accent);box-shadow:10px 10px 0 var(--ink)}
.tool:hover::before{clip-path:circle(150% at var(--x,50%) var(--y,50%))}
.tool__top{display:flex;justify-content:space-between;gap:12px;color:var(--muted);transition:color .4s}
.tool:hover .tool__top{color:rgba(255,255,255,.8)}
.tool__t{font-weight:900;font-size:clamp(24px,2.7vw,44px);line-height:1;letter-spacing:-.035em;text-transform:uppercase;overflow-wrap:break-word;hyphens:none}

/* ---------- Связь ---------- */
.contact{background:var(--accent);color:var(--on-accent);overflow:hidden;position:relative;isolation:isolate}
.contact__waves{position:absolute;inset:0;width:100%;height:100%;z-index:-1;display:block}
.contact__in{display:flex;flex-direction:column;gap:clamp(20px,3vw,40px)}
.contact__big{font-weight:900;font-size:clamp(44px,11vw,190px);line-height:.88;letter-spacing:-.05em;text-transform:uppercase}
.contact__big .caret{display:inline-block;animation:blink 1s steps(1) infinite}
.contact__big .outline{font-family:var(--serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:-.02em;color:var(--accent-soft);font-size:1.1em}
@keyframes blink{50%{opacity:0}}
.contact__row{margin-top:clamp(20px,4vw,56px);align-items:end;row-gap:var(--gap)}
.contact__intro{grid-column:1/4;display:flex;flex-direction:column;gap:20px;align-self:start}
.contact__intro p{font-family:var(--serif);font-style:italic;font-size:clamp(20px,1.8vw,26px);line-height:1.25}
.ways{grid-column:4/13;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.way{position:relative;background:var(--bg);color:var(--ink);padding:clamp(20px,2.2vw,30px);display:flex;flex-direction:column;gap:16px;min-height:270px;overflow:hidden;isolation:isolate;transition:color .5s;min-width:0}
.way::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);clip-path:circle(0 at var(--x,90%) var(--y,10%));transition:clip-path .8s var(--ease)}
.way:hover{color:var(--on-dark)}
.way:hover::before{clip-path:circle(150% at var(--x,90%) var(--y,10%))}
.way__top{display:flex;justify-content:space-between;align-items:center}
.way__ico{width:52px;height:52px;border:1.5px solid currentColor;display:grid;place-items:center;transition:background .4s,color .4s,border-color .4s}
.way:hover .way__ico{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.way__ico svg{width:24px;height:24px}
.way h3{font-weight:900;font-size:clamp(22px,2vw,32px);line-height:1;letter-spacing:-.03em}
.way p{font-size:14px;line-height:1.55;max-width:36ch;opacity:.8}
.way__go{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid currentColor;padding-top:14px;text-transform:none}
.way__go span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.way__go span:last-child{transition:transform .5s var(--ease)}
.way:hover .way__go span:last-child{transform:rotate(45deg)}
.contact__phone{grid-column:4/13;display:flex;align-items:center;gap:16px 24px;flex-wrap:wrap;border-top:1.5px solid var(--on-accent);padding-top:16px}
.contact__phone .mono{opacity:.8}
.contact__tel{font-weight:900;font-size:clamp(22px,2.6vw,40px);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-right:auto}
.contact__tel:hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.copy{height:44px;padding:0 16px;border:1.5px solid var(--on-accent);transition:background .3s,color .3s}
.copy:hover,.copy.is-done{background:var(--on-accent);color:var(--accent)}
.contact :focus-visible{outline-color:var(--on-accent)}

/* ---------- Подвал ---------- */
.footer{padding-top:clamp(56px,7vw,100px);padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));overflow:hidden}
.footer__cols{row-gap:32px}
.footer__col{grid-column:span 3;display:flex;flex-direction:column;gap:8px;min-width:0}
.footer__col .mono{color:var(--muted);margin-bottom:6px}
.footer__col a{transition:color .3s}
.footer__col a:hover{color:var(--accent)}
.footer__word{display:flex;align-items:flex-end;gap:2vw;margin-top:clamp(48px,7vw,100px);line-height:.76;font-weight:900;font-size:clamp(70px,21vw,340px);letter-spacing:-.06em;user-select:none}
.footer__word svg{height:.74em;width:auto;aspect-ratio:845/1505;flex:none;margin-bottom:.02em;color:var(--accent)}
.footer__word .ltr{display:inline-block;overflow:hidden;line-height:.8;padding-top:.2em;margin-top:-.2em}
.footer__word .ltr>span{display:inline-block}
.footer__base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px;padding-top:16px;border-top:1px solid var(--ink)}
.totop{transition:color .3s}
.totop:hover{color:var(--accent)}

/* ---------- Адаптив ---------- */
@media (max-width:1100px){
  .nav{display:none}
  .burger{display:block}
  .clock{display:none}
  .hero__copy{grid-column:1/13}
  .ppanel{grid-column:1/13;margin-top:40px;max-width:560px;width:100%}
  .hero__title{font-size:clamp(30px,9.4vw,98px)}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:64px}
  .steps__line{display:none}
  .step::before{top:-24px}
  .tools{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tool:last-child{grid-column:1/3}
  .contact__intro,.ways,.contact__phone{grid-column:1/13}
  .contact__intro{margin-bottom:16px}
}
@media (max-width:760px){
  body{font-size:14px}
  .header__right .btn{display:none}
  .hero__meta>*{grid-column:span 6!important;text-align:left!important}
  .hero__meta>*:nth-child(n+3){display:none}
  .hero__lead{grid-template-columns:1fr;gap:14px}
  .s-head__label,.s-head__title,.s-head__note,.about__body,.about__side{grid-column:1/13}
  .s-head__label{margin-bottom:18px}
  .about__side{margin-bottom:32px;flex-direction:row;align-items:flex-end;justify-content:space-between}
  .about__mark{width:52px}
  .svc__row{padding-inline:6px}
  .svc__n{grid-column:1/3;grid-row:1}
  .svc__t{grid-column:3/11;grid-row:1}
  .svc__a{grid-column:11/13;grid-row:1;width:40px;height:40px}
  .svc__a svg{width:18px;height:18px}
  .svc__d{grid-column:3/13;margin-top:10px}
  .steps{grid-template-columns:1fr;row-gap:48px}
  .tools{grid-template-columns:1fr 1fr}
  .tool{min-height:130px;padding:16px}
  .tool__t{font-size:clamp(16px,4.7vw,26px)}
  .ways{grid-template-columns:1fr}
  .way{min-height:210px}
  .footer__col{grid-column:span 6}
  .hud .mono{font-size:9px}
  .hud__bot span:last-child{display:none}
}
@media (max-width:420px){
  .stats{grid-template-columns:1fr 1fr;column-gap:16px}
  .stat__n{font-size:56px}
  .hero__cta .btn{flex:1 1 100%;justify-content:space-between}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
