/* Landing page - ciemny, bez menu. Zrodlo: projekt emobility-consulting-landing
   (port 1:1). Fonty: theme (font-family wyciete). Wszystko scope'owane pod body.lp-dark. */
:root{
  
  --ss-lime:        #C8F40F;   
  --ss-lime-hover:  #DAF85E;   
  --ss-yellow:      #FFED64;   
  --ss-yellow-hover:#FFF18A;
  --ss-blue:        #002AEA;   
  --ss-blue-hover:  #1F44F0;

  
  --ss-ink:         #141414;   
  --ss-ink-soft:    #262626;   
  --ss-gray-700:    #434343;   
  --ss-gray-600:    #626262;   
  --ss-gray-500:    #939393;   
  --ss-gray-400:    #B6B6B6;   
  --ss-border:      #E8E8E8;   
  --ss-border-cool: #EAECF0;   
  --ss-white:       #FFFFFF;

  
  --ss-peri-900:    #2B406B;   
  --ss-peri-700:    #486CB5;   
  --ss-peri-600:    #3855EE;   
  --ss-peri-500:    #5470F1;   
  --ss-peri-400:    #6698FF;   
  --ss-peri-300:    #B0BDF8;   
  --ss-peri-250:    #B9D0FF;
  --ss-peri-200:    #D0DFFF;   
  --ss-peri-150:    #E6EAFD;   
  --ss-peri-100:    #F0F5FF;   
  --ss-peri-50:     #F5F6FE;   

  
  --ss-success:     #16A34A;   
  --ss-success-bg:  #DCFCE7;
  --ss-warning:     #F59E0B;   
  --ss-warning-soft:#FACC15;
  --ss-danger:      #EF4444;   
  --ss-danger-bg:   #FEE2E2;

  
  --ss-grad-navy:   linear-gradient(180deg, #2B406B 0%, #486CB5 100%); 
  --ss-grad-peri:   linear-gradient(135deg, #E6EAFD 0%, #B0BDF8 100%); 

  
  --ss-shadow-xs:   0 1px 2px rgba(10,13,18,0.05);
  --ss-shadow-sm:   0 1px 3px rgba(10,13,18,0.10), 0 1px 2px rgba(10,13,18,0.06);
  --ss-shadow-md:   0 4px 8px -2px rgba(10,13,18,0.10), 0 2px 4px -2px rgba(10,13,18,0.06);
  --ss-shadow-lg:   0 12px 16px -4px rgba(10,13,18,0.08), 0 4px 6px -2px rgba(10,13,18,0.03);
  --ss-shadow-xl:   0 20px 24px -4px rgba(10,13,18,0.08), 0 8px 8px -4px rgba(10,13,18,0.03);

  
  --ss-r-xs: 6px;
  --ss-r-sm: 8px;     
  --ss-r-md: 12px;    
  --ss-r-lg: 16px;    
  --ss-r-xl: 24px;    
  --ss-r-2xl: 32px;
  --ss-r-pill: 999px;

  
  --ss-space-1: 4px;
  --ss-space-2: 8px;
  --ss-space-3: 12px;
  --ss-space-4: 16px;
  --ss-space-5: 24px;
  --ss-space-6: 32px;
  --ss-space-7: 48px;
  --ss-space-8: 64px;
  --ss-space-9: 96px;
  --ss-space-10: 128px;

  
  --ss-font-ui:      "Sofia Sans", "Sofia Pro", system-ui, -apple-system, sans-serif;
  --ss-font-display: "Poppins", "Sofia Sans", system-ui, sans-serif;
  --ss-font-mono:    "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;

  
  --ss-text-display: 700 60px/72px var(--ss-font-ui);   
  --ss-text-h1:      700 48px/56px var(--ss-font-ui);
  --ss-text-h2:      700 36px/44px var(--ss-font-ui);   
  --ss-text-h3:      700 30px/38px var(--ss-font-ui);
  --ss-text-h4:      600 24px/32px var(--ss-font-ui);
  --ss-text-lead:    400 20px/30px var(--ss-font-ui);   
  --ss-text-body:    400 18px/28px var(--ss-font-ui);
  --ss-text-base:    400 16px/24px var(--ss-font-ui);
  --ss-text-sm:      400 14px/20px var(--ss-font-ui);
  --ss-text-xs:      400 12px/18px var(--ss-font-ui);
  --ss-tracking-tight: -0.02em;   
}.lp-dark .ss-display{ font: var(--ss-text-display); letter-spacing: var(--ss-tracking-tight); color: var(--ss-ink); }.lp-dark .ss-h1{ font: var(--ss-text-h1); letter-spacing: var(--ss-tracking-tight); color: var(--ss-ink); }.lp-dark .ss-h2{ font: var(--ss-text-h2); letter-spacing: var(--ss-tracking-tight); color: var(--ss-ink); }.lp-dark .ss-h3{ font: var(--ss-text-h3); letter-spacing: var(--ss-tracking-tight); color: var(--ss-ink); }.lp-dark .ss-h4{ font: var(--ss-text-h4); color: var(--ss-ink); }.lp-dark .ss-lead{ font: var(--ss-text-lead); color: var(--ss-gray-600); }.lp-dark .ss-body{ font: var(--ss-text-body); color: var(--ss-gray-600); }.lp-dark .ss-base{ font: var(--ss-text-base); color: var(--ss-gray-700); }.lp-dark .ss-sm{ font: var(--ss-text-sm); color: var(--ss-gray-600); }.lp-dark .ss-eyebrow{
  font: 700 14px/20px var(--ss-font-ui);
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--ss-peri-500);
}.lp-dark .ss-mono{ }.lp-dark .ss-btn{
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  border: none; border-radius: var(--ss-r-sm); cursor: pointer;
  font: 700 16px/24px var(--ss-font-ui); white-space: nowrap;
  padding: 12px 32px; transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}.lp-dark .ss-btn--xl{ font-size: 18px; padding: 16px 40px; }.lp-dark .ss-btn--m{ font-size: 14px; padding: 10px 24px; }.lp-dark .ss-btn--s{ font-size: 14px; padding: 8px 20px; }.lp-dark .ss-btn--primary{ background: var(--ss-lime); color: var(--ss-ink); }.lp-dark .ss-btn--primary:hover{ background: var(--ss-lime-hover); }.lp-dark .ss-btn--accent{ background: var(--ss-yellow); color: var(--ss-ink); }.lp-dark .ss-btn--accent:hover{ background: var(--ss-yellow-hover); }.lp-dark .ss-btn--secondary{ background: var(--ss-blue); color: #fff; }.lp-dark .ss-btn--secondary:hover{ background: var(--ss-blue-hover); }.lp-dark .ss-btn--outline{ background: transparent; color: var(--ss-ink); box-shadow: inset 0 0 0 1px var(--ss-border); }.lp-dark .ss-btn--outline:hover{ background: var(--ss-peri-50); }.lp-dark .ss-btn--ghost{ background: transparent; color: var(--ss-gray-700); }.lp-dark .ss-btn--ghost:hover{ background: var(--ss-peri-50); }.lp-dark .ss-btn--link{ background: transparent; color: var(--ss-blue); padding-left: 0; padding-right: 0; }.lp-dark .ss-btn--link:hover{ color: var(--ss-blue-hover); }.lp-dark :where(div.page,div.page *){box-sizing:border-box;margin:0;padding:0;}:root{
    --ink:#F3F5FF; --g6:#B7BFE6; --g5:#8B94C4; --border:rgba(255,255,255,.14);
    --blue:#7C9BFF; --navy1:#2B406B; --navy2:#486CB5;
    --lime:#C8F40F; --lime-h:#DAF85E; --yellow:#FFED64;
    --wash:#171B36; --peri150:rgba(255,255,255,.14); --peri600:#7C9BFF; --success:#34D399;
    --card:#151933; --bg:#0B0E20; --blue-btn:#3D5AFB; --ink-on-light:#12162B;
    --ui:var(--ss-font-ui,'Sofia Sans',system-ui,sans-serif);
    --mono:var(--ss-font-mono,'IBM Plex Mono',monospace);
  }body.lp-dark{scroll-behavior:smooth;}body.lp-dark{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;}.lp-dark :where(div.page) img{display:block;max-width:100%;}.lp-dark :where(div.page) a{text-decoration:none;color:var(--blue);}.lp-dark :where(div.page) a:hover{color:#A6BEFF;}.lp-dark div.page{width:min(1800px, calc(100% - 48px));margin:0 auto;}.lp-dark .mw{width:min(1480px, calc(100% - 48px));margin:0 auto;}.lp-dark .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:none;border-radius:8px;
    cursor:pointer;font-weight:700;white-space:nowrap;color:var(--ink);transition:background-color .15s ease,box-shadow .15s ease;}.lp-dark .btn svg{width:20px;height:20px;}.lp-dark .btn.m{font-size:15px;line-height:24px;padding:12px 24px;}.lp-dark .btn.l{font-size:16px;line-height:24px;padding:12px 32px;}.lp-dark .btn.xl{font-size:18px;line-height:24px;padding:18px 32px;}.lp-dark .btn.primary{background:var(--lime);color:var(--ink-on-light);}.lp-dark .btn.primary:hover{background:var(--lime-h);}.lp-dark .btn.secondary{background:var(--blue-btn);color:#fff;}.lp-dark .btn.secondary:hover{background:#2E46D6;}.lp-dark .btn.white{background:#fff;color:#1a2a6e;}.lp-dark .btn.white:hover{background:#EEF2FF;}.lp-dark .btn.ghost{background:transparent;color:var(--ink);}.lp-dark .btn.ghost:hover{background:var(--wash);}.lp-dark .eyebrow{font-weight:700;font-size:14px;line-height:20px;color:var(--blue);}.lp-dark .h-sec{font-weight:700;font-size:48px;line-height:60px;letter-spacing:-0.02em;color:var(--ink);}.lp-dark .h-mid{font-weight:700;font-size:36px;line-height:44px;letter-spacing:-0.02em;color:var(--ink);}.lp-dark .sub-g5{font-weight:400;font-size:18px;line-height:28px;color:var(--g5);}.lp-dark .sub-g6{font-weight:400;font-size:18px;line-height:28px;color:var(--g6);}.lp-dark .topbar{position:relative;height:52px;background:linear-gradient(90deg,var(--navy1) 0%,var(--navy2) 100%);
    display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 24px;}.lp-dark .topbar b{font-weight:700;font-size:14px;line-height:20px;color:#fff;}.lp-dark .topbar a.rw{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;line-height:20px;color:#fff;}.lp-dark .topbar a.rw svg{width:16px;height:16px;}.lp-dark .topbar .x{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#fff;opacity:.85;}.lp-dark .topbar .x svg{width:16px;height:16px;}.lp-dark .nav{width:min(1482px, calc(100% - 48px));margin:0 auto;height:100px;display:flex;align-items:center;justify-content:space-between;}.lp-dark .nav .l{display:flex;align-items:center;gap:80px;}.lp-dark .nav .logo{height:40px;width:auto;}.lp-dark .nav .items{display:flex;align-items:center;gap:8px;}.lp-dark .nav .items a{display:flex;align-items:center;gap:6px;font-weight:600;font-size:16px;line-height:24px;color:var(--ink);padding:8px 12px;border-radius:8px;}.lp-dark .nav .items a:hover{background:var(--wash);}.lp-dark .nav .items a svg{width:16px;height:16px;color:var(--g5);}.lp-dark .nav .r{display:flex;align-items:center;gap:8px;}.lp-dark .hero{width:min(1040px, calc(100% - 48px));margin:0 auto;padding:64px 0 72px;display:flex;flex-direction:column;gap:48px;align-items:center;}.lp-dark .hero .pill{display:inline-flex;align-items:center;gap:12px;height:28px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--border);padding:4px 12px;}.lp-dark .hero .pill span{font-weight:700;font-size:14px;line-height:20px;letter-spacing:.02em;color:var(--blue);text-transform:uppercase;}.lp-dark .hero h1{font-weight:700;font-size:64px;line-height:74px;letter-spacing:-0.02em;text-align:center;color:var(--ink);max-width:20ch;}.lp-dark .hero p{font-weight:400;font-size:18px;line-height:28px;text-align:center;color:var(--g5);max-width:74ch;}.lp-dark .hero .htext{display:flex;flex-direction:column;gap:16px;align-items:center;}.lp-dark .heroimg{width:min(1480px, calc(100% - 48px));margin:0 auto;display:flex;flex-direction:column;}.lp-dark .heroimg .shot{width:100%;height:726px;border-radius:16px;overflow:hidden;background:var(--navy1);}.lp-dark .heroimg .shot img{width:100%;height:100%;object-fit:cover;}.lp-dark .logostrip{width:100%;padding:48px 0;display:flex;align-items:center;justify-content:space-between;gap:40px;border-bottom:1px solid var(--border);}.lp-dark .logostrip .cap{font-weight:400;font-size:14px;line-height:20px;color:var(--g5);max-width:16ch;flex:none;}.lp-dark .logostrip .marks{display:flex;align-items:center;justify-content:flex-end;gap:64px;flex:1;}.lp-dark .logostrip .marks img{height:30px;width:auto;object-fit:contain;opacity:.85;filter:grayscale(1) invert(1);}.lp-dark .statement{padding:120px 0 0;display:flex;flex-direction:column;gap:80px;align-items:center;position:relative;}.lp-dark .sygnet{width:100px;height:100px;border-radius:24px;background:#fff;box-shadow:inset 0 0 0 1px var(--border);display:flex;align-items:center;justify-content:center;}.lp-dark .sygnet img{height:38px;width:auto;}.lp-dark .statement .block{display:flex;flex-direction:column;gap:80px;align-items:center;}.lp-dark .statement .stmt{width:min(1080px, calc(100% - 48px));font-weight:700;font-size:48px;line-height:60px;letter-spacing:-0.02em;text-align:center;color:var(--ink);}.lp-dark .statrow{width:min(1480px, calc(100% - 48px));border-radius:24px;background:var(--card);box-shadow:inset 0 0 0 1px var(--border);display:flex;}.lp-dark .statrow .st{flex:1;padding:32px;display:flex;flex-direction:column;gap:32px;border-right:1px solid var(--border);}.lp-dark .statrow .st:last-child{border-right:none;}.lp-dark .statrow .top{display:flex;flex-direction:column;gap:16px;}.lp-dark .statrow .ic{width:32px;height:32px;color:var(--blue);}.lp-dark .statrow .n{font-weight:700;font-size:44px;line-height:52px;letter-spacing:-0.02em;color:var(--ink);}.lp-dark .statrow .l{font-weight:400;font-size:18px;line-height:28px;color:var(--g6);}.lp-dark .tools{padding:124px 0;display:flex;flex-direction:column;gap:80px;align-items:center;}.lp-dark .tools .head{width:min(977px, calc(100% - 48px));display:flex;flex-direction:column;gap:24px;align-items:center;text-align:center;}.lp-dark .tools .cards{width:min(1480px, calc(100% - 48px));display:flex;gap:24px;}.lp-dark .pcard{flex:1;border-radius:24px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--border);background:var(--card);display:flex;flex-direction:column;}.lp-dark .pcard .pic{height:300px;background:var(--navy1);position:relative;overflow:hidden;}.lp-dark .pcard .pic img{width:100%;height:100%;object-fit:cover;}.lp-dark .pcard .pbody{padding:40px;display:flex;flex-direction:column;gap:16px;}.lp-dark .pcard h3{font-weight:700;font-size:24px;line-height:32px;letter-spacing:-0.01em;color:var(--ink);}.lp-dark .pcard .tag{font-weight:400;font-size:16px;line-height:24px;color:var(--g5);}.lp-dark .pcard ul{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:6px;}.lp-dark .pcard li{display:flex;gap:12px;align-items:flex-start;font-weight:400;font-size:16px;line-height:24px;color:var(--g6);}.lp-dark .pcard li svg{width:20px;height:20px;color:var(--success);flex:none;margin-top:2px;}.lp-dark .periblocks{width:min(1480px, calc(100% - 48px));margin:0 auto;border-radius:24px;background:linear-gradient(180deg,var(--wash) 35%,rgba(245,246,254,0) 100%);
    padding:140px 160px;display:flex;flex-direction:column;gap:80px;align-items:center;}.lp-dark .periblocks .head{width:min(920px, calc(100% - 48px));display:flex;flex-direction:column;gap:24px;align-items:center;text-align:center;}.lp-dark .periblocks .head h2{font-weight:700;font-size:60px;line-height:72px;letter-spacing:-0.02em;color:var(--ink);}.lp-dark .blocks{width:100%;display:flex;flex-direction:column;gap:48px;}.lp-dark .block{border-radius:24px;background:var(--card);box-shadow:inset 0 0 0 1px var(--border);display:flex;gap:26px;padding:12px;align-items:center;}.lp-dark .block .txt{flex:1;padding:60px;display:flex;flex-direction:column;gap:48px;}.lp-dark .block .txt .lead{display:flex;flex-direction:column;gap:24px;}.lp-dark .block h3{font-weight:700;font-size:36px;line-height:44px;letter-spacing:-0.02em;color:var(--ink);}.lp-dark .block .bsub{font-weight:400;font-size:20px;line-height:30px;color:var(--g6);}.lp-dark .block ul{list-style:none;display:flex;flex-direction:column;gap:16px;}.lp-dark .block li{display:flex;gap:12px;align-items:flex-start;font-weight:400;font-size:16px;line-height:24px;color:var(--g6);}.lp-dark .block li svg{width:22px;height:22px;color:var(--success);flex:none;margin-top:1px;}.lp-dark .block .media{flex:1;align-self:stretch;min-height:560px;border-radius:16px;overflow:hidden;background:var(--navy1);position:relative;}.lp-dark .block .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}.lp-dark .tailored{width:min(1480px, calc(100% - 48px));margin:0 auto;padding:140px 0;display:flex;flex-direction:column;gap:80px;align-items:center;}.lp-dark .tailored .head{width:min(980px, calc(100% - 48px));display:flex;flex-direction:column;gap:24px;text-align:center;align-items:center;}.lp-dark .ttable{width:100%;display:flex;flex-direction:column;gap:24px;}.lp-dark .trow{border-radius:24px;box-shadow:inset 0 0 0 1px var(--border);display:flex;gap:24px;overflow:hidden;}.lp-dark .trow .label{width:477px;padding:60px;flex:none;}.lp-dark .trow .label span{font-weight:700;font-size:24px;line-height:32px;color:var(--ink);}.lp-dark .trow .cells{flex:1;padding:60px;display:grid;grid-template-columns:1fr 1fr;gap:48px 32px;}.lp-dark .tcell{display:flex;flex-direction:column;gap:20px;}.lp-dark .tcell .ic{width:32px;height:32px;color:var(--ink);}.lp-dark .tcell .ct{display:flex;flex-direction:column;gap:8px;}.lp-dark .tcell h4{font-weight:700;font-size:20px;line-height:30px;color:var(--ink);}.lp-dark .tcell p{font-weight:400;font-size:18px;line-height:28px;color:var(--g5);}.lp-dark .stories{width:min(1480px, calc(100% - 48px));margin:0 auto;border-radius:24px;background:linear-gradient(180deg,var(--wash) 64%,rgba(245,246,254,0) 100%);
    padding:140px 0 140px 160px;display:flex;flex-direction:column;gap:48px;overflow:hidden;}.lp-dark .stories .shead{display:flex;justify-content:space-between;align-items:flex-end;padding-right:160px;}.lp-dark .stories .shead .l{width:min(640px, calc(100% - 48px));display:flex;flex-direction:column;gap:16px;}.lp-dark .stories .shead h2{font-weight:700;font-size:48px;line-height:60px;letter-spacing:-0.02em;color:var(--ink);}.lp-dark .stories .arrows{display:flex;gap:16px;}.lp-dark .stories .arrows .a{width:40px;height:40px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--border);background:#fff;display:flex;align-items:center;justify-content:center;color:var(--blue);}.lp-dark .stories .arrows .a svg{width:20px;height:20px;}.lp-dark .srow{display:flex;gap:24px;}.lp-dark .scard{flex:0 0 1160px;border-radius:24px;background:var(--card);padding:12px;display:flex;gap:26px;align-items:stretch;box-shadow:inset 0 0 0 1px var(--border);}.lp-dark .scard .sbody{flex:1;padding:60px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;}.lp-dark .scard .wm{height:28px;width:auto;object-fit:contain;object-position:left;}.lp-dark .scard .sq{font-weight:700;font-size:28px;line-height:38px;letter-spacing:-0.01em;color:var(--ink);max-width:22ch;}.lp-dark .scard .sstats{display:flex;gap:48px;}.lp-dark .scard .sstats .n{font-weight:700;font-size:36px;line-height:44px;letter-spacing:-0.02em;color:var(--ink);}.lp-dark .scard .sstats .n em{font-style:normal;color:var(--blue);}.lp-dark .scard .sstats .l{font-weight:400;font-size:14px;line-height:20px;color:var(--g6);margin-top:8px;max-width:16ch;}.lp-dark .scard .link{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:16px;color:var(--blue);}.lp-dark .scard .link svg{width:18px;height:18px;}.lp-dark .scard .simg{width:560px;flex:none;border-radius:16px;overflow:hidden;background:var(--navy1);}.lp-dark .scard .simg img{width:100%;height:100%;object-fit:cover;}.lp-dark .faqwrap{width:min(1480px, calc(100% - 48px));margin:0 auto;padding:140px 0 80px;display:flex;gap:24px;}.lp-dark .faqwrap .fh{flex:1;}.lp-dark .faqwrap .fh h2{width:100%;max-width:12ch;font-weight:700;font-size:48px;line-height:60px;letter-spacing:-0.02em;color:var(--ink);}.lp-dark .faqcol{flex:1;display:flex;flex-direction:column;}.lp-dark .faqcol details{border-bottom:1px solid var(--border);padding:24px 0;}.lp-dark .faqcol details:first-child{border-top:1px solid var(--border);}.lp-dark .faqcol summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:700;font-size:24px;line-height:32px;color:var(--ink);}.lp-dark .faqcol summary::-webkit-details-marker{display:none;}.lp-dark .faqcol summary .pm{width:40px;height:40px;flex:none;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:transform .2s ease;}.lp-dark .faqcol summary .pm svg{width:24px;height:24px;}.lp-dark .faqcol details[open] summary .pm{transform:rotate(180deg);}.lp-dark .faqcol .ans{font-weight:400;font-size:18px;line-height:28px;color:var(--g6);margin-top:16px;max-width:56ch;}.lp-dark .ctaband{width:min(1480px, calc(100% - 48px));margin:0 auto;border-radius:24px;overflow:hidden;background:linear-gradient(111deg,var(--navy1) 62%,var(--navy2) 99%);
    padding:96px 160px;display:flex;flex-direction:column;gap:48px;align-items:center;}.lp-dark .ctaband .cb{display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center;}.lp-dark .ctaband .cbe{font-weight:700;font-size:14px;line-height:20px;letter-spacing:.08em;color:#B9D0FF;text-transform:uppercase;}.lp-dark .ctaband h2{font-weight:700;font-size:48px;line-height:60px;letter-spacing:-0.02em;color:#fff;}.lp-dark .ctaband p{font-weight:400;font-size:18px;line-height:28px;color:#E7EDFA;max-width:64ch;}.lp-dark .ctaband .cta{display:flex;gap:12px;}.lp-dark .foot{width:min(1481px, calc(100% - 48px));margin:0 auto;padding:80px 0;display:flex;flex-direction:column;gap:64px;}.lp-dark .foot .ftop{display:flex;gap:25px;align-items:flex-start;}.lp-dark .foot .fbrand{width:100%;display:flex;flex-direction:row;align-items:center;gap:32px;}.lp-dark .foot .fbrand .addr{margin-right:auto;}.lp-dark .foot .fbrand .logo{height:44px;width:auto;}.lp-dark .foot .fbrand .addr{font-weight:400;font-size:16px;line-height:24px;color:var(--g6);}.lp-dark .foot .lang{display:flex;flex-direction:column;gap:8px;}.lp-dark .foot .lang .lbl{font-weight:400;font-size:14px;line-height:20px;color:var(--g5);}.lp-dark .foot .lang .sel{width:128px;height:40px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--border);display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:14px;color:var(--ink);}.lp-dark .foot .lang .sel svg{width:16px;height:16px;color:var(--ink);}.lp-dark .foot .social{display:flex;gap:10px;}.lp-dark .foot .social a{width:36px;height:36px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--border);display:flex;align-items:center;justify-content:center;color:var(--ink);}.lp-dark .foot .social a svg{width:18px;height:18px;}.lp-dark .foot .fcols{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:56px 24px;}.lp-dark .foot .fcol h4{font-weight:700;font-size:18px;line-height:28px;color:var(--ink);margin-bottom:16px;}.lp-dark .foot .fcol a{display:flex;align-items:center;gap:8px;font-weight:400;font-size:16px;line-height:24px;color:var(--g6);margin-bottom:16px;}.lp-dark .foot .fcol a:hover{color:var(--ink);}.lp-dark .foot .tagpill{font:700 10px/1.3 var(--ui);color:var(--blue);background:rgba(124,155,255,.16);border-radius:4px;padding:4px 6px;}.lp-dark .foot .fbar{display:flex;gap:24px;align-items:stretch;border-top:1px solid var(--border);padding-top:40px;}.lp-dark .foot .fbar .b1{width:351px;flex:none;display:flex;flex-direction:column;gap:6px;justify-content:center;}.lp-dark .foot .fbar .cprt{font-weight:400;font-size:14px;line-height:20px;color:var(--g6);}.lp-dark .foot .fbar .dsg{font-weight:400;font-size:14px;line-height:20px;color:var(--g5);}.lp-dark .foot .fbar .b2{flex:1;display:flex;align-items:center;justify-content:space-between;gap:24px;}.lp-dark .foot .fbar .policies{display:flex;gap:16px;}.lp-dark .foot .fbar .policies a{font-weight:400;font-size:14px;line-height:20px;color:var(--g6);text-decoration:underline;}.lp-dark .foot .fbar .awards{display:flex;gap:14px;align-items:center;}.lp-dark .foot .fbar .awards .lb{font-size:14px;color:var(--g6);}.lp-dark .foot .fbar .awards img{height:48px;width:auto;object-fit:contain;background:#fff;border-radius:6px;padding:4px 8px;}.lp-dark .svc-hero{width:min(980px, calc(100% - 48px));margin:0 auto;padding:80px 0;display:flex;flex-direction:column;gap:48px;align-items:center;}.lp-dark .svc-hero .ht{display:flex;flex-direction:column;gap:16px;align-items:center;}.lp-dark .svc-hero .eyebrow{text-align:center;letter-spacing:.06em;}.lp-dark .svc-hero h1{font-weight:700;font-size:48px;line-height:60px;letter-spacing:-0.02em;text-align:center;color:var(--ink);}.lp-dark .svc-hero p{font-weight:400;font-size:18px;line-height:28px;text-align:center;color:var(--g5);}.lp-dark .svc-shot{width:min(1483px, calc(100% - 48px));margin:0 auto;display:flex;flex-direction:column;}.lp-dark .svc-shot .pic{height:726px;border-radius:16px;overflow:hidden;background:linear-gradient(118deg,var(--navy1) 58%,var(--navy2) 100%);position:relative;display:flex;align-items:center;}.lp-dark .svc-shot .flow{width:520px;flex:none;padding:0 0 0 72px;display:flex;flex-direction:column;gap:14px;z-index:2;}.lp-dark .svc-shot .flow .fe{font-weight:700;font-size:14px;line-height:20px;letter-spacing:.08em;text-transform:uppercase;color:#B9D0FF;margin-bottom:10px;}.lp-dark .svc-shot .node{border-radius:14px;padding:18px 22px;display:flex;flex-direction:column;gap:4px;}.lp-dark .svc-shot .node .k{font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase;}.lp-dark .svc-shot .node .v{font-weight:700;font-size:22px;line-height:30px;letter-spacing:-0.01em;}.lp-dark .svc-shot .node.old{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);}.lp-dark .svc-shot .node.old .k{color:#9FB6E4;}.lp-dark .svc-shot .node.old .v{color:rgba(255,255,255,.72);}.lp-dark .svc-shot .node.proxy{background:var(--lime);}.lp-dark .svc-shot .node.proxy .k{color:#4A5A12;}.lp-dark .svc-shot .node.proxy .v{color:var(--ink-on-light);}.lp-dark .svc-shot .node.proxy .sub{font-weight:400;font-size:14px;line-height:20px;color:#3D4A18;margin-top:2px;}.lp-dark .svc-shot .node.new{background:#fff;}.lp-dark .svc-shot .node.new .k{color:#6B7280;}.lp-dark .svc-shot .node.new .v{color:var(--ink-on-light);}.lp-dark .svc-shot .conn{height:22px;display:flex;align-items:center;padding-left:22px;color:rgba(255,255,255,.45);}.lp-dark .svc-shot .conn svg{width:18px;height:18px;}.lp-dark .svc-shot .foot{margin-top:12px;max-width:400px;display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:14px;line-height:20px;color:#C7D6F2;}.lp-dark .svc-shot .foot span{min-width:0;}.lp-dark .svc-shot .foot svg{width:16px;height:16px;color:var(--lime);flex:none;}.lp-dark .svc-shot .screen{position:absolute;left:600px;top:64px;width:min(960px, calc(100% - 48px));height:598px;border-radius:16px 0 0 16px;overflow:hidden;background:var(--card);box-shadow:-40px 40px 80px rgba(0,0,0,.55);}.lp-dark .svc-shot .screen img{width:100%;height:100%;object-fit:cover;object-position:left top;}.lp-dark .svc-strip{height:136px;padding:48px 0;display:flex;align-items:center;justify-content:space-between;}.lp-dark .svc-strip .cap{font-weight:400;font-size:14px;line-height:20px;color:var(--g5);}.lp-dark .svc-strip .marks{width:min(1196px, calc(100% - 48px));display:flex;align-items:center;justify-content:space-between;}.lp-dark .svc-strip .marks img{width:auto;object-fit:contain;filter:grayscale(1) invert(1);opacity:.75;}.lp-dark .svc-strip .marks img.ck{height:19px;filter:grayscale(1) invert(1) brightness(1.6);opacity:.8;}.lp-dark .svc-strip .marks img.gw{height:24px;filter:grayscale(1) invert(1) brightness(1.7);opacity:.8;}.lp-dark .svc-strip .marks img.sie{height:23px;}.lp-dark .svc-strip .marks img.pow{height:26px;}.lp-dark .svc-strip .marks img.vol{height:24px;}.lp-dark .svc-strip .marks img.hub{height:26px;}.lp-dark .svc-intro{width:min(1479px, calc(100% - 48px));margin:0 auto;height:894px;display:flex;gap:23px;padding:140px 0;align-items:center;}.lp-dark .svc-intro .l{width:min(728px, calc(100% - 48px));flex:none;padding-right:60px;display:flex;flex-direction:column;gap:48px;}.lp-dark .svc-intro .l .hd{display:flex;flex-direction:column;gap:16px;}.lp-dark .svc-intro .l h2{font-weight:700;font-size:48px;line-height:60px;letter-spacing:-0.02em;color:var(--ink);}.lp-dark .svc-intro .l p{font-weight:400;font-size:20px;line-height:30px;color:var(--g6);}.lp-dark .svc-intro .r{width:min(728px, calc(100% - 48px));height:614px;flex:none;position:relative;overflow:hidden;}.lp-dark .svc-intro .card-a{position:absolute;left:126px;top:0;width:min(602px, calc(100% - 48px));height:511px;border-radius:16px;overflow:hidden;background:var(--wash);}.lp-dark .svc-intro .card-a img{width:100%;height:100%;object-fit:cover;object-position:left top;}.lp-dark .svc-intro .card-b{position:absolute;left:0;top:178px;width:430px;height:436px;border-radius:16px;overflow:hidden;background:var(--navy1);}.lp-dark .svc-intro .card-b .sheen{position:absolute;inset:0;background:linear-gradient(118deg,#38548C 0%,#38548C 46%,rgba(72,108,181,.9) 100%);}.lp-dark .svc-intro .card-b .panel{position:absolute;left:32px;right:32px;top:40px;display:flex;flex-direction:column;gap:14px;}.lp-dark .svc-intro .card-b .ph{font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#9FB6E4;}.lp-dark .svc-intro .card-b .batch{border-radius:12px;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);padding:14px 16px;display:flex;align-items:center;gap:12px;}.lp-dark .svc-intro .card-b .batch .nm{flex:1;font-weight:700;font-size:15px;line-height:22px;color:#fff;}.lp-dark .svc-intro .card-b .batch .ct{font-size:12px;color:#B9D0FF;}.lp-dark .svc-intro .card-b .batch .dot{width:8px;height:8px;border-radius:99px;background:var(--lime);flex:none;}.lp-dark .svc-intro .card-b .batch.live .dot{background:#FFD34D;}.lp-dark .svc-intro .card-b .batch.queued{opacity:.55;}.lp-dark .svc-intro .card-b .batch.queued .dot{background:rgba(255,255,255,.4);}.lp-dark .svc-intro .card-b .chip{position:absolute;left:28px;right:28px;bottom:28px;border-radius:14px;background:#fff;
    box-shadow:0 20px 24px -4px rgba(10,13,18,.16),0 8px 8px -4px rgba(10,13,18,.06);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;}.lp-dark .svc-intro .card-b .chip .k{font-weight:500;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#6B7280;display:block;}.lp-dark .svc-intro .card-b .chip .v{font-weight:700;font-size:20px;line-height:26px;letter-spacing:-0.01em;color:var(--ink-on-light);}.lp-dark .svc-intro .card-b .chip .v em{font-style:normal;color:var(--blue-btn);}.lp-dark .proof{width:min(1480px, calc(100% - 48px));margin:0 auto 8px;border-radius:24px;background:var(--card);box-shadow:inset 0 0 0 1px var(--border);
    padding:56px 80px;display:flex;gap:32px;align-items:center;}.lp-dark .proof .badge{flex:none;width:64px;height:64px;border-radius:16px;background:var(--lime);display:flex;align-items:center;justify-content:center;color:var(--ink-on-light);}.lp-dark .proof .badge svg{width:32px;height:32px;}.lp-dark .proof p{font-weight:700;font-size:28px;line-height:40px;letter-spacing:-0.01em;color:var(--ink);}.lp-dark .proof p em{font-style:normal;color:var(--blue);}.lp-dark .models{width:min(1480px, calc(100% - 48px));margin:0 auto;border-radius:24px;overflow:hidden;
    background:linear-gradient(118.915deg,var(--navy1) 67.92%,var(--navy2) 98.58%);padding:80px 160px;display:flex;flex-direction:column;gap:64px;}.lp-dark .models .hd{display:flex;flex-direction:column;gap:16px;}.lp-dark .models .hd .row{display:flex;gap:80px;align-items:flex-end;}.lp-dark .models .hd .row h2{flex:1;}.lp-dark .models .hd .row p{flex:1;font-weight:400;font-size:18px;line-height:28px;color:#DCE6FA;}.lp-dark .models .hd .eb{font-weight:700;font-size:14px;line-height:20px;letter-spacing:.08em;text-transform:uppercase;color:#B9D0FF;}.lp-dark .models .hd h2{font-weight:700;font-size:48px;line-height:60px;letter-spacing:-0.02em;color:#fff;}.lp-dark .models .cards{display:flex;gap:24px;align-items:flex-start;}.lp-dark .mcard{flex:1;min-height:372px;border-radius:24px;padding:60px;display:flex;flex-direction:column;justify-content:space-between;gap:48px;}.lp-dark .mcard .top{display:flex;flex-direction:column;gap:16px;}.lp-dark .mcard .pill{align-self:flex-start;border-radius:1000px;padding:10px 16px;font-weight:700;font-size:18px;line-height:28px;}.lp-dark .mcard h3{font-weight:700;font-size:30px;line-height:38px;}.lp-dark .mcard p{font-weight:400;font-size:18px;line-height:28px;}.lp-dark .mcard.a{background:#6698FF;}.lp-dark .mcard.a .pill{background:rgba(18,22,43,.4);color:#fff;}.lp-dark .mcard.a h3, .lp-dark .mcard.a p{color:#fff;}.lp-dark .mcard.b{background:var(--card);box-shadow:inset 0 0 0 1px var(--border);}.lp-dark .mcard.b .pill{background:rgba(255,255,255,.1);color:var(--ink);}.lp-dark .mcard.b h3{color:var(--ink);}.lp-dark .mcard.b p{color:var(--g6);}.lp-dark .proc{width:min(1481px, calc(100% - 48px));margin:0 auto;padding:80px 0;display:flex;justify-content:space-between;align-items:flex-start;}.lp-dark .proc .l{width:min(729px, calc(100% - 48px));flex:none;padding:80px 60px 80px 0;display:flex;flex-direction:column;gap:48px;position:sticky;top:40px;}.lp-dark .proc .l .hd{display:flex;flex-direction:column;gap:16px;}.lp-dark .proc .l h2{font-weight:700;font-size:48px;line-height:60px;letter-spacing:-0.02em;color:var(--ink);}.lp-dark .proc .l .lead{font-weight:400;font-size:18px;line-height:28px;color:var(--g5);}.lp-dark .proc .bar{width:346px;height:8px;border-radius:100px;background:var(--peri150);overflow:hidden;}.lp-dark .proc .bar i{display:block;width:66px;height:8px;border-radius:100px;background:var(--blue);}.lp-dark .proc .r{width:min(603px, calc(100% - 48px));flex:none;padding:80px 0;display:flex;flex-direction:column;gap:48px;}.lp-dark .step{border-radius:24px;box-shadow:inset 0 0 0 1px var(--border);padding:32px;display:flex;flex-direction:column;gap:24px;}.lp-dark .step .num{width:32px;height:32px;border-radius:8px;background:var(--wash);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:var(--blue);}.lp-dark .step .tb{display:flex;flex-direction:column;gap:8px;}.lp-dark .step h3{font-weight:700;font-size:20px;line-height:30px;color:var(--ink);}.lp-dark .step p{font-weight:400;font-size:18px;line-height:28px;color:var(--g6);}.lp-dark .exp{width:min(1480px, calc(100% - 48px));margin:0 auto;border-radius:24px;overflow:hidden;
    background:linear-gradient(180deg,var(--wash) 35.1%,rgba(245,246,254,0) 100%);padding:140px 160px;display:flex;flex-direction:column;gap:80px;align-items:center;}.lp-dark .exp h2{font-weight:700;font-size:48px;line-height:60px;letter-spacing:-0.02em;text-align:center;color:var(--ink);}.lp-dark .exp .shot{width:100%;height:687px;border-radius:16px;overflow:hidden;background:#F0F5FF;}.lp-dark .exp .shot{background:var(--wash);}.lp-dark .exp .shot img{width:100%;height:100%;object-fit:cover;object-position:center 32%;}.lp-dark .exp .cap{width:min(977px, calc(100% - 48px));align-self:flex-start;display:flex;flex-direction:column;gap:16px;}.lp-dark .exp .cap .b{font-weight:700;font-size:20px;line-height:30px;color:var(--ink);}.lp-dark .exp .cap .s{font-weight:400;font-size:18px;line-height:28px;color:var(--g5);}.lp-dark .exp .split{width:calc(100% + 320px);margin:0 -160px;height:750px;border-radius:24px;background:var(--card);display:flex;gap:26px;padding:12px;align-items:center;box-shadow:inset 0 0 0 1px var(--border);}.lp-dark .exp .split .media{flex:1.35 1 0;align-self:stretch;border-radius:16px;overflow:hidden;background:linear-gradient(150deg,var(--navy1) 55%,var(--navy2) 100%);position:relative;display:flex;align-items:center;justify-content:center;}.lp-dark .exp .split .media .frame{width:calc(100% - 80px);border-radius:14px;overflow:hidden;background:#1B1B1F;box-shadow:0 28px 64px rgba(5,10,25,.45);}.lp-dark .exp .split .media .frame img{display:block;width:100%;height:auto;}.lp-dark .exp .split .txt{flex:1 1 0;align-self:stretch;padding:60px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;}.lp-dark .exp .split .txt .body{display:flex;flex-direction:column;gap:48px;align-self:stretch;}.lp-dark .exp .split .txt .hd{display:flex;flex-direction:column;gap:16px;}.lp-dark .exp .split h3{font-weight:700;font-size:36px;line-height:44px;letter-spacing:-0.02em;color:var(--ink);}.lp-dark .exp .split .lead{font-weight:400;font-size:20px;line-height:30px;color:var(--g6);}.lp-dark .why{width:min(1479px, calc(100% - 48px));margin:0 auto;padding:80px 0 140px;display:flex;flex-direction:column;gap:80px;}.lp-dark .why .hd{width:min(852px, calc(100% - 48px));display:flex;flex-direction:column;gap:16px;}.lp-dark .why .hd h2{font-weight:700;font-size:60px;line-height:72px;letter-spacing:-0.02em;color:var(--ink);}.lp-dark .why .row{display:flex;gap:24px;align-items:flex-start;}.lp-dark .why .acc{width:min(852px, calc(100% - 48px));flex:none;padding-right:60px;display:flex;flex-direction:column;}.lp-dark .why details{border-bottom:1px solid var(--border);padding:24px 0;}.lp-dark .why details:first-of-type{border-top:1px solid var(--border);}.lp-dark .why summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;}.lp-dark .why summary::-webkit-details-marker{display:none;}.lp-dark .why summary .ic{width:32px;height:32px;flex:none;color:var(--blue);}.lp-dark .why summary .t{flex:1;font-weight:700;font-size:24px;line-height:32px;color:var(--ink);}.lp-dark .why summary .pm{width:40px;height:40px;flex:none;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:transform .2s ease;}.lp-dark .why summary .pm svg{width:24px;height:24px;}.lp-dark .why details[open] summary .pm{transform:rotate(180deg);}.lp-dark .why .ans{padding:0 48px;margin-top:16px;font-weight:400;font-size:18px;line-height:28px;color:var(--g6);}.lp-dark .why .mock{flex:1;align-self:stretch;min-height:716px;border-radius:16px;overflow:hidden;background:linear-gradient(150deg,var(--navy1) 55%,var(--navy2) 100%);position:relative;}.lp-dark .why .mock .inner{position:absolute;left:40px;top:56px;right:0;bottom:56px;border-radius:16px 0 0 16px;overflow:hidden;background:var(--card);box-shadow:-28px 28px 64px rgba(0,0,0,.5);}.lp-dark .why .mock .inner img{width:100%;height:100%;object-fit:cover;object-position:left top;}.lp-dark .why .stats{display:flex;border-radius:24px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--border);}.lp-dark .why .stats .s{flex:1;padding:32px;display:flex;flex-direction:column;gap:32px;border-right:1px solid var(--border);}.lp-dark .why .stats .s:last-child{border-right:none;}.lp-dark .why .stats .top{display:flex;flex-direction:column;gap:16px;}.lp-dark .why .stats .ic{width:32px;height:32px;color:var(--blue);}.lp-dark .why .stats .n{font-weight:700;font-size:36px;line-height:44px;letter-spacing:-0.02em;color:var(--ink);}.lp-dark .why .stats .l{font-weight:400;font-size:18px;line-height:28px;color:var(--g6);}.lp-dark .svc-faq{width:min(1480px, calc(100% - 48px));margin:0 auto;border:1px solid var(--border);border-left:none;border-right:none;padding:140px 0 80px;display:flex;gap:24px;}.lp-dark .svc-faq .fh{flex:1;}.lp-dark .svc-faq .fh h2{max-width:12ch;font-weight:700;font-size:48px;line-height:60px;letter-spacing:-0.02em;color:var(--ink);}.lp-dark .svc-faq .fc{flex:1;display:flex;flex-direction:column;}.lp-dark .svc-faq details{border-bottom:1px solid var(--border);padding:24px 0;}.lp-dark .svc-faq details:first-child{border-top:1px solid var(--border);}.lp-dark .svc-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;font-weight:700;font-size:24px;line-height:32px;color:var(--ink);}.lp-dark .svc-faq summary::-webkit-details-marker{display:none;}.lp-dark .svc-faq summary span.t{flex:1;}.lp-dark .svc-faq summary .pm{width:40px;height:40px;flex:none;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:transform .2s ease;}.lp-dark .svc-faq summary .pm svg{width:24px;height:24px;}.lp-dark .svc-faq details[open] summary .pm{transform:rotate(180deg);}.lp-dark .svc-faq .ans{margin-top:16px;font-weight:400;font-size:18px;line-height:28px;color:var(--g6);}.lp-dark .svc-cta{width:min(1480px, calc(100% - 48px));margin:0 auto;height:536px;border-radius:24px;overflow:hidden;
    background:linear-gradient(111.082deg,var(--navy1) 68.74%,var(--navy2) 98.66%);padding:80px 160px;display:flex;flex-direction:column;gap:80px;align-items:center;justify-content:center;}.lp-dark .svc-cta .cb{display:flex;flex-direction:column;gap:16px;align-items:center;}.lp-dark .svc-cta .eb{font-weight:700;font-size:14px;line-height:20px;letter-spacing:.08em;text-transform:uppercase;color:#B9D0FF;}.lp-dark .svc-cta h2{font-weight:700;font-size:48px;line-height:60px;letter-spacing:-0.02em;text-align:center;color:#fff;}.lp-dark .svc-cta .cta{display:flex;gap:12px;}.lp-dark .lp-topbar{width:min(1480px, calc(100% - 48px));margin:0 auto;padding:40px 0 0;}.lp-dark .lp-topbar img{height:40px;width:auto;}.lp-dark .lp-hero{width:min(1480px, calc(100% - 48px));margin:0 auto;padding:40px 0 72px;display:flex;gap:64px;align-items:flex-start;}.lp-dark .lp-hero .txt{flex:1;padding-top:16px;display:flex;flex-direction:column;gap:24px;}.lp-dark .lp-hero .txt .eyebrow{text-align:left;letter-spacing:.06em;}.lp-dark .lp-hero h1{font-weight:700;font-size:56px;line-height:64px;letter-spacing:-0.02em;color:var(--ink);max-width:17ch;}.lp-dark .lp-hero .txt p{font-weight:400;font-size:18px;line-height:28px;color:var(--g5);max-width:52ch;}.lp-dark .lp-hero .trust{display:flex;gap:48px;margin-top:12px;padding-top:28px;border-top:1px solid var(--border);}.lp-dark .lp-hero .trust .n{font-weight:800;font-size:40px;line-height:1;letter-spacing:-0.02em;color:var(--blue);}.lp-dark .lp-hero .trust .l{font-weight:600;font-size:13px;line-height:18px;color:var(--g6);margin-top:8px;text-transform:uppercase;letter-spacing:.04em;}.lp-dark .lp-formcard{width:480px;flex:none;border-radius:24px;background:var(--card);box-shadow:inset 0 0 0 1px var(--border),0 24px 60px rgba(0,0,0,.45);padding:40px;}.lp-dark .lp-formcard h2{font-weight:700;font-size:24px;line-height:32px;color:var(--ink);margin-bottom:8px;}.lp-dark .lp-formcard .sub{font-weight:400;font-size:15px;line-height:22px;color:var(--g6);margin-bottom:24px;}.lp-dark .lp-field{margin-bottom:16px;}.lp-dark .lp-field label{display:block;font-weight:600;font-size:13px;line-height:18px;color:var(--g6);margin-bottom:6px;}.lp-dark .lp-field label .req{color:var(--blue);}.lp-dark .lp-field input{width:100%;height:48px;border-radius:10px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--border);border:none;padding:0 14px;font:400 15px var(--ui);color:var(--ink);}.lp-dark .lp-field input::placeholder{color:var(--g5);}.lp-dark .lp-field input:focus{outline:none;box-shadow:inset 0 0 0 1px var(--blue),0 0 0 3px rgba(124,155,255,.18);}.lp-dark .lp-consent{display:flex;gap:10px;align-items:flex-start;margin:4px 0 20px;}.lp-dark .lp-consent input{width:16px;height:16px;margin-top:2px;flex:none;accent-color:var(--blue-btn);}.lp-dark .lp-consent span{font:400 12px/1.45 var(--ui);color:var(--g5);}.lp-dark .lp-consent a{color:var(--blue);}.lp-dark .lp-thanks{display:none;flex-direction:column;align-items:center;text-align:center;padding:24px 0 8px;}.lp-dark .lp-thanks.on{display:flex;}.lp-dark .lp-formcard.sent form{display:none;}.lp-dark .lp-thanks .ic{width:56px;height:56px;border-radius:16px;background:var(--lime);color:var(--ink-on-light);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}.lp-dark .lp-thanks .ic svg{width:28px;height:28px;}.lp-dark .lp-thanks h3{font-weight:700;font-size:20px;line-height:28px;color:var(--ink);}.lp-dark .lp-thanks p{font-weight:400;font-size:14px;line-height:21px;color:var(--g6);margin-top:8px;max-width:30ch;}


/* ==== RESPONSYWNOSC (projekt jest desktop-only; ponizej wlasna warstwa) ====
   Fixy zgloszone przez wlasciciela: obraz nachodzacy na hero na mobile,
   sztywne szerokosci sekcji, skladanie kolumn. Prog 1100px = szerokosc,
   przy ktorej dwukolumnowe sekcje projektu przestaja miescic tresc. */
@media (max-width: 1100px){
  .lp-dark .lp-hero,
  .lp-dark .svc-intro,
  .lp-dark .proc,
  .lp-dark .why .row,
  .lp-dark .models .cards,
  .lp-dark .svc-faq,
  .lp-dark .exp .split{flex-direction:column;height:auto}
  .lp-dark .svc-intro{height:auto;padding:72px 0}
  .lp-dark .svc-intro .l,
  .lp-dark .svc-intro .r,
  .lp-dark .proc .l,
  .lp-dark .proc .r,
  .lp-dark .lp-formcard,
  .lp-dark .exp .cap,
  .lp-dark .mcard{width:100%;flex:initial}
  .lp-dark .proc .l{position:static;padding:0 0 24px}
  .lp-dark .proc .r{padding:0}
  /* kompozycje absolutne -> statyczne, zero nachodzenia */
  .lp-dark .svc-intro .r{height:auto;display:flex;flex-direction:column;gap:16px;overflow:visible}
  .lp-dark .svc-intro .card-a,
  .lp-dark .svc-intro .card-b{position:static;width:100%;height:auto;min-height:280px}
  .lp-dark .svc-intro .card-a img{width:100%;height:280px;object-fit:cover}
  .lp-dark .svc-shot .pic{height:auto;flex-direction:column;gap:24px;padding:32px 20px;align-items:stretch}
  .lp-dark .svc-shot .flow{width:100%;padding:0}
  .lp-dark .svc-shot .screen{position:static;width:100%;height:auto;border-radius:16px;box-shadow:0 16px 40px rgba(0,0,0,.45)}
  .lp-dark .svc-shot .screen img{height:auto;aspect-ratio:16/10}
  .lp-dark .why .mock{min-height:340px}
  .lp-dark .why .mock .inner{left:16px;top:24px;bottom:24px}
  .lp-dark .exp .split{width:100%;margin:0;padding:16px}
  .lp-dark .exp .shot{height:auto}
  .lp-dark .exp .shot img{width:100%;height:auto}
  .lp-dark .svc-strip{height:auto;flex-direction:column;gap:20px;padding:32px 0}
  .lp-dark .svc-strip .marks{width:100%;flex-wrap:wrap;gap:20px 28px;justify-content:center}
  .lp-dark .trust{flex-wrap:wrap;gap:24px}
  .lp-dark .why .stats{flex-wrap:wrap}
  .lp-dark .why .stats .s{min-width:46%}
  .lp-dark .svc-cta{height:auto;padding:64px 20px;display:flex;flex-direction:column;gap:28px;align-items:center}
  .lp-dark .foot .fbrand{flex-wrap:wrap;gap:20px}
  .lp-dark .foot .fbar{flex-direction:column;gap:20px}
  .lp-dark .foot .fbar .b1{width:auto}
  .lp-dark .foot .fbar .b2{flex-direction:column;align-items:flex-start;gap:16px}
  .lp-dark .lp-hero{padding:24px 0 48px;gap:32px}
}
@media (max-width: 640px){
  .lp-dark .lp-hero .txt h1{font-size:34px;line-height:1.15}
  .lp-dark .lp-formcard{padding:24px}
  .lp-dark .why .stats .s{min-width:100%}
}

/* ==== Dodatki spoza projektu: textarea (projekt nie mial), disclaimer, komunikat bledu ==== */
.lp-dark .lp-field textarea{width:100%;border-radius:10px;border:0;box-shadow:inset 0 0 0 1px var(--border);background:rgba(255,255,255,.04);color:var(--ink);padding:12px 14px;font-size:15px;line-height:1.5;resize:vertical;min-height:76px}
.lp-dark .lp-field textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--blue)}
.lp-dark .lp-field textarea::placeholder{color:var(--g5)}
.lp-dark .lp-disclaimer{font-size:11px;line-height:1.5;color:var(--g5);margin:4px 0 12px}
.lp-dark .lp-disclaimer a{color:var(--g6);text-decoration:underline}
.lp-dark .hs-contact-form__msg{font-size:14px;margin-top:10px}

