/* Zmienne i ustawienia bazowe */
:root{
  --bg:#ffffff; --bg-alt:#f8fafc; --text:#0f172a; --muted:#475569; --line:#e5e7eb;
  --primary:#204f4f; --primary-soft:rgba(32,79,79,.08); --cta:#2563eb; --light-on-dark:#edf2f2;
  --shadow:0 18px 40px rgba(15,23,42,.08);
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,sans-serif;color:var(--text);background:var(--bg);line-height:1.7}
img{max-width:100%;display:block} a{text-decoration:none;color:inherit} button{font:inherit}
.container{width:min(1440px, calc(100% - 64px));margin:0 auto} .narrow{max-width:1280px}
.section{padding:120px 0;scroll-margin-top:110px} .section-alt{background:var(--bg-alt)}
.section-head{max-width:860px;margin:0 auto 48px;text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:rgba(32,79,79,.06);border:1px solid rgba(32,79,79,.10);color:#204f4f;font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;line-height:1.2;margin:0 auto 16px;text-align:center;width:fit-content;max-width:100%}.eyebrow::before{content:'';width:8px;height:8px;border-radius:50%;background:#204f4f;flex:0 0 8px;box-shadow:0 0 0 4px rgba(32,79,79,.08)}
h1,h2,h3{margin:0;color:var(--text);letter-spacing:-.02em}
h1{font-size:clamp(40px,4.4vw,58px);line-height:1.1;margin-bottom:24px}
h2{font-size:clamp(30px,3vw,40px);line-height:1.18;margin-bottom:24px;text-align:center}
h3{font-size:22px;line-height:1.3;text-align:center}
p{margin:0;color:var(--muted);font-size:17px;text-align:center}
.lead{font-size:19px;max-width:720px}

/* Nagłówek i nawigacja */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(229,231,235,.85)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:82px}
.brand img{height:58px;width:auto}
.header-nav{display:flex;align-items:center;gap:26px;font-size:15px;color:var(--muted)}

.header-nav a{
  padding:10px 14px;
  border-radius:999px;
  transition:all .22s ease;
}
.nav-cta{
  transition:all .22s ease;
}
.nav-cta:hover{
  background:var(--primary);
  color:#fff;
  border-color:var(--primary);
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(15,23,42,.12);
}
.header-nav a:not(.nav-cta):hover,
.header-nav a:not(.nav-cta):focus-visible{
  background:var(--primary-soft);
  color:var(--primary);
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(15,23,42,.08);
}

.nav-cta{padding:10px 16px;border:1px solid var(--line);border-radius:999px;color:var(--text)}

