:root{
  --bg:#f4f7fb;
  --bg-soft:#eaf0f7;
  --panel:#ffffff;
  --panel-alt:#f8fbff;
  --header-bg:rgba(244,247,251,.88);
  --dropdown-bg:rgba(255,255,255,.98);
  --shadow:0 20px 40px rgba(28,58,92,.10);
  --hairline:#d7e0ea;
  --ink-0:#13253b;
  --ink-1:#32465d;
  --ink-2:#70839a;
  --elektryka:#f2994a;
  --elektryka-dim:#fff0df;
  --iot:#1ea99b;
  --iot-dim:#e4f8f5;
  --energia:#6f9f2f;
  --energia-dim:#edf6dc;
  --font-display:'Space Grotesk', sans-serif;
  --font-body:'IBM Plex Sans', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
  --radius:14px;
  --wrap:1180px;
}
html[data-theme="dark"]{
  --bg:#0a1526;
  --bg-soft:#0d1c30;
  --panel:#132a45;
  --panel-alt:#0f2138;
  --header-bg:rgba(10,21,38,.90);
  --dropdown-bg:rgba(13,28,48,.98);
  --shadow:0 20px 40px rgba(0,0,0,.28);
  --hairline:#22364f;
  --ink-0:#eef2f8;
  --ink-1:#c3ccdb;
  --ink-2:#8695ac;
  --elektryka-dim:#4a3520;
  --iot-dim:#173934;
  --energia-dim:#2e3a1e;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink-0);
  font-family:var(--font-display);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  transition:background .2s ease,color .2s ease;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul{list-style:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
h1,h2,h3,h4,h5{
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:-0.01em;
  line-height:1.15;
  color:var(--ink-0);
}
.eyebrow{
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--elektryka);
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}
.eyebrow::before{
  content:"";
  width:24px;
  height:1px;
  background:var(--elektryka);
  display:inline-block;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 26px;
  border-radius:10px;
  font-family:var(--font-display);
  font-weight:600;
  font-size:15px;
  border:1px solid transparent;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}
.btn-primary{
  background:var(--elektryka);
  color:#1a1206;
  box-shadow:0 10px 24px -8px rgba(242,153,74,.35);
}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{
  border-color:var(--hairline);
  color:var(--ink-0);
}
.btn-ghost:hover{border-color:var(--ink-1);transform:translateY(-2px)}
.btn-small{padding:11px 18px;font-size:14px}

.btn-dark{
  background:#0f1720;
  color:#f8fafc;
  border-color:#0f1720;
  box-shadow:0 12px 24px -10px rgba(15,23,32,.42);
}
.btn-dark:hover{
  background:#1f2937;
  border-color:#1f2937;
  transform:translateY(-2px);
}
.btn-dark:active{transform:translateY(0)}

.btn-light{
  background:#ffffff;
  color:#0f1720;
  border-color:rgba(15,23,32,.14);
  box-shadow:0 10px 20px -14px rgba(15,23,32,.24);
}
.btn-light:hover{
  background:#f8fafc;
  border-color:rgba(15,23,32,.24);
  transform:translateY(-2px);
}
.btn-light:active{transform:translateY(0)}

.btn:focus-visible{
  outline:3px solid rgba(242,153,74,.35);
  outline-offset:2px;
}

header{
  position:sticky;
  top:0;
  z-index:50;
  background:var(--header-bg);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--hairline);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:16px 24px;
}
.header-status-strip{
  position:relative;
  border-top:2px solid color-mix(in srgb, #3b4654 82%, var(--hairline));
  border-bottom:1px solid color-mix(in srgb, var(--elektryka) 22%, var(--hairline));
  background:linear-gradient(180deg, color-mix(in srgb, var(--elektryka-dim) 62%, var(--panel) 38%), color-mix(in srgb, var(--bg-soft) 86%, transparent));
  transition:opacity .18s ease, transform .18s ease;
}
.header-status-strip::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-2px;
  height:1px;
  background:linear-gradient(90deg, transparent, color-mix(in srgb, #5a6573 75%, var(--hairline)), transparent);
}
.header-status-strip.is-hidden{
  display:none;
}
.header-status-grid{
  position:relative;
  display:grid;
  grid-template-columns:180px minmax(0, 1fr) minmax(0, 1fr);
  gap:14px;
  align-items:stretch;
  padding-right:44px;
  border-top:1px solid transparent;
}
.header-status-item{
  padding:9px 0 10px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.header-status-item:not(:first-child){
  padding-left:14px;
  border-left:1px solid color-mix(in srgb, var(--elektryka) 18%, var(--hairline));
}
.header-status-label{
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink-2);
}
.header-status-item strong{
  font-size:12.5px;
  line-height:1.35;
  color:var(--ink-0);
  font-family:var(--font-display);
  font-weight:600;
}
.header-status-item-time strong{
  font-size:15px;
  line-height:1.05;
}
.header-status-close{
  position:absolute;
  top:50%;
  right:0;
  transform:translateY(-50%);
  width:28px;
  height:28px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--ink-2);
  transition:background .16s ease, color .16s ease;
}
.header-status-close:hover{
  background:color-mix(in srgb, var(--panel) 76%, white 24%);
  color:var(--ink-0);
}
.header-status-show{
  position:fixed;
  top:96px;
  right:16px;
  z-index:51;
  display:none;
  padding:8px 12px;
  border:1px solid color-mix(in srgb, var(--elektryka) 24%, var(--hairline));
  border-radius:999px;
  background:color-mix(in srgb, var(--panel) 90%, white 10%);
  box-shadow:0 10px 24px rgba(28,58,92,.12);
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-0);
}
.header-status-show.is-visible{
  display:inline-flex;
}
.header-status-mobile-trigger{
  display:none;
  align-items:center;
  justify-content:flex-start;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-0);
}
.mobile-status-link{
  justify-content:center;
  width:100%;
  margin-top:8px;
  padding:14px 16px;
  border:1px solid color-mix(in srgb, var(--elektryka) 72%, #d97b30 28%);
  border-radius:12px;
  background:linear-gradient(120deg, var(--elektryka), #d97b30);
  color:#1a1206;
  font-family:var(--font-display);
  font-size:14px;
  font-weight:700;
  letter-spacing:-.01em;
  text-transform:none;
  box-shadow:0 12px 24px -10px rgba(242,153,74,.45);
}
.mobile-status-link:hover{
  filter:brightness(.98);
}
.header-status-modal{
  display:none;
  z-index:9999;
}
html[data-theme="dark"] .header-status-strip{
  background:linear-gradient(180deg, color-mix(in srgb, var(--elektryka-dim) 26%, var(--panel) 74%), color-mix(in srgb, var(--bg-soft) 88%, transparent));
}
html[data-theme="dark"] .header-status-close:hover,
html[data-theme="dark"] .header-status-show,
html[data-theme="dark"] .header-status-mobile-trigger{
  background:color-mix(in srgb, var(--panel) 92%, black 8%);
}
.logo{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
}
.logo img{
  height:42px;
  width:auto;
}
html[data-theme="dark"] .logo img{
  filter:brightness(0) invert(1);
}
html[data-theme="dark"] .footer-brand .logo img{
  filter:none;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:24px;
  font-size:14.5px;
  color:var(--ink-1);
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:-0.01em;
}
.nav-links a:hover,.nav-trigger:hover{color:var(--ink-0)}
.nav-item{
  position:relative;
  padding:14px 0;
  margin:-14px 0;
}
.nav-item::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:14px;
}
.nav-trigger{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:inherit;
}
.nav-trigger::after{
  content:"";
  width:8px;
  height:8px;
  border-right:1.5px solid var(--ink-2);
  border-bottom:1.5px solid var(--ink-2);
  transform:translateY(-1px) rotate(45deg);
  transition:transform .18s ease, border-color .18s ease;
  flex:0 0 auto;
}
.nav-item:hover > .nav-trigger::after,
.nav-item:focus-within > .nav-trigger::after{
  transform:translateY(1px) rotate(225deg);
  border-color:var(--ink-1);
}
.dropdown{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:220px;
  display:none;
  flex-direction:column;
  gap:4px;
  padding:10px;
  border:1px solid var(--hairline);
  border-radius:12px;
  background:var(--dropdown-bg);
  box-shadow:var(--shadow);
}
.dropdown.right{left:0;right:auto}
.dropdown a{
  padding:10px 12px;
  border-radius:8px;
  color:var(--ink-1);
  font-size:14px;
  font-family:var(--font-display);
}
.dropdown a:hover{
  background:var(--bg-soft);
  color:var(--ink-0);
}
.mega-menu{
  position:absolute;
  top:calc(100% + 10px);
  left:-24px;
  width:min(960px, calc(100vw - 80px));
  display:none;
  padding:22px 24px;
  border:1px solid var(--hairline);
  border-radius:18px;
  background:var(--dropdown-bg);
  box-shadow:var(--shadow);
}
header .dropdown,
header .mega-menu{
  z-index:120;
}
.mega-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
}
.mega-col{
  position:relative;
  padding:0 8px 0 0;
}
.mega-col:not(:last-child){
  border-right:1px solid var(--hairline);
  padding-right:24px;
}
.mega-title{
  display:inline-flex;
  align-items:center;
  margin-bottom:12px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.mega-col.elektryka .mega-title{color:var(--elektryka)}
.mega-col.iot .mega-title{color:var(--iot)}
.mega-col.energia .mega-title{color:var(--energia)}
.mega-menu .mega-title-link,
.mobile-submenu .mobile-submenu-title-link{
  display: inline-block;
  border-bottom: 1px dashed currentColor;
  padding-bottom: 2px;
  line-height: 1.2;
}
.mega-title-link:hover,.mobile-submenu-title-link:hover{
  opacity:.88;
}
.mega-heading{
  font-size:18px;
  margin-bottom:14px;
  line-height:1.2;
}
.mega-links{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mega-links a{
  display:block;
  padding:9px 0;
  color:var(--ink-1);
  font-family:var(--font-display);
  font-size:14px;
  border-radius:0;
  transition:color .15s ease, transform .15s ease;
}
.mega-links a:hover{
  color:var(--ink-0);
  transform:translateX(3px);
}
.mega-links a + a{
  border-top:1px solid color-mix(in srgb, var(--hairline) 72%, transparent);
}
.nav-item:hover .dropdown,
.nav-item:focus-within .dropdown,
.nav-item:hover .mega-menu,
.nav-item:focus-within .mega-menu{display:flex}
.nav-right{
  display:flex;
  align-items:center;
  gap:16px;
  flex:0 0 auto;
}
.nav-contact{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-family:var(--font-display);
}
.nav-contact-links{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--ink-0);
  font-size:12px;
  font-weight:500;
}
.nav-contact-phone{
  color:var(--ink-0);
  font-size:14px;
  font-weight:600;
}
.contact-icon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.contact-icon img{
  width:18px;
  height:18px;
  display:block;
}
.nav-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.theme-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border:1px solid var(--hairline);
  border-radius:10px;
  color:var(--elektryka);
  background:transparent;
  font-size:18px;
  line-height:1;
}
.theme-toggle:hover{color:#d97b30;transform:translateY(-1px);border-color:var(--ink-1)}
.theme-toggle .theme-icon{font-size:18px;line-height:1}
.mobile-visit-btn{display:none}
.burger{
  display:none;
  width:26px;
  height:20px;
  position:relative;
}
.burger span{
  position:absolute;
  left:0;
  width:100%;
  height:2px;
  background:var(--ink-0);
  transition:.2s;
}
.burger span:nth-child(1){top:0}
.burger span:nth-child(2){top:9px}
.burger span:nth-child(3){top:18px}
.mobile-panel{
  display:none;
  padding:0 24px 18px;
  border-top:1px solid var(--hairline);
}
.mobile-panel.open{display:block}
.mobile-menu-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-top:16px;
  border-bottom:1px solid var(--hairline);
}
.mobile-menu-head .mobile-link{
  border-bottom:0;
  padding:0 0 14px 0;
  flex:1;
}
.mobile-close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border:1px solid var(--hairline);
  border-radius:10px;
  color:var(--ink-0);
  font-size:28px;
  line-height:1;
  flex:0 0 auto;
  margin-bottom:10px;
}
.mobile-nav{
  display:flex;
  flex-direction:column;
  padding-top:12px;
}
.mobile-link,.mobile-summary,.mobile-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:14px 0;
  color:var(--ink-1);
  font-size:14px;
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:-0.01em;
  border-bottom:1px solid var(--hairline);
}
.mobile-summary{list-style:none;cursor:pointer}
.mobile-summary::-webkit-details-marker{display:none}
.mobile-summary-chevron{
  width:10px;
  height:10px;
  border-right:1.5px solid var(--ink-2);
  border-bottom:1.5px solid var(--ink-2);
  transform:translateY(-1px) rotate(45deg);
  transition:transform .18s ease;
  flex:0 0 auto;
}
details[open] > .mobile-summary .mobile-summary-chevron{
  transform:translateY(1px) rotate(225deg);
}
.mobile-submenu{
  display:flex;
  flex-direction:column;
  border-bottom:1px solid var(--hairline);
}
.mobile-submenu-group{
  padding:12px 0 8px;
  border-top:1px solid rgba(128,148,172,.18);
}
.mobile-submenu-group:first-child{border-top:0}
.mobile-submenu-title{
  display:block;
  margin-bottom:8px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
  color:var(--ink-2);
}
.mobile-submenu a{
  padding:10px 0 10px 18px;
  color:var(--ink-2);
  font-family:var(--font-display);
}
.mobile-meta{
  padding-top:14px;
  display:flex;
  flex-direction:column;
  gap:8px;
  color:var(--ink-1);
  font-family:var(--font-display);
  font-size:13px;
}
.mobile-meta-row{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--ink-0);
}
.mobile-meta-phone{color:var(--ink-0)}

