:root{
    --gray:#efefef;
    --gray-2:#f5f5f5;
    --white:#ffffff;
    --ink:#111111;
    --ink-soft:#1a1a1a;
    --red:#c90306;
    --red-hover:#a80204;
    --red-deep:#5a0002;
    --text-2:#5c5b58;
    --text-3:#8a8a8a;
    --line:#e2dede;
    --ease:cubic-bezier(0.25,0.1,0.25,1);
    --ease-sheet:cubic-bezier(0.32,0.72,0,1);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--white);
    color:var(--ink);
    font-family:'Manrope',system-ui,sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;border:none;background:none;cursor:pointer;color:inherit;}
  input,textarea{font-family:inherit;}
  h1,h2,h3{margin:0;font-family:'Unbounded',system-ui,sans-serif;}
  p{margin:0;}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
  }

  .maxw{max-width:1440px;margin:0 auto;}
  .px{padding-left:20px;padding-right:20px;}
  @media (min-width:640px){ .px{padding-left:32px;padding-right:32px;} }
  @media (min-width:1024px){ .px{padding-left:48px;padding-right:48px;} }

  a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
    outline:2px solid var(--red);outline-offset:3px;
  }

  /* ---------------- text-roll button ---------------- */
  .roll-btn{
    position:relative;
    display:inline-flex;align-items:center;gap:14px;
    border-radius:999px;
    padding:6px 6px 6px 22px;
    font-size:13px;font-weight:600;
    transition:background .4s var(--ease);
    overflow:hidden;
    white-space:nowrap;
  }
  .roll-btn .roll{height:20px;overflow:hidden;}
  .roll-btn .roll-track{display:flex;flex-direction:column;transition:transform .5s var(--ease);}
  .roll-btn:hover .roll-track{transform:translateY(-50%);}
  .roll-btn .roll-track span{height:20px;line-height:20px;display:block;}
  .roll-btn .circ{
    width:30px;height:30px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    transition:transform .5s var(--ease);
    flex-shrink:0;
  }
  .roll-btn:hover .circ{transform:rotate(-45deg);}
  .roll-btn.dark{background:var(--ink);color:#fff;}
  .roll-btn.dark:hover{background:var(--red);}
  .roll-btn.dark .circ{background:#fff;color:var(--ink);}
  .roll-btn.red{background:var(--red);color:#fff;}
  .roll-btn.red:hover{background:var(--red-hover);}
  .roll-btn.red .circ{background:#fff;color:var(--red);}
  .roll-btn.nav-cta{background:var(--red);color:#fff;}
  .roll-btn.nav-cta:hover{background:var(--ink);}
  .roll-btn.nav-cta .circ{background:#fff;color:var(--red);}
  .roll-btn.nav-cta:hover .circ{color:var(--ink);}

  /* ---------------- NAV ---------------- */
  .nav-wrap{position:fixed;top:0;left:0;right:0;z-index:100;padding:10px 12px;}
  @media (min-width:640px){ .nav-wrap{padding:12px;} }
  .navbar{
    max-width:1440px;margin:0 auto;
    background:#fff;
    border-radius:999px;
    padding:5px;
    display:flex;align-items:center;justify-content:space-between;
    gap:16px;
    box-shadow:0 2px 14px rgba(0,0,0,.06);
  }
  .nav-left{display:flex;align-items:center;gap:22px;padding-left:10px;}
  .nav-logo-img{height:20px;width:auto;flex-shrink:0;}
  @media (min-width:640px){ .nav-logo-img{height:24px;} }
  .nav-links{display:none;align-items:center;gap:24px;}
  @media (min-width:768px){ .nav-links{display:flex;} }
  .nav-links a{font-size:14px;color:var(--ink);transition:color .3s;}
  .nav-links a:hover{color:var(--text-3);}

  .nav-right{display:none;align-items:center;gap:18px;}
  @media (min-width:768px){ .nav-right{display:flex;} }
  .nav-status{font-size:13px;color:var(--text-2);display:none;white-space:nowrap;}
  @media (min-width:1024px){ .nav-status{display:block;} }
  .nav-pres-link{display:none;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;padding:7px 12px;border-radius:999px;border:1px solid rgba(17,17,17,.14);transition:border-color .3s,background .3s,color .3s;}
  .nav-pres-link svg{width:14px;height:14px;flex:none;}
  .nav-pres-link:hover{border-color:var(--red);color:var(--red);background:rgba(201,3,6,.06);}
  @media (min-width:1200px){ .nav-pres-link{display:inline-flex;} }
  .nav-pres-link.mobile{display:inline-flex;justify-content:center;margin-bottom:12px;border-color:rgba(17,17,17,.14);color:var(--ink);}
  .nav-pres-link.mobile:hover{border-color:var(--red);color:var(--red);background:rgba(201,3,6,.06);}
  .nav-clock{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-2);white-space:nowrap;}
  .nav-clock svg{width:14px;height:14px;flex-shrink:0;}

  .burger{
    display:flex;md:hidden;width:42px;height:42px;border-radius:50%;
    background:var(--ink);color:#fff;align-items:center;justify-content:center;flex-shrink:0;
  }
  @media (min-width:768px){ .burger{display:none;} }
  .burger svg{width:17px;height:17px;}

  .mobile-sheet-backdrop{
    position:fixed;inset:0;z-index:98;background:rgba(0,0,0,.6);
    opacity:0;pointer-events:none;transition:opacity .4s var(--ease-sheet);
  }
  .mobile-sheet-backdrop.open{opacity:1;pointer-events:auto;}
  .mobile-sheet{
    position:fixed;left:12px;right:12px;bottom:12px;z-index:99;
    background:#fff;border-radius:20px;
    padding:26px 22px 22px;
    transform:translateY(120%);
    transition:transform .5s var(--ease-sheet);
  }
  .mobile-sheet.open{transform:translateY(0);}
  .sheet-time{font-size:13px;color:var(--text-3);margin-bottom:18px;}
  .sheet-links a{
    display:block;font-family:'Unbounded',sans-serif;
    font-size:clamp(24px,7vw,30px);font-weight:500;
    padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);
  }
  .sheet-cta{margin-top:22px;}

  /* ---------------- HERO ---------------- */
  .hero{
    position:relative;min-height:100vh;
    background:#0b0b0b;
    display:flex;flex-direction:column;
    overflow:hidden;
    color:#fff;
  }
  .hero-fx{position:absolute;inset:0;z-index:1;pointer-events:none;}
  .hero-fx .blob{
    position:absolute;border-radius:50%;filter:blur(100px);
    opacity:.6;animation:driftx 24s ease-in-out infinite;
  }
  .hero-fx .b1{width:620px;height:620px;background:radial-gradient(circle,rgba(201,3,6,.65),rgba(201,3,6,0) 70%);top:-240px;right:-180px;}
  .hero-fx .b2{width:520px;height:520px;background:radial-gradient(circle,rgba(90,0,2,.55),rgba(90,0,2,0) 70%);bottom:-220px;left:-160px;animation-duration:28s;animation-delay:-8s;}
  .hero-fx .b3{width:380px;height:380px;background:radial-gradient(circle,rgba(201,3,6,.3),rgba(201,3,6,0) 70%);top:30%;left:38%;animation-duration:20s;animation-delay:-4s;opacity:.5;}
  .hero-fx .grain{
    position:absolute;inset:0;opacity:.05;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  @keyframes driftx{
    0%,100%{transform:translate(0,0) scale(1);}
    50%{transform:translate(-36px,44px) scale(1.1);}
  }

  /* giant ghost words, like the original site's SEO / WEB / TRAFFIC / CLIENTS */
  .hero-ghosts{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;}
  .ghost-word{
    position:absolute;
    font-family:'Unbounded',sans-serif;font-weight:800;
    color:rgba(255,255,255,.05);
    line-height:.85;white-space:nowrap;
    letter-spacing:-.02em;
    animation:ghostfloat 16s ease-in-out infinite, ghostin 1.6s var(--ease) both;
  }
  .ghost-word.g1{top:8%;left:4%;font-size:clamp(3rem,12vw,9rem);animation-delay:0s,0s;}
  .ghost-word.g2{top:32%;left:-2%;font-size:clamp(4rem,17vw,13rem);color:rgba(255,255,255,.06);animation-delay:0s,.15s;animation-duration:20s,1.6s;}
  .ghost-word.g3{bottom:6%;left:6%;font-size:clamp(3rem,13vw,9.5rem);color:rgba(201,3,6,.14);animation-delay:0s,.3s;animation-duration:18s,1.6s;}
  .ghost-word.g4{top:14%;right:2%;font-size:clamp(2.4rem,9vw,6.5rem);animation-delay:0s,.45s;animation-duration:22s,1.6s;}
  @keyframes ghostfloat{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-22px);}
  }
  @keyframes ghostin{
    from{opacity:0;transform:translateY(28px);}
    to{opacity:1;transform:translateY(0);}
  }
  @media (max-width:760px){ .hero-ghosts{display:none;} }

  .hero-topspace{height:96px;position:relative;z-index:2;}
  .hero-body{position:relative;z-index:2;flex:1;display:flex;align-items:flex-end;padding-bottom:56px;}
  @media (min-width:640px){ .hero-body{padding-bottom:64px;} }
  @media (min-width:1024px){ .hero-body{padding-bottom:80px;} }

  .hero-label{
    font-size:13px;color:rgba(255,255,255,.7);letter-spacing:.14em;margin-bottom:20px;
    text-transform:uppercase;display:flex;align-items:center;gap:10px;
    opacity:0;animation:heroLineIn .8s var(--ease) .1s forwards;
  }
  .hero-label .dash{width:28px;height:1px;background:var(--red);}
  @media (min-width:640px){ .hero-label{margin-bottom:28px;font-size:14px;} }

  .hero h1{
    font-size:clamp(1.9rem,6.6vw,4rem);
    font-weight:500;line-height:1.1;letter-spacing:-.03em;
    color:#fff;max-width:18ch;
    opacity:0;animation:heroLineIn .9s var(--ease) .25s forwards;
  }
  @media (min-width:640px){ .hero h1{font-size:clamp(2.3rem,5vw,3.8rem);} }
  @keyframes heroLineIn{
    from{opacity:0;transform:translateY(26px);}
    to{opacity:1;transform:translateY(0);}
  }

  .hero-sub{
    margin-top:22px;display:flex;flex-direction:column;gap:8px;
    opacity:0;animation:heroLineIn .9s var(--ease) .4s forwards;
  }
  .hero-sub .row{display:flex;align-items:center;gap:10px;font-size:14.5px;color:rgba(255,255,255,.68);}
  .hero-sub .row svg{width:14px;height:14px;color:var(--red);flex-shrink:0;}

  .hero-cta-row{
    margin-top:32px;display:flex;flex-direction:column;gap:16px;align-items:flex-start;
    opacity:0;animation:heroLineIn .9s var(--ease) .55s forwards;
  }
  @media (min-width:640px){ .hero-cta-row{margin-top:44px;flex-direction:row;align-items:center;gap:20px;} }

  .trust-badge{
    display:inline-flex;align-items:center;gap:10px;
    background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
    border-radius:4px;
    padding:8px 14px 8px 10px;
    backdrop-filter:blur(6px);
    transition:background .3s var(--ease),border-color .3s;
  }
  .trust-badge:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);}
  .trust-badge svg{width:22px;height:22px;fill:var(--red);flex-shrink:0;}
  .trust-badge .tb-text{font-size:13px;font-weight:600;color:#fff;}
  @media (min-width:640px){ .trust-badge .tb-text{font-size:14px;} }
  .trust-badge .tb-chip{
    font-size:10px;font-weight:700;background:var(--red);color:#fff;
    padding:2px 6px;border-radius:4px;
  }

  /* ---------------- SECTION SHARED ---------------- */
  section{position:relative;}
  .badge-row{display:flex;align-items:center;gap:12px;margin-bottom:22px;}
  .badge-num{
    width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;
    font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .badge-pill{
    font-size:12px;font-weight:500;border:1px solid #ddd;border-radius:999px;
    padding:6px 14px;color:var(--text-2);
  }
  @media (min-width:640px){ .badge-num{width:28px;height:28px;} .badge-pill{font-size:13px;padding:6px 16px;} }

  .h2-big{
    font-size:clamp(1.45rem,4vw,3rem);
    font-weight:500;line-height:1.14;letter-spacing:-.02em;
    color:var(--ink);
  }
  .h2-hero-scale{
    font-size:clamp(1.9rem,6.6vw,4rem);font-weight:500;line-height:1.08;letter-spacing:-.03em;color:var(--ink);
  }
  @media (min-width:640px){ .h2-hero-scale{font-size:clamp(2.3rem,5vw,4rem);} }

  /* ---------------- ABOUT ---------------- */
  .about-sec{background:#fff;padding-top:72px;padding-bottom:56px;overflow:hidden;}
  @media (min-width:640px){ .about-sec{padding-top:88px;padding-bottom:72px;} }
  @media (min-width:1024px){ .about-sec{padding-top:128px;padding-bottom:100px;} }
  .about-sec .h2-big{margin-bottom:44px;max-width:18ch;}
  @media (min-width:640px){ .about-sec .h2-big{margin-bottom:56px;} }
  @media (min-width:1024px){ .about-sec .h2-big{margin-bottom:72px;} }

  /* layout: readable text column + illustrated stat tiles */
  .about-layout{display:flex;flex-direction:column;gap:40px;}
  @media (min-width:1024px){
    .about-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:start;}
  }

  .about-lead{font-size:clamp(18px,2.4vw,22px);line-height:1.55;font-weight:600;color:var(--ink);max-width:46ch;letter-spacing:-.01em;}

  .about-points{margin-top:30px;border-top:1px solid var(--line);}
  .about-point{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);}
  .about-point .ap-ico{
    flex:none;width:40px;height:40px;border-radius:10px;background:var(--gray-2);
    display:flex;align-items:center;justify-content:center;color:var(--red);
  }
  .about-point .ap-ico svg{width:18px;height:18px;}
  .about-point h4{font-size:14.5px;font-weight:700;color:var(--ink);margin-bottom:4px;}
  .about-point p{font-size:13.5px;line-height:1.55;color:var(--text-2);max-width:42ch;}

  .about-cta{margin-top:30px;align-self:flex-start;}

  /* illustrated stat tiles */
  .about-visuals{display:grid;grid-template-columns:1fr;gap:16px;}
  @media (min-width:560px){ .about-visuals{grid-template-columns:1fr 1fr;} }

  .vis-card{
    position:relative;overflow:hidden;border-radius:18px;
    aspect-ratio:4/5;min-height:260px;
    background:linear-gradient(160deg,var(--ink) 0%,var(--red-deep) 62%,var(--red) 130%);
    display:flex;flex-direction:column;justify-content:flex-end;padding:24px;color:#fff;
  }
  @media (min-width:560px){ .vis-card{aspect-ratio:3/4;} }
  .vis-card.alt{background:linear-gradient(160deg,#1c1c1c 0%,#0c0c0c 55%,var(--red-deep) 140%);}
  .vis-card .vis-grid{position:absolute;inset:0;z-index:0;opacity:.12;background-image:radial-gradient(circle,#fff 1px,transparent 1.6px);background-size:20px 20px;}
  .vis-card .vis-bg{position:absolute;inset:0;z-index:0;}
  .vis-card .vis-bg svg{position:absolute;inset:0;width:100%;height:100%;}
  .vis-card::after{
    content:"";position:absolute;inset:0;z-index:1;
    background:linear-gradient(to top, rgba(0,0,0,.6) 0%, rgba(0,0,0,0) 58%);
  }
  .vis-card .vis-content{position:relative;z-index:2;}
  .vis-card .vc-num{font-family:'Unbounded',sans-serif;font-size:clamp(2.4rem,6.5vw,3.8rem);line-height:1;display:flex;align-items:baseline;gap:2px;}
  .vis-card .vc-num .vc-suf{font-size:.5em;}
  .vis-card .vc-label{font-size:12.5px;color:rgba(255,255,255,.78);margin-top:10px;max-width:26ch;line-height:1.5;}

  /* projects illustration: rising bars */
  .vis-illustration-blocks .blk{transform-box:fill-box;transform-origin:bottom;animation:blkRise 3.2s var(--ease) infinite;}
  .vis-illustration-blocks .blk:nth-child(2){animation-delay:.15s;}
  .vis-illustration-blocks .blk:nth-child(3){animation-delay:.3s;}
  .vis-illustration-blocks .blk:nth-child(4){animation-delay:.45s;}
  @keyframes blkRise{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-6px);} }

  /* growth illustration: line drawing itself in on scroll */
  .vis-illustration-line path{stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset 1.6s var(--ease-sheet);}
  .vis-card.in-view .vis-illustration-line path{stroke-dashoffset:0;}
  .vis-illustration-line circle{opacity:0;transition:opacity .4s ease .8s;}
  .vis-card.in-view .vis-illustration-line circle{opacity:1;}

  /* Цифры — horizontal infographic */
  .numbers-band{
    margin-top:64px;
    background:var(--red);
    border-radius:20px;
    padding:36px 24px 40px;
    color:#fff;
    position:relative;overflow:hidden;
  }
  @media (min-width:640px){ .numbers-band{margin-top:84px;padding:48px 44px 52px;} }
  @media (min-width:1024px){ .numbers-band{margin-top:104px;padding:56px 60px 60px;} }
  .numbers-band::after{
    content:"";position:absolute;top:-140px;right:-140px;width:380px;height:380px;border-radius:50%;
    background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%);
  }
  .numbers-band::before{
    content:"";position:absolute;bottom:-160px;left:-100px;width:320px;height:320px;border-radius:50%;
    background:radial-gradient(circle,rgba(0,0,0,.18),transparent 70%);
  }
  .nb-head{position:relative;display:flex;align-items:center;gap:12px;margin-bottom:40px;flex-wrap:wrap;}
  .nb-head .badge-pill{border-color:rgba(255,255,255,.3);color:#fff;}
  .nb-head h3{font-family:'Unbounded',sans-serif;font-size:clamp(1.1rem,2.2vw,1.5rem);font-weight:500;}

  .numbers-track{position:relative;}
  .numbers-grid{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:36px 24px;}
  @media (min-width:640px){ .numbers-grid{display:flex;gap:0;} }

  .num-item{position:relative;}
  @media (min-width:640px){ .num-item{flex:1;padding:0 14px;} .num-item:first-child{padding-left:0;} .num-item:last-child{padding-right:0;} }

  /* node + connecting line: each item owns two half-segments that meet exactly at its neighbour's node center — always aligned, no magic offsets */
  .n-node-wrap{position:relative;height:38px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:18px;}
  @media (min-width:640px){ .n-node-wrap{justify-content:center;} }
  .n-node-wrap::before,.n-node-wrap::after{
    content:"";position:absolute;top:50%;width:50%;height:2px;background:rgba(255,255,255,.3);
    transform:translateY(-50%) scaleX(0);transition:transform .55s var(--ease-sheet);
  }
  .n-node-wrap::before{left:0;transform-origin:right;}
  .n-node-wrap::after{right:0;transform-origin:left;}
  @media (max-width:639px){ .n-node-wrap::before,.n-node-wrap::after{display:none;} }
  .num-item:first-child .n-node-wrap::before{display:none;}
  .num-item:last-child .n-node-wrap::after{display:none;}
  .numbers-band.in-view .n-node-wrap::before,
  .numbers-band.in-view .n-node-wrap::after{transform:translateY(-50%) scaleX(1);}
  .numbers-band.in-view .num-item:nth-child(1) .n-node-wrap::after{transition-delay:.15s;}
  .numbers-band.in-view .num-item:nth-child(2) .n-node-wrap::before{transition-delay:.15s;}
  .numbers-band.in-view .num-item:nth-child(2) .n-node-wrap::after{transition-delay:.7s;}
  .numbers-band.in-view .num-item:nth-child(3) .n-node-wrap::before{transition-delay:.7s;}
  .numbers-band.in-view .num-item:nth-child(3) .n-node-wrap::after{transition-delay:1.25s;}
  .numbers-band.in-view .num-item:nth-child(4) .n-node-wrap::before{transition-delay:1.25s;}

  .num-item .n-node{
    width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.45);
    display:flex;align-items:center;justify-content:center;flex:none;
    position:relative;z-index:1;box-shadow:0 0 0 6px rgba(201,3,6,.001);
    transform:scale(0);transition:transform .5s var(--ease-sheet),box-shadow .5s var(--ease-sheet);
  }
  .num-item .n-node svg{width:16px;height:16px;stroke:#fff;}
  .numbers-band.in-view .num-item .n-node{transform:scale(1);box-shadow:0 0 0 6px rgba(255,255,255,.08);}
  .numbers-band.in-view .num-item:nth-child(1) .n-node{transition-delay:0s;}
  .numbers-band.in-view .num-item:nth-child(2) .n-node{transition-delay:.6s;}
  .numbers-band.in-view .num-item:nth-child(3) .n-node{transition-delay:1.15s;}
  .numbers-band.in-view .num-item:nth-child(4) .n-node{transition-delay:1.7s;}

  .num-item .n-val{
    font-family:'Unbounded',sans-serif;font-size:clamp(1.9rem,4.4vw,2.6rem);line-height:1;display:flex;align-items:baseline;gap:1px;
    opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease);
  }
  .numbers-band.in-view .num-item .n-val{opacity:1;transform:translateY(0);}
  .numbers-band.in-view .num-item:nth-child(1) .n-val{transition-delay:.12s;}
  .numbers-band.in-view .num-item:nth-child(2) .n-val{transition-delay:.72s;}
  .numbers-band.in-view .num-item:nth-child(3) .n-val{transition-delay:1.27s;}
  .numbers-band.in-view .num-item:nth-child(4) .n-val{transition-delay:1.82s;}
  .num-item .n-label{font-size:13px;line-height:1.55;color:rgba(255,255,255,.85);max-width:24ch;margin-top:10px;}

  /* ---------------- CASES ---------------- */
  .cases-sec{background:var(--gray-2);padding:64px 0 72px;}
  @media (min-width:640px){ .cases-sec{padding:80px 0 88px;} }
  @media (min-width:1024px){ .cases-sec{padding:112px 0 112px;} }
  .cases-sec .badge-pill{border-color:#cfcfcf;}
  .cases-sec .h2-hero-scale{margin-bottom:40px;}
  @media (min-width:640px){ .cases-sec .h2-hero-scale{margin-bottom:56px;} }
  @media (min-width:1024px){ .cases-sec .h2-hero-scale{margin-bottom:64px;} }

  .case-grid{display:grid;grid-template-columns:1fr;gap:20px;}
  @media (min-width:768px){ .case-grid{grid-template-columns:1fr 1fr;gap:26px;} }

  .vcard{
    display:block;text-decoration:none;color:inherit;
    border-radius:18px;overflow:hidden;position:relative;cursor:pointer;
  }
  .vcard .stage{
    position:relative;aspect-ratio:329/246;overflow:hidden;border-radius:18px;
  }
  .vcard.square .stage{aspect-ratio:1/1;}
  .vcard .motion{
    position:absolute;inset:0;
    background-size:220% 220%;
    animation:motionmove 9s ease-in-out infinite;
  }
  .vcard.c1 .motion{background:radial-gradient(circle at 30% 30%, rgba(201,3,6,.9), rgba(26,26,26,1) 60%), linear-gradient(135deg,#1a1a1a,#3a0002);}
  .vcard.c2 .motion{background:radial-gradient(circle at 70% 60%, rgba(90,0,2,.85), rgba(107,107,107,1) 65%), linear-gradient(135deg,#6b6b6b,#333);}
  @keyframes motionmove{
    0%,100%{background-position:0% 0%;}
    50%{background-position:100% 100%;}
  }
  .vcard.has-image .motion{
    background-image:var(--vcard-img);
    background-size:cover;background-position:center;
    animation:none;transition:transform .7s var(--ease);
  }
  .vcard.has-image:hover .motion{transform:scale(1.045);}
  .vcard.has-image .motion::before{
    content:'';position:absolute;inset:0;z-index:1;
    background:linear-gradient(to top, rgba(8,2,2,.82) 0%, rgba(8,2,2,.28) 42%, rgba(8,2,2,.06) 68%),
      linear-gradient(200deg, rgba(90,0,2,.25), rgba(0,0,0,0) 55%);
  }
  .vcard.has-image .stage::after{
    content:'';position:absolute;inset:0;z-index:1;border-radius:inherit;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);pointer-events:none;
  }
  .vcard .hover-btn{
    position:absolute;left:16px;bottom:16px;z-index:2;
    height:36px;width:36px;border-radius:999px;
    background:#fff;color:var(--ink);
    display:flex;align-items:center;overflow:hidden;
    transition:width .3s ease-in-out;
    padding:0 9px;gap:8px;
  }
  .vcard.dark-btn .hover-btn{background:var(--ink);color:#fff;}
  .vcard .hover-btn .hb-text{
    font-size:13px;font-weight:500;white-space:nowrap;opacity:0;transition:opacity .2s ease .05s;
  }
  .vcard .hover-btn svg{width:14px;height:14px;flex-shrink:0;transition:transform .3s var(--ease);transform:rotate(-45deg);}
  .vcard:hover .hover-btn{width:150px;}
  .vcard.dark-btn:hover .hover-btn{width:172px;}
  .vcard:hover .hover-btn .hb-text{opacity:1;}
  .vcard:hover .hover-btn svg{transform:rotate(0deg);}

  .vcard .meta{margin-top:16px;}
  .vcard .meta .desc{font-size:13.5px;color:var(--text-2);line-height:1.55;max-width:48ch;}
  .vcard .meta .title{font-size:15px;font-weight:600;color:var(--ink);margin-top:6px;}

  .case-more{margin-top:26px;display:grid;grid-template-columns:1fr;gap:16px;}
  @media (min-width:640px){ .case-more{grid-template-columns:repeat(3,1fr);gap:18px;} }
  .case-mini{
    background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;
    transition:border-color .3s,transform .3s;
  }
  .case-mini:hover{border-color:var(--red);transform:translateY(-2px);}
  .case-mini .tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;}
  .case-mini .tags span{font-size:10.5px;font-weight:700;color:var(--red);border:1px solid var(--line);border-radius:999px;padding:3px 8px;}
  .case-mini h4{font-family:'Unbounded',sans-serif;font-size:15px;font-weight:500;margin-bottom:6px;}
  .case-mini p{font-size:12.5px;line-height:1.55;color:var(--text-2);}

  /* case cards with real metrics, from the agency deck */
  .case2-grid{
    display:grid;grid-template-columns:1fr;gap:18px;
  }
  @media (min-width:640px){ .case2-grid{grid-template-columns:repeat(2,1fr);gap:20px;} }
  @media (min-width:1024px){ .case2-grid{grid-template-columns:repeat(3,1fr);gap:22px;} }

  .case2-card{
    background:#fff;border:1px solid var(--line);border-radius:16px;
    padding:24px;display:flex;flex-direction:column;
    transition:border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);
  }
  .case2-card:hover{border-color:var(--red);transform:translateY(-3px);box-shadow:0 14px 30px rgba(17,17,17,.08);}

  .case2-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;}
  .case2-tag{font-size:11px;font-weight:700;color:var(--red);border:1px solid var(--line);border-radius:999px;padding:4px 10px;white-space:nowrap;}
  .case2-time{font-size:11.5px;color:var(--text-3);white-space:nowrap;}

  .case2-card h3{font-family:'Unbounded',sans-serif;font-size:17px;font-weight:500;line-height:1.25;color:var(--ink);margin-bottom:10px;}
  .case2-card .case2-desc{font-size:13px;line-height:1.6;color:var(--text-2);margin-bottom:20px;}

  .case2-stats{
    margin-top:auto;
    display:grid;grid-template-columns:repeat(2,1fr);gap:12px;
    padding-top:16px;border-top:1px solid var(--line);
  }
  .case2-stat .val{font-family:'Unbounded',sans-serif;font-size:clamp(1.1rem,2.4vw,1.4rem);color:var(--red);line-height:1.1;}
  .case2-stat .lbl{font-size:11px;line-height:1.45;color:var(--text-3);margin-top:4px;}

  .cases-more-cta{display:flex;justify-content:center;margin-top:36px;}
  @media (min-width:640px){ .cases-more-cta{margin-top:48px;} }

  /* ---------------- SERVICES (redesigned) ---------------- */
  .svc-sec{background:var(--ink);color:#fff;padding:72px 0;position:relative;overflow:hidden;}
  @media (min-width:1024px){ .svc-sec{padding:112px 0;} }
  .svc-sec::before{content:"";position:absolute;top:-220px;left:-160px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,var(--red) 0%,transparent 70%);opacity:.22;pointer-events:none;}
  .svc-sec .badge-pill{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.65);}
  .svc-sec .badge-num{background:var(--red);}
  .svc-sec .h2-big{color:#fff;margin-bottom:28px;position:relative;z-index:1;}

  /* ticker */
  .svc-ticker{
    position:relative;z-index:1;overflow:hidden;
    border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);
    padding:13px 0;margin-bottom:44px;
    mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  }
  @media (min-width:640px){ .svc-ticker{margin-bottom:56px;} }
  .svc-ticker-track{display:flex;align-items:center;gap:14px;width:max-content;animation:svcTicker 32s linear infinite;}
  .svc-ticker-track span{font-family:'Unbounded',sans-serif;font-size:13px;font-weight:500;color:rgba(255,255,255,.55);white-space:nowrap;}
  .svc-ticker-track span.dot{color:var(--red);font-size:16px;}
  @keyframes svcTicker{ 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }

  .svc-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:14px;}
  @media (min-width:640px){ .svc-grid{grid-template-columns:1fr 1fr;gap:16px;} }
  @media (min-width:1024px){ .svc-grid{grid-template-columns:repeat(3,1fr);gap:18px;} }

  .svc-card{
    position:relative;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
    border-radius:18px;padding:26px 24px 22px;
    display:flex;flex-direction:column;
    opacity:0;transform:translateY(22px);
    transition:opacity .6s var(--ease),transform .6s var(--ease),background .35s,border-color .35s;
  }
  .svc-card.in-view{opacity:1;transform:translateY(0);}
  .svc-card:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.22);}
  .svc-card.featured{
    background:linear-gradient(135deg,rgba(201,3,6,.22),rgba(90,0,2,.3));
    border-color:rgba(201,3,6,.4);
  }
  @media (min-width:1024px){ .svc-card.featured{grid-column:span 2;} }
  .svc-card.featured:hover{background:linear-gradient(135deg,rgba(201,3,6,.3),rgba(90,0,2,.38));}

  .svc-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
  .svc-ico{
    width:46px;height:46px;border-radius:13px;background:rgba(255,255,255,.08);
    display:flex;align-items:center;justify-content:center;color:var(--red);
    transition:background .35s,transform .4s var(--ease);
  }
  .svc-ico svg{width:22px;height:22px;}
  .svc-card:hover .svc-ico{background:var(--red);color:#fff;transform:rotate(-8deg) scale(1.06);}
  .svc-ico-path{stroke-dasharray:80;stroke-dashoffset:80;transition:stroke-dashoffset 1s var(--ease) .1s;}
  .svc-card.in-view .svc-ico-path{stroke-dashoffset:0;}
  .svc-num{font-family:'Unbounded',sans-serif;font-size:12px;color:rgba(255,255,255,.3);}

  .svc-name{font-family:'Unbounded',sans-serif;font-size:clamp(16px,2vw,19px);font-weight:500;color:#fff;line-height:1.25;margin-bottom:10px;}
  .svc-teaser{font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.55);margin-bottom:auto;padding-bottom:16px;}

  .svc-more-link{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--red);margin-bottom:18px;transition:gap .25s;}
  .svc-more-link svg{width:12px;height:12px;transition:transform .25s;}
  .svc-more-link:hover{gap:9px;}
  .svc-more-link:hover svg{transform:translateX(1px);}
  .svc-more{max-height:0;overflow:hidden;transition:max-height .5s var(--ease);}
  .svc-more-in{padding-bottom:16px;font-size:13.5px;line-height:1.65;color:rgba(255,255,255,.6);}
  .svc-order{margin-top:4px;margin-bottom:18px;}

  .svc-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);}
  .svc-price{font-family:'Unbounded',sans-serif;font-size:13px;color:var(--red);white-space:nowrap;}
  .svc-toggle{display:flex;align-items:center;gap:7px;font-size:12.5px;color:rgba(255,255,255,.6);transition:color .3s;}
  .svc-toggle:hover{color:#fff;}
  .svc-toggle svg{width:13px;height:13px;transition:transform .4s var(--ease);}
  .svc-card.open .svc-toggle svg{transform:rotate(180deg);}
  .svc-card.open .svc-toggle{color:#fff;}

  .svc-orbit{position:absolute;top:18px;right:20px;width:64px;height:64px;pointer-events:none;opacity:.85;}
  .svc-orbit svg{width:100%;height:100%;animation:svcOrbitSpin 22s linear infinite;}
  @keyframes svcOrbitSpin{ 100%{transform:rotate(360deg);} }
  @media (max-width:1023px){ .svc-orbit{display:none;} }

  /* ---------------- PROCESS (infographic timeline) ---------------- */
  .process-sec{background:#fff;padding:72px 0;overflow:hidden;}
  @media (min-width:1024px){ .process-sec{padding:104px 0;} }
  .process-sec .h2-big{margin-bottom:52px;}
  @media (min-width:640px){ .process-sec .h2-big{margin-bottom:64px;} }

  .path-timeline{position:relative;padding-left:64px;}
  @media (min-width:640px){ .path-timeline{padding-left:88px;} }

  .path-track{
    position:absolute;top:6px;bottom:6px;left:21px;width:2px;
    background:var(--line);border-radius:2px;
  }
  @media (min-width:640px){ .path-track{left:29px;} }
  .path-track-fill{
    position:absolute;top:0;left:0;width:100%;height:0%;
    background:linear-gradient(180deg,var(--red),var(--red-deep));
    border-radius:2px;
    transition:height .1s linear;
  }

  .path-item{position:relative;padding-bottom:48px;}
  .path-item:last-child{padding-bottom:0;}

  .path-node{
    position:absolute;top:0;left:-64px;
    width:44px;height:44px;border-radius:50%;
    background:#fff;border:2px solid var(--line);
    display:flex;align-items:center;justify-content:center;
    font-family:'Unbounded',sans-serif;font-size:13px;font-weight:600;color:var(--text-3);
    z-index:2;
    transition:background .5s var(--ease),border-color .5s var(--ease),color .5s var(--ease),transform .5s var(--ease);
  }
  @media (min-width:640px){ .path-node{left:-88px;width:58px;height:58px;font-size:15px;} }
  .path-item.in-view .path-node{
    background:var(--red);border-color:var(--red);color:#fff;
    transform:scale(1.06);
  }

  .path-card{
    position:relative;overflow:hidden;
    background:var(--gray-2);
    border:1px solid var(--line);
    border-radius:16px;
    padding:22px 22px 22px 24px;
    opacity:0;transform:translateX(18px);
    transition:opacity .6s var(--ease),transform .6s var(--ease),border-color .4s;
  }
  @media (min-width:640px){ .path-card{padding:28px 32px;border-radius:20px;} }
  .path-item.in-view .path-card{opacity:1;transform:translateX(0);}
  .path-item.in-view .path-card{border-color:#e9d9d9;}

  .path-ghost-num{
    position:absolute;right:10px;top:-18px;
    font-family:'Unbounded',sans-serif;font-weight:800;
    font-size:clamp(3.6rem,9vw,6rem);
    color:rgba(17,17,17,.045);
    line-height:1;pointer-events:none;user-select:none;
  }

  .path-head{display:flex;align-items:center;gap:14px;position:relative;z-index:1;}
  .path-icon{
    width:38px;height:38px;border-radius:50%;flex-shrink:0;
    background:#fff;border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;color:var(--red);
  }
  .path-icon svg{width:18px;height:18px;}
  .path-card h3{font-size:18px;font-weight:600;color:var(--ink);}
  @media (min-width:640px){ .path-card h3{font-size:20px;} }
  .path-card p{
    font-size:13.5px;line-height:1.65;color:var(--text-2);
    margin-top:12px;max-width:52ch;position:relative;z-index:1;
  }

  /* ---------------- CONTACT ---------------- */
  /* ---------------- CLIENTS (hover-reveal grid) ---------------- */
  .clients-sec{background:var(--ink);color:#fff;padding:72px 0;position:relative;overflow:hidden;}
  @media (min-width:1024px){ .clients-sec{padding:104px 0;} }
  .clients-sec .badge-pill{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.65);}
  .clients-sec .badge-num{background:var(--red);}
  .clients-sec::before{
    content:"";position:absolute;bottom:-200px;left:-160px;width:480px;height:480px;border-radius:50%;
    background:radial-gradient(circle,var(--red-deep) 0%,transparent 70%);opacity:.3;pointer-events:none;
  }

  .clients-head{
    display:grid;grid-template-columns:1fr;gap:20px;
    position:relative;z-index:1;margin-bottom:44px;
  }
  @media (min-width:760px){ .clients-head{grid-template-columns:1fr 1fr;align-items:end;gap:40px;} }
  .clients-head .h2-big{color:#fff;margin:0;}
  .clients-sub{font-size:15px;line-height:1.65;color:rgba(255,255,255,.55);max-width:44ch;}

  .clients-grid{
    position:relative;z-index:1;
    display:grid;grid-template-columns:repeat(2,1fr);
    border-top:1px solid rgba(255,255,255,.12);
    border-left:1px solid rgba(255,255,255,.12);
  }
  @media (min-width:640px){ .clients-grid{grid-template-columns:repeat(3,1fr);} }
  @media (min-width:1024px){ .clients-grid{grid-template-columns:repeat(5,1fr);} }

  .client-tile{
    position:relative;
    aspect-ratio:3/2;
    border-right:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
    padding:18px 16px;
    overflow:hidden;
    cursor:default;
  }
  .client-tile::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
    background:var(--red);
    transform:scaleX(0);transform-origin:left;
    transition:transform .45s var(--ease);
    z-index:2;
  }
  .client-tile:hover::after{transform:scaleX(1);}

  .client-chip{
    position:relative;z-index:1;
    flex:1;width:100%;max-width:150px;min-height:0;
    border-radius:12px;
    background:#fff;
    display:flex;align-items:center;justify-content:center;
    padding:14px 16px;
    opacity:.16;
    transform:scale(.88);
    transition:opacity .45s var(--ease),transform .45s var(--ease),box-shadow .45s var(--ease);
  }
  .client-tile:hover .client-chip{
    opacity:1;transform:scale(1);
    box-shadow:0 10px 28px rgba(0,0,0,.4);
  }
  .client-chip img{
    max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;
    display:block;
  }
  .client-name{
    flex-shrink:0;
    font-size:11px;font-weight:600;color:rgba(255,255,255,.7);
    letter-spacing:.02em;text-align:center;
    opacity:0;transform:translateY(4px);
    transition:opacity .4s var(--ease) .05s,transform .4s var(--ease) .05s;
  }
  .client-tile:hover .client-name{opacity:1;transform:translateY(0);}

  .clients-foot{
    position:relative;z-index:1;
    display:flex;justify-content:flex-end;margin-top:32px;
  }

  .contact-sec{background:var(--ink);color:#fff;padding:72px 0 56px;position:relative;overflow:hidden;}
  @media (min-width:1024px){ .contact-sec{padding:104px 0 64px;} }
  .contact-sec::before{content:"";position:absolute;top:-180px;right:-180px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,var(--red) 0%,transparent 70%);opacity:.35;}
  .contact-sec .badge-pill{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.65);}
  .contact-sec .h2-big{color:#fff;}
  .contact-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:48px;margin-top:40px;}
  @media (min-width:900px){ .contact-grid{grid-template-columns:1fr 1fr;} }
  .contact-copy{font-size:15.5px;line-height:1.7;color:rgba(255,255,255,.65);max-width:42ch;margin-top:16px;}
  .contact-links{margin-top:28px;display:flex;flex-direction:column;gap:4px;}
  .contact-links a{
    font-family:'Unbounded',sans-serif;font-size:clamp(20px,3.2vw,28px);font-weight:500;
    padding:10px 0;border-bottom:1px solid rgba(255,255,255,.14);
    display:flex;align-items:center;justify-content:space-between;transition:color .3s;
  }
  .contact-links a:hover{color:var(--red);}
  .contact-links a svg{width:16px;height:16px;opacity:.5;transition:transform .3s,opacity .3s;flex-shrink:0;}
  .contact-links a:hover svg{opacity:1;transform:translate(3px,-3px);}
  .social-row{margin-top:22px;display:flex;gap:10px;}
  .social-row a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;transition:background .3s,border-color .3s;}
  .social-row a:hover{background:var(--red);border-color:var(--red);}

  .form-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:28px;}
  .form-card h3{font-size:15px;font-weight:600;margin-bottom:4px;}
  .form-card .sub{font-size:13px;color:rgba(255,255,255,.5);margin-bottom:20px;}
  .field{margin-bottom:14px;}
  .field label{display:block;font-size:12px;color:rgba(255,255,255,.5);margin-bottom:6px;}
  .field input,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.25);color:#fff;font-size:15px;padding:8px 0;outline:none;transition:border-color .3s;}
  .field input:focus,.field textarea:focus{border-color:var(--red);}
  .field textarea{resize:none;height:56px;}
  .form-submit{margin-top:6px;width:100%;background:var(--red);color:#fff;padding:13px 20px;border-radius:8px;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .3s;}
  .form-submit:hover{background:var(--red-hover);}
  .form-checks{margin:16px 0 4px;display:flex;flex-direction:column;gap:12px;}
  .form-check{display:flex;gap:10px;align-items:flex-start;}
  .form-check input{flex:none;width:16px;height:16px;margin-top:2px;accent-color:var(--red);}
  .form-check label{font-size:12px;line-height:1.45;color:rgba(255,255,255,.72);cursor:pointer;}
  .form-check a{color:#fff;text-decoration:underline;text-underline-offset:2px;}
  .form-check a:hover{color:var(--red);}
  .form-error{font-size:12.5px;line-height:1.45;color:#ffd0d0;margin-top:10px;}
  .form-error[hidden]{display:none;}
  .form-submit:disabled{opacity:.65;cursor:wait;}
  .form-consent{font-size:11px;line-height:1.5;color:rgba(255,255,255,.4);margin-top:12px;}
  .form-consent a{color:rgba(255,255,255,.65);text-decoration:underline;}
  .form-ok{display:none;font-size:13.5px;color:#fff;background:rgba(201,3,6,.25);border:1px solid var(--red);border-radius:8px;padding:12px 14px;margin-top:12px;}
  .form-ok.show{display:block;}

  /* Lead-form modal popup */
  body.modal-open{overflow:hidden;}
  .modal-overlay{
    position:fixed;inset:0;z-index:300;
    background:rgba(10,10,10,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    display:flex;align-items:center;justify-content:center;padding:20px;
    opacity:0;pointer-events:none;transition:opacity .35s var(--ease);
  }
  .modal-overlay.open{opacity:1;pointer-events:auto;}
  .modal-box{
    position:relative;width:100%;max-width:440px;max-height:90vh;overflow:auto;
    background:var(--ink);border-radius:18px;
    transform:translateY(26px) scale(.96);transition:transform .4s var(--ease-sheet);
    box-shadow:0 30px 80px rgba(0,0,0,.5);
  }
  .modal-overlay.open .modal-box{transform:translateY(0) scale(1);}
  .modal-box .form-card{background:transparent;border:none;padding:30px 26px;}
  .modal-box .form-card h3{color:#fff;}
  .modal-close{
    position:absolute;top:14px;right:14px;z-index:2;
    width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;
    display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;
    transition:background .3s,transform .3s;
  }
  .modal-close:hover{background:var(--red);transform:rotate(90deg);}


  .roll-btn.small{padding:5px 5px 5px 16px;font-size:12px;}
  .roll-btn.small .roll{height:17px;}
  .roll-btn.small .roll-track span{height:17px;line-height:17px;}
  .roll-btn.small .circ{width:24px;height:24px;}
  .roll-btn.small .circ svg{width:11px;height:11px;}

  /* ---------------- SITE FOOTER ---------------- */
  footer{background:var(--ink);color:rgba(255,255,255,.55);border-top:1px solid rgba(255,255,255,.1);}
  .footer-main{padding:56px 0 40px;}
  @media (min-width:1024px){ .footer-main{padding:76px 0 48px;} }
  .footer-grid{display:grid;grid-template-columns:1fr;gap:36px;}
  @media (min-width:640px){ .footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px;} }
  @media (min-width:1024px){ .footer-grid{grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:24px;} }

  .footer-brand .footer-logo-img{height:18px;width:auto;margin-bottom:16px;opacity:.95;}
  .footer-brand .footer-desc{font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.5);max-width:34ch;margin-bottom:20px;}
  .footer-social{display:flex;gap:10px;}
  .footer-social a{
    width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);
    display:flex;align-items:center;justify-content:center;
    font-size:11px;font-weight:700;letter-spacing:.02em;color:rgba(255,255,255,.75);
    transition:background .3s,color .3s,transform .3s;
  }
  .footer-social a:hover{background:var(--red);color:#fff;transform:translateY(-2px);}

  .footer-col h4{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-bottom:18px;}
  .footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
  .footer-col a{font-size:13.5px;color:rgba(255,255,255,.55);transition:color .25s;}
  .footer-col a:hover{color:#fff;}

  .footer-contact-item{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;}
  .footer-contact-item svg{width:15px;height:15px;flex-shrink:0;margin-top:2px;color:var(--red);}
  .footer-contact-item a, .footer-contact-item span{font-size:13.5px;color:rgba(255,255,255,.65);line-height:1.5;}
  .footer-contact-item a:hover{color:#fff;}
  .footer-cta{margin-top:18px;}

  .footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;}
  .footer-bottom .maxw{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;font-size:12px;}
  .footer-bottom a{color:rgba(255,255,255,.6);}
  .footer-bottom a:hover{color:var(--red);}
  .footer-bottom-links{display:flex;flex-wrap:wrap;gap:6px 18px;}

  /* ---------------- COOKIE CONSENT ---------------- */
  .cookie-banner{
    position:fixed;left:0;right:0;bottom:0;z-index:260;
    padding:16px 16px calc(16px + env(safe-area-inset-bottom));
    transform:translateY(120%);transition:transform .5s var(--ease-sheet);
  }
  .cookie-banner.show{transform:translateY(0);}
  .cookie-banner-inner{
    max-width:1040px;margin:0 auto;
    background:var(--ink);color:rgba(255,255,255,.85);
    border-radius:16px;padding:18px 20px;
    display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;
    box-shadow:0 20px 60px rgba(0,0,0,.45);
    border:1px solid rgba(255,255,255,.08);
  }
  .cookie-banner-text{flex:1 1 320px;font-size:13px;line-height:1.55;color:rgba(255,255,255,.72);}
  .cookie-banner-text a{color:#fff;text-decoration:underline;text-underline-offset:2px;}
  .cookie-banner-text a:hover{color:var(--red);}
  .cookie-banner-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:auto;}
  .cookie-btn-accept{
    font-family:'Manrope',sans-serif;font-weight:700;font-size:13px;
    background:var(--red);color:#fff;padding:11px 22px;border-radius:999px;
    white-space:nowrap;transition:background .3s,transform .3s;
  }
  .cookie-btn-accept:hover{background:var(--red-hover);transform:translateY(-1px);}
  .cookie-btn-decline{
    font-family:'Manrope',sans-serif;font-weight:600;font-size:13px;
    color:rgba(255,255,255,.55);padding:11px 10px;white-space:nowrap;
    transition:color .3s;
  }
  .cookie-btn-decline:hover{color:#fff;}
  @media (max-width:640px){
    .cookie-banner-inner{flex-direction:column;align-items:stretch;text-align:left;}
    .cookie-banner-actions{margin-left:0;width:100%;}
    .cookie-btn-accept{flex:1;text-align:center;}
  }