/* Sekcja hero */
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.hero-copy{max-width:760px}.hero-copy .eyebrow,.hero-copy h1,.hero-copy .lead{text-align:left}.hero-copy .eyebrow{margin-left:0;margin-right:auto}
.hero-tags{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0}.hero-tags span{padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:14px;color:var(--text)}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;font-size:15px;font-weight:600;transition:all .22s ease}
.button-primary{background:var(--cta);color:#fff;box-shadow:0 10px 22px rgba(37,99,235,.25)} .button-primary:hover{transform:translateY(-2px)}
.button-secondary{border:1px solid var(--line);background:#fff;color:var(--text)} .button-secondary:hover{border-color:var(--primary);color:var(--primary)}
.browser-frame{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.browser-bar{height:42px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;padding:0 16px;gap:8px;background:#f8fafc}
.browser-bar span{width:10px;height:10px;border-radius:50%;background:#cbd5e1}.browser-bar span:nth-child(1){background:#204f4f}.browser-bar span:nth-child(2){background:#5f9b9b}.browser-bar span:nth-child(3){background:#b9d4d4}
.screenshot-card{padding:0;border:none;cursor:pointer}

/* Karty i siatki sekcji */
.problem-grid,.effects-grid,.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px} .effects-grid{grid-template-columns:repeat(4,1fr)}
.problem-card,.effect-card,.solution-card,.security-card,.faq-item,.contact-card,.comparison-wrap,.comparison-accordion{background:#fff;border:1px solid var(--line);border-radius:24px}
.problem-card,.effect-card,.solution-card,.security-card{padding:28px 26px;transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease}
.problem-card:hover,.effect-card:hover,.solution-card:hover,.security-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(32,79,79,.25)}
.problem-number{font-size:44px;font-weight:700;color:rgba(32,79,79,.18);line-height:1;margin-bottom:18px;text-align:center}
.problem-card p,.effect-card p,.solution-card p,.security-card p{margin-top:14px}
.solution-label{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:14px;font-weight:600;margin:0 auto 16px}
.solution-shots{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}
.backup-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start;padding-top:40px;margin-top:18px}
.backup-line{position:absolute;top:82px;left:16.666%;right:16.666%;height:2px;background:linear-gradient(90deg, rgba(32,79,79,.35) 0%, rgba(37,99,235,.32) 100%);z-index:0}
.backup-step{text-align:center;position:relative;z-index:1;padding:0 24px}
.step-circle{width:92px;height:92px;border-radius:50%;border:2px solid rgba(32,79,79,.32);background:#fff;display:grid;place-items:center;margin:0 auto 24px;position:relative;overflow:visible;transform:translateZ(0) scale(1);will-change:transform;transition:transform .32s cubic-bezier(.22,.61,.36,1),border-color .32s ease}
.step-circle > span:first-child{font-size:30px;font-weight:700;color:var(--primary);position:relative;z-index:3;display:block;line-height:1}
.backup-step h3{max-width:300px;margin:0 auto 12px}.backup-step p{max-width:340px;margin:0 auto}
.backup-step.is-active .step-circle{transform:translateZ(0) scale(1.08);border-color:var(--primary)}
.echo{position:absolute;inset:-4px;border-radius:50%;border:1.5px solid rgba(32,79,79,.18);background:rgba(32,79,79,.10);opacity:0;transform:translateZ(0) scale(1);pointer-events:none;font-size:0;line-height:0;will-change:transform,opacity}
.echo-2{border-color:rgba(37,99,235,.14);background:rgba(37,99,235,.07)}
.backup-step:not(.is-active) .echo{animation:none;opacity:0;transform:translateZ(0) scale(1)}
.backup-step.is-active .echo-1{animation:echoFill 2.4s cubic-bezier(.22,.61,.36,1) infinite}.backup-step.is-active .echo-2{animation:echoFill 2.4s cubic-bezier(.22,.61,.36,1) .85s infinite}
@keyframes echoFill{0%{opacity:.34;transform:translateZ(0) scale(1)}72%{opacity:.08;transform:translateZ(0) scale(1.52)}100%{opacity:0;transform:translateZ(0) scale(1.7)}}

/* Tabela porównawcza */
.comparison-wrap{padding:18px;background:#fff}
.comparison-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden}
.comparison-table th,.comparison-table td{padding:22px 22px;vertical-align:top;text-align:left;border-bottom:1px solid var(--line)}
.comparison-table thead th{font-size:15px;line-height:1.4;color:var(--text);background:#f6f8fb}
.comparison-table thead th:first-child{border-top-left-radius:18px}.comparison-table thead th:last-child{border-top-right-radius:18px}
.comparison-table tbody th{width:24%;background:#ffffff;color:var(--text)} .comparison-table tbody td{width:38%;background:#f7f9fc;color:var(--muted)}
.comparison-table .safedr-col{background:var(--primary)!important;color:var(--light-on-dark)!important;border-bottom:1px solid rgba(237,242,242,.18)!important}
.comparison-table tbody tr:hover th{background:#f8fbff}.comparison-table tbody tr:hover td:not(.safedr-col){background:#eef3f8}
.comparison-table tbody tr:last-child th,.comparison-table tbody tr:last-child td{border-bottom:none}
.comparison-table tbody tr:last-child th:first-child{border-bottom-left-radius:18px}.comparison-table tbody tr:last-child td:last-child{border-bottom-right-radius:18px}
.comparison-table td{position:relative}
.table-bool{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;margin-right:10px;font-size:12px;font-weight:700;vertical-align:middle;transform:translateY(-1px)}
.table-bool--positive{background:rgba(237,242,242,.16);color:var(--light-on-dark);border:1px solid rgba(237,242,242,.28)}
.comparison-table td:not(.safedr-col) .table-bool--negative{background:#fce8ea;color:#c23b47;border:1px solid #f4c9cf}
.comparison-table .safedr-col .table-bool--positive{background:rgba(237,242,242,.18);color:#fff;border:1px solid rgba(255,255,255,.28)}

.comparison-table .safedr-col{position:relative;z-index:1}
.comparison-table .safedr-col::before{content:"";position:absolute;inset:0;background:inherit;box-shadow:0 10px 24px rgba(7,43,43,.12);z-index:-1}
.comparison-table thead .safedr-col::before{border-top-right-radius:18px}
.comparison-table tbody tr:last-child .safedr-col::before{border-bottom-right-radius:18px}
.safedr-col-head{padding-top:18px!important;padding-bottom:18px!important}
.safedr-head-logo{height:24px;display:block;margin:0 auto;max-width:140px;width:auto}
.comparison-table .safedr-col .table-bool--positive{background:#fff;color:var(--primary);border:1px solid rgba(255,255,255,.8);box-shadow:0 2px 8px rgba(7,43,43,.12)}
.comparison-table .safedr-col .table-bool--positive::after{content:"";position:absolute;inset:4px;border-radius:999px;background:rgba(14,110,101,.08);z-index:-1}

.comparison-mobile{display:none}
.comparison-mobile{max-width:760px;margin:0 auto;gap:14px}
.comparison-accordion{overflow:hidden;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.comparison-question{width:100%;background:#fff;border:none;padding:20px 56px 20px 22px;text-align:left;font-weight:700;font-size:18px;line-height:1.3;color:var(--text);cursor:pointer;position:relative}
.comparison-question::after{content:'+';position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--primary)}
.comparison-question[aria-expanded="true"]::after{content:'−'}
.comparison-answer{display:none;padding:0 18px 18px;background:#fff}
.comparison-answer.is-open{display:grid;gap:12px}
.comparison-mobile-card{padding:16px 16px 17px;border-radius:18px;border:1px solid var(--line);background:#fff}
.comparison-mobile-card--positive{background:rgba(32,79,79,.04);border-color:rgba(32,79,79,.18)}
.comparison-mobile-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;font-size:20px;font-weight:700;color:var(--text)}
.comparison-mobile-head--positive{color:var(--primary)}
.comparison-mobile-card p{margin:0;color:var(--muted);font-size:17px;line-height:1.65}
.comparison-mobile-card--positive p{color:#31565a}
.status-icon{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;flex:0 0 32px;color:#fff}
.status-icon--positive{background:#2f6a5c}
.status-icon--negative{background:#dc4c57}

/* Zakładki i panele treści */
.tabs-layout{display:grid;grid-template-columns:420px 1fr;gap:24px;align-items:stretch}
.tabs-nav{padding:12px;display:flex;flex-direction:column;gap:10px;height:100%;background:#fff;border:1px solid var(--line);border-radius:24px}
.tab-button{padding:18px 18px;border:none;background:transparent;border-radius:18px;text-align:left;cursor:pointer;color:var(--text);display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;transition:background .2s ease, transform .2s ease}
.tab-button span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(32,79,79,.24);color:var(--primary);font-weight:700}
.tab-button strong{font-size:17px;line-height:1.35}
.tab-button:hover{background:#f8fafc}.tab-button.is-active{background:rgba(32,79,79,.08)} .tab-button.is-active span{background:var(--primary);color:#fff;border-color:var(--primary)}
.tab-panels{padding:34px;min-height:100%;display:flex;background:#fff;border:1px solid var(--line);border-radius:24px}
.tab-panel{display:none}.tab-panel.is-active{display:block;animation:fadeUp .22s ease}
.tab-panel h3{text-align:left;margin-bottom:14px}.tab-panel p{text-align:left}.tab-panel p + p{margin-top:14px}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.incident-flow.upgraded{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding-top:20px}
.incident-track{position:absolute;left:12%;right:12%;top:34px;height:3px;border-radius:999px;background:linear-gradient(90deg,#204f4f 0%, #3f7a7a 33%, #63aaaa 68%, #87c9c9 100%);opacity:.35}
.incident-step{text-align:center;position:relative}
.incident-dot{width:26px;height:26px;border-radius:50%;margin:0 auto 18px;box-shadow:0 0 0 12px rgba(32,79,79,.05);position:relative;z-index:2}
.dot-1{background:linear-gradient(135deg,#204f4f,#346f6f)} .dot-2{background:linear-gradient(135deg,#2d6868,#4b8f8f)}
.dot-3{background:linear-gradient(135deg,#3d8181,#61aaaa)} .dot-4{background:linear-gradient(135deg,#57a1a1,#84c7c7)}
.icon-box{width:54px;height:54px;border-radius:12px;border:1px solid rgba(32,79,79,.24);display:grid;place-items:center;background:rgba(32,79,79,.05);margin:0 auto 18px}
.icon-box svg{width:24px;height:24px;stroke:var(--primary);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.architecture-stage{padding:0}.architecture-inner{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:20px;align-items:center;padding:32px}
.arch-node{padding:26px 22px;border:1px solid var(--line);border-radius:20px;background:#fff}.arch-node.highlight{border-color:rgba(32,79,79,.24);background:rgba(32,79,79,.05)}
.arch-arrow{font-size:32px;color:var(--primary);font-weight:700;text-align:center}
.security-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}

/* FAQ i kontakt */
.faq-wrap{max-width:1040px}.faq-list{display:grid;gap:16px;max-width:980px;margin:0 auto}
.faq-item{overflow:hidden;background:#fff}
.faq-question{width:100%;background:#fff;border:none;padding:22px 24px;text-align:left;font-weight:600;font-size:17px;color:var(--text);cursor:pointer;position:relative}
.faq-question::after{content:'+';position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--primary)}
.faq-question[aria-expanded="true"]::after{content:'−'} .faq-answer{display:none;padding:0 24px 22px}.faq-answer.is-open{display:block}.faq-answer p{text-align:left}
.contact-card.compact{display:grid;grid-template-columns:200px 1fr;gap:28px;padding:28px 28px 30px;align-items:start;max-width:980px;margin:0 auto}
.contact-photo.small{width:176px;height:176px;border-radius:50%;overflow:hidden;justify-self:center;margin-top:8px}
.contact-photo.small img{width:100%;height:100%;object-fit:cover;object-position:center 24%}
.contact-content h2{font-size:clamp(26px,2.2vw,32px);text-align:left}.contact-content .eyebrow,.contact-content p{text-align:left}.contact-content .eyebrow{margin-left:0;margin-right:auto}
.contact-person{display:grid;gap:6px;margin:24px 0 10px}.contact-person strong{font-size:22px}.contact-person span{color:var(--muted)}
.contact-list{list-style:none;display:grid;gap:10px;margin:0 0 24px;padding:0}.contact-list li{text-align:left;color:var(--primary);font-weight:600}
.contact-actions{display:flex;gap:14px;flex-wrap:wrap}

/* Stopka i lightbox */
.site-footer{padding:72px 0;background:#0f172a;color:#cbd5e1}
.footer-grid{display:grid;grid-template-columns:1.25fr .8fr .95fr .7fr;gap:28px;align-items:start}
.footer-brand img{height:50px;width:auto;margin-bottom:18px}.site-footer h3{color:#fff;font-size:18px;margin-bottom:18px;text-align:left}
.site-footer p,.site-footer li,.site-footer a{color:#cbd5e1;font-size:15px;text-align:left}
.footer-links ul,.footer-contact ul{padding:0;list-style:none;display:grid;gap:12px}.footer-contact li{display:flex;gap:12px;align-items:flex-start}
.footer-icon{width:20px;display:inline-flex;justify-content:center;flex:0 0 20px;margin-top:2px}.footer-icon svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.social-links{display:flex;gap:12px;margin-bottom:18px}.social-links a{width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;background:rgba(255,255,255,.04)} .social-links svg{width:20px;height:20px;fill:#fff}
.footer-copy{margin-top:32px;padding-top:18px;border-top:0px solid rgba(255,255,255,.14)}
.lightbox{position:fixed;inset:0;background:rgba(15,23,42,.76);display:grid;place-items:center;padding:40px;z-index:100}.lightbox[hidden]{display:none}
.lightbox img{max-width:min(1100px,92vw);max-height:88vh;border-radius:20px;box-shadow:0 30px 60px rgba(0,0,0,.35);background:#fff}
.lightbox-close{position:absolute;top:24px;right:24px;width:48px;height:48px;border:none;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:32px;cursor:pointer}

/* Widoki responsywne */
@media (max-width:1200px){.hero-grid,.tabs-layout,.footer-grid,.security-cards,.problem-grid,.solution-grid,.effects-grid,.incident-flow.upgraded{grid-template-columns:1fr 1fr}.tabs-layout,.contact-card.compact{grid-template-columns:1fr}.contact-content .eyebrow,.contact-content h2,.contact-content p,.contact-person span,.contact-person strong,.contact-list li{text-align:center}.contact-content .eyebrow{margin-left:auto;margin-right:auto}.contact-actions{justify-content:center}.architecture-inner{grid-template-columns:1fr;gap:16px}.arch-arrow{transform:rotate(90deg)}}
@media (max-width:860px){.container{width:min(100% - 40px,1440px)}.section{padding:84px 0}.header-nav{display:none}.hero-grid,.problem-grid,.solution-grid,.effects-grid,.security-cards,.incident-flow.upgraded,.backup-steps,.solution-shots{grid-template-columns:1fr}.backup-line,.incident-track{display:none}.tabs-layout{grid-template-columns:1fr}.comparison-desktop{display:none}.comparison-mobile{display:grid}.comparison-wrap{padding:18px;background:#fff}.contact-card.compact{padding:24px}.contact-photo.small{margin:0 auto}.footer-grid{grid-template-columns:1fr}.faq-item,.comparison-accordion{border-radius:20px}}


/* Karty zarządzania i zrzuty ekranów */
.architecture-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.architecture-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px 26px;transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease}
.architecture-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(32,79,79,.25)}
.architecture-card .icon-box{margin:0 auto 18px}
.architecture-card h3{margin-bottom:14px}
.architecture-card p{max-width:360px;margin:0 auto}

.shots-slider{display:grid;grid-template-columns:56px 1fr 56px;gap:18px;align-items:center}
.shots-viewport{overflow:hidden}
.shots-track{display:flex;gap:24px;transition:transform .3s ease}
.slide-card{flex:0 0 calc((100% - 48px)/3);transform:translateY(0);transition:transform .22s ease, box-shadow .22s ease}
.slide-card:hover{transform:translateY(-4px)}
.shots-arrow{width:56px;height:56px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--primary);font-size:30px;cursor:pointer;box-shadow:var(--shadow);display:grid;place-items:center}
.shots-arrow:hover{border-color:rgba(32,79,79,.3);transform:translateY(-1px)}

.contact-card.contact-align{align-items:start;grid-template-columns:220px 1fr}
.contact-photo.small{width:190px;height:190px;margin-top:126px}
.contact-photo.small img{object-position:center 34%}

@media (max-width:1200px){
  .architecture-cards{grid-template-columns:1fr 1fr}
  .slide-card{flex:0 0 calc((100% - 24px)/2)}
  .contact-card.contact-align{grid-template-columns:1fr}
  .contact-photo.small{margin-top:8px}
}
@media (max-width:860px){
  .architecture-cards{grid-template-columns:1fr}
  .shots-slider{grid-template-columns:44px 1fr 44px;gap:12px}
  .slide-card{flex:0 0 100%}
  .shots-arrow{width:44px;height:44px;font-size:24px}
}

.site-header .brand img,
.site-header.is-sticky .brand img,
.footer-brand img{
  width:auto;
  height:50px !important;
  max-height:50px !important;
}

.contact-card.contact-align{
  align-items:end !important;
}
.contact-photo.small{
  align-self:end !important;
  margin-top:auto !important;
  margin-bottom:0 !important;
  display:flex;
  align-items:flex-end;
}

.browser-frame{
  border:2px solid #d7dde5 !important;
}
.browser-bar{
  border-bottom:1px solid #e4e8ee;
}
.screenshot-card img{
  display:block;
  width:100%;
  height:auto;
  box-sizing:border-box;
  padding:14px 14px 14px 14px !important;
  background:#fff;
}

.screenshots-section{
  padding-top:var(--section-space, 120px) !important;
}
.lightbox{
  position:fixed;
  inset:0;
  background:rgba(10,16,28,.88);
  backdrop-filter:blur(4px);
  z-index:2000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px 24px;
}
.lightbox[hidden]{
  display:none;
}
.lightbox-figure{
  margin:0;
  max-width:min(1200px, 92vw);
  display:grid;
  gap:14px;
  justify-items:center;
}
.lightbox img{
  max-width:100%;
  max-height:78vh;
  display:block;
  border-radius:18px;
  box-shadow:0 18px 60px rgba(0,0,0,.35);
}
.lightbox-caption{
  color:#fff;
  font-size:15px;
  line-height:1.5;
  text-align:center;
  max-width:920px;
}
.lightbox-close{
  position:absolute;
  top:24px;
  right:24px;
  width:48px;
  height:48px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.lightbox-close span{
  display:block;
  line-height:1;
  transform:translateY(-1px);
  font-size:28px;
}

:root{
  --accent-recommended:#204f4f;
  --accent-recommended-contrast:#edf2f2;
}
.btn,
.button,
a.btn,
button.btn,
.wp-block-button__link{
  background:var(--accent-recommended) !important;
  border-color:var(--accent-recommended) !important;
  color:var(--accent-recommended-contrast) !important;
}
.btn:hover,
.button:hover,
a.btn:hover,
button.btn:hover,
.wp-block-button__link:hover{
  filter:brightness(.95);
}
.btn-outline,
.button-outline,
a.btn-outline,
button.btn-outline{
  color:var(--accent-recommended) !important;
  border-color:var(--accent-recommended) !important;
  background:transparent !important;
}
.btn-outline:hover,
.button-outline:hover,
a.btn-outline:hover,
button.btn-outline:hover{
  background:rgba(32,79,79,.08) !important;
}

.shots-viewport{
  background:#fff !important;
  border-radius:24px;
}
.shots-track{
  padding-top:24px !important;
  padding-bottom:24px !important;
  background:#fff !important;
}

.contact .container,
.contact-section .container,
section.contact .container{
  max-width:var(--container-width, 1440px) !important;
}

.comparison-col.safedr,
.recommended-col{
  position:relative;
}
.comparison-col.safedr:first-child::before,
.recommended-col:first-child::before{
  content:"Rekomendowane";
  position:absolute;
  top:-14px;
  right:16px;
  background:var(--accent-recommended);
  color:var(--accent-recommended-contrast);
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  padding:6px 10px;
  border-radius:999px;
  white-space:nowrap;
  z-index:2;
}

table .safedr-head,
.table-safedr-head{
  position:relative;
}
table .safedr-head::before,
.table-safedr-head::before{
  content:"Rekomendowane";
  position:absolute;
  top:-14px;
  right:16px;
  background:var(--accent-recommended);
  color:var(--accent-recommended-contrast);
  font-size:12px;
  font-weight:700;
  padding:6px 10px;
  border-radius:999px;
}

.lightbox-caption{
  display:block !important;
  color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  text-align:center;
  font-size:15px;
  line-height:1.55;
  max-width:920px;
}

.button-primary{
  background:#204f4f !important;
  border-color:#204f4f !important;
  color:#edf2f2 !important;
  box-shadow:0 10px 22px rgba(32,79,79,.18) !important;
}
.button-secondary{
  border:1px solid #204f4f !important;
  color:#204f4f !important;
  background:transparent !important;
}
.button-secondary:hover{background:rgba(32,79,79,.08) !important}
.contact-card.compact.contact-align{
  align-items:end !important;
}
.contact-photo.small{
  align-self:end !important;
  margin-top:auto !important;
  margin-bottom:0 !important;
}
.shots-viewport{
  overflow:hidden;
  background:#fff !important;
  border-radius:24px;
}
.shots-track{
  padding-top:28px !important;
  padding-bottom:28px !important;
  background:#fff !important;
}
.lightbox-close{
  display:grid !important;
  place-items:center !important;
  font-size:0 !important;
}
.lightbox-close span{
  font-size:28px !important;
  line-height:1 !important;
  transform:translateY(-1px);
}
.safedr-head{
  position:relative;
}
.recommended-ribbon{
  position:absolute;
  top:-14px;
  right:16px;
  background:#204f4f;
  color:#edf2f2;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  padding:6px 10px;
  border-radius:999px;
  white-space:nowrap;
}

section.contact,
#contact.section,
.contact.section{
  padding-top:var(--section-space,120px);
  padding-bottom:var(--section-space,120px);
}
section.contact .container,
#contact .container,
.contact .container{
  max-width:1440px !important;
  width:min(1440px, calc(100% - 64px)) !important;
  margin:0 auto !important;
}
.contact-card,
.contact-card.compact,
.contact-card.contact-align,
.contact-card.compact.contact-align{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
@media (max-width: 900px){
  section.contact .container,
  #contact .container,
  .contact .container{
    width:min(100% - 32px, 1440px) !important;
  }
}

.safedr-head,
.comparison-col.safedr,
.recommended-col{
  position:relative !important;
  overflow:visible !important;
}
.recommended-ribbon{
  position:absolute !important;
  top:12px !important;
  right:-10px !important;
  z-index:5 !important;
  background:#204f4f !important;
  color:#edf2f2 !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  white-space:nowrap !important;
  box-shadow:0 10px 24px rgba(32,79,79,.22) !important;
}
.recommended-ribbon::before{
  content:"";
  position:absolute;
  left:-8px;
  top:50%;
  transform:translateY(-50%);
  border-width:8px 8px 8px 0;
  border-style:solid;
  border-color:transparent #204f4f transparent transparent;
}

.browser-frame{
  padding:10px;
  background:#f8fafc;
  border-radius:20px;
}
.browser-frame img{
  border-radius:999px;
}

.cta-intro .container,
.contact .contact-card{
  max-width:900px;
  margin:0 auto;
}

.contact-intro{
  padding-bottom:32px !important;
}
#contact{
  padding-top:0 !important;
}
.contact-intro-head{
  max-width:900px;
}
.contact-card.compact.contact-align{
  display:grid;
  grid-template-columns:220px 1fr;
  align-items:end !important;
  width:100% !important;
  max-width:1440px !important;
  padding:32px !important;
}
.contact-content{
  display:flex;
  align-items:flex-end;
}
.contact-content-inner{
  width:100%;
  max-width:900px;
}
.contact-photo.small{
  width:190px !important;
  height:190px !important;
  align-self:end !important;
  margin:0 !important;
}
.contact-photo.small img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
}
.contact-person strong{
  display:block;
  font-size:28px;
  line-height:1.2;
  margin-bottom:6px;
}
.contact-person span{
  display:block;
  color:var(--muted);
  margin-bottom:18px;
}
.contact-list{
  list-style:none;
  padding:0;
  margin:0 0 24px;
  display:grid;
  gap:8px;
}
.contact-list li{
  text-align:left;
}
.browser-frame{
  padding:12px !important;
  border:2px solid #d7dde5 !important;
  background:#f8fafc !important;
}
.browser-bar{
  border-radius:12px 12px 0 0;
}
.browser-frame img{
  display:block;
  width:100%;
  height:auto;
  box-sizing:border-box;
  padding:8px !important;
  background:#ffffff;
  border-radius:16px !important;
}
.shots-viewport{
  background:#fff !important;
  border-radius:24px !important;
}
.shots-track{
  background:#fff !important;
  padding-top:28px !important;
  padding-bottom:28px !important;
}
.recommended-ribbon{display:none !important;}
@media (max-width: 1000px){
  .contact-card.compact.contact-align{
    grid-template-columns:1fr !important;
    gap:24px;
  }
  .contact-content{
    align-items:flex-start;
  }
  .contact-content-inner{
    max-width:none;
  }
  .contact-photo.small{
    margin:0 auto !important;
  }
}

.browser-frame{
  border:none !important;
  box-shadow:0 18px 40px rgba(15,23,42,.08) !important;
  background:transparent !important;
  padding:0 !important;
}
.browser-bar{
  background:#f8fafc !important;
  border:1px solid #e5e7eb !important;
  border-bottom:none !important;
  border-radius:18px 18px 0 0 !important;
  padding:12px 16px !important;
}
.browser-frame img{
  padding:10px !important;
  background:#f8fafc !important;
  border:1px solid #e5e7eb !important;
  border-top:none !important;
  border-radius:0 0 18px 18px !important;
}
.contact-card-bartek{
  grid-template-columns:280px 1fr !important;
  align-items:stretch !important;
}
.contact-photo.portrait-rect{
  width:240px !important;
  height:320px !important;
  border-radius:20px !important;
  overflow:hidden;
  align-self:end !important;
  background:#eef2f7;
}
.contact-photo.portrait-rect img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.contact-card-bartek .contact-content{
  align-items:center !important;
}
.contact-card-bartek .contact-content-inner{
  max-width:760px !important;
}
@media (max-width: 1000px){
  .contact-card-bartek{
    grid-template-columns:1fr !important;
  }
  .contact-photo.portrait-rect{
    width:220px !important;
    height:292px !important;
    margin:0 auto !important;
  }
}

.contact-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch}
.contact-person-card{display:grid;grid-template-columns:360px 1fr;align-items:center;padding:42px 46px;min-height:540px}
.circle-photo{width:314px;height:314px;border-radius:50%;overflow:hidden;justify-self:center;align-self:center;background:#e9edf2}
.circle-photo img{width:100%;height:100%;object-fit:cover;display:block}
.circle-photo img[alt="Joanna Stępień"]{object-position:center 24%}
.circle-photo img[alt="Bartłomiej Skoczylas"]{object-position:center 16%}
.contact-card-body{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:100%}
.contact-person-card-name{font-size:56px;line-height:1.08;font-weight:700;color:var(--text);letter-spacing:-.03em;margin-bottom:22px;text-align:left}
.contact-person-card-role{font-size:28px;line-height:1.3;color:var(--muted);margin-bottom:54px;text-align:left}
.contact-person-card-list{list-style:none;padding:0;margin:0 0 42px;display:grid;gap:22px}
.contact-person-card-list li{font-size:28px;line-height:1.35;color:var(--primary);font-weight:600;text-align:left}
#contact .contact-actions{display:flex;gap:22px;flex-wrap:wrap}
#contact .button{min-width:182px;min-height:92px;display:inline-flex;align-items:center;justify-content:center;border-radius:24px;font-size:25px;font-weight:600;padding:18px 28px}
#contact .button-primary{background:#204f4f;color:#fff;box-shadow:0 18px 36px rgba(32,79,79,.18)}
#contact .button-secondary{border:1.5px solid #204f4f;color:#204f4f;background:#fff}
@media (max-width: 1280px){.contact-person-card{grid-template-columns:280px 1fr;padding:34px}.circle-photo{width:240px;height:240px}.contact-person-card-name{font-size:42px}.contact-person-card-role,.contact-person-card-list li{font-size:22px}#contact .button{min-height:76px;font-size:22px}}
@media (max-width: 980px){.contact-grid-2{grid-template-columns:1fr}.contact-person-card{grid-template-columns:1fr;justify-items:center;text-align:center;min-height:auto}.contact-card-body{align-items:center}.contact-person-card-name,.contact-person-card-role,.contact-person-card-list li{text-align:center}#contact .contact-actions{justify-content:center}}

.contact-card{
  display:flex;
  align-items:center;
  padding:28px;
  border-radius:16px;
  background:#f8fafc;
  gap:24px;
}

.contact-photo{
  width:140px;
  height:140px;
  flex-shrink:0;
}

.contact-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}

.contact-content strong{
  font-size:22px;
  line-height:1.2;
}

.contact-content span{
  font-size:15px;
  opacity:0.7;
  display:block;
  margin-top:4px;
}

.contact-list{
  font-size:16px;
  margin-top:12px;
}

.contact-actions{
  display:flex;
  gap:12px;
  margin-top:16px;
}

.contact-actions .btn{
  padding:10px 18px;
  font-size:14px;
}

.contact-content strong{
  font-size:18px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
}

.contact-content span{
  font-size:14px !important;
  line-height:1.4 !important;
  opacity:.75 !important;
  display:block !important;
  margin-top:4px !important;
}

.contact-list{
  font-size:14px !important;
  line-height:1.5 !important;
  margin-top:12px !important;
}

.contact-actions{
  display:flex !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  margin-top:16px !important;
}

.contact-actions .btn,
.contact-actions .button,
.contact-actions a.button,
.contact-actions a.btn{
  padding:12px 24px !important;
  font-size:15px !important;
  border-radius:12px !important;
  line-height:1.2 !important;
}

.contact-content strong{
  font-size:16px !important;
  font-weight:600 !important;
}

.contact-content span{
  font-size:13px !important;
  opacity:0.7 !important;
}

.contact-list{
  font-size:14px !important;
}

.contact-actions .btn,
.contact-actions .button,
.contact-actions a.button{
  background:#204f4f !important;
  color:#edf2f2 !important;
  border:none !important;
  padding:14px 26px !important;
  font-size:15px !important;
  border-radius:12px !important;
}

.contact-actions .btn:hover,
.contact-actions .button:hover{
  background:#1a4040 !important;
}

#contact .contact-person-card-name{
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  margin-bottom:6px !important;
}

#contact .contact-person-card-role{
  font-size:14px !important;
  line-height:1.4 !important;
  color:var(--muted) !important;
  margin-bottom:16px !important;
}

#contact .contact-person-card-list{
  margin:0 0 20px !important;
  gap:8px !important;
}

#contact .contact-person-card-list li{
  font-size:14px !important;
  line-height:1.5 !important;
  font-weight:500 !important;
  color:var(--primary) !important;
}

#contact .contact-card-body{
  justify-content:center !important;
}

#contact .contact-actions{
  display:flex !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  align-items:center !important;
}

#contact .button{
  min-width:auto !important;
  min-height:auto !important;
  padding:14px 22px !important;
  border-radius:14px !important;
  font-size:15px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
}

#contact .button-primary{
  background:#204f4f !important;
  color:#edf2f2 !important;
  border:none !important;
  box-shadow:0 10px 22px rgba(32,79,79,.18) !important;
}

#contact .button-primary:hover{
  background:#1a4040 !important;
}

#contact .button-secondary{
  border:1px solid #204f4f !important;
  background:transparent !important;
  color:#204f4f !important;
}

#contact .button-secondary:hover{
  background:rgba(32,79,79,.08) !important;
}

#contact .contact-person-card-name{
  font-size:22px !important;
}

#contact .contact-person-card-role{
  font-size:17px !important;
}

#contact .contact-person-card-list li{
  font-size:17px !important;
  display:flex;
  align-items:center;
  gap:8px;
}

#contact .contact-person-card-list li::before{
  font-family:"Font Awesome 6 Free";
  font-weight:900;
}

#contact .contact-person-card-list li:nth-child(1)::before{
  content:"\f095"; 
}

#contact .contact-person-card-list li:nth-child(2)::before{
  content:"\f0e0"; 
}

#contact .contact-person-card{
  min-height:350px !important;
}

#contact .contact-person-card-list li::before{
  content:"" !important;
  display:inline-block !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:18px 18px !important;
  opacity:.9;
  font-family:inherit !important;
}

#contact .contact-person-card-list li:nth-child(1)::before{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23204f4f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.08 4.18 2 2 0 0 1 4.06 2h3a2 2 0 0 1 2 1.72c.12.9.35 1.78.68 2.62a2 2 0 0 1-.45 2.11L8 9.94a16 16 0 0 0 6.06 6.06l1.49-1.29a2 2 0 0 1 2.11-.45c.84.33 1.72.56 2.62.68A2 2 0 0 1 22 16.92z'/></svg>") !important;
}

#contact .contact-person-card-list li:nth-child(2)::before{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23204f4f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='14' rx='2' ry='2'/><path d='m3 7 9 6 9-6'/></svg>") !important;
}

@media (max-width: 1024px){
  .header-nav{display:none;}
  .hamburger{
    display:block;
    font-size:24px;
    background:none;
    border:none;
  }
  .mobile-menu{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:#fff;
    padding:80px 24px;
    display:none;
    z-index:999;
  }
  .mobile-menu.active{display:block;}
  .mobile-menu a{
    display:block;
    margin-bottom:16px;
    font-size:18px;
  }
}

.table-wrapper{
  overflow-x:auto;
}
table{
  min-width:720px;
}

@media (max-width:768px){
  .contact-grid{
    grid-template-columns:1fr !important;
    gap:24px;
  }
  .contact-person-card{
    text-align:center;
    padding:24px;
    min-height:auto !important;
  }
  .contact-photo{
    margin:0 auto 16px;
  }
  .contact-actions{
    justify-content:center;
  }
}

@media (max-width:768px){
  .card,
  .feature-card,
  .contact-card{
    text-align:center;
  }
}

@media (max-width:768px){
  .slide-card{
    min-width:100%;
  }
}

@media (max-width:768px){
  .section{
    padding:64px 0;
  }
}

.hamburger,
.mobile-menu,
.mobile-menu-backdrop{
  display:none;
}

@media (max-width: 1024px){
  .header-nav{
    display:none !important;
  }

  .hamburger{
    display:flex !important;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    width:48px;
    height:48px;
    border:1px solid rgba(255,255,255,.55);
    border-radius:12px;
    background:#204f4f;
    color:#fff;
    cursor:pointer;
    position:relative;
    z-index:1101;
  }

  .hamburger span{
    display:block;
    width:20px;
    height:2px;
    background:#fff;
    border-radius:999px;
  }

  .site-header .container,
  .header-inner{
    position:relative;
  }

  .mobile-menu-backdrop{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.34);
    backdrop-filter:blur(4px);
    opacity:0;
    visibility:hidden;
    transition:opacity .22s ease, visibility .22s ease;
    z-index:1098;
  }

  .mobile-menu-backdrop.active{
    opacity:1;
    visibility:visible;
  }

  .mobile-menu{
    display:flex;
    flex-direction:column;
    gap:10px;
    position:fixed;
    top:16px;
    right:16px;
    left:16px;
    background:#204f4f;
    color:#fff;
    border-radius:20px;
    padding:20px;
    box-shadow:0 24px 60px rgba(15,23,42,.28);
    transform:translateY(-12px);
    opacity:0;
    visibility:hidden;
    transition:transform .22s ease, opacity .22s ease, visibility .22s ease;
    z-index:1100;
  }

  .mobile-menu.active{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }

  .mobile-menu-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:12px;
  }

  .mobile-menu-top img{
    height:40px;
    width:auto;
    display:block;
  }

  .mobile-close{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    border:1px solid rgba(255,255,255,.4);
    border-radius:10px;
    background:transparent;
    color:#fff;
    font-size:24px;
    line-height:1;
    cursor:pointer;
  }

  .mobile-menu a{
    display:block;
    color:#fff;
    font-size:18px;
    line-height:1.35;
    padding:12px 14px;
    border-radius:12px;
    background:rgba(255,255,255,.06);
    text-decoration:none;
  }

  .mobile-menu a:hover,
  .mobile-menu a:focus-visible{
    background:rgba(255,255,255,.12);
  }

  body.mobile-menu-open{
    overflow:hidden;
  }
}

.hamburger{
  display:none;
}
.mobile-menu,
.mobile-menu-backdrop{
  display:none;
}

@media (max-width: 1024px){
  .site-header{
    overflow:visible;
  }

  .header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
  }

  .header-nav{
    display:none !important;
  }

  .brand{
    display:flex;
    align-items:center;
    min-height:50px;
  }

  .hamburger{
    display:flex !important;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    width:48px;
    height:48px;
    margin-left:auto;
    border:1px solid rgba(255,255,255,.55);
    border-radius:12px;
    background:#204f4f;
    padding:0;
    cursor:pointer;
    flex:0 0 48px;
    position:relative;
    z-index:1101;
  }

  .hamburger span{
    display:block;
    width:20px;
    height:2px;
    border-radius:999px;
    background:#fff;
  }

  .mobile-menu-backdrop{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.34);
    backdrop-filter:blur(4px);
    opacity:0;
    visibility:hidden;
    transition:opacity .22s ease, visibility .22s ease;
    z-index:1098;
    display:block;
  }

  .mobile-menu-backdrop.active{
    opacity:1;
    visibility:visible;
  }

  .mobile-menu{
    position:fixed;
    top:16px;
    right:16px;
    left:16px;
    background:#204f4f;
    color:#fff;
    border-radius:20px;
    padding:20px;
    box-shadow:0 24px 60px rgba(15,23,42,.28);
    transform:translateY(-12px);
    opacity:0;
    visibility:hidden;
    transition:transform .22s ease, opacity .22s ease, visibility .22s ease;
    z-index:1100;
    display:block;
  }

  .mobile-menu.active{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }

  .mobile-menu-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:16px;
  }

  .mobile-menu-top img{
    height:40px;
    width:auto;
    display:block;
  }

  .mobile-close{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    border:1px solid rgba(255,255,255,.45);
    border-radius:10px;
    background:transparent;
    color:#fff;
    font-size:24px;
    line-height:1;
    cursor:pointer;
    padding:0;
  }

  .mobile-menu-links{
    display:grid;
    gap:10px;
    background:rgba(255,255,255,.08);
    border-radius:16px;
    padding:10px;
  }

  .mobile-menu a{
    display:block;
    color:#fff;
    font-size:18px;
    line-height:1.35;
    padding:12px 14px;
    border-radius:12px;
    text-decoration:none;
    background:transparent;
  }

  .mobile-menu a:hover,
  .mobile-menu a:focus-visible{
    background:rgba(255,255,255,.12);
  }

  body.mobile-menu-open{
    overflow:hidden;
  }
}

@media (min-width: 1025px){
  .hamburger,
  .mobile-menu,
  .mobile-menu-backdrop{
    display:none !important;
  }
}

.site-header{
  background:rgba(255,255,255,.84);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(229,231,235,.72);
}

.hero{
  position:relative;
  overflow:hidden;
  padding-top:146px;
  padding-bottom:112px;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 18%, rgba(32,79,79,.08), transparent 30%),
    radial-gradient(circle at 84% 28%, rgba(32,79,79,.06), transparent 34%),
    linear-gradient(180deg, rgba(248,250,252,.94) 0%, rgba(255,255,255,1) 62%);
  pointer-events:none;
}

.hero-grid-single{
  display:block;
}

.hero-copy{
  position:relative;
  z-index:1;
  max-width:860px;
}

.hero-copy .eyebrow{
  margin:0 auto 18px 0;
  text-align:left;
  font-size:14px;
  letter-spacing:0;
}

.hero-copy h1{
  max-width:820px;
  margin-bottom:24px;
  font-size:clamp(42px, 5vw, 66px);
  line-height:1.02;
  letter-spacing:-.04em;
  text-wrap:balance;
}

.hero-copy .lead{
  max-width:780px;
  margin:0 0 30px;
  text-align:left;
  font-size:19px;
  line-height:1.72;
  color:#425466;
}

.hero-copy h1{
  font-size:clamp(40px,4.9vw,58px);
  line-height:1.1;
  letter-spacing:-0.03em;
  color:#173333;
  font-weight:600;
  text-wrap:balance;
  max-width:72%;
  margin:0 0 20px;
}

.hero-tags{
  margin:0 0 34px;
  gap:12px;
}

.hero-tags span{
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(32,79,79,.12);
  background:rgba(255,255,255,.85);
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}

.hero-actions{
  gap:14px;
}

.button{
  min-height:50px;
  padding:14px 22px;
  border-radius:999px;
}

.button-primary{
  background:#204f4f !important;
  border:1px solid #204f4f !important;
  box-shadow:0 14px 30px rgba(32,79,79,.18) !important;
}

.button-primary:hover{
  transform:translateY(-2px);
}

.button-secondary{
  background:#fff !important;
  color:#173333 !important;
  border:1px solid rgba(32,79,79,.18) !important;
}

.button-secondary:hover{
  background:rgba(32,79,79,.06) !important;
  color:#173333 !important;
}

.hero-visual{
  display:none !important;
}

@media (max-width: 1024px){
  .hero{
    padding-top:118px;
    padding-bottom:90px;
  }
}

@media (max-width: 860px){
  .hero{
    padding-top:104px;
    padding-bottom:72px;
  }

  .hero-copy h1{
    font-size:clamp(31px, 8.2vw, 40px);
    line-height:1.14;
    max-width:11ch;
    margin-bottom:18px;
  }

  .hero-copy .lead{
    font-size:17px;
    line-height:1.68;
  }

  .hero-tags{
    margin:28px 0 32px;
  }

  .hero-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .hero-actions .button{
    width:100%;
  }
}

@media (max-width: 1024px){
  .site-header{
    position:sticky;
    top:0;
    overflow:visible;
    z-index:2100;
  }

  .site-header .container,
  .header-inner{
    position:relative;
    z-index:2101;
  }

  .header-nav{
    display:none !important;
  }

  .hamburger{
    display:flex !important;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    width:48px;
    height:48px;
    margin-left:auto;
    padding:0;
    border:1px solid rgba(255,255,255,.55);
    border-radius:12px;
    background:#204f4f;
    cursor:pointer;
    flex:0 0 48px;
    position:relative;
    z-index:2102;
    transition:opacity .18s ease, visibility .18s ease;
  }

  .hamburger span{
    display:block;
    width:20px;
    height:2px;
    border-radius:999px;
    background:#fff;
  }

  body.mobile-menu-open .hamburger{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }

  .mobile-menu-backdrop{
    position:fixed;
    inset:0;
    display:block;
    background:rgba(15,23,42,.24);
    opacity:0;
    visibility:hidden;
    transition:opacity .2s ease, visibility .2s ease;
    z-index:2190;
    backdrop-filter:none;
  }

  .mobile-menu-backdrop.active{
    opacity:1;
    visibility:visible;
  }

  .mobile-menu{
    position:fixed;
    inset:0;
    display:block;
    width:100%;
    height:100dvh;
    min-height:100dvh;
    margin:0;
    padding:22px 20px 28px;
    border-radius:0;
    border:none;
    background:#204f4f;
    color:#fff;
    box-shadow:none;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px);
    transition:transform .2s ease, opacity .2s ease, visibility .2s ease;
    z-index:2200;
  }

  .mobile-menu.active{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }

  .mobile-menu-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:0 0 28px;
    padding:0;
  }

  .mobile-menu-top img{
    display:block;
    width:auto;
    height:38px;
    max-width:calc(100% - 64px);
  }

  .mobile-close{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    padding:0;
    border:1px solid rgba(255,255,255,.55);
    border-radius:12px;
    background:transparent;
    color:#fff;
    font-size:32px;
    line-height:1;
    cursor:pointer;
    flex:0 0 48px;
  }

  .mobile-menu-links{
    display:grid;
    gap:0;
    width:100%;
    padding:0;
    background:transparent;
    border-radius:0;
  }

  .mobile-menu a{
    display:block;
    width:100%;
    padding:16px 0;
    color:#fff;
    font-size:20px;
    line-height:1.35;
    text-decoration:none;
    background:transparent;
    border-radius:0;
    border-bottom:1px solid rgba(255,255,255,.16);
  }

  .mobile-menu a:first-child{
    border-top:1px solid rgba(255,255,255,.16);
  }

  .mobile-menu a:hover,
  .mobile-menu a:focus-visible{
    color:#fff;
    background:transparent;
    border-bottom-color:rgba(255,255,255,.34);
  }

  body.mobile-menu-open{
    overflow:hidden;
    touch-action:none;
  }
}

.hero-grid-with-visual{
  display:grid !important;
  grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);
  gap:72px;
  align-items:center;
}
.hero-visual.hero-visual-show{
  display:block !important;
  position:relative;
  z-index:1;
  padding-left:28px;
}
.hero-visual-card{
  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;
  border-radius:0;
  overflow:visible;
}
.hero-visual-card img{
  width:100%;
  max-width:none;
  height:auto;
  display:block;
  margin:0 auto 0 0;
  box-shadow:none;
  border-radius:0;
  transform:scale(1.02);
  transform-origin:right center;
}
.industry-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
  margin-top:34px;
}
.industry-cloud span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
  font-size:14px;
  line-height:1.3;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.protocol-cloud{
  margin-top:30px;
}
.practice-grid{
  margin-top:44px;
}
.architecture-card h3,
.architecture-card p{
  text-align:left;
}
.architecture-card h3{
  margin-bottom:12px;
}
.architecture-card p{
  max-width:none;
  margin:0;
}
.management-grid,
.variants-grid{
  margin-top:32px;
}
.card-list{
  list-style:none;
  padding:0;
  margin:16px 0 0;
  display:grid;
  gap:10px;
}
.card-list li{
  position:relative;
  padding-left:18px;
  color:var(--muted);
  font-size:16px;
  line-height:1.6;
  text-align:left;
}
.card-list li::before{
  content:'–';
  position:absolute;
  left:0;
  top:0;
  color:var(--primary);
  font-weight:700;
}
@media (max-width:1200px){
  .hero-grid-with-visual{
    grid-template-columns:1fr;
    gap:36px;
  }
  .hero-visual{
    max-width:820px;
    margin:0 auto;
    overflow:visible;
  }
  .hero-visual-card img{
    transform:none;
  }
}
@media (max-width:860px){
  .industry-cloud{
    gap:10px;
    margin-top:26px;
  }
  .industry-cloud span{
    width:100%;
  }
  .practice-grid{
    margin-top:30px;
  }
  .hero-visual-card{
    padding:0;
  }
  .hero-visual-card img{
    width:100%;
    max-width:100%;
    margin-right:0;
    transform:none;
  }
}
@media (max-width:640px){
  .hero-grid-with-visual{
    gap:26px;
  }
  .hero-visual.hero-visual-show{
    padding-left:0;
  }
  .hero-copy h1{
    font-size:clamp(28px, 8.1vw, 34px);
    line-height:1.15;
    max-width:100%;
    margin-bottom:16px;
  }
  .hero-copy .lead{
    font-size:16px;
    line-height:1.62;
  }
  .hero-tags{
    gap:10px;
  }
  .hero-tags span{
    padding:9px 14px;
    font-size:13px;
  }
}

.hero-copy h1{
  max-width:72%;
}
.hero-copy .lead{
  max-width:760px;
}
.hero-actions .button{
  border-radius:999px;
}
.hero-grid-with-visual{
  grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);
  gap:72px;
}
.hero-visual.hero-visual-show{
  padding-left:28px;
}
.hero-visual-card img{
  transform:scale(1.02);
  transform-origin:center center;
}
@media (max-width:1200px){
  .hero-copy h1{
    max-width:78%;
  }
}
@media (max-width:860px){
  .hero-copy h1{
    max-width:100%;
  }
  .hero-visual.hero-visual-show{
    padding-left:0;
  }
  .hero-visual-card img{
    width:100%;
    max-width:100%;
    margin-right:0;
  }
}
@media (max-width:640px){
  .hero-copy h1{
    max-width:100%;
    text-wrap:pretty;
  }
}

.hero-copy h1{
  max-width:100%;
}
@media (min-width: 861px){
  .hero-copy h1{
    font-size:48px;
  }
}

.subsection-head{max-width:860px;margin:0 auto;text-align:center}.subsection-head h3{margin:0;font-size:clamp(24px,2.4vw,32px)}.subsection-head p{max-width:780px;margin:16px auto 0}.model-subhead{margin-top:8px}.model-subhead-spaced{margin-top:56px}.model-benefits-grid .effect-card:nth-child(1){background:#f4f8f8}.model-benefits-grid .effect-card:nth-child(2){background:#f6f7fb}.model-benefits-grid .effect-card:nth-child(3){background:#f7faf5}.model-benefits-grid .effect-card:nth-child(4){background:#f7f8fc}.step-circle{display:flex;align-items:center;justify-content:center}.step-circle>span:first-child{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative;z-index:2}.backup-step.is-active .step-circle{border-color:rgba(32,79,79,.32)}@media (max-width:860px){.model-subhead-spaced{margin-top:40px}}

.model-subhead-spaced{margin-top:44px;}

.section-head.centered + .subsection-head.model-subhead{margin-top:26px;}
.subsection-head{max-width:860px;margin:0 auto;text-align:center;}
.subsection-head h3{margin:0;font-size:clamp(20px,1.85vw,25px);font-weight:500;letter-spacing:-0.01em;}
.subsection-head p{max-width:780px;margin:14px auto 0;}
.model-subhead{margin-top:12px;margin-bottom:22px;}
.model-subhead-spaced{margin-top:72px;margin-bottom:28px;}
.model-benefits-grid .effect-card h3{font-size:20px;font-weight:500;line-height:1.3;}
.model-benefits-grid .effect-card p{margin-top:12px;}
@media (max-width:860px){.model-subhead{margin-bottom:18px;}.model-subhead-spaced{margin-top:52px;margin-bottom:22px;}.model-benefits-grid .effect-card h3{font-size:18px;}}

#backup-steps .section-head p{max-width:860px;}
#backup-steps .model-subhead h3{font-size:clamp(18px,1.55vw,22px);font-weight:500;letter-spacing:-0.01em;}
#backup-steps .model-subhead{margin-top:18px;margin-bottom:34px;}
#backup-steps .model-subhead-spaced{margin-top:88px;margin-bottom:34px;}
#backup-steps .model-benefits-grid{margin-top:0;}
#backup-steps .model-benefits-grid .effect-card:nth-child(1){background:#f4f7fb;}
#backup-steps .model-benefits-grid .effect-card:nth-child(2){background:#f6f8fc;}
#backup-steps .model-benefits-grid .effect-card:nth-child(3){background:#f3f6fa;}
#backup-steps .model-benefits-grid .effect-card:nth-child(4){background:#f7f9fc;}
#backup-steps .model-benefits-grid .effect-card h3{font-size:18px;font-weight:500;line-height:1.32;}
#backup-steps .model-benefits-grid .effect-card p{margin-top:14px;}
#backup-steps .backup-steps{margin-top:26px;}
#backup-steps .backup-step{padding:0 34px;}
#backup-steps h2, #backup-steps h3, #backup-steps p{hyphens:none;text-wrap:pretty;}
@media (max-width:860px){
  #backup-steps .model-subhead{margin-bottom:26px;}
  #backup-steps .model-subhead-spaced{margin-top:58px;margin-bottom:26px;}
  #backup-steps .model-benefits-grid .effect-card h3{font-size:17px;}
  #backup-steps .backup-step{padding:0 12px;}
}

.safedr-col {
  text-align: left;
  padding-left: 16px;
}
.safedr-col img {
  height: 32px;
  display: block;
}

.table .check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background: rgba(255,255,255,0.6);
  color: #16a34a;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 600;
}

.table td:nth-child(3),
.table th:nth-child(3) {
  position: relative;
  z-index: 2;
}

.table td:nth-child(3)::before,
.table th:nth-child(3)::before {
  content: "";
  position: absolute;
  inset: -4px -6px -4px -6px;
  background: #ffffff;
  border-radius: 10px;
  z-index: -1;
  box-shadow:
    0 12px 24px rgba(0,0,0,0.08),
    0 2px 4px rgba(0,0,0,0.04);
}

.table .check,
.comparison-table .check,
.table-bool--positive {
  background: rgba(255,255,255,0.55) !important;
  color: #16a34a !important;
  border-radius: 50%;
}

.table .check,
.comparison-table .check,
.table-bool--positive {
  background: rgba(255,255,255,0.55) !important;
  color: #ffffff !important;
  border-radius: 50%;
}

.table .check,
.comparison-table .check,
.table-bool--positive {
  background: rgba(255,255,255,0.35) !important;
  color: #ffffff !important;
  border-radius: 50%;
}

.problem-card h3,
.effect-card h3,
.solution-card h3,
.security-card h3,
.tab-panel h3,
.comparison-question,
.faq-question {
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

.tab-button strong {
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}

.problem-card p,
.effect-card p,
.solution-card p,
.security-card p,
.tab-panel p,
.comparison-answer p,
.comparison-mobile-card p,
.faq-answer p,
.faq-item p {
  font-size: 16px !important;
  line-height: 1.6 !important;
}

.solution-card ul,
.solution-card ol,
.security-card ul,
.security-card ol,
.effect-card ul,
.effect-card ol,
.problem-card ul,
.problem-card ol,
.tab-panel ul,
.tab-panel ol,
.comparison-mobile-card ul,
.comparison-mobile-card ol {
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: var(--muted) !important;
  margin: 0;
  padding-left: 1.2em;
}

.solution-card li,
.security-card li,
.effect-card li,
.problem-card li,
.tab-panel li,
.comparison-mobile-card li {
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: var(--muted) !important;
  margin: 0 0 0.35em 0;
}

.solution-card li:last-child,
.security-card li:last-child,
.effect-card li:last-child,
.problem-card li:last-child,
.tab-panel li:last-child,
.comparison-mobile-card li:last-child {
  margin-bottom: 0;
}

.architecture-card h3{
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

.architecture-card p,
.architecture-card .card-list,
.architecture-card .card-list li{
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: var(--muted) !important;
}

.architecture-card .card-list{
  margin: 16px 0 0 !important;
  gap: 10px !important;
}

.architecture-card .card-list li{
  margin: 0 0 0.35em 0 !important;
}

.architecture-card .card-list li:last-child{
  margin-bottom: 0 !important;
}

.lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.16);
  color: #ffffff;
  backdrop-filter: blur(6px);
  cursor: pointer;
  font-size: 34px;
  line-height: 1;
  z-index: 30;
}
.lightbox-prev { left: 20px; }
.lightbox-next { right: 20px; }
.lightbox-nav:hover {
  background: rgba(255,255,255,0.24);
}
@media (max-width: 768px) {
  .lightbox-nav {
    width: 40px;
    height: 40px;
    font-size: 30px;
  }
  .lightbox-prev { left: 12px; }
  .lightbox-next { right: 12px; }
}

h1, h2, h3, h4, p, li, a, button, .eyebrow, .lead, .comparison-question, .tab-button strong {
  text-wrap: pretty;
}

.variants-grid .architecture-card .card-list,
.elasticity .architecture-card .card-list,
#elasticity .architecture-card .card-list {
  line-height: 1.45 !important;
}

.variants-grid .architecture-card .card-list li,
.elasticity .architecture-card .card-list li,
#elasticity .architecture-card .card-list li {
  position: relative;
  list-style: none !important;
  padding-left: 22px;
  margin: 0 0 0.5em 0 !important;
  line-height: 1.45 !important;
}

.variants-grid .architecture-card .card-list li::before,
.elasticity .architecture-card .card-list li::before,
#elasticity .architecture-card .card-list li::before {
  content: "→";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--primary);
  font-weight: 500;
}

.variants-grid .architecture-card .card-list,
.elasticity .architecture-card .card-list,
#elasticity .architecture-card .card-list {
  padding-left: 0 !important;
  margin-top: 14px !important;
}

.variants-grid .architecture-card .card-list li:last-child,
.elasticity .architecture-card .card-list li:last-child,
#elasticity .architecture-card .card-list li:last-child {
  margin-bottom: 0 !important;
}

.architecture-card--hybrid {
  background: #204f4f !important;
  border-color: #204f4f !important;
}

.architecture-card--hybrid h3,
.architecture-card--hybrid p,
.architecture-card--hybrid li,
.architecture-card--hybrid .card-list {
  color: #ffffff !important;
}

.architecture-card--hybrid .card-list li::before {
  color: #ffffff !important;
}

.architecture-card--hybrid .card-pill-row {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 10px;
}

.architecture-card--hybrid .card-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.16);
  color: #ffffff;
  font-size: 12px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.03em;
}

.architecture-card--hybrid,
.architecture-card--hybrid * {
  color: #ffffff !important;
}

.variants-grid .architecture-card .card-list li::before,
.elasticity .architecture-card .card-list li::before,
#elasticity .architecture-card .card-list li::before {
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  top: 1px !important;
}

.architecture-card--hybrid .card-pill,
.architecture-card--hybrid .card-pill * {
  color: #ffffff !important;
}

.architecture-card--hybrid p,
.architecture-card--hybrid li,
.architecture-card--hybrid span,
.architecture-card--hybrid small {
  color: #ffffff !important;
  opacity: 1 !important;
}

.variants-grid .architecture-card--hybrid .card-list li::before,
.elasticity .architecture-card--hybrid .card-list li::before,
#elasticity .architecture-card--hybrid .card-list li::before {
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}

.variants-grid .architecture-card .card-list li::before,
.elasticity .architecture-card .card-list li::before,
#elasticity .architecture-card .card-list li::before {
  font-size: 20px !important;
  opacity: 1 !important;
}

.variants-grid .architecture-card--hybrid h3,
.variants-grid .architecture-card--hybrid .card-list,
.variants-grid .architecture-card--hybrid .card-list li,
.variants-grid .architecture-card--hybrid .card-list li *,
.variants-grid .architecture-card--hybrid p,
.variants-grid .architecture-card--hybrid span,
.variants-grid .architecture-card--hybrid small {
  color: #ffffff !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #ffffff !important;
}

.variants-grid .architecture-card--hybrid .card-list li::before {
  color: #ffffff !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}

.variants-grid .architecture-card--hybrid .card-pill {
  color: #ffffff !important;
  background: rgba(255,255,255,0.18) !important;
}

#contact .button,
#contact .button-primary,
#contact .button-secondary,
#contact .contact-actions .button,
#contact .contact-actions a.button{
  border-radius: 999px !important;
}

.hero-topline{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  column-gap:24px;
  margin:0 0 18px;
}
.hero-copy .hero-topline .eyebrow{
  margin:0;
}
.hero-compliance-tags{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  min-height:44px;
}
.hero-compliance-tags span{
  display:inline-flex;
  align-items:center;
  position:relative;
  min-height:44px;
  padding:10px 16px 10px 38px;
  border-radius:999px;
  border:1px solid rgba(255,153,0,.34);
  background:rgba(255,153,0,.10);
  color:#a35d00;
  font-size:14px;
  font-weight:600;
  line-height:1.2;
  box-shadow:0 10px 24px rgba(255,153,0,.08);
}
.hero-compliance-tags span::before{
  content:"✔";
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  font-size:15px;
  font-weight:800;
  line-height:1;
  color:#c66f00;
}
.hero-tags{
  margin:0 0 34px;
}
@media (max-width:1200px){
  .hero-topline{
    grid-template-columns:1fr;
    row-gap:14px;
    margin-bottom:18px;
  }
}
@media (max-width:860px){
  .hero-topline{
    margin-bottom:16px;
  }
  .hero-compliance-tags{
    flex-wrap:wrap;
    gap:10px;
  }
  .hero-compliance-tags span{
    min-height:40px;
    padding:9px 14px 9px 34px;
    font-size:13px;
  }
  .hero-compliance-tags span::before{
    left:12px;
    font-size:14px;
  }
}

@media (min-width: 1025px){
  .site-header{
    background:transparent;
    backdrop-filter:none;
    border-bottom:1px solid transparent;
    transition:background-color .22s ease, border-color .22s ease, backdrop-filter .22s ease, box-shadow .22s ease;
  }

  .site-header.is-sticky{
    background:rgba(255,255,255,.9);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(229,231,235,.72);
    box-shadow:none;
  }

  .header-inner{
    min-height:96px;
  }

  .header-nav{
    gap:18px;
  }

  .header-nav a{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 10px;
    border-radius:999px;
    color:var(--muted);
    font-weight:500;
    transition:color .18s ease, opacity .18s ease;
  }

  .header-nav a::after{
    display:none;
  }

  .header-nav a:hover,
  .header-nav a:focus-visible{
    color:#173333;
    background:transparent;
    transform:none;
    box-shadow:none;
    text-decoration:none;
    opacity:.92;
  }

  .header-nav .nav-cta{
    padding:0 18px;
    color:#204f4f !important;
    background:rgba(32,79,79,.06);
    border:1px solid #204f4f !important;
    box-shadow:none;
    transition:color .18s ease, background-color .18s ease, border-color .18s ease;
  }

  .header-nav .nav-cta::after{
    display:none;
  }

  .header-nav .nav-cta:hover,
  .header-nav .nav-cta:focus-visible{
    color:#fff !important;
    background:#204f4f;
    border-color:#204f4f !important;
    box-shadow:none;
    transform:none;
    opacity:1;
  }
}

.hero-grid-with-visual{
  align-items:start !important;
}

.hero-copy h1{
  margin-bottom:30px;
}

.hero-topline{
  display:block;
  margin:0 0 18px;
}

.hero-visual.hero-visual-show{
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
  padding-left:28px;
}

.hero-compliance-tags{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  min-height:44px;
  margin:0 0 18px;
  width:auto;
}

.hero-compliance-tags span{
  display:inline-flex;
  align-items:center;
  position:relative;
  min-height:44px;
  padding:10px 16px 10px 38px;
  border-radius:999px;
  border:1px solid rgba(255,153,0,.34);
  background:rgba(255,153,0,.10);
  color:#a35d00;
  font-size:14px;
  font-weight:600;
  line-height:1.2;
  box-shadow:0 10px 24px rgba(255,153,0,.08);
}

.hero-compliance-tags span::before{
  content:"✔";
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  font-size:15px;
  font-weight:800;
  line-height:1;
  color:#c66f00;
}

@media (max-width:1200px){
  .hero-grid-with-visual{
    align-items:start !important;
  }

  .hero-compliance-tags{
    margin:0 0 16px;
  }
}

@media (max-width:860px){
  .hero-topline{
    margin-bottom:16px;
  }

  .hero-visual.hero-visual-show{
    padding-left:0;
  }

  .hero-compliance-tags{
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 14px;
  }

  .hero-compliance-tags span{
    min-height:40px;
    padding:9px 14px 9px 34px;
    font-size:13px;
  }

  .hero-compliance-tags span::before{
    left:12px;
    font-size:14px;
  }
}

.hero-compliance-tags{display:none !important;}

@media (max-width:860px){
  .hero-grid-with-visual{
    display:flex !important;
    flex-direction:column;
    gap:28px;
    align-items:stretch !important;
  }

  .hero-copy,
  .hero-visual.hero-visual-show{
    width:100%;
    max-width:100%;
  }

  .hero-copy{
    order:1;
  }

  .hero-visual.hero-visual-show{
    order:2;
    display:block !important;
    margin:0;
    padding-left:0 !important;
  }

  .hero-copy h1{
    max-width:100% !important;
  }

  .hero-actions{
    width:100%;
  }

  .hero-visual-card{
    width:100%;
    padding:0;
  }

  .hero-visual-card img{
    width:100%;
    max-width:100%;
    height:auto;
    margin:0;
    transform:none;
  }
}

@media (max-width:640px){
  .hero{
    padding-top:92px;
    padding-bottom:56px;
  }

  .hero-grid-with-visual{
    gap:22px;
  }

  .hero-copy h1{
    font-size:clamp(26px, 8.2vw, 34px);
    line-height:1.12;
    margin-bottom:16px;
  }

  .hero-copy .lead{
    font-size:16px;
    line-height:1.58;
  }

  .hero-tags{
    margin:24px 0 28px;
  }

  .hero-tags span{
    width:auto;
  }
}

.button-green,
.button-green:visited{
  background:#204f4f !important;
  border-color:#204f4f !important;
  color:#ffffff !important;
  box-shadow:0 10px 24px rgba(32,79,79,.18);
}
.button-green:hover,
.button-green:focus-visible{
  background:#183d3d !important;
  border-color:#183d3d !important;
  color:#ffffff !important;
  box-shadow:0 14px 30px rgba(32,79,79,.24);
}
.architecture-card .card-icon{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 auto 18px;
}
.architecture-card .card-icon img{
  width:58px;
  height:58px;
  display:block;
}

.management-grid .architecture-card{ text-align:center; }
.management-grid .architecture-card h3,
.management-grid .architecture-card p{ text-align:center; }
.management-grid .architecture-card p{ margin:0 auto; max-width:360px; }
.management-grid .architecture-card .card-icon{ margin:0 auto 18px; }
.management-grid .architecture-card .card-icon img{ width:58px; height:58px; display:block; }

:root{
  --shadow:0 10px 24px rgba(15,23,42,.06);
  --shadow-soft:0 8px 20px rgba(15,23,42,.06);
  --shadow-soft-strong:0 12px 28px rgba(15,23,42,.08);
}

.browser-frame,
.problem-card,
.effect-card,
.solution-card,
.security-card,
.architecture-card,
.comparison-wrap,
.comparison-accordion,
.faq-item,
.contact-card,
.shots-arrow,
.header-nav a:hover,
.header-nav a:focus-visible,
.header-nav .nav-cta,
.header-nav .nav-cta:hover,
.header-nav .nav-cta:focus-visible,
.button-primary,
#contact .button-primary,
.card:hover,
.slide-card:hover,
.lightbox img{
  box-shadow:var(--shadow-soft) !important;
}

.problem-card:hover,
.effect-card:hover,
.solution-card:hover,
.security-card:hover,
.architecture-card:hover,
.card:hover,
.slide-card:hover{
  box-shadow:var(--shadow-soft-strong) !important;
}

.comparison-table .safedr-col::before,
.comparison-table .safedr-col .table-bool--positive,
.eyebrow::before,
.incident-dot,
.hero-compliance-tags span{
  box-shadow:none !important;
}

.hero-actions .button,
.contact-actions .button,
#contact .button,
#contact .button-primary,
#contact .button-secondary{
  border-radius:999px !important;
  font-size:15px !important;
  line-height:1.2 !important;
  min-height:48px !important;
  min-width:auto !important;
  padding:14px 22px !important;
  box-shadow:none !important;
}

#contact .contact-actions{
  gap:14px !important;
}

#contact .button-primary:hover,
.hero-actions .button-primary:hover,
.contact-actions .button-primary:hover{
  box-shadow:var(--shadow-soft) !important;
}

.site-footer{
  padding:72px 0;
}

.footer-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:32px !important;
  align-items:start;
}

.footer-brand,
.footer-contact,
.footer-links-social{
  min-width:0;
}

.footer-links-social{
  display:flex;
  flex-direction:column;
}

.footer-links-social .social-links{
  margin-top:18px;
  margin-bottom:0;
}

.footer-links ul,
.footer-contact ul,
.footer-links-social ul{
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}

@media (max-width:860px){
  .footer-grid{
    grid-template-columns:1fr !important;
  }
}

:root{
  --shadow:0 8px 20px rgba(15,23,42,.06);
  --shadow-soft:0 6px 16px rgba(15,23,42,.06);
  --shadow-soft-strong:0 10px 22px rgba(15,23,42,.08);
}

.browser-frame,
.problem-card,
.effect-card,
.solution-card,
.security-card,
.architecture-card,
.comparison-wrap,
.comparison-accordion,
.faq-item,
.contact-card,
.shots-arrow,
.header-nav .nav-cta,
.button-primary,
#contact .button-primary,
.lightbox img{
  box-shadow:var(--shadow-soft) !important;
}

.problem-card:hover,
.effect-card:hover,
.solution-card:hover,
.security-card:hover,
.architecture-card:hover,
.card:hover,
.slide-card:hover,
.header-nav .nav-cta:hover,
.header-nav .nav-cta:focus-visible,
#contact .button-primary:hover,
#contact .button-secondary:hover,
.contact-actions .button:hover{
  box-shadow:var(--shadow-soft-strong) !important;
}

#contact .contact-actions,
section#skontaktuj-sie-z-nami .contact-actions{
  gap:12px !important;
  align-items:center !important;
}

#contact .contact-actions .button,
#contact .contact-actions a.button,
#contact .contact-actions .btn,
section#skontaktuj-sie-z-nami .contact-actions .button,
section#skontaktuj-sie-z-nami .contact-actions a.button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:48px !important;
  height:auto !important;
  padding:14px 22px !important;
  border-radius:999px !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  box-shadow:none !important;
}

#contact .contact-actions .button-primary,
section#skontaktuj-sie-z-nami .contact-actions .button-primary{
  background:#204f4f !important;
  color:#fff !important;
  border:1px solid #204f4f !important;
}

#contact .contact-actions .button-secondary,
section#skontaktuj-sie-z-nami .contact-actions .button-secondary{
  background:#fff !important;
  color:#204f4f !important;
  border:1px solid #204f4f !important;
}

.site-footer{
  padding:72px 0 56px;
}

/* Stopka: lepsze rozłożenie trzech kolumn */
.footer-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.95fr) minmax(0,.72fr) !important;
  column-gap:56px !important;
  row-gap:32px !important;
  align-items:start !important;
}

.footer-brand,
.footer-contact,
.footer-links-social{
  display:flex;
  flex-direction:column;
  min-width:0;
}

/* Delikatne odsunięcie środkowej kolumny od pierwszej */
.footer-contact{
  padding-left:10px;
}

/* Trzecia kolumna nie rozpycha już prawej strony stopki */
.footer-links-social{
  max-width:240px;
}

.site-footer h3{
  margin:0 0 18px;
}

.footer-brand p,
.footer-contact p,
.footer-links-social ul{
  margin-top:0;
}

.footer-links-social .social-links{
  margin-top:18px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

@media (max-width:980px){
  #contact .contact-actions,
  section#skontaktuj-sie-z-nami .contact-actions{
    justify-content:center !important;
  }
}

@media (max-width:860px){
  .footer-grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .footer-contact{
    padding-left:0;
  }

  .footer-links-social{
    max-width:none;
  }

  #contact .contact-actions .button,
  #contact .contact-actions a.button,
  section#skontaktuj-sie-z-nami .contact-actions .button,
  section#skontaktuj-sie-z-nami .contact-actions a.button{
    width:100% !important;
    max-width:260px !important;
  }
}

.footer-brand img,
.site-footer .footer-brand img{
  width:auto !important;
  height:auto !important;
  max-width:180px !important;
  max-height:none !important;
  display:block !important;
  object-fit:contain;
}

#contact .contact-person-card-name,
section#skontaktuj-sie-z-nami .contact-person-card-name{
  font-size:38px !important;
  line-height:1.12 !important;
  margin-bottom:14px !important;
}

#contact .contact-person-card-role,
section#skontaktuj-sie-z-nami .contact-person-card-role{
  font-size:22px !important;
  line-height:1.35 !important;
  margin-bottom:28px !important;
}

#contact .contact-person-card-list,
section#skontaktuj-sie-z-nami .contact-person-card-list{
  gap:14px !important;
  margin:0 0 28px !important;
}

#contact .contact-person-card-list li,
section#skontaktuj-sie-z-nami .contact-person-card-list li{
  font-size:20px !important;
  line-height:1.35 !important;
}

#contact .contact-actions .button,
#contact .contact-actions a.button,
#contact .contact-actions .btn,
section#skontaktuj-sie-z-nami .contact-actions .button,
section#skontaktuj-sie-z-nami .contact-actions a.button{
  font-size:14px !important;
  padding:12px 20px !important;
  min-height:44px !important;
}

@media (max-width: 1280px){
  #contact .contact-person-card-name,
  section#skontaktuj-sie-z-nami .contact-person-card-name{
    font-size:32px !important;
  }

  #contact .contact-person-card-role,
  section#skontaktuj-sie-z-nami .contact-person-card-role{
    font-size:19px !important;
  }

  #contact .contact-person-card-list li,
  section#skontaktuj-sie-z-nami .contact-person-card-list li{
    font-size:18px !important;
  }
}

@media (max-width: 860px){
  .footer-brand img,
  .site-footer .footer-brand img{
    max-width:160px !important;
  }

  #contact .contact-person-card-name,
  section#skontaktuj-sie-z-nami .contact-person-card-name{
    font-size:30px !important;
  }

  #contact .contact-person-card-role,
  section#skontaktuj-sie-z-nami .contact-person-card-role{
    font-size:18px !important;
  }

  #contact .contact-person-card-list li,
  section#skontaktuj-sie-z-nami .contact-person-card-list li{
    font-size:17px !important;
  }
}

.browser-frame,
button.browser-frame,
.slide-card.browser-frame,
.screenshot-card.browser-frame{
  border:1px solid #e5e7eb !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:#f8fafc !important;
}

.browser-frame .browser-bar,
button.browser-frame .browser-bar,
.slide-card.browser-frame .browser-bar,
.screenshot-card.browser-frame .browser-bar{
  border:0 !important;
  border-bottom:1px solid #e5e7eb !important;
  border-radius:0 !important;
  background:#f8fafc !important;
}

.browser-frame img,
button.browser-frame img,
.slide-card.browser-frame img,
.screenshot-card.browser-frame img{
  border:0 !important;
  border-radius:0 !important;
  padding:10px !important;
  background:#f8fafc !important;
}

section.contact-intro{
  padding-bottom:16px !important;
}

section#skontaktuj-sie-z-nami{
  padding-top:28px !important;
}

.cookie-banner,
.cookie-modal{font-family:inherit}

/* Baner cookies */
.cookie-banner{
  position:fixed;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:2100;
}
.cookie-banner[hidden],
.cookie-modal[hidden]{display:none !important}
.cookie-banner-inner{
  width:min(1120px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  align-items:end;
  padding:22px 24px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  box-shadow:0 16px 40px rgba(15,23,42,.12);
}
.cookie-banner-copy strong{
  display:block;
  margin-bottom:8px;
  font-size:18px;
  color:#0f172a;
}
.cookie-banner-copy p{
  margin:0;
  font-size:15px;
  line-height:1.65;
  color:#475569;
  text-align:left;
}
.cookie-banner-actions,
.cookie-modal-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.cookie-btn{
  appearance:none;
  border-radius:999px;
  min-height:46px;
  padding:12px 20px;
  border:1px solid transparent;
  font-size:14px;
  line-height:1.2;
  font-weight:600;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}
.cookie-btn:hover{transform:translateY(-1px)}
.cookie-btn-primary{
  background:#204f4f;
  color:#fff;
  border-color:#204f4f;
  box-shadow:0 10px 24px rgba(32,79,79,.18);
}
.cookie-btn-primary:hover{background:#1b4545;border-color:#1b4545}
.cookie-btn-secondary{
  background:#fff;
  color:#204f4f;
  border-color:rgba(32,79,79,.22);
}
.cookie-btn-secondary:hover{
  background:rgba(32,79,79,.05);
  border-color:rgba(32,79,79,.32);
}
.cookie-btn-ghost{
  background:rgba(248,250,252,.95);
  color:#0f172a;
  border-color:rgba(15,23,42,.10);
}
.cookie-btn-ghost:hover{
  background:#fff;
  border-color:rgba(15,23,42,.18);
}
.cookie-modal{
  position:fixed;
  inset:0;
  z-index:2200;
}
.cookie-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(10,16,28,.58);
  backdrop-filter:blur(3px);
}
.cookie-modal-dialog{
  position:relative;
  width:min(760px,calc(100% - 32px));
  margin:clamp(24px,6vh,64px) auto;
  padding:32px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 24px 70px rgba(15,23,42,.22);
}
.cookie-modal-close{
  position:absolute;
  top:18px;
  right:18px;
  width:44px;
  height:44px;
  border:none;
  border-radius:999px;
  background:rgba(15,23,42,.06);
  color:#0f172a;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.cookie-modal-head p{
  text-align:left;
  margin:14px 0 0;
  color:#475569;
}
.cookie-groups{
  display:grid;
  gap:16px;
  margin:28px 0 30px;
}
.cookie-group{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:20px 22px;
  border:1px solid #e5e7eb;
  border-radius:22px;
  background:#fff;
}
.cookie-group h3{
  margin:0 0 8px;
  font-size:18px;
  text-align:left;
}
.cookie-group p{
  margin:0;
  font-size:15px;
  line-height:1.65;
  color:#475569;
  text-align:left;
}
.cookie-group.is-locked{
  background:#f8fafc;
}
.cookie-toggle-static{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(32,79,79,.08);
  color:#204f4f;
  font-size:13px;
  font-weight:600;
}
.cookie-switch-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.cookie-switch-input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.cookie-switch{
  position:relative;
  width:62px;
  height:36px;
  border-radius:999px;
  background:#cbd5e1;
  transition:background-color .18s ease;
}
.cookie-switch::after{
  content:'';
  position:absolute;
  top:4px;
  left:4px;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 4px 12px rgba(15,23,42,.18);
  transition:transform .18s ease;
}
.cookie-switch-input:checked + .cookie-switch{background:#204f4f}
.cookie-switch-input:checked + .cookie-switch::after{transform:translateX(26px)}
body.cookie-modal-open{overflow:hidden}
@media (max-width:860px){
  .cookie-banner{left:16px;right:16px;bottom:16px}
  .cookie-banner-inner,
  .cookie-group{grid-template-columns:1fr}
  .cookie-banner-inner{padding:20px}
  .cookie-banner-actions,
  .cookie-modal-actions{justify-content:stretch}
  .cookie-banner-actions .cookie-btn,
  .cookie-modal-actions .cookie-btn{flex:1 1 100%}
  .cookie-modal-dialog{width:min(100%,calc(100% - 20px));padding:24px 20px 22px;margin:10px auto}
}

.footer-copy{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.footer-copy-links{
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.footer-copy-links a{
  color:#fff;
  opacity:.84;
  text-decoration:none;
  transition:opacity .2s ease, color .2s ease;
}
.footer-copy-links a:hover,
.footer-copy-links a:focus-visible{
  opacity:1;
  text-decoration:underline;
}
.footer-copy-links span{
  opacity:.45;
}
.cookie-banner-copy a,
.cookie-banner-copy a:visited{
  color:#204f4f;
}

.back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  width:48px;
  height:48px;
  border:1px solid rgba(15,23,42,.1);
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#0f172a;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(15,23,42,.12);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .2s ease, visibility .2s ease, transform .2s ease, box-shadow .2s ease;
  z-index:2040;
}
.back-to-top svg{
  width:18px;
  height:18px;
  fill:currentColor;
}
.back-to-top:hover,
.back-to-top:focus-visible{
  transform:translateY(0);
  box-shadow:0 14px 28px rgba(15,23,42,.16);
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
@media (max-width:860px){
  .footer-copy{justify-content:center}
  .footer-copy-links{justify-content:center}
  .back-to-top{right:16px;bottom:16px}
}

section#skontaktuj-sie-z-nami .contact-person-card{
  display:grid !important;
  grid-template-columns:360px 1fr !important;
  align-items:center !important;
  gap:28px !important;
}

section#skontaktuj-sie-z-nami .contact-photo.circle-photo{
  justify-self:center !important;
  align-self:start !important;
}

section#skontaktuj-sie-z-nami .contact-card-body{
  min-width:0 !important;
}

section#skontaktuj-sie-z-nami .contact-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:stretch !important;
}

section#skontaktuj-sie-z-nami .contact-actions .button,
section#skontaktuj-sie-z-nami .contact-actions a.button{
  box-sizing:border-box !important;
}

@media (max-width: 980px){
  section#skontaktuj-sie-z-nami .contact-person-card{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    align-items:start !important;
    text-align:center !important;
    gap:18px !important;
    padding:28px 22px !important;
  }

  section#skontaktuj-sie-z-nami .contact-photo.circle-photo{
    order:1 !important;
    width:220px !important;
    height:220px !important;
    margin:0 auto 4px !important;
  }

  section#skontaktuj-sie-z-nami .contact-card-body{
    order:2 !important;
    width:100% !important;
    align-items:center !important;
  }

  section#skontaktuj-sie-z-nami .contact-person-card-name,
  section#skontaktuj-sie-z-nami .contact-person-card-role,
  section#skontaktuj-sie-z-nami .contact-person-card-list li{
    text-align:center !important;
  }

  section#skontaktuj-sie-z-nami .contact-person-card-role{
    margin-bottom:20px !important;
  }

  section#skontaktuj-sie-z-nami .contact-person-card-list{
    margin:0 0 22px !important;
  }

  section#skontaktuj-sie-z-nami .contact-actions{
    width:100% !important;
    justify-content:center !important;
    gap:10px !important;
  }

  section#skontaktuj-sie-z-nami .contact-actions .button,
  section#skontaktuj-sie-z-nami .contact-actions a.button{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    white-space:normal !important;
    text-align:center !important;
    padding:13px 16px !important;
  }
}

@media (max-width: 420px){
  section#skontaktuj-sie-z-nami .contact-person-card{
    padding:24px 18px !important;
  }

  section#skontaktuj-sie-z-nami .contact-photo.circle-photo{
    width:196px !important;
    height:196px !important;
  }

  section#skontaktuj-sie-z-nami .contact-actions .button,
  section#skontaktuj-sie-z-nami .contact-actions a.button{
    font-size:13px !important;
    min-height:42px !important;
    padding:12px 14px !important;
  }
}

@media (min-width: 1201px){
  #sources .architecture-cards{
    grid-template-columns:repeat(6, minmax(0, 1fr));
  }
  #sources .architecture-card{
    grid-column:span 2;
  }
  #sources .architecture-card:nth-child(7){
    grid-column:2 / span 2;
  }
  #sources .architecture-card:nth-child(8){
    grid-column:4 / span 2;
  }
}

section#skontaktuj-sie-z-nami .contact-grid-2{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:32px !important;
  align-items:stretch !important;
}

section#skontaktuj-sie-z-nami .contact-card.contact-person-card{
  display:grid !important;
  grid-template-columns:280px minmax(0,1fr) !important;
  align-items:center !important;
  gap:28px !important;
  padding:36px !important;
  min-height:0 !important;
  text-align:left !important;
}

section#skontaktuj-sie-z-nami .contact-photo.circle-photo{
  width:220px !important;
  height:220px !important;
  margin:0 auto !important;
  justify-self:center !important;
  align-self:center !important;
  flex-shrink:0 !important;
}

section#skontaktuj-sie-z-nami .contact-card-body{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  min-width:0 !important;
  text-align:left !important;
}

section#skontaktuj-sie-z-nami .contact-person-card-name,
section#skontaktuj-sie-z-nami .contact-person-card-role,
section#skontaktuj-sie-z-nami .contact-person-card-list li{
  text-align:left !important;
}

section#skontaktuj-sie-z-nami .contact-actions{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
}

section#skontaktuj-sie-z-nami .contact-actions .button,
section#skontaktuj-sie-z-nami .contact-actions a.button{
  width:auto !important;
  max-width:100% !important;
  white-space:nowrap !important;
}

@media (max-width: 980px){
  section#skontaktuj-sie-z-nami .contact-grid-2{
    grid-template-columns:1fr !important;
  }

  section#skontaktuj-sie-z-nami .contact-card.contact-person-card{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    text-align:center !important;
  }

  section#skontaktuj-sie-z-nami .contact-photo.circle-photo{
    width:220px !important;
    height:220px !important;
    margin:0 0 8px !important;
  }

  section#skontaktuj-sie-z-nami .contact-card-body{
    align-items:center !important;
    text-align:center !important;
  }

  section#skontaktuj-sie-z-nami .contact-person-card-name,
  section#skontaktuj-sie-z-nami .contact-person-card-role,
  section#skontaktuj-sie-z-nami .contact-person-card-list li{
    text-align:center !important;
  }

  section#skontaktuj-sie-z-nami .contact-actions{
    justify-content:center !important;
  }
}

@media (max-width: 860px){
  section#skontaktuj-sie-z-nami .contact-card.contact-person-card{
    padding:28px !important;
    gap:18px !important;
  }

  section#skontaktuj-sie-z-nami .contact-actions{
    flex-direction:column !important;
    align-items:center !important;
  }

  section#skontaktuj-sie-z-nami .contact-actions .button,
  section#skontaktuj-sie-z-nami .contact-actions a.button{
    width:100% !important;
    max-width:260px !important;
  }
}


.contact-stack{display:grid;grid-template-columns:1fr;gap:24px;max-width:1120px;margin:0 auto}
.contact-person-card-compact{grid-template-columns:220px 1fr;padding:28px 34px;min-height:auto}
.circle-photo-compact{width:176px;height:176px}
.contact-person-card-compact .contact-person-card-name{font-size:40px;margin-bottom:14px}
.contact-person-card-compact .contact-person-card-role{font-size:22px;margin-bottom:28px}
.contact-person-card-compact .contact-person-card-list{margin:0 0 24px;gap:12px}
.contact-person-card-compact .contact-person-card-list li,.contact-person-card-compact .contact-person-card-list a{font-size:20px;color:var(--primary);text-decoration:none}
.contact-form-card{padding:34px 36px}
.contact-form-head{margin-bottom:24px}
.contact-form-head .eyebrow{margin-left:0;margin-right:auto}
.contact-form-head h3{font-size:36px;line-height:1.1;margin-bottom:12px;text-align:left}
.contact-form-head p{text-align:left;margin:0;color:var(--muted)}
.contact-form{display:grid;gap:18px}
.form-row{display:grid;gap:18px}
.form-row-halves{grid-template-columns:1fr 1fr}
.form-field{display:grid;gap:8px}
.form-field-full{grid-column:1/-1}
.contact-form label{font-size:15px;font-weight:600;color:var(--text);text-align:left}
.contact-form input[type="text"],.contact-form input[type="tel"],.contact-form input[type="email"]{width:100%;min-height:54px;padding:14px 16px;border:1px solid rgba(15,23,42,.12);border-radius:16px;background:#fff;font-size:16px;color:var(--text);transition:border-color .2s ease,box-shadow .2s ease}
.contact-form input[type="text"]:focus,.contact-form input[type="tel"]:focus,.contact-form input[type="email"]:focus{outline:none;border-color:rgba(32,79,79,.55);box-shadow:0 0 0 4px rgba(32,79,79,.08)}
.contact-form input.is-invalid{border-color:#c62828;box-shadow:0 0 0 4px rgba(198,40,40,.08)}
.form-error{min-height:20px;font-size:13px;line-height:1.35;color:#c62828;text-align:left}
.form-status{display:none;padding:14px 16px;border-radius:16px;font-size:15px;line-height:1.5;text-align:left}
.form-status.is-pending,.form-status.is-success,.form-status.is-error{display:block}
.form-status.is-pending{background:#eef4f4;color:#204f4f}
.form-status.is-success{background:#edf7ed;color:#1b5e20}
.form-status.is-error{background:#fdeeee;color:#b71c1c}
.consent-field{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:flex-start;font-size:14px;line-height:1.55;color:var(--muted)}
.consent-field input{margin-top:3px;width:18px;height:18px;accent-color:#204f4f}
.form-actions{display:flex;justify-content:flex-start;align-items:center}
.form-honeypot{position:absolute !important;left:-9999px !important;opacity:0 !important;pointer-events:none !important}
.button.is-loading{opacity:.75;pointer-events:none}
@media (max-width: 860px){.form-row-halves{grid-template-columns:1fr}.contact-form-card{padding:28px 22px}.contact-person-card-compact{grid-template-columns:1fr;padding:28px 22px}.circle-photo-compact{margin:0 auto 8px}.contact-person-card-compact .contact-person-card-name{font-size:32px}.contact-person-card-compact .contact-person-card-role{font-size:20px}.contact-person-card-compact .contact-person-card-list li,.contact-person-card-compact .contact-person-card-list a{font-size:18px}}


/* Contact section layout refresh */
section#skontaktuj-sie-z-nami .contact-section-head{max-width:900px;margin:0 auto 38px}
section#skontaktuj-sie-z-nami .contact-stack{display:grid;gap:32px}
section#skontaktuj-sie-z-nami .contact-grid-people{align-items:stretch}
section#skontaktuj-sie-z-nami .contact-card.contact-person-card{height:100%}
section#skontaktuj-sie-z-nami .contact-form-card-wide{padding:36px 40px}
section#skontaktuj-sie-z-nami .contact-form-card-wide .contact-form-head{max-width:720px;margin-bottom:28px}
section#skontaktuj-sie-z-nami .contact-form-card-wide .contact-form{max-width:none}
section#skontaktuj-sie-z-nami .contact-form-card-wide .form-actions{justify-content:flex-start}
@media (max-width: 980px){section#skontaktuj-sie-z-nami .contact-stack{gap:24px}section#skontaktuj-sie-z-nami .contact-section-head{margin-bottom:28px}}
@media (max-width: 860px){section#skontaktuj-sie-z-nami .contact-form-card-wide{padding:28px 22px}}

/* === Kontakt / CTA jak na safedr.pl, formularz pod spodem === */
.contact-cta{
  padding-top:120px;
}
.contact-cta .container{
  display:grid;
  gap:32px;
}
.contact-cta .contact-intro-head{
  max-width:880px;
  margin:0 auto;
}
.contact-cta .contact-intro-head p{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.contact-grid-people-live{
  gap:24px;
  align-items:stretch;
}
.contact-person-card-live{
  grid-template-columns:240px 1fr;
  align-items:center;
  min-height:380px;
  padding:32px;
  border:1px solid var(--line);
  border-radius:28px;
  background:#fff;
  box-shadow:0 18px 40px rgba(15,23,42,.06);
}
.circle-photo-live{
  width:176px;
  height:176px;
  justify-self:center;
  background:#edf1f5;
}
.circle-photo-live img[alt="Joanna Stępień"]{object-position:center 24%;}
.circle-photo-live img[alt="Bartłomiej Skoczylas"]{object-position:center 16%;}
.contact-card-body-live{
  align-items:flex-start;
  justify-content:center;
}
.contact-person-card-live .contact-person-card-name{
  font-size:40px;
  line-height:1.08;
  margin-bottom:14px;
}
.contact-person-card-live .contact-person-card-role{
  font-size:22px;
  line-height:1.3;
  margin-bottom:28px;
}
.contact-person-card-live .contact-person-card-list{
  gap:12px;
  margin:0 0 24px;
}
.contact-person-card-live .contact-person-card-list li,
.contact-person-card-live .contact-person-card-list a{
  font-size:20px;
  color:var(--primary);
  font-weight:600;
  text-decoration:none;
}
.contact-cta .contact-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.contact-cta .contact-actions .button{
  min-width:168px;
  min-height:58px;
  padding:14px 22px;
  border-radius:18px;
  font-size:17px;
  font-weight:600;
}
.contact-cta .contact-actions .button-primary{
  box-shadow:0 14px 28px rgba(32,79,79,.16);
}
.contact-form-card-live{
  width:100%;
  max-width:none;
  padding:34px 36px;
  border:1px solid var(--line);
  border-radius:28px;
  background:#fff;
  box-shadow:0 18px 40px rgba(15,23,42,.06);
  padding: 100px;
}
.contact-form-card-live .contact-form-head{
  margin-bottom:24px;
}
.contact-form-card-live .contact-form-head p{
  max-width:720px;
}
@media (max-width:1180px){
  .contact-person-card-live{
    grid-template-columns:200px 1fr;
    padding:28px;
  }
  .circle-photo-live{
    width:160px;
    height:160px;
  }
  .contact-person-card-live .contact-person-card-name{
    font-size:34px;
  }
  .contact-person-card-live .contact-person-card-role,
  .contact-person-card-live .contact-person-card-list li,
  .contact-person-card-live .contact-person-card-list a{
    font-size:18px;
  }
}
@media (max-width:980px){
  .contact-grid-people-live{
    grid-template-columns:1fr;
  }
  .contact-person-card-live{
    grid-template-columns:1fr;
    min-height:auto;
    justify-items:center;
    text-align:center;
  }
  .contact-card-body-live{
    align-items:center;
  }
  .contact-person-card-live .contact-person-card-name,
  .contact-person-card-live .contact-person-card-role,
  .contact-person-card-live .contact-person-card-list li{
    text-align:center;
  }
  .contact-cta .contact-actions{
    justify-content:center;
  }
}
@media (max-width:860px){
  .contact-cta{
    padding-top:84px;
  }
  .contact-person-card-live,
  .contact-form-card-live{
    padding:24px 22px;
    border-radius:24px;
  }
  .contact-person-card-live .contact-person-card-name{
    font-size:30px;
  }
  .contact-person-card-live .contact-person-card-role{
    font-size:18px;
    margin-bottom:22px;
  }
  .contact-person-card-live .contact-person-card-list li,
  .contact-person-card-live .contact-person-card-list a{
    font-size:17px;
  }
  .contact-cta .contact-actions .button{
    width:100%;
    min-width:0;
  }
}


/* Formularz kontaktowy — nagłówek poza kartą */
.contact-form-intro{
  max-width:760px;
  margin:56px auto 32px;
  text-align:center;
}
.contact-form-intro .eyebrow{
  margin-bottom:12px;
}
.contact-form-intro h3{
  font-size:clamp(30px,3vw,42px);
  line-height:1.14;
  letter-spacing:-0.03em;
  margin-bottom:14px;
  color:var(--text);
}
.contact-form-intro p{
  max-width:700px;
  margin:0 auto;
  color:var(--muted);
}
.contact-form-card-live .contact-form-head{
  display:none;
}
.contact-form-card-live{
  max-width:980px;
  margin:0 auto;
}
@media (max-width:860px){
  .contact-form-intro{
    margin:40px auto 24px;
  }
  .contact-form-intro h3{
    font-size:clamp(26px,7vw,34px);
  }
}