.hero{
  position:relative;
  padding:88px 0 96px;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(128,148,172,.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(128,148,172,.12) 1px, transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(ellipse 70% 60% at 30% 30%, black, transparent);
}
html[data-theme="dark"] .hero::before{
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
}
.hero-grid{
  position:relative;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:40px;
  align-items:center;
}
.hero h1{font-size:clamp(34px,4.6vw,56px);margin-bottom:22px}
.hero-title-link{
  display: inline-block;
  border-bottom: 1px dashed currentColor;
  padding-bottom: .04em;
  line-height: .95;
}
.hero-title-link-elektryka{color:var(--elektryka)}
.hero-title-link-iot{color:var(--iot)}
.hero-title-link-energia{color:var(--energia)}
.hero-title-link:hover{opacity:.88}
.hero h1 .accent{color:var(--elektryka)}
.hero p.lead{
  font-size:17.5px;
  color:var(--ink-1);
  max-width:520px;
  margin-bottom:34px;
}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:40px}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{
  font-family:var(--font-mono);
  font-size:12.5px;
  color:var(--ink-1);
  border:1px solid var(--hairline);
  padding:8px 13px;
  border-radius:100px;
  display:flex;
  align-items:center;
  gap:7px;
  background:var(--panel-alt);
}
.chip::before{content:"●";color:var(--elektryka);font-size:8px}
.trace-wrap.trasa3-power{
  --frame: rgba(77,109,143,.22);
  --grid: rgba(75,111,149,.085);
  --shell: #d8e0e8;
  --shell-edge: rgba(36,56,77,.20);
  --phase: #7b4a2c;
  --phase-hot: #ff9f43;
  --neutral: #2678b9;
  --neutral-hot: #69c8ff;
  --earth: #3f8f4f;
  --earth-stripe: #f3d348;
  --node: #05080d;
  --node-border: color-mix(in srgb, var(--hairline) 70%, #55779a 30%);
  --text: #ffffff;
  --muted: rgba(255,255,255,.82);
  position: relative;
  width: min(100%, 520px);
  aspect-ratio: 1 / 1;
  margin-inline: auto;
  border: 1px solid var(--frame);
  border-radius: 28px;
  overflow: hidden;
  background:
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px),
    linear-gradient(180deg, color-mix(in srgb, var(--panel) 96%, white 4%), var(--panel-alt));
  background-size: 44px 44px, 44px 44px, auto;
  box-shadow: 0 18px 40px rgba(27,53,78,.10);
}
.hero-photo-panel{
  width:min(100%,520px);
  margin-inline:auto;
}
.hero-photo-visual{
  min-height:520px;
  width:100%;
  border:1px solid rgba(77,109,143,.22);
  border-radius:28px;
  overflow:hidden;
  background-color:var(--panel-alt);
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  box-shadow:0 18px 40px rgba(27,53,78,.10);
}html[data-theme="dark"] .trace-wrap.trasa3-power{
  --frame: rgba(95,131,169,.34);
  --grid: rgba(91,124,159,.10);
  --shell: #111a25;
  --shell-edge: rgba(255,255,255,.10);
  --node: #05080d;
  --node-border: rgba(126,164,203,.46);
  --text: #ffffff;
  --muted: rgba(255,255,255,.82);
  box-shadow: inset 0 0 50px rgba(6,18,32,.12);
}
.trace-wrap.trasa3-power svg{display:block;width:100%;height:100%;background-color:#f4f6f6}
html[data-theme="dark"] .trace-wrap.trasa3-power svg{background-color:#0a1526}
.trasa3-power .cable-shell{fill:none;stroke:var(--shell);stroke-width:24;stroke-linecap:butt;stroke-linejoin:round;filter:url(#trasa3CableShadow)}
.trasa3-power .cable-shell-edge{fill:none;stroke:var(--shell-edge);stroke-width:25.5;stroke-linecap:butt;stroke-linejoin:round;opacity:.65}
.trasa3-power .wire{fill:none;stroke-width:5.8;stroke-linecap:round;stroke-linejoin:round}
.trasa3-power .wire-phase{stroke:var(--phase)}
.trasa3-power .wire-neutral{stroke:var(--neutral)}
.trasa3-power .wire-earth{stroke:var(--earth)}
.trasa3-power .earth-stripe{fill:none;stroke:var(--earth-stripe);stroke-width:2.1;stroke-dasharray:9 8;stroke-linecap:round;opacity:.95}
.trasa3-power .branch-glow{fill:none;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;opacity:0;filter:url(#trasa3CurrentGlow);animation:trasa3BranchGlow 18s ease-in-out infinite;animation-delay:var(--delay,0s)}
.trasa3-power .branch-glow.phase{stroke:var(--phase-hot)}
.trasa3-power .branch-glow.neutral{stroke:var(--neutral-hot)}
.trasa3-power .node-box,.trasa3-power .hub-box{fill:var(--node);stroke:var(--node-border);stroke-width:1.4}
.trasa3-power .node-label{fill:var(--text);font:700 12px/1 var(--font-body);letter-spacing:1.2px}
.trasa3-power .node-sub{fill:var(--muted);font:600 7.6px/1 var(--font-body);letter-spacing:.35px}
.trasa3-power .hub-label{fill:#ff9f43;font:800 18px/1 var(--font-display);letter-spacing:1.2px}
.trasa3-power .terminal-ring{fill:#d89555;stroke:#3b2415;stroke-width:1.1}
.trasa3-power .terminal-core{fill:#ffd19b}
.trasa3-power .current-dot{opacity:0;filter:url(#trasa3CurrentGlow)}
.trasa3-power .current-phase{fill:#ffd08a}
.trasa3-power .current-neutral{fill:#a7e5ff}
.trasa3-power .pillar-node{transform-box:fill-box;transform-origin:center;animation:trasa3NodePulse 18s ease-in-out infinite;animation-delay:var(--delay,0s)}
@keyframes trasa3BranchGlow{0%,2%{opacity:0}6%,26%{opacity:.68}30%,100%{opacity:0}}
@keyframes trasa3NodePulse{0%,3%{transform:translateY(0) scale(1);filter:none}12%,24%{transform:translateY(-1px) scale(1.018);filter:drop-shadow(0 0 12px rgba(255,159,67,.22))}31%,100%{transform:translateY(0) scale(1);filter:none}}
@media (prefers-reduced-motion: reduce){
  .trasa3-power .branch-glow,.trasa3-power .pillar-node{animation:none !important}
  .trasa3-power .current-dot{display:none}
}

.trust{
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
  background:var(--bg-soft);
}
.trust-inner{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{padding:26px 22px;border-right:1px solid var(--hairline)}
.trust-item:last-child{border-right:none}
.trust-item .num{
  font-family:var(--font-mono);
  color:var(--elektryka);
  font-size:13px;
  margin-bottom:6px;
  display:block;
}
.trust-item p{font-size:14.5px;color:var(--ink-1)}

section{padding:96px 0}
.admin-main section{padding:0}
.section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  margin-bottom:52px;
  flex-wrap:wrap;
}
.section-head h2{font-size:clamp(26px,3vw,38px);max-width:640px}
.section-head p{color:var(--ink-2);max-width:380px;font-size:15px}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pillar-card{
  border:1px solid var(--hairline);
  border-radius:22px;
  padding:28px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 92%, white 8%), var(--panel-alt));
  position:relative;
  overflow:hidden;
  min-height:320px;
  display:flex;
  flex-direction:column;
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.pillar-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:var(--pillar-accent);
}
.pillar-card::after{
  content:"";
  position:absolute;
  top:-40px;
  right:-24px;
  width:140px;
  height:140px;
  border-radius:14px;
  background:radial-gradient(circle, var(--pillar-glow) 0%, transparent 68%);
  pointer-events:none;
}
.pillar-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:color-mix(in srgb, var(--pillar-accent) 35%, var(--hairline))}
.pillar-card .tag{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  padding:6px 12px;
  border-radius:100px;
  display:inline-block;
  margin-bottom:18px;
  background:var(--pillar-soft);
  color:var(--pillar-accent);
}
.pillar-card h3{font-size:24px;line-height:1.15;margin-bottom:14px;max-width:12ch}
.pillar-card p{color:var(--ink-1);font-size:15px;line-height:1.65;margin-bottom:26px;max-width:34ch}
.pillar-card .go{
  margin-top:auto;
  width:max-content;
  padding:11px 14px;
  border:1px solid color-mix(in srgb, var(--pillar-accent) 32%, var(--hairline));
  border-radius:999px;
  background:color-mix(in srgb, var(--pillar-soft) 72%, transparent);
  color:var(--pillar-accent);
  font-family:var(--font-mono);
  font-size:13px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:transform .15s ease, border-color .15s ease, background .15s ease;
}
.pillar-card .go:hover{transform:translateX(3px);border-color:var(--pillar-accent)}
.pillar-elektryka{--pillar-accent:var(--elektryka);--pillar-soft:var(--elektryka-dim);--pillar-glow:color-mix(in srgb, var(--elektryka) 22%, transparent)}
.pillar-iot{--pillar-accent:var(--iot);--pillar-soft:var(--iot-dim);--pillar-glow:color-mix(in srgb, var(--iot) 22%, transparent)}
.pillar-energia{--pillar-accent:var(--energia);--pillar-soft:var(--energia-dim);--pillar-glow:color-mix(in srgb, var(--energia) 22%, transparent)}

.services-section{margin-top:30px;background:var(--bg-soft);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{
  border:1px solid var(--hairline);
  border-radius:var(--radius);
  padding:26px;
  background:var(--panel);
}
.service-card .icon{
  width:56px;
  height:56px;
  border-radius:14px;
  border:1px solid var(--hairline);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:20px;
  background:color-mix(in srgb, var(--panel-alt) 84%, white 16%);
}
.service-card .icon img{
  width:30px;
  height:30px;
  display:block;
  opacity:.92;
}
.service-card h4{font-size:17px;margin-bottom:8px}
.service-card p{font-size:14px;color:var(--ink-2);margin-bottom:16px}
.service-card a{font-family:var(--font-mono);font-size:12.5px;color:var(--elektryka)}

.why{margin-top:30px;margin-bottom:30px;display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.why-visual{
  border:1px solid var(--hairline);
  border-radius:var(--radius);
  aspect-ratio:4/5;
  background:
    radial-gradient(circle at 30% 20%, rgba(242,153,74,.14), transparent 55%),
    radial-gradient(circle at 75% 75%, rgba(73,214,196,.12), transparent 50%),
    var(--panel);
  position:relative;
  overflow:hidden;
}
.why-visual::after{
  content:"TRASA3";
  position:absolute;
  bottom:24px;
  left:24px;
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--ink-2);
  letter-spacing:.15em;
}
.why-list{display:flex;flex-direction:column;gap:26px}
.why-item{display:flex;gap:18px}
.why-item .mark{
  font-family:var(--font-mono);
  color:var(--elektryka);
  font-size:13px;
  min-width:26px;
  padding-top:3px;
}
.why-item h4{font-size:16.5px;margin-bottom:6px}
.why-item p{color:var(--ink-2);font-size:14.5px}

.process-section{background:var(--bg-soft);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.process::before{
  content:"";
  position:absolute;
  top:19px;
  left:6%;
  right:6%;
  height:1px;
  background:repeating-linear-gradient(90deg, var(--hairline) 0 8px, transparent 8px 14px);
}
.process-item{padding:0 20px;position:relative}
.process-item .step{
  font-family:var(--font-mono);
  width:40px;
  height:40px;
  border-radius:100px;
  background:var(--panel);
  border:1px solid var(--elektryka);
  color:var(--elektryka);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  margin-bottom:22px;
  position:relative;
  z-index:2;
}
.process-item h4{font-size:16.5px;margin-bottom:8px}
.process-item p{font-size:14px;color:var(--ink-2)}
.home-blog-section{padding:18px 0 6px}
.home-blog-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}
.home-blog-head h2{margin:10px 0 0;font-size:clamp(28px,3vw,40px);line-height:1.04}
.home-blog-head p{max-width:760px;margin:14px 0 0;color:var(--muted);line-height:1.72}
.home-blog-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}
.home-blog-arrow{width:52px;height:52px;border:none;border-radius:999px;background:linear-gradient(180deg, #fff, #eef2f7);box-shadow:0 14px 30px rgba(15,23,42,.12);color:var(--ink-1);font-size:2rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease}
.home-blog-arrow:hover{transform:translateY(-1px);box-shadow:0 18px 36px rgba(15,23,42,.16)}
.home-blog-arrow:disabled{opacity:.42;cursor:default;transform:none;box-shadow:none}
.home-blog-slider{overflow:hidden;margin:0 -12px}
.home-blog-track{display:flex;align-items:stretch;transition:transform .35s ease}
.home-blog-card{flex:0 0 50%;min-width:0;padding:0 12px;box-sizing:border-box}
.home-blog-card-media{display:flex;min-height:280px;max-height:350px;border-radius:28px;overflow:hidden;background:linear-gradient(135deg, rgba(242,153,74,.22), rgba(15,23,42,.08));text-decoration:none;box-shadow:0 18px 44px rgba(15,23,42,.12)}
.home-blog-card-media img{width:100%;height:100%;max-height:350px;display:block;object-fit:cover}
.home-blog-card-media span{display:flex;align-items:flex-end;justify-content:flex-start;width:100%;padding:28px;background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(15,23,42,.10));font-size:1.15rem;font-weight:700;line-height:1.28;color:var(--ink-1)}
.home-blog-card-body{display:grid;gap:12px;padding:18px 4px 0}
.home-blog-card-date{font-size:.86rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.home-blog-card h3{margin:0;font-size:clamp(1.32rem,2vw,1.72rem);line-height:1.14}
.home-blog-card h3 a{color:var(--ink-1);text-decoration:none}
.home-blog-card h3 a:hover{color:var(--accent-strong)}
.home-blog-card p{margin:0;color:var(--muted);line-height:1.74}
.home-blog-dots{display:flex;justify-content:center;align-items:center;gap:10px;padding-top:26px}
.home-blog-dot{width:12px;height:12px;border:none;border-radius:999px;background:rgba(148,163,184,.32);cursor:pointer;transition:transform .18s ease, background-color .18s ease, width .18s ease}
.home-blog-dot.is-active{width:34px;background:var(--accent-strong)}
@media (max-width: 1099px){.home-blog-head{align-items:flex-start;flex-direction:column}.home-blog-controls{align-self:flex-end}.home-blog-card{flex-basis:100%}.home-blog-card-media{min-height:250px}}
@media (max-width: 760px){.home-blog-section{padding:8px 0 0}.home-blog-head{margin-bottom:18px}.home-blog-head h2{font-size:clamp(24px,8vw,34px)}.home-blog-card-media{min-height:220px;border-radius:24px}.home-blog-card-body{padding-top:14px}.home-blog-arrow{width:46px;height:46px;font-size:1.8rem}.home-blog-dots{padding-top:20px}}
html[data-theme="dark"] .home-blog-arrow{background:linear-gradient(180deg, rgba(30,41,59,.96), rgba(15,23,42,.92));box-shadow:0 14px 30px rgba(2,6,23,.34);color:#e2e8f0}
html[data-theme="dark"] .home-blog-card-media{background:linear-gradient(135deg, rgba(242,153,74,.22), rgba(15,23,42,.92));box-shadow:0 18px 44px rgba(2,6,23,.34)}
html[data-theme="dark"] .home-blog-card-media span{background:linear-gradient(180deg, rgba(15,23,42,.08), rgba(15,23,42,.48));color:#e2e8f0}
html[data-theme="dark"] .home-blog-head h2,html[data-theme="dark"] .home-blog-card h3 a{color:#e2e8f0}
html[data-theme="dark"] .home-blog-head p,html[data-theme="dark"] .home-blog-card p,html[data-theme="dark"] .home-blog-card-date{color:#94a3b8}
html[data-theme="dark"] .home-blog-dot{background:rgba(100,116,139,.48)}
html[data-theme="dark"] .home-blog-dot.is-active{background:var(--accent-strong)}
.cta-banner{margin-top:30px;margin-bottom:30px;
  border-radius:20px;
  background:linear-gradient(120deg, var(--elektryka), #d97b30);
  color:#1a1206;
  padding:48px 52px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
  flex-wrap:wrap;
}
.cta-banner h3{font-size:clamp(22px,2.6vw,30px);color:#1a1206;max-width:480px}
.cta-banner p{font-size:14.5px;color:#402a10;margin-top:8px}
.cta-right{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.cta-phone{font-family:var(--font-mono);font-size:15px;color:#1a1206}
.cta-phone b{display:block;font-size:19px}
.cta-banner .btn-primary{background:#1a1206;color:#fff}

.service-page{padding-bottom:96px}
.service-hero{padding:54px 0 28px}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:28px;align-items:stretch}
.service-hero-copy,.service-photo-slot{border:1px solid var(--hairline);border-radius:26px;background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 94%, white 6%), var(--panel-alt));box-shadow:var(--shadow)}
.service-hero-copy{padding:34px 34px 30px}
.service-kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--elektryka);margin-bottom:18px}
.service-kicker::before{content:"";width:18px;height:1px;background:currentColor}
.service-hero-copy h1{font-size:clamp(34px,4vw,54px);max-width:12ch;margin-bottom:18px}
.service-lead{font-size:17px;line-height:1.72;color:var(--ink-1);max-width:62ch;margin-bottom:24px}
.service-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.service-hero-notes{display:flex;flex-wrap:wrap;gap:10px}
.service-hero-notes span{padding:9px 12px;border-radius:999px;border:1px solid var(--hairline);background:color-mix(in srgb, var(--elektryka-dim) 42%, transparent);font-size:13px;color:var(--ink-1)}
.service-photo-slot{padding:18px;display:flex}
.service-photo-placeholder.service-photo-placeholder-map{flex:1;width:100%;min-height:100%;display:flex;align-items:flex-end;justify-content:flex-end;gap:0;padding:24px;border:none;background-color:#101b2a;background-image:var(--service-photo-image);background-size:auto 100%;background-position:center center;background-repeat:no-repeat;position:relative;overflow:hidden;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.service-photo-placeholder.service-photo-placeholder-map::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(10,19,34,.42), rgba(10,19,34,.16) 40%, rgba(10,19,34,.28))}
.service-photo-placeholder.service-photo-placeholder-map strong{position:relative;z-index:1;font-size:clamp(1.15rem,1.6vw,1.4rem);max-width:none}
.service-photo-placeholder{border-radius:20px;border:1px dashed color-mix(in srgb, var(--elektryka) 40%, var(--hairline));background:radial-gradient(circle at top left, color-mix(in srgb, var(--elektryka) 12%, transparent), transparent 34%),radial-gradient(circle at bottom right, color-mix(in srgb, var(--iot) 12%, transparent), transparent 32%),linear-gradient(180deg, color-mix(in srgb, var(--panel) 95%, white 5%), var(--panel-alt));min-height:100%;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;gap:12px}
.service-photo-label{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.service-photo-placeholder strong{font-size:24px;line-height:1.2;max-width:14ch}
.service-photo-placeholder p{font-size:14.5px;color:var(--ink-1);max-width:34ch}
.service-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:38px}
.service-section-head h2{font-size:clamp(28px,3.2vw,40px);max-width:14ch}
.service-section-head p{max-width:480px;color:var(--ink-2);font-size:15.5px;line-height:1.7}
.service-feature-grid,.service-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.service-feature-card,.service-tool-card,.service-audience-card{border:1px solid var(--hairline);border-radius:22px;background:linear-gradient(180deg, var(--panel), var(--panel-alt));padding:24px;box-shadow:0 12px 28px rgba(28,58,92,.06)}
.service-feature-card h3,.service-tool-card h3,.service-audience-card h3{font-size:22px;line-height:1.2;margin-bottom:12px}
.service-feature-card p,.service-tool-card p,.service-audience-card p{font-size:14.8px;line-height:1.7;color:var(--ink-1)}
.service-result-section{margin:24px 0 0}
.service-result-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px;align-items:start}
.service-checklist{display:grid;gap:16px}
.service-check-item{padding:22px 24px;border-radius:20px;border:1px solid var(--hairline);background:var(--panel)}
.service-check-item strong{display:block;font-size:18px;margin-bottom:8px}
.service-check-item p{font-size:14.8px;line-height:1.7;color:var(--ink-1)}
.service-audience-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.service-audience-no{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--elektryka);color:var(--elektryka);font-family:var(--font-mono);font-size:12px;margin-bottom:18px}
.service-process-section{margin-top:24px}
.service-tools-section{padding-top:72px}
.service-pricing-section{padding-top:72px}
.service-price-table-wrap{overflow:auto;border:1px solid var(--hairline);border-radius:22px;background:var(--panel);box-shadow:var(--shadow)}
.service-price-table{width:100%;border-collapse:collapse;min-width:720px}
.service-price-table th,.service-price-table td{padding:18px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--hairline)}
.service-price-table th{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);background:color-mix(in srgb, var(--bg-soft) 70%, transparent)}
.service-price-table td{font-size:14.8px;color:var(--ink-1)}
.service-price-table td:last-child{font-weight:600;color:var(--ink-0);white-space:nowrap}
.service-price-note-row td{font-size:13.5px;color:var(--ink-2);background:color-mix(in srgb, var(--bg-soft) 55%, transparent)}
.service-price-empty{padding:24px 26px;border-radius:20px;border:1px dashed color-mix(in srgb, var(--elektryka) 45%, var(--hairline));background:color-mix(in srgb, var(--elektryka-dim) 36%, transparent)}
.service-price-empty strong{display:block;margin-bottom:8px}
.service-price-empty p,.service-price-footnote{font-size:14.5px;line-height:1.7;color:var(--ink-2)}
.service-price-footnote{margin-top:16px;margin-bottom:42px;max-width:760px}
.inline-dashed-link{display:inline-block;border-bottom:1px dashed currentColor;padding-bottom:.02em}
.service-page-elektryka .service-kicker,.service-page-elektryka .service-audience-no{color:var(--elektryka)}
.service-page-elektryka .service-audience-no{border-color:var(--elektryka)}
.contact-page{
  padding-bottom:64px;
}
.contact-hero{
  position:relative;
  padding:56px 0 18px;
}
.contact-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 14% 24%, color-mix(in srgb, var(--elektryka) 12%, transparent), transparent 30%),
    radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--iot) 10%, transparent), transparent 28%);
  pointer-events:none;
}
.contact-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr);
  gap:28px;
  align-items:stretch;
}
.contact-photo-slot,.contact-card{
  border:1px solid var(--hairline);
  border-radius:28px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 94%, white 6%), var(--panel-alt));
  box-shadow:var(--shadow);
}
.contact-photo-slot{
  padding:18px;
  display:flex;
  align-items:stretch;
}
.contact-photo-slot .trace-wrap.trasa3-power{
  width:100%;
  max-width:none;
}
.contact-photo-visual{
  position:relative;
  min-height:100%;
  width:100%;
  border-radius:22px;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(9,20,35,.04), rgba(9,20,35,.62)),
    radial-gradient(circle at top left, rgba(242,153,74,.18), transparent 32%),
    url("/images/bg2_small.png") center/cover no-repeat;
}
.contact-photo-visual::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(16,33,53,.04), rgba(16,33,53,.52));
}
.contact-photo-overlay{
  position:absolute;
  left:28px;
  right:28px;
  bottom:28px;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.contact-photo-kicker{
  display:inline-flex;
  align-self:flex-start;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:#13253b;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.contact-photo-overlay strong{
  max-width:13ch;
  font-size:clamp(28px,3vw,42px);
  line-height:1.05;
  color:#fff;
  text-shadow:0 8px 24px rgba(0,0,0,.32);
}
.contact-card{
  padding:34px 34px 30px;
}
.contact-card h1{
  font-size:clamp(34px, 4vw, 56px);
  margin-bottom:16px;
}
.contact-lead{
  max-width:64ch;
  font-size:16px;
  line-height:1.78;
  color:var(--ink-1);
  margin-bottom:28px;
}
.contact-columns{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
}
.contact-block{
  padding:22px 24px;
  border-radius:22px;
  border:1px solid var(--hairline);
  background:color-mix(in srgb, var(--panel) 88%, white 12%);
}
.contact-block-primary{
  background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 92%, white 8%), color-mix(in srgb, var(--elektryka-dim) 20%, var(--panel) 80%));
}
.contact-note{
  margin-top:8px;
  font-size:13.5px !important;
  line-height:1.6 !important;
  color:var(--ink-2) !important;
}
.contact-block + .contact-block{
  margin-top:18px;
}
.contact-columns .contact-block + .contact-block{
  margin-top:0;
}
.contact-block h2{
  font-size:22px;
  margin-bottom:14px;
}
.contact-block p{
  font-size:15px;
  line-height:1.78;
  color:var(--ink-1);
}
.contact-block p a{
  color:var(--ink-0);
  font-weight:600;
}
.contact-block p span{
  color:var(--ink-2);
}
.contact-meta-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px 18px;
}
.contact-meta-list span{
  display:block;
  margin-bottom:5px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-2);
}
.contact-meta-list strong{
  font-size:16px;
  line-height:1.45;
  color:var(--ink-0);
}
.contact-address{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--hairline);
}
.contact-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}
.not-found-page{
  padding-bottom:56px;
}
.legal-page{
  padding-bottom:56px;
}
.legal-hero{
  position:relative;
  padding:56px 0 18px;
}
.legal-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 22%, color-mix(in srgb, var(--elektryka) 12%, transparent), transparent 30%),
    radial-gradient(circle at 84% 18%, color-mix(in srgb, var(--iot) 10%, transparent), transparent 28%);
  pointer-events:none;
}
.legal-hero-grid{
  position:relative;
  z-index:1;
}
.legal-hero-copy{
  max-width:760px;
}
.legal-hero-copy h1{
  font-size:clamp(34px, 4vw, 56px);
  margin-bottom:16px;
}
.legal-lead{
  max-width:64ch;
  font-size:16px;
  line-height:1.78;
  color:var(--ink-1);
}
.legal-section{
  padding-top:14px;
}
.legal-card{
  border:1px solid var(--hairline);
  border-radius:28px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 94%, white 6%), var(--panel-alt));
  box-shadow:var(--shadow);
  padding:34px 34px 30px;
}
.legal-content h2{
  font-size:28px;
  margin:34px 0 14px;
}
.legal-content h3{
  font-size:20px;
  margin:24px 0 10px;
}
.legal-content p,
.legal-content li{
  font-size:15px;
  line-height:1.78;
  color:var(--ink-1);
}
.legal-content p + p{
  margin-top:14px;
}
.legal-content ul{
  margin:12px 0 4px 0;
  padding-left:20px;
  list-style:disc;
}
.legal-content li + li{
  margin-top:8px;
}
.legal-content a{
  color:var(--ink-0);
  border-bottom:1px dashed currentColor;
}
.legal-content code{
  font-family:var(--font-mono);
  font-size:.95em;
}
.legal-cookie-table{
  display:grid;
  /* grid-template-columns:repeat(2, minmax(0, 1fr)); */
  gap:18px;
  margin-top:18px;
}
.legal-cookie-item{
  border:1px solid color-mix(in srgb, var(--elektryka) 16%, var(--hairline));
  border-radius:18px;
  background:color-mix(in srgb, var(--elektryka-dim) 32%, transparent);
  padding:18px 18px 16px;
}
.legal-cookie-item h3{
  margin-top:0;
}
.not-found-hero{
  position:relative;
  overflow:hidden;
  padding:64px 0 40px;
}
.not-found-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--elektryka) 14%, transparent), transparent 28%),
    radial-gradient(circle at 86% 20%, color-mix(in srgb, var(--iot) 12%, transparent), transparent 26%),
    radial-gradient(circle at 58% 82%, color-mix(in srgb, var(--energia) 14%, transparent), transparent 24%);
  pointer-events:none;
}
.not-found-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 1.02fr) minmax(320px, .98fr);
  gap:30px;
  align-items:center;
}
.not-found-copy,
.not-found-visual{
}
.not-found-copy{
  border-radius:28px;
  padding:38px 38px 34px;
}
.not-found-copy h1{
  font-size:clamp(42px, 5vw, 68px);
  margin-bottom:18px;
}
.not-found-lead{
  max-width:60ch;
  font-size:16px;
  line-height:1.78;
  color:var(--ink-1);
  margin-bottom:26px;
}
.not-found-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:20px;
}
.not-found-note{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:11px 14px;
  border-radius:999px;
  border:1px solid color-mix(in srgb, var(--elektryka) 24%, var(--hairline));
  background:color-mix(in srgb, var(--elektryka-dim) 42%, transparent);
  color:var(--ink-1);
  font-size:13.5px;
}
.not-found-note::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--elektryka);
  box-shadow:0 0 0 5px color-mix(in srgb, var(--elektryka) 18%, transparent);
}
.not-found-visual{
  border-radius:34px;
  min-height:460px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:36px;
}
.not-found-image{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  border-radius:28px;
  object-fit:contain;
  object-position:center center;
}
.not-found-banner{
  margin-top:6px;
}
.service-category-list-section{padding-top:72px}
.service-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.service-category-card{border:1px solid var(--hairline);border-radius:22px;background:linear-gradient(180deg, var(--panel), var(--panel-alt));padding:24px;box-shadow:0 12px 28px rgba(28,58,92,.06)}
.service-category-number{display:inline-flex;margin-bottom:14px;padding:6px 12px;border-radius:999px;background:var(--elektryka-dim);color:var(--elektryka);font-family:var(--font-mono);font-size:12px;letter-spacing:.08em}
.service-category-card h3{font-size:24px;line-height:1.2;margin-bottom:12px;max-width:20ch}
.service-category-card p{font-size:14.8px;line-height:1.72;color:var(--ink-1);max-width:52ch}
.service-category-card h4{font-size:24px;line-height:1.2;margin-bottom:12px;max-width:20ch}
.service-category-sections{padding-top:72px}
.service-subcategory-list{display:flex;flex-direction:column;gap:26px}
.service-subcategory-block{border:1px solid var(--hairline);border-radius:24px;background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 96%, white 4%), var(--panel-alt));padding:26px;box-shadow:0 12px 28px rgba(28,58,92,.06)}
.service-subcategory-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;margin-bottom:22px}
.service-subcategory-head h3{font-size:30px;line-height:1.15;margin-bottom:10px}
.service-subcategory-head p{max-width:700px;font-size:15px;line-height:1.72;color:var(--ink-2)}
.service-subcategory-empty{padding:10px;border-radius:18px;border:1px dashed color-mix(in srgb, var(--elektryka) 40%, var(--hairline));background:color-mix(in srgb, var(--elektryka-dim) 34%, transparent)}
.service-subcategory-empty strong{display:block;margin-bottom:8px}
.service-subcategory-empty p{font-size:14.5px;line-height:1.7;color:var(--ink-2)}
.service-card h4 a{color:inherit;text-decoration:none;display:inline;font:inherit}
.service-card h4 a:hover{color:inherit;text-decoration:none}
.service-card h4 a:focus-visible{outline:2px solid rgba(242,153,74,.35);outline-offset:3px;border-radius:4px}
footer{padding:80px 0 32px;border-top:1px solid var(--hairline)}
.footer-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr 1fr;
  gap:40px;
  padding-bottom:56px;
}
.footer-brand p{color:var(--ink-2);font-size:14px;margin:16px 0 20px;max-width:280px}
.footer-col h5{
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-2);
  margin-bottom:18px;
}
.footer-col ul{display:flex;flex-direction:column;gap:11px}
.footer-col a{font-size:14.5px;color:var(--ink-1)}
.footer-col a:hover{color:var(--ink-0)}
.footer-bottom{
  border-top:1px solid var(--hairline);
  padding-top:6px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:13px;
  color:var(--ink-2);
  flex-wrap:wrap;
}
.footer-bottom br{display:none}
.cookie-consent{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:80;
  padding:0;
  pointer-events:none;
}
.cookie-consent.is-hidden{
  display:none;
}
.cookie-consent-inner{
  pointer-events:none;
}
.cookie-consent-inner.wrap{
  max-width:none;
  padding:0;
}
.cookie-consent-panel{
  pointer-events:auto;
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:18px;
  width:100%;
  padding:24px 26px;
  border:1px solid color-mix(in srgb, var(--elektryka) 28%, var(--hairline));
  border-left:0;
  border-right:0;
  border-bottom:0;
  border-radius:0;
  background:linear-gradient(135deg, color-mix(in srgb, var(--panel) 92%, white 8%), color-mix(in srgb, var(--elektryka-dim) 28%, var(--panel) 72%));
  box-shadow:0 26px 48px rgba(28,58,92,.22);
  backdrop-filter:blur(14px);
}
.cookie-consent-eyebrow{
  margin-bottom:10px;
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--elektryka);
}
.cookie-consent-copy h3{
  font-size:28px;
  line-height:1.08;
  margin-bottom:14px;
}
.cookie-consent-copy p{
  font-size:14px;
  line-height:1.7;
  color:var(--ink-1);
}
.cookie-consent-copy p + p{
  margin-top:10px;
}
.cookie-consent-copy a,
.cookie-consent-link{
  color:var(--ink-0);
  text-decoration:none;
  border-bottom:1px dashed currentColor;
}
.cookie-consent-actions{
  display:grid;
  gap:14px;
}
.cookie-consent-button-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.cookie-consent-button-row .btn{
  min-width:190px;
}
.cookie-consent-settings-panel{
  display:grid;
  gap:14px;
  padding:18px;
  border-radius:18px;
  border:1px solid var(--hairline);
  background:color-mix(in srgb, var(--panel) 92%, white 8%);
}
.cookie-consent-settings-panel[hidden]{
  display:none;
}
.cookie-consent-setting-card{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:18px;
  align-items:center;
  padding:16px 18px;
  border-radius:16px;
  border:1px solid color-mix(in srgb, var(--hairline) 86%, transparent);
  background:color-mix(in srgb, var(--panel-alt) 74%, white 26%);
}
.cookie-consent-setting-card-static{
  grid-template-columns:minmax(0, 1fr);
}
.cookie-consent-setting-copy{
  min-width:0;
}
.cookie-consent-setting-head{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:6px;
}
.cookie-consent-setting-head strong{
  display:block;
  font-size:15px;
}
.cookie-consent-setting-copy p{
  margin:0;
  font-size:13.5px;
  line-height:1.65;
  color:var(--ink-2);
}
.cookie-consent-setting-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 10px;
  border-radius:999px;
  background:color-mix(in srgb, var(--elektryka) 13%, white 87%);
  color:var(--elektryka);
  font:600 11px var(--font-mono);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cookie-consent-switch{
  display:inline-flex;
  align-items:center;
  gap:12px;
  cursor:pointer;
  user-select:none;
}
.cookie-consent-switch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.cookie-consent-switch-ui{
  position:relative;
  display:inline-flex;
  width:54px;
  height:32px;
  border-radius:999px;
  background:color-mix(in srgb, var(--line) 84%, white 16%);
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--hairline) 82%, transparent);
  transition:background .18s ease, box-shadow .18s ease;
}
.cookie-consent-switch-ui::after{
  content:"";
  position:absolute;
  top:4px;
  left:4px;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 5px 12px rgba(28,58,92,.18);
  transition:transform .18s ease;
}
.cookie-consent-switch input:checked + .cookie-consent-switch-ui{
  background:var(--elektryka);
}
.cookie-consent-switch input:checked + .cookie-consent-switch-ui::after{
  transform:translateX(22px);
}
.cookie-consent-switch input:focus-visible + .cookie-consent-switch-ui{
  outline:2px solid color-mix(in srgb, var(--elektryka) 50%, white 50%);
  outline-offset:3px;
}
.cookie-consent-switch-text{
  font:600 12px var(--font-mono);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ink-2);
}
.cookie-consent-settings-actions{
  display:flex;
  justify-content:flex-end;
  padding-top:4px;
}
.footer-legal-links{
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
}
.footer-cookie-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  padding:0;
  border:1px solid color-mix(in srgb, var(--hairline) 86%, transparent);
  border-radius:999px;
  background:color-mix(in srgb, var(--panel) 94%, white 6%);
  color:var(--ink-1);
  transition:transform .18s ease, border-color .18s ease, color .18s ease, background .18s ease;
}
.footer-cookie-trigger:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb, var(--elektryka) 34%, var(--hairline));
  color:var(--ink-0);
}
.footer-cookie-trigger:focus-visible{
  outline:2px solid color-mix(in srgb, var(--elektryka) 46%, white 54%);
  outline-offset:3px;
}
.footer-cookie-trigger svg{
  width:17px;
  height:17px;
}
html[data-theme="dark"] .cookie-consent-panel{
  box-shadow:0 26px 48px rgba(0,0,0,.34);
}
html[data-theme="dark"] .cookie-consent-setting-card{
  background:color-mix(in srgb, var(--panel-alt) 86%, black 14%);
}
.footer-feedback-strip{
  border-radius:25px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.footer-feedback-strip p{
  margin:0;
  color:var(--ink-1);
  font-size:14px;
  line-height:1.65;
}
.footer-feedback-strip kbd{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:30px;
  padding:5px 8px;
  border:1px solid color-mix(in srgb, var(--hairline) 82%, transparent);
  border-radius:9px;
  background:color-mix(in srgb, var(--panel) 92%, white 8%);
  color:var(--ink-0);
  font:600 12px var(--font-mono);
  box-shadow:0 8px 18px rgba(28,58,92,.08);
}
.footer-report-trigger{
  display:inline-flex;
  margin:1px;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:1px 10px;
  border:1px solid color-mix(in srgb, var(--elektryka) 36%, var(--hairline));
  border-radius:999px;
  background:color-mix(in srgb, var(--panel) 92%, white 8%);
  color:var(--ink-0);
  font-family:var(--font-display);
  font-size:14px;
  font-weight:600;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.footer-report-trigger:hover{
  transform:translateY(-1px);
  border-color:var(--elektryka);
  box-shadow:0 14px 28px rgba(28,58,92,.12);
}
.footer-report-trigger:focus-visible{
  outline:2px solid color-mix(in srgb, var(--elektryka) 46%, white 54%);
  outline-offset:3px;
}
.page-feedback-modal{
  position:fixed;
  inset:0;
  z-index:2147483647;
  display:none;
}
.page-feedback-modal.is-open{
  display:block;
}
.page-feedback-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,16,28,.72);
  backdrop-filter:blur(10px);
}
.page-feedback-modal-dialog{
  position:absolute;
  left:50%;
  top:50%;
  width:min(760px, calc(100vw - 28px));
  max-height:calc(100vh - 28px);
  transform:translate(-50%, -50%);
  overflow:auto;
  border:1px solid rgba(148, 163, 184, .34);
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.985) 0%, rgba(248,250,252,.975) 100%);
  box-shadow:0 36px 90px rgba(15, 23, 42, .22);
  color:var(--ink-0);
}
.page-feedback-modal-shell{
  position:relative;
  padding:28px;
}
.page-feedback-modal-kicker{
  display:inline-flex;
  margin-bottom:12px;
  font:600 11px var(--font-mono);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--elektryka);
}
.page-feedback-modal-title{
  font-size:clamp(28px, 3vw, 38px);
  line-height:1.02;
  margin-bottom:12px;
  max-width:13ch;
}
.page-feedback-modal-lead{
  margin:0 0 20px;
  color:var(--ink-1);
  font-size:15px;
  line-height:1.7;
  max-width:58ch;
}
.page-feedback-modal-close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:3;
  width:38px;
  height:38px;
  border:1px solid color-mix(in srgb, var(--hairline) 84%, transparent);
  border-radius:12px;
  color:var(--ink-2);
  transition:background .16s ease, color .16s ease, transform .16s ease;
}
.page-feedback-modal-close:hover{
  background:color-mix(in srgb, var(--panel) 90%, white 10%);
  color:var(--ink-0);
  transform:translateY(-1px);
}
.page-feedback-modal-close:focus-visible{
  outline:2px solid color-mix(in srgb, var(--elektryka) 46%, white 54%);
  outline-offset:3px;
}
.page-feedback-alert{
  margin-bottom:18px;
  padding:15px 16px;
  border-radius:16px;
  border:1px solid transparent;
  font-size:14px;
  line-height:1.6;
}
.page-feedback-alert.is-error{
  border-color:rgba(181,68,54,.22);
  background:rgba(181,68,54,.10);
  color:#8b2f22;
}
.page-feedback-alert.is-success{
  border-color:rgba(57,132,91,.22);
  background:rgba(57,132,91,.10);
  color:#1f6b43;
}
.page-feedback-form{
  padding:10px 0 0;
  border:0;
  border-radius:0;
  background:transparent;
}
.page-feedback-context-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:14px;
  margin-bottom:18px;
}
.page-feedback-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:18px;
  border:1px solid color-mix(in srgb, var(--hairline) 86%, transparent);
  border-radius:18px;
  background:color-mix(in srgb, var(--panel) 92%, white 8%);
  min-width:0;
}
.page-feedback-label{
  font:600 11px var(--font-mono);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink-2);
}
.page-feedback-selection-preview{
  margin:0;
  padding-left:16px;
  border-left:3px solid color-mix(in srgb, var(--elektryka) 52%, white 48%);
  color:var(--ink-0);
  font-size:15px;
  line-height:1.7;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.page-feedback-page-title-preview{
  font-size:16px;
  line-height:1.35;
}
.page-feedback-page-url-preview{
  color:var(--ink-2);
  font-size:13px;
  line-height:1.6;
  word-break:break-word;
}
.page-feedback-field{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.page-feedback-field span{
  font-family:var(--font-display);
  font-size:15px;
  font-weight:600;
  color:var(--ink-0);
}
.page-feedback-field textarea{
  width:100%;
  min-height:150px;
  padding:16px 18px;
  border:1px solid var(--hairline);
  border-radius:18px;
  background:color-mix(in srgb, var(--panel) 96%, white 4%);
  color:var(--ink-0);
  font:400 15px/1.7 var(--font-body);
  resize:vertical;
}
.page-feedback-field textarea:focus-visible{
  outline:2px solid color-mix(in srgb, var(--elektryka) 46%, white 54%);
  outline-offset:2px;
  border-color:color-mix(in srgb, var(--elektryka) 30%, var(--hairline));
}
.page-feedback-actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:20px;
  flex-wrap:wrap;
}
.page-feedback-actions .btn[disabled]{
  opacity:.76;
  cursor:wait;
}
.page-feedback-hint{
  color:var(--ink-2);
  font-size:13px;
}
body.page-feedback-modal-open{
  overflow:hidden;
}
html[data-theme="dark"] .footer-feedback-strip,
html[data-theme="dark"] .page-feedback-card,
html[data-theme="dark"] .page-feedback-field textarea,
html[data-theme="dark"] .page-feedback-modal-close:hover{
  background:color-mix(in srgb, var(--panel) 92%, black 8%);
}
html[data-theme="dark"] .page-feedback-alert.is-error{
  color:#ffb0a4;
}
html[data-theme="dark"] .page-feedback-alert.is-success{
  color:#9fe0b8;
}
html[data-theme="dark"] .page-feedback-modal-dialog{
  border-color:rgba(71, 85, 105, .62);
  background:linear-gradient(180deg, rgba(15,23,42,.985) 0%, rgba(17,24,39,.975) 100%);
  box-shadow:0 36px 96px rgba(0,0,0,.58);
}
html[data-theme="dark"] .footer-feedback-strip kbd{
  box-shadow:none;
}
html[data-theme="dark"] .cookie-consent-switch-ui::after{
  background:color-mix(in srgb, white 92%, var(--panel) 8%);
}
.scroll-top{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:40;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:51px;
  height:51px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:var(--ink-0);
  opacity:0;
  transform:translateY(14px) scale(.92);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, filter .18s ease;
}
.scroll-top.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
.scroll-top:hover{
  filter:drop-shadow(0 8px 16px rgba(28,58,92,.28));
}
.scroll-top:focus-visible{
  outline:2px solid color-mix(in srgb, var(--ink-1) 55%, white 45%);
  outline-offset:3px;
}
.scroll-top-icon{
  width:100%;
  height:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--ink-0);
  flex:0 0 auto;
}
.scroll-top-icon svg{
  width:21px;
  height:21px;
  overflow:visible;
}
html[data-theme="dark"] .scroll-top:hover{
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.42));
}
html[data-theme="dark"] .scroll-top-icon{
  color:#fff;
}