/* ==== Poprawki po review 20.08 wieczor ==== */
/* formularz w 2 kolumnach = krotsza karta wzgledem hero */
.lp-dark .lp-frow{display:flex;gap:12px}
.lp-dark .lp-frow .lp-field{flex:1;min-width:0}
/* Connected Kerb: zrodlowy PNG jest posredni szary - mocniejszy brightness => biel jak reszta */
.lp-dark .svc-strip .marks img.ck{filter:grayscale(1) invert(1) brightness(2.4);opacity:.95}
/* mock w WHAT IS INSIDE: sticky o stalej wysokosci - nie plywa przy rozwijaniu akordeonu */
.lp-dark .why .mock{position:sticky;top:32px;align-self:flex-start;height:716px;flex:1 0 auto;max-width:48%}
/* pasek postepu: szerokosc ustawia JS w template */
.lp-dark .proc .bar i{width:18%;transition:width .15s linear}
/* diagram flow: rownomierny pion wzgledem zdjecia */
.lp-dark .svc-shot .flow{justify-content:center;gap:16px}
.lp-dark .svc-shot .flow .foot{margin-top:10px}
@media (max-width: 1100px){
  .lp-dark .why .mock{position:static;height:auto;max-width:100%;min-height:340px}
  .lp-dark .lp-frow{flex-direction:column;gap:0}
}

/* ==== Poprawki po review 2: logo, formularz, flow, logotypy ==== */
/* biale logo niezaleznie od wypelnienia SVG (plik z projektu renderowal sie czarny) */
.lp-dark .lp-topbar img, .lp-dark .foot .fbrand .logo{filter:brightness(0) invert(1)}
/* karta formularza krotsza wzgledem hero */
.lp-dark .lp-formcard{padding:28px}
.lp-dark .lp-formcard h2{font-size:22px;line-height:1.25}
.lp-dark .lp-formcard .sub{margin-bottom:14px}
.lp-dark .lp-field{margin-bottom:10px}
.lp-dark .lp-field label{margin-bottom:4px}
.lp-dark .lp-disclaimer{margin:2px 0 10px}
/* flow: 4 kroki musza sie zmiescic - kontener rosnie, zdjecie zawsze wycentrowane */
.lp-dark .svc-shot .pic{height:auto;min-height:726px;padding:44px 0}
.lp-dark .svc-shot .flow{gap:11px}
.lp-dark .svc-shot .node{padding:14px 18px}
.lp-dark .svc-shot .node .v{font-size:19px;line-height:26px}
.lp-dark .svc-shot .conn svg{width:16px;height:16px}
.lp-dark .svc-shot .screen{top:50%;transform:translateY(-50%);height:min(598px,calc(100% - 88px))}
/* logotypy: pliki z sekcji "Zaufali nam" sa ciemne na jasnym/przezroczystym tle;
   invert + screen daje jednolita biel i gasi wypieczone tla JPG */
.lp-dark .svc-strip .marks img{height:26px;width:auto;object-fit:contain;filter:invert(1) grayscale(1) brightness(1.15);mix-blend-mode:screen;opacity:.92}

/* ==== Poprawki po review 3: hero/form jak w projekcie, logotypy, OCPI split ==== */
/* formularz: 3 pola w jednej kolumnie jak w projekcie - wraca oddech karty */
.lp-dark .lp-formcard{padding:36px}
.lp-dark .lp-formcard h2{font-size:26px;line-height:1.2}
.lp-dark .lp-field{margin-bottom:16px}
.lp-dark .lp-field input{height:52px;font-size:16px}
.lp-dark .lp-disclaimer{margin:6px 0 16px}
/* logotypy: koniec upychania - staly gap, wieksza wysokosc, srodek */
.lp-dark .svc-strip{height:auto;padding:56px 0}
.lp-dark .svc-strip .marks{width:auto;flex:1;justify-content:center;gap:56px;flex-wrap:wrap}
.lp-dark .svc-strip .marks img{height:24px}
.lp-dark .svc-strip .cap{max-width:280px}
/* OCPI split: koniec rozlazenia - naturalna wysokosc, tekst wycentrowany, przycisk pod leadem */
.lp-dark .exp .split{height:auto;min-height:560px;align-items:stretch}
.lp-dark .exp .split .media{display:flex}
.lp-dark .exp .split .media .frame{flex:1;display:flex}
.lp-dark .exp .split .media .frame img{width:100%;height:100%;object-fit:cover;border-radius:16px}
.lp-dark .exp .split .txt{display:flex;flex-direction:column;justify-content:center;gap:32px;padding:48px 40px}
.lp-dark .exp .split .txt .btn{align-self:flex-start}

