/*
Theme Name: Niezależni Doradcy Energii
Theme URI: https://example.pl/
Author: Niezależni Doradcy
Description: Lekki, mobilny motyw WordPress dla niezależnych doradców energetycznych B2B. Zawiera stronę główną, usługi, kalkulator oszczędności i formularz analizy faktury.
Version: 1.4.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: niezalezni-energia
*/

:root {
  --navy: #09243f;
  --navy-2: #123a62;
  --blue: #176cf5;
  --blue-dark: #0d55cf;
  --sky: #79d2ff;
  --ice: #eef7ff;
  --ice-2: #f7fbff;
  --white: #ffffff;
  --ink: #10253b;
  --muted: #61748a;
  --line: #dbe8f4;
  --success: #087c65;
  --shadow: 0 24px 70px rgba(16, 72, 126, .13);
  --shadow-sm: 0 12px 35px rgba(16, 72, 126, .09);
  --radius-xl: 34px;
  --radius-lg: 24px;
  --radius-md: 17px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.sr-only { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }

.container { width: min(var(--container), calc(100% - 40px)); margin-inline: auto; }
.section { padding: 105px 0; position: relative; }
.section-soft { background: var(--ice-2); }
.section-blue { background: var(--navy); color: var(--white); overflow: hidden; }
.section-blue:before { content:""; position:absolute; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(121,210,255,.19), transparent 66%); right:-180px; top:-190px; }
.section-header { max-width: 720px; margin-bottom: 45px; }
.section-header.center { text-align: center; margin-inline: auto; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; margin:0 0 18px; color:var(--blue); font-size:.78rem; line-height:1.2; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow:before { content:""; width:25px; height:2px; background:currentColor; border-radius:10px; }
.section-blue .eyebrow { color: var(--sky); }
h1,h2,h3,h4 { margin:0; color:var(--navy); letter-spacing:-.035em; line-height:1.11; }
h1 { font-size:clamp(2.65rem, 6vw, 5.25rem); font-weight:800; }
.hero-copy h1 { font-size:clamp(2.65rem, 5.15vw, 4.25rem); letter-spacing:-.045em; }
h2 { font-size:clamp(2.05rem, 4vw, 3.65rem); font-weight:780; }
h3 { font-size:1.35rem; font-weight:760; }
h4 { font-size:1.04rem; font-weight:760; }
.section-blue h1,.section-blue h2,.section-blue h3 { color:var(--white); }
p { margin:0 0 1em; }
.lead { font-size:clamp(1.05rem, 1.6vw, 1.24rem); color:var(--muted); line-height:1.72; }
.section-blue .lead { color:#c9daea; }
.text-blue { color:var(--blue); }

.site-header { position:sticky; top:0; z-index:100; background:rgba(255,255,255,.93); backdrop-filter:blur(18px); border-bottom:1px solid rgba(219,232,244,.78); }
.admin-bar .site-header { top:32px; }
.header-inner { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; gap:12px; min-width:max-content; }
.brand-mark { width:42px; height:42px; display:grid; place-items:center; color:var(--white); border-radius:14px; background:linear-gradient(145deg,var(--blue),#4bbcff); box-shadow:0 10px 23px rgba(23,108,245,.24); }
.brand-mark svg { width:23px; height:23px; }
.brand-copy { display:flex; flex-direction:column; line-height:1.05; }
.brand-copy strong { font-size:1rem; color:var(--navy); letter-spacing:.01em; }
.brand-copy span { margin-top:5px; font-size:.65rem; color:var(--muted); text-transform:uppercase; letter-spacing:.13em; font-weight:750; }
.main-nav { margin-left:auto; }
.main-nav ul { display:flex; align-items:center; gap:22px; list-style:none; padding:0; margin:0; }
.main-nav a { position:relative; padding:29px 0 27px; font-size:.91rem; font-weight:680; color:#28465f; }
.main-nav a:after { content:""; position:absolute; left:0; right:100%; bottom:20px; height:2px; background:var(--blue); transition:.25s ease; }
.main-nav a:hover,.main-nav .current-menu-item>a { color:var(--blue); }
.main-nav a:hover:after,.main-nav .current-menu-item>a:after { right:0; }
.header-cta { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 19px; border-radius:14px; color:var(--white); background:var(--blue); font-size:.86rem; font-weight:760; box-shadow:0 9px 25px rgba(23,108,245,.19); transition:.22s ease; }
.header-cta:hover { background:var(--blue-dark); transform:translateY(-1px); }
.menu-toggle { display:none; width:46px; height:46px; border:0; border-radius:14px; background:var(--ice); color:var(--navy); }
.menu-toggle span,.menu-toggle:before,.menu-toggle:after { content:""; display:block; width:20px; height:2px; margin:5px auto; border-radius:4px; background:currentColor; transition:.2s ease; }
.menu-toggle.active span { opacity:0; }
.menu-toggle.active:before { transform:translateY(7px) rotate(45deg); }
.menu-toggle.active:after { transform:translateY(-7px) rotate(-45deg); }

.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:54px; padding:0 24px; border:1px solid transparent; border-radius:16px; font-size:.92rem; font-weight:780; transition:.22s ease; }
.btn svg { width:18px; height:18px; }
.btn-primary { color:var(--white); background:var(--blue); box-shadow:0 14px 30px rgba(23,108,245,.23); }
.btn-primary:hover { background:var(--blue-dark); transform:translateY(-2px); box-shadow:0 18px 35px rgba(23,108,245,.3); }
.btn-secondary { color:var(--navy); background:var(--white); border-color:var(--line); }
.btn-secondary:hover { border-color:#b5d4ee; transform:translateY(-2px); box-shadow:var(--shadow-sm); }
.btn-light { color:var(--navy); background:var(--white); }
.btn-link { min-height:auto; padding:0; border-radius:0; color:var(--blue); }
.btn-link:hover { gap:14px; }
.button-row { display:flex; flex-wrap:wrap; align-items:center; gap:13px; }

.hero { padding:70px 0 82px; overflow:hidden; background:radial-gradient(circle at 14% 5%, rgba(121,210,255,.19), transparent 30%), linear-gradient(180deg,#fff 0%,#f9fcff 100%); }
.hero:after { content:""; position:absolute; z-index:0; width:390px; height:390px; border:1px solid rgba(23,108,245,.1); border-radius:50%; left:-180px; bottom:-190px; }
.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:70px; }
.hero-copy { max-width:660px; }
.hero-copy .lead { max-width:610px; margin-top:24px; }
.hero-copy .button-row { margin-top:31px; }
.trust-line { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:25px; color:#587086; font-size:.83rem; font-weight:620; }
.trust-line span { display:flex; align-items:center; gap:7px; }
.trust-line svg { width:16px; height:16px; color:var(--success); }
.hero-visual { min-height:500px; position:relative; display:flex; align-items:center; }
.hero-photo { position:absolute; left:0; right:8%; top:50%; aspect-ratio:1500 / 1120; transform:translateY(-50%); border-radius:38px 38px 100px 38px; overflow:hidden; background:var(--ice); box-shadow:var(--shadow); }
.hero-photo:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(9,36,63,.35)); }
.hero-photo img { width:100%; height:100%; object-fit:contain; object-position:center; }
.hero-float { position:absolute; z-index:3; right:0; bottom:47px; width:280px; padding:23px; border:1px solid rgba(255,255,255,.83); border-radius:22px; background:rgba(255,255,255,.94); backdrop-filter:blur(18px); box-shadow:0 25px 60px rgba(9,36,63,.18); }
.hero-float-top { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:.76rem; font-weight:720; }
.hero-float-icon { width:39px; height:39px; display:grid; place-items:center; border-radius:13px; color:var(--blue); background:var(--ice); }
.hero-float-icon svg { width:21px; height:21px; }
.hero-float strong { display:block; margin-top:10px; color:var(--navy); font-size:2rem; line-height:1.1; letter-spacing:-.04em; }
.hero-float p { margin:8px 0 0; color:var(--muted); font-size:.77rem; }
.hero-dots { position:absolute; left:-25px; bottom:45px; width:130px; height:130px; opacity:.46; background-image:radial-gradient(var(--blue) 1.6px, transparent 1.6px); background-size:14px 14px; }

.intro-strip { padding:30px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.intro-strip-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.intro-stat { display:flex; align-items:center; gap:16px; padding:8px 34px; border-right:1px solid var(--line); }
.intro-stat:first-child { padding-left:0; }
.intro-stat:last-child { border-right:0; padding-right:0; }
.intro-stat-icon { width:47px; height:47px; flex:0 0 auto; display:grid; place-items:center; border-radius:15px; color:var(--blue); background:var(--ice); }
.intro-stat-icon svg { width:22px; height:22px; }
.intro-stat strong { display:block; color:var(--navy); font-size:.95rem; }
.intro-stat span { display:block; margin-top:3px; color:var(--muted); font-size:.79rem; }

.split-grid { display:grid; grid-template-columns:.96fr 1.04fr; align-items:center; gap:82px; }
.photo-stack { position:relative; min-height:560px; }
.photo-main { position:absolute; inset:0 8% 0 0; border-radius:var(--radius-xl); overflow:hidden; box-shadow:var(--shadow); }
.photo-main img { width:100%; height:100%; object-fit:cover; }
.photo-card { position:absolute; right:0; bottom:40px; width:260px; padding:24px; border-radius:20px; background:var(--navy); color:var(--white); box-shadow:0 24px 50px rgba(9,36,63,.27); }
.photo-card span { color:var(--sky); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; font-weight:750; }
.photo-card strong { display:block; margin-top:8px; font-size:1.18rem; line-height:1.35; }
.copy-list { display:grid; gap:17px; margin:30px 0 34px; }
.copy-list-item { display:grid; grid-template-columns:44px 1fr; gap:14px; align-items:start; }
.copy-list-num { width:44px; height:44px; display:grid; place-items:center; border-radius:14px; color:var(--blue); background:var(--ice); font-size:.83rem; font-weight:820; }
.copy-list-item p { margin:6px 0 0; color:var(--muted); font-size:.92rem; }

.cards-3,.cards-5 { display:grid; gap:20px; }
.cards-3 { grid-template-columns:repeat(3,1fr); }
.cards-5 { grid-template-columns:repeat(5,1fr); }
.feature-card,.service-card { height:100%; border:1px solid var(--line); background:var(--white); box-shadow:0 8px 30px rgba(16,72,126,.04); transition:.24s ease; }
.feature-card { padding:29px; border-radius:var(--radius-lg); }
.feature-card:hover,.service-card:hover { transform:translateY(-5px); border-color:#bcd9f1; box-shadow:var(--shadow-sm); }
.card-icon { width:52px; height:52px; display:grid; place-items:center; border-radius:17px; color:var(--blue); background:var(--ice); }
.card-icon svg { width:25px; height:25px; }
.feature-card h3 { margin-top:21px; }
.feature-card p { margin:11px 0 0; color:var(--muted); font-size:.9rem; }
.service-card { display:flex; flex-direction:column; min-height:310px; padding:26px 23px; border-radius:22px; }
.service-card h3 { margin-top:20px; font-size:1.14rem; }
.service-card p { margin:11px 0 22px; color:var(--muted); font-size:.86rem; line-height:1.62; }
.service-card .btn-link { margin-top:auto; justify-content:flex-start; font-size:.83rem; }

.process { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:50px; }
.process-step { position:relative; padding:0 26px; text-align:center; }
.process-step:not(:last-child):after { content:""; position:absolute; left:65%; right:-35%; top:29px; height:1px; background:linear-gradient(90deg,var(--sky),rgba(121,210,255,.1)); }
.process-num { position:relative; z-index:1; width:59px; height:59px; display:grid; place-items:center; margin:0 auto 20px; border:1px solid rgba(121,210,255,.38); border-radius:19px; background:#123a62; color:var(--sky); font-weight:820; }
.process-step h3 { font-size:1.08rem; }
.process-step p { margin:9px 0 0; color:#a9c0d4; font-size:.85rem; }

.case-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.case-card { padding:30px; border-radius:var(--radius-lg); background:var(--white); border:1px solid var(--line); }
.case-tag { display:inline-flex; padding:7px 11px; border-radius:999px; color:var(--blue); background:var(--ice); font-size:.72rem; font-weight:780; text-transform:uppercase; letter-spacing:.07em; }
.case-card strong { display:block; margin-top:28px; color:var(--navy); font-size:2.05rem; line-height:1.05; letter-spacing:-.045em; }
.case-card p { margin:12px 0 0; color:var(--muted); font-size:.88rem; }
.case-note { margin:17px 0 0; color:#8090a1; font-size:.72rem; }

.calculator-band { padding:72px 0; background:linear-gradient(135deg,#0a2948,#0e5bb5); color:var(--white); overflow:hidden; }
.calculator-band:before { content:""; position:absolute; width:450px; height:450px; right:-100px; top:-190px; border-radius:50%; border:90px solid rgba(121,210,255,.08); }
.calc-band-grid { position:relative; display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:center; }
.calculator-band h2 { color:var(--white); }
.calculator-band .lead { color:#c9daea; }
.calc-card { padding:34px; border-radius:28px; background:rgba(255,255,255,.98); box-shadow:0 30px 75px rgba(3,23,43,.27); color:var(--ink); }
.calc-field-grid { display:grid; grid-template-columns:1fr 190px; gap:13px; }
.field label { display:block; margin-bottom:8px; color:#536b82; font-size:.77rem; font-weight:760; }
.input-wrap { position:relative; }
.input-wrap input,.field select,.form-field input,.form-field textarea { width:100%; min-height:56px; padding:0 17px; color:var(--navy); border:1px solid var(--line); border-radius:15px; background:#fff; outline:none; transition:.2s ease; }
.input-wrap input { padding-right:55px; font-size:1.06rem; font-weight:760; }
.input-wrap span { position:absolute; right:17px; top:50%; transform:translateY(-50%); color:var(--muted); font-size:.83rem; font-weight:700; }
.input-wrap input:focus,.field select:focus,.form-field input:focus,.form-field textarea:focus { border-color:#83b9ee; box-shadow:0 0 0 4px rgba(23,108,245,.09); }
.calc-results { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:20px; }
.calc-result { padding:18px; border-radius:16px; background:var(--ice); }
.calc-result span { display:block; color:var(--muted); font-size:.73rem; }
.calc-result strong { display:block; margin-top:4px; color:var(--blue); font-size:1.55rem; letter-spacing:-.03em; }
.calc-disclaimer { margin:14px 0 0; color:#72869b; font-size:.68rem; }
.calc-card .button-row { margin-top:21px; }

.fit-grid { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }
.check-list { display:grid; gap:14px; margin-top:30px; }
.check-item { display:flex; gap:13px; align-items:flex-start; padding:16px 18px; border-radius:16px; background:var(--white); border:1px solid var(--line); }
.check-item svg { flex:0 0 auto; width:20px; height:20px; margin-top:2px; color:var(--success); }
.check-item span { font-size:.92rem; font-weight:620; color:#2d4962; }
.fit-photo { position:relative; height:auto; aspect-ratio:1500 / 980; border-radius:var(--radius-xl); overflow:hidden; background:var(--ice); box-shadow:var(--shadow); }
.fit-photo img { position:absolute; inset:0; width:100%; height:100%!important; max-width:none; object-fit:cover; object-position:center; }

.cta-panel { position:relative; display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; padding:48px 52px; border-radius:32px; color:var(--white); background:linear-gradient(135deg,var(--blue-dark),#178bdc); overflow:hidden; box-shadow:0 28px 65px rgba(23,108,245,.22); }
.cta-panel:after { content:""; position:absolute; width:300px; height:300px; border-radius:50%; border:60px solid rgba(255,255,255,.08); right:-80px; top:-145px; }
.cta-panel h2 { color:var(--white); font-size:clamp(1.8rem,3.1vw,3rem); }
.cta-panel p { max-width:700px; margin:14px 0 0; color:#d9edff; }
.cta-panel .button-row { position:relative; z-index:1; }

.page-hero { padding:76px 0 70px; background:radial-gradient(circle at 82% 22%,rgba(121,210,255,.23),transparent 30%),var(--ice-2); border-bottom:1px solid var(--line); }
.page-hero-grid { display:grid; grid-template-columns:1fr .82fr; gap:65px; align-items:center; }
.page-hero h1 { font-size:clamp(2.5rem,5vw,4.65rem); }
.page-hero-photo { position:relative; min-height:0; aspect-ratio:4 / 3; border-radius:32px 32px 90px 32px; overflow:hidden; background:var(--ice); box-shadow:var(--shadow); }
.page-hero-photo img { position:absolute; inset:0; width:100%; height:100%!important; max-width:none; object-fit:cover; object-position:center; }
.page-hero-photo.photo-office { aspect-ratio:1500 / 980; }
.page-hero-photo.photo-consultation { aspect-ratio:1500 / 1120; }

.services-detail { display:grid; gap:20px; }
.service-detail { display:grid; grid-template-columns:88px 1fr; gap:25px; padding:32px; border:1px solid var(--line); border-radius:24px; background:var(--white); }
.service-detail .card-icon { width:70px; height:70px; border-radius:22px; }
.service-detail ul { margin:18px 0 0; padding-left:19px; color:var(--muted); }
.service-detail li { margin:7px 0; }

.calc-page-grid { display:grid; grid-template-columns:.93fr 1.07fr; gap:40px; align-items:start; }
.calc-page-grid .calc-card { position:sticky; top:115px; border:1px solid var(--line); box-shadow:var(--shadow); }
.info-card { padding:27px; border:1px solid var(--line); border-radius:22px; background:#fff; }
.info-card + .info-card { margin-top:16px; }
.info-card h3 { font-size:1.16rem; }
.info-card p { margin:10px 0 0; color:var(--muted); font-size:.9rem; }

.analysis-form { padding:34px; border:1px solid var(--line); border-radius:27px; background:var(--white); box-shadow:var(--shadow-sm); }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.form-field.full { grid-column:1/-1; }
.form-field label { display:block; margin-bottom:8px; color:#4e667d; font-size:.78rem; font-weight:760; }
.form-field textarea { min-height:130px; padding-top:15px; resize:vertical; }
.form-field input[type=file] { padding:14px; min-height:58px; }
.form-consent { display:flex; align-items:flex-start; gap:10px; margin:20px 0; color:var(--muted); font-size:.76rem; }
.form-consent input { margin-top:4px; }
.form-status { margin-bottom:22px; padding:14px 17px; border-radius:14px; font-size:.86rem; font-weight:650; }
.form-status.success { color:#075f50; background:#e7f8f3; }
.form-status.error { color:#8b2730; background:#fff0f1; }
.form-honeypot { position:absolute; left:-9999px; }

.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.article-card { overflow:hidden; border:1px solid var(--line); border-radius:22px; background:var(--white); transition:.22s ease; }
.article-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-sm); }
.article-thumb { aspect-ratio:16/10; background:linear-gradient(135deg,var(--ice),#cbe8ff); overflow:hidden; }
.article-thumb img { width:100%; height:100%; object-fit:cover; }
.article-copy { padding:23px; }
.article-copy span { color:var(--blue); font-size:.71rem; font-weight:780; text-transform:uppercase; letter-spacing:.08em; }
.article-copy h3 { margin-top:10px; font-size:1.13rem; }
.article-copy p { margin:10px 0 0; color:var(--muted); font-size:.83rem; }

.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; align-items:start; }
.contact-card { padding:28px; border-radius:22px; background:var(--navy); color:var(--white); }
.contact-row { display:flex; gap:14px; align-items:flex-start; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.contact-row:last-child { border-bottom:0; }
.contact-row svg { width:21px; height:21px; margin-top:2px; color:var(--sky); }
.contact-row span { display:block; color:#a9bfd2; font-size:.72rem; }
.contact-row strong { display:block; margin-top:3px; color:var(--white); font-size:.94rem; }

.site-footer { padding:70px 0 25px; background:#061c31; color:#a9bfd2; }
.footer-grid { display:grid; grid-template-columns:1.5fr .7fr .7fr 1fr; gap:50px; }
.site-footer .brand-copy strong { color:var(--white); }
.site-footer .brand-copy span { color:#86a2b8; }
.footer-about { max-width:350px; margin-top:19px; font-size:.84rem; }
.footer-title { margin-bottom:16px; color:var(--white); font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; font-weight:780; }
.footer-links { display:grid; gap:9px; }
.footer-links a { font-size:.83rem; transition:.2s; }
.footer-links a:hover { color:var(--sky); }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:52px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); font-size:.73rem; }

.wp-content { padding:80px 0; }
.wp-content > * { max-width:820px; margin-inline:auto; }
.wp-content h2,.wp-content h3 { margin-top:1.6em; }
.wp-content p,.wp-content ul { color:var(--muted); }


.section-action { margin-top:42px; }
.btn-light-outline { color:var(--white); border:1px solid rgba(255,255,255,.4); background:rgba(255,255,255,.05); }
.btn-light-outline:hover { border-color:var(--white); background:rgba(255,255,255,.12); }
.steps-detail { display:grid; gap:18px; max-width:980px; margin:50px auto 0; }
.step-detail { display:grid; grid-template-columns:82px 1fr; gap:25px; padding:30px 32px; border:1px solid var(--line); border-radius:25px; background:var(--white); box-shadow:0 10px 36px rgba(16,72,126,.045); }
.step-number { width:64px; height:64px; display:grid; place-items:center; border-radius:20px; color:var(--blue); background:var(--ice); font-weight:830; }
.step-detail h3 { font-size:1.35rem; }
.step-detail p { margin:10px 0 0; color:var(--muted); }
.step-result { display:inline-flex; margin-top:17px; padding:9px 13px; border-radius:999px; color:#195f96; background:#edf7ff; font-size:.76rem; font-weight:740; }
.principles-banner { display:grid; grid-template-columns:1fr auto; gap:48px; align-items:center; padding:48px 52px; border-radius:32px; color:var(--white); background:linear-gradient(135deg,#092b4c,#0d67bd); box-shadow:0 28px 65px rgba(23,108,245,.2); }
.principles-banner h2 { color:var(--white); }
.principles-banner p { max-width:760px; margin:15px 0 0; color:#cfe3f3; }
.scope-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center; }
.scope-copy .btn-link { margin-top:24px; }
.scope-cards { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.scope-cards .info-card:first-child { grid-column:1/-1; }
.scope-cards .info-card + .info-card { margin-top:0; }

@media (min-width: 921px) and (max-width: 1280px) {
  .hero-copy h1 { font-size:clamp(3rem, 5vw, 4rem); }
}

@media (max-width: 1120px) {
  .main-nav ul { gap:18px; }
  .header-cta { display:none; }
  .hero-grid { gap:42px; }
  .cards-5 { grid-template-columns:repeat(3,1fr); }
  .service-card:nth-child(4),.service-card:nth-child(5) { min-height:280px; }
}
@media (max-width: 920px) {
  .admin-bar .site-header { top:46px; }
  .header-inner { min-height:72px; }
  .menu-toggle { display:block; margin-left:auto; }
  .main-nav { position:fixed; inset:73px 0 auto; height:calc(100vh - 73px); padding:22px; background:#fff; clip-path:inset(0 0 0 100%); opacity:0; visibility:hidden; pointer-events:none; transition:clip-path .25s ease, opacity .25s ease; }
  .main-nav.open { clip-path:inset(0); opacity:1; visibility:visible; pointer-events:auto; }
  .main-nav ul { align-items:stretch; flex-direction:column; gap:0; }
  .main-nav a { display:block; padding:17px 5px; border-bottom:1px solid var(--line); font-size:1rem; }
  .main-nav a:after { display:none; }
  .hero { padding-top:48px; }
  .hero-grid,.split-grid,.fit-grid,.page-hero-grid,.calc-page-grid,.contact-grid,.scope-grid { grid-template-columns:1fr; }
  .hero-grid { gap:48px; }
  .hero-copy { max-width:760px; }
  .hero-visual { min-height:470px; }
  .split-grid { gap:48px; }
  .photo-stack { min-height:520px; order:2; }
  .cards-3 { grid-template-columns:1fr 1fr; }
  .process { grid-template-columns:1fr 1fr; gap:40px 0; }
  .process-step:nth-child(2):after { display:none; }
  .case-grid,.article-grid { grid-template-columns:1fr 1fr; }
  .calc-band-grid { grid-template-columns:1fr; gap:35px; }
  .calc-page-grid .calc-card { position:static; }
  .cta-panel,.principles-banner { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1.2fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column:1/-1; }
}
@media (max-width: 680px) {
  .container { width:min(100% - 28px,var(--container)); }
  .section { padding:75px 0; }
  h1 { font-size:clamp(2.48rem,12vw,3.7rem); }
  h2 { font-size:clamp(2rem,9vw,2.75rem); }
  .brand-copy span { display:none; }
  .hero { padding:38px 0 57px; }
  .hero-copy .lead { margin-top:18px; font-size:1rem; }
  .button-row .btn { width:100%; }
  .trust-line { display:grid; gap:8px; }
  .hero-visual { min-height:390px; }
  .hero-photo { left:0; right:0; top:46%; transform:translateY(-50%); border-radius:27px 27px 70px 27px; }
  .hero-float { right:8px; bottom:0; width:245px; padding:19px; }
  .hero-dots { display:none; }
  .intro-strip-grid { grid-template-columns:1fr; }
  .intro-stat { padding:17px 0; border-right:0; border-bottom:1px solid var(--line); }
  .intro-stat:last-child { border-bottom:0; }
  .photo-stack { min-height:430px; }
  .photo-main { inset:0 0 20px; }
  .photo-card { right:10px; bottom:0; width:230px; padding:19px; }
  .cards-3,.cards-5,.case-grid,.article-grid { grid-template-columns:1fr; }
  .service-card { min-height:250px!important; }
  .process { grid-template-columns:1fr; gap:34px; }
  .process-step:after { display:none; }
  .calc-card { padding:23px 18px; border-radius:22px; }
  .calc-field-grid,.calc-results,.form-grid { grid-template-columns:1fr; }
  .calc-result strong { font-size:1.35rem; }
  .fit-photo { height:auto; }
  .cta-panel { padding:36px 25px; border-radius:25px; }
  .page-hero { padding:55px 0; }
  .page-hero-photo { min-height:0; }
  .service-detail,.step-detail { grid-template-columns:1fr; padding:25px; }
  .scope-cards { grid-template-columns:1fr; }
  .scope-cards .info-card:first-child { grid-column:auto; }
  .principles-banner { padding:36px 25px; border-radius:25px; }
  .analysis-form { padding:24px 18px; }
  .footer-grid { grid-template-columns:1fr; gap:32px; }
  .footer-grid > div:last-child { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
}