@media (max-width:1120px){
  .nav-links{gap:18px;font-size:13.5px}
  .nav-right{gap:10px}
  .nav-actions .btn,.theme-toggle{padding:11px 12px}
  .mega-menu{left:-80px;width:min(920px, calc(100vw - 48px))}
}
@media (max-width:980px){
  .service-hero-grid,.service-result-grid,.service-audience-list,.service-feature-grid,.service-tools-grid,.not-found-grid,.legal-cookie-table,.contact-grid,.contact-columns,.contact-meta-list{grid-template-columns:1fr}
  .header-status-strip{display:none !important}
  .header-status-show{display:none !important}
  .header-status-mobile-trigger{display:inline-flex}
  .header-status-modal{position:fixed;inset:0;z-index:2147483647;display:none}
  .header-status-modal.is-open{display:block}
  .header-status-modal-backdrop{position:absolute;inset:0;background:#000;opacity:.82;backdrop-filter:none}
  .header-status-modal-dialog{position:absolute;left:50%;top:50%;width:calc(100vw - 28px);max-width:420px;transform:translate(-50%,-50%);border:1px solid color-mix(in srgb, var(--elektryka) 24%, var(--hairline));border-radius:20px;background-color:var(--panel);background-image:linear-gradient(180deg, color-mix(in srgb, var(--panel) 96%, white 4%), var(--panel-alt));box-shadow:0 28px 54px rgba(0,0,0,.42);padding:18px 18px 16px;color:var(--ink-0)}
  .header-status-modal-close{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-2)}
  .header-status-modal-body{display:flex;flex-direction:column;gap:0;padding-top:12px}
  .header-status-modal-body .header-status-item{padding:11px 0}
  .header-status-modal-body .header-status-item:not(:first-child){padding-left:0;border-left:0;border-top:1px solid color-mix(in srgb, var(--hairline) 82%, transparent)}
  .header-status-modal-body .header-status-item strong{font-size:13px}
  .not-found-copy{padding:30px 26px 26px}
  .not-found-visual{min-height:340px}
  .cookie-consent-panel{grid-template-columns:1fr;align-items:flex-start}
  .cookie-consent-actions{min-width:0;width:100%}
  .service-hero-copy{padding:28px 24px 24px}
  .service-photo-slot{min-height:320px}
  .contact-card{padding:26px 22px 24px}
  .contact-photo-placeholder{min-height:320px}
  .contact-block{padding:20px 18px}
  .nav{padding:16px 18px 16px 12px}
  .logo{margin-left:-6px}
  .nav-right{gap:12px}
  .nav-links,.nav-contact,.nav-actions{display:none}
  .mobile-visit-btn{display:inline-flex}
  .burger{display:block}
  .hero-grid{grid-template-columns:1fr}
  .trace-wrap{max-width:360px;margin:0 auto}
  .trust-inner{grid-template-columns:repeat(2,1fr)}
  .trust-item:nth-child(2){border-right:none}
  .pillars{grid-template-columns:1fr}
  .services-grid{grid-template-columns:1fr 1fr}
  .why{grid-template-columns:1fr}
  .process{grid-template-columns:1fr 1fr;row-gap:32px}
  .process::before{display:none}
  .cta-banner{margin-top:30px;margin-bottom:30px;flex-direction:column;align-items:flex-start}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .footer-bottom br{display:block}
  .legal-hero{padding:34px 0 10px}
  .legal-lead{font-size:14.5px;line-height:1.68}
  .legal-card{padding:24px 20px 22px;border-radius:22px}
  .legal-content h2{font-size:24px;margin:26px 0 12px}
  .legal-content h3{font-size:18px}
  .legal-content p,.legal-content li{font-size:14px;line-height:1.68}
  .not-found-hero{padding:34px 0 24px}
  .not-found-actions{flex-direction:column;align-items:stretch}
  .not-found-copy h1{font-size:42px}
  .not-found-lead{font-size:14.5px;line-height:1.68}
  .not-found-visual{min-height:280px;padding:20px;border-radius:24px}
  .scroll-top{right:14px;bottom:14px;width:46px;height:46px}
  .cookie-consent{padding:14px 0 16px}
  .cookie-consent-inner.wrap{padding:0 14px}
  .cookie-consent-panel{padding:18px 18px 20px;border-radius:20px;gap:18px}
  .cookie-consent-copy h3{font-size:23px}
  .cookie-consent-copy p{font-size:13.5px;line-height:1.62}
  .cookie-consent-actions .btn{width:100%}
  .cookie-consent-button-row{flex-direction:column}
  .cookie-consent-setting-card{grid-template-columns:1fr}
  .cookie-consent-switch{justify-content:space-between;width:100%}
  .footer-legal-links{gap:8px}
  .footer-feedback-strip{padding:0}
  .footer-feedback-strip p{padding:16px 16px 0}
  .footer-report-trigger{width:calc(100% - 2px);margin:0 1px 1px}
  .page-feedback-modal-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}
  .page-feedback-modal-shell{padding:22px 18px 18px}
  .page-feedback-modal-title{max-width:none;font-size:30px}
  .page-feedback-modal-lead,.page-feedback-selection-preview,.page-feedback-field textarea{font-size:14px;line-height:1.68}
  .page-feedback-context-grid{grid-template-columns:1fr}
  .page-feedback-actions{flex-direction:column;align-items:stretch}
  .page-feedback-actions .btn{width:100%}

  .service-hero{padding-top:32px}
  .service-hero-copy h1{max-width:none}
  .service-hero-actions,.service-hero-notes{flex-direction:column;align-items:stretch}
  .service-price-table{min-width:0}
  .service-category-grid{grid-template-columns:1fr}
  .service-subcategory-head{flex-direction:column;align-items:flex-start}
  .service-price-table th,.service-price-table td{padding:14px 12px;font-size:13.5px}
  .services-grid{grid-template-columns:1fr}
  .process{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .trust-item{border-right:none !important;border-bottom:1px solid var(--hairline)}
}

.service-availability-wrap{margin-top:18px;margin-bottom:18px}
.service-availability-strip{display:flex;gap:18px;align-items:flex-start;padding:20px 22px;border-radius:22px;border:1px solid var(--hairline);box-shadow:var(--shadow);background:var(--panel)}
.service-availability-strip.is-unavailable{border-color:color-mix(in srgb, #a63b2d 34%, var(--hairline));background:var(--panel)}
.service-availability-strip.is-limited{border-color:color-mix(in srgb, #8a6116 32%, var(--hairline));background:var(--panel)}
.service-availability-pill{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:1px solid currentColor;color:var(--ink-1);background:color-mix(in srgb, var(--panel-alt) 82%, white 18%)}
.service-availability-strip.is-unavailable .service-availability-pill{color:#a63b2d;background:color-mix(in srgb, #a63b2d 10%, var(--panel) 90%)}
.service-availability-strip.is-limited .service-availability-pill{color:#8a6116;background:color-mix(in srgb, #8a6116 12%, var(--panel) 88%)}
.service-availability-copy{display:flex;flex-direction:column;gap:6px}
.service-availability-copy strong{font-size:16px;color:var(--ink-0)}
.service-availability-copy p{margin:0;font-size:14.5px;line-height:1.65;color:var(--ink-1)}
.service-stage-public-section{margin-top:56px}
.service-stage-public-list{display:grid;gap:14px}
.service-stage-public-item{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:18px;padding:18px 20px;border:1px solid var(--hairline);border-radius:18px;background:var(--panel);box-shadow:var(--shadow)}
.service-stage-public-title{display:flex;gap:14px;align-items:flex-start}
.service-stage-public-no{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--bg-soft);color:var(--ink-0);font-family:var(--font-mono);font-size:12px;letter-spacing:.08em}
.service-stage-public-title strong{display:block;font-size:17px;line-height:1.35;color:var(--ink-0)}
.service-stage-public-title small{display:block;margin-top:4px;font-size:12.5px;color:var(--ink-2);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
.service-stage-public-description p{margin:0;color:var(--ink-1);line-height:1.75}
.service-price-factors{margin-top:18px;padding:16px 18px;border:1px solid var(--hairline);border-radius:18px;background:var(--panel)}
.service-price-factors-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;text-align:left}
.service-price-factors-toggle strong{font-size:15px;color:var(--ink-0)}
.service-price-factors-toggle span{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--elektryka)}
.service-price-factors-toggle::after{content:"+";flex:0 0 auto;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--hairline);color:var(--ink-0);font-size:18px;line-height:1;transition:transform .18s ease, background .18s ease}
.service-price-factors.is-open .service-price-factors-toggle::after{content:"−"}
.service-price-factors-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease, margin-top .22s ease;margin-top:0}
.service-price-factors.is-open .service-price-factors-panel{grid-template-rows:1fr;margin-top:14px}
.service-price-factors-panel-inner{overflow:hidden}
.service-price-factors-note{margin:0 0 12px;color:var(--ink-1);line-height:1.65}
.service-price-factors-table{width:100%;border-collapse:collapse}
.service-price-factors-table th,.service-price-factors-table td{padding:12px 14px;border-bottom:1px solid var(--hairline);text-align:left;vertical-align:top}
.service-price-factors-table th{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);background:var(--bg-soft)}
.service-price-factors-table tr:last-child td{border-bottom:none}
@media (max-width:560px){
  .service-availability-wrap{margin-top:16px;margin-bottom:16px}
  .service-availability-strip{flex-direction:column;padding:16px 16px 15px}
  .service-availability-copy strong{font-size:15px}
  .service-availability-copy p{font-size:13.5px}
  .service-stage-public-item{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}
  .service-stage-public-title strong{font-size:15px}
  .service-stage-public-description p{font-size:14px;line-height:1.7}
  .service-price-factors{padding:14px}
  .service-price-factors-table th,.service-price-factors-table td{padding:10px 10px}
}


/* Admin panel */
.admin-body {
    background: linear-gradient(180deg, #f3f5f7 0%, #eef2f6 100%);
}

.admin-body.admin-body-auth {
    background:
        linear-gradient(rgba(243, 245, 247, 0.72), rgba(238, 242, 246, 0.82)),
        url("/images/bg2_small.png") center / cover fixed no-repeat;
}

.admin-app {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    transition: grid-template-columns 0.18s ease;
}

.admin-app.is-auth {
    grid-template-columns: minmax(0, 1fr);
}

.admin-body-auth .admin-main {
    min-height: 100vh;
}

.admin-body-auth .admin-topbar {
    max-width: 520px;
    margin: 0 auto;
}

.admin-body-auth .admin-auth-card {
    background: rgba(248, 250, 252, 0.9);
    backdrop-filter: blur(4px);
}

.admin-sidebar {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 22px;
    background: #0f1720;
    color: #f8fafc;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    transition: padding 0.18s ease, width 0.18s ease, transform 0.18s ease, opacity 0.18s ease;
    transform: translateX(0);
}

.admin-brand {
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.admin-brand-mobile {
    display: none;
}

.admin-sidebar-backdrop,
.admin-menu-toggle {
    display: none;
}

.admin-desktop-menu-toggle {
    position: fixed;
    top: 22px;
    left: 258px;
    z-index: 140;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(15, 23, 32, 0.14);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.92);
    color: #0f1720;
    box-shadow: 0 12px 28px rgba(15, 23, 32, 0.12);
    transition: left 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.admin-desktop-menu-toggle:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 32px rgba(15, 23, 32, 0.18);
}

.admin-topbar-row {
    display: none;
}
.admin-userbox {
    margin-top: 24px;
    padding: 16px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.08);
    display: grid;
    gap: 6px;
}

.admin-userbox span,
.admin-muted,
.admin-readonly-grid span,
.admin-service-link small,
.admin-eyebrow {
    color: #6b7280;
}

.admin-sidebar .admin-userbox span {
    color: rgba(248, 250, 252, 0.72);
}

.admin-nav {
    margin-top: 24px;
    display: grid;
    gap: 2px;
}

.admin-nav-link,
.admin-logout,
.admin-action-link,
.admin-service-link {
    text-decoration: none;
}

.admin-nav-link {
    padding: 6px 10px;
    border-radius: 14px;
    color: rgba(248, 250, 252, 0.86);
    background: transparent;
    transition: background 0.18s ease, color 0.18s ease;
}

.admin-nav-link:hover,
.admin-nav-link.is-active {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
}

.admin-nav-group {
    display: grid;
    gap: 2px;
}

.admin-nav-group summary {
    list-style: none;
}

.admin-nav-group summary::-webkit-details-marker {
    display: none;
}

.admin-nav-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

.admin-nav-summary::after {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.18s ease;
    flex: 0 0 auto;
    margin-right: 2px;
}

.admin-nav-group[open] .admin-nav-summary::after {
    transform: rotate(225deg);
}

.admin-nav-children {
    display: grid;
    gap: 2px;
    margin-left: 12px;
    padding-left: 10px;
    border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.admin-nav-child {
    font-size: 0.95rem;
}

.admin-logout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.admin-main {
    padding: 30px;
}

.admin-menu-toggle {
    position: relative;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(15, 23, 32, 0.14);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.9);
    color: #0f1720;
}

.admin-menu-toggle span,
.admin-desktop-menu-toggle span {
    position: absolute;
    left: 11px;
    width: 18px;
    height: 2px;
    background: currentColor;
    border-radius: 999px;
    transition: transform 0.18s ease, opacity 0.18s ease, top 0.18s ease;
}

.admin-menu-toggle span:nth-child(1),
.admin-desktop-menu-toggle span:nth-child(1) {
    top: 13px;
}

.admin-menu-toggle span:nth-child(2),
.admin-desktop-menu-toggle span:nth-child(2) {
    top: 20px;
}

.admin-menu-toggle span:nth-child(3),
.admin-desktop-menu-toggle span:nth-child(3) {
    top: 27px;
}

.admin-menu-open .admin-menu-toggle span:nth-child(1),
.admin-desktop-sidebar-collapsed .admin-desktop-menu-toggle span:nth-child(1) {
    top: 20px;
    transform: rotate(45deg);
}

.admin-menu-open .admin-menu-toggle span:nth-child(2),
.admin-desktop-sidebar-collapsed .admin-desktop-menu-toggle span:nth-child(2) {
    opacity: 0;
}

.admin-menu-open .admin-menu-toggle span:nth-child(3),
.admin-desktop-sidebar-collapsed .admin-desktop-menu-toggle span:nth-child(3) {
    top: 20px;
    transform: rotate(-45deg);
}
.admin-topbar h1,
.admin-card h2,
.admin-card h3 {
    margin: 0;
}

.admin-eyebrow {
    margin: 0 0 6px;
    font-size: 0.84rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.admin-topbar-copy {
    max-width: 780px;
}

.admin-topbar-title {
    font-size: clamp(1.3rem, 2.2vw, 1.8rem);
    line-height: 1.2;
}

.admin-topbar-description {
    margin: 8px 0 0;
    max-width: 720px;
    color: #4b5563;
    font-size: 0.98rem;
    line-height: 1.55;
}


.admin-grid {
    display: grid;
    gap: 22px;
}

.admin-grid-cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 20px;
}

.admin-grid-main {
    grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
    margin-top: 22px;
}
.admin-grid-main-halves {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}


.admin-grid-editor {
    /* grid-template-columns: 320px minmax(0, 1fr); */
    margin-top: 22px;
}

.admin-services-sidebar{
    position: sticky;
    top: 20px;
    align-self: start;
    min-height: calc(100vh - 140px);
    background: linear-gradient(180deg, color-mix(in srgb, #dbeafe 42%, rgba(255,255,255,0.96) 58%), rgba(255,255,255,0.92));
    border-color: rgba(59, 130, 246, 0.18);
    box-shadow: 0 24px 70px rgba(37, 99, 235, 0.08);
}

.admin-services-sidebar .admin-service-list{
    margin-top: 18px;
}

.admin-services-sidebar .admin-service-link{
    background: rgba(255,255,255,0.82);
}

.admin-services-sidebar .admin-service-link.is-active{
    background: linear-gradient(180deg, #e0f2fe, #dbeafe);
    border-color: #93c5fd;
}

.admin-mobile-editor-sidebar-toggle{display:none;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border-radius:16px;border:1px solid rgba(15,23,32,.1);background:#fff;color:#0f1720;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,32,.08)}
.admin-mobile-editor-sidebar-toggle small{display:block;margin-top:4px;font-size:12px;font-weight:500;color:#64748b;text-align:left}
.admin-mobile-editor-sidebar-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#eff6ff;color:#2563eb;font-size:18px;line-height:1;flex:0 0 auto;transition:transform .18s ease}
.admin-mobile-editor-sidebar-body{display:grid;gap:14px}
.admin-mobile-editor-sidebar.is-collapsed .admin-mobile-editor-sidebar-body{display:none}
.admin-mobile-editor-sidebar.is-collapsed .admin-mobile-editor-sidebar-toggle-icon{transform:rotate(0deg)}
.admin-mobile-editor-sidebar:not(.is-collapsed) .admin-mobile-editor-sidebar-toggle-icon{transform:rotate(45deg)}

.admin-grid-editor.admin-grid-editor-collapsible{position:relative}
.admin-editor-sidebar-handle{position:absolute;top:18px;right:-36px;width:36px;height:92px;border:0;border-radius:0 18px 18px 0;background:#0f1720;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 16px 30px rgba(15,23,32,.22);z-index:120;padding:0}
.admin-editor-sidebar-handle span{display:block;font-size:20px;line-height:1;transform:none}
.admin-grid-editor.admin-grid-editor-collapsible.is-sidebar-collapsed{grid-template-columns:36px minmax(0,1fr)}
.admin-grid-editor.admin-grid-editor-collapsible.is-sidebar-collapsed > .admin-list-card{width:36px;min-width:36px;padding:0;overflow:visible;border-radius:0 18px 18px 0;min-height:140px}
.admin-grid-editor.admin-grid-editor-collapsible.is-sidebar-collapsed > .admin-list-card > :not(.admin-editor-sidebar-handle){opacity:0;pointer-events:none;visibility:hidden}
.admin-grid-editor.admin-grid-editor-collapsible:not(.is-sidebar-collapsed) > .admin-list-card{overflow:visible}

.admin-card {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(15, 23, 32, 0.08);
    border-radius: 24px;
    padding: 24px;
    box-shadow: 0 20px 60px rgba(15, 23, 32, 0.08);
}

.admin-card-fullwidth {
    grid-column: 1 / -1;
}

.stat-card {
    display: grid;
    gap: 10px;
}

.stat-card strong {
    font-family: "Space Grotesk", sans-serif;
    font-size: 2rem;
    line-height: 1;
    color: #111827;
}

.admin-flash {
    margin-top: 20px;
    padding: 14px 16px;
    border-radius: 16px;
    font-weight: 600;
}

.admin-flash-success {
    background: #d9fbe6;
    color: #166534;
}

.admin-flash-error {
    background: #fde2e2;
    color: #991b1b;
}

.admin-action-list,
.admin-form-stack,
.admin-service-list,
.admin-price-list {
    display: grid;
    gap: 14px;
    margin-top: 20px;
}

.admin-action-link,
.admin-service-link {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 32, 0.08);
    background: #f8fafc;
    color: #0f1720;
}

.admin-service-link.is-active {
    background: #e0f2fe;
    border-color: #7dd3fc;
}

.admin-table-wrap {
    overflow-x: auto;
    margin-top: 16px;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
}

.admin-table th,
.admin-table td {
    padding: 12px 10px;
    vertical-align: top;
    border-bottom: 1px solid rgba(15, 23, 32, 0.08);
    text-align: left;
}

.admin-table th {
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.admin-form-grid {
    display: grid;
    gap: 16px;
}

.admin-form-grid.two-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-form-grid.three-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-form-grid.four-columns {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-form-stack label,
.admin-form-grid label {
    display: grid;
    gap: 8px;
    font-weight: 600;
    color: #111827;
}

.admin-form-stack input,
.admin-form-stack textarea,
.admin-form-stack select,
.admin-form-grid input,
.admin-form-grid textarea,
.admin-form-grid select {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid rgba(15, 23, 32, 0.14);
    border-radius: 14px;
    background: #ffffff;
    color: #111827;
    font: inherit;
}

.admin-form-stack textarea,
.admin-form-grid textarea {
    resize: vertical;
}

.admin-check {
    display: flex !important;
    align-items: center;
    gap: 10px;
    font-weight: 500 !important;
}

.admin-check input {
    width: 18px;
    height: 18px;
    margin: 0;
}

.admin-service-status-box {
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 32, 0.12);
    background: linear-gradient(180deg, rgba(226, 232, 240, 0.92), rgba(203, 213, 225, 0.9));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.admin-service-status-box .admin-form-grid {
    gap: 12px;
}

.admin-service-status-box .admin-check {
    min-height: 48px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.7);
}

.inline-check {
    align-self: end;
    min-height: 48px;
}

.admin-form-actions {
    display: flex;
    justify-content: flex-start;
    margin-top: 6px;
}

.admin-grid-status-toggles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-dashboard-section {
    margin-top: 22px;
}

.admin-status-toggle-card,
.admin-toggle-field {
    display: grid;
    gap: 14px;
}

.admin-status-toggle-card {
    background: rgb(217 251 230);
    border-color: rgba(22, 101, 52, 0.12);
}

.admin-toggle-field > span {
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6b7280;
}

.admin-inline-toggle-form {
    margin: 0;
}

.admin-switch-control {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    cursor: pointer;
    user-select: none;
}

.admin-switch-control input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.admin-switch-slider {
    position: relative;
    width: 56px;
    height: 32px;
    border-radius: 999px;
    background: #cbd5e1;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 32, 0.08);
    transition: background 0.18s ease, box-shadow 0.18s ease;
    flex: 0 0 auto;
}

.admin-switch-slider::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 4px 10px rgba(15, 23, 32, 0.18);
    transition: transform 0.18s ease;
}

.admin-switch-copy {
    display: grid;
    gap: 2px;
}

.admin-switch-copy strong {
    color: #111827;
}

.admin-switch-copy small {
    color: #6b7280;
}

.admin-switch-control input:checked + .admin-switch-slider {
    background: #0f1720;
}

.admin-switch-control input:checked + .admin-switch-slider::after {
    transform: translateX(24px);
}

.admin-switch-control input:focus-visible + .admin-switch-slider {
    outline: 3px solid rgba(242, 153, 74, 0.35);
    outline-offset: 3px;
}

.admin-table-meta {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:16px;
}

.admin-table-logs th a {
    color: inherit;
}

.admin-table-logs code {
    font-size: 12px;
}

.admin-table-logs details summary {
    cursor: pointer;
    color: #0f172a;
}

.admin-table-logs pre {
    white-space: pre-wrap;
    word-break: break-word;
    font-size: 12px;
    margin-top: 8px;
}

@media (max-width: 720px) {
    .admin-table-logs thead {
        display: none;
    }

    .admin-table-logs,
    .admin-table-logs tbody {
        display: block;
    }

    .admin-table-logs tr {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 12px;
        padding: 14px 0;
        border-bottom: 1px solid rgba(15, 23, 32, 0.08);
    }

    .admin-table-logs td {
        display: grid;
        gap: 4px;
        padding: 0;
        border: 0;
        min-width: 0;
        word-break: break-word;
    }

    .admin-table-logs td::before {
        content: attr(data-label);
        font-size: 11px;
        line-height: 1.2;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #64748b;
        font-weight: 600;
    }

    .admin-table-logs td:nth-child(4),
    .admin-table-logs td:nth-child(6) {
        grid-column: 1 / -1;
    }
}

.admin-pagination {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:20px;
}

.admin-page-link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:40px;
    height:40px;
    padding:0 12px;
    border-radius:12px;
    border:1px solid rgba(15,23,32,.12);
    background:#fff;
}

.admin-page-link.is-active {
    background:#0f1720;
    border-color:#0f1720;
    color:#fff;
}

.admin-readonly-grid strong a {
    color: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
}

.admin-readonly-grid strong a:hover {
    color: #0369a1;
}


.admin-readonly-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    padding: 16px;
    border-radius: 18px;
    background: #f8fafc;
}

.admin-readonly-grid div {
    display: grid;
    gap: 6px;
}

.admin-readonly-grid strong {
    color: #111827;
    word-break: break-word;
}

.admin-price-card,
.admin-note-box,
.admin-auth-card {
    padding: 18px;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 32, 0.08);
}

.admin-note-box p {
    margin: 8px 0 0;
}

.admin-auth-wrap {
    min-height: calc(100vh - 140px);
    display: grid;
    place-items: center;
    padding: 20px;
}

.inventory-tools-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.inventory-action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid rgba(15, 23, 32, 0.14);
    border-radius: 12px;
    background: #ffffff;
    color: #0f172a;
    line-height: 1;
    cursor: pointer;
}

.inventory-action-icon img {
    width: 18px;
    height: 18px;
    display: block;
}

.inventory-action-icon:hover,
.inventory-action-icon:focus-visible {
    background: #f8fafc;
    border-color: rgba(15, 23, 32, 0.24);
}

.inventory-action-icon-danger {
    color: #b91c1c;
    border-color: rgba(220, 38, 38, 0.24);
    background: #fff5f5;
}

.inventory-action-icon-danger:hover,
.inventory-action-icon-danger:focus-visible {
    background: #fee2e2;
    border-color: rgba(220, 38, 38, 0.42);
}

.inventory-quantity-cell {
    display: grid;
    gap: 8px;
}

.inventory-quantity-actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.inventory-quantity-btn {
    min-height: 30px;
    padding: 6px 10px;
    border-radius: 10px;
    font-size: 12px;
}

.inventory-modal[hidden] {
    display: none;
}

.inventory-modal {
    position: fixed;
    inset: 0;
    z-index: 1300;
}

.inventory-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 32, 0.56);
}

.inventory-modal-dialog {
    position: relative;
    max-width: 560px;
    margin: 8vh auto 0;
    padding: 28px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 32, 0.08);
    box-shadow: 0 28px 80px rgba(15, 23, 32, 0.26);
}

.inventory-modal-dialog-wide {
    max-width: 920px;
}

.inventory-modal-close {
    position: absolute;
    top: 12px;
    right: 14px;
    border: 0;
    background: transparent;
    font-size: 28px;
    line-height: 1;
    color: #475569;
    cursor: pointer;
}

.inventory-modal-kicker {
    display: inline-block;
    margin-bottom: 10px;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.inventory-modal h3 {
    margin: 0 0 14px;
    color: #0f172a;
    font-size: 1.55rem;
    line-height: 1.15;
}

.inventory-modal-text {
    margin: 0;
    color: #475569;
    line-height: 1.6;
}

.inventory-modal-form {
    margin-top: 16px;
}

.inventory-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 18px;
}

.inventory-delete-btn {
    border-color: #dc2626;
    background: #dc2626;
    color: #ffffff;
}

.inventory-delete-btn:hover,
.inventory-delete-btn:focus-visible {
    border-color: #b91c1c;
    background: #b91c1c;
    color: #ffffff;
}

body.inventory-modal-open {
    overflow: hidden;
}

.admin-auth-card {
    width: min(100%, 520px);
}

.admin-details summary {
    cursor: pointer;
    color: #0f172a;
    font-weight: 600;
}

.compact-form,
.compact-delete-form {
    margin-top: 14px;
}

.compact-delete-form {
    display: flex;
}

@media (max-width: 1180px) {
    .admin-grid-cards,
    .admin-grid-main,
    .admin-grid-editor,
    .admin-readonly-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 921px) {
    .admin-body.admin-desktop-sidebar-collapsed .admin-app {
        grid-template-columns: 0 minmax(0, 1fr);
    }

    .admin-body.admin-desktop-sidebar-collapsed .admin-sidebar,
    html.admin-desktop-sidebar-collapsed .admin-sidebar {
        transform: translateX(-100%);
        opacity: 0;
        pointer-events: none;
        border-right-color: transparent;
    }

    .admin-body.admin-desktop-sidebar-collapsed .admin-desktop-menu-toggle,
    html.admin-desktop-sidebar-collapsed .admin-desktop-menu-toggle {
        left: 12px;
    }
}

@media (max-width: 920px) {
    .admin-app {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-desktop-menu-toggle {
        display: none;
    }

    .admin-brand-mobile,
    .admin-menu-toggle,
    .admin-topbar-row {
        display: flex;
    }

    .admin-topbar-row {
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        margin: -20px -20px 16px;
        padding: 14px 16px;
        background: #0f1720;
        color: #ffffff;
        border-radius: 0 0 18px 18px;
        box-shadow: 0 16px 30px rgba(15, 23, 32, 0.18);
    }

    .admin-brand-mobile {
        align-items: center;
        font-size: 1.05rem;
        color: #ffffff;
    }

    .admin-sidebar-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(15, 23, 32, 0.46);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.18s ease;
        z-index: 120;
    }

    .admin-menu-open .admin-sidebar-backdrop {
        display: block;
        opacity: 1;
        pointer-events: auto;
    }

    .admin-sidebar {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: min(320px, calc(100vw - 48px));
        border-right: 1px solid rgba(255, 255, 255, 0.08);
        border-bottom: 0;
        transform: translateX(-100%);
        transition: transform 0.18s ease;
        z-index: 130;
        overflow-y: auto;
        padding-top: 22px;
    }

    .admin-menu-open .admin-sidebar {
        transform: translateX(0);
    }

    .admin-brand-sidebar {
        margin-right: 44px;
    }

    .admin-main {
        padding: 20px;
    }

    .admin-menu-toggle {
        border-color: rgba(255, 255, 255, 0.18);
        background: transparent;
        color: #ffffff;
    }
}


@media (max-width: 720px) {
    .admin-grid-cards,
    .admin-grid-main,
    .admin-grid-editor,
    .admin-grid-status-toggles,
    .admin-form-grid.two-columns,
    .admin-form-grid.three-columns,
    .admin-form-grid.four-columns,
    .admin-readonly-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-grid-editor.admin-grid-editor-collapsible {
        display: block;
    }

    .admin-grid-editor.admin-grid-editor-collapsible > .admin-list-card {
        position: fixed;
        left: 0;
        top: 88px;
        bottom: 14px;
        width: min(340px, calc(100vw - 52px));
        max-width: calc(100vw - 52px);
        margin: 0;
        z-index: 180;
        overflow: auto;
        transition: transform .18s ease;
    }

    .admin-grid-editor.admin-grid-editor-collapsible.is-sidebar-collapsed > .admin-list-card {
        width: min(340px, calc(100vw - 52px));
        max-width: calc(100vw - 52px);
        min-height: 140px;
        padding: 14px;
        border-radius: 0 18px 18px 0;
        transform: translateX(-100%);
    }

    .admin-grid-editor.admin-grid-editor-collapsible.is-sidebar-collapsed > .admin-list-card > :not(.admin-editor-sidebar-handle) {
        opacity: 1;
        visibility: visible;
    }

    .admin-grid-editor.admin-grid-editor-collapsible:not(.is-sidebar-collapsed) > .admin-list-card {
        transform: translateX(0);
    }

    .admin-grid-editor.admin-grid-editor-collapsible > .admin-editor-card {
        position: relative;
        z-index: 1;
    }

    .admin-table-meta {
        align-items: start;
        flex-direction: column;
    }

    .admin-card {
        padding: 18px;
    }
}

.booking-page{
  padding-bottom:72px;
}
.booking-hero{
  position:relative;
  padding:24px 0 10px;
}
.booking-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 10% 18%, color-mix(in srgb, var(--elektryka) 12%, transparent), transparent 32%),
    radial-gradient(circle at 88% 14%, color-mix(in srgb, var(--iot) 12%, transparent), transparent 28%);
  pointer-events:none;
}
.booking-hero-grid{
  position:relative;
  z-index:1;
}
.booking-hero-copy{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  align-items:start;
  gap:8px;
}
.booking-lead{
  width:100%;
  max-width:none;
  margin:0;
  font-size:13px;
  line-height:1.5;
  color:var(--ink-1);
}
.booking-card,
.booking-map-panel{
  border:1px solid var(--hairline);
  border-radius:28px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 94%, white 6%), var(--panel-alt));
  box-shadow:var(--shadow);
}
.booking-step-strip{
  display:flex;
  gap:8px;
  flex-wrap:nowrap;
  justify-content:flex-start;
  margin-top:0;
}
.booking-step-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid var(--hairline);
  background:color-mix(in srgb, var(--panel) 88%, white 12%);
}
.booking-step-pill span{
  width:20px;
  height:20px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--bg-soft);
  color:var(--ink-2);
  font-family:var(--font-mono);
  font-size:10px;
}
.booking-step-pill strong{
  font-size:11px;
  color:var(--ink-1);
}
.booking-step-pill.is-active{
  border-color:color-mix(in srgb, var(--elektryka) 42%, var(--hairline));
  background:color-mix(in srgb, var(--elektryka-dim) 44%, var(--panel) 56%);
}
.booking-step-pill.is-active span{
  background:var(--elektryka);
  color:#1a1206;
}
.booking-step-pill.is-active strong{
  color:var(--ink-0);
}
.booking-shell-section{
  padding-top:8px;
}
.wrap-wide{
  max-width:min(1520px, calc(100vw - 48px));
}
.booking-shell{
  display:grid;
  grid-template-columns:minmax(320px,30%) minmax(0,70%);
  gap:24px;
  align-items:start;
}
.booking-sidebar{
  display:grid;
  gap:18px;
}
.booking-card{
  padding:24px;
}
.booking-card-head{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:16px;
}
.booking-card-head.compact{
  margin-bottom:14px;
}
.booking-card-head h2{
  font-size:26px;
}
.booking-card-head p,
.booking-card-copy{
  font-size:14.5px;
  line-height:1.72;
  color:var(--ink-1);
}
.booking-card-kicker,
.booking-selected-label,
.booking-map-kicker{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-2);
}
.booking-selected{
  margin-top:18px;
  padding:18px 18px 16px;
  border-radius:20px;
  border:1px solid color-mix(in srgb, var(--elektryka) 36%, var(--hairline));
  background:color-mix(in srgb, var(--elektryka-dim) 34%, var(--panel) 66%);
}
.booking-selected strong{
  display:block;
  margin:8px 0 6px;
  font-size:20px;
}
.booking-selected p{
  font-size:14px;
  line-height:1.65;
  color:var(--ink-1);
}
.booking-selected-inline{
  margin-top:0;
  margin-bottom:16px;
  background:color-mix(in srgb, var(--panel) 82%, var(--elektryka-dim) 18%);
}
.booking-selected-inline strong{
  font-size:18px;
}
.booking-link-button{
  margin-top:10px;
  padding:0;
  border:0;
  background:none;
  color:var(--elektryka);
  font-weight:600;
}
.booking-link-button:hover{
  text-decoration:underline;
}
.booking-woj-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.booking-woj-button{
  padding:12px 14px;
  border-radius:16px;
  border:1px solid var(--hairline);
  background:color-mix(in srgb, var(--panel) 92%, white 8%);
  color:var(--ink-1);
  text-align:left;
  line-height:1.35;
  text-transform:none;
  transition:border-color .18s ease, background .18s ease, transform .18s ease;
}
.booking-woj-button:hover{
  border-color:color-mix(in srgb, var(--iot) 36%, var(--hairline));
  background:color-mix(in srgb, var(--iot-dim) 38%, transparent);
  transform:translateY(-1px);
}
.booking-woj-button.is-active{
  border-color:color-mix(in srgb, var(--elektryka) 42%, var(--hairline));
  background:color-mix(in srgb, var(--elektryka-dim) 46%, var(--panel) 54%);
  color:var(--ink-0);
}
.booking-search{
  display:grid;
  gap:8px;
}
.booking-search span{
  font-size:12px;
  color:var(--ink-2);
}
.booking-search input{
  width:100%;
  padding:13px 14px;
  border:1px solid var(--hairline);
  border-radius:14px;
  background:var(--panel);
  color:var(--ink-0);
  font:inherit;
}
.booking-search input:focus{
  outline:3px solid rgba(242,153,74,.15);
  border-color:var(--elektryka);
}
.booking-search input:disabled{
  background:color-mix(in srgb, var(--bg-soft) 72%, transparent);
  color:var(--ink-2);
}
.booking-results-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:14px 0 12px;
}
.booking-results-meta span{
  font-size:12px;
  color:var(--ink-2);
}
.booking-card-cities,
.booking-card-next{
  grid-column:1 / -1;
}
.booking-city-list{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  max-height:420px;
  overflow:auto;
  padding-right:4px;
}
.booking-city-item{
  padding:14px 15px;
  border-radius:16px;
  border:1px solid var(--hairline);
  background:color-mix(in srgb, var(--panel) 94%, white 6%);
  text-align:left;
  transition:border-color .18s ease, background .18s ease, transform .18s ease;
}
.booking-city-item strong{
  display:block;
  font-size:15px;
  color:var(--ink-0);
  margin-bottom:4px;
}
.booking-city-item span{
  display:block;
  font-size:12.5px;
  color:var(--ink-2);
  line-height:1.5;
}
.booking-city-item:hover{
  border-color:color-mix(in srgb, var(--iot) 40%, var(--hairline));
  transform:translateY(-1px);
}
.booking-city-item.is-active{
  border-color:color-mix(in srgb, var(--elektryka) 42%, var(--hairline));
  background:color-mix(in srgb, var(--elektryka-dim) 44%, var(--panel) 56%);
}
.booking-empty-state{
  padding:18px;
  border-radius:16px;
  border:1px dashed color-mix(in srgb, var(--elektryka) 34%, var(--hairline));
  color:var(--ink-2);
  background:color-mix(in srgb, var(--bg-soft) 56%, transparent);
}
.booking-next-btn{
  width:100%;
}
.booking-next-btn:disabled{
  opacity:.48;
  cursor:not-allowed;
  transform:none;
}
.booking-city-alt{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--hairline);
}
.booking-missing-link{
  margin-top:0;
}
.booking-missing-link-next{
  display:block;
  margin:10px auto 0;
  text-align:center;
}
.booking-service-step,
.booking-step3{
  padding-top:18px;
}
.booking-service-card{
  padding:24px;
}
.booking-service-toolbar{
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);
  gap:18px;
  align-items:start;
  margin-bottom:18px;
}
.booking-stage-toolbar{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  align-items:start;
  margin-bottom:18px;
}
.booking-service-summary,
.booking-service-search-panel{
  padding:18px;
  border-radius:22px;
  border:1px solid var(--hairline);
  background:color-mix(in srgb, var(--panel) 94%, white 6%);
}
.booking-service-summary .booking-card-head,
.booking-service-search-panel .booking-card-head{
  margin-bottom:14px;
}
.booking-service-location{
  margin:0;
}
.booking-service-search{
  align-self:stretch;
}
.booking-service-shell{
  display:grid;
  grid-template-columns:minmax(260px,.34fr) minmax(0,.66fr);
  gap:20px;
  align-items:start;
}
.booking-service-groups{
  display:grid;
  gap:12px;
}
.booking-service-group{
  display:grid;
  gap:4px;
  padding:14px 16px;
  border-radius:20px;
  border:1px solid var(--hairline);
  background:color-mix(in srgb, var(--panel) 94%, white 6%);
}
.booking-service-filter{
  width:100%;
  padding:11px 13px;
  border-radius:14px;
  border:1px solid var(--hairline);
  background:color-mix(in srgb, var(--panel) 92%, white 8%);
  color:var(--ink-1);
  text-align:left;
  transition:border-color .18s ease, background .18s ease, transform .18s ease;
}
.booking-service-filter:hover{
  border-color:color-mix(in srgb, var(--iot) 36%, var(--hairline));
  transform:translateY(-1px);
}
.booking-service-filter.is-active{
  border-color:color-mix(in srgb, var(--elektryka) 42%, var(--hairline));
  background:color-mix(in srgb, var(--elektryka-dim) 42%, var(--panel) 58%);
  color:var(--ink-0);
}
.booking-service-filter-all,
.booking-service-filter-category{
  font-weight:700;
}
.booking-service-filter-subcategory{
  padding:4px 0 4px 10px;
  border:0;
  border-radius:0;
  background:transparent;
  font-size:13px;
  color:var(--ink-2);
}
.booking-service-filter-subcategory:hover{
  border:0;
  background:transparent;
  color:var(--ink-0);
  transform:none;
}
.booking-service-filter-subcategory.is-active{
  border:0;
  background:transparent;
  color:var(--elektryka);
}
.booking-service-results{
  min-width:0;
}
.booking-service-results-meta{
  margin:0 0 14px;
}
.booking-service-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}
.booking-service-item{
  padding:18px;
  border-radius:20px;
  border:1px solid var(--hairline);
  background:color-mix(in srgb, var(--panel) 94%, white 6%);
  text-align:left;
  transition:border-color .18s ease, background .18s ease, transform .18s ease;
}
.booking-service-item:hover{
  border-color:color-mix(in srgb, var(--iot) 38%, var(--hairline));
  transform:translateY(-1px);
}
.booking-service-item.is-active{
  border-color:color-mix(in srgb, var(--elektryka) 42%, var(--hairline));
  background:color-mix(in srgb, var(--elektryka-dim) 44%, var(--panel) 56%);
}
.booking-service-item.is-unavailable{
  border-style:dashed;
}
.booking-service-item-number{
  display:block;
  margin-bottom:6px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-2);
}
.booking-service-item-badge{
  display:inline-flex;
  align-items:center;
  margin-bottom:8px;
  padding:4px 8px;
  border-radius:999px;
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.booking-service-item-badge.is-unavailable{
  background:rgba(220, 87, 76, .12);
  color:#b33b30;
  border:1px solid rgba(220, 87, 76, .24);
}
.booking-service-item-meta{
  display:block;
  margin-bottom:8px;
  font-size:12px;
  color:var(--ink-2);
}
.booking-service-item strong{
  display:block;
  margin-bottom:8px;
  font-size:16px;
  color:var(--ink-0);
}
.booking-service-item p{
  margin:0;
  font-size:13px;
  line-height:1.6;
  color:var(--ink-1);
}
.booking-service-confirm{
  padding:18px;
  border-radius:20px;
  border:1px solid color-mix(in srgb, var(--iot) 34%, var(--hairline));
  background:color-mix(in srgb, var(--iot-dim) 32%, var(--panel) 68%);
}
.booking-service-confirm-number{
  display:block;
  margin-bottom:8px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-2);
}
.booking-service-confirm strong{
  display:block;
  margin-bottom:8px;
  font-size:24px;
  color:var(--ink-0);
}
.booking-service-confirm p{
  margin:0;
  font-size:14px;
  color:var(--ink-1);
}
.booking-service-confirm-compact strong{
  font-size:20px;
}
.booking-step-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:18px;
}
.booking-service-details-field{
  margin-top:18px;
}
.booking-service-details-help{
  margin:8px 0 0;
  font-size:13px;
  line-height:1.6;
  color:var(--ink-1);
}
.booking-service-intake{
  margin-top:18px;
}
.booking-service-intake-dynamic{
  display:grid;
  gap:18px;
}
.booking-intake-section{
  padding:18px;
  border-radius:20px;
  border:1px solid var(--hairline);
  background:color-mix(in srgb, var(--panel) 94%, white 6%);
}
.booking-intake-head{
  margin-bottom:12px;
}
.booking-intake-head strong{
  display:block;
  font-size:16px;
  color:var(--ink-0);
}
.booking-intake-head p{
  margin:6px 0 0;
  font-size:13px;
  line-height:1.55;
  color:var(--ink-1);
}
.booking-intake-required{
  color:#c4562e;
}
.booking-intake-options{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.booking-intake-options.is-multi{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
.booking-intake-option{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 13px;
  border-radius:16px;
  border:1px solid var(--hairline);
  background:color-mix(in srgb, var(--panel) 96%, white 4%);
}
.booking-intake-option input{
  margin-top:2px;
}
.booking-intake-section-boolean{
  padding:14px 16px;
}
.booking-intake-boolean{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.booking-intake-boolean input{
  margin-top:3px;
}
.booking-intake-boolean strong{
  display:block;
  font-size:15px;
  color:var(--ink-0);
}
.booking-intake-boolean small{
  display:block;
  margin-top:4px;
  font-size:12px;
  line-height:1.5;
  color:var(--ink-1);
}
.booking-intake-number-row{
  display:flex;
  align-items:center;
  gap:10px;
}
.booking-intake-number-input{
  width:180px;
  padding:13px 14px;
  border:1px solid var(--hairline);
  border-radius:14px;
  background:var(--panel);
  color:var(--ink-0);
  font:inherit;
}
.booking-intake-unit{
  font-size:13px;
  color:var(--ink-2);
}
.booking-intake-inline-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:10px;
  font-size:13px;
  color:var(--ink-1);
}
.booking-intake-textarea{
  width:100%;
  min-height:120px;
  padding:14px 15px;
  border:1px solid var(--hairline);
  border-radius:16px;
  background:var(--panel);
  color:var(--ink-0);
  font:inherit;
  resize:vertical;
}
.booking-room-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.booking-room-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px 13px;
  border-radius:16px;
  border:1px solid var(--hairline);
  background:color-mix(in srgb, var(--panel) 96%, white 4%);
}
.booking-room-label{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.booking-room-qty{
  display:inline-grid;
  grid-template-columns:34px 58px 34px;
  gap:6px;
  align-items:center;
}
.booking-room-step{
  width:34px;
  height:34px;
  border-radius:10px;
  border:1px solid var(--hairline);
  background:var(--panel);
  color:var(--ink-0);
  font:inherit;
}
.booking-room-qty-input{
  width:58px;
  padding:8px 6px;
  border:1px solid var(--hairline);
  border-radius:10px;
  background:var(--panel);
  color:var(--ink-0);
  font:inherit;
  text-align:center;
}
.booking-service-details-field textarea{
  width:100%;
  min-height:180px;
  padding:14px 15px;
  border:1px solid var(--hairline);
  border-radius:16px;
  background:var(--panel);
  color:var(--ink-0);
  font:inherit;
  resize:vertical;
}
.booking-service-details-field textarea:focus{
  outline:3px solid rgba(242,153,74,.15);
  border-color:var(--elektryka);
}
.booking-map-panel{
  overflow:hidden;
  position:relative;
  z-index:0;
}
.booking-map-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:20px 22px 18px;
  border-bottom:1px solid var(--hairline);
}
.booking-map-toolbar strong{
  display:block;
  margin-top:4px;
  font-size:26px;
}
.booking-map-hint{
  max-width:260px;
  font-size:12px;
  line-height:1.55;
  color:var(--ink-2);
  text-align:right;
}
.booking-map-frame{
  padding:18px;
}
#booking-map{
  width:100%;
  height:720px;
  border-radius:22px;
  overflow:hidden;
  background:linear-gradient(180deg, #f7fafc, #edf3fb);
}
.booking-followup{
  padding-top:18px;
}
.booking-followup-card{
  background:linear-gradient(180deg, color-mix(in srgb, var(--iot-dim) 34%, var(--panel) 66%), var(--panel-alt));
}
.booking-term-card{
  background:linear-gradient(180deg, color-mix(in srgb, var(--elektryka-dim) 28%, var(--panel) 72%), var(--panel-alt));
}
.booking-term-placeholder{
  min-height:220px;
  padding:22px;
  border-radius:22px;
  border:1px solid var(--hairline);
  background:color-mix(in srgb, var(--panel) 95%, white 5%);
}
.booking-term-placeholder p{
  margin:0;
  font-size:14px;
  line-height:1.65;
  color:var(--ink-1);
}
.leaflet-container{
  font:inherit;
}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip{
  box-shadow:0 14px 30px rgba(15,23,32,.16);
}
.leaflet-popup-content{
  margin:12px 14px;
  font-family:var(--font-body);
  color:#13253b;
  line-height:1.55;
}
@media (max-width:1180px){
  .booking-step-strip{
    flex-wrap:wrap;
    justify-content:flex-start;
  }
  .booking-shell{
    grid-template-columns:1fr;
  }
  .booking-city-list,
  .booking-service-list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .booking-service-toolbar,
  .booking-stage-toolbar,
  .booking-service-shell{
    grid-template-columns:1fr;
  }
  #booking-map{
    height:620px;
  }
}
@media (max-width:720px){
  .booking-hero{
    padding-top:18px;
  }
  .booking-hero-grid.wrap,
  .booking-shell-section.wrap,
  .booking-service-step.wrap,
  .booking-step3.wrap,
  .booking-term-step.wrap{
    padding-left:16px;
    padding-right:16px;
    max-width:none;
  }
  .booking-shell-section.wrap-wide,
  .booking-service-step.wrap-wide,
  .booking-step3.wrap-wide,
  .booking-term-step.wrap-wide{
    max-width:none;
  }
  .booking-shell,
  .booking-sidebar,
  .booking-map-panel,
  .booking-card,
  .booking-card-selection,
  .booking-card-cities,
  .booking-card-next,
  .booking-service-card,
  .booking-followup-card,
  .booking-service-summary,
  .booking-service-search-panel,
  .booking-term-placeholder,
  .booking-intake-section{
    width:100%;
    max-width:none;
    min-width:0;
    box-sizing:border-box;
  }
  .booking-card{
    padding:20px 18px;
    border-radius:22px;
  }
  .booking-woj-list,
  .booking-city-list,
  .booking-service-list,
  .booking-intake-options,
  .booking-intake-options.is-multi{
    grid-template-columns:1fr;
  }
  .booking-room-row{
    grid-template-columns:1fr;
  }
  .booking-results-meta,
  .booking-map-toolbar{
    flex-direction:column;
    align-items:flex-start;
  }
  .booking-map-hint{
    text-align:left;
    max-width:none;
  }
  .booking-map-frame{
    padding:14px;
  }
  #booking-map{
    height:480px;
    border-radius:18px;
  }
}
.service-photo-placeholder-tools{
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  gap:8px;
  padding:34px;
  border-radius:26px;
  background:
    radial-gradient(circle at top right, rgba(30,169,155,.18), transparent 34%),
    radial-gradient(circle at bottom left, rgba(242,153,74,.20), transparent 32%),
    linear-gradient(135deg, color-mix(in srgb, var(--panel) 92%, white 8%), color-mix(in srgb, var(--panel-alt) 94%, var(--bg-soft) 6%));
}
.service-photo-placeholder-tools strong{font-size:clamp(28px,3vw,42px)}
.service-photo-placeholder-tools span{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink-2);
}
.service-photo-placeholder-tools-action .btn{margin-top:10px}
.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.tools-card{position:relative}
.tools-card.is-planned{opacity:.92}
.tools-card-badge{
  display:inline-flex;
  margin-bottom:16px;
  padding:7px 10px;
  border-radius:999px;
  background:color-mix(in srgb, var(--elektryka-dim) 70%, transparent);
  color:var(--ink-1);
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tools-form-shell,
.tools-result-card{
  border:1px solid var(--hairline);
  border-radius:26px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 94%, white 6%), var(--panel-alt));
  box-shadow:var(--shadow);
  padding:28px;
}
.tools-result-card{margin-top:24px}
.tools-form{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.tools-field{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.tools-field span{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-1);
}
.tools-field input{
  width:100%;
  min-height:54px;
  padding:0 16px;
  border:1px solid var(--hairline);
  border-radius:14px;
  background:var(--panel);
  color:var(--ink-0);
  font:500 16px/1.4 var(--font-body);
}
.tools-field input:focus{
  outline:3px solid rgba(242,153,74,.20);
  outline-offset:1px;
  border-color:var(--elektryka);
}
.tools-select{
  width:100%;
  min-height:54px;
  padding:0 16px;
  border:1px solid var(--hairline);
  border-radius:14px;
  background:var(--panel);
  color:var(--ink-0);
  font:500 16px/1.4 var(--font-body);
}
.tools-select:focus{
  outline:3px solid rgba(242,153,74,.20);
  outline-offset:1px;
  border-color:var(--elektryka);
}
.tools-form-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.tool-alert{
  margin-bottom:18px;
  padding:14px 16px;
  border-radius:16px;
  font-size:14px;
  line-height:1.65;
}
.tool-alert-warning{
  border:1px solid color-mix(in srgb, var(--iot) 26%, var(--hairline));
  background:color-mix(in srgb, var(--iot-dim) 50%, transparent);
}
.tool-alert-error{
  border:1px solid rgba(184,54,54,.18);
  background:rgba(184,54,54,.08);
}
.tools-result-head{
  margin-bottom:16px;
}
.tools-result-head p{
  margin-top:8px;
  color:var(--ink-2);
}
.tools-result-output{
  overflow:auto;
  padding:20px;
  border-radius:18px;
  background:#0c1728;
  color:#dbe7ff;
  font:400 13px/1.65 var(--font-mono);
  white-space:pre-wrap;
  word-break:break-word;
}
@media (max-width: 900px){
  .tools-grid{grid-template-columns:1fr}
  .tools-form-actions{flex-direction:column;align-items:stretch}
  .tools-form-shell,
  .tools-result-card{padding:22px}
}
@media (max-width: 720px){
  .service-photo-placeholder-tools{padding:24px;min-height:220px}
}
@media (max-width: 640px){
  .tools-result-output{padding:16px;font-size:12px}
}
.bandwidth-shell{display:flex;flex-direction:column;gap:24px}
.bandwidth-controls{display:flex;gap:14px;flex-wrap:wrap}
.bandwidth-status{margin-bottom:0}
.bandwidth-progress{display:flex;flex-direction:column;gap:10px}
.bandwidth-progress-bar{height:12px;border-radius:999px;background:color-mix(in srgb, var(--bg-soft) 72%, var(--panel) 28%);overflow:hidden;border:1px solid var(--hairline)}
.bandwidth-progress-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--elektryka),#f6b26b);transition:width .22s ease}
.bandwidth-progress-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:13px;color:var(--ink-2)}
.bandwidth-progress-meta strong{font-family:var(--font-display);font-weight:600;color:var(--ink-0)}
.bandwidth-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.bandwidth-stat-card{border:1px solid var(--hairline);border-radius:22px;padding:22px;background:linear-gradient(180deg,var(--panel),var(--panel-alt))}
.bandwidth-stat-label{display:block;margin-bottom:10px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.bandwidth-stat-value{display:block;font-size:clamp(24px,3vw,34px);line-height:1.05;color:var(--ink-0)}
.bandwidth-stat-note{display:block;margin-top:8px;font-size:13px;color:var(--ink-2)}
.bandwidth-stat-subnote{display:block;margin-top:8px;font-size:12px;color:var(--ink-2);font-family:var(--font-mono)}
.bandwidth-results{margin-top:0}
.bandwidth-comparison{display:flex;flex-direction:column;gap:10px}
.bandwidth-comparison-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px 16px;border:1px solid var(--hairline);border-radius:16px;background:color-mix(in srgb,var(--panel) 88%, white 12%)}
.bandwidth-comparison-row-user{border-color:color-mix(in srgb,var(--elektryka) 35%, var(--hairline));background:color-mix(in srgb,var(--elektryka-dim) 56%, var(--panel) 44%)}
.bandwidth-breakdown{display:grid;grid-template-columns:1fr;gap:14px;margin-top:18px}
.bandwidth-breakdown .service-subcategory-empty{padding:18px 20px}
@media (max-width: 900px){
  .bandwidth-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 640px){
  .bandwidth-controls{flex-direction:column;align-items:stretch}
  .bandwidth-stats-grid{grid-template-columns:1fr}
  .bandwidth-stat-card{padding:18px}
}

.inventory-quantity-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 1px solid rgba(15, 23, 32, 0.14);
    border-radius: 10px;
    background: #ffffff;
    cursor: pointer;
}

.inventory-quantity-icon img {
    width: 14px;
    height: 14px;
    display: block;
}

.inventory-quantity-icon:hover,
.inventory-quantity-icon:focus-visible {
    background: #f8fafc;
    border-color: rgba(15, 23, 32, 0.24);
}

.inventory-quantity-icon-danger {
    background: #fff5f5;
    border-color: rgba(220, 38, 38, 0.24);
}

.inventory-quantity-icon-danger:hover,
.inventory-quantity-icon-danger:focus-visible {
    background: #fee2e2;
    border-color: rgba(220, 38, 38, 0.42);
}

.inventory-summary-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px;
}

.inventory-summary-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #e2e8f0;
    color: #0f172a;
    font-size: 12px;
    font-weight: 600;
}
.inventory-location-missing-cell {
  background: rgba(185, 28, 28, 0.08);
}

.inventory-location-missing-text {
  color: #b91c1c;
}


@media (max-width: 720px) {
    .inventory-logs-filters-card .admin-form-grid.four-columns {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .inventory-logs-filters-card .admin-form-stack input,
    .inventory-logs-filters-card .admin-form-stack select {
        padding: 10px 12px;
        border-radius: 12px;
    }

    .inventory-logs-filters-card .admin-form-actions {
        flex-direction: column;
        gap: 10px;
    }

    .inventory-logs-filters-card .admin-form-actions .btn {
        width: 100%;
    }

    .inventory-logs-filters-card h2 {
        margin-bottom: 12px;
    }
}

.jobs-page{padding-bottom:48px}
.jobs-hero{padding:72px 0 8px}
.jobs-lead{max-width:760px;color:var(--ink-2);font-size:18px;line-height:1.7}
.jobs-list-section{padding:48px 0 24px}
.jobs-list{display:grid;gap:28px}
.job-card{
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(247,249,252,.98));
  border:1px solid var(--hairline);
  border-radius:28px;
  padding:28px;
  box-shadow:0 24px 60px rgba(15,23,42,.08);
}
html[data-theme="dark"] .job-card{
  background:linear-gradient(180deg,rgba(17,24,39,.92),rgba(12,18,31,.98));
  box-shadow:0 24px 60px rgba(2,6,23,.45);
}
.job-card-header{
  display:grid;
  gap:16px;
  margin-bottom:24px;
}
.job-card-header-flow{grid-template-columns:1fr}
.job-card h2{margin:0}
.job-card-lead{margin:0;color:var(--ink-2);line-height:1.7}
.job-meta{
  margin:0;
  display:grid;
  gap:12px;
}
.job-meta div{
  padding:14px 16px;
  border:1px solid var(--hairline);
  border-radius:18px;
  background:rgba(148,163,184,.08);
}
.job-meta dt{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--ink-2);
  margin-bottom:6px;
}
.job-meta dd{margin:0;font-weight:600}
.job-meta-inline{
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
}
.job-meta-inline div{height:100%}
.job-rich-text{display:grid;gap:18px}
.job-rich-section{display:grid;gap:12px;padding:0 !important;margin:0 !important}
.job-rich-section h3,
.job-rich-section h4{margin:0}
.job-rich-section p{
  margin:0;
  color:var(--ink-1);
  line-height:1.78;
}
.job-rich-section ul{
  margin:0;
  padding-left:20px;
  display:grid;
  gap:8px;
  color:var(--ink-1);
  line-height:1.7;
}
.job-card-footer{
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid var(--hairline);
  display:grid;
  gap:18px;
}
.job-contact-copy .job-rich-section:last-child{margin-bottom:0}
.job-contact-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

@media (max-width: 640px){
  .jobs-hero{padding-top:48px}
  .jobs-lead{font-size:16px}
  .job-card{padding:20px;border-radius:22px}
  .job-contact-links{flex-direction:column}
}

.knowledge-page{
  background:linear-gradient(180deg, rgba(249,250,251,.94) 0%, rgba(255,255,255,1) 18%, rgba(248,250,252,1) 100%);
}
.knowledge-hero-card,
.knowledge-meta-card{
  gap:12px;
}
.knowledge-search-shell{
  display:grid;
  grid-template-columns:minmax(0,1.8fr) minmax(220px,.9fr) auto;
  gap:16px;
  margin:-38px 0 34px;
  padding:20px;
  border-radius:26px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(148,163,184,.16);
  box-shadow:0 22px 60px rgba(15,23,42,.10);
}
.knowledge-search-shell-wide{
  grid-template-columns:minmax(0,1fr) auto;
}
.knowledge-document-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.knowledge-document-card{
  display:grid;
  gap:14px;
  padding:24px;
  border-radius:24px;
  background:rgba(255,255,255,.95);
  border:1px solid rgba(148,163,184,.16);
  box-shadow:0 18px 44px rgba(15,23,42,.08);
}
.knowledge-document-card h3{
  margin:0;
  font-size:1.2rem;
}
.knowledge-document-card h3 a{
  color:inherit;
  text-decoration:none;
}
.knowledge-document-card p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}
.knowledge-document-meta,
.knowledge-document-footer{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  align-items:center;
}
.knowledge-document-meta span{
  padding:6px 10px;
  border-radius:999px;
  background:rgba(15,23,42,.06);
  font-size:.82rem;
  font-weight:600;
}
.knowledge-document-footer{
  justify-content:space-between;
  color:var(--muted);
  font-size:.92rem;
}
.knowledge-document-footer a{
  font-weight:700;
  text-decoration:none;
}
.knowledge-document-layout{
  display:grid;
  grid-template-columns:minmax(260px,.7fr) minmax(0,1.5fr);
  gap:28px;
  align-items:start;
}
.knowledge-document-sidebar{
  position:sticky;
  top:110px;
  display:grid;
  gap:16px;
}
.knowledge-sidebar-card,
.knowledge-document-main{
  padding:24px;
  border-radius:24px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(148,163,184,.16);
  box-shadow:0 18px 44px rgba(15,23,42,.08);
}
.knowledge-sidebar-card h2,
.knowledge-document-main h2{
  margin-top:0;
}
.knowledge-document-main section{
  padding:0 0;
}
.knowledge-legal-note{
  margin:0;
  color:var(--muted);
  line-height:1.6;
  font-size:.95rem;
}
.knowledge-anchor-list{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:8px;
}
.knowledge-anchor-list a{
  text-decoration:none;
}
.knowledge-block-wrap + .knowledge-block-wrap{
  margin-top:6px;
  padding-top:6px;
  border-top:1px solid rgba(148,163,184,.16);
}
.knowledge-block-wrap p{
  margin:0;
  color:#1e293b;
  line-height:1.8;
}
@media (max-width: 980px){
  .knowledge-search-shell,
  .knowledge-search-shell-wide,
  .knowledge-document-layout,
  .knowledge-document-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .knowledge-document-sidebar{
    position:static;
  }
}
.knowledge-topbar-wrap{
  padding-top:22px;
  padding-bottom:8px;
}
.knowledge-back-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(255,255,255,.92);
  color:#0f172a;
  font-weight:600;
  box-shadow:0 14px 30px rgba(15,23,42,.06);
}
.knowledge-document-footer-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
}
.knowledge-search-snippets{
  display:grid;
  gap:10px;
}
.knowledge-search-snippet{
  margin:0;
}
.knowledge-search-hit{
  background:#fff3a3;
  color:#111827;
  padding:0 .08em;
  border-radius:.2em;
  box-shadow:inset 0 -1px 0 rgba(217,119,6,.22);
}
.knowledge-search-hit-inline{
  scroll-margin-top:120px;
}
.knowledge-search-hit-inline.is-active{
  background:#facc15;
  box-shadow:0 0 0 3px rgba(250,204,21,.28);
}
.knowledge-search-toolbar{
  align-items:stretch;
}
.knowledge-search-toolbar-row{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:center;
  width:100%;
}
.knowledge-search-counter{
  text-align:center;
  font-weight:700;
  color:#0f172a;
}
.knowledge-document-main-search p,
.knowledge-document-main-search h2{
  scroll-margin-top:120px;
}

