:root {
  color-scheme: light;
  --ink: #14293d;
  --muted: #667480;
  --primary: #163e5b;
  --primary-2: #245c7e;
  --accent: #f08c3a;
  --soft: #dfe9ef;
  --surface: #f7f8f7;
  --paper: #fdfdfb;
  --line: #dce2e4;
  --white: #fff;
}

body[data-theme="pergola"] { --ink:#2d2a24; --muted:#716e65; --primary:#465944; --primary-2:#60755c; --accent:#c96e43; --soft:#e8dfcf; --surface:#f6f0e6; --paper:#fdfaf4; --line:#ded8cc; }
body[data-theme="solarcarport"] { --ink:#071c29; --muted:#627580; --primary:#08344d; --primary-2:#0d587a; --accent:#87c900; --soft:#d8ebf1; --surface:#eff6f7; --paper:#f8fbfa; --line:#d5e1e4; }
body[data-theme="aluprofile"] { --ink:#111c2a; --muted:#697684; --primary:#182838; --primary-2:#31516a; --accent:#19a9d5; --soft:#dce8ed; --surface:#f1f5f7; --paper:#fbfcfc; --line:#d8e0e4; }
body[data-theme="modulbau"] { --ink:#101e34; --muted:#67768a; --primary:#112f52; --primary-2:#1e537e; --accent:#ed8738; --soft:#dbe6f0; --surface:#f1f5f8; --paper:#fafbfc; --line:#d7e0e8; }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; overflow-x:hidden; color:var(--ink); background:var(--paper); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
img { max-width:100%; }
.section-shell,.site-header { width:min(1240px,calc(100% - 48px)); margin-inline:auto; }
.page-grid { position:fixed; inset:0; z-index:-1; pointer-events:none; background-image:linear-gradient(color-mix(in srgb,var(--primary) 3%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--primary) 3%,transparent) 1px,transparent 1px); background-size:70px 70px; mask-image:linear-gradient(to bottom,black,transparent 82%); }

.site-header { min-height:86px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:30px; border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent); }
.brand { display:inline-flex; align-items:center; gap:11px; width:fit-content; text-decoration:none; font-size:18px; letter-spacing:-.025em; }
.brand-mark { display:grid; place-items:center; width:37px; height:37px; border-radius:11px; color:#fff; background:var(--primary); box-shadow:inset 0 0 0 1px rgba(255,255,255,.12); font-size:12px; font-weight:900; }
.brand strong { color:var(--accent); }
nav { display:flex; gap:31px; }
nav a { color:var(--muted); text-decoration:none; font-size:13px; font-weight:750; }
nav a:hover { color:var(--primary); }
.header-actions { justify-self:end; display:flex; align-items:center; gap:17px; }
.header-cta { padding-bottom:4px; border-bottom:1px solid var(--primary); text-decoration:none; font-size:13px; font-weight:850; }
.header-cta span { margin-left:5px; color:var(--accent); }
.language-switch { padding:3px; display:flex; gap:2px; border:1px solid var(--line); border-radius:8px; background:rgba(255,255,255,.68); }
.language-switch a { min-width:29px; height:25px; display:grid; place-items:center; border-radius:5px; color:var(--muted); text-decoration:none; font-size:9px; font-weight:900; }
.language-switch a.active { color:#fff; background:var(--primary); }

.hero { min-height:760px; padding:90px 0 110px; display:grid; grid-template-columns:.83fr 1.17fr; align-items:center; gap:58px; }
.hero-copy { min-width:0; }
.availability { width:fit-content; margin-bottom:30px; padding:8px 12px; border:1px solid var(--line); border-radius:99px; color:var(--muted); background:rgba(255,255,255,.72); font-size:10px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.availability i { display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:#27a96f; box-shadow:0 0 0 4px rgba(39,169,111,.12); }
.eyebrow { margin:0 0 18px; color:var(--accent); font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3,p { text-wrap:pretty; }
h1,h2 { overflow-wrap:anywhere; }
h1 { margin:0; font-size:clamp(53px,6.1vw,88px); line-height:.94; letter-spacing:-.06em; }
h1 span { color:var(--accent); }
.lead { max-width:600px; margin:30px 0 0; color:var(--muted); font-size:18px; line-height:1.7; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:35px; }
.button { min-height:54px; padding:0 23px; display:inline-flex; align-items:center; justify-content:center; gap:16px; border-radius:11px; text-decoration:none; font-size:14px; font-weight:850; transition:transform .2s,box-shadow .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.primary { color:#fff; background:var(--primary); box-shadow:0 16px 34px color-mix(in srgb,var(--primary) 20%,transparent); }
.primary:hover { background:var(--primary-2); }
.ghost { border:1px solid var(--line); background:rgba(255,255,255,.58); }
.hero-proof { margin-top:38px; padding-top:24px; border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.hero-proof div { display:flex; flex-direction:column; gap:3px; }
.hero-proof strong { font-size:12px; }
.hero-proof span { color:var(--muted); font-size:10px; }

.hero-stage { min-width:0; position:relative; padding:48px 0 56px; }
.hero-stage::before { content:""; position:absolute; inset:0 0 0 8%; border-radius:38% 62% 64% 36%/44% 39% 61% 56%; background:var(--soft); transform:rotate(-3deg); }
.orb { position:absolute; border-radius:50%; }
.orb-one { width:170px; height:170px; right:-22px; top:0; background:color-mix(in srgb,var(--accent) 16%,transparent); }
.orb-two { width:92px; height:92px; left:3px; bottom:10px; background:color-mix(in srgb,var(--primary) 13%,transparent); }
.browser-card { position:relative; z-index:2; overflow:hidden; border:1px solid color-mix(in srgb,var(--primary) 15%,transparent); border-radius:17px; background:#fff; box-shadow:0 35px 80px rgba(23,38,48,.21); transform:rotate(1.1deg); }
.browser-bar { height:43px; padding:0 14px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; border-bottom:1px solid #e7ebed; background:#fbfcfc; }
.dots { display:flex; gap:5px; }
.dots i { width:7px; height:7px; border-radius:50%; background:#d5dbde; }
.dots i:first-child { background:var(--accent); }
.browser-url { overflow:hidden; color:#8a969d; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:9px; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.live-badge { color:var(--primary-2); font-size:8px; font-weight:900; letter-spacing:.1em; }
.live-badge i { display:inline-block; width:6px; height:6px; margin-right:4px; border-radius:50%; background:#32b279; }
.browser-card img { display:block; width:100%; aspect-ratio:1.92; object-fit:cover; object-position:center; }
.floating-card { position:absolute; z-index:3; border:1px solid rgba(255,255,255,.85); border-radius:13px; background:rgba(255,255,255,.92); box-shadow:0 17px 35px rgba(24,42,52,.18); backdrop-filter:blur(12px); }
.parameters { right:-25px; bottom:5px; width:194px; padding:17px; }
.card-kicker { display:block; margin-bottom:11px; color:#81909a; font-size:8px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.parameters div { padding:5px 0; display:flex; justify-content:space-between; gap:12px; font-size:10px; }
.parameters div span { color:var(--muted); }
.result { left:-15px; top:22px; padding:12px 15px; display:flex; align-items:center; gap:10px; }
.check { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; color:#177951; background:#dff1e8; font-size:12px; font-weight:900; }
.result div { display:flex; flex-direction:column; gap:2px; }
.result strong { font-size:10px; }
.result div span { color:var(--muted); font-size:8px; }

.logo-strip { min-height:86px; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:center; gap:27px; color:var(--muted); }
.logo-strip>span { color:#929da3; font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.logo-strip strong { font-family:Georgia,serif; font-size:16px; font-style:italic; font-weight:500; }
.logo-strip i { width:4px; height:4px; border-radius:50%; background:var(--accent); }

.project { padding:130px 0 120px; }
.section-head { margin-bottom:54px; display:grid; grid-template-columns:1.05fr .65fr; align-items:end; gap:70px; }
.section-head h2,.benefit-intro h2,.process-title h2 { margin:0; font-size:clamp(43px,5.4vw,72px); line-height:.98; letter-spacing:-.052em; }
.section-head h2 span { color:var(--accent); }
.section-intro { padding-bottom:6px; }
.section-intro p { margin:0 0 21px; color:var(--muted); line-height:1.68; }
.section-intro a,.arrow-link { color:var(--primary); font-size:13px; font-weight:850; text-underline-offset:5px; }
.section-intro a span,.arrow-link span { margin-left:5px; color:var(--accent); }
.project-gallery { display:grid; grid-template-columns:1.35fr .65fr; grid-template-rows:repeat(2,1fr); gap:18px; }
.project-gallery figure { min-width:0; margin:0; display:flex; flex-direction:column; }
.project-gallery .gallery-main { grid-row:1/span 2; }
.image-frame { position:relative; min-height:0; flex:1; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.image-frame::after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 1px rgba(255,255,255,.45); pointer-events:none; }
.image-frame img { display:block; width:100%; height:100%; min-height:260px; object-fit:cover; object-position:center; transition:transform .55s; }
.gallery-main .image-frame img { min-height:610px; }
.project-gallery figure:hover img { transform:scale(1.025); }
figcaption { padding:13px 4px 5px; display:flex; justify-content:space-between; gap:12px; font-size:11px; }
figcaption b { margin-right:8px; color:var(--accent); }
figcaption em { color:var(--muted); font-style:normal; }
.project-facts { margin-top:48px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.project-facts div { min-height:112px; padding:25px 20px; display:flex; flex-direction:column; justify-content:center; gap:8px; border-right:1px solid var(--line); }
.project-facts div:last-child { border:0; }
.project-facts span { color:var(--muted); font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.project-facts strong { font-size:13px; }
.project-facts .fact-accent { color:#fff; background:var(--primary); }
.project-facts .fact-accent span { color:color-mix(in srgb,var(--soft) 80%,white); }

.system-story { padding:20px 0 125px; }
.system-story-head { margin-bottom:44px; display:grid; grid-template-columns:1.08fr .62fr; align-items:end; gap:72px; }
.system-story-head h2 { margin:0; font-size:clamp(43px,5.4vw,72px); line-height:.98; letter-spacing:-.052em; }
.system-story-head h2 span { color:var(--accent); }
.system-story-intro p { margin:0 0 20px; color:var(--muted); line-height:1.7; }
.system-story-intro a { color:var(--primary); font-size:13px; font-weight:850; text-underline-offset:5px; }
.system-story-intro a span { margin-left:5px; color:var(--accent); }
.system-story-canvas { position:relative; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:var(--surface); box-shadow:0 28px 70px color-mix(in srgb,var(--primary) 12%,transparent); }
.system-story-canvas::after { content:""; position:absolute; inset:0; pointer-events:none; box-shadow:inset 0 0 0 1px rgba(255,255,255,.45); }
.system-story-canvas img { display:block; width:100%; aspect-ratio:1.5; object-fit:cover; }
.system-story-badge { position:absolute; left:22px; bottom:22px; z-index:1; min-width:220px; padding:15px 18px; display:grid; grid-template-columns:10px 1fr; gap:3px 10px; border:1px solid rgba(255,255,255,.72); border-radius:12px; background:rgba(255,255,255,.9); box-shadow:0 15px 40px rgba(20,35,45,.15); backdrop-filter:blur(12px); }
.system-story-badge i { grid-row:1/span 2; align-self:center; width:8px; height:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 15%,transparent); }
.system-story-badge span { color:var(--muted); font-size:8px; font-weight:900; letter-spacing:.13em; }
.system-story-badge strong { font-size:11px; }
.system-story-legend { display:grid; grid-template-columns:repeat(4,1fr); border-left:1px solid var(--line); border-top:1px solid var(--line); }
.system-story-legend article { min-height:180px; padding:24px; display:grid; grid-template-columns:27px 1fr; gap:10px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.33); }
.system-story-legend b { padding-top:3px; color:var(--accent); font-family:ui-monospace,monospace; font-size:9px; }
.system-story-legend h3 { margin:0 0 9px; font-size:16px; }
.system-story-legend p { margin:0; color:var(--muted); font-size:12px; line-height:1.62; }
.system-story-cta { min-height:110px; padding:22px 27px; display:flex; align-items:center; justify-content:space-between; gap:30px; color:#fff; background:var(--primary); }
.system-story-cta>div { display:flex; flex-direction:column; gap:6px; }
.system-story-cta span { color:color-mix(in srgb,var(--soft) 72%,white); font-size:8px; letter-spacing:.13em; text-transform:uppercase; }
.system-story-cta strong { font-size:16px; }
.system-story-cta .primary { color:var(--primary); background:#fff; box-shadow:none; }
.system-story-cta .primary span { color:var(--accent); }

.persuasion-graphic { padding:0 0 120px; }
.persuasion-graphic-frame { padding:11px; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:0 28px 70px color-mix(in srgb,var(--primary) 12%,transparent); }
.persuasion-graphic-frame img { display:block; width:100%; height:auto; aspect-ratio:1.5; object-fit:cover; border-radius:15px; }
.persuasion-graphic-caption { margin-top:22px; padding:0 4px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:38px; }
.persuasion-graphic-caption .eyebrow { margin-bottom:8px; }
.persuasion-graphic-caption p:not(.eyebrow) { max-width:760px; margin:0; color:var(--muted); font-size:14px; line-height:1.7; }
.persuasion-graphic-caption .ghost { white-space:nowrap; background:#fff; }

.kernel-section { padding:120px 64px; position:relative; overflow:hidden; border-radius:28px; color:#fff; background:var(--primary); display:grid; grid-template-columns:.82fr 1.18fr; gap:65px; }
.kernel-section::before { content:""; position:absolute; inset:0; opacity:.1; background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px); background-size:52px 52px; mask-image:linear-gradient(90deg,transparent,black); }
.kernel-copy,.kernel-visual,.kernel-benefits { position:relative; z-index:1; }
.kernel-copy .eyebrow { color:color-mix(in srgb,var(--soft) 80%,white); }
.kernel-copy h2 { margin:0; font-size:clamp(42px,4.8vw,66px); line-height:.98; letter-spacing:-.052em; }
.kernel-copy h2 span { color:var(--accent); }
.kernel-copy>p:not(.eyebrow) { max-width:540px; margin:26px 0; color:color-mix(in srgb,var(--soft) 78%,white); line-height:1.75; }
.kernel-button { border:1px solid rgba(255,255,255,.26); color:#fff; background:rgba(255,255,255,.08); }
.kernel-visual { min-height:400px; padding:35px; display:grid; grid-template-rows:auto 1fr auto; align-items:center; border:1px solid rgba(255,255,255,.17); background:rgba(0,0,0,.17); }
.kernel-input,.kernel-output { padding:14px 16px; display:flex; justify-content:space-between; gap:18px; border:1px solid rgba(255,255,255,.15); color:color-mix(in srgb,var(--soft) 78%,white); font-size:10px; }
.kernel-input span,.kernel-output span { color:var(--accent); font-family:ui-monospace,monospace; font-size:8px; letter-spacing:.12em; }
.kernel-output { flex-wrap:wrap; }
.kernel-output strong { font-size:9px; }
.kernel-core { justify-self:center; width:174px; height:174px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid var(--accent); border-radius:50%; background:color-mix(in srgb,var(--primary) 78%,black); box-shadow:0 0 0 22px rgba(255,255,255,.025),0 0 0 44px rgba(255,255,255,.018); text-align:center; }
.kernel-core span { color:color-mix(in srgb,var(--soft) 76%,white); font-size:9px; }
.kernel-core strong { margin:5px 0; color:#fff; font-size:24px; line-height:.9; letter-spacing:-.03em; }
.kernel-core i { color:var(--accent); font-size:7px; font-style:normal; letter-spacing:.13em; }
.kernel-benefits { grid-column:1/span 2; margin-top:10px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.16); border-left:1px solid rgba(255,255,255,.16); }
.kernel-benefits article { min-height:205px; padding:23px; border-right:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.kernel-benefits b { color:var(--accent); font-family:ui-monospace,monospace; font-size:9px; }
.kernel-benefits h3 { margin:42px 0 9px; font-size:17px; }
.kernel-benefits p { margin:0; color:color-mix(in srgb,var(--soft) 72%,white); font-size:12px; line-height:1.6; }

.benefits { padding:122px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:.78fr 1.22fr; gap:86px; }
.benefit-intro { align-self:start; position:sticky; top:35px; }
.benefit-intro>p:not(.eyebrow) { max-width:430px; margin:25px 0; color:var(--muted); line-height:1.72; }
.benefit-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.benefit-grid article { min-height:280px; padding:26px; position:relative; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.38); }
.number { color:#97a3aa; font-family:ui-monospace,monospace; font-size:9px; }
.icon { width:43px; height:43px; margin:37px 0 24px; display:grid; place-items:center; border-radius:12px; color:var(--primary); background:var(--soft); font-size:20px; }
.benefit-grid h3 { margin:0 0 11px; font-size:19px; letter-spacing:-.025em; }
.benefit-grid p { margin:0; color:var(--muted); font-size:14px; line-height:1.65; }

.process { padding:120px 0; display:grid; grid-template-columns:.68fr 1.32fr; gap:90px; }
.process ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.process li { padding:32px 0; display:grid; grid-template-columns:72px 1fr; gap:18px; border-bottom:1px solid var(--line); }
.process li>span { color:var(--accent); font-family:ui-monospace,monospace; font-size:11px; font-weight:800; }
.process h3 { margin:0 0 8px; font-size:21px; }
.process li p { max-width:560px; margin:0; color:var(--muted); line-height:1.65; }

.closing { min-height:430px; margin-bottom:70px; padding:70px; position:relative; overflow:hidden; border-radius:28px; color:#fff; background:var(--primary); display:grid; grid-template-columns:1fr auto; align-items:end; gap:50px; }
.closing::before { content:""; position:absolute; width:420px; height:420px; right:11%; top:-220px; border:1px solid rgba(255,255,255,.16); border-radius:50%; box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.02); }
.closing-pattern { position:absolute; inset:0; opacity:.11; background-image:linear-gradient(30deg,transparent 48%,white 49%,white 50%,transparent 51%); background-size:70px 70px; mask-image:linear-gradient(90deg,transparent 35%,black); }
.closing-copy,.closing-actions { position:relative; z-index:1; }
.closing .eyebrow { color:color-mix(in srgb,var(--soft) 80%,white); }
.closing h2 { margin:0; font-size:clamp(46px,5.5vw,74px); line-height:.95; letter-spacing:-.055em; }
.closing-copy>p:last-child { max-width:590px; margin:25px 0 0; color:color-mix(in srgb,var(--soft) 78%,white); line-height:1.7; }
.closing-actions { display:flex; flex-direction:column; align-items:center; gap:13px; }
.light { min-width:260px; color:var(--primary); background:#fff; box-shadow:0 18px 40px rgba(0,0,0,.16); }
.closing-actions>span { color:color-mix(in srgb,var(--soft) 70%,white); font-size:9px; }

footer { min-height:155px; padding:30px 0 45px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:45px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
.footer-brand { font-size:15px; }
.footer-brand .brand-mark { width:32px; height:32px; border-radius:9px; }
footer p { margin:0; }
footer>div { display:flex; gap:20px; }
footer>div a { text-underline-offset:4px; }

@media (max-width:1020px) {
  .hero { grid-template-columns:1fr; padding-top:72px; }
  .hero-copy { max-width:760px; }
  .hero-stage { max-width:820px; }
  .section-head { grid-template-columns:1fr; gap:25px; }
  .system-story-head { grid-template-columns:1fr; gap:25px; }
  .system-story-legend { grid-template-columns:repeat(2,1fr); }
  .kernel-section { grid-template-columns:1fr; }
  .kernel-benefits { grid-column:auto; }
  .benefits { grid-template-columns:1fr; gap:55px; }
  .benefit-intro { position:static; }
  .process { grid-template-columns:1fr; gap:55px; }
  .closing { grid-template-columns:1fr; align-items:start; }
  .closing-actions { align-items:flex-start; }
}

@media (max-width:760px) {
  .section-shell,.site-header { width:min(100% - 30px,1240px); }
  .site-header { min-height:70px; grid-template-columns:1fr auto; }
  nav { display:none; }
  .header-cta { font-size:11px; }
  .header-actions { gap:8px; }
  .hero { min-height:0; padding:58px 0 76px; gap:46px; }
  h1 { font-size:clamp(46px,13vw,70px); }
  .lead { font-size:16px; }
  .actions { flex-direction:column; }
  .button { width:100%; }
  .hero-proof { grid-template-columns:1fr; gap:13px; }
  .hero-proof div { flex-direction:row; gap:8px; }
  .hero-stage { padding:32px 0 65px; }
  .orb-one { right:0; }
  .browser-card { border-radius:12px; transform:none; }
  .browser-card img { aspect-ratio:1.25; }
  .result { left:9px; top:5px; }
  .parameters { right:8px; bottom:5px; }
  .logo-strip { padding:28px 0; flex-wrap:wrap; gap:15px 20px; }
  .logo-strip>span { width:100%; text-align:center; }
  .project { padding:90px 0; }
  .project-gallery { grid-template-columns:1fr; grid-template-rows:auto; }
  .project-gallery .gallery-main { grid-row:auto; }
  .gallery-main .image-frame img,.image-frame img { min-height:280px; }
  .project-facts { grid-template-columns:repeat(2,1fr); }
  .project-facts div { border-bottom:1px solid var(--line); }
  .system-story { padding:0 0 90px; }
  .system-story-canvas { border-radius:16px; }
  .system-story-canvas img { aspect-ratio:1.12; object-position:center; }
  .system-story-badge { left:10px; bottom:10px; min-width:0; padding:11px 13px; }
  .system-story-legend { grid-template-columns:1fr; }
  .system-story-legend article { min-height:140px; }
  .system-story-cta { padding:24px; flex-direction:column; align-items:stretch; }
  .persuasion-graphic { padding-bottom:80px; }
  .persuasion-graphic-frame { padding:5px; border-radius:15px; }
  .persuasion-graphic-frame img { border-radius:10px; }
  .persuasion-graphic-caption { grid-template-columns:1fr; gap:20px; }
  .persuasion-graphic-caption .ghost { width:100%; white-space:normal; }
  .kernel-section { width:min(100% - 30px,1240px); padding:60px 24px; gap:42px; }
  .kernel-visual { min-height:360px; padding:22px 14px; }
  .kernel-benefits { grid-template-columns:1fr; }
  .kernel-benefits article { min-height:170px; }
  .benefits,.process { padding:90px 0; }
  .benefit-grid { grid-template-columns:1fr; }
  .benefit-grid article { min-height:235px; }
  .closing { min-height:0; padding:50px 25px; border-radius:20px; }
  .closing h2 { font-size:clamp(43px,12vw,62px); }
  .closing-actions { align-items:stretch; }
  .light { min-width:0; }
  footer { grid-template-columns:1fr; gap:18px; }
}

@media (max-width:430px) {
  .brand { font-size:15px; }
  .header-cta { display:none; }
  .parameters { width:170px; }
  .project-facts { grid-template-columns:1fr; }
}