/* ==== Poprawki po review 4 ==== */
/* strip: podpis NAD logotypami, logotypy w pelnej szerokosci nizej */
.lp-dark .svc-strip--stacked{flex-direction:column;align-items:center;gap:28px;padding:56px 0 48px}
.lp-dark .svc-strip--stacked .cap{max-width:none;text-align:center}
.lp-dark .svc-strip--stacked .marks{width:100%;justify-content:center;gap:48px 56px}
/* panel "What ships": wszystkie kropki gotowe (limonka), pelna czytelnosc */
.lp-dark .svc-intro .card-b .batch .dot{background:var(--ss-lime)}
.lp-dark .svc-intro .card-b .batch .nm,.lp-dark .svc-intro .card-b .batch .ct{opacity:1}
/* expertise: tlo na pelna szerokosc jak na stronie benchmarkowej, tresc dalej w kontenerze */
.lp-dark .exp{width:100%;max-width:none;border-radius:0;padding-inline:max(24px,calc((100% - 1480px)/2))}
/* "From contract to app stores in weeks, not months" ma wybrzmiec */
.lp-dark .svc-shot .flow .foot{margin-top:18px;font-size:21px;line-height:1.3;font-weight:800;color:#fff}
.lp-dark .svc-shot .flow .foot svg{width:22px;height:22px;color:var(--ss-lime)}
/* hero: zdjecie z gradientem - landing page'owo, nie pusto */
.lp-dark .lp-hero{position:relative;border-radius:24px;overflow:hidden;padding:56px 48px 72px}
.lp-dark .lp-hero::before{content:"";position:absolute;inset:0;background:
  linear-gradient(102deg, rgba(11,14,32,.96) 34%, rgba(11,14,32,.82) 62%, rgba(11,14,32,.66)),
  url('img/roaming-city-night.jpg') center/cover;z-index:0}
.lp-dark .lp-hero > *{position:relative;z-index:1}
@media (max-width:1100px){ .lp-dark .lp-hero{padding:32px 20px 48px} }

/* ==== Review 5: hero na CALA szerokosc strony, expertise jako szeroki ciemny band ==== */
/* div.page ma limit szerokosci - wrapper hero wychodzi z niego na pelny viewport */
.lp-dark div.page{overflow-x:clip}
.lp-dark .lp-hero-wrap{position:relative;width:100vw;margin-left:calc(50% - 50vw);padding-bottom:48px}
.lp-dark .lp-hero-wrap::before{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg, rgba(11,14,32,.72), rgba(11,14,32,.55) 40%, var(--bg, #0B0E20) 96%),
  linear-gradient(100deg, rgba(11,14,32,.92) 30%, rgba(11,14,32,.55) 70%, rgba(11,14,32,.35)),
  url('img/roaming-city-night.jpg') center 30%/cover;z-index:0}
.lp-dark .lp-hero-wrap > *{position:relative;z-index:1}
/* hero wraca do ukladu kontenera - tlo daje wrapper, nie hero */
.lp-dark .lp-hero{border-radius:0;overflow:visible;padding:48px 0 40px}
.lp-dark .lp-hero::before{content:none}
.lp-dark .lp-topbar{padding-top:32px}
/* expertise: szeroki zaokraglony band jak sekcja na stronie benchmarkowej, tylko ciemny */
.lp-dark .exp{width:calc(100% - 80px);max-width:1800px;margin:0 auto;border-radius:24px;background:#131938;
  padding:96px max(48px,calc((100% - 1560px)/2))}
@media (max-width:1100px){
  .lp-dark .exp{width:calc(100% - 32px);padding:56px 20px}
  .lp-dark .lp-hero{padding:24px 0 40px}
}

/* ==== Review 6 ==== */
/* full-bleed naprawiony: clip na div.page przycinal wrapper do kontenera - clip idzie na body */
.lp-dark div.page{overflow-x:visible}
body.lp-dark{overflow-x:clip}
/* gradient hero: pelne zejscie w kolor tla strony na dole */
.lp-dark .lp-hero-wrap::before{background:
  linear-gradient(180deg, rgba(11,14,32,.78), rgba(11,14,32,.6) 45%, #0B0E20 99%),
  linear-gradient(100deg, rgba(11,14,32,.9) 30%, rgba(11,14,32,.5) 70%, rgba(11,14,32,.3)),
  url('img/roaming-city-night.jpg') center 30%/cover}
/* OCPI split: szerokosc jak blok tekstu "Behind the app..." (cap, 977px), wyrownany jak on */
.lp-dark .exp .split{width:min(977px,100%);margin:64px 0 0;padding:12px;min-height:0}
.lp-dark .exp .split .txt{padding:36px 28px;gap:24px}

/* Review 7: OCPI split dokladnie na szerokosc zdjecia teamu nad nim (100% tresci banda) */
.lp-dark .exp .split{width:100%;margin:64px 0 0}

/* Review 8: szew na dole hero - pelne krycie od 86% wysokosci, nie od 99% */
.lp-dark .lp-hero-wrap::before{background:
  linear-gradient(180deg, rgba(11,14,32,.78) 0%, rgba(11,14,32,.62) 40%, rgba(11,14,32,.92) 70%, #0B0E20 86%, #0B0E20 100%),
  linear-gradient(100deg, rgba(11,14,32,.9) 30%, rgba(11,14,32,.5) 70%, rgba(11,14,32,.3)),
  url('img/roaming-city-night.jpg') center 30%/cover}

/* ==== Review 9: szew hero zabity na amen + sekcja "One app for everything" ==== */
/* JOB1: koniec z domykaniem krycia w alpha-gradiencie ::before (2x zawiodlo).
   ::before = zdjecie + rownomierna przyciemka (NIGDY nie probuje dojsc do pelnego krycia),
   ::after = dedykowany NIEPRZEZROCZYSTY pas przy dolnej krawedzi wrappera, ktory
   konczy sie litym #0B0E20 (kolor tla strony) - fizycznie nie ma czym przeswitywac. */
.lp-dark .lp-hero-wrap::before{background:
  linear-gradient(180deg, rgba(11,14,32,.75), rgba(11,14,32,.55) 40%, rgba(11,14,32,.55)),
  linear-gradient(100deg, rgba(11,14,32,.9) 30%, rgba(11,14,32,.5) 70%, rgba(11,14,32,.3)),
  url('img/roaming-city-night.jpg') center 30%/cover}
.lp-dark .lp-hero-wrap::after{content:"";position:absolute;left:0;right:0;bottom:0;height:240px;
  z-index:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(11,14,32,0) 0%, #0B0E20 75%, #0B0E20 100%)}
/* 4 staty w hero: pozwol zawinac zamiast rozpychac */
.lp-dark .lp-hero .trust{flex-wrap:wrap;gap:32px 48px}

/* JOB2: karty feature w jezyku ciemnych kart strony (mcard/benchmark) */
.lp-dark .feat{width:min(1480px,calc(100% - 48px));margin:0 auto;padding:96px 0 16px;display:flex;flex-direction:column;gap:56px}
.lp-dark .feat .hd{width:min(1060px,100%);display:flex;flex-direction:column;gap:20px}
.lp-dark .feat h2{font-weight:700;font-size:48px;line-height:60px;letter-spacing:-0.02em;color:var(--ink)}
.lp-dark .feat .lead{font-weight:400;font-size:20px;line-height:30px;color:var(--g6);max-width:74ch}
.lp-dark .feat .cards{display:flex;gap:24px;align-items:stretch}
.lp-dark .fcard{flex:1;border-radius:24px;background:var(--card);box-shadow:inset 0 0 0 1px var(--border);padding:20px 20px 36px;display:flex;flex-direction:column;gap:10px}
.lp-dark .fcard .shot{border-radius:16px;overflow:hidden;margin-bottom:14px}
.lp-dark .fcard .shot img{width:100%;height:auto}
.lp-dark .fcard h3{font-weight:700;font-size:24px;line-height:32px;color:var(--ink);padding:0 16px}
.lp-dark .fcard p{font-weight:400;font-size:17px;line-height:26px;color:var(--g6);padding:0 16px}
@media (max-width:1100px){
  .lp-dark .feat{padding:64px 0 8px;gap:32px}
  .lp-dark .feat h2{font-size:34px;line-height:1.2}
  .lp-dark .feat .cards{flex-direction:column}
}
/* mock w "What is inside" to teraz screenshot aplikacji - crop od srodka, nie od lewej */
.lp-dark .why .mock .inner img{object-position:center}

/* ==== Review 10: fade hero na 1920 - jasne okna budynkow po prawej przebijaly przez pas ==== */
/* wyzszy pas + wiecej stopni (miekkie wejscie) + mocniejsza przyciemka prawej strony zdjecia */
.lp-dark .lp-hero-wrap::after{height:340px;
  background:linear-gradient(180deg, rgba(11,14,32,0) 0%, rgba(11,14,32,.35) 30%, rgba(11,14,32,.75) 55%, #0B0E20 70%, #0B0E20 100%)}
.lp-dark .lp-hero-wrap::before{background:
  linear-gradient(180deg, rgba(11,14,32,.75), rgba(11,14,32,.55) 40%, rgba(11,14,32,.55)),
  linear-gradient(100deg, rgba(11,14,32,.9) 30%, rgba(11,14,32,.6) 70%, rgba(11,14,32,.55)),
  url('img/roaming-city-night.jpg') center 30%/cover}
/* mobile: .mock static odbieral containing block absolutnemu .inner (screenshot appki
   ladowal na hero) - relative wylacza sticky i zachowuje kotwice */
@media (max-width:1100px){
  .lp-dark .why .mock{position:relative}
}
/* JOB2: back-office i certyfikaty - jezyk istniejacych kart .feat/.fcard */
.lp-dark .bo{padding-top:40px}
.lp-dark .bo .cards,.lp-dark .certs .cards{flex-wrap:wrap}
.lp-dark .bo .fcard{flex:1 1 calc(33.333% - 16px);min-width:300px;padding:28px;gap:14px}
.lp-dark .bo .fcard h3,.lp-dark .bo .fcard p,
.lp-dark .fcard.cert h3,.lp-dark .fcard.cert p{padding:0}
.lp-dark .bo .fcard ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.lp-dark .bo .fcard li{font-size:16px;line-height:24px;color:var(--g6);display:flex;gap:10px;align-items:flex-start}
.lp-dark .bo .fcard li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--blue);margin-top:9px}
.lp-dark .certs{padding-top:56px}
.lp-dark .fcard.cert{padding:28px;gap:12px}
/* badge jak awards w stopce: biala pastylka, logo w oryginalnych kolorach */
.lp-dark .fcard.cert .badge{margin-bottom:8px}
.lp-dark .fcard.cert .badge img{height:56px;width:auto;object-fit:contain;background:#fff;border-radius:8px;padding:6px 10px}
@media (max-width:1100px){
  .lp-dark .bo .fcard{min-width:100%}
}

/* ==== Review 11: realne zrodla rozjazdu mobile + gradient proporcjonalny ==== */
/* overflow: clip nie dziala spojnie na body - pas i sekcje maja nie wystawac zamiast byc przycinane */
.lp-dark .proc .bar{width:min(346px,100%)}
@media (max-width:1100px){
  .lp-dark .models .hd .row{flex-direction:column;gap:12px}
  .lp-dark .models .hd .row p{width:100%;max-width:100%}
  .lp-dark .foot .fbar .awards{flex-wrap:wrap;row-gap:10px}
  .lp-dark :where(div.page) img{max-width:100%;height:auto}
  .lp-dark .svc-shot .screen img{height:auto}
}
html:has(body.lp-dark){overflow-x:hidden}
body.lp-dark{overflow-x:hidden}
/* gradient hero: pas przejsciowy proporcjonalny do wysokosci wrappera (2560px: staly 340px czytal sie
   jako twarda linia pod formularzem). Zejscie rozciagniete, lite tlo od 78%. */
.lp-dark .lp-hero-wrap::after{height:clamp(340px,52%,760px);background:
  linear-gradient(180deg, rgba(11,14,32,0) 0%, rgba(11,14,32,.35) 28%, rgba(11,14,32,.72) 52%, #0B0E20 78%, #0B0E20 100%)}
@media (max-width:1100px){
  .lp-dark .svc-shot .pic{min-height:0}
  .lp-dark .svc-shot .flow{justify-content:flex-start}
  .lp-dark .svc-shot .flow .foot{margin-top:8px}
}

/* ==== Review 12 (FINAL): fade WYPIECZONY w plik JPG (hero-bg-faded.jpg) ====
   3x zawiodl gradient CSS na monitorze 2K wlasciciela - usuwamy zaleznosc od
   silnika renderowania: przejscie w #0B0E20 jest w pikselach obrazka.
   center bottom/cover => krawedz fade ZAWSZE na dole wrappera, przy kazdej
   wysokosci/szerokosci. background-color pod spodem = kolor strony. */
.lp-dark .lp-hero-wrap::before{background:#0B0E20 url('img/hero-bg-faded.jpg') no-repeat center bottom/cover}
.lp-dark .lp-hero-wrap::after{content:none}

/* ==== Review 12 mobile: .proof (badge + cytat) nie mial zadnych regul mobile -
   flex row z paddingiem 80px wypychal <p> za viewport przy 360px. Stack. ==== */
@media (max-width:640px){
  .lp-dark .proof{flex-direction:column;align-items:flex-start;gap:20px;padding:32px 24px}
  .lp-dark .proof p{font-size:22px;line-height:32px}
}

/* ==== Review 12 mobile cd.: modele, mock, akordeon, naglowki ==== */
@media (max-width:1100px){
  /* .models: desktopowy padding 80/160 zostawial ~55px na tresc - jedno slowo na linie */
  .lp-dark .models{padding:64px 24px}
  .lp-dark .mcard{padding:32px 24px;min-height:0}
  /* .why .mock: align-self:flex-start + wylacznie absolutne dzieci = szerokosc 0
     (pusty 340px klocek zamiast screenshota). Stretch przywraca szerokosc. */
  .lp-dark .why .mock{align-self:stretch;width:100%}
}
@media (max-width:640px){
  /* desktopowe 48-60px naglowki lamaly sie slowo-po-slowie na 320-414px */
  .lp-dark .svc-intro .l h2,.lp-dark .why .hd h2,.lp-dark .exp h2,
  .lp-dark .models .hd h2,.lp-dark .proc .l h2,.lp-dark .svc-faq .fh h2,
  .lp-dark .svc-cta h2,.lp-dark .feat h2,.lp-dark .h-sec{font-size:32px;line-height:40px}
  .lp-dark .svc-intro .l p{font-size:18px;line-height:28px}
  /* akordeon "What is inside": prawy padding kolumny + wciecie odpowiedzi
     zostawialy ~100px na tekst */
  .lp-dark .why .acc{padding-right:0;width:100%}
  .lp-dark .why .ans{padding:0 8px}
  .lp-dark .why summary .pm{width:32px}
}

/* ==== Review 12 mobile cd. 2: OCPI split - media z flex-basis 0 zapadala sie
   do 0px wysokosci w ukladzie kolumnowym (obraz niewidoczny, overflow uciety) ==== */
@media (max-width:1100px){
  .lp-dark .exp .split .media{flex:none;align-self:stretch;padding:24px 20px}
  .lp-dark .exp .split .media .frame{width:100%}
}
@media (max-width:640px){
  .lp-dark .exp .split h3{font-size:26px;line-height:34px}
  .lp-dark .exp .split .lead{font-size:18px;line-height:28px}
}

/* OCPI split jako osobna sekcja: bez karty-w-karcie, na tle strony */
.lp-dark .exp-split-sec{background:transparent;border-radius:0;padding-top:0;padding-bottom:96px}
.lp-dark .exp-split-sec .split{margin:0}
@media (max-width:1100px){
  .lp-dark .exp-split-sec{padding:0 20px 56px}
}

/* ==== Spacing po wyjeciu splitu + naprawa HOW LAUNCH RUNS na mobile ==== */
/* team band: bez martwej pustki na dole po wyjeciu splitu */
.lp-dark .exp:not(.exp-split-sec){padding-bottom:64px}
.lp-dark .exp-split-sec{padding-top:24px}
@media (max-width:1100px){
  /* .screen mial desktopowy transform translateY(-50%) przy position:static
     -> zdjecie wjezdzalo na tekst i zostawialo dziure pod soba */
  .lp-dark .svc-shot .screen{transform:none;top:auto}
  .lp-dark .svc-shot .pic{gap:20px;padding:28px 16px}
  .lp-dark .svc-shot .flow .foot{margin:4px 0 0}
  .lp-dark .exp:not(.exp-split-sec){padding-bottom:40px}
  .lp-dark .exp-split-sec{padding-top:8px}
}
@media (max-width:1100px){
  .lp-dark .svc-shot .screen{height:auto}
  .lp-dark .svc-shot .flow{flex:none;min-height:0}
  .lp-dark .svc-shot .pic{align-items:stretch;justify-content:flex-start}
}
@media (max-width:1100px){
  /* projektowy .foot mial padding 80px gora/dol - na mobile to 160px pustki */
  .lp-dark .svc-shot .flow .foot{padding:12px 0 0}
}

/* spacing miedzy bandami: wiekszy oddech (feedback 21.08) */
.lp-dark .exp-split-sec{padding-top:96px;padding-bottom:120px}
@media (max-width:1100px){
  .lp-dark .exp-split-sec{padding-top:48px;padding-bottom:64px}
}

/* ==== MOTYW JASNY (body.lp-dark.lp-light) ====
   Skin, nie przebudowa: przedefiniowanie custom properties + minimalne twarde
   nadpisania. Wartosci z fundamentu colors_and_type.css (paper/wash/ink).
   Hero zostaje CIEMNYM bandem (zdjecie + wypieczony fade jak dotad) na jasnej
   stronie - jak ciemne karty akcentowe na live light site; navy bandy
   (svc-shot .pic, .models, .why .mock, .svc-cta, media splitu) tez zostaja. */
body.lp-dark.lp-light{
  --ink:#141414; --g6:#434343; --g5:#626262; --border:#E4E7F2;
  --blue:#3855EE; --wash:#F5F6FE; --peri150:#E6EAFD; --peri600:#3855EE;
  --success:#16A34A; --card:#FFFFFF; --bg:#FFFFFF;
}
/* kontenery, ktore zostaja ciemne: przywroc im ciemne tokeny (kaskada) */
body.lp-dark.lp-light .lp-hero-wrap,
body.lp-dark.lp-light .svc-shot .pic,
body.lp-dark.lp-light .mcard.b,
body.lp-dark.lp-light .why .mock{
  --ink:#F3F5FF; --g6:#B7BFE6; --g5:#8B94C4; --border:rgba(255,255,255,.14);
  --blue:#7C9BFF; --wash:#171B36; --peri150:rgba(255,255,255,.14);
  --card:#151933;
}
/* linki: jasny hover zamiast pastelowego */
body.lp-dark.lp-light :where(div.page) a:hover:not(.btn){color:#2E46D6} /* :not(.btn): przyciski maja wlasny kolor tekstu; bez tego .btn.secondary na hover mial tekst w kolorze tla */
/* band expertise: byl twardy #131938 - na jasnym jasny wash */
body.lp-dark.lp-light .exp:not(.exp-split-sec){background:#F5F6FE}
/* logotypy klientow: ciemne znaki na jasnym tle (multiply gasi biale tla JPG,
   jak screen gasil je na ciemnym) */
body.lp-dark.lp-light .svc-strip .marks img{filter:grayscale(1);mix-blend-mode:multiply;opacity:.82}
/* logo w stopce: stopka jest jasna - logo w oryginale (renderuje sie ciemne);
   topbar zostaje na ciemnym zdjeciu hero, wiec tam biale bez zmian */
body.lp-dark.lp-light .foot .fbrand .logo{filter:none}
/* karty na jasnym: delikatny cien jak na live light site (border juz z tokena) */
body.lp-dark.lp-light .fcard,
body.lp-dark.lp-light .proof,
body.lp-dark.lp-light .step{box-shadow:inset 0 0 0 1px var(--border),0 1px 3px rgba(10,13,18,.06)}

/* ==== Light: hero BEZ zdjecia (feedback 21.08 - zdjecie na jasnym motywie wygladalo zle) ====
   Hero staje sie jasnym bandem: subtelny wash, tekst i formularz w jasnych tokenach,
   logo w topbarze ciemne (nie lezy juz na zdjeciu). */
body.lp-dark.lp-light .lp-hero-wrap{
  --ink:#141414; --g6:#434343; --g5:#626262; --border:#E4E7F2;
  --blue:#3855EE; --wash:#F5F6FE; --peri150:#E6EAFD; --card:#FFFFFF;
}
body.lp-dark.lp-light .lp-hero-wrap::before{background:linear-gradient(180deg,#F5F6FE 0%,#FFFFFF 92%)}
body.lp-dark.lp-light .lp-hero-wrap::after{content:none}
body.lp-dark.lp-light .lp-topbar img{filter:none}
body.lp-dark.lp-light .lp-formcard{box-shadow:inset 0 0 0 1px var(--border),0 12px 32px rgba(10,13,18,.08)}
/* lpd_nav = site: header motywu zastepuje .lp-topbar, wiec hero startuje wyzej */
.lp-dark div.page.has-site-chrome .lp-hero{padding-top:56px}
/* ==== lpd_nav=site: header i stopka motywu jako osobny blok strony (body.has-site-chrome) ====
   lp.css jest scope'owany pod body.lp-dark, wiec jego reguly "na cale body" (tlo, kolor,
   antialias, overflow) lapaly takze .header/.footer/.message-bar/modal hamburgera. Reset
   i kolory linkow/obrazkow sa juz zawezone do div.page przez :where(div.page ...) (zero zmiany
   specyficznosci, wiec przy lpd_nav=none kaskada jest identyczna); tu przenosimy na .page
   to, co da sie ustawic tylko na body.
   overflow-x: clip zamiast hidden - hidden robi z body kontener przewijania i zabija
   position:sticky naglowka motywu (.nav-is-visible .header). clip przycina tak samo
   (hero ma width:100vw), a kontenera przewijania nie tworzy. */
body.lp-dark.has-site-chrome{background:#fff;color:var(--clr-black);-webkit-font-smoothing:auto;overflow-x:clip}
body.lp-dark.has-site-chrome div.page{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
/* lp.css definiuje palete na :root, a --bg to tez nazwa uzywana przez motyw (.button bez
   wariantu czyta var(--bg)). W chrome oddajemy ja z powrotem jako niezdefiniowana. */
body.lp-dark.has-site-chrome :where(.header,.footer,.message-bar,.modal){--bg:initial}
/* kotwice pod sticky headerem motywu (.nav-is-visible .header{position:sticky}) - tylko z chrome */
body.lp-dark.has-site-chrome :where(#process,#parts,#areas,#markets,#get){scroll-margin-top:120px}