.knowledge-search-sticky-bar{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  padding:12px 16px;
  border-radius:20px;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(255,255,255,.96);
  box-shadow:0 16px 36px rgba(15,23,42,.10);
}
.knowledge-search-sticky-meta{
  display:grid;
  gap:2px;
  min-width:120px;
}

.knowledge-document-layout-search{
  align-items:start;
}
.knowledge-document-sidebar-search{
  top:110px;
}
.knowledge-sidebar-card-search-top{
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.knowledge-search-sticky-bar{
  display:inline-block;
  width:100%;
}
.knowledge-sidebar-card-search-doc{
  display:grid;
  gap:10px;
}
.knowledge-search-doc-title{
  font-size:1.7rem;
  line-height:1.15;
}
html[data-theme="dark"] .knowledge-document-card,
html[data-theme="dark"] .knowledge-sidebar-card,
html[data-theme="dark"] .knowledge-document-main,
html[data-theme="dark"] .knowledge-search-sticky-bar,
html[data-theme="dark"] .knowledge-back-link,
html[data-theme="dark"] .knowledge-document-grid > *,
html[data-theme="dark"] .knowledge-document-layout > *{
  background:rgba(15,23,42,.92);
  border-color:rgba(148,163,184,.22);
  box-shadow:0 18px 44px rgba(2,6,23,.42);
}
html[data-theme="dark"] .knowledge-sidebar-card-search-top{
  background:transparent;
  border-color:transparent;
  box-shadow:none;
}
html[data-theme="dark"] .knowledge-document-card h3,
html[data-theme="dark"] .knowledge-document-card h3 a,
html[data-theme="dark"] .knowledge-sidebar-card h2,
html[data-theme="dark"] .knowledge-document-main,
html[data-theme="dark"] .knowledge-document-main h2,
html[data-theme="dark"] .knowledge-document-main a,
html[data-theme="dark"] .knowledge-sidebar-card a,
html[data-theme="dark"] .knowledge-search-counter,
html[data-theme="dark"] .knowledge-search-doc-title,
html[data-theme="dark"] .knowledge-search-sticky-meta strong,
html[data-theme="dark"] .knowledge-search-sticky-meta span,
html[data-theme="dark"] .knowledge-back-link{
  color:#e5eefc;
}
html[data-theme="dark"] .knowledge-document-card p,
html[data-theme="dark"] .knowledge-legal-note,
html[data-theme="dark"] .knowledge-document-footer,
html[data-theme="dark"] .knowledge-anchor-list a,
html[data-theme="dark"] .knowledge-block-wrap p,
html[data-theme="dark"] .knowledge-search-snippet,
html[data-theme="dark"] .knowledge-sidebar-card p,
html[data-theme="dark"] .knowledge-sidebar-card li,
html[data-theme="dark"] .knowledge-sidebar-card,
html[data-theme="dark"] .knowledge-document-meta,
html[data-theme="dark"] .knowledge-document-meta span{
  color:#cbd5e1;
}
html[data-theme="dark"] .knowledge-document-meta span{
  background:rgba(148,163,184,.12);
}
html[data-theme="dark"] .knowledge-block-wrap + .knowledge-block-wrap{
  border-top-color:rgba(148,163,184,.18);
}
html[data-theme="dark"] .knowledge-search-hit{
  background:#fde047;
  color:#111827;
  box-shadow:inset 0 -1px 0 rgba(161,98,7,.35);
}
html[data-theme="dark"] .knowledge-search-hit-inline.is-active{
  background:#f59e0b;
  color:#111827;
  box-shadow:0 0 0 3px rgba(245,158,11,.35);
}
@media (max-width: 980px){
  .knowledge-document-sidebar-search{
    top:auto;
  }
  .knowledge-search-sticky-bar{
    display:block;
  }
}


/* BLOG TRASA3 */
.blog-page{padding-bottom:42px}
.blog-hero-copy{display:grid;gap:16px}
.blog-shell{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr);gap:24px;align-items:start;padding-top:12px}
.blog-main-column,.blog-sidebar{display:grid;gap:20px}
.blog-search-section{padding-top:8px}
.blog-search-section-post{padding-top:18px}
.blog-search-panel,.blog-post-card,.blog-empty-card,.blog-sidebar-card,.blog-post-content{border:1px solid var(--hairline);border-radius:26px;background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 94%, white 6%), var(--panel-alt));box-shadow:var(--shadow)}
.blog-search-panel{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:22px;align-items:end;padding:26px 28px}
.blog-search-panel-post{grid-template-columns:minmax(0,.7fr) minmax(0,1fr)}
.blog-search-panel-copy{display:grid;gap:10px}
.blog-search-panel-copy h2{margin:0;font-size:clamp(1.65rem,2.3vw,2.1rem);line-height:1.08}
.blog-search-panel-copy p{margin:0;color:var(--muted);line-height:1.7}
.blog-hero-side,.blog-hero-card,.blog-post-side-card{display:grid;gap:14px;align-content:start}
.blog-hero-card{justify-items:start}
.blog-hero-card-photo{width:min(100%,260px);height:180px;display:block;object-fit:cover;border-radius:18px;box-shadow:0 16px 32px rgba(15,23,42,.14)}
.blog-hero-card p,.blog-post-side-card p{margin:0;color:var(--muted);line-height:1.65}
.blog-post-side-card-has-image{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg, rgba(15,23,42,.22), rgba(15,23,42,.68)), var(--blog-post-cover-image) center/cover no-repeat;color:#fff}
.blog-post-side-card-has-image::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(15,23,42,.08), rgba(15,23,42,.58));z-index:-1}
.blog-post-side-card-has-image strong,.blog-post-side-card-has-image p{color:#f8fafc}
.blog-post-side-card-has-image .btn.btn-ghost{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.34);color:#fff}
.blog-post-side-card-has-image .btn.btn-ghost:hover{background:rgba(255,255,255,.22)}
.blog-hero-badges{display:flex;flex-wrap:wrap;gap:10px}
.blog-hero-badges span,.blog-meta-badge{display:inline-flex;align-items:center;padding:9px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.72);font-size:.85rem;font-weight:600;color:var(--ink-1)}
.blog-search-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}
.blog-search-bar-wide{margin-top:0}
.blog-search-field,.blog-search-field-compact{display:grid;gap:8px}
.blog-search-field span,.blog-search-field-compact span{font-size:.92rem;font-weight:600;color:var(--ink-2)}
.blog-search-field input,.blog-sidebar-search-form input{width:100%;min-height:58px;padding:17px 18px;border-radius:18px;border:1px solid rgba(148,163,184,.26);background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.94));font:inherit;color:var(--ink-1);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 24px rgba(15,23,42,.05);transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease}
.blog-search-field input::placeholder,.blog-sidebar-search-form input::placeholder{color:#94a3b8}
.blog-search-field input:focus,.blog-sidebar-search-form input:focus{outline:none;border-color:rgba(242,153,74,.72);box-shadow:0 0 0 4px rgba(242,153,74,.14),0 14px 28px rgba(15,23,42,.08);transform:translateY(-1px)}
.blog-sidebar-search-form{display:grid;gap:12px}
.blog-list-head{padding:4px 2px 0}
.blog-list-head h2{margin-bottom:8px}
.blog-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.blog-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.blog-post-card{overflow:hidden;display:grid}
.blog-post-card-visual{display:flex;min-height:190px;max-height:350px;overflow:hidden;background:linear-gradient(135deg, rgba(242,153,74,.18), rgba(15,23,42,.06));align-items:flex-end;justify-content:flex-start;padding:18px;text-decoration:none}
.blog-post-card-visual span{display:inline-flex;padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.9);font-weight:600;color:var(--ink-1)}
.blog-post-card-visual img{width:100%;height:100%;max-height:350px;display:block;object-fit:cover}
.blog-post-card-body{padding:22px 22px 20px;display:grid;gap:14px}
.blog-post-card-meta,.blog-post-meta-bar{display:flex;flex-wrap:wrap;gap:10px}
.blog-post-card-meta a,.blog-post-card-meta span{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:rgba(242,153,74,.08);border:1px solid rgba(242,153,74,.16);font-size:.8rem;line-height:1;color:var(--ink-1);text-decoration:none;font-weight:600}
.blog-post-card-meta span{color:var(--muted);background:rgba(148,163,184,.08);border-color:rgba(148,163,184,.14)}
.blog-post-card h3{margin:0;font-size:1.3rem;line-height:1.22}
.blog-post-card h3 a{text-decoration:none;color:var(--ink-1)}
.blog-post-card p,.blog-empty-card p,.blog-sidebar-card p,.blog-post-content p,.blog-post-content li{margin:0;color:var(--muted);line-height:1.78}
.blog-post-card-link{font-weight:600;text-decoration:none;color:var(--accent-strong)}
.blog-empty-card{padding:26px}
.blog-empty-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.blog-sidebar-card{padding:22px}
.blog-sidebar-card h2,.blog-post-content h2,.blog-post-content h3{margin:0 0 14px}
.blog-category-list,.blog-sidebar-list{display:grid;gap:10px}
.blog-category-list a{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:13px 14px;border-radius:16px;border:1px solid rgba(148,163,184,.16);background:rgba(255,255,255,.72);text-decoration:none;color:var(--ink-1);transition:border-color .16s ease, background .16s ease, transform .16s ease}
.blog-sidebar-list a{display:grid;gap:6px;padding:13px 14px;border-radius:16px;border:1px solid rgba(148,163,184,.16);background:rgba(255,255,255,.72);text-decoration:none;color:var(--ink-1);transition:border-color .16s ease, background .16s ease, transform .16s ease}
.blog-category-list a:hover,.blog-sidebar-list a:hover{transform:translateY(-1px);border-color:rgba(242,153,74,.34);background:rgba(242,153,74,.08)}
.blog-category-list a.is-active{border-color:rgba(242,153,74,.45);background:rgba(242,153,74,.12)}
.blog-category-list a span,.blog-sidebar-list a strong{line-height:1.45}
.blog-sidebar-list a strong{display:block}
.blog-category-list a strong,.blog-sidebar-list a span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:6px 9px;border-radius:999px;background:rgba(148,163,184,.12);color:var(--muted);font-size:.82rem}
.blog-sidebar-list .blog-sidebar-meta{justify-self:start;align-self:start}
.blog-pagination{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;padding:8px 0 0}
.blog-pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:0 14px;border-radius:14px;border:1px solid var(--hairline);background:rgba(255,255,255,.72);text-decoration:none;color:var(--ink-1);font-weight:600}
.blog-pagination a.is-active{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}
.blog-post-topbar{padding-top:14px}
.blog-post-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;padding-top:4px}
.blog-post-content{padding:0}
.blog-post-content-inner{padding:28px 30px;display:grid;gap:18px}
.blog-post-content-inner > *{margin-top:0}
.blog-post-content h2{padding-top:6px;font-size:1.42rem;line-height:1.2;color:var(--ink-1)}
.blog-post-content h3{font-size:1.18rem;line-height:1.28;color:var(--ink-1)}
.blog-post-content ul,.blog-post-content ol{display:grid;gap:10px;padding-left:1.45rem;margin:0;color:var(--muted)}
.blog-post-content li::marker{color:var(--accent-strong)}
.blog-post-content a{color:var(--accent-strong)}
.blog-post-content blockquote{margin:0;padding:18px 20px;border-left:4px solid var(--accent-strong);background:rgba(242,153,74,.08);border-radius:0 18px 18px 0;color:var(--ink-2)}
.blog-post-content img{max-width:100%;height:auto;border-radius:18px}
.blog-related-section{padding-top:24px}
@media (max-width: 1100px){.blog-search-panel,.blog-shell{grid-template-columns:minmax(0,1fr)}.blog-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 760px){.blog-search-bar{grid-template-columns:minmax(0,1fr)}.blog-card-grid,.blog-related-grid{grid-template-columns:minmax(0,1fr)}.blog-post-content-inner{padding:22px}.blog-sidebar-card,.blog-empty-card,.blog-search-panel{padding:20px}.blog-hero-badges,.blog-post-meta-bar{gap:8px}}
html[data-theme="dark"] .blog-search-panel,html[data-theme="dark"] .blog-post-card,html[data-theme="dark"] .blog-empty-card,html[data-theme="dark"] .blog-sidebar-card,html[data-theme="dark"] .blog-post-content{background:linear-gradient(180deg, rgba(15,23,42,.94), rgba(15,23,42,.86));border-color:rgba(148,163,184,.16)}
html[data-theme="dark"] .blog-search-panel-copy h2,html[data-theme="dark"] .blog-post-card h3 a,html[data-theme="dark"] .blog-sidebar-card h2,html[data-theme="dark"] .blog-post-content,html[data-theme="dark"] .blog-post-content h2,html[data-theme="dark"] .blog-post-content h3,html[data-theme="dark"] .blog-category-list a,html[data-theme="dark"] .blog-sidebar-list a,html[data-theme="dark"] .blog-hero-badges span,html[data-theme="dark"] .blog-meta-badge{color:#e2e8f0}
html[data-theme="dark"] .blog-search-panel-copy p,html[data-theme="dark"] .blog-post-card p,html[data-theme="dark"] .blog-empty-card p,html[data-theme="dark"] .blog-sidebar-card p,html[data-theme="dark"] .blog-post-content p,html[data-theme="dark"] .blog-post-content li,html[data-theme="dark"] .blog-hero-card p,html[data-theme="dark"] .blog-post-side-card p,html[data-theme="dark"] .blog-category-list a strong,html[data-theme="dark"] .blog-sidebar-list a span{color:#94a3b8}
html[data-theme="dark"] .blog-post-side-card-has-image strong,html[data-theme="dark"] .blog-post-side-card-has-image p,html[data-theme="dark"] .blog-post-side-card-has-image .btn.btn-ghost{color:#f8fafc}
html[data-theme="dark"] .blog-post-side-card-has-image .btn.btn-ghost{background:rgba(15,23,42,.28);border-color:rgba(255,255,255,.28)}
html[data-theme="dark"] .blog-category-list a,html[data-theme="dark"] .blog-sidebar-list a,html[data-theme="dark"] .blog-pagination a,html[data-theme="dark"] .blog-hero-badges span,html[data-theme="dark"] .blog-meta-badge{background:rgba(15,23,42,.72);border-color:rgba(148,163,184,.16)}
html[data-theme="dark"] .blog-post-card-meta a{background:rgba(242,153,74,.16);border-color:rgba(242,153,74,.2);color:#f8fafc}
html[data-theme="dark"] .blog-post-card-meta span{background:rgba(30,41,59,.9);border-color:rgba(148,163,184,.16);color:#94a3b8}
html[data-theme="dark"] .blog-search-field input,html[data-theme="dark"] .blog-sidebar-search-form input{background:linear-gradient(180deg, rgba(15,23,42,.96), rgba(15,23,42,.84));border-color:rgba(148,163,184,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.02),0 12px 24px rgba(2,6,23,.26);color:#e2e8f0}
html[data-theme="dark"] .blog-search-field input::placeholder,html[data-theme="dark"] .blog-sidebar-search-form input::placeholder{color:#64748b}
html[data-theme="dark"] .blog-search-field input:focus,html[data-theme="dark"] .blog-sidebar-search-form input:focus{box-shadow:0 0 0 4px rgba(242,153,74,.18),0 14px 28px rgba(2,6,23,.36)}
