  :root{
    --navy:#1A1D3A;
    --navy-deep:#12142B;
    --navy-2:#242853;
    --periwinkle:#6C74C9;
    --periwinkle-deep:#4F57A8;
    --orange:#E3A94E;
    --paper:#F4F5FA;
    --card:#E4E7F4;
    --ink:#1A1D3A;
    --ink-soft:#4E5372;
    --ink-faint:#8489AC;
    --on-dark:#F4F5FA;
    --on-dark-soft:#ABB0D6;
    --on-dark-faint:#767CAA;
    --line-dark:rgba(244,245,250,.14);
    --line-light:rgba(26,29,58,.12);
    --shadow:rgba(18,20,43,.35);

    --font-display:'Baloo 2','Segoe UI',system-ui,sans-serif;
    --font-body:'Nunito Sans','Segoe UI',system-ui,sans-serif;
    --container:1180px;
  }

  *{box-sizing:border-box;}
  @media (prefers-reduced-motion: no-preference){ html{scroll-behavior:smooth;} }
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--font-body);
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  button,input,select,textarea{font:inherit;}
  h1,h2,h3,h4{
    font-family:var(--font-display);
    font-weight:700;
    line-height:1.08;
    text-wrap:balance;
    margin:0;
    letter-spacing:-.01em;
  }
  p{margin:0;}
  ::selection{background:var(--periwinkle);color:var(--on-dark);}
  :focus-visible{outline:2px solid var(--periwinkle);outline-offset:3px;}

  .container{width:100%;max-width:var(--container);margin:0 auto;padding:0 20px;}
  @media (min-width:700px){ .container{padding:0 32px;} }

  section{padding:56px 0;}
  @media (min-width:900px){ section{padding:96px 0;} }
  .lede{color:var(--ink-soft);max-width:56ch;}
  .lede.on-dark{color:var(--on-dark-soft);}
  .section-head{margin-bottom:32px;}
  @media (min-width:900px){ .section-head{margin-bottom:48px;} }
  .kicker{
    display:inline-block;font-weight:800;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;
    color:var(--periwinkle-deep);margin-bottom:14px;
  }
  .kicker.on-dark{color:var(--orange);}

  .band-dark{background:var(--navy);color:var(--on-dark);}
  .band-dark h2,.band-dark h3,.band-dark h4{color:var(--on-dark);}
  .band-deep{background:var(--navy-deep);color:var(--on-dark);}
  .band-light{background:var(--paper);color:var(--ink);}

  /* ---------- buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    font-family:var(--font-display);font-weight:700;font-size:.98rem;
    padding:14px 26px;border-radius:999px;
    cursor:pointer;text-decoration:none;border:2px solid transparent;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
  }
  .btn-solid{background:var(--periwinkle);color:#fff;border-color:var(--periwinkle);}
  .btn-solid:hover{background:var(--periwinkle-deep);border-color:var(--periwinkle-deep);transform:translateY(-1px);box-shadow:0 14px 28px -12px var(--shadow);}
  .btn-outline-dark{background:transparent;color:var(--on-dark);border-color:var(--on-dark);}
  .btn-outline-dark:hover{background:var(--on-dark);color:var(--navy);}
  .btn-outline-light{background:transparent;color:var(--ink);border-color:var(--ink);}
  .btn-outline-light:hover{background:var(--ink);color:var(--paper);}
  .btn-ghost{background:transparent;color:inherit;border-color:color-mix(in srgb, currentColor 45%, transparent);}
  .btn-ghost:hover{background:color-mix(in srgb, currentColor 12%, transparent);border-color:currentColor;}
  .btn-block{width:100%;}

  /* ---------- header ---------- */
  header.site{position:sticky;top:0;z-index:80;background:var(--paper);border-bottom:1px solid var(--line-light);}
  section[id]{scroll-margin-top:76px;}
  .nav-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;}
  .brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:1.15rem;text-decoration:none;color:var(--ink);}
  .brand img{width:30px;height:30px;flex:0 0 auto;}
  .brand .dot{color:var(--periwinkle);}
  nav.primary{display:none;align-items:center;gap:4px;}
  .nav-link{background:none;border:none;cursor:pointer;color:var(--ink-soft);font-weight:700;font-size:.9rem;padding:9px 13px;border-radius:8px;text-decoration:none;transition:color .15s ease, background .15s ease;}
  .nav-link:hover{color:var(--ink);background:var(--card);}
  .nav-link.is-active{color:var(--periwinkle-deep);}
  .nav-link.lang{border:1px solid var(--line-light);border-radius:999px;padding:7px 12px;margin-left:4px;}
  .nav-link.lang:hover{border-color:var(--periwinkle);}
  .nav-cta{display:none;}
  .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:none;border:1px solid var(--line-light);border-radius:8px;width:40px;height:40px;cursor:pointer;color:var(--ink);}
  .menu-toggle span{width:16px;height:2px;background:var(--ink);display:block;}
  .mobile-nav{display:flex;flex-direction:column;gap:2px;padding:8px 0 18px;border-top:1px solid var(--line-light);}
  .mobile-nav[hidden]{display:none;}
  .mobile-nav a{text-align:left;padding:12px 6px;color:var(--ink-soft);text-decoration:none;font-weight:700;font-size:.92rem;}
  .mobile-nav .btn{margin-top:8px;}
  @media (min-width:860px){
    nav.primary{display:flex;}
    .nav-cta{display:inline-flex;}
    .menu-toggle,.mobile-nav{display:none !important;}
  }

  /* ---------- hero ---------- */
  .hero{position:relative;overflow:hidden;padding:52px 0 0;}
  .hero::before{
    content:"";position:absolute;top:-30%;left:50%;transform:translateX(-50%);
    width:120%;aspect-ratio:1;border-radius:50%;
    background:radial-gradient(circle, color-mix(in srgb, var(--periwinkle) 55%, transparent) 0%, color-mix(in srgb, var(--navy) 0%, transparent) 60%);
    pointer-events:none;
  }
  .hero .container{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;}
  .hero h1{font-size:clamp(2rem,4.5vw + 1rem,3.4rem);max-width:16ch;}
  .hero h1 .accent{color:var(--orange);}
  .hero-sub{margin-top:20px;font-size:1.06rem;max-width:52ch;}
  .hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px;}
  .trust-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:26px;}
  .chip{font-weight:700;font-size:.76rem;color:var(--on-dark-soft);padding:7px 14px;border:1px solid var(--line-dark);border-radius:999px;}
  .hero-shot{width:100%;max-width:640px;border-radius:20px;overflow:hidden;box-shadow:0 40px 70px -30px rgba(0,0,0,.55);border:1px solid var(--line-dark);}
  .hero-shot img{width:100%;height:auto;}
  .hero-detail{margin-top:44px;display:grid;gap:28px;grid-template-columns:1fr;align-items:center;text-align:left;}
  @media (min-width:860px){ .hero-detail{grid-template-columns:.85fr 1fr;gap:40px;} }
  .hero-detail .hero-shot{margin-top:0;}
  @media (min-width:860px){ .hero-detail .hero-shot{margin-left:auto;margin-right:-24px;} }
  .hero-fade{height:1px;background:var(--navy);margin-top:-1px;}

  /* ---------- feature cards (numbered) ---------- */
  .feature-grid{display:grid;gap:16px;grid-template-columns:1fr;}
  @media (min-width:640px){ .feature-grid{grid-template-columns:1fr 1fr;} }
  @media (min-width:1040px){ .feature-grid{grid-template-columns:repeat(4,1fr);} }
  .feature-card{background:var(--card);border-radius:16px;padding:26px 22px;display:flex;flex-direction:column;gap:10px;}
  .feature-card .num{font-family:var(--font-display);font-weight:800;font-size:.85rem;color:var(--orange);}
  .feature-card h3{font-size:1.05rem;color:var(--periwinkle-deep);}
  .feature-card p{color:var(--ink-soft);font-size:.9rem;}

  /* ---------- offer / service cards ---------- */
  .offer-grid{display:grid;gap:16px;grid-template-columns:1fr;}
  @media (min-width:640px){ .offer-grid{grid-template-columns:1fr 1fr;} }
  @media (min-width:900px){ .offer-grid{grid-template-columns:repeat(3,1fr);} }
  .offer-card{background:#fff;border:1px solid var(--line-light);border-radius:16px;padding:24px 22px;display:flex;flex-direction:column;gap:10px;transition:transform .2s ease, box-shadow .2s ease;}
  .offer-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px var(--shadow);}
  .offer-card .tag{font-weight:800;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--periwinkle-deep);}
  .offer-card .tag-row{display:flex;align-items:center;justify-content:space-between;gap:8px;}
  .offer-card.is-new{border-color:rgba(227,169,78,.55);box-shadow:0 0 0 1px rgba(227,169,78,.25) inset;}
  .offer-card .new-pill{font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#8A6416;background:rgba(227,169,78,.22);padding:3px 8px;border-radius:999px;}
  .offer-card h3{font-size:1.05rem;}
  .offer-card p{color:var(--ink-soft);font-size:.89rem;flex:1;}
  .offer-spec{margin-top:auto;padding-top:12px;border-top:1px dashed var(--line-light);display:flex;justify-content:space-between;font-weight:800;font-size:.78rem;color:var(--navy);}

  /* ---------- portfolio (css mockups ported from source file) ---------- */
  .portfolio-grid{display:grid;gap:20px;grid-template-columns:1fr;align-items:start;}
  @media (min-width:700px){ .portfolio-grid{grid-template-columns:repeat(3,1fr);} }
  .concept-card{background:#fff;border:1px solid var(--line-light);border-radius:16px;overflow:hidden;transition:transform .2s ease, box-shadow .2s ease;}
  .concept-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px var(--shadow);}
  .concept-chrome{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line-light);background:var(--card);}
  .concept-dots{display:flex;gap:4px;}
  .concept-dots span{width:6px;height:6px;border-radius:50%;background:var(--ink-faint);display:block;}
  .concept-url{flex:1;font-size:.68rem;font-weight:700;color:var(--ink-faint);background:#fff;border:1px solid var(--line-light);border-radius:5px;padding:3px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .concept-canvas{padding:16px;display:flex;flex-direction:column;gap:8px;min-height:150px;}
  .concept-body{padding:16px 18px 20px;}
  .concept-body .tag{font-weight:800;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--periwinkle-deep);display:block;margin-bottom:6px;}
  .concept-body h3{font-size:1rem;margin-bottom:6px;}
  .concept-body p{color:var(--ink-soft);font-size:.87rem;}

  .mock-photo{position:relative;height:128px;border-radius:10px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);background:radial-gradient(120% 140% at 78% 8%, rgba(255,255,255,.35), transparent 45%), linear-gradient(155deg, #6b4226 0%, #9a6a3c 38%, #c98f52 62%, #e8b978 100%);}
  .mock-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(15,17,35,.55), transparent 55%);}
  .mock-photo-tag{position:relative;z-index:1;display:inline-block;margin:auto 10px 9px;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;}
  .mock-photo{display:flex;align-items:flex-end;}
  .mock-menu{display:flex;flex-direction:column;gap:6px;margin-top:2px;}
  .mock-menu-row{display:flex;align-items:baseline;gap:6px;font-size:.72rem;color:var(--ink-soft);}
  .mock-menu-row b{color:var(--ink);font-weight:700;white-space:nowrap;}
  .mock-menu-row .leader{flex:1;border-bottom:1px dotted var(--line-light);margin:0 2px 3px;}
  .mock-cta{margin-top:6px;display:inline-flex;align-self:flex-start;font-size:.66rem;font-weight:800;color:#fff;background:var(--periwinkle);padding:6px 14px;border-radius:20px;}
  .mock-line{height:8px;border-radius:3px;background:var(--card);}
  .mock-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,32px);gap:5px;margin-top:6px;}
  .mock-gallery div{border-radius:5px;}
  .mock-gallery div:nth-child(1){grid-column:span 2;grid-row:span 2;background:linear-gradient(135deg,var(--periwinkle),var(--navy-2));}
  .mock-gallery div:nth-child(2){background:linear-gradient(135deg,var(--orange),#E5546B);}
  .mock-gallery div:nth-child(3){background:linear-gradient(135deg,#3FC1B0,#2F8FE0);}
  .mock-gallery div:nth-child(4){background:linear-gradient(135deg,#F4C95D,#E5546B);}
  .mock-gallery div:nth-child(5){background:linear-gradient(135deg,var(--ink-faint),var(--ink-soft));}
  .mock-services{display:flex;flex-direction:column;gap:7px;margin-top:2px;}
  .mock-service-row{display:flex;align-items:center;gap:8px;font-size:.72rem;color:var(--ink-soft);padding-bottom:6px;border-bottom:1px solid var(--card);}
  .mock-service-row .dot{width:6px;height:6px;border-radius:50%;background:var(--periwinkle);flex:0 0 auto;}
  .mock-service-row b{color:var(--ink);font-weight:700;flex:1;}

  /* ---------- split sections ---------- */
  .split{display:grid;gap:32px;grid-template-columns:1fr;align-items:center;}
  @media (min-width:900px){ .split{grid-template-columns:1fr 1fr;gap:56px;} }
  .split.rev > *:first-child{order:2;}
  @media (max-width:899px){ .split.rev > *:first-child{order:0;} }
  .checklist{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column;}
  .checklist li{display:flex;gap:16px;padding:16px 0;border-top:1px solid var(--line-light);}
  .band-dark .checklist li{border-top:0;}
  .checklist li:last-child{padding-bottom:0;}
  .checklist .step-num{font-family:var(--font-display);font-weight:800;color:var(--orange);flex:0 0 auto;min-width:2ch;}
  .checklist .step-body b{display:block;font-size:1rem;margin-bottom:3px;}
  .checklist .step-body span.when{display:block;margin-top:4px;font-size:.78rem;font-weight:700;color:var(--periwinkle);}
  .band-dark .checklist .step-body p{color:var(--on-dark-soft);}
  .checklist .step-body p{color:var(--ink-soft);font-size:.9rem;}
  .split-image{border-radius:20px;overflow:hidden;border:1px solid var(--line-light);box-shadow:0 30px 60px -34px var(--shadow);}
  .band-dark .split-image{border-color:var(--line-dark);}
  .split-image img{width:100%;height:100%;object-fit:cover;display:block;}

  /* ---------- split z portretowym zdjęciem (o mnie / om meg) ---------- */
  .split.about-split{align-items:start;}
  .split.about-split .split-image{max-width:320px;width:100%;margin:0 auto;}
  @media (min-width:900px){
    .split.about-split{grid-template-columns:1.3fr .8fr;gap:48px;align-items:start;}
    .split.about-split .split-image{max-width:360px;margin:0 0 0 auto;}
  }

  /* ---------- CTA band ---------- */
  .cta-band{position:relative;background:var(--navy);color:var(--on-dark);}
  .cta-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.28;}
  .cta-band .container{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;}
  .cta-band h2{font-size:clamp(1.7rem,3vw + 1rem,2.6rem);max-width:18ch;}
  .cta-band .lede{margin:16px auto 0;text-align:center;}
  .cta-band .btn{margin-top:28px;}
  /* ---------- quote panel ---------- */
  .quote-panel{max-width:760px;margin:0 auto;text-align:center;}
  .quote-mark{font-family:var(--font-display);font-size:3.4rem;line-height:1;color:var(--orange);display:block;margin-bottom:6px;}
  .quote-panel blockquote{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(1.25rem,2vw + 1rem,1.7rem);color:var(--on-dark);}
  .quote-attrib{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:26px;}
  .quote-attrib .monogram{width:44px;height:44px;border-radius:50%;background:var(--periwinkle);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:1rem;flex:0 0 auto;overflow:hidden;}
  .quote-attrib .monogram img{width:100%;height:100%;object-fit:cover;}
  .quote-attrib .who{text-align:left;}
  .quote-attrib .who b{display:block;font-size:.92rem;color:var(--on-dark);}
  .quote-attrib .who span{font-size:.78rem;color:var(--on-dark-faint);}

  /* ---------- contact ---------- */
  .contact-wrap{display:grid;gap:28px;grid-template-columns:1fr;max-width:920px;margin:0 auto;}
  @media (min-width:800px){ .contact-wrap{grid-template-columns:1.3fr .9fr;} }
  .contact-card{background:#fff;border:1px solid var(--line-light);border-radius:20px;padding:28px 26px;}
  @media (min-width:640px){ .contact-card{padding:36px; } }
  form.contact-form{display:flex;flex-direction:column;gap:16px;}
  .field{display:flex;flex-direction:column;gap:6px;}
  .field label{font-weight:700;font-size:.8rem;color:var(--ink-soft);}
  .field input,.field select,.field textarea{background:var(--paper);border:1px solid var(--line-light);border-radius:10px;padding:12px 14px;color:var(--ink);width:100%;}
  .field textarea{resize:vertical;min-height:110px;}
  .field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none;border-color:var(--periwinkle);box-shadow:0 0 0 3px color-mix(in srgb, var(--periwinkle) 25%, transparent);}
  .two-col{display:grid;gap:16px;grid-template-columns:1fr;}
  @media (min-width:520px){ .two-col{grid-template-columns:1fr 1fr;} }
  .form-status{font-size:.85rem;color:var(--periwinkle-deep);font-weight:700;min-height:1.2em;}
  .contact-side{display:flex;flex-direction:column;gap:16px;}
  .contact-block{background:var(--card);border-radius:16px;padding:22px;}
  .contact-block .tag{font-weight:800;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--periwinkle-deep);display:block;margin-bottom:10px;}
  .contact-block .email-link{font-weight:800;font-size:1rem;text-decoration:none;color:var(--navy);border-bottom:2px solid var(--orange);word-break:break-all;}
  .contact-block p{margin-top:12px;color:var(--ink-soft);font-size:.88rem;}

  /* ---------- legal content ---------- */
  .legal-content{max-width:74ch;}
  .legal-content h3{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--navy);margin-top:26px;}
  .legal-content h3:first-child{margin-top:0;}
  .legal-content p{color:var(--ink-soft);font-size:.94rem;margin-top:8px;line-height:1.65;}
  .legal-content ul{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:6px;}
  .legal-content li{color:var(--ink-soft);font-size:.94rem;line-height:1.5;}
  .legal-content a{color:var(--periwinkle-deep);text-decoration:underline;}

  /* ---------- footer ---------- */
  main > .cta-band:last-child{margin:0 14px;border-radius:22px;overflow:hidden;}
  footer.site{position:relative;overflow:hidden;margin:14px;border-radius:22px;padding:52px 0 28px;min-height:210px;display:flex;flex-direction:column;}
  .foot-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.6;}
  footer.site .container{position:relative;flex:1;display:flex;flex-direction:column;}
  .foot-word{font-size:clamp(2rem,6vw,3.6rem);line-height:1.2;color:var(--on-dark);letter-spacing:-.02em;}
  .foot-row{display:flex;flex-direction:column;gap:18px;margin-top:auto;padding-top:20px;border-top:1px solid var(--line-dark);}  @media (min-width:700px){ .foot-row{flex-direction:row;justify-content:space-between;align-items:center;} }
  .foot-links{display:flex;gap:18px;flex-wrap:wrap;}
  footer a{font-weight:700;font-size:.85rem;color:var(--on-dark-soft);text-decoration:none;}
  footer a:hover{color:var(--orange);}
  .foot-fine{font-size:.78rem;color:var(--on-dark-faint);}

  /* ---------- reveal ---------- */
  .js .reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease, transform .55s ease;}
  .js .reveal.is-visible{opacity:1;transform:none;}

  /* ---------- cookie consent banner ---------- */
  .cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;max-width:720px;margin:0 auto;background:var(--navy-deep);color:var(--on-dark);border-radius:16px;padding:20px 24px;box-shadow:0 20px 50px -20px rgba(0,0,0,.5);display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;}
  .cookie-banner p{margin:0;flex:1 1 260px;font-size:.9rem;line-height:1.5;color:var(--on-dark-soft);}
  .cookie-banner p a{color:var(--on-dark);text-decoration:underline;}
  .cookie-banner-actions{display:flex;gap:12px;flex:0 0 auto;}
  /* ---------- hero: reflektor i głębia ---------- */
  @property --ang{syntax:'<angle>';inherits:false;initial-value:0deg;}
  .hero-x{--mx:68%;--my:32%;padding:72px 0 88px;isolation:isolate;}
  .hero-x .container{text-align:left;display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;}
  .hero-x::before{z-index:0;}
  .hero-x .container{z-index:1;}
  .pill{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--on-dark);padding:7px 14px;border-radius:999px;background:rgba(244,245,250,.08);border:1px solid rgba(244,245,250,.18);backdrop-filter:blur(10px);}
  .pill-sec{margin-bottom:18px;}
  .pill i{width:7px;height:7px;border-radius:50%;background:var(--orange);animation:ping 2s infinite;}
  @keyframes ping{0%{box-shadow:0 0 0 0 rgba(227,169,78,.7);}70%,100%{box-shadow:0 0 0 9px rgba(227,169,78,0);}}
  .hero-x h1{margin-top:18px;max-width:none;}
  .hero-x .hero-sub{margin-top:18px;}
  .hero-x .hero-actions{justify-content:flex-start;}
  .hero-x .btn-solid{background:linear-gradient(135deg,#7A82D6,#5A62BC);position:relative;overflow:hidden;box-shadow:0 12px 30px -10px rgba(108,116,201,.9);}
  .hero-x .btn-solid::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);animation:shine 3.6s ease-in-out infinite;}
  @keyframes shine{0%,55%{left:-60%;}100%{left:130%;}}
  .hero-visual{position:relative;perspective:1100px;}
  .hero-tilt{position:relative;transform-style:preserve-3d;transition:transform .18s ease-out;will-change:transform;}
  .hero-tilt img{width:100%;height:auto;border-radius:20px;border:1px solid rgba(154,161,240,.4);box-shadow:0 50px 90px -30px rgba(0,0,0,.85),0 0 0 6px rgba(108,116,201,.12);}
  .hero-tilt::before{content:"";position:absolute;inset:-2px;border-radius:22px;background:conic-gradient(from var(--ang,0deg),#6C74C9,#E3A94E,#8B5CF6,#6C74C9);filter:blur(22px);opacity:.55;z-index:-1;animation:spin 8s linear infinite;}
  @keyframes spin{to{--ang:360deg;}}
  @media (max-width:860px){
    .hero-x{padding:48px 0 56px;}
    .hero-x .container{grid-template-columns:1fr;gap:38px;}
  }
  @media (prefers-reduced-motion: reduce){
    .pill i,.hero-x .btn-solid::after,.hero-tilt::before{animation:none;}
    .hero-tilt{transition:none;}
  }
  /* ---------- kratka reagująca na kursor (wszystkie ciemne sekcje bez zdjęć) ---------- */
  .band-dark{position:relative;overflow:hidden;--mx:72%;--my:28%;}
  .band-dark > .container{position:relative;z-index:1;}
  .fx-grid,.fx-hi{position:absolute;inset:0;z-index:0;pointer-events:none;}
  .fx-grid{
    background-image:
      radial-gradient(520px circle at var(--mx) var(--my), rgba(108,116,201,.42), transparent 62%),
      radial-gradient(170px circle at var(--mx) var(--my), rgba(227,169,78,.2), transparent 70%),
      linear-gradient(rgba(154,161,240,.16) 1px, transparent 1px),
      linear-gradient(90deg, rgba(154,161,240,.16) 1px, transparent 1px);
    background-size:auto,auto,52px 52px,52px 52px;
  }
  .fx-hi{
    background-image:
      linear-gradient(rgba(190,196,255,.75) 1px, transparent 1px),
      linear-gradient(90deg, rgba(190,196,255,.75) 1px, transparent 1px);
    background-size:52px 52px,52px 52px;
    -webkit-mask-image:radial-gradient(260px circle at var(--mx) var(--my), #000 0%, transparent 100%);
    mask-image:radial-gradient(260px circle at var(--mx) var(--my), #000 0%, transparent 100%);
  }
  /* ---------- osobne kafle: zakres + cytat ---------- */
  .tile-stack{background:var(--paper);padding:14px;display:flex;flex-direction:column;gap:14px;}
  .tile-stack > .band-dark,.tile-stack > .cta-band{border-radius:22px;overflow:hidden;}
  /* ---------- portfolio: wyróżniona realizacja ---------- */
  .concept-card.featured{display:grid;grid-template-columns:1.4fr 1fr;margin-bottom:8px;}
  .concept-card.featured:hover{transform:none;}
  .featured-media{border-right:1px solid var(--line-light);min-width:0;}
  .featured-media a{display:block;}
  .featured-shot{width:100%;height:auto;aspect-ratio:1424/890;object-fit:cover;object-position:top;}
  .featured-body{padding:32px 30px;display:flex;flex-direction:column;align-items:flex-start;gap:14px;justify-content:center;}
  .featured-body .tag{font-weight:800;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--periwinkle-deep);}
  .featured-body h2{font-size:1.6rem;}
  .featured-body p{color:var(--ink-soft);font-size:.95rem;}
  .featured-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:.88rem;color:var(--ink-soft);}
  .featured-list li::before{content:"-";color:var(--orange);font-weight:800;margin-right:10px;}
  .portfolio-sub{font-size:1.3rem;margin:48px 0 20px;}
  @media (max-width:860px){
    .concept-card.featured{grid-template-columns:1fr;}
    .featured-media{border-right:0;border-bottom:1px solid var(--line-light);}
    .featured-body{padding:24px 22px 28px;}
  }
  /* ---------- opinia w Google ---------- */
  .review-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-weight:800;font-size:.86rem;color:var(--navy);text-decoration:none;border-bottom:2px solid var(--orange);}
  .review-link:hover{color:var(--periwinkle-deep);}