

@font-face { font-family: Geist; src: url('fonts/geist-regular.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: Geist; src: url('fonts/geist-medium.ttf') format('truetype'); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: Geist; src: url('fonts/geist-semibold.ttf') format('truetype'); font-style: normal; font-weight: 600 900; font-display: swap; }
:root { --ink:#070907; --surface:#10130f; --paper:#f3f3e9; --acid:#e9ff43; --muted:#acb1a6; --line:#ffffff24; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:Geist,Arial,sans-serif; font-size:1rem; line-height:1.55; -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; color:inherit; background:none; border:0; padding:0; text-align:left; }
button:disabled { cursor:default; opacity:.35; }
a { color:inherit; text-decoration:none; }
a,button,input,textarea,select { touch-action:manipulation; }
:focus-visible { outline:2px solid var(--acid); outline-offset:5px; }
::selection { background:var(--acid); color:var(--ink); }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { font-weight:400; text-wrap:balance; }
h1 em,h2 em { font-style:normal; color:var(--acid); }
p { text-wrap:pretty; }
.shell { width:min(calc(100% - 112px),1328px); margin-inline:auto; }
.section { padding-block:100px; }
.section-kicker { display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--line); padding-bottom:20px; font-size:.875rem; color:var(--muted); }
.section-kicker i,.eyebrow i { flex:none; height:5px; width:5px; background:var(--acid); border-radius:50%; }
.section-heading { display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:80px; align-items:end; margin:46px 0 52px; }
.section-heading h2 { font-size:clamp(2.5rem,4.5vw,4.25rem); line-height:1.08; letter-spacing:-.04em; max-width:870px; }
.section-heading p { color:var(--muted); font-size:1rem; line-height:1.65; max-width:550px; }
.primary-btn,.outline-btn { display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:54px; padding:15px 24px; border-radius:999px; font-size:.9375rem; font-weight:500; line-height:1.4; transition:background .2s,transform .2s; }
.primary-btn { background:var(--acid); color:var(--ink); }
.primary-btn:hover { background:#f1ff8e; transform:translateY(-2px); }
.outline-btn { border:1px solid #ffffff48; }
.outline-btn:hover { border-color:var(--acid); }
.text-link { display:flex; justify-content:space-between; align-items:center; gap:20px; width:100%; min-height:48px; padding:15px 0; font-size:.9375rem; line-height:1.4; border-top:1px solid var(--line); transition:color .2s; }
.text-link:hover { color:var(--acid); }
.text-link > span { flex:none; }
.skip-link { position:fixed; left:16px; top:-100px; z-index:100; padding:14px; background:var(--acid); color:var(--ink); }
.skip-link:focus { top:16px; }

/* The header remains part of the first screen, even on a short laptop. */
.site-header { position:absolute; top:0; left:0; right:0; height:94px; z-index:10; display:flex; align-items:center; justify-content:space-between; gap:30px; border-bottom:1px solid #ffffff36; }
.brand { display:flex; align-items:center; gap:11px; flex:none; line-height:1; font-size:1.2rem; font-weight:600; letter-spacing:-.02em; }
.brand > span:last-child { display:flex; align-items:baseline; gap:9px; }
.brand small { font-size:.75rem; letter-spacing:.13em; font-weight:400; color:var(--muted); }
.brand-mark { width:19px; height:19px; position:relative; transform:rotate(45deg); }
.brand-mark:before,.brand-mark:after { content:""; position:absolute; background:var(--acid); }
.brand-mark:before { width:19px; height:5px; top:7px; }
.brand-mark:after { height:19px; width:5px; left:7px; }
.desktop-nav { display:flex; align-items:center; gap:25px; font-size:.875rem; }
.desktop-nav a,.desktop-nav button { min-height:44px; display:flex; align-items:center; }
.desktop-nav a:hover,.desktop-nav button:hover { color:var(--acid); }
.header-cta { display:flex; gap:25px; align-items:center; min-height:46px; padding:10px 18px; border:1px solid #ffffff40; border-radius:99px; font-size:.875rem; }
.menu-toggle,.mobile-menu { display:none; }
.hero { min-height:660px; height:100svh; max-height:1050px; position:relative; background:var(--surface) url('images/specter-hero.webp') center 55% / cover no-repeat; }
.hero:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#070907c4,transparent 76%),linear-gradient(0deg,#070907f0,transparent 50%,#07090765); }
.hero-content { height:100%; min-height:inherit; max-height:inherit; position:relative; padding-top:clamp(145px,20vh,215px); padding-bottom:44px; display:flex; flex-direction:column; justify-content:space-between; gap:42px; }
.eyebrow { display:flex; align-items:center; gap:10px; font-size:.875rem; color:#e5e6d9; }
h1 { font-size:clamp(3rem,5.45vw,5.25rem); line-height:1.06; letter-spacing:-.043em; max-width:880px; margin-top:23px; }
h1 em { display:block; }
.hero-bottom { display:flex; align-items:end; justify-content:space-between; gap:48px; }
.hero-discover { display:flex; align-items:center; gap:16px; font-size:.875rem; color:#dddeda; }
.circle-arrow { width:50px; height:50px; flex:none; display:grid; place-items:center; border:1px solid #ffffff40; border-radius:50%; font-size:1.15rem; }
.hero-pitch { max-width:390px; }
.hero-pitch p { font-size:1rem; color:#e0e1d8; margin-bottom:22px; }
.hero-pitch .primary-btn { width:100%; }

/* Two balanced routes with a clear list affordance. */
.paths-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.path-card { padding:30px; border:1px solid var(--line); border-radius:20px; background:radial-gradient(ellipse at top right,#667a2433,transparent 60%),#10130f; display:flex; flex-direction:column; }
.path-solutions { background:radial-gradient(ellipse at top right,#c7d98324,transparent 60%),#171c11; }
.path-top { display:flex; align-items:center; justify-content:space-between; font-size:.75rem; letter-spacing:.07em; color:#c3c7b9; }
.path-glyph { font-size:1.5rem; color:var(--acid); }
.path-card h3 { font-size:1.75rem; line-height:1.2; letter-spacing:-.025em; margin:40px 0 20px; }
.path-card ul { list-style:none; padding:0; margin:0 0 30px; }
.path-card li + li { border-top:1px solid #ffffff0d; }
.path-card li button { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:56px; font-size:clamp(1.1rem,1.65vw,1.5rem); line-height:1.4; padding:9px 0; transition:color .2s; }
.path-card li button span { font-size:1rem; opacity:.55; }
.path-card li button:hover { color:var(--acid); }
.path-card .text-link { margin-top:auto; }

/* A photographic house with explicit, selectable system connections. */
.system-section { background:#0c0f0a; }
.system-scene { position:relative; height:560px; overflow:hidden; border-radius:20px; border:1px solid var(--line); isolation:isolate; }
.system-scene > img { height:100%; width:100%; object-fit:cover; object-position:center; }
.scene-shade { position:absolute; inset:0; background:linear-gradient(0deg,#070907f2,transparent 45%),linear-gradient(90deg,#07090766,transparent); }
.scene-label { position:absolute; top:25px; left:28px; font-size:.75rem; letter-spacing:.08em; color:#e5e6da; }
.system-connections { position:absolute; width:100%; height:100%; inset:0; }
.system-connections path { stroke:#e9ff4366; stroke-width:1; vector-effect:non-scaling-stroke; fill:none; }
.system-connections path.active { stroke:var(--acid); stroke-width:2; stroke-dasharray:6 5; animation:flow 12s linear infinite; }
@keyframes flow { to { stroke-dashoffset:-120; } }
.system-pin { position:absolute; transform:translate(-50%,-50%); display:flex; align-items:center; gap:8px; min-height:44px; padding:9px 13px; background:#070907db; border:1px solid #ffffff50; border-radius:99px; color:#e6e7df; font-size:.75rem; white-space:nowrap; transition:background .2s,border-color .2s; }
.system-pin i { width:6px; height:6px; border-radius:50%; background:#8e9980; }
.system-pin.active { background:var(--acid); color:var(--ink); border-color:var(--acid); }
.system-pin.active i { background:var(--ink); }
.scene-caption { position:absolute; bottom:26px; left:28px; right:28px; display:flex; align-items:baseline; gap:28px; }
.scene-caption span { font-size:.75rem; color:var(--acid); flex:none; }
.scene-caption strong { font-size:1.65rem; font-weight:400; line-height:1.2; letter-spacing:-.02em; }
.system-select { display:grid; grid-template-columns:repeat(6,1fr); border-bottom:1px solid var(--line); gap:12px; }
.system-select button { display:flex; flex-direction:column; justify-content:center; gap:8px; padding:22px 0; min-height:98px; border-bottom:2px solid transparent; font-size:.875rem; line-height:1.3; }
.system-select button span { color:#859079; font-size:.75rem; }
.system-select button[aria-pressed=true] { border-color:var(--acid); color:var(--acid); }
.system-select button:hover { color:var(--acid); }
.system-explanation { max-width:740px; min-height:78px; margin-top:25px; color:#c6cbbf; font-size:1rem; }

/* Configurations, intentionally compact. */
.config-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.config-card { border-top:1px solid var(--line); padding:25px 22px 0 0; display:flex; flex-direction:column; }
.config-number { font-size:.75rem; color:var(--acid); letter-spacing:.08em; }
.config-card h3 { font-size:clamp(1.5rem,2.15vw,2rem); letter-spacing:-.025em; line-height:1.2; margin:30px 0 16px; min-height:2.4em; }
.config-card > p { color:var(--muted); font-size:1rem; min-height:3.1em; margin-bottom:28px; }
.config-parts { list-style:none; display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0 0 28px; }
.config-parts li { border:1px solid #ffffff38; border-radius:99px; padding:6px 12px; font-size:.8125rem; }
.config-card .text-link { margin-top:auto; }
.custom-system { margin-top:50px; padding:30px 0; display:flex; justify-content:space-between; gap:32px; align-items:center; border-top:1px solid var(--line); }
.custom-system p { font-size:1.1rem; color:var(--muted); }
.custom-system strong { font-size:1.55rem; color:var(--paper); font-weight:400; letter-spacing:-.02em; }

/* EMS: functional time selection, readable units, illustrative data. */
.ems-section { background:radial-gradient(ellipse at 85% 65%,#63742228,transparent 50%),#10130f; }
.ems-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; align-items:start; }
.ems-story { padding:24px 0 0; }
.ems-story .eyebrow { color:var(--muted); font-size:.75rem; letter-spacing:.08em; }
.moment-selector { display:flex; gap:8px; margin:24px 0 34px; }
.moment-selector button { padding:10px 15px; min-height:44px; font-size:.875rem; border:1px solid #ffffff3d; border-radius:99px; text-align:center; }
.moment-selector button[aria-pressed=true] { color:var(--ink); background:var(--acid); border-color:var(--acid); }
.moment-copy { min-height:288px; }
.moment-time { color:var(--acid); font-size:2.5rem; line-height:1; font-variant-numeric:tabular-nums; }
.moment-copy h3 { font-size:2rem; line-height:1.15; letter-spacing:-.03em; margin:24px 0 16px; }
.moment-copy p { color:var(--muted); font-size:1rem; line-height:1.65; }
.ems-story .text-link { margin-top:35px; }
.ems-dashboard { padding:28px; border:1px solid #ffffff26; border-radius:20px; background:#080b08; min-width:0; }
.dashboard-head { display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:.9375rem; }
.demo-badge { display:inline-flex; width:fit-content; align-items:center; border:1px solid #ffffff40; border-radius:99px; padding:7px 11px; color:#e0e3d6; background:#080b0877; font-size:.75rem; line-height:1.3; }
.dashboard-total { margin:40px 0 26px; display:flex; justify-content:space-between; gap:18px; align-items:end; }
.dashboard-total > div { display:flex; flex-direction:column; gap:12px; }
.dashboard-total span { font-size:.8125rem; color:var(--muted); }
.dashboard-total strong { font-size:3.7rem; font-weight:400; line-height:1; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.dashboard-total small { font-size:.9375rem; color:#c0c5b9; letter-spacing:0; }
.dashboard-total .price-value { font-size:1.75rem; letter-spacing:-.02em; }
.energy-chart { width:100%; height:auto; overflow:visible; display:block; }
.energy-chart text { font-family:Geist,Arial,sans-serif; fill:#bec6b6; font-size:13px; }
.chart-grid { stroke:#ffffff22; stroke-width:1; }
.chart-area { fill:#e9ff4318; }
.chart-pv { stroke:var(--acid); stroke-width:2; fill:none; }
.chart-price { stroke:#d8decf; stroke-width:2; stroke-dasharray:5 4; fill:none; }
.chart-cursor { stroke:#ffffff80; stroke-dasharray:3 5; }
.chart-legend { display:flex; gap:22px; margin:18px 0 24px; font-size:.8125rem; color:#cbd0c3; }
.chart-legend span { display:flex; align-items:center; gap:8px; }
.chart-legend i { width:14px; height:2px; background:var(--acid); }
.chart-legend span:last-child i { background:#d8decf; }
.dashboard-cards { display:grid; grid-template-columns:1fr 1.5fr; gap:14px; }
.dashboard-cards > div { display:flex; flex-direction:column; gap:12px; padding:16px; border-radius:12px; background:#ffffff06; border:1px solid #ffffff1c; }
.dashboard-cards span { color:var(--muted); font-size:.8125rem; }
.dashboard-cards strong { font-size:1.15rem; font-weight:400; line-height:1.3; }
.demo-note { margin-top:20px; color:#adb6a4; font-size:.8125rem; line-height:1.55; }

/* Lighter pacing through process, case studies and editorial content. */
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; }
.process-grid article { border-top:1px solid var(--line); padding-top:25px; }
.process-grid article > span { font-size:2.5rem; color:#5c674e; font-weight:400; letter-spacing:-.04em; }
.process-grid h3 { font-size:1.5rem; letter-spacing:-.02em; margin:25px 0 13px; }
.process-grid p { font-size:1rem; color:var(--muted); }
.cases-section { padding-top:30px; }
.cases-intro p { margin-bottom:24px; }
.case-controls { display:flex; align-items:center; gap:20px; }
.case-controls button { width:46px; height:46px; display:grid; place-items:center; border:1px solid #ffffff50; border-radius:50%; }
.case-controls button:not(:disabled):hover { background:var(--acid); color:var(--ink); }
.case-controls > span { color:var(--muted); font-size:.8125rem; font-variant-numeric:tabular-nums; }
.cases-track { position:relative; display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#727d58 #12150f; padding-bottom:16px; }
.case-card { flex:0 0 87%; height:560px; position:relative; border-radius:18px; overflow:hidden; scroll-snap-align:start; }
.case-card > img { width:100%; height:100%; object-fit:cover; }
.case-overlay { position:absolute; inset:0; padding:30px; display:flex; flex-direction:column; justify-content:space-between; background:linear-gradient(0deg,#050705ef,transparent 80%),linear-gradient(90deg,#05070566,transparent); }
.case-overlay > div { width:min(600px,100%); }
.case-overlay h3 { font-size:clamp(2rem,3.4vw,3.2rem); line-height:1.1; letter-spacing:-.035em; }
.case-overlay p { margin:20px 0; color:#e0e2d8; font-size:.9375rem; }
.case-overlay .text-link { max-width:410px; }
.knowledge-section { padding-top:40px; }
.articles-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.article-card { display:flex; flex-direction:column; padding:26px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(135deg,#1d2415,#0c0e0b); }
.article-index { font-size:3.8rem; line-height:1; letter-spacing:-.04em; color:#73854d; margin-bottom:44px; }
.article-category { font-size:.8125rem; color:#c2c9b6; }
.article-card h3 { font-size:clamp(1.4rem,2vw,1.9rem); letter-spacing:-.02em; line-height:1.25; margin:15px 0 32px; }
.article-card .text-link { margin-top:auto; }
.final-cta { background:#292f1c; position:relative; }
.final-cta:before { content:""; position:absolute; inset:0; opacity:.45; background:url('images/realizacja-lublin.webp') 65% 40%/cover; }
.final-cta:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#080b08ce,transparent),linear-gradient(0deg,#080b08bb,transparent); }
.cta-content { position:relative; z-index:1; padding-block:64px; }
.cta-content h2 { margin:70px 0 76px; font-size:clamp(2.8rem,5vw,4.8rem); line-height:1.08; letter-spacing:-.04em; }
.cta-bottom { display:flex; gap:50px; justify-content:space-between; align-items:end; }
.cta-bottom p { max-width:470px; color:#dddeda; font-size:1rem; }
.cta-bottom .primary-btn { width:390px; }
.site-footer { padding-block:65px 28px; }
.footer-top { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-bottom:42px; border-bottom:1px solid var(--line); }
.footer-top > p { font-size:1.6rem; letter-spacing:-.02em; }
.footer-top em { font-style:normal; color:var(--acid); }
.footer-grid { display:grid; grid-template-columns:1fr 1fr 1.5fr auto; gap:40px; margin:38px 0 48px; }
.footer-grid > div { display:flex; flex-direction:column; align-items:start; }
.footer-grid div > span { font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin-bottom:16px; }
.footer-grid a,.footer-grid button { min-height:44px; font-size:.9375rem; display:flex; align-items:center; }
.footer-grid > .circle-arrow { display:grid; place-items:center; font-size:1.15rem; line-height:1; }
.footer-grid .text-link { border-top:0; padding-top:0; }
.footer-note { max-width:350px; color:var(--muted); font-size:.8125rem; margin-top:10px; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding-top:22px; color:var(--muted); font-size:.8125rem; }

/* Native dialogs provide keyboard focus trapping and Escape dismissal. */
.detail-dialog { color:var(--paper); background:#10150f; width:min(800px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); padding:0; border:1px solid #ffffff36; border-radius:20px; margin:auto; overscroll-behavior:contain; }
.detail-dialog::backdrop { background:#020402c9; backdrop-filter:blur(8px); }
.dialog-inner { padding:28px 40px 40px; }
.dialog-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-bottom:24px; margin-bottom:38px; border-bottom:1px solid var(--line); }
.dialog-toolbar > span { color:var(--muted); font-size:.75rem; letter-spacing:.1em; }
.dialog-toolbar button { display:flex; align-items:center; gap:14px; min-height:44px; font-size:.875rem; }
.dialog-toolbar button span { font-size:1.6rem; }
.dialog-eyebrow { color:var(--acid); font-size:.875rem; }
.detail-dialog h2 { margin:16px 0 24px; font-size:clamp(2rem,4vw,3rem); line-height:1.1; letter-spacing:-.03em; }
.dialog-intro { color:#cbd2c2; font-size:1.1rem; line-height:1.65; }
.detail-sections { margin:32px 0; }
.detail-sections section { padding:25px 0; border-top:1px solid var(--line); }
.detail-sections h3 { font-size:1.3rem; line-height:1.3; margin-bottom:12px; }
.detail-sections p { font-size:1rem; color:var(--muted); line-height:1.7; }
.detail-dialog .primary-btn { width:100%; }
.form-notice { margin:25px 0; padding:16px; background:#e9ff4310; border:1px solid #e9ff4340; border-radius:10px; color:#d9e0ca; font-size:.875rem; }
.consult-form { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.consult-form > label { display:flex; flex-direction:column; gap:9px; font-size:.875rem; }
.consult-form input:not([type=checkbox]),.consult-form select,.consult-form textarea { min-width:0; width:100%; padding:13px; border:1px solid #ffffff45; border-radius:8px; background:#080c08; color:var(--paper); font-size:1rem; }
.consult-form textarea { resize:vertical; }
.consult-form input::placeholder,.consult-form textarea::placeholder { color:#929d88; }
.full-field,.consult-form fieldset { grid-column:1/-1; }
.consult-form fieldset { border:1px solid var(--line); border-radius:10px; padding:16px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.consult-form legend { font-size:.875rem; padding:0 7px; }
.consult-form fieldset label { min-height:40px; display:flex; align-items:center; gap:10px; font-size:.875rem; }
.consult-form input[type=checkbox] { accent-color:var(--acid); width:19px; height:19px; flex:none; }
.form-success { padding:16px; border:1px solid #e9ff4380; border-radius:8px; font-size:.9375rem; color:var(--acid); }

@media(min-width:1600px) { .hero-content { padding-top:200px; } }
@media(max-width:1100px) {
  .shell { width:calc(100% - 64px); }
  .desktop-nav { gap:17px; }
  .desktop-nav button { display:none; }
  .brand { font-size:1.1rem; }
  .brand > span:last-child { gap:7px; }
  .header-cta { gap:12px; }
  .section-heading { gap:40px; grid-template-columns:minmax(0,1fr) 290px; }
  .ems-grid { gap:30px; grid-template-columns:1fr 1.25fr; }
  .moment-selector { gap:5px; }
  .moment-selector button { padding-inline:10px; }
  .dashboard-total { flex-direction:column; align-items:start; gap:22px; }
  .dashboard-total > div:last-child { flex-direction:row; align-items:baseline; }
  .dashboard-total .price-value { font-size:1.4rem; }
  .ems-dashboard { padding:22px; }
  .system-select { gap:10px; }
  .footer-grid { gap:25px; }
}
@media(max-width:820px) {
  .shell { width:calc(100% - 40px); }
  .section { padding-block:70px; }
  .site-header { height:80px; gap:16px; }
  .desktop-nav,.header-cta { display:none; }
  .menu-toggle { display:flex; align-items:center; gap:12px; min-height:44px; padding:10px 0 10px 12px; font-size:.9375rem; }
  .menu-toggle span { font-size:1.3rem; }
  .mobile-menu { display:flex; flex-direction:column; position:absolute; top:80px; left:-20px; right:-20px; padding:18px 20px 25px; background:#0a0e09fa; border-bottom:1px solid #ffffff40; box-shadow:0 30px 60px #0006; max-height:calc(100dvh - 80px); overflow-y:auto; }
  .mobile-menu > a,.mobile-menu > button:not(.primary-btn) { display:flex; justify-content:space-between; align-items:center; min-height:52px; border-bottom:1px solid var(--line); font-size:1rem; }
  .mobile-menu .primary-btn { margin-top:22px; }
  .hero { min-height:660px; max-height:none; background-position:62% center; }
  .hero-content { padding-top:132px; padding-bottom:28px; }
  h1 { font-size:clamp(2.7rem,7.7vw,4rem); max-width:690px; line-height:1.08; }
  .hero-discover { display:none; }
  .hero-pitch { max-width:420px; }
  .hero-bottom { justify-content:flex-start; }
  .section-heading { grid-template-columns:1fr; gap:24px; margin:36px 0 38px; }
  .section-heading h2 { font-size:clamp(2.35rem,6vw,3.6rem); max-width:650px; }
  .paths-grid { gap:14px; }
  .path-card { padding:22px; }
  .path-card h3 { font-size:1.4rem; }
  .path-card li button { font-size:1.0625rem; }
  .system-scene { height:470px; }
  .system-select { grid-template-columns:repeat(3,1fr); }
  .system-select button { padding:18px 0; min-height:86px; }
  .scene-caption strong { font-size:1.35rem; }
  .config-grid { grid-template-columns:1fr; gap:24px; }
  .config-card { display:grid; grid-template-columns:1fr 1fr; gap:16px 30px; padding:22px 0 0; }
  .config-number { grid-column:1/-1; }
  .config-card h3 { margin:0; min-height:0; font-size:1.7rem; }
  .config-card > p { min-height:0; margin:0; }
  .config-parts { margin:0; align-self:center; }
  .config-card .text-link { margin-top:0; }
  .ems-grid { grid-template-columns:1fr; gap:35px; }
  .ems-story { padding-top:0; }
  .moment-copy { min-height:220px; }
  .moment-selector button { flex:1; padding-inline:15px; }
  .ems-dashboard { padding:26px; }
  .dashboard-total { flex-direction:row; align-items:end; }
  .dashboard-total > div:last-child { flex-direction:column; align-items:start; }
  .dashboard-total .price-value { font-size:1.75rem; }
  .process-grid { grid-template-columns:1fr 1fr; gap:36px; }
  .case-card { height:500px; }
  .case-overlay { padding:24px; }
  .cases-intro { display:flex; justify-content:space-between; align-items:end; gap:40px; }
  .cases-intro p { margin:0; max-width:460px; }
  .case-controls { gap:12px; flex:none; }
  .articles-grid { grid-template-columns:1fr; gap:14px; }
  .article-card { padding:25px; display:grid; grid-template-columns:80px 1fr; gap:8px 25px; }
  .article-index { grid-row:1/4; margin:0; font-size:3rem; align-self:center; }
  .article-card h3 { margin:4px 0 14px; font-size:1.7rem; }
  .article-card .text-link { grid-column:2; }
  .cta-content h2 { font-size:clamp(2.5rem,7vw,4rem); margin-block:55px; }
  .cta-bottom { gap:28px; flex-direction:column; align-items:start; }
  .cta-bottom .primary-btn { width:auto; min-width:350px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-grid > .circle-arrow { justify-self:end; align-self:end; }
  .footer-top { flex-direction:column; align-items:start; gap:30px; }
}
@media(max-width:560px) {
  .shell { width:calc(100% - 40px); }
  .section { padding-block:56px; }
  .brand { font-size:1rem; }
  .brand > span:last-child { flex-direction:column; gap:5px; }
  .brand small { font-size:.75rem; }
  .hero { min-height:710px; height:100svh; background-position:61% center; }
  .hero:before { background:linear-gradient(0deg,#070907f7,transparent 60%),linear-gradient(90deg,#07090799,#07090722); }
  .hero-content { padding-top:128px; gap:38px; padding-bottom:24px; }
  h1 { font-size:clamp(2.25rem,9.2vw,3.25rem); line-height:1.12; letter-spacing:-.035em; }
  h1 em { margin-top:8px; }
  .desktop-break { display:none; }
  .eyebrow { font-size:.8125rem; }
  .hero-pitch p { font-size:.9375rem; margin-bottom:20px; max-width:360px; }
  .primary-btn { padding-inline:18px; gap:12px; font-size:.875rem; }
  .section-heading h2 { font-size:clamp(2.1rem,8.5vw,2.8rem); letter-spacing:-.035em; line-height:1.12; }
  .section-heading p { font-size:.9375rem; }
  .paths-grid { grid-template-columns:1fr; gap:16px; }
  .path-card { padding:24px; }
  .path-card h3 { margin-top:30px; font-size:1.6rem; }
  .path-card li button { font-size:1.15rem; min-height:52px; }
  .path-card ul { margin-bottom:22px; }
  .system-scene { height:350px; border-radius:14px; }
  .system-scene > img { object-position:61% center; }
  .scene-label { top:18px; left:18px; font-size:.75rem; }
  .system-pin { font-size:.75rem; padding:8px; gap:5px; min-height:38px; }
  .system-pin i { width:4px; height:4px; }
  .system-pin:nth-of-type(4) { left:79% !important; }
  .scene-caption { left:18px; right:18px; bottom:18px; gap:14px; }
  .scene-caption strong { font-size:1rem; }
  .scene-caption span { font-size:.75rem; }
  .system-select { grid-template-columns:1fr 1fr; gap:0 18px; }
  .system-select button { flex-direction:row; justify-content:start; align-items:center; gap:10px; min-height:64px; font-size:.8125rem; padding:14px 0; }
  .system-explanation { min-height:120px; font-size:.9375rem; }
  .config-card { display:flex; padding-top:24px; gap:0; }
  .config-card h3 { margin:22px 0 12px; }
  .config-card > p { margin-bottom:22px; }
  .config-parts { align-self:start; margin-bottom:24px; }
  .custom-system { flex-direction:column; align-items:stretch; gap:24px; padding:28px 0 0; margin-top:30px; }
  .custom-system strong { font-size:1.4rem; }
  .outline-btn { font-size:.875rem; }
  .moment-selector { gap:6px; }
  .moment-selector button { padding:10px 8px; font-size:.8125rem; }
  .moment-copy h3 { font-size:1.75rem; }
  .moment-copy { min-height:260px; }
  .ems-story .text-link { margin-top:20px; }
  .ems-dashboard { padding:20px 16px; border-radius:16px; }
  .dashboard-head { gap:12px; font-size:.875rem; }
  .demo-badge { font-size:.75rem; padding:6px 9px; }
  .dashboard-total { flex-wrap:wrap; gap:22px; margin-block:30px; }
  .dashboard-total strong { font-size:2.75rem; }
  .dashboard-total .price-value { font-size:1.4rem; }
  .dashboard-total small { font-size:.8125rem; }
  .energy-chart { min-height:180px; }
  .dashboard-cards { grid-template-columns:1fr; gap:10px; }
  .dashboard-cards > div { flex-direction:row; justify-content:space-between; align-items:center; gap:12px; padding:14px 12px; }
  .dashboard-cards strong { font-size:1rem; text-align:right; }
  .chart-legend { flex-wrap:wrap; gap:12px 20px; }
  .process-grid { gap:28px 18px; }
  .process-grid h3 { font-size:1.25rem; margin-top:20px; }
  .process-grid p { font-size:.9375rem; }
  .process-grid article > span { font-size:2rem; }
  .cases-intro { flex-direction:column; align-items:start; gap:22px; }
  .case-card { flex-basis:92%; height:470px; }
  .case-overlay { padding:20px; }
  .case-overlay h3 { font-size:1.85rem; }
  .case-overlay p { font-size:.875rem; line-height:1.65; }
  .article-card { display:flex; padding:24px; gap:0; }
  .article-index { margin-bottom:28px; align-self:start; }
  .article-card h3 { margin:16px 0 24px; font-size:1.55rem; }
  .cta-content { padding-block:45px; }
  .cta-content h2 { font-size:clamp(2.1rem,9vw,3rem); margin-block:48px; }
  .cta-bottom .primary-btn { width:100%; min-width:0; }
  .footer-top > p { font-size:1.45rem; }
  .footer-grid { gap:30px 18px; }
  .footer-grid > div:nth-child(3) { grid-column:1/-1; }
  .footer-grid > .circle-arrow { grid-column:1/-1; justify-self:end; }
  .footer-bottom { flex-direction:column; gap:10px; }
  .dialog-inner { padding:20px; }
  .detail-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); border-radius:14px; }
  .dialog-toolbar { margin-bottom:28px; gap:10px; }
  .dialog-toolbar > span { font-size:.75rem; }
  .detail-dialog h2 { font-size:1.9rem; }
  .dialog-intro { font-size:1rem; }
  .consult-form { grid-template-columns:1fr; gap:20px; }
  .consult-form fieldset { grid-template-columns:1fr; }
}
@media(max-width:350px) {
  .shell { width:calc(100% - 32px); }
  .system-pin { min-height:34px; padding:7px 5px; font-size:.6875rem; }
  .system-select button { gap:6px; }
  .process-grid { grid-template-columns:1fr; }
  .hero { min-height:690px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { animation:none !important; transition:none !important; }
}

/* Wspólny system wizualny wszystkich statycznych podstron. */
ul,ol { margin-top:0; }
img { max-width:100%; }
[hidden] { display:none !important; }
.path-card li a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 0; min-height:56px; font-size:clamp(1.1rem,1.65vw,1.5rem); }
.path-card li a:hover { color:var(--acid); }
.site-nav { display:flex; align-items:center; gap:25px; font-size:.875rem; }
.site-nav > a,.offer-menu > summary { min-height:44px; display:flex; align-items:center; gap:10px; cursor:pointer; }
.site-nav a:hover,.site-nav a[aria-current],.offer-menu[open] > summary { color:var(--acid); }
.offer-menu > summary { list-style:none; }
.offer-menu > summary::-webkit-details-marker { display:none; }
.mega-menu { position:absolute; top:82px; left:0; right:0; padding:24px 30px 30px; background:#10150ffc; border:1px solid #ffffff38; border-radius:16px; box-shadow:0 30px 60px #0008; max-height:calc(100dvh - 110px); overflow:auto; }
.offer-overview { display:flex; justify-content:space-between; border-bottom:1px solid var(--line); padding:5px 0 18px; margin-bottom:18px; font-size:1rem; }
.mega-columns { display:grid; grid-template-columns:1fr 1.2fr 1fr; gap:35px; }
.mega-columns > div { display:flex; flex-direction:column; }
.mega-columns a { padding:9px 0; min-height:42px; line-height:1.4; }
.mega-columns .mega-title { font-size:1.1rem; color:var(--acid); margin-bottom:6px; }
.footer-legal { display:flex; flex-wrap:wrap; gap:10px 24px; }
.footer-legal a:hover { color:var(--acid); }
.footer-link > span { display:none; }
.company-public { color:var(--muted); font-size:.875rem; padding-top:18px; }
.company-public a { display:block; }
.inner-page .site-header { position:relative; }
.inner-hero { padding-top:34px; padding-bottom:0; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px 12px; color:var(--muted); font-size:.8125rem; line-height:1.6; margin-bottom:72px; }
.breadcrumbs a:hover { color:var(--acid); }
.breadcrumbs > span[aria-current] { color:var(--paper); }
.inner-hero-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr); gap:70px; align-items:end; }
.inner-hero h1 { font-size:clamp(2.8rem,4.8vw,4.8rem); line-height:1.08; letter-spacing:-.04em; margin:24px 0 0; overflow-wrap:break-word; }
.inner-lead > p { color:#c1c6b8; font-size:1.0625rem; line-height:1.7; }
.inner-lead .primary-btn { margin-top:28px; }
.hero-media { margin:55px 0 0; position:relative; overflow:hidden; border-radius:18px; height:420px; background:var(--surface); }
.hero-media img { width:100%; height:100%; object-fit:cover; }
.hero-media figcaption { position:absolute; right:20px; bottom:20px; color:var(--paper); font-size:.75rem; padding:7px 12px; border:1px solid #ffffff45; background:#080c08d9; border-radius:99px; }
.listing-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.listing-card { display:flex; flex-direction:column; border:1px solid var(--line); background:radial-gradient(ellipse at top right,#70823520,transparent 70%),#10130f; border-radius:18px; overflow:hidden; }
.listing-card-body { display:flex; flex-direction:column; padding:32px; flex:1; }
.listing-label { color:#c5cbb9; font-size:.8125rem; }
.listing-card h2 { font-size:clamp(1.7rem,2.4vw,2.5rem); line-height:1.15; letter-spacing:-.025em; margin:24px 0 18px; }
.listing-card h2 a:hover { color:var(--acid); }
.listing-card p { font-size:1rem; color:var(--muted); margin-bottom:30px; }
.listing-card .text-link { margin-top:auto; }
.listing-image { display:block; overflow:hidden; aspect-ratio:1.75; }
.listing-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.visual-card:hover img { transform:scale(1.03); }
.technical-category { display:flex; align-items:center; gap:40px; justify-content:space-between; border-top:1px solid var(--line); padding-top:40px; margin-top:65px; }
.technical-category h2 { font-size:2rem; margin-block:12px; }
.technical-category p { max-width:650px; color:var(--muted); }
.technical-category .outline-btn { flex:none; }
.cross-link { padding-block:25px 40px; }
.route-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.route-card { padding:30px; border-top:1px solid var(--line); display:flex; flex-direction:column; background:linear-gradient(135deg,#25301866,transparent); border-radius:0 0 18px 18px; }
.route-card > span { color:var(--acid); font-size:.8125rem; }
.route-card h2 { margin:50px 0 20px; font-size:2.1rem; line-height:1.15; letter-spacing:-.025em; }
.route-card > p { color:var(--muted); font-size:1rem; margin-bottom:40px; }
.route-card .text-link { margin-top:auto; }
.detail-layout,.article-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:100px; align-items:start; }
.detail-sidebar { position:sticky; top:30px; padding-top:20px; border-top:1px solid var(--line); }
.detail-sidebar > span { color:var(--acid); font-size:.8125rem; }
.detail-sidebar nav { display:flex; flex-direction:column; margin:15px 0 24px; }
.detail-sidebar nav a { padding:11px 0; font-size:.875rem; line-height:1.4; color:#c8cebd; }
.detail-sidebar nav a:hover { color:var(--acid); }
.detail-sidebar > p { color:var(--muted); font-size:.875rem; margin:20px 0 25px; }
.detail-sidebar .outline-btn { font-size:.875rem; padding-inline:18px; }
.detail-content,.article-content { max-width:810px; }
.content-section { position:relative; border-top:1px solid var(--line); padding:35px 0 42px; }
.content-number { color:#8b986f; font-size:.8125rem; display:block; margin-bottom:18px; }
.content-section h2 { font-size:clamp(1.75rem,2.6vw,2.5rem); line-height:1.18; letter-spacing:-.025em; margin-bottom:20px; }
.content-section > p { color:#c0c6b6; font-size:1.0625rem; line-height:1.8; }
.source-note { border-top:1px solid var(--line); padding-top:25px; font-size:.875rem; color:var(--muted); }
.source-note a { color:var(--paper); text-decoration:underline; text-underline-offset:4px; }
.faq-section { padding-top:35px; }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { cursor:pointer; list-style:none; padding:24px 0; display:flex; gap:30px; justify-content:space-between; font-size:1.15rem; line-height:1.5; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary > span { font-size:1.6rem; color:var(--acid); }
.faq-list details[open] summary > span { transform:rotate(45deg); }
.faq-list details p { color:#c1c8b5; max-width:850px; line-height:1.8; font-size:1rem; padding:0 0 28px; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.related-link { display:flex; justify-content:space-between; align-items:center; gap:25px; padding:26px; border:1px solid var(--line); border-radius:15px; font-size:1.2rem; }
.related-link:hover { color:var(--acid); border-color:var(--acid); }
.flow-diagram { max-width:810px; margin:auto; display:flex; flex-direction:column; align-items:center; gap:16px; }
.flow-diagram > a,.flow-grid-node { width:260px; padding:22px; border:1px solid #ffffff38; border-radius:15px; text-align:center; font-size:1.3rem; background:var(--surface); }
.flow-diagram small { display:block; font-size:.875rem; color:var(--muted); margin-top:8px; }
.flow-diagram .flow-center { border-color:var(--acid); background:#283119; color:var(--acid); }
.flow-diagram > span { color:var(--acid); font-size:1.5rem; }
.flow-branches { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; width:100%; }
.flow-branches > a { border:1px solid var(--line); border-top:2px solid var(--acid); border-radius:13px; padding:24px 15px; text-align:center; font-size:1.15rem; background:var(--surface); }
.flow-diagram a:hover { border-color:var(--acid); }
.manifesto-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; padding-top:60px; }
.manifesto-grid > h2 { font-size:clamp(2.4rem,4vw,4rem); line-height:1.1; letter-spacing:-.04em; }
.filter-group,.category-nav { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:40px; }
.filter-group button,.category-nav a { border:1px solid #ffffff42; border-radius:99px; padding:11px 18px; min-height:44px; font-size:.875rem; line-height:1.4; }
.filter-group button[aria-pressed=true],.category-nav a[aria-current] { background:var(--acid); border-color:var(--acid); color:var(--ink); }
.filter-status { color:var(--muted); font-size:.875rem; margin-bottom:24px; }
.portfolio-list { display:flex; flex-direction:column; gap:70px; }
.portfolio-card { display:grid; grid-template-columns:1.3fr 1fr; gap:50px; align-items:center; }
.portfolio-image { position:relative; display:block; height:430px; border-radius:18px; overflow:hidden; }
.portfolio-image img { width:100%; height:100%; object-fit:cover; }
.portfolio-image .demo-badge { position:absolute; top:20px; left:20px; }
.portfolio-copy h2 { font-size:clamp(2rem,3.2vw,3rem); line-height:1.12; letter-spacing:-.035em; margin-bottom:30px; }
.portfolio-copy p { font-size:1rem; line-height:1.7; color:var(--muted); margin:20px 0 30px; }
.case-spec { display:flex; flex-wrap:wrap; gap:18px; padding:0; list-style:none; margin:0 0 60px; }
.case-spec li { border-top:1px solid var(--line); padding:22px 25px 10px 0; font-size:1.4rem; color:var(--acid); flex:1; min-width:170px; }
.case-study > .detail-layout { padding:0; }
.case-gallery { margin:45px 0 0; }
.case-gallery img { width:100%; height:480px; object-fit:cover; border-radius:18px; }
.case-gallery figcaption { color:var(--muted); font-size:.8125rem; padding-top:16px; }
.article-byline { font-size:.875rem; color:var(--muted); padding-bottom:25px; }
.article-next { margin-top:45px; }
.contact-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr); gap:90px; }
.contact-layout > div > h2 { font-size:2rem; line-height:1.2; letter-spacing:-.02em; margin-bottom:24px; }
.contact-intro { color:var(--muted); font-size:1rem; margin-bottom:38px; line-height:1.7; }
.contact-aside { align-self:start; padding:25px; border:1px solid var(--line); border-radius:18px; background:#10150f; }
.contact-aside figure { margin:0 0 30px; position:relative; }
.contact-aside figure img { border-radius:10px; width:100%; aspect-ratio:1.4; object-fit:cover; }
.contact-aside figcaption { position:absolute; bottom:12px; left:12px; background:#070907d9; padding:4px 9px; font-size:.75rem; border-radius:99px; }
.contact-aside h2 { font-size:1.4rem; margin-bottom:20px; }
.contact-aside [data-company],.contact-aside [data-contact-details] { color:var(--muted); font-size:.9375rem; line-height:1.7; }
.contact-aside [data-contact-details] a { display:block; padding:8px 0; }
.contact-aside [data-contact-details] a:hover { color:var(--acid); }
.contact-checklist { border-top:1px solid var(--line); padding-top:25px; margin-top:25px; }
.contact-checklist h3 { font-size:1.05rem; margin-bottom:16px; }
.contact-checklist ul { padding-left:20px; margin-bottom:0; color:var(--muted); }
.contact-checklist li + li { margin-top:10px; }
.form-privacy { color:var(--muted); font-size:.875rem; }
.form-privacy a { color:var(--paper); text-decoration:underline; text-underline-offset:3px; }
.form-mode { color:#c6cfb5; font-size:.875rem; border:1px solid #e9ff4330; padding:16px; border-radius:10px; background:#e9ff4308; }
.honey { position:absolute !important; left:-10000px; width:1px; height:1px; overflow:hidden; }
#form-status:not(:empty) { padding:18px; border:1px solid #e9ff4377; border-radius:10px; color:var(--acid); font-size:.9375rem; }
#form-status.error { color:#ffc5b7; border-color:#ffc5b7; }
.legal-content { max-width:850px; }
.legal-date { color:var(--muted); font-size:.875rem; margin-bottom:28px; }
.legal-identity { margin-bottom:40px; padding:24px; background:#141b0d; border:1px solid #ffffff36; border-radius:13px; }
.legal-identity h2 { font-size:1.4rem; margin-bottom:18px; }
.legal-identity > div { color:#c6cebb; font-size:1rem; line-height:1.7; }
/* Korekty eksportu: większa czytelność etykiet, bez fontów systemowych i martwych linków. */
.hero-pitch p,.section-heading p,.process-grid p,.system-explanation { font-size:1rem; }
.system-select button { font-size:.875rem; }
.system-pin { font-size:.75rem; min-height:44px; }
.chart-wrap { overflow-x:auto; padding-bottom:8px; scrollbar-width:thin; }
.chart-wrap .energy-chart { min-width:480px; min-height:0; }
.chart-hint { font-size:.75rem; color:var(--muted); display:none; margin-top:10px; }
@media(max-width:1100px) {
  .site-header { gap:20px; }
  .site-nav { gap:17px; }
  .brand small { display:none; }
  .inner-hero-grid { gap:35px; grid-template-columns:minmax(0,1.3fr) minmax(250px,1fr); }
  .detail-layout,.article-layout { grid-template-columns:210px minmax(0,1fr); gap:55px; }
  .contact-layout { gap:40px; }
  .portfolio-card { gap:30px; }
  .manifesto-grid { gap:45px; }
  .route-card { padding:25px; }
}
@media(max-width:820px) {
  .site-nav { display:flex; flex-direction:column; position:absolute; left:-20px; right:-20px; top:80px; background:#0c110bfc; border-bottom:1px solid #ffffff40; padding:20px; max-height:calc(100dvh - 90px); overflow:auto; align-items:stretch; gap:0; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-14px); transition:opacity .32s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1),visibility 0s .32s; }
  .site-nav.open { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); transition-delay:0s; }
  .site-nav > a,.site-nav > .offer-menu { opacity:0; transform:translateY(-7px); transition:opacity .22s ease-out,transform .28s cubic-bezier(.22,1,.36,1); }
  .site-nav.open > a,.site-nav.open > .offer-menu { opacity:1; transform:translateY(0); transition-delay:.04s; }
  .site-nav.open > :nth-child(2) { transition-delay:.06s; }
  .site-nav.open > :nth-child(3) { transition-delay:.08s; }
  .site-nav.open > :nth-child(4) { transition-delay:.1s; }
  .site-nav.open > :nth-child(5) { transition-delay:.12s; }
  .site-nav > a,.offer-menu > summary { min-height:52px; border-bottom:1px solid var(--line); justify-content:space-between; font-size:1rem; }
  .mega-menu { position:static; padding:20px 16px; box-shadow:none; border:0; border-radius:0; background:#182014; max-height:none; }
  .mega-columns { grid-template-columns:1fr; gap:25px; }
  .mega-columns a { min-height:44px; }
  .brand small { display:block; }
  .breadcrumbs { margin-bottom:45px; }
  .inner-hero-grid { grid-template-columns:1fr; gap:25px; }
  .inner-hero h1 { font-size:clamp(2.7rem,6.2vw,3.6rem); }
  .inner-lead { max-width:650px; }
  .inner-lead .primary-btn { max-width:400px; }
  .hero-media { height:340px; margin-top:40px; }
  .listing-card-body { padding:25px; }
  .listing-card h2 { font-size:1.75rem; }
  .route-grid { grid-template-columns:1fr; }
  .route-card h2 { margin-top:25px; }
  .route-card > p { margin-bottom:25px; }
  .detail-layout,.article-layout { grid-template-columns:1fr; gap:35px; }
  .detail-sidebar { position:static; }
  .detail-sidebar nav { display:grid; grid-template-columns:1fr 1fr; gap:0 25px; }
  .detail-sidebar .outline-btn { max-width:320px; }
  .content-section > p { font-size:1rem; }
  .manifesto-grid { grid-template-columns:1fr; gap:35px; padding-top:40px; }
  .portfolio-card { grid-template-columns:1fr; }
  .portfolio-image { height:390px; }
  .portfolio-copy { padding:0 5px; }
  .related-grid { grid-template-columns:1fr; gap:12px; }
  .technical-category { flex-direction:column; align-items:start; gap:25px; }
  .contact-layout { grid-template-columns:1fr; gap:55px; }
  .contact-aside { display:grid; grid-template-columns:1fr 1fr; gap:20px 30px; }
  .contact-aside figure { grid-row:1/4; margin-bottom:0; }
  .contact-aside h2 { margin:0; }
  .contact-checklist { grid-column:1/-1; }
  .case-gallery img { height:340px; }
}
@media(max-width:560px) {
  .breadcrumbs { font-size:.8125rem; gap:5px 9px; margin-bottom:35px; }
  .inner-hero { padding-top:25px; }
  .inner-hero h1 { font-size:clamp(2.05rem,8.4vw,2.8rem); line-height:1.15; letter-spacing:-.03em; }
  .inner-lead > p { font-size:1rem; line-height:1.7; }
  .hero-media { height:270px; border-radius:13px; }
  .hero-media figcaption { bottom:12px; right:12px; }
  .listing-grid { grid-template-columns:1fr; gap:18px; }
  .listing-card-body { padding:25px; }
  .listing-card h2 { font-size:1.65rem; }
  .content-section { padding:26px 0 32px; }
  .content-section h2 { font-size:1.6rem; }
  .content-section > p { line-height:1.75; }
  .detail-sidebar nav { grid-template-columns:1fr; }
  .flow-branches { gap:8px; }
  .flow-branches > a { padding:18px 7px; font-size:.875rem; }
  .flow-branches small { font-size:.75rem; }
  .flow-diagram > a,.flow-grid-node { max-width:100%; }
  .portfolio-image { height:300px; }
  .portfolio-list { gap:45px; }
  .portfolio-copy h2 { font-size:2rem; }
  .case-spec { gap:10px; margin-bottom:35px; }
  .case-spec li { flex:1 1 calc(50% - 10px); min-width:0; font-size:1.1rem; padding:18px 10px 12px 0; }
  .case-gallery img { height:280px; }
  .filter-group,.category-nav { gap:8px; margin-bottom:28px; }
  .category-nav a,.filter-group button { padding:10px 13px; font-size:.875rem; }
  .contact-aside { display:block; padding:22px; }
  .contact-aside figure { margin-bottom:28px; }
  .contact-aside h2 { margin-bottom:15px; }
  .contact-layout > div > h2 { font-size:1.65rem; }
  .chart-hint { display:block; }
  .system-pin:nth-of-type(4) { left:82% !important; }
  .system-select button { font-size:.875rem; min-height:68px; }
  .footer-legal { flex-direction:column; gap:5px; }
  .footer-legal a { padding:8px 0; }
  .legal-identity { padding:20px; }
}
@media(max-width:350px) { .system-pin { font-size:.75rem; min-height:44px; } .site-nav { left:-16px; right:-16px; } .scene-caption { align-items:start; } }
@media(prefers-reduced-motion:reduce) { .site-nav,.site-nav > a,.site-nav > .offer-menu { transition:none; transform:none; } }
@media print {
  body { background:white; color:black; font-family:Arial,sans-serif; }
  .site-header,.site-footer,.final-cta,.detail-sidebar,.skip-link,.hero-media,.breadcrumbs,.article-next { display:none !important; }
  .shell { width:100%; }
  .inner-hero { padding:0; }
  .inner-hero-grid,.article-layout { display:block; }
  .inner-hero h1 { font-size:28pt; }
  .section { padding:20px 0; }
  .content-section { padding:20px 0; break-inside:avoid; border-color:#ccc; }
  .content-section h2 { font-size:17pt; }
  p,.inner-lead > p,.content-section > p,.article-byline,.content-number { color:black; font-size:11pt; }
  h1 em,h2 em,a { color:black; }
  .source-note { border-color:#ccc; }
}
