:root {
    --bg: #0b0d10;
    --bg-soft: #101318;
    --card: #15191f;
    --card-2: #1a1f26;
    --input: #0e1115;
    --border: rgba(255,255,255,.09);
    --border-strong: rgba(255,255,255,.15);
    --border-accent: rgba(201,149,76,.46);
    --text: #f4f1eb;
    --soft: #c5c7ca;
    --muted: #8f949c;
    --accent: #c9954c;
    --accent-light: #e5bd7a;
    --accent-dark: #8f612b;
    --success: #78c18b;
    --danger: #df7f7f;
    --radius-s: 10px;
    --radius-m: 17px;
    --radius-l: 25px;
    --shadow: 0 28px 80px rgba(0,0,0,.34);
    --container: 1480px;
    --transition: 180ms ease;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; color-scheme: dark; scroll-padding-top: 100px; }
body {
    margin: 0;
    min-width: 320px;
    color: var(--text);
    background: var(--bg);
    font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 18px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}
body::before {
    position: fixed;
    inset: 0;
    z-index: -3;
    content: "";
    pointer-events: none;
    opacity: .22;
    background-image: linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(to bottom,#000,transparent 88%);
}
body.menu-open { overflow: hidden; }
button,input,select,textarea { font: inherit; }
button { color: inherit; }
a { color: inherit; }
svg { display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
[hidden] { display: none !important; }
.container { width: min(calc(100% - 48px),var(--container)); margin-inline: auto; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 9999; padding: 10px 16px; border-radius: 8px; color: #18120b; background: var(--accent-light); font-weight: 850; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid var(--border); background: rgba(11,13,16,.9); backdrop-filter: blur(20px); }
.site-header__inner { display: flex; min-height: 86px; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 13px; text-decoration: none; }
.brand__mark { display: grid; width: 47px; height: 47px; place-items: center; border: 1px solid var(--border-accent); border-radius: 13px; background: linear-gradient(145deg,rgba(201,149,76,.15),transparent),var(--card); }
.brand__mark svg { width: 30px; fill: var(--text); stroke: none; }
.brand__mark .brand__accent { fill: var(--accent); }
.brand__copy { display: flex; flex-direction: column; line-height: 1.2; }
.brand__copy strong { font-size: 1.12rem; letter-spacing: .02em; }
.brand__copy small { margin-top: 5px; color: var(--muted); font-size: .7rem; letter-spacing: .03em; }
.desktop-nav { display: flex; align-items: center; gap: clamp(17px,2.1vw,34px); }
.desktop-nav a { position: relative; color: var(--soft); font-size: .79rem; font-weight: 720; text-decoration: none; transition: color var(--transition); }
.desktop-nav a::after { position: absolute; right: 0; bottom: -9px; left: 0; height: 2px; content: ""; background: var(--accent-light); transform: scaleX(0); transition: transform var(--transition); }
.desktop-nav a:hover { color: var(--text); }
.desktop-nav a:hover::after { transform: scaleX(1); }
.header-actions { display: flex; align-items: center; gap: 13px; }
.header-phone { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.header-phone > svg { width: 22px; color: var(--accent-light); }
.header-phone span { display: flex; flex-direction: column; line-height: 1.2; }
.header-phone small { color: var(--muted); font-size: .59rem; }
.header-phone strong { margin-top: 3px; font-size: .76rem; }
.menu-button { display: none; width: 50px; height: 50px; place-items: center; border: 1px solid var(--border); border-radius: 12px; background: var(--card); cursor: pointer; }
.menu-button span { display: block; width: 22px; height: 2px; margin: 4px auto; border-radius: 3px; background: var(--text); transition: transform var(--transition),opacity var(--transition); }
.menu-button[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-button[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-button[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.mobile-menu { position: fixed; inset: 87px 0 0; z-index: 99; padding: 24px; background: rgba(11,13,16,.98); backdrop-filter: blur(20px); }
.mobile-menu nav { display: grid; gap: 6px; max-width: 600px; margin: auto; }
.mobile-menu a { padding: 17px 18px; border-bottom: 1px solid var(--border); color: var(--soft); font-size: 1rem; font-weight: 750; text-decoration: none; }
.mobile-menu__calculator { margin-top: 15px; border: 1px solid var(--border-accent) !important; border-radius: 12px; color: var(--accent-light) !important; background: rgba(201,149,76,.06); }

.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 10px; padding: 0 20px; border: 1px solid transparent; border-radius: 12px; font-size: .78rem; font-weight: 800; line-height: 1.25; text-align: center; text-decoration: none; cursor: pointer; transition: transform var(--transition),border-color var(--transition),background var(--transition),color var(--transition); }
.button svg { width: 19px; flex: 0 0 auto; }
.button:hover:not(:disabled) { transform: translateY(-2px); }
.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible { outline: 2px solid var(--accent-light); outline-offset: 4px; }
.button--primary { border-color: var(--accent-light); color: #17120b; background: linear-gradient(135deg,#e5bd79,#b97d38); box-shadow: 0 12px 30px rgba(201,149,76,.16); }
.button--primary:hover { background: linear-gradient(135deg,#f0ca88,#c98a41); }
.button--secondary { border-color: var(--border-strong); color: var(--text); background: rgba(255,255,255,.025); }
.button--secondary:hover { border-color: var(--border-accent); color: var(--accent-light); background: rgba(201,149,76,.055); }
.button--large { min-height: 58px; padding: 0 26px; font-size: .87rem; }
.button--wide { width: 100%; }

.eyebrow { margin: 0 0 12px; color: var(--accent-light); font-size: .68rem; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.hero { position: relative; min-height: 790px; overflow: hidden; border-bottom: 1px solid var(--border); background: radial-gradient(circle at 15% 5%,rgba(201,149,76,.13),transparent 34rem),linear-gradient(180deg,rgba(255,255,255,.012),transparent); }
.hero__grid-lines { position: absolute; inset: 0; opacity: .45; background-image: linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: 84px 84px; mask-image: linear-gradient(to right,#000 15%,transparent 78%); }
.hero__glow { position: absolute; top: 50%; right: -180px; width: 850px; height: 850px; border: 1px solid rgba(201,149,76,.11); border-radius: 50%; box-shadow: 0 0 0 110px rgba(201,149,76,.025),0 0 0 220px rgba(201,149,76,.012); transform: translateY(-50%); }
.hero__layout { position: relative; z-index: 2; display: grid; min-height: 790px; grid-template-columns: minmax(0,1.15fr) minmax(520px,.85fr); gap: clamp(45px,6vw,100px); align-items: center; padding-block: 80px; }
.hero h1 { max-width: 850px; margin: 0; font-size: clamp(3.2rem,5.7vw,6.5rem); font-weight: 750; letter-spacing: -.065em; line-height: .96; }
.hero h1 span { color: var(--accent-light); }
.hero__lead { max-width: 820px; margin: 30px 0 0; color: var(--soft); font-size: clamp(1.05rem,1.4vw,1.28rem); line-height: 1.72; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 34px; }
.hero__trust { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 31px; }
.hero__trust span { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: .73rem; font-weight: 700; }
.hero__trust svg { width: 17px; color: var(--accent-light); stroke-width: 2.5; }

.hero-system { position: relative; min-height: 595px; overflow: hidden; border: 1px solid var(--border-accent); border-radius: 30px; background: radial-gradient(circle at 50% 45%,rgba(201,149,76,.09),transparent 44%),linear-gradient(145deg,rgba(255,255,255,.025),transparent 55%),var(--bg-soft); box-shadow: var(--shadow); }
.hero-system::before { position: absolute; inset: 0; content: ""; opacity: .45; background-image: linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(circle at 50% 50%,#000,transparent 80%); }
.hero-system__top { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 23px 25px; border-bottom: 1px solid var(--border); }
.hero-system__top div { display: flex; flex-direction: column; }
.hero-system__top small { color: var(--accent-light); font-size: .58rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.hero-system__top strong { margin-top: 3px; font-size: .9rem; }
.status-dot { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: .58rem; font-weight: 750; }
.status-dot i { width: 8px; height: 8px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 5px rgba(120,193,139,.09); animation: pulse 2s infinite; }
@keyframes pulse { 50% { box-shadow: 0 0 0 10px rgba(120,193,139,0); } }
.hero-system__core { position: relative; z-index: 1; height: 425px; }
.core-ring { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(201,149,76,.15); border-radius: 50%; transform: translate(-50%,-50%); }
.core-ring--1 { width: 170px; height: 170px; }
.core-ring--2 { width: 310px; height: 310px; }
.core-ring--3 { width: 440px; height: 440px; border-color: rgba(255,255,255,.06); }
.core-center { position: absolute; top: 50%; left: 50%; display: grid; width: 112px; height: 112px; place-items: center; border: 1px solid var(--border-accent); border-radius: 50%; color: var(--accent-light); background: radial-gradient(circle,rgba(201,149,76,.17),rgba(21,25,31,.96) 65%); box-shadow: 0 0 55px rgba(201,149,76,.16); transform: translate(-50%,-50%); }
.core-center svg { position: absolute; width: 76px; opacity: .22; stroke-width: 2.1; }
.core-center strong { font-size: 1.7rem; letter-spacing: .04em; }
.system-node { position: absolute; display: grid; min-width: 145px; grid-template-columns: 42px minmax(0,1fr); gap: 11px; align-items: center; padding: 12px; border: 1px solid var(--border); border-radius: 13px; background: rgba(21,25,31,.93); box-shadow: 0 14px 30px rgba(0,0,0,.25); }
.system-node > span { display: grid; width: 42px; height: 42px; grid-row: 1/3; place-items: center; border: 1px solid rgba(201,149,76,.26); border-radius: 10px; color: var(--accent-light); background: rgba(201,149,76,.055); }
.system-node svg { width: 23px; }
.system-node strong { align-self: end; font-size: .68rem; }
.system-node small { align-self: start; color: var(--muted); font-size: .53rem; }
.system-node--electric { top: 45px; left: 42px; }
.system-node--security { top: 45px; right: 42px; }
.system-node--automation { bottom: 35px; left: 42px; }
.system-node--service { right: 42px; bottom: 35px; }
.hero-system__bottom { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--border); }
.hero-system__bottom > div { display: flex; gap: 10px; align-items: center; padding: 18px 15px; border-right: 1px solid var(--border); }
.hero-system__bottom > div:last-child { border-right: 0; }
.hero-system__bottom span { color: var(--accent-light); font-size: .62rem; font-weight: 850; }
.hero-system__bottom p { margin: 0; line-height: 1.3; }
.hero-system__bottom strong,.hero-system__bottom small { display: block; }
.hero-system__bottom strong { font-size: .63rem; }
.hero-system__bottom small { margin-top: 3px; color: var(--muted); font-size: .5rem; }

.quick-nav { position: relative; z-index: 5; margin-top: -36px; }
.quick-nav__grid { display: grid; grid-template-columns: repeat(4,1fr); overflow: hidden; border: 1px solid var(--border-accent); border-radius: 20px; background: rgba(16,19,24,.96); box-shadow: 0 24px 60px rgba(0,0,0,.35); backdrop-filter: blur(15px); }
.quick-nav__grid > a { display: grid; min-height: 115px; grid-template-columns: 54px minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 22px; border-right: 1px solid var(--border); text-decoration: none; transition: background var(--transition); }
.quick-nav__grid > a:last-child { border-right: 0; }
.quick-nav__grid > a:hover { background: rgba(201,149,76,.06); }
.quick-nav__icon { display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid rgba(201,149,76,.27); border-radius: 13px; color: var(--accent-light); background: rgba(201,149,76,.055); }
.quick-nav__icon svg { width: 28px; }
.quick-nav__grid strong,.quick-nav__grid small { display: block; }
.quick-nav__grid strong { font-size: .77rem; }
.quick-nav__grid small { margin-top: 4px; color: var(--muted); font-size: .58rem; }
.quick-nav__arrow { width: 18px; color: var(--muted); transition: color var(--transition),transform var(--transition); }
.quick-nav__grid > a:hover .quick-nav__arrow { color: var(--accent-light); transform: translateX(4px); }

.section { padding: 120px 0; }
.section--intro { padding-top: 150px; }
.section-heading-large { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(350px,.55fr); gap: clamp(35px,7vw,110px); align-items: end; margin-bottom: 55px; }
.section-heading-large h2 { max-width: 900px; margin: 0; font-size: clamp(2.2rem,4.2vw,4.5rem); font-weight: 730; letter-spacing: -.055em; line-height: 1.04; }
.section-heading-large h2 span { color: var(--accent-light); }
.section-heading-large > p { margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.8; }
.section-heading-large--center { max-width: 1050px; grid-template-columns: 1fr; gap: 22px; margin-inline: auto; text-align: center; }
.section-heading-large--center h2 { margin-inline: auto; }

.service-overview { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.service-card { display: grid; min-height: 630px; grid-template-rows: 215px 1fr; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-l); background: linear-gradient(145deg,rgba(255,255,255,.018),transparent 45%),var(--bg-soft); box-shadow: 0 18px 50px rgba(0,0,0,.2); transition: border-color var(--transition),transform var(--transition),box-shadow var(--transition); }
.service-card:hover { border-color: rgba(201,149,76,.32); box-shadow: 0 26px 65px rgba(0,0,0,.3); transform: translateY(-4px); }
.service-card--wide { min-height: 570px; grid-column: 1/-1; grid-template-columns: .72fr 1.28fr; grid-template-rows: 1fr; }
.service-card--highlight { border-color: var(--border-accent); background: linear-gradient(145deg,rgba(201,149,76,.095),transparent 50%),var(--bg-soft); }
.service-card__visual { position: relative; display: grid; min-height: 215px; place-items: center; overflow: hidden; border-bottom: 1px solid var(--border); color: var(--accent-light); background: radial-gradient(circle at 50% 60%,rgba(201,149,76,.18),transparent 42%),linear-gradient(145deg,#181d23,#101318); }
.service-card--wide .service-card__visual { border-right: 1px solid var(--border); border-bottom: 0; }
.service-card__visual::before { position: absolute; inset: 0; content: ""; opacity: .35; background-image: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size: 38px 38px; }
.service-card__visual > svg { position: relative; z-index: 2; width: 105px; height: 105px; stroke-width: 1.15; filter: drop-shadow(0 0 28px rgba(201,149,76,.28)); }
.service-card--wide .service-card__visual > svg { width: 150px; height: 150px; }
.service-number { position: absolute; top: 19px; left: 22px; z-index: 2; color: rgba(229,189,122,.55); font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.service-card__body { display: flex; flex-direction: column; padding: clamp(26px,4vw,42px); }
.service-card__body h3 { max-width: 720px; margin: 0; font-size: clamp(1.5rem,2.4vw,2.45rem); font-weight: 720; letter-spacing: -.045em; line-height: 1.12; }
.service-card__body > p:not(.eyebrow) { margin: 17px 0 0; color: var(--muted); font-size: .86rem; line-height: 1.75; }
.service-card__tag { align-self: flex-start; margin-bottom: 13px; padding: 6px 10px; border: 1px solid rgba(120,193,139,.35); border-radius: 999px; color: #a9dfb6; background: rgba(120,193,139,.07); font-size: .58rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.service-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; margin-top: 28px; }
.service-columns strong { font-size: .79rem; }
.service-columns ul,.feature-list { margin: 13px 0 0; padding: 0; list-style: none; }
.service-columns li,.feature-list li { position: relative; margin: 9px 0; padding-left: 24px; color: var(--soft); font-size: .72rem; }
.service-columns li::before,.feature-list li::before { position: absolute; top: .67em; left: 1px; width: 7px; height: 7px; content: ""; border: 1px solid var(--accent); border-radius: 50%; background: rgba(201,149,76,.12); }
.feature-list { margin-bottom: 29px; }
.text-link { display: inline-flex; align-items: center; gap: 9px; align-self: flex-start; margin-top: auto; color: var(--accent-light); font-size: .77rem; font-weight: 800; text-decoration: none; }
.text-link svg { width: 18px; transition: transform var(--transition); }
.text-link:hover svg { transform: translateX(5px); }
.visual-lines { position: absolute; inset: auto 10% 15% 10%; display: flex; justify-content: space-around; }
.visual-lines i { width: 1px; height: 85px; background: linear-gradient(to bottom,transparent,rgba(201,149,76,.28),transparent); transform: rotate(28deg); }

.integration-section { overflow: hidden; padding: 120px 0; border-block: 1px solid var(--border); background: radial-gradient(circle at 80% 50%,rgba(201,149,76,.1),transparent 36rem),var(--bg-soft); }
.integration-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(600px,1.2fr); gap: clamp(50px,8vw,130px); align-items: center; }
.integration-copy h2 { max-width: 700px; margin: 0; font-size: clamp(2.25rem,4.2vw,4.7rem); font-weight: 730; letter-spacing: -.055em; line-height: 1.03; }
.integration-copy > p:not(.eyebrow) { max-width: 720px; margin: 25px 0 0; color: var(--muted); font-size: .92rem; line-height: 1.8; }
.integration-benefits { display: grid; gap: 12px; margin-top: 34px; }
.integration-benefits > div { display: grid; grid-template-columns: 44px 1fr; gap: 13px; align-items: center; padding: 15px 17px; border: 1px solid var(--border); border-radius: 13px; background: rgba(255,255,255,.018); }
.integration-benefits > div > span { color: var(--accent-light); font-size: .63rem; font-weight: 900; }
.integration-benefits p { margin: 0; }
.integration-benefits strong,.integration-benefits small { display: block; }
.integration-benefits strong { font-size: .76rem; }
.integration-benefits small { margin-top: 3px; color: var(--muted); font-size: .65rem; }
.integration-map { position: relative; min-height: 620px; }
.integration-map::before { position: absolute; top: 50%; left: 50%; width: 580px; height: 580px; content: ""; border: 1px solid rgba(201,149,76,.1); border-radius: 50%; box-shadow: inset 0 0 80px rgba(201,149,76,.035),0 0 0 70px rgba(201,149,76,.012); transform: translate(-50%,-50%); }
.map-center { position: absolute; top: 50%; left: 50%; z-index: 3; display: grid; width: 130px; height: 130px; place-content: center; border: 1px solid var(--border-accent); border-radius: 50%; text-align: center; background: radial-gradient(circle,rgba(201,149,76,.16),var(--card) 70%); box-shadow: 0 0 70px rgba(201,149,76,.15); transform: translate(-50%,-50%); }
.map-center strong { color: var(--accent-light); font-size: 1.9rem; }
.map-center small { color: var(--muted); font-size: .55rem; letter-spacing: .15em; text-transform: uppercase; }
.map-node { position: absolute; z-index: 3; display: flex; width: 155px; height: 92px; flex-direction: column; align-items: center; justify-content: center; gap: 7px; border: 1px solid var(--border); border-radius: 15px; color: var(--accent-light); background: rgba(21,25,31,.96); box-shadow: 0 17px 38px rgba(0,0,0,.3); }
.map-node svg { width: 28px; }
.map-node span { color: var(--soft); font-size: .64rem; font-weight: 800; }
.map-node--1 { top: 0; left: 50%; transform: translateX(-50%); }
.map-node--2 { top: 23%; right: 0; }
.map-node--3 { right: 7%; bottom: 5%; }
.map-node--4 { bottom: 0; left: 27%; }
.map-node--5 { bottom: 22%; left: 0; }
.map-node--6 { top: 16%; left: 4%; }
.map-line { position: absolute; z-index: 1; top: 50%; left: 50%; width: 210px; height: 1px; background: linear-gradient(90deg,rgba(201,149,76,.35),rgba(201,149,76,.03)); transform-origin: left center; }
.map-line--1 { transform: rotate(-90deg); }
.map-line--2 { transform: rotate(-25deg); }
.map-line--3 { transform: rotate(38deg); }
.map-line--4 { transform: rotate(90deg); }
.map-line--5 { transform: rotate(155deg); }
.map-line--6 { transform: rotate(215deg); }

.audience-section { background: radial-gradient(circle at 50% 100%,rgba(201,149,76,.06),transparent 40rem); }
.audience-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.audience-grid article { min-height: 330px; padding: 30px; border: 1px solid var(--border); border-radius: var(--radius-m); background: linear-gradient(145deg,rgba(255,255,255,.018),transparent),var(--bg-soft); transition: border-color var(--transition),transform var(--transition); }
.audience-grid article:hover { border-color: var(--border-accent); transform: translateY(-4px); }
.audience-grid article > span { display: grid; width: 66px; height: 66px; place-items: center; border: 1px solid rgba(201,149,76,.26); border-radius: 16px; color: var(--accent-light); background: rgba(201,149,76,.055); }
.audience-grid svg { width: 34px; }
.audience-grid h3 { margin: 28px 0 0; font-size: 1.1rem; line-height: 1.3; }
.audience-grid p { margin: 13px 0 0; color: var(--muted); font-size: .75rem; line-height: 1.7; }

.process-section { padding: 120px 0; border-block: 1px solid var(--border); background: var(--bg-soft); }
.process-layout { display: grid; grid-template-columns: minmax(360px,.65fr) minmax(0,1.35fr); gap: clamp(45px,8vw,130px); align-items: start; }
.process-intro { position: sticky; top: 130px; }
.process-intro h2 { margin: 0; font-size: clamp(2.15rem,3.7vw,4.2rem); font-weight: 730; letter-spacing: -.055em; line-height: 1.04; }
.process-intro > p:not(.eyebrow) { margin: 24px 0 29px; color: var(--muted); font-size: .9rem; }
.process-list { margin: 0; padding: 0; list-style: none; counter-reset: process; }
.process-list li { display: grid; min-height: 150px; grid-template-columns: 70px minmax(0,1fr); gap: 20px; align-items: center; padding: 25px 0; border-bottom: 1px solid var(--border); }
.process-list li:first-child { border-top: 1px solid var(--border); }
.process-list li > span { display: grid; width: 60px; height: 60px; place-items: center; border: 1px solid rgba(201,149,76,.3); border-radius: 50%; color: var(--accent-light); background: rgba(201,149,76,.055); font-size: .7rem; font-weight: 900; }
.process-list strong { display: block; font-size: 1.08rem; }
.process-list p { margin: 7px 0 0; color: var(--muted); font-size: .76rem; }

.care-section { padding: 130px 0; overflow: hidden; background: radial-gradient(circle at 25% 30%,rgba(201,149,76,.12),transparent 36rem),var(--bg); }
.care-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(480px,.72fr); gap: clamp(50px,8vw,130px); align-items: center; }
.care-badge { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 25px; padding: 7px 12px; border: 1px solid rgba(120,193,139,.3); border-radius: 999px; color: #b3dfbd; background: rgba(120,193,139,.06); font-size: .63rem; font-weight: 850; }
.care-badge i { width: 8px; height: 8px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 5px rgba(120,193,139,.09); }
.care-copy h2 { max-width: 820px; margin: 0; font-size: clamp(2.4rem,4.5vw,5.1rem); font-weight: 730; letter-spacing: -.06em; line-height: 1.02; }
.care-copy > p:not(.eyebrow) { max-width: 850px; margin: 26px 0 0; color: var(--muted); font-size: .94rem; line-height: 1.8; }
.care-features { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 31px 0 34px; }
.care-features > div { display: flex; gap: 12px; padding: 15px; border: 1px solid var(--border); border-radius: 13px; background: rgba(255,255,255,.018); }
.care-features svg { width: 20px; flex: 0 0 auto; color: var(--accent-light); stroke-width: 2.4; }
.care-features strong,.care-features small { display: block; }
.care-features strong { font-size: .72rem; }
.care-features small { margin-top: 3px; color: var(--muted); font-size: .61rem; }
.care-panel { overflow: hidden; border: 1px solid var(--border-accent); border-radius: 27px; background: linear-gradient(145deg,rgba(201,149,76,.09),transparent 50%),var(--bg-soft); box-shadow: var(--shadow); }
.care-panel__header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; border-bottom: 1px solid var(--border); }
.care-panel__header span { color: var(--accent-light); font-size: .67rem; font-weight: 900; letter-spacing: .16em; }
.care-panel__header small { color: var(--muted); font-size: .59rem; }
.care-panel__status { display: flex; gap: 17px; align-items: center; padding: 29px 24px; border-bottom: 1px solid var(--border); background: rgba(120,193,139,.035); }
.pulse { width: 16px; height: 16px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 8px rgba(120,193,139,.09),0 0 25px rgba(120,193,139,.3); }
.care-panel__status strong,.care-panel__status small { display: block; }
.care-panel__status strong { font-size: .9rem; }
.care-panel__status small { margin-top: 4px; color: var(--muted); font-size: .64rem; }
.care-panel__rows { display: grid; gap: 1px; background: var(--border); }
.care-panel__rows div { display: flex; justify-content: space-between; gap: 20px; padding: 17px 24px; background: var(--card); }
.care-panel__rows span { color: var(--soft); font-size: .7rem; }
.care-panel__rows strong { color: var(--accent-light); font-size: .63rem; text-transform: uppercase; }
.care-panel__footer { display: flex; gap: 15px; align-items: center; padding: 24px; }
.care-panel__footer svg { width: 42px; flex: 0 0 auto; color: var(--accent-light); }
.care-panel__footer p { margin: 0; }
.care-panel__footer strong,.care-panel__footer small { display: block; }
.care-panel__footer strong { font-size: .77rem; }
.care-panel__footer small { margin-top: 4px; color: var(--muted); font-size: .61rem; }

.calculator-cta { padding: 38px 0; border-block: 1px solid var(--border); background: linear-gradient(90deg,rgba(201,149,76,.09),transparent 38%,rgba(201,149,76,.035)),var(--bg-soft); }
.calculator-cta__inner { display: grid; grid-template-columns: 95px minmax(0,1fr) auto; gap: 27px; align-items: center; }
.calculator-cta__icon { display: grid; width: 95px; height: 95px; place-items: center; border: 1px solid var(--border-accent); border-radius: 22px; color: var(--accent-light); background: rgba(201,149,76,.07); }
.calculator-cta__icon svg { width: 58px; }
.calculator-cta h2 { margin: 0; font-size: clamp(1.6rem,2.6vw,2.7rem); letter-spacing: -.04em; }
.calculator-cta p:not(.eyebrow) { margin: 8px 0 0; color: var(--muted); font-size: .76rem; }

.contact-section { padding: 130px 0; background: radial-gradient(circle at 10% 85%,rgba(201,149,76,.1),transparent 35rem),var(--bg); }
.contact-layout { display: grid; grid-template-columns: minmax(0,.78fr) minmax(560px,1.22fr); gap: clamp(45px,8vw,120px); align-items: start; }
.contact-copy h2 { margin: 0; font-size: clamp(2.4rem,4.5vw,5rem); font-weight: 730; letter-spacing: -.06em; line-height: 1.02; }
.contact-copy > p:not(.eyebrow) { margin: 25px 0 0; color: var(--muted); font-size: .92rem; }
.contact-details { display: grid; gap: 10px; margin-top: 35px; }
.contact-details > a,.contact-details > div { display: flex; gap: 14px; align-items: center; padding: 15px; border: 1px solid var(--border); border-radius: 13px; text-decoration: none; background: rgba(255,255,255,.018); transition: border-color var(--transition),background var(--transition); }
.contact-details > a:hover { border-color: var(--border-accent); background: rgba(201,149,76,.045); }
.contact-details > a > span,.contact-details > div > span { display: grid; width: 45px; height: 45px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(201,149,76,.25); border-radius: 11px; color: var(--accent-light); background: rgba(201,149,76,.055); }
.contact-details svg { width: 23px; }
.contact-details p { margin: 0; }
.contact-details small,.contact-details strong { display: block; }
.contact-details small { color: var(--muted); font-size: .58rem; }
.contact-details strong { margin-top: 3px; font-size: .75rem; }
.contact-form { padding: clamp(27px,4vw,43px); border: 1px solid var(--border-accent); border-radius: var(--radius-l); background: linear-gradient(145deg,rgba(201,149,76,.07),transparent 38%),var(--bg-soft); box-shadow: var(--shadow); }
.contact-form__heading > span { color: var(--accent-light); font-size: .62rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.contact-form__heading h3 { margin: 8px 0 0; font-size: clamp(1.55rem,2.6vw,2.5rem); letter-spacing: -.045em; }
.contact-form__heading p { margin: 7px 0 0; color: var(--muted); font-size: .72rem; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 28px; }
.form-field--full { grid-column: 1/-1; }
.form-field label { display: block; margin-bottom: 8px; color: var(--soft); font-size: .68rem; font-weight: 750; }
.form-field label span { color: var(--accent-light); }
.form-field input,.form-field select,.form-field textarea { width: 100%; border: 1px solid var(--border); border-radius: 11px; color: var(--text); outline: none; background: var(--input); transition: border-color var(--transition),box-shadow var(--transition); }
.form-field input,.form-field select { min-height: 54px; padding: 0 14px; }
.form-field textarea { min-height: 155px; padding: 14px; resize: vertical; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { border-color: var(--accent-light); box-shadow: 0 0 0 4px rgba(201,149,76,.1); }
.form-field [aria-invalid="true"] { border-color: var(--danger); }
.form-error { display: block; min-height: 18px; margin-top: 5px; color: #efaaaa; font-size: .58rem; }
.form-meta { display: flex; justify-content: space-between; gap: 15px; }
.form-meta > span { margin-top: 5px; color: var(--muted); font-size: .56rem; }
.honeypot { position: absolute; left: -9999px; }
.consent { display: flex; gap: 11px; align-items: flex-start; margin-top: 18px; color: var(--muted); font-size: .62rem; cursor: pointer; }
.consent input { position: absolute; opacity: 0; }
.consent__box { display: grid; width: 24px; height: 24px; flex: 0 0 auto; place-items: center; border: 1px solid var(--border-strong); border-radius: 7px; background: var(--input); }
.consent__box svg { width: 16px; color: transparent; stroke-width: 2.6; }
.consent input:checked + .consent__box { border-color: var(--accent-light); background: var(--accent-light); }
.consent input:checked + .consent__box svg { color: #17120b; }
.form-response { margin: 17px 0 0; padding: 13px 15px; border-radius: 10px; font-size: .68rem; }
.form-response--success { border: 1px solid rgba(120,193,139,.35); color: #b9e1c2; background: rgba(120,193,139,.07); }
.form-response--error { border: 1px solid rgba(223,127,127,.35); color: #efb5b5; background: rgba(223,127,127,.07); }
.submit-button { margin-top: 15px; }
.submit-button__default { display: inline-flex; align-items: center; gap: 10px; }
.submit-button__default svg { width: 19px; }
.submit-button__loading { display: none; align-items: center; gap: 9px; }
.submit-button__loading i { width: 18px; height: 18px; border: 2px solid rgba(23,18,11,.25); border-top-color: #17120b; border-radius: 50%; animation: spin .7s linear infinite; }
.submit-button.is-loading .submit-button__default { display: none; }
.submit-button.is-loading .submit-button__loading { display: inline-flex; }
@keyframes spin { to { transform: rotate(360deg); } }
.contact-form__note { margin: 12px 0 0; color: var(--muted); font-size: .56rem; text-align: center; }

.site-footer { border-top: 1px solid var(--border); background: #080a0c; }
.footer-main { display: grid; grid-template-columns: 1.6fr repeat(3,1fr); gap: 50px; padding-block: 65px; }
.footer-brand > p { max-width: 470px; margin: 21px 0 0; color: var(--muted); font-size: .68rem; }
.footer-column { display: flex; flex-direction: column; gap: 10px; }
.footer-column > strong { margin-bottom: 7px; color: var(--accent-light); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.footer-column a,.footer-column span { color: var(--muted); font-size: .65rem; line-height: 1.7; text-decoration: none; }
.footer-column a:hover { color: var(--text); }
.footer-bottom { display: flex; min-height: 65px; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--border); color: #686d74; font-size: .58rem; }
.footer-bottom a { text-decoration: none; }
.mobile-contact-bar { display: none; }

@media (max-width: 1240px) {
    .desktop-nav { display: none; }
    .menu-button { display: block; }
    .hero__layout { grid-template-columns: minmax(0,1fr) minmax(460px,.8fr); }
    .quick-nav__grid { grid-template-columns: repeat(2,1fr); }
    .quick-nav__grid > a:nth-child(2) { border-right: 0; }
    .quick-nav__grid > a:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
    .integration-layout { grid-template-columns: minmax(0,.8fr) minmax(510px,1.1fr); }
    .audience-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 1020px) {
    body { font-size: 17px; }
    .header-phone,.header-cta { display: none; }
    .hero { min-height: auto; }
    .hero__layout { min-height: auto; grid-template-columns: 1fr; padding-block: 75px 100px; }
    .hero__content { max-width: 900px; }
    .hero-system { width: min(100%,700px); margin-inline: auto; }
    .section-heading-large { grid-template-columns: 1fr; gap: 22px; }
    .service-card--wide { grid-template-columns: 1fr; grid-template-rows: 270px 1fr; }
    .service-card--wide .service-card__visual { border-right: 0; border-bottom: 1px solid var(--border); }
    .integration-layout,.care-layout,.contact-layout { grid-template-columns: 1fr; }
    .integration-copy,.care-copy,.contact-copy { max-width: 900px; }
    .integration-map { width: min(100%,700px); margin-inline: auto; }
    .process-layout { grid-template-columns: 1fr; }
    .process-intro { position: static; max-width: 850px; }
    .calculator-cta__inner { grid-template-columns: 80px 1fr; }
    .calculator-cta__inner > a { grid-column: 2; justify-self: start; }
    .footer-main { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 760px) {
    .container { width: min(calc(100% - 30px),var(--container)); }
    .site-header__inner { min-height: 76px; }
    .brand__mark { width: 43px; height: 43px; }
    .brand__copy small { max-width: 190px; font-size: .59rem; }
    .mobile-menu { inset: 77px 0 0; }
    .hero__layout { padding-block: 62px 90px; }
    .hero h1 { font-size: clamp(2.65rem,13vw,4.2rem); }
    .hero__lead { font-size: 1rem; }
    .hero__actions { display: grid; }
    .hero__actions .button { width: 100%; }
    .hero-system { min-height: 510px; border-radius: 23px; }
    .hero-system__core { height: 350px; }
    .core-ring--1 { width: 135px; height: 135px; }
    .core-ring--2 { width: 245px; height: 245px; }
    .core-ring--3 { width: 330px; height: 330px; }
    .core-center { width: 90px; height: 90px; }
    .system-node { min-width: 118px; grid-template-columns: 34px 1fr; gap: 7px; padding: 9px; }
    .system-node > span { width: 34px; height: 34px; }
    .system-node svg { width: 19px; }
    .system-node strong { font-size: .57rem; }
    .system-node small { display: none; }
    .system-node--electric,.system-node--automation { left: 13px; }
    .system-node--security,.system-node--service { right: 13px; }
    .system-node--electric,.system-node--security { top: 28px; }
    .system-node--automation,.system-node--service { bottom: 22px; }
    .hero-system__bottom > div { padding: 13px 8px; }
    .hero-system__bottom small { display: none; }
    .quick-nav { margin-top: -28px; }
    .quick-nav__grid { grid-template-columns: 1fr; border-radius: 17px; }
    .quick-nav__grid > a { min-height: 88px; border-right: 0; border-bottom: 1px solid var(--border); padding: 16px; }
    .quick-nav__grid > a:last-child { border-bottom: 0; }
    .quick-nav__grid > a:nth-child(2) { border-bottom: 1px solid var(--border); }
    .quick-nav__icon { width: 48px; height: 48px; }
    .section,.integration-section,.process-section,.care-section,.contact-section { padding: 85px 0; }
    .section--intro { padding-top: 110px; }
    .section-heading-large { margin-bottom: 36px; }
    .section-heading-large h2 { font-size: clamp(2rem,10vw,3.1rem); }
    .service-overview { grid-template-columns: 1fr; }
    .service-card { min-height: auto; }
    .service-card--wide { grid-column: auto; }
    .service-card__body { padding: 26px 22px 29px; }
    .service-card__body h3 { font-size: 1.65rem; }
    .service-columns { grid-template-columns: 1fr; gap: 18px; }
    .integration-map { min-height: 480px; transform: scale(.9); }
    .integration-map::before { width: 430px; height: 430px; }
    .map-node { width: 115px; height: 76px; }
    .map-node--2 { right: 2%; }
    .map-node--5 { left: 2%; }
    .map-node--3 { right: 3%; }
    .map-node--4 { left: 25%; }
    .audience-grid { grid-template-columns: 1fr; }
    .audience-grid article { min-height: 270px; }
    .care-features { grid-template-columns: 1fr; }
    .calculator-cta__inner { grid-template-columns: 65px 1fr; gap: 18px; }
    .calculator-cta__icon { width: 65px; height: 65px; border-radius: 16px; }
    .calculator-cta__icon svg { width: 40px; }
    .calculator-cta__inner > a { grid-column: 1/-1; width: 100%; }
    .contact-layout { gap: 45px; }
    .contact-form { padding: 25px 18px; }
    .form-grid { grid-template-columns: 1fr; }
    .form-field--full { grid-column: auto; }
    .footer-main { grid-template-columns: 1fr; gap: 35px; padding-block: 50px; }
    .footer-bottom { min-height: 90px; flex-direction: column; justify-content: center; text-align: center; }
    body { padding-bottom: calc(74px + env(safe-area-inset-bottom)); }
    .mobile-contact-bar { position: fixed; right: 0; bottom: 0; left: 0; z-index: 90; display: grid; min-height: 68px; grid-template-columns: repeat(3,1fr); padding-bottom: env(safe-area-inset-bottom); border-top: 1px solid var(--border-accent); background: rgba(11,13,16,.96); backdrop-filter: blur(18px); }
    .mobile-contact-bar a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border-right: 1px solid var(--border); color: var(--soft); font-size: .55rem; font-weight: 750; text-decoration: none; }
    .mobile-contact-bar a:last-child { border-right: 0; }
    .mobile-contact-bar svg { width: 22px; color: var(--accent-light); }
}

@media (max-width: 430px) {
    body { font-size: 16px; }
    .brand__copy small { display: none; }
    .hero-system__top { padding: 17px; }
    .status-dot { font-size: .48rem; }
    .hero-system { min-height: 490px; }
    .core-ring--3 { width: 290px; height: 290px; }
    .system-node { min-width: 103px; }
    .system-node strong { font-size: .51rem; }
    .hero-system__bottom strong { font-size: .55rem; }
    .integration-map { margin: -40px -30px; transform: scale(.72); }
    .process-list li { grid-template-columns: 55px 1fr; gap: 14px; }
    .process-list li > span { width: 50px; height: 50px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* ========================================================================== 
   ES-SERWIS V2 — większa czytelność, prawdziwe logo i dostępność
   ========================================================================== */

html {
    font-size: 18px;
}

body {
    font-size: 20px;
    line-height: 1.72;
}

.brand--logo {
    min-width: 170px;
    max-width: 255px;
}

.brand__logo {
    display: block;
    width: auto;
    max-width: 245px;
    height: 68px;
    object-fit: contain;
    object-position: left center;
}

.brand__logo--footer {
    max-width: 260px;
    height: 82px;
}

.brand__fallback {
    display: none;
    align-items: center;
    gap: 13px;
}

.brand.logo-missing .brand__logo {
    display: none;
}

.brand.logo-missing .brand__fallback {
    display: inline-flex;
}

.site-header__inner {
    min-height: 98px;
}

.desktop-nav a {
    font-size: .94rem;
}

.header-phone small {
    font-size: .76rem;
}

.header-phone strong {
    font-size: .94rem;
}

.button {
    min-height: 56px;
    padding-inline: 24px;
    font-size: .94rem;
}

.button--large {
    min-height: 64px;
    padding-inline: 30px;
    font-size: 1rem;
}

.eyebrow {
    font-size: .82rem;
    line-height: 1.45;
}

.hero__lead {
    font-size: clamp(1.16rem, 1.5vw, 1.38rem);
}

.hero__trust span {
    font-size: .88rem;
}

.hero-system__top small,
.status-dot {
    font-size: .72rem;
}

.hero-system__top strong {
    font-size: 1.04rem;
}

.system-node strong {
    font-size: .83rem;
}

.system-node small {
    font-size: .69rem;
}

.hero-system__bottom span {
    font-size: .76rem;
}

.hero-system__bottom strong {
    font-size: .78rem;
}

.hero-system__bottom small {
    font-size: .66rem;
}

.quick-nav__grid strong {
    font-size: .94rem;
}

.quick-nav__grid small {
    font-size: .78rem;
}

.section-heading-large > p,
.integration-copy > p:not(.eyebrow),
.process-intro > p:not(.eyebrow),
.care-copy > p:not(.eyebrow),
.contact-copy > p:not(.eyebrow) {
    font-size: 1rem;
}

.service-number {
    font-size: .8rem;
}

.service-card__body > p:not(.eyebrow) {
    font-size: 1rem;
}

.service-card__tag,
.care-badge {
    font-size: .72rem;
}

.service-columns strong {
    font-size: .94rem;
}

.service-columns li,
.feature-list li {
    margin-block: 11px;
    font-size: .9rem;
    line-height: 1.65;
}

.text-link {
    font-size: .94rem;
}

.integration-benefits > div > span {
    font-size: .76rem;
}

.integration-benefits strong {
    font-size: .92rem;
}

.integration-benefits small {
    font-size: .78rem;
}

.map-center small {
    font-size: .68rem;
}

.map-node span {
    font-size: .78rem;
}

.audience-grid h3 {
    font-size: 1.28rem;
}

.audience-grid p {
    font-size: .92rem;
}

.process-list li > span {
    font-size: .84rem;
}

.process-list strong {
    font-size: 1.22rem;
}

.process-list p {
    font-size: .92rem;
}

.care-features strong {
    font-size: .9rem;
}

.care-features small {
    font-size: .78rem;
}

.care-panel__header span {
    font-size: .8rem;
}

.care-panel__header small {
    font-size: .74rem;
}

.care-panel__status strong {
    font-size: 1.06rem;
}

.care-panel__status small,
.care-panel__rows span,
.care-panel__footer small {
    font-size: .8rem;
}

.care-panel__rows strong {
    font-size: .76rem;
}

.care-panel__footer strong {
    font-size: .94rem;
}

.calculator-cta p:not(.eyebrow) {
    font-size: .92rem;
}

.contact-details small {
    font-size: .76rem;
}

.contact-details strong {
    font-size: .94rem;
}

.contact-form__heading > span {
    font-size: .76rem;
}

.contact-form__heading p {
    font-size: .9rem;
}

.form-field label {
    font-size: .88rem;
}

.form-field input,
.form-field select,
.form-field textarea {
    min-height: 56px;
    font-size: 1rem;
}

.form-field textarea {
    min-height: 170px;
}

.form-error,
.form-meta > span,
.contact-form__note {
    font-size: .72rem;
}

.consent {
    font-size: .82rem;
    line-height: 1.6;
}

.form-response {
    font-size: .86rem;
}

.footer-brand > p {
    font-size: .84rem;
}

.footer-column > strong {
    font-size: .8rem;
}

.footer-column a,
.footer-column span {
    font-size: .82rem;
}

.footer-bottom {
    font-size: .74rem;
}

@media (max-width: 1020px) {
    body {
        font-size: 19px;
    }

    .site-header__inner {
        min-height: 90px;
    }

    .mobile-menu {
        inset: 91px 0 0;
    }
}

@media (max-width: 760px) {
    html {
        font-size: 17px;
    }

    body {
        font-size: 18px;
    }

    .site-header__inner {
        min-height: 80px;
    }

    .brand--logo {
        min-width: 125px;
        max-width: 190px;
    }

    .brand__logo {
        max-width: 185px;
        height: 58px;
    }

    .brand__logo--footer {
        max-width: 230px;
        height: 74px;
    }

    .mobile-menu {
        inset: 81px 0 0;
    }

    .mobile-menu a {
        min-height: 56px;
        display: flex;
        align-items: center;
        font-size: 1.05rem;
    }

    .hero__lead {
        font-size: 1.08rem;
    }

    .system-node strong {
        font-size: .72rem;
    }

    .hero-system__bottom strong {
        font-size: .72rem;
    }

    .mobile-contact-bar a {
        font-size: .7rem;
    }
}

@media (max-width: 430px) {
    body {
        font-size: 18px;
    }

    .brand--logo {
        min-width: 112px;
        max-width: 158px;
    }

    .brand__logo {
        max-width: 155px;
        height: 52px;
    }

    .brand__fallback .brand__copy small {
        display: none;
    }

    .status-dot {
        font-size: .63rem;
    }

    .system-node strong {
        font-size: .66rem;
    }

    .hero-system__bottom strong {
        font-size: .66rem;
    }
}

/* ========================================================================== 
   ES-SERWIS V4 — mniejsze logo z nazwą oraz bezpieczne animacje premium
   ========================================================================== */

/* Logo nie jest już szerokim banerem. Obok znaku znajduje się nazwa i slogan. */
.brand--logo {
    min-width: 218px;
    max-width: 285px;
}

.brand__visual {
    display: inline-grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-width: 0;
}

.brand__logo {
    display: block;
    width: 48px;
    height: 48px;
    max-width: none;
    object-fit: contain;
    object-position: center;
}

.brand__logo--footer {
    width: 54px;
    height: 54px;
    max-width: none;
}

.brand__identity {
    display: flex;
    min-width: 0;
    flex-direction: column;
    line-height: 1.16;
}

.brand__identity strong {
    color: var(--text);
    font-size: 1.08rem;
    font-weight: 820;
    letter-spacing: .015em;
    white-space: nowrap;
}

.brand__identity small {
    margin-top: 5px;
    color: var(--muted);
    font-size: .71rem;
    font-weight: 680;
    letter-spacing: .035em;
    white-space: nowrap;
}

.brand.logo-missing .brand__visual {
    display: none;
}

.brand.logo-missing .brand__fallback {
    display: inline-flex;
}

/*
 * Animacje wykorzystują osobną właściwość translate zamiast transform.
 * Dzięki temu nie nadpisują pozycjonowania pierścieni, ikon ani paneli.
 */
.hero__content > * {
    opacity: 0;
    translate: 0 14px;
    animation: esSafeHeroReveal .62s cubic-bezier(.2,.72,.2,1) forwards;
}

.hero__content > :nth-child(1) { animation-delay: .05s; }
.hero__content > :nth-child(2) { animation-delay: .12s; }
.hero__content > :nth-child(3) { animation-delay: .19s; }
.hero__content > :nth-child(4) { animation-delay: .26s; }
.hero__content > :nth-child(5) { animation-delay: .33s; }

.hero-system {
    opacity: 0;
    translate: 16px 0;
    animation: esSafePanelReveal .78s .14s cubic-bezier(.2,.72,.2,1) forwards;
}

/* Bezpieczna animacja — nie zmienia transform wymaganych do centrowania. */
.core-ring--1 { animation: esSafeRingGlow 5s ease-in-out infinite; }
.core-ring--2 { animation: esSafeRingGlow 5s .7s ease-in-out infinite; }
.core-ring--3 { animation: esSafeRingGlow 5s 1.4s ease-in-out infinite; }
.core-center { animation: esSafeCoreGlow 4.8s ease-in-out infinite; }
.status-dot i { animation: esSafeStatusPulse 2.2s ease-in-out infinite; }

/* Pojawianie sekcji. Brak filtra blur i brak nadpisywania transform. */
.motion-ready .reveal-item {
    opacity: 0;
    translate: 0 18px;
    transition:
        opacity .66s cubic-bezier(.2,.72,.2,1) var(--reveal-delay, 0ms),
        translate .66s cubic-bezier(.2,.72,.2,1) var(--reveal-delay, 0ms);
}

.motion-ready .reveal-item.reveal-from-left { translate: -18px 0; }
.motion-ready .reveal-item.reveal-from-right { translate: 18px 0; }
.motion-ready .reveal-item.is-visible {
    opacity: 1;
    translate: 0 0;
}

/* Delikatne podświetlenia zamiast przesuwania całych kafelków. */
.service-card,
.audience-grid > article,
.quick-nav__grid > a,
.process-list li,
.care-panel,
.calculator-cta,
.contact-form {
    transition:
        border-color .34s ease,
        box-shadow .34s ease,
        background-color .34s ease;
}

.service-card:hover,
.audience-grid > article:hover,
.quick-nav__grid > a:hover,
.process-list li:hover,
.care-panel:hover,
.calculator-cta:hover,
.contact-form:hover {
    border-color: rgba(201,149,76,.38);
    box-shadow: 0 22px 52px rgba(0,0,0,.22), 0 0 0 1px rgba(201,149,76,.045);
}

.service-card__visual svg,
.quick-nav__icon svg,
.care-feature-icon svg {
    transition: scale .35s cubic-bezier(.2,.72,.2,1), filter .35s ease;
}

.service-card:hover .service-card__visual svg,
.quick-nav__grid > a:hover .quick-nav__icon svg,
.care-features > div:hover .care-feature-icon svg {
    scale: 1.055;
    filter: drop-shadow(0 7px 13px rgba(201,149,76,.22));
}

.section-heading-large h2,
.integration-copy h2,
.process-intro h2,
.care-copy h2,
.contact-copy h2 {
    text-wrap: balance;
}

.section-heading-large::after {
    display: block;
    width: 58px;
    height: 2px;
    margin: 22px auto 0;
    content: "";
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, var(--accent-light), transparent);
    opacity: .72;
    animation: esSafeHeadingGlow 4.4s ease-in-out infinite;
}

@keyframes esSafeHeroReveal {
    to { opacity: 1; translate: 0 0; }
}

@keyframes esSafePanelReveal {
    to { opacity: 1; translate: 0 0; }
}

@keyframes esSafeRingGlow {
    0%, 100% { opacity: .42; border-color: rgba(201,149,76,.13); }
    50% { opacity: .74; border-color: rgba(201,149,76,.25); }
}

@keyframes esSafeCoreGlow {
    0%, 100% { box-shadow: 0 0 45px rgba(201,149,76,.12); }
    50% { box-shadow: 0 0 67px rgba(201,149,76,.23); }
}

@keyframes esSafeStatusPulse {
    0%, 100% { box-shadow: 0 0 0 5px rgba(120,193,139,.09); }
    50% { box-shadow: 0 0 0 10px rgba(120,193,139,0); }
}

@keyframes esSafeHeadingGlow {
    0%, 100% { opacity: .48; width: 48px; }
    50% { opacity: .9; width: 72px; }
}

@media (max-width: 760px) {
    .brand--logo {
        min-width: 177px;
        max-width: 215px;
    }

    .brand__visual {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 9px;
    }

    .brand__logo {
        width: 40px;
        height: 40px;
    }

    .brand__logo--footer {
        width: 48px;
        height: 48px;
    }

    .brand__identity strong {
        font-size: .94rem;
    }

    .brand__identity small {
        margin-top: 4px;
        font-size: .61rem;
    }

    .hero-system {
        translate: 0 14px;
    }
}

@media (max-width: 430px) {
    .brand--logo {
        min-width: 157px;
        max-width: 182px;
    }

    .brand__visual {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 8px;
    }

    .brand__logo {
        width: 36px;
        height: 36px;
    }

    .brand__identity strong {
        font-size: .86rem;
    }

    .brand__identity small {
        font-size: .55rem;
        letter-spacing: .02em;
    }
}

@media (hover: none) {
    .service-card:hover,
    .audience-grid > article:hover,
    .quick-nav__grid > a:hover,
    .process-list li:hover,
    .care-panel:hover,
    .calculator-cta:hover,
    .contact-form:hover {
        box-shadow: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero__content > *,
    .hero-system,
    .core-ring--1,
    .core-ring--2,
    .core-ring--3,
    .core-center,
    .status-dot i,
    .section-heading-large::after {
        opacity: 1 !important;
        translate: none !important;
        animation: none !important;
    }

    .motion-ready .reveal-item {
        opacity: 1 !important;
        translate: none !important;
        transition: none !important;
    }

    .service-card__visual svg,
    .quick-nav__icon svg,
    .care-feature-icon svg {
        scale: 1 !important;
        transition: none !important;
    }
}

/* ========================================================================== 
   ES-SERWIS V5 — nieprzezroczyste menu mobilne i dropdown konfiguratorów
   ========================================================================== */

/* Dropdown w menu desktopowym */
.desktop-nav .nav-dropdown {
    position: relative;
}

.desktop-nav .nav-dropdown > summary {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px 8px 0;
    color: var(--soft);
    font-size: .94rem;
    font-weight: 720;
    line-height: 1.2;
    list-style: none;
    cursor: pointer;
    transition: color var(--transition);
}

.desktop-nav .nav-dropdown > summary::-webkit-details-marker {
    display: none;
}

.desktop-nav .nav-dropdown > summary::after {
    position: absolute;
    top: 50%;
    right: 1px;
    width: 7px;
    height: 7px;
    content: "";
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-70%) rotate(45deg);
    transition: transform var(--transition), color var(--transition);
}

.desktop-nav .nav-dropdown[open] > summary,
.desktop-nav .nav-dropdown > summary:hover {
    color: var(--text);
}

.desktop-nav .nav-dropdown[open] > summary::after {
    transform: translateY(-28%) rotate(225deg);
}

.nav-dropdown__menu {
    position: absolute;
    top: calc(100% + 14px);
    left: 50%;
    z-index: 130;
    width: max-content;
    min-width: 280px;
    padding: 9px;
    border: 1px solid var(--border-accent);
    border-radius: 14px;
    background: #11151a;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .48);
    transform: translateX(-50%);
}

.nav-dropdown__menu::before {
    position: absolute;
    top: -7px;
    left: 50%;
    width: 12px;
    height: 12px;
    content: "";
    border-top: 1px solid var(--border-accent);
    border-left: 1px solid var(--border-accent);
    background: #11151a;
    transform: translateX(-50%) rotate(45deg);
}

.desktop-nav .nav-dropdown .nav-dropdown__menu a {
    display: block;
    padding: 13px 15px;
    border-radius: 10px;
    color: var(--soft);
    white-space: nowrap;
}

.desktop-nav .nav-dropdown .nav-dropdown__menu a::after {
    display: none;
}

.desktop-nav .nav-dropdown .nav-dropdown__menu a:hover {
    color: var(--accent-light);
    background: rgba(201, 149, 76, .09);
}

/* Menu mobilne — pełne, nieprzezroczyste tło */
.mobile-menu {
    isolation: isolate;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    border-top: 1px solid var(--border-accent);
    background: #0b0d10 !important;
    background-color: #0b0d10 !important;
    box-shadow: 0 26px 70px rgba(0, 0, 0, .65);
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.mobile-menu::before {
    position: fixed;
    inset: 0;
    z-index: -1;
    content: "";
    background: #0b0d10;
    pointer-events: none;
}

.mobile-menu nav {
    position: relative;
    z-index: 1;
    padding-bottom: calc(110px + env(safe-area-inset-bottom));
    background: #0b0d10;
}

.mobile-menu a,
.mobile-menu__dropdown > summary {
    min-height: 60px;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    background: #0b0d10;
}

.mobile-menu__dropdown {
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    background: #0b0d10;
}

.mobile-menu__dropdown > summary {
    position: relative;
    display: flex;
    align-items: center;
    padding: 17px 52px 17px 18px;
    color: var(--soft);
    font-size: 1.05rem;
    font-weight: 750;
    line-height: 1.35;
    list-style: none;
    cursor: pointer;
}

.mobile-menu__dropdown > summary::-webkit-details-marker {
    display: none;
}

.mobile-menu__dropdown > summary::after {
    position: absolute;
    top: 50%;
    right: 22px;
    width: 10px;
    height: 10px;
    content: "";
    border-right: 2px solid var(--accent-light);
    border-bottom: 2px solid var(--accent-light);
    transform: translateY(-70%) rotate(45deg);
    transition: transform var(--transition);
}

.mobile-menu__dropdown[open] > summary {
    color: var(--text);
    background: #11151a;
}

.mobile-menu__dropdown[open] > summary::after {
    transform: translateY(-28%) rotate(225deg);
}

.mobile-menu__submenu {
    padding: 8px 10px 12px 22px;
    background: #0e1115;
}

.mobile-menu__submenu .mobile-menu__calculator {
    margin-top: 0;
    padding: 16px 17px;
    border: 1px solid var(--border-accent) !important;
    border-radius: 12px;
    color: var(--accent-light) !important;
    background: #17140f !important;
}

.mobile-menu__submenu .mobile-menu__calculator:hover,
.mobile-menu__submenu .mobile-menu__calculator:focus-visible {
    color: #17120b !important;
    background: var(--accent-light) !important;
}

@media (max-width: 1240px) {
    .desktop-nav .nav-dropdown {
        display: none;
    }
}

@media (max-width: 760px) {
    .mobile-menu {
        height: calc(100dvh - 81px);
        padding: 18px 15px 24px;
    }
}

@media (max-width: 430px) {
    .mobile-menu {
        padding-inline: 10px;
    }

    .mobile-menu__dropdown > summary,
    .mobile-menu a {
        font-size: 1rem;
    }
}


/* ========================================================================== 
   ES-SERWIS V6 — poprawka widoczności nagłówka i menu mobilnego
   Nie zmienia treści strony.
   ========================================================================== */

/* Nagłówek zawsze pozostaje nad panelem menu mobilnego. */
.site-header {
    z-index: 1200;
}

.site-header__inner {
    position: relative;
    z-index: 1202;
}

.brand,
.brand__visual,
.brand__fallback,
.header-actions,
.menu-button {
    position: relative;
}

.brand,
.header-actions {
    z-index: 1203;
}

/* Usunięcie pełnoekranowej warstwy, która mogła zasłaniać nagłówek. */
.mobile-menu::before {
    display: none !important;
    content: none !important;
}

/* Panel zaczyna się dopiero pod nagłówkiem. */
.mobile-menu {
    z-index: 1100;
    top: 98px;
    right: 0;
    bottom: 0;
    left: 0;
    height: auto;
    background: #0b0d10 !important;
    background-color: #0b0d10 !important;
}

.mobile-menu nav,
.mobile-menu__dropdown,
.mobile-menu__dropdown > summary,
.mobile-menu a {
    background-color: #0b0d10;
}

/* Logo i jego awaryjna wersja pozostają widoczne. */
.brand:not(.logo-missing) .brand__visual {
    display: inline-grid !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.brand.logo-missing .brand__visual {
    display: none !important;
}

.brand.logo-missing .brand__fallback {
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.brand__logo,
.brand__identity,
.brand__identity strong,
.brand__identity small {
    opacity: 1 !important;
    visibility: visible !important;
}

@media (max-width: 1240px) {
    .site-header {
        background: #0b0d10;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .menu-button {
        z-index: 1204;
        display: grid !important;
        flex: 0 0 50px;
        opacity: 1 !important;
        visibility: visible !important;
        border-color: rgba(229, 189, 122, .5);
        background: #171b21;
        box-shadow: 0 7px 22px rgba(0, 0, 0, .35);
    }

    .menu-button span {
        opacity: 1;
        background: #f4f1eb;
    }

    .menu-button[aria-expanded="true"] span:nth-child(2) {
        opacity: 0;
    }
}

@media (max-width: 1020px) {
    .mobile-menu {
        top: 90px;
    }
}

@media (max-width: 760px) {
    .mobile-menu {
        top: 80px;
        height: auto;
        padding: 18px 15px 24px;
    }
}

@media (max-width: 430px) {
    .site-header__inner {
        gap: 10px;
    }

    .header-actions {
        flex: 0 0 auto;
    }

    .menu-button {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
    }
}

