  :root{
    --ink:#0e2438;
    --navy:#1c3c63;
    --cold:#2f9fe0;
    --cold-2:#1b6fb5;
    --hot:#e8331f;
    --hot-2:#f7941d;
    --paper:#f4f7fb;
    --paper-2:#eaf0f7;
    --white:#ffffff;
    --muted:#56697d;
    --line:rgba(14,36,56,.12);
    --line-soft:rgba(14,36,56,.07);
    --grad:linear-gradient(90deg,var(--cold) 0%,var(--cold-2) 30%,var(--hot) 72%,var(--hot-2) 100%);
    --grad-hot:linear-gradient(135deg,var(--hot-2) 0%,var(--hot) 100%);
    --shadow-s:0 1px 2px rgba(14,36,56,.06), 0 2px 8px rgba(14,36,56,.05);
    --shadow-m:0 10px 30px -12px rgba(14,36,56,.28);
    --shadow-l:0 30px 70px -30px rgba(14,36,56,.45);
    --r:18px;
    --maxw:1180px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth; -webkit-text-size-adjust:100%}
  body{
    margin:0; font-family:"Manrope",system-ui,sans-serif; color:var(--ink);
    background:var(--white); line-height:1.6; -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,h4{font-family:"Sora",system-ui,sans-serif; line-height:1.08; margin:0; letter-spacing:-.02em; color:var(--ink)}
  p{margin:0}
  a{color:inherit; text-decoration:none}
  img{display:block; max-width:100%}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px}
  section{position:relative}

  /* ---------- buttons ---------- */
  .btn{display:inline-flex; align-items:center; gap:10px; font-family:"Sora",sans-serif; font-weight:600;
    font-size:15px; padding:14px 22px; border-radius:999px; border:1px solid transparent; cursor:pointer;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s; white-space:nowrap}
  .btn svg{width:18px; height:18px}
  .btn-hot{background:var(--grad-hot); color:#fff; box-shadow:0 8px 22px -8px rgba(232,51,31,.6)}
  .btn-hot:hover{transform:translateY(-2px); box-shadow:0 14px 30px -8px rgba(232,51,31,.7)}
  .btn-navy{background:var(--ink); color:#fff}
  .btn-navy:hover{transform:translateY(-2px); background:var(--navy)}
  .btn-ghost{background:#fff; color:var(--ink); border-color:var(--line)}
  .btn-ghost:hover{border-color:var(--ink); transform:translateY(-2px)}
  .btn-wide{padding:16px 26px; font-size:16px}

  .eyebrow{display:inline-flex; align-items:center; gap:10px; font-family:"Sora",sans-serif; font-weight:600;
    font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--cold-2)}
  .eyebrow::before{content:""; width:26px; height:8px; border-radius:999px; background:var(--grad)}
  .eyebrow.center{justify-content:center}

  /* ---------- top nav ---------- */
  header.nav{position:fixed; top:0; left:0; right:0; z-index:60; transition:all .28s ease}
  .nav-inner{display:flex; align-items:center; gap:22px; padding:16px 24px; max-width:1280px; margin:0 auto; transition:padding .28s}
  .nav-logo{height:42px; transition:height .28s}
  .nav-logo img{height:100%; width:auto}
  .nav-links{display:flex; gap:4px; margin-left:auto}
  .nav-links a{font-family:"Sora",sans-serif; font-weight:500; font-size:14.5px; color:var(--ink); padding:9px 13px; border-radius:9px; transition:.15s; opacity:.85}
  .nav-links a:hover{opacity:1; background:rgba(14,36,56,.06)}
  .nav-cta{display:flex; align-items:center; gap:12px}
  .nav-phone{display:inline-flex; align-items:center; gap:9px; font-family:"Sora",sans-serif; font-weight:700; font-size:15px; color:var(--ink); white-space:nowrap}
  .nav-phone .pp{width:34px;height:34px;border-radius:50%; display:grid;place-items:center; background:var(--grad-hot); color:#fff}
  .nav-phone .pp svg{width:16px;height:16px}
  header.nav.scrolled{background:rgba(255,255,255,.86); backdrop-filter:blur(14px); box-shadow:0 1px 0 var(--line-soft), 0 8px 30px -22px rgba(14,36,56,.5)}
  header.nav.scrolled .nav-inner{padding:10px 24px}
  header.nav.scrolled .nav-logo{height:36px}
  .burger{display:none; width:46px;height:46px; border:1px solid var(--line); border-radius:12px; background:#fff; cursor:pointer; align-items:center; justify-content:center; flex-direction:column; gap:5px}
  .burger span{width:20px;height:2px;background:var(--ink); border-radius:2px; transition:.25s}
  .burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger.open span:nth-child(2){opacity:0}
  .burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  /* mobile drawer */
  .drawer{position:fixed; inset:0 0 0 auto; width:min(86vw,340px); background:#fff; z-index:70; transform:translateX(100%); transition:transform .3s cubic-bezier(.4,0,.2,1); box-shadow:var(--shadow-l); padding:88px 26px 30px; display:flex; flex-direction:column; gap:6px}
  .drawer.open{transform:translateX(0)}
  .drawer a{font-family:"Sora",sans-serif; font-weight:600; font-size:18px; padding:13px 6px; border-bottom:1px solid var(--line-soft)}
  .drawer .btn{margin-top:18px; justify-content:center}
  .scrim{position:fixed; inset:0; background:rgba(14,36,56,.45); opacity:0; pointer-events:none; transition:.3s; z-index:65; backdrop-filter:blur(2px)}
  .scrim.open{opacity:1; pointer-events:auto}

  /* ---------- hero ---------- */
  .hero{padding:150px 0 70px; position:relative; overflow:hidden; background:
    radial-gradient(900px 520px at 88% -8%, rgba(47,159,224,.16), transparent 60%),
    radial-gradient(760px 520px at 6% 112%, rgba(247,148,29,.14), transparent 58%),
    linear-gradient(180deg,#fbfdff 0%, var(--paper) 100%)}
  .hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:54px; align-items:center}
  .hero h1{font-size:clamp(38px,5.4vw,64px); font-weight:800}
  .hero h1 .hl{position:relative; white-space:nowrap}
  .hot-word{color:var(--hot)}
  .cold-word{color:var(--cold-2)}
  .hero .lead{font-size:clamp(17px,1.5vw,20px); color:var(--muted); margin-top:22px; max-width:560px}
  .hero-cta{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap}
  .hero-cities{display:flex; align-items:center; gap:10px 16px; flex-wrap:wrap; margin-top:30px; font-weight:600; font-size:14.5px; color:var(--navy)}
  .hero-cities .pin{display:inline-flex; align-items:center; gap:7px}
  .hero-cities .pin svg{width:15px;height:15px; color:var(--cold-2)}
  .hero-cities .dot{width:4px;height:4px;border-radius:50%;background:var(--line); }

  .hero-visual{position:relative}
  .hero-photo{border-radius:24px; overflow:hidden; box-shadow:var(--shadow-l); aspect-ratio:4/3.05; border:6px solid #fff}
  .hero-photo img{width:100%; height:100%; object-fit:cover}
  .hero-badge{position:absolute; background:#fff; border-radius:16px; box-shadow:var(--shadow-m); padding:14px 18px; display:flex; align-items:center; gap:12px}
  .hero-badge.b1{bottom:-26px; left:-22px}
  .hero-badge.b2{top:-22px; right:-18px}
  .hero-badge .ic{width:40px;height:40px;border-radius:11px; display:grid; place-items:center; color:#fff; flex:none}
  .hero-badge .ic.cold{background:linear-gradient(135deg,#46b0e8,#1b6fb5)}
  .hero-badge .ic.hot{background:var(--grad-hot)}
  .hero-badge .ic svg{width:20px;height:20px}
  .hero-badge b{font-family:"Sora",sans-serif; font-size:14px; display:block; line-height:1.2}
  .hero-badge span{font-size:12.5px; color:var(--muted)}

  /* trust strip */
  .trust{margin-top:60px; border-top:1px solid var(--line-soft); padding-top:26px; display:flex; align-items:center; gap:28px; flex-wrap:wrap}
  .trust .t-label{font-size:13px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; color:var(--muted); font-family:"Sora",sans-serif}
  .brands{display:flex; gap:14px; flex-wrap:wrap}
  .brand-chip{font-family:"Sora",sans-serif; font-weight:700; font-size:18px; letter-spacing:.02em; color:var(--navy); padding:9px 20px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:var(--shadow-s)}
  .brand-chip small{display:block; font-size:9.5px; letter-spacing:.18em; font-weight:600; color:var(--cold-2); text-transform:uppercase}

  /* ---------- generic section ---------- */
  .sec{padding:96px 0}
  .sec-head{max-width:680px}
  .sec-head.center{margin:0 auto; text-align:center}
  .sec-head h2{font-size:clamp(30px,3.6vw,46px); font-weight:700; margin-top:16px}
  .sec-head p{color:var(--muted); font-size:18px; margin-top:18px}

  /* offer cards */
  .offer-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:54px}
  .ocard{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:30px 28px; position:relative; overflow:hidden; transition:transform .2s, box-shadow .2s, border-color .2s}
  .ocard:hover{transform:translateY(-5px); box-shadow:var(--shadow-m); border-color:transparent}
  .ocard::before{content:""; position:absolute; left:0; top:0; right:0; height:4px; background:var(--grad); opacity:0; transition:.2s}
  .ocard:hover::before{opacity:1}
  .ocard .oic{width:54px;height:54px;border-radius:14px; background:var(--paper-2); display:grid; place-items:center; color:var(--cold-2); margin-bottom:20px}
  .ocard .oic svg{width:26px;height:26px}
  .ocard.feat .oic{background:var(--grad-hot); color:#fff}
  .ocard h3{font-size:21px; margin-bottom:10px}
  .ocard p{color:var(--muted); font-size:15px}
  .ocard .tag{position:absolute; top:22px; right:22px; font-family:"Sora",sans-serif; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--hot); background:rgba(232,51,31,.08); padding:5px 11px; border-radius:999px}

  /* process */
  .proc{background:var(--ink); color:#fff; border-radius:30px; padding:64px 56px; position:relative; overflow:hidden}
  .proc::after{content:""; position:absolute; right:-120px; top:-120px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(47,159,224,.35),transparent 65%); pointer-events:none}
  .proc::before{content:""; position:absolute; left:-100px; bottom:-140px; width:380px; height:380px; border-radius:50%; background:radial-gradient(circle,rgba(247,148,29,.28),transparent 65%); pointer-events:none}
  .proc h2,.proc h3{color:#fff}
  .proc .eyebrow{color:#7fd0ff}
  .proc .sec-head p{color:rgba(255,255,255,.72)}
  .proc-steps{display:grid; grid-template-columns:repeat(4,1fr); gap:26px; margin-top:50px; position:relative; z-index:2}
  .pstep{position:relative}
  .pstep .num{font-family:"Sora",sans-serif; font-weight:800; font-size:15px; width:44px;height:44px; border-radius:13px; display:grid; place-items:center; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); margin-bottom:18px}
  .pstep h3{font-size:18px; margin-bottom:8px}
  .pstep p{color:rgba(255,255,255,.66); font-size:14.5px}
  .pstep:not(:last-child)::after{content:""; position:absolute; top:22px; left:56px; right:-13px; height:2px; background:linear-gradient(90deg,rgba(255,255,255,.22),rgba(255,255,255,.04))}

  /* why us */
  .why-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center}
  .why-list{display:flex; flex-direction:column; gap:6px; margin-top:40px}
  .why-item{display:flex; gap:18px; padding:20px; border-radius:16px; transition:.2s}
  .why-item:hover{background:var(--paper)}
  .why-item .wic{width:48px;height:48px;border-radius:13px; flex:none; display:grid; place-items:center; background:#fff; border:1px solid var(--line); color:var(--hot)}
  .why-item .wic svg{width:23px;height:23px}
  .why-item h3{font-size:18px; margin-bottom:5px}
  .why-item p{color:var(--muted); font-size:15px}
  .why-visual{position:relative; border-radius:24px; overflow:hidden; box-shadow:var(--shadow-l); border:6px solid #fff; aspect-ratio:3/3.4}
  .why-visual img{width:100%;height:100%;object-fit:cover}
  .why-auth{position:absolute; left:18px; right:18px; bottom:18px; background:rgba(255,255,255,.94); backdrop-filter:blur(6px); border-radius:16px; padding:18px 20px}
  .why-auth .t{font-family:"Sora",sans-serif; font-weight:600; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:12px}
  .why-auth .row{display:flex; gap:10px}
  .why-auth .ab{flex:1; text-align:center; font-family:"Sora",sans-serif; font-weight:700; font-size:16px; color:var(--navy); padding:12px 6px; background:#fff; border:1px solid var(--line); border-radius:11px}

  /* stats */
  .stats{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:30px}
  .stat{padding:8px 4px}
  .stat .n{font-family:"Sora",sans-serif; font-weight:800; font-size:clamp(34px,3.6vw,46px); background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; line-height:1}
  .stat .l{color:var(--muted); font-size:14.5px; margin-top:8px; font-weight:500}

  /* gallery */
  .gal-top{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap}
  .filters{display:flex; gap:8px; flex-wrap:wrap}
  .filters button{font-family:"Sora",sans-serif; font-weight:600; font-size:14px; padding:10px 18px; border-radius:999px; border:1px solid var(--line); background:#fff; color:var(--ink); cursor:pointer; transition:.18s}
  .filters button.active{background:var(--ink); color:#fff; border-color:var(--ink)}
  .filters button:not(.active):hover{border-color:var(--ink)}
  .gal-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:36px}
  .gitem{position:relative; border-radius:14px; overflow:hidden; cursor:pointer; aspect-ratio:4/3; background:var(--paper-2); box-shadow:var(--shadow-s)}
  .gitem.tall{grid-row:span 2; aspect-ratio:auto}
  .gitem img{width:100%;height:100%;object-fit:cover; transition:transform .5s ease}
  .gitem:hover img{transform:scale(1.07)}
  .gitem .cap{position:absolute; inset:auto 0 0 0; padding:30px 16px 14px; background:linear-gradient(180deg,transparent,rgba(14,36,56,.86)); color:#fff; transform:translateY(8px); opacity:0; transition:.25s}
  .gitem:hover .cap{transform:none; opacity:1}
  .gitem .cap b{font-family:"Sora",sans-serif; font-size:14px; display:block}
  .gitem .cap span{font-size:12px; opacity:.8}
  .gitem .zoom{position:absolute; top:12px; right:12px; width:34px;height:34px;border-radius:50%; background:rgba(255,255,255,.92); display:grid;place-items:center; opacity:0; transform:scale(.8); transition:.2s}
  .gitem:hover .zoom{opacity:1; transform:none}
  .gitem .zoom svg{width:17px;height:17px; color:var(--ink)}
  .gal-foot{margin-top:34px; display:flex; justify-content:center}

  /* lightbox */
  .lb{position:fixed; inset:0; z-index:90; background:rgba(8,20,33,.92); display:none; align-items:center; justify-content:center; padding:30px; backdrop-filter:blur(6px)}
  .lb.open{display:flex}
  .lb img{max-width:min(1100px,92vw); max-height:84vh; border-radius:12px; box-shadow:var(--shadow-l)}
  .lb-cap{position:absolute; bottom:26px; left:0; right:0; text-align:center; color:#fff; font-family:"Sora",sans-serif; font-size:15px}
  .lb-cap span{display:block; font-family:"Manrope",sans-serif; font-size:13px; opacity:.7; margin-top:4px}
  .lb-x,.lb-nav{position:absolute; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); color:#fff; width:50px;height:50px; border-radius:50%; display:grid; place-items:center; cursor:pointer; transition:.18s}
  .lb-x:hover,.lb-nav:hover{background:rgba(255,255,255,.25)}
  .lb-x{top:24px; right:24px}
  .lb-nav svg,.lb-x svg{width:22px;height:22px}
  .lb-nav.prev{left:24px; top:50%; transform:translateY(-50%)}
  .lb-nav.next{right:24px; top:50%; transform:translateY(-50%)}

  /* FAQ */
  .faq-wrap{display:grid; grid-template-columns:.85fr 1.15fr; gap:54px; align-items:start}
  .faq-list{display:flex; flex-direction:column; gap:12px}
  .faq-item{border:1px solid var(--line); border-radius:16px; background:#fff; overflow:hidden; transition:.2s}
  .faq-item.open{border-color:var(--cold); box-shadow:var(--shadow-m)}
  .faq-q{display:flex; align-items:center; gap:16px; padding:20px 22px; cursor:pointer; font-family:"Sora",sans-serif; font-weight:600; font-size:17px}
  .faq-q .qx{margin-left:auto; flex:none; width:30px;height:30px;border-radius:50%; background:var(--paper-2); display:grid; place-items:center; transition:.25s}
  .faq-q .qx svg{width:16px;height:16px; color:var(--navy); transition:.25s}
  .faq-item.open .qx{background:var(--grad-hot)}
  .faq-item.open .qx svg{color:#fff; transform:rotate(45deg)}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease}
  .faq-a div{padding:0 22px 22px; color:var(--muted); font-size:15.5px}

  /* contact */
  .contact-wrap{display:grid; grid-template-columns:1fr 1.1fr; gap:50px; align-items:stretch}
  .contact-info{background:var(--ink); color:#fff; border-radius:24px; padding:44px 40px; position:relative; overflow:hidden}
  .contact-info::after{content:""; position:absolute; right:-90px; bottom:-90px; width:300px;height:300px; border-radius:50%; background:radial-gradient(circle,rgba(247,148,29,.3),transparent 65%)}
  .contact-info h2,.contact-info h3{color:#fff}
  .ci-line{display:flex; gap:16px; align-items:flex-start; margin-top:26px; position:relative; z-index:2}
  .ci-line .cic{width:46px;height:46px;border-radius:12px; flex:none; display:grid; place-items:center; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.14)}
  .ci-line .cic svg{width:21px;height:21px; color:#7fd0ff}
  .ci-line .lab{font-size:13px; color:rgba(255,255,255,.6); font-weight:600; letter-spacing:.04em}
  .ci-line .val{font-family:"Sora",sans-serif; font-size:18px; font-weight:600; margin-top:2px}
  .ci-line a.val:hover{color:#7fd0ff}
  .ci-cities{margin-top:30px; position:relative; z-index:2}
  .ci-cities .lab{font-size:13px; color:rgba(255,255,255,.6); font-weight:600; letter-spacing:.04em; margin-bottom:12px}
  .ci-cities .ctags{display:flex; gap:8px; flex-wrap:wrap}
  .ci-cities .ctags span{font-size:13.5px; font-weight:600; padding:7px 13px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12)}

  form.lead{background:#fff; border:1px solid var(--line); border-radius:24px; padding:40px; box-shadow:var(--shadow-m)}
  form.lead h3{font-size:24px; margin-bottom:6px}
  form.lead .sub{color:var(--muted); margin-bottom:26px; font-size:15px}
  .frow{display:grid; grid-template-columns:1fr 1fr; gap:16px}
  .field{margin-bottom:16px}
  .field label{display:block; font-family:"Sora",sans-serif; font-weight:600; font-size:13.5px; margin-bottom:7px}
  .field input,.field textarea,.field select{width:100%; padding:13px 15px; border:1px solid var(--line); border-radius:12px; font-family:inherit; font-size:15px; background:var(--paper); transition:.18s; color:var(--ink)}
  .field textarea{resize:vertical; min-height:96px}
  .field input:focus,.field textarea:focus,.field select:focus{outline:none; border-color:var(--cold); background:#fff; box-shadow:0 0 0 4px rgba(47,159,224,.12)}
  .field input.err,.field select.err{border-color:var(--hot); background:#fff5f4}
  .consent{display:flex; gap:11px; align-items:flex-start; font-size:13px; color:var(--muted); margin:6px 0 22px}
  .consent input{margin-top:3px; width:17px; height:17px; flex:none; accent-color:var(--hot)}
  form.lead [data-netlify-recaptcha]:not(:empty){margin-bottom:20px}
  form.lead .btn{width:100%; justify-content:center}
  .form-ok{display:none; text-align:center; padding:30px 10px}
  .form-ok .okic{width:74px;height:74px; border-radius:50%; background:linear-gradient(135deg,#3fbf6a,#1f9d52); display:grid; place-items:center; margin:0 auto 20px}
  .form-ok .okic svg{width:36px;height:36px; color:#fff}
  .form-ok h3{font-size:24px; margin-bottom:8px}
  .form-ok p{color:var(--muted)}

  /* footer */
  footer.ft{background:var(--ink); color:rgba(255,255,255,.66); padding:64px 0 30px; margin-top:10px}
  .ft-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:40px}
  .ft-logo{height:40px; margin-bottom:20px}
  .ft p{font-size:14.5px; max-width:300px}
  .ft h4{color:#fff; font-size:14px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:16px; font-weight:600}
  .ft-col a, .ft-col span{display:block; font-size:14.5px; padding:5px 0; color:rgba(255,255,255,.66); transition:.15s}
  .ft-col a:hover{color:#fff}
  .ft-social{display:flex; gap:10px; margin-top:18px}
  .ft-social a{width:42px;height:42px;border-radius:11px; background:rgba(255,255,255,.08); display:grid; place-items:center; transition:.18s}
  .ft-social a:hover{background:var(--grad-hot)}
  .ft-social svg{width:19px;height:19px; color:#fff}
  .ft-bottom{border-top:1px solid rgba(255,255,255,.1); margin-top:46px; padding-top:24px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:13px}
  .ft-bottom a:hover{color:#fff}

  /* sticky mobile call bar */
  /* ---------- prose (polityka prywatności itp.) ---------- */
  .prose{color:var(--ink); font-size:16px; line-height:1.7}
  .prose h2{font-size:clamp(26px,3.2vw,38px); margin-bottom:6px}
  .prose h3{font-size:20px; margin:34px 0 10px}
  .prose p{margin:12px 0; color:var(--muted)}
  .prose ul,.prose ol{margin:10px 0; padding-left:22px; color:var(--muted)}
  .prose li{margin:6px 0}
  .prose a{color:var(--cold-2); font-weight:600; text-decoration:underline; text-underline-offset:2px}
  .prose a:hover{color:var(--hot)}
  .prose hr{border:none; border-top:1px solid var(--line); margin:34px 0}

  /* ---------- cookie banner ---------- */
  .cookie{position:fixed; left:24px; bottom:24px; z-index:70; width:min(380px,calc(100vw - 48px));
    background:#fff; border:1px solid var(--line); border-radius:18px; padding:22px 24px;
    box-shadow:var(--shadow-l); display:flex; flex-direction:column; gap:16px;
    transform:translateY(16px); opacity:0; transition:transform .3s ease, opacity .3s ease}
  .cookie[hidden]{display:none}
  .cookie.show{transform:translateY(0); opacity:1}
  .cookie p{font-size:13.5px; line-height:1.55; color:var(--muted)}
  .cookie a{color:var(--cold-2); font-weight:600; text-decoration:underline; text-underline-offset:2px}
  .cookie-actions{display:flex; gap:10px; flex-wrap:wrap}
  .cookie-actions .btn{flex:1; justify-content:center; padding:11px 16px; font-size:14px}

  .callbar{position:fixed; left:0; right:0; bottom:0; z-index:55; display:none; gap:10px; padding:12px 14px calc(12px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.92); backdrop-filter:blur(12px); box-shadow:0 -4px 24px -10px rgba(14,36,56,.4)}
  .callbar .btn{flex:1; justify-content:center}

  .reveal{opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease}
  .reveal.in{opacity:1; transform:none}

  /* ---------- responsive ---------- */
  @media(max-width:980px){
    .nav-links{display:none}
    .nav-cta{margin-left:auto}
    .nav-phone .tel-text{display:none}
    .burger{display:flex}
    .hero-grid{grid-template-columns:1fr; gap:46px}
    .hero-visual{max-width:520px}
    .offer-grid{grid-template-columns:repeat(2,1fr)}
    .proc-steps{grid-template-columns:repeat(2,1fr); gap:30px}
    .pstep:not(:last-child)::after{display:none}
    .why-grid{grid-template-columns:1fr; gap:40px}
    .why-visual{max-width:480px; order:-1}
    .gal-grid{grid-template-columns:repeat(3,1fr)}
    .faq-wrap{grid-template-columns:1fr; gap:36px}
    .contact-wrap{grid-template-columns:1fr}
    .ft-grid{grid-template-columns:1fr 1fr; gap:34px}
    .callbar{display:flex}
    .callbar + *{} body{padding-bottom:0}
    .cookie{left:16px; right:16px; width:auto; bottom:calc(78px + env(safe-area-inset-bottom))}
  }
  @media(max-width:620px){
    .wrap{padding:0 18px}
    .hero{padding:128px 0 56px}
    .sec{padding:70px 0}
    .proc{padding:44px 26px; border-radius:24px}
    .offer-grid{grid-template-columns:1fr}
    .stats{grid-template-columns:1fr 1fr; gap:28px 20px}
    .gal-grid{grid-template-columns:repeat(2,1fr); gap:10px}
    .gitem .cap{opacity:1; transform:none; padding:22px 12px 11px}
    .frow{grid-template-columns:1fr}
    .contact-info,form.lead{padding:30px 24px}
    .ft-grid{grid-template-columns:1fr}
    .hero-badge.b1{left:-6px; bottom:-18px} .hero-badge.b2{right:-4px}
    .nav-cta .btn-hot{display:none}
    .trust{gap:18px}
  }
