/* robin-global-app.css */
/* /app/: product page for the Green Hero app. */
/* Same box model as the rest of the site, so the shared menu bar keeps its size. */
*,*::before,*::after{box-sizing:border-box}
body.app-story{margin:0;background:#040a06;color:#eef5ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:clip}
.ax h1,.ax h2,.ax h3{font-family:var(--heading-font);font-weight:400;font-synthesis:none;letter-spacing:-.025em;margin:0}
.ax-kicker{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#9fd88a;margin:0 0 18px}
.ax-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ax-store{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.ax-store a{color:#f1f7ec;text-decoration:none;border:1px solid #4e6a4f;border-radius:999px;padding:12px 20px;font-size:13px;transition:background .2s,border-color .2s}
.ax-store a:hover{background:#17301c;border-color:#7fae76}

/* Hero: copy beside a still phone whose screens change. */
.ax-hero{min-height:calc(calc(var(--app-embed-vh,1vh) * 100) - var(--site-nav-height,80px));display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px;padding:60px max(32px,calc((100vw - 1260px)/2));background:radial-gradient(50% 60% at 74% 52%,rgba(60,150,70,.24),transparent);box-sizing:border-box}
.ax-hero h1{font-size:clamp(48px,6.4vw,104px);line-height:1;margin-bottom:26px}
.ax-sub{font-size:clamp(16px,1.4vw,20px);line-height:1.7;color:#bcd0b9;max-width:520px;margin:0}
.ax-hero-stage .ghp{--ghp-w:min(340px,28vw,calc(var(--app-embed-vh,1vh) * 36))}
.ax-try-link{background:#b9ef8f;color:#10281a!important;border-color:#b9ef8f!important;font-weight:600}
.ax-try-link:hover{background:#cff7ac!important}

/* Try the app: the live demo build inside the phone. */
.ax-try{scroll-margin-top:var(--site-nav-height,80px);display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:120px max(32px,calc((100vw - 1260px)/2));background:radial-gradient(60% 70% at 72% 50%,rgba(60,150,70,.22),transparent)}
.ax-try h2{font-size:clamp(40px,4.6vw,72px);line-height:1.04;margin-bottom:22px}
.ax-try-copy>p{font-size:18px;line-height:1.75;color:#b9ccb6;max-width:520px;margin:0}
.ax-tips{margin:30px 0 0;padding:0;list-style:none;counter-reset:tip;display:grid;gap:14px;max-width:520px}
.ax-tips li{counter-increment:tip;display:grid;grid-template-columns:28px 1fr;gap:12px;font-size:15px;line-height:1.6;color:#dfeadb}
.ax-tips li:before{content:counter(tip);display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid #4e6a4f;font-size:12px;color:#9fd88a}
.ax-try-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.ax-btn{font:inherit;font-size:14px;font-weight:600;border-radius:999px;padding:13px 24px;border:1px solid #b9ef8f;background:#b9ef8f;color:#10281a;cursor:pointer;transition:background .2s}
.ax-btn:hover{background:#cff7ac}
.ax-btn-ghost{background:transparent;color:#e8f3e2;border-color:#4e6a4f}
.ax-btn-ghost:hover{background:#17301c}
.ax-try-stage{position:relative}
.ax-try-stage .ghp{--ghp-w:min(360px,30vw,calc(var(--app-embed-vh,1vh) * 40))}
.ax-try-stage .ghp-screen iframe{opacity:0;transition:opacity .6s}
.ax-live-ready .ghp-screen iframe{opacity:1}
.ax-full{position:fixed;inset:0;z-index:1000;background:#000;display:flex;flex-direction:column}
.ax-full[hidden]{display:none}
.ax-full-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;background:#0b1a0e;color:#c4d6c1;font-size:13px}
.ax-full-bar button{font:inherit;font-weight:600;border:0;border-radius:999px;padding:8px 16px;background:#b9ef8f;color:#10281a}
.ax-full iframe{flex:1;width:100%;border:0}
.ax-full-open,.ax-full-open body{overflow:hidden}

/* Story: the phone stays put while each chapter changes its screen. */
.ax-story{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:0 max(32px,calc((100vw - 1260px)/2));position:relative}
.ax-story:before{content:'';position:absolute;inset:10% 0;background:radial-gradient(40% 50% at 30% 50%,rgba(60,150,70,.16),transparent);pointer-events:none}
.ax-story-phone{position:sticky;top:var(--site-nav-height,80px);height:calc(calc(var(--app-embed-vh,1vh) * 100) - var(--site-nav-height,80px));display:grid;place-items:center}
.ax-story-phone .ghp{--ghp-w:min(340px,28vw,calc(var(--app-embed-vh,1vh) * 38))}
.ax-chapters article{min-height:calc(var(--app-embed-vh,1vh) * 92);display:flex;flex-direction:column;justify-content:center;max-width:470px;opacity:.22;transform:translateY(24px);transition:opacity .6s,transform .8s cubic-bezier(.2,.8,.2,1)}
.ax-chapters article.on{opacity:1;transform:none}
.ax-num{font-size:12px;letter-spacing:3px;color:#9fd88a;margin-bottom:18px}
.ax-chapters h3{font-size:clamp(34px,3.6vw,56px);line-height:1.05;margin-bottom:22px}
.ax-chapters p{font-size:18px;line-height:1.75;color:#b9ccb6;margin:0}

/* Film: three phones playing real recordings. */
.ax-film{padding:140px max(24px,calc((100vw - 1260px)/2)) 120px;text-align:center;background:linear-gradient(#040a06,#0b1a0e 50%,#040a06)}
.ax-film h2,.ax-products h2,.ax-download h2{font-size:clamp(38px,4.6vw,72px);line-height:1.04}
.ax-film-row{display:flex;justify-content:center;align-items:center;gap:clamp(16px,4vw,64px);margin-top:70px}
.ax-film .ghp{--ghp-w:min(280px,26vw)}

/* Products */
.ax-products{padding:130px max(32px,calc((100vw - 1260px)/2)) 90px}
.ax-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:50px}
.ax-cards a{position:relative;display:flex;flex-direction:column;gap:14px;min-height:220px;padding:28px 24px;border-radius:16px;background:linear-gradient(160deg,#122617,#0a160d);border:1px solid #213a26;color:#eef5ea;text-decoration:none;transition:transform .25s,border-color .25s}
.ax-cards a:hover{transform:translateY(-6px);border-color:#5f9a58}
.ax-card-k{font-family:var(--heading-font);font-size:28px}
.ax-cards p{font-size:14px;line-height:1.7;color:#a9bea6;margin:0}
.ax-arrow{position:absolute;right:20px;top:22px;font-size:20px;color:#9fd88a}

/* Download */
.ax-download{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;margin:40px max(32px,calc((100vw - 1260px)/2)) 120px;padding:60px;border-radius:24px;background:radial-gradient(90% 120% at 20% 20%,#2a6a33,#12311a 45%,#0a1a0e)}
.ax-download .ghp{--ghp-w:min(280px,60vw)}
.ax-download p{font-size:17px;line-height:1.7;color:#c4d6c1}
.ax-fine{font-size:12px!important;color:#93a990!important;margin-top:26px}

@media(max-width:860px){
  .ax-hero{grid-template-columns:1fr;padding:36px 22px 60px;text-align:center;gap:40px}
  .ax-sub{margin:auto}
  .ax-store{justify-content:center}
  .ax-hero-stage .ghp{--ghp-w:min(250px,62vw)}
  .ax-try{grid-template-columns:1fr;padding:80px 20px;gap:40px}
  .ax-try-stage{order:-1}
  .ax-try-stage .ghp{--ghp-w:min(230px,56vw)}
  .ax-story{grid-template-columns:1fr;padding:0 20px}
  .ax-story-phone{height:calc(var(--app-embed-vh,1vh) * 56);z-index:1}
  .ax-story-phone .ghp{--ghp-w:min(190px,44vw,calc(var(--app-embed-vh,1vh) * 24))}
  .ax-chapters{position:relative;z-index:2}
  .ax-chapters article{min-height:calc(var(--app-embed-vh,1vh) * 70);justify-content:flex-end;padding-bottom:calc(var(--app-embed-vh,1vh) * 12);max-width:none;background:linear-gradient(transparent,rgba(4,10,6,.92) 30%)}
  .ax-chapters h3{font-size:32px}
  .ax-chapters p{font-size:16px}
  .ax-film{padding:90px 16px}
  .ax-film-row{gap:10px}
  .ax-film .ghp{--ghp-w:30vw}
  .ax-cards{grid-template-columns:1fr 1fr}
  .ax-download{grid-template-columns:1fr;padding:36px 22px;margin:20px 16px 80px;text-align:center}
}
@media(prefers-reduced-motion:reduce){.ax-chapters article{opacity:1;transform:none}}

/* Shared footer, as on /infinity/ */
.app-story .site-footer{margin:0;padding:44px max(32px,calc((100vw - 1260px)/2));background:#020503;color:#a9bba6;border-top:1px solid rgba(251,252,247,.08);display:flex;gap:24px 50px;align-items:start;justify-content:space-between;flex-wrap:wrap;font-size:13px}
.app-story .site-footer p{margin:12px 0 0;font-size:12px;line-height:1.7}
.app-story .site-footer>div:last-of-type{display:flex;flex-direction:column;gap:10px}
.app-story .site-footer a{color:inherit;text-decoration:none}
.app-story .footer-brand{display:inline-flex;align-items:center;gap:10px}
.app-story .footer-brand .hero-splash{display:block;position:relative;overflow:hidden;width:46px;height:34px}
.app-story .footer-brand .hero-splash img{position:absolute;width:60px;height:60px;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%)}
.app-story .footer-brand .hero-wordmark{width:150px;height:auto}

/* app-entry.css */
@font-face{font-family:Roboto;src:url("/energi/assets/assets/fonts/roboto-latin.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
/* Elavtal entry context only; the app content and its controls are shared. */
.energy-app-navigation{position:sticky;top:var(--site-nav-height,80px);z-index:59;background:#e8ede1;border-bottom:1px solid #d5ded0;font:500 15px/1.4 Roboto,Arial,sans-serif}
.energy-app-navigation>div{display:flex;align-items:center;justify-content:center;gap:8px;min-height:68px;max-width:1240px;width:calc(100% - 32px);margin:auto;overflow-x:auto}
.energy-app-navigation a{flex:none;padding:11px 20px;border:1px solid transparent;border-radius:30px;color:#405843;text-decoration:none;white-space:nowrap}
.energy-app-navigation a:hover{background:#d9e3d0;color:#173e2e}
.energy-app-navigation a[aria-current]{background:#173e2e;color:#f2f3eb}
.energy-app-navigation a:focus-visible{outline:2px solid #214c36;outline-offset:2px}
.ax-hero{min-height:calc(100vh - var(--site-nav-height,80px) - var(--energy-app-nav-height,68px))}
.ax-try{scroll-margin-top:calc(var(--site-nav-height,80px) + var(--energy-app-nav-height,68px))}
@media(max-width:700px){.energy-app-navigation>div{justify-content:flex-start;min-height:58px;width:calc(100% - 20px);gap:5px}.energy-app-navigation a{padding:9px 15px;font-size:14px}}

/* energy-contact.css */
.energy-contact-float{position:fixed;right:24px;bottom:24px;z-index:1000;border:1px solid #bff7ce;background:#9df2bd;color:#0d2116;border-radius:32px;padding:14px 22px;box-shadow:0 6px 28px #0004;cursor:pointer;font:600 14px Inter,Arial,sans-serif;text-align:left}.energy-contact-float span{display:block;font-size:12px;margin-top:3px}.energy-contact-float:hover{background:#bbf8d1}.energy-contact-dialog{position:fixed;top:90px;margin:0 auto;width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 120px);overflow:auto;box-sizing:border-box;padding:32px;background:#102e23;color:#f2f3ef;border:1px solid #63836d;border-radius:18px;z-index:1100}.energy-contact-dialog::backdrop{background:#00130dc9}.energy-contact-dialog h2{font-size:32px;margin:12px 0}.energy-contact-close{float:right;border:0;background:none;color:inherit;font-size:28px;cursor:pointer}.energy-contact-dialog form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.energy-contact-dialog label{display:grid;gap:6px;font-size:13px}.energy-contact-dialog input,.energy-contact-dialog textarea,.energy-contact-dialog select{box-sizing:border-box;width:100%;padding:10px;border:1px solid #65816f;border-radius:6px;background:#061c15;color:#fff;font:inherit}.energy-contact-dialog .wide{grid-column:1/-1}.energy-contact-dialog small{font-size:12px;line-height:1.5;color:#bdd0c2}@media(max-width:600px){.energy-contact-float{right:12px;bottom:12px;padding:11px 16px}.energy-contact-dialog{padding:22px}.energy-contact-dialog form{grid-template-columns:1fr}}

.portfolio-outcome-button{margin:8px 0 0 8px;background:#153a2b!important;color:#e7f4df!important;border:1px solid #608367!important}#portfolio-outcome-dialog table{width:100%;border-collapse:collapse;text-align:left}#portfolio-outcome-dialog th,#portfolio-outcome-dialog td{padding:8px;border-bottom:1px solid #55705b}#portfolio-outcome-dialog td:last-child{text-align:right}
.energy-contact-ending{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(120deg,#244b31,#102f22);padding:40px;border:1px solid #517452;border-radius:20px;margin-bottom:70px;color:#f2f3ef}.energy-contact-ending h2{font-size:32px}.magazine-teaser{padding-top:70px;padding-bottom:70px}@media(max-width:600px){.energy-contact-ending{display:block;margin:0 16px 50px}.energy-contact-ending button{margin-top:20px}}

/* interaction-cream.css */
/* Input and information surfaces, scoped to the Elavtal module. */
body.energy-page{--interaction-cream:#f1f3ec;--interaction-ink:#123629;--interaction-muted:#49634f}
body.market-page #sverigekartan .market-section-head,body.market-page #sverigekartan .market-section-head h2,body.market-page #sverigekartan .market-section-head .eyebrow{color:#123629!important;opacity:1!important}
body.market-page #sverigekartan .market-section-head p{color:#49634f!important}
body .parts-section #home-part-explanation{background:linear-gradient(118deg,#f5f5ee,#ecebdd)!important;color:#123629!important;border-color:#c2ccb9!important;box-shadow:inset 0 1px 0 #fff}
body #home-part-explanation :is(h3,p,.eyebrow,button){color:#123629!important}
body #home-part-explanation button{background:transparent;border-color:#839b84}
body :is(#solcellskalkyl,#comparison,#energilab,#prova,.contact-request-form,.energy-contact-dialog) :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea){background:#f1f3ec!important;color:#123629!important;border:1px solid #9cae96!important;border-radius:4px!important;box-sizing:border-box;padding:12px!important;color-scheme:light}
body :is(#solcellskalkyl,#comparison,#energilab,#prova,.contact-request-form,.energy-contact-dialog) :is(input,select,textarea):focus-visible{outline:3px solid #70ac77!important;outline-offset:3px}
body :is(#solcellskalkyl,#comparison,#energilab) input[type=range]{accent-color:#89b76e;background:#f1f3ec;border-radius:4px}
body :is(#solcellskalkyl,#comparison,#energilab) :is(.solar-options label,.solar-existing-settings,.solar-value-result,.solar-year,.system-sizing,.lab-time,.component-detail,.day-summary){background:#f1f3ec!important;color:#123629!important;border-color:#b2c2a9!important;border-radius:4px!important}
body :is(.solar-value-result,.solar-year,#energilab .lab-time,#energilab .component-detail,#energilab .system-sizing,#energilab .day-summary,.solar-existing-settings,.solar-options label) :is(h2,h3,p,strong,span,small,label,output,a,summary,button){color:#123629!important}
body :is(.solar-value-result,.solar-year) :is(p,small,.solar-result-metrics span,.solar-cost-comparison span,.solar-year-summary span),body #energilab :is(.lab-time,.component-detail) small{color:#49634f!important}
body .solar-value-result .solar-system-visual>div{background:#e2e8d9!important;color:#123629}
body .solar-year :is(.solar-month>span,.solar-year-summary strong){color:#123629!important}
body .solar-year .solar-month-bars i[data-series=solar]{background:#467c35}
body .solar-year .solar-month-bars i[data-series=import]{background:#287785}
body .solar-year .solar-month-bars i[data-series=export]{background:#b27d13}
body .solar-year-legend span:nth-child(2){color:#467c35!important}body .solar-year-legend span:nth-child(3){color:#287785!important}body .solar-year-legend span:nth-child(4){color:#946309!important}
body #energilab .lab-time svg text{fill:#34543d!important}
body #energilab .lab-time svg :is(polyline,path:not(.chart-area)){stroke:#477533}
body #energilab .lab-time button{background:#e0e7d8!important;border-color:#9fb393!important}
body #energilab .lab-time button[aria-pressed=true]{background:#bdd79e!important}
body :is(#solcellskalkyl,#comparison) :is(input[type=checkbox],input[type=radio]){accent-color:#426d32}
body .magazine-teaser .btn{margin-top:32px!important}
.portfolio-procurement{margin:0;width:100%}.portfolio-procurement img{display:block;width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:24px}.portfolio-procurement figcaption{font-size:12px;line-height:1.6;color:#b6cdb9;margin-top:12px}
.portfolio-slide-nav{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}.portfolio-slide-nav button{font:inherit;font-size:11px;line-height:1.5;border:1px solid #719377;background:transparent;color:#dce8d5;border-radius:4px;padding:9px 12px;cursor:pointer}.portfolio-slide-nav button[aria-pressed=true]{background:#d2e9aa;color:#123629}
.portfolio-combination svg{width:100%;display:block;overflow:visible}.portfolio-combination svg text{fill:#dce7d5;font:10px Arial,sans-serif}.portfolio-combination svg line{stroke:#73927755}.portfolio-combination svg polyline{fill:none;stroke:#f4bd59;stroke-width:3}.portfolio-combination svg circle{fill:#f4bd59}.portfolio-combination>small{display:block;font-size:10px;line-height:1.7;color:#b6cdb9;margin-top:18px}.portfolio-combination a{color:inherit;text-decoration:underline}.portfolio-chart-key{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:#dce8d5}.portfolio-chart-key i{display:inline-block;width:10px;height:10px;background:#679b66;margin-right:5px}.portfolio-chart-key span:nth-child(2) i{background:#e7d6a7}.portfolio-chart-key span:nth-child(3) i{height:3px;background:#f4bd59;vertical-align:middle}
#avtal .contract-model-stage{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
@media(max-width:760px){#avtal .contract-model-stage{grid-template-columns:1fr}.portfolio-procurement img{aspect-ratio:1.8}.portfolio-combination{max-width:520px;margin:auto}}

body .app-demo-first .replica-heading h1{font-size:clamp(40px,4.8vw,64px);line-height:1.08;margin:18px 0 0;color:#f1f3ec;letter-spacing:-1.5px}
/* The system story is now the Elhandeln opening section. */
#helheten>h1{font-size:clamp(36px,4.2vw,56px);font-weight:400;line-height:1.08;letter-spacing:-1.4px;margin:20px 0 30px}
.sequence-compact #helheten>h1{font-size:34px;line-height:1.08;margin:10px 0 14px}
.sequence-delarna{background:linear-gradient(90deg,#061e18b8,#061e1860),url('/energi/assets/assets/nordic-winter.webp') center 40%/cover no-repeat}
.sequence-delarna #delarna{background:transparent}
.sequence-delarna .intro-system-tags button{backdrop-filter:blur(8px);background:#0d3026e8}
.portfolio-year-outcome{width:100%;text-align:left;color:#e1edda}.portfolio-year-outcome>.eyebrow{display:block;font-size:10px;margin-bottom:18px}.portfolio-year-outcome>strong{display:block;font-size:36px;color:#efc351;font-weight:400}.portfolio-year-outcome>strong small{display:block;font-size:14px;margin-top:4px}.portfolio-year-outcome>small{display:block;font-size:10px;line-height:1.65;color:#adc4b0;margin-top:20px}.portfolio-outcome-bars{margin:22px 0;display:grid;gap:10px}.portfolio-outcome-bars>div{display:grid;grid-template-columns:30px minmax(0,1fr) 42px;align-items:center;gap:10px;font-size:11px}.portfolio-outcome-bars i{display:block;width:var(--bar);height:9px;background:#c5e9a0;border-radius:3px}.portfolio-outcome-bars b{font-weight:400;text-align:right}.portfolio-outcome-summary{margin-top:24px;padding-top:20px;border-top:1px solid #74976a55}.portfolio-outcome-summary>strong{font-size:22px}.portfolio-outcome-summary .portfolio-outcome-bars{display:none}
body.energy-page #energilab .energy-scene{min-height:380px;max-height:none}
body.energy-page #energilab .component-detail{margin-top:36px}
body.energy-page #energilab .grid-tower{top:30px;left:-4%;width:145px;height:auto;z-index:4}
body.energy-page #energilab .grid-tower-photo{height:240px;object-fit:contain}
body.energy-page #energilab .grid-tower>span{position:relative;left:-16px;bottom:auto;margin:8px auto 0}
body.energy-page #energilab .lab-time .lab-line{stroke:#477533!important}
body.energy-page #kontakt.contact-request{width:calc(100% - 48px)!important;max-width:1140px!important;margin:0 auto 72px!important;padding:40px;box-sizing:border-box}
@media(max-width:760px){body.energy-page #energilab .energy-scene{min-height:310px}body.energy-page #energilab .grid-tower{top:32px;left:-3%;width:105px}body.energy-page #energilab .grid-tower-photo{height:180px}body.energy-page #energilab .component-detail{margin-top:24px}body.energy-page #kontakt.contact-request{padding:24px;width:calc(100% - 32px)!important}.portfolio-year-outcome>strong{font-size:30px}}

body .solar-result-kicker{color:#49634f!important}
@media(min-width:761px) and (max-height:850px){
 #avtal{padding:28px 24px!important}
 #avtal .contract-explorer-heading{margin-bottom:20px;min-height:0}
 #avtal .contract-explorer-heading h2{font-size:36px;margin:12px 0}
 #avtal .contract-explorer-heading p{font-size:14px;line-height:1.6}
 #avtal .contract-model-stage{min-height:360px;padding:24px;gap:24px}
 #avtal .contract-model-copy h3{font-size:29px;margin:15px 0}
 #avtal .contract-model-copy p{font-size:13px;line-height:1.65;margin-bottom:16px}
 #avtal .contract-model-facts{margin:16px 0}
 #avtal .contract-model-price{margin:18px 0}
 #avtal .contract-model-copy .btn{font-size:11px;padding:12px 16px}
 #avtal .contract-model-choices{padding:12px;min-width:160px}
 #avtal .contract-model-choices button{padding:18px 12px}
 #avtal .contract-model-choices button strong{font-size:16px}
 #avtal .portfolio-procurement img{aspect-ratio:1.5}
 #avtal .contract-guide-inline{margin-top:18px}
}

/* mobile-base.css */
/* Shared phone rhythm for the Elavtal module; desktop styling is unchanged. */
@media (max-width:760px){
  .energy-page{--mobile-gutter:20px;--mobile-section:48px;font-size:16px;line-height:1.65;-webkit-text-size-adjust:100%}
  .energy-page main{min-width:0}
  .energy-page main :is(p,li){overflow-wrap:break-word}
  .energy-page main h1{font-size:clamp(36px,9.7vw,46px);line-height:1.1;letter-spacing:-.03em}
  .energy-page main h2{font-size:clamp(30px,8vw,38px);line-height:1.14;letter-spacing:-.025em}
  .energy-page main h3{line-height:1.2}
  .energy-page main .eyebrow{font-size:11px;line-height:1.5;letter-spacing:.12em}
  .energy-page main :is(.btn,.textlink){min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1.4}
  .energy-page main input:not([type=checkbox]):not([type=radio]):not([type=range]),.energy-page main select,.energy-page main textarea{font-size:16px;min-height:48px;max-width:100%;box-sizing:border-box}
  .energy-page main :is(input,select,textarea,button,a):focus-visible{outline:2px solid #8bc76e;outline-offset:3px}
  .energy-page .brand-energy-nav>div{width:calc(100% - 24px);min-height:54px;padding:5px 0;gap:4px;scrollbar-width:none}
  .energy-page .brand-energy-nav a{font-size:13px;min-height:44px;padding:10px 15px}
  .energy-page .brand-energy-nav>div::-webkit-scrollbar{display:none}
  .energy-page .brand-header-main{min-height:66px;height:auto}
  .energy-page .brand-footer-grid{font-size:14px;line-height:1.7}
  .energy-page .energy-contact-float{right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:11px 17px;min-height:44px;font-size:13px;box-shadow:0 4px 18px #0003}
  .energy-page .energy-contact-float span{display:none}
  .energy-page .energy-contact-dialog{width:calc(100% - 24px);padding:24px 20px;max-height:calc(100dvh - 100px);border-radius:8px}
  .energy-page .energy-contact-dialog form{grid-template-columns:1fr;gap:16px}
  .energy-page .energy-contact-dialog label{font-size:14px}
  .energy-page .energy-contact-close{width:44px;height:44px;display:grid;place-items:center}
  .energy-page .energy-contact-dialog small{font-size:13px}
  .energy-page .energy-contact-ending{width:calc(100% - 40px);margin:0 auto 56px;padding:28px 24px;border-radius:4px;box-sizing:border-box}
  .energy-page .energy-contact-ending h2{font-size:30px;margin:12px 0}
  .energy-page .energy-contact-ending p{font-size:15px;line-height:1.7}
  .energy-page .energy-contact-ending button{min-height:48px;font-size:14px}
  .energy-page .magazine-teaser{padding-block:48px}
  .energy-page .magazine-teaser p{font-size:16px;line-height:1.7}
  .energy-page .magazine-teaser>.btn{margin-top:20px}
  .energy-page .shared-grid-story{padding-block:48px}
  .energy-page .shared-grid-story .market-wrap{width:calc(100% - 40px)}
  .energy-page .shared-grid-story p{font-size:15px;line-height:1.7}
  .energy-page .shared-grid-story .grid-layout{grid-template-columns:1fr;gap:24px}
  .energy-page .shared-grid-story .grid-layout>div{min-width:0}
  .energy-page .shared-grid-story .grid-area-buttons button,.energy-page .shared-grid-story .grid-term{min-height:44px;font-size:13px}
  .energy-page .shared-grid-story .grid-table-wrap{overflow:auto;max-width:100%;overscroll-behavior-inline:contain}
  .energy-page .shared-grid-story table{min-width:480px}
  .energy-page .shared-grid-story :is(td,th){font-size:13px;padding:12px}
  .energy-page .shared-grid-story .grid-source,.energy-page .shared-grid-story .grid-footnote{font-size:13px;line-height:1.7}
  .energy-page .shared-frequency{width:calc(100% - 40px);padding-block:48px}
  .energy-page .shared-frequency .frequency-intro{font-size:16px;line-height:1.7;margin-bottom:24px}
  .energy-page .shared-frequency .frequency-lab{padding:22px 16px}
  .energy-page .shared-frequency .frequency-lab-head{display:block}
  .energy-page .shared-frequency .frequency-reading{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid #86a37a44}
  .energy-page .shared-frequency .frequency-reading output{font-size:32px}
  .energy-page .shared-frequency .frequency-chart svg text{font-size:20px}
  .energy-page .shared-frequency .frequency-chart svg .axis-title{font-size:20px}
  .energy-page .shared-frequency .frequency-chart input{height:44px;margin:4px 0}
  .energy-page .shared-frequency .frequency-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .energy-page .shared-frequency .frequency-shortcuts button{min-height:44px;font-size:13px;padding:10px 8px}
  .energy-page .shared-frequency .frequency-flow-label{font-size:21px}
  .energy-page .shared-frequency .frequency-payment,.energy-page .shared-frequency .frequency-caveat{font-size:13px;line-height:1.7}
  .energy-page .shared-frequency .frequency-explanation{font-size:16px;line-height:1.7}
}

@media(max-width:760px){
 .energy-page .energy-contact-float{font-size:0;min-width:108px;text-align:center}
 .energy-page .energy-contact-float::after{content:'Få kontakt ↗';font:600 13px/1.4 Inter,Arial,sans-serif}
 .energy-page .shared-grid-story :is(.market-note,.grid-detail-top p,.grid-reserves p,.grid-footnote){font-size:13px;line-height:1.7}
 .energy-page .shared-grid-story :is([data-grid-area],[data-grid-term],.grid-term-close){min-height:44px;font-size:13px}
 .energy-page .home-tool-dialog{width:calc(100% - 20px);padding:0;max-height:calc(var(--elavtal-viewport-height,100dvh) - 90px);border-radius:8px;box-sizing:border-box}
 .energy-page .home-tool-dialog .home-tool-header{padding:16px;gap:12px}
 .energy-page .home-tool-dialog .home-tool-header h2{font-size:23px;line-height:1.2}
 .energy-page .home-tool-dialog .home-tool-header button{min-height:44px;flex:none;font-size:14px}
 .energy-page .home-tool-dialog .home-tool-content{padding:16px}
 .energy-page .home-tool-dialog :is(input:not([type=range]),select,textarea){font-size:16px;min-height:44px;max-width:100%}
 .energy-page .home-tool-dialog p{font-size:14px;line-height:1.65}
}

@media(max-width:380px){
 .energy-page .brand-header-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;padding:10px 12px;box-sizing:border-box}
 .energy-page .brand-logo{min-width:0;gap:5px}
 .energy-page .brand-logo-mark{width:23px;flex:none}
 .energy-page .brand-original-wordmark{font-size:16px}
 .energy-page .brand-original-wordmark small{font-size:6px}
 .energy-page .brand-tools{grid-column:2;gap:5px;min-width:0}
 .energy-page .brand-tools a{padding:10px 9px;font-size:10px;min-height:40px}
 .energy-page .brand-nav{position:static;grid-column:1/-1;grid-row:2;max-width:100%;width:100%;min-width:0;overflow-x:auto;white-space:nowrap}
 .energy-page .brand-nav a{font-size:12px;padding:9px;min-height:40px}
 .energy-page .brand-language{display:none}
}

/* mobile-pages.css */
/* Phone layouts for the Elavtal information and decision pages.
   Load after the existing page styles. Desktop rules remain unchanged. */
@media (max-width:760px){
  /* Price overview and area pages: keep numbers legible and controls tappable. */
  .market-page .market-wrap{width:calc(100% - 32px);max-width:100%;min-width:0}
  .market-page .market-hero{padding:28px 0 36px}
  .market-page .market-hero h1{font-size:clamp(34px,9vw,44px);line-height:1.12;letter-spacing:-.035em;overflow-wrap:anywhere}
  .market-page .market-lead{font-size:16px;line-height:1.7;margin-top:18px}
  .market-page .market-breadcrumb{font-size:12px;line-height:1.6;flex-wrap:wrap;gap:4px 10px;padding:12px 0}
  .market-page .market-breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
  .market-page .market-jumps{gap:8px 18px;margin:20px 0 28px;font-size:14px}
  .market-page .market-jumps a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0}
  .market-page .market-area-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .market-page .market-area-card{min-width:0;padding:18px 14px;border-radius:8px}
  .market-page .market-area-card a>span{font-size:13px;line-height:1.5}
  .market-page .market-area-card a>strong{font-size:clamp(28px,7.4vw,38px);margin:12px 0 4px}
  .market-page .market-area-card a>small{font-size:12px;line-height:1.5}
  .market-page .market-area-card dl{font-size:12px;line-height:1.5;margin:16px 0 8px}
  .market-page .market-area-card dl>div{display:block;padding:9px 0}
  .market-page .market-area-card dd{margin-top:3px}
  .market-page .market-area-card button{min-height:44px;font-size:13px;padding:9px 0;text-align:left}
  .market-page #market-summary-status,.market-page .market-note{font-size:12px;line-height:1.7;overflow-wrap:anywhere}
  .market-page .market-section-head{display:block;margin-bottom:24px}
  .market-page .market-section-head h2{font-size:32px;line-height:1.15;letter-spacing:-.025em}
  .market-page .market-section-head p{font-size:15px;line-height:1.7}
  .market-page .live-section,.market-page .market-history,.market-page .grid-explorer,.market-page .market-trends,.market-page .production-now,.market-page .nuclear-section{padding-top:40px;padding-bottom:40px}
  .market-page #market-live .price-panel{padding:20px 14px;border-radius:8px;min-width:0}
  .market-page .price-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
  .market-page .price-controls label{font-size:13px;line-height:1.5;min-width:0}
  .market-page .price-controls input,.market-page .price-controls select{width:100%;min-width:0;height:48px;padding:10px;font-size:16px;border-radius:4px}
  .market-page .price-subcontrols{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0}
  .market-page .quickdays{display:flex;width:100%;gap:3px;padding:4px}
  .market-page .quickdays button{flex:1;min-height:44px;padding:10px 8px;font-size:14px}
  .market-page .vat-label{font-size:13px;line-height:1.5;min-height:44px;gap:10px}
  .market-page .vat-label input{width:20px;height:20px;flex:none}
  .market-page .price-status{font-size:13px;line-height:1.65;padding:14px 0}
  .market-page .price-status button{min-height:44px;font-size:14px}
  .market-page .price-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:14px 0 24px}
  .market-page .price-summary>div{min-width:0;padding:8px}
  .market-page .price-summary>div:first-child{padding-left:0}
  .market-page .price-summary>div:last-child{padding-right:0}
  .market-page .price-summary strong{font-size:clamp(23px,6.7vw,31px);line-height:1.15;letter-spacing:-.04em;overflow-wrap:anywhere}
  .market-page .price-summary small{font-size:10px;line-height:1.5;letter-spacing:.04em}
  .market-page .price-summary span{font-size:11px;line-height:1.55;overflow-wrap:anywhere}
  .market-page .graph-heading{display:flex;flex-direction:column;align-items:stretch;gap:16px}
  .market-page .graph-heading h3{font-size:19px;line-height:1.4}
  .market-page .selected-price{font-size:13px;line-height:1.6;max-width:none;margin-top:7px}
  .market-page .view-switch{width:fit-content;max-width:100%;align-self:flex-start}
  .market-page .view-switch button{min-height:44px;font-size:14px;padding:10px 18px}
  .market-page .graph-scroll,.market-page .history-chart,.market-page .history-table-wrap,.market-page .grid-table-wrap,.market-page #annual-price-chart{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .live-prices .graph-scroll svg[data-responsive="phone"]{width:100%;min-width:0;max-width:100%;height:auto}
  .live-prices .graph-scroll svg[data-responsive="phone"] .axis-label{font-size:12px}
  .market-page .table-scroll{max-height:420px;overscroll-behavior:contain}
  .market-page .table-scroll th,.market-page .table-scroll td{padding:14px 10px;font-size:13px;line-height:1.5;white-space:nowrap}
  .market-page .price-bottom{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;font-size:12px;line-height:1.6}
  .market-page .csv-button{min-height:44px;font-size:14px;padding:10px 0}
  .market-page .price-source{font-size:12px;line-height:1.8;overflow-wrap:anywhere;padding-top:18px;margin-top:20px}
  .market-page .history-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
  .market-page .history-controls label,.market-page .grid-year-label,.market-page .market-trends label,.market-page .annual-price-heading label{font-size:13px;line-height:1.6}
  .market-page .history-controls select,.market-page .grid-year-label select,.market-page .market-trends select,.market-page .annual-price-heading select{min-height:48px;max-width:100%;font-size:16px;padding:10px 12px}
  .market-page .market-outline{min-height:48px;font-size:14px;padding:11px 16px}
  .market-page .history-years{gap:8px;margin:22px 0}
  .market-page .history-years a{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;font-size:14px}
  .market-page .history-chart{padding:18px 12px;border-radius:8px}
  .market-page .history-chart svg{min-width:720px}
  .market-page .history-chart svg text{font-size:16px}
  .market-page .history-legend{gap:6px;flex-wrap:wrap}
  .market-page .history-legend button{min-height:44px;padding:8px;font-size:14px}
  .market-page .history-table{min-width:560px;font-size:14px}
  .market-page .history-table th,.market-page .history-table td{padding:14px 12px}
  .market-page .grid-explorer-layout{grid-template-columns:minmax(0,1fr);padding:20px 16px;gap:20px;border-radius:8px}
  .market-page .sweden-map{height:400px;max-height:55svh}
  .market-page .grid-area-detail{padding:24px 0 0;min-width:0;border-left:0}
  .market-page .grid-term-bar{gap:8px;margin-bottom:24px}
  .market-page .grid-term-bar>button{min-height:44px;padding:9px 12px;font-size:13px}
  .market-page .grid-term-panel{padding:24px 44px 24px 20px;max-width:100%;box-sizing:border-box;z-index:4}
  .market-page .grid-term-panel p{font-size:15px;line-height:1.7}
  .market-page .grid-term-close{min-width:44px;min-height:44px;right:2px;top:2px}
  .market-page .map-legend{font-size:12px;line-height:1.5;gap:12px}
  .market-page .map-instruction{font-size:13px;line-height:1.6}
  .market-page .grid-area-tabs{gap:6px}
  .market-page .grid-area-tabs button{min-width:50px;min-height:44px;padding:10px 12px;font-size:14px}
  .market-page .grid-detail-top h3{font-size:29px;line-height:1.2}
  .market-page .balance-number{font-size:44px;margin:18px 0 12px}
  .market-page .grid-detail-top p{font-size:14px;line-height:1.65}
  .market-page .grid-kpis{gap:12px;padding:18px 0}
  .market-page .grid-kpis small{font-size:12px;line-height:1.5}
  .market-page .grid-kpis strong{font-size:24px}
  .market-page .grid-mix h4,.market-page .grid-reserves h4{font-size:16px;line-height:1.5}
  .market-page .grid-mix>div{grid-template-columns:82px minmax(30px,1fr) 75px;gap:8px;font-size:12px}
  .market-page .grid-reserves p,.market-page .grid-area-detail .market-note{font-size:12px;line-height:1.75}
  .market-page .grid-reserves a,.market-page .grid-area-detail .textlink{display:inline-flex;align-items:center;min-height:44px;font-size:13px;line-height:1.5}
  .market-page .trend-cards,.market-page .trend-explain{grid-template-columns:minmax(0,1fr);gap:16px}
  .market-page .trend-cards article{min-height:0;padding:22px;border-radius:8px}
  .market-page .trend-cards article>p,.market-page .trend-explain p{font-size:15px;line-height:1.7}
  .market-page .trend-cards small{font-size:12px;line-height:1.6}
  .market-page .production-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .market-page .production-cards article{min-width:0;padding:18px 14px;border-radius:8px}
  .market-page .production-cards h3{font-size:13px;line-height:1.5}
  .market-page .production-cards strong{font-size:24px;overflow-wrap:anywhere}
  .market-page .market-faq{display:block;padding:40px 0}
  .market-page .market-faq summary{font-size:16px;line-height:1.6;min-height:44px}
  .market-page .market-faq details p{font-size:15px;line-height:1.75}
  .market-page .market-end{display:flex;flex-direction:column;align-items:flex-start;padding:16px 0 40px;font-size:14px}
  .market-page .market-end a{display:inline-flex;align-items:center;min-height:44px;line-height:1.5}

  /* Comparison: readable inputs and results in the same order as desktop. */
  .comparison-studio{width:calc(100% - 32px);max-width:100%;padding:32px 0 48px}
  .comparison-studio .comparison-intro{margin-bottom:28px}
  .comparison-studio .comparison-intro h1{font-size:clamp(35px,9.4vw,46px);line-height:1.12;letter-spacing:-.035em;margin:16px 0 20px}
  .comparison-studio .comparison-intro p{font-size:16px;line-height:1.75}
  .comparison-studio .nordic-comparison-intro{padding:26px 20px;border-radius:8px}
  .comparison-studio .comparison-mode{width:100%;box-sizing:border-box;margin-bottom:28px;border-radius:8px;gap:4px}
  .comparison-studio .comparison-mode button{flex:1;min-width:0;min-height:48px;padding:10px 8px;font-size:14px;line-height:1.4;border-radius:4px}
  .comparison-studio .comparison-workspace{grid-template-columns:minmax(0,1fr);gap:36px}
  .comparison-studio .comparison-inputs,.comparison-studio .comparison-output{min-width:0}
  .comparison-studio .comparison-output{position:static;top:auto}
  .comparison-studio .comparison-step{gap:12px;margin:32px 0 16px}
  .comparison-studio .comparison-step:first-child{margin-top:0}
  .comparison-studio .comparison-step h2{font-size:25px;line-height:1.25}
  .comparison-studio .comparison-inputs label{font-size:14px;line-height:1.65;margin:20px 0 10px}
  .comparison-studio .comparison-inputs select,.comparison-studio .comparison-inputs input[type=number]{min-width:0;min-height:48px;font-size:16px;padding:12px;border-radius:4px}
  .comparison-studio .comparison-inputs input[type=range]{height:36px;margin:10px 0 0;touch-action:pan-y}
  .comparison-studio .comparison-inputs output{font-size:15px;margin-left:8px}
  .comparison-studio .comparison-two,.comparison-studio .manual-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .comparison-studio .company-summary{padding:16px;border-radius:4px;font-size:14px;line-height:1.65;margin-bottom:24px}
  .comparison-studio .company-summary small,.comparison-studio .company-summary a{font-size:12px;line-height:1.75}
  .comparison-studio .company-summary a{display:inline-flex;align-items:center;min-height:44px}
  .comparison-studio .comparison-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .comparison-studio .comparison-presets button{min-width:0;min-height:48px;font-size:12px;line-height:1.6;padding:10px 6px;border-radius:4px}
  .comparison-studio .target-plans{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .comparison-studio .target-plans button{min-width:0;min-height:80px;padding:13px 7px;border-radius:4px}
  .comparison-studio .target-plans button strong{font-size:14px;line-height:1.4}
  .comparison-studio .target-plans button small{font-size:11px;line-height:1.6}
  .comparison-studio .comparison-scenario-toggle{display:flex;align-items:flex-start;gap:10px;padding:6px 0;min-height:44px}
  .comparison-studio .comparison-scenario-toggle input{width:20px;height:20px;flex:none;margin:2px 0 0}
  .comparison-studio .comparison-fine{font-size:12px!important;line-height:1.8!important;overflow-wrap:anywhere}
  .comparison-studio .flex-examples{font-size:11px;line-height:1.6;gap:10px}
  .comparison-studio .invoice-guide{grid-template-columns:minmax(0,1fr);gap:24px}
  .comparison-studio .invoice-sheet{width:100%;max-width:290px;transform:none;box-sizing:border-box;font-size:11px;padding:20px 16px}
  .comparison-studio .invoice-sheet>div{font-size:14px}.comparison-studio .invoice-sheet>div>span{font-size:10px}
  .comparison-studio .invoice-sheet p{font-size:11px!important;line-height:1.7!important}
  .comparison-studio .invoice-guide>div>p{font-size:14px;line-height:1.75}
  .comparison-studio .invoice-guide h3{font-size:23px;line-height:1.3}
  .comparison-studio .manual-validation,.comparison-studio .current-price-field small{font-size:12px;line-height:1.7}
  .comparison-studio .comparison-result-panel{padding:24px 20px;border-radius:8px}
  .comparison-studio .result-badge{font-size:11px;line-height:1.5;letter-spacing:.04em}
  .comparison-studio .result-label{font-size:11px;line-height:1.6;letter-spacing:.08em;margin:24px 0 12px}
  .comparison-studio .result-main{flex-wrap:wrap;gap:4px 10px}
  .comparison-studio .result-main strong{font-size:clamp(43px,12vw,62px);line-height:1.15;letter-spacing:-.04em;max-width:100%;overflow-wrap:anywhere;white-space:normal}
  .comparison-studio .result-main>span{font-size:16px}
  .comparison-studio .comparison-result-panel>p{font-size:14px;line-height:1.75;min-height:0}
  .comparison-studio .result-bars{gap:20px;margin:24px 0}
  .comparison-studio .result-bars>div{font-size:14px;line-height:1.6}
  .comparison-studio .result-breakdown{font-size:12px;line-height:1.6;gap:16px}
  .comparison-studio .result-breakdown>div{gap:14px;align-items:baseline}
  .comparison-studio .result-breakdown>div:last-child{font-size:12px}
  .comparison-studio .comparison-result-panel .result-scope{font-size:12px;line-height:1.8}
  .comparison-studio .comparison-months h3{font-size:19px;line-height:1.4}
  .comparison-studio .comparison-months>div>span{font-size:12px}
  .comparison-studio #monthly-comparison{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain}
  .comparison-studio #monthly-comparison svg{min-width:480px}
  .comparison-studio #monthly-comparison svg text{font-size:14px}
  .comparison-studio .comparison-chart-key{flex-wrap:wrap;gap:12px;font-size:12px;line-height:1.6}
  .comparison-studio .comparison-method{font-size:14px;line-height:1.75}
  .comparison-studio .comparison-method summary{min-height:44px;display:flex;align-items:center;font-size:14px}
  .comparison-studio .comparison-method p{font-size:12px;line-height:1.8;overflow-wrap:anywhere}
  .comparison-studio .comparison-text-button{min-height:44px;max-width:100%;font-size:13px;padding:11px 14px;border-radius:4px}
  .comparison-studio .comparison-market{margin-top:40px;padding-top:32px}
  .comparison-studio .comparison-market>p{font-size:14px;line-height:1.7}
  .comparison-studio .market-table-wrap{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .comparison-studio .comparison-market th,.comparison-studio .comparison-market td{font-size:13px;line-height:1.5;padding:14px 12px}
  .comparison-studio .comparison-market td button{font-size:13px;min-height:44px;padding:8px}
  .comparison-studio .portfolio-year{font-size:12px;line-height:1.6;flex-wrap:wrap}
  .comparison-studio .portfolio-outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .comparison-studio .portfolio-outcome-grid small{font-size:12px;line-height:1.6}
  .comparison-studio .portfolio-outcome-grid em{font-size:10px}

  /* Magazine: report navigation, illustrations and calculations remain visible. */
  .magazine-page .magazine-wrap{width:100%;padding:28px 20px 56px;box-sizing:border-box;min-width:0}
  .magazine-page .magazine-index-hero{padding:20px 0 36px}
  .magazine-page .magazine-index-hero h1{font-size:clamp(37px,9.6vw,48px);line-height:1.12;overflow-wrap:anywhere}
  .magazine-page .magazine-index-hero>div>p:not(.eyebrow){font-size:16px;line-height:1.75}
  .magazine-page .magazine-start a{font-size:23px;min-height:56px;line-height:1.3}
  .magazine-page .magazine-library-heading h2{font-size:34px;line-height:1.2}
  .magazine-page .magazine-library-heading>p{font-size:14px;line-height:1.7}
  .magazine-page .magazine-filterbar label{font-size:13px;line-height:1.6}
  .magazine-page .magazine-filterbar input,.magazine-page .magazine-filterbar select{min-height:48px;font-size:16px;max-width:100%;min-width:0}
  .magazine-page .magazine-results{font-size:13px;line-height:1.6}
  .magazine-page .magazine-card-copy{padding:22px}
  .magazine-page .magazine-card h2{font-size:28px;line-height:1.25}
  .magazine-page .magazine-card-meta{font-size:11px;line-height:1.6;gap:10px}
  .magazine-page .magazine-card p,.magazine-page .magazine-editorial p{font-size:15px;line-height:1.8}
  .magazine-page .magazine-card-link{font-size:13px;line-height:1.6;min-height:44px}
  .magazine-page .magazine-primary{font-size:14px;line-height:1.5;min-height:48px;box-sizing:border-box}
  .magazine-page .magazine-breadcrumb{font-size:12px;line-height:1.6;gap:4px 10px}
  .magazine-page .magazine-breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
  .magazine-page .magazine-article-hero{grid-template-columns:minmax(0,1fr);gap:16px;padding:26px 0 32px}
  .magazine-page .magazine-article-hero h1{font-size:clamp(33px,8.6vw,42px);line-height:1.15;overflow-wrap:anywhere}
  .magazine-page .magazine-lead{font-size:17px;line-height:1.75}
  .magazine-page .magazine-byline{font-size:12px;line-height:1.8}
  .magazine-page .magazine-hero-art{display:block;max-width:300px;width:100%;margin:auto;padding:0}
  .magazine-page .magazine-hero-art .magazine-art{height:160px}
  .magazine-page .magazine-report{grid-template-columns:minmax(0,1fr);gap:28px}
  .magazine-page .magazine-toc{position:static;padding:20px;border-radius:4px;background:#102c22;color:#eff2e8;border:1px solid #41614a}
  .magazine-page .magazine-toc nav{display:block;position:static;inset:auto;width:auto;max-width:none;min-width:0;height:auto;margin:0;padding:0;background:transparent;color:inherit;border:0;box-shadow:none;transform:none;z-index:auto;font-size:14px}
  .magazine-page .magazine-toc nav .eyebrow{color:#c7dcb9;margin:0 0 12px}
  .magazine-page .magazine-toc ol{display:block;position:static;margin:0;padding:0;list-style:none;border-left:1px solid #41614a}
  .magazine-page .magazine-toc li{display:block;position:static;margin:0;padding:0}
  .magazine-page .magazine-toc a{display:block;position:relative;inset:auto;transform:none;width:auto;min-height:44px;padding:11px 14px;box-sizing:border-box;line-height:1.6;color:#c7d8c7;background:transparent;text-align:left;text-decoration:none}
  .magazine-page .magazine-toc a:hover,.magazine-page .magazine-toc a[aria-current]{color:#eff8e4;background:#23452b;border-left-color:#b6e0a4}
  .magazine-page .magazine-toc a::after{display:none}
  .magazine-page nav.magazine-breadcrumb{display:flex;position:static;inset:auto;transform:none;width:auto;max-width:none;height:auto;margin:0;padding:0;background:transparent;color:#b8cabe;border:0;box-shadow:none;z-index:auto}
  .magazine-page .magazine-summary{background:#ecf1e3;color:#173626;padding:24px}
  .magazine-page .magazine-summary .eyebrow{color:#3d6544}
  .magazine-page .magazine-summary li{color:#173626;font-size:15px;line-height:1.75}
  .magazine-page .magazine-summary,.magazine-page .magazine-calculator,.magazine-page .magazine-next{padding:22px 20px;margin-bottom:36px}
  .magazine-page .magazine-summary li{font-size:15px;line-height:1.75}
  .magazine-page .magazine-body h2{font-size:29px;line-height:1.22}
  .magazine-page .magazine-body p{font-size:16px;line-height:1.85;overflow-wrap:anywhere}
  .magazine-page .magazine-points{font-size:16px;line-height:1.8;padding-left:20px}
  .magazine-page .magazine-callout{padding:18px;font-size:15px;line-height:1.8}
  .magazine-page .magazine-body .magazine-citation,.magazine-page .magazine-body .calculator-note,.magazine-page .magazine-body .calculator-visual-note,.magazine-page .magazine-body .magazine-sources p{font-size:12px;line-height:1.8}
  .magazine-page .calculator-fields{grid-template-columns:minmax(0,1fr);gap:18px;margin:22px 0}
  .magazine-page .calculator-fields label{font-size:14px;line-height:1.65}
  .magazine-page .calculator-fields label>span{font-size:12px;line-height:1.7}
  .magazine-page .calculator-fields input{font-size:18px;min-height:48px}
  .magazine-page .calculator-result output{font-size:clamp(28px,8vw,36px);line-height:1.25;overflow-wrap:anywhere}
  .magazine-page .calculator-result>span{font-size:13px;line-height:1.7}
  .magazine-page .calculator-bar-caption{font-size:12px;line-height:1.6;flex-wrap:wrap}
  .magazine-page .calculator-equation{font-size:14px;gap:8px}
  .magazine-page .equation-value{max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
  .magazine-page .magazine-faq summary{font-size:16px;min-height:44px;line-height:1.6;padding:17px 28px 17px 0}
  .magazine-page .magazine-faq details p{font-size:15px;line-height:1.8}
  .magazine-page .magazine-next label{font-size:15px;line-height:1.8;min-height:44px}
  .magazine-page .magazine-next input{width:22px;height:22px;margin-top:3px}
  .magazine-page .magazine-body .magazine-next>p,.magazine-page .magazine-sources ol{font-size:12px;line-height:1.8}
  .magazine-page .magazine-sources a{overflow-wrap:anywhere}
  .magazine-page .magazine-back-top{font-size:14px;min-height:44px;line-height:1.5;padding:16px 0}

  /* Platform explainer: one readable column and a diagram that fits the screen. */
  .energy-system-content{width:calc(100% - 32px);max-width:100%;padding:32px 0 48px;min-width:0}
  .energy-system-content h1{font-size:clamp(34px,9vw,44px);line-height:1.12;letter-spacing:-.035em}
  .energy-system-content p{font-size:16px;line-height:1.75}
  .energy-system-grid,.energy-system-features{grid-template-columns:minmax(0,1fr);gap:24px}
  .energy-system-map{min-width:0;padding:24px 18px;border-radius:8px}
  .energy-system-map>strong{font-size:26px;line-height:1.25;letter-spacing:-.02em;overflow-wrap:anywhere}
  .energy-system-map div{grid-template-columns:minmax(0,1fr);gap:10px;margin:24px 0}
  .energy-system-map span{padding:14px 12px;font-size:15px;line-height:1.5;border-radius:4px}
  .energy-system-features{margin-top:32px}
  .energy-system-features h2{font-size:26px;line-height:1.25}
}
@media (max-width:360px){
  .market-page .market-area-grid,.market-page .production-cards{gap:8px}
  .market-page .market-area-card,.market-page .production-cards article{padding:16px 12px}
  .market-page .price-controls,.comparison-studio .comparison-two,.comparison-studio .manual-fields{grid-template-columns:minmax(0,1fr)}
  .comparison-studio .comparison-presets,.comparison-studio .target-plans{grid-template-columns:minmax(0,1fr)}
  .comparison-studio .target-plans button{min-height:58px;text-align:left;padding:12px}
  .comparison-studio .target-plans button small{margin-top:4px}
}

/* mobile-app.css */
/* Phone layout for the Elavtal-owned Appen route only. Desktop remains unchanged. */
@media (max-width: 760px) {
  body.app-story main.ax { font-size:16px; line-height:1.65; }
  body.app-story main.ax > section { min-width:0; }
  body.app-story main.ax :is(.ax-hero,.ax-try,.ax-story,.ax-film,.ax-products) { padding-inline:20px; }
  body.app-story main.ax :is(.ax-hero,.ax-try,.ax-film,.ax-products) { padding-block:56px; }
  body.app-story main.ax :is(h1,h2,h3) { overflow-wrap:break-word; }
  body.app-story .ax-hero h1 { font-size:clamp(38px,10vw,54px); line-height:1.06; }
  body.app-story :is(.ax-try h2,.ax-film h2,.ax-products h2,.ax-download h2) { font-size:clamp(30px,8.5vw,42px); line-height:1.12; }
  body.app-story main.ax :is(.ax-sub,.ax-try-copy>p,.ax-chapters p,.ax-download p) { font-size:16px; line-height:1.7; }
  body.app-story main.ax :is(.ax-kicker,.ax-num) { font-size:11px; letter-spacing:.13em; }
  body.app-story :is(.ax-store a,.ax-btn,.ax-full-bar button) { min-height:44px; display:inline-flex; align-items:center; justify-content:center; font-size:14px; line-height:1.4; }
  body.app-story .ax-store { gap:10px; margin-top:24px; }
  body.app-story .ax-store a { padding:12px 17px; }
  body.app-story .ax-try { gap:32px; }
  body.app-story .ax-try-stage { order:0; }
  body.app-story .ax-try-stage .ghp { --ghp-w:min(290px,74vw); }
  body.app-story #ax-try-start { min-height:56px; padding:15px 20px; font-size:17px; }
  body.app-story .ax-tips { gap:16px; margin-top:24px; }
  body.app-story .ax-tips li { grid-template-columns:28px minmax(0,1fr); font-size:15px; }
  body.app-story .ax-interaction-hint { font-size:14px; line-height:1.65; }
  body.app-story .ax-fine { font-size:13px!important; line-height:1.65; }
  body.app-story .ax-full-bar { min-height:64px; padding-bottom:12px; }

  /* Keep every chapter readable in the normal phone flow, without a moving overlay. */
  body.app-story .ax-story { display:block; padding-block:32px 56px; }
  body.app-story .ax-story-phone { position:relative; top:auto; height:auto; transform:none!important; padding-block:12px 36px; }
  body.app-story .ax-story-phone .ghp { --ghp-w:min(250px,65vw); }
  body.app-story .ax-chapters { display:grid; gap:16px; }
  body.app-story .ax-chapters article { min-height:0; max-width:none; opacity:1; transform:none; padding:24px 20px; border:1px solid #42614966; border-radius:4px; background:linear-gradient(135deg,#143224,#091e15); }
  body.app-story .ax-chapters h3 { font-size:28px; line-height:1.14; margin-bottom:14px; }
  body.app-story .ax-num { margin-bottom:12px; }

  /* Full-size recordings can be swiped; three tiny unreadable phones are avoided. */
  body.app-story .ax-film-row { justify-content:flex-start; align-items:center; gap:20px; margin-top:32px; padding:10px 12px 22px; margin-inline:-12px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:#90b487 #10291c; }
  body.app-story .ax-film-row > .ghp-stage { flex:0 0 min(240px,68vw); scroll-snap-align:center; }
  body.app-story .ax-film .ghp { --ghp-w:min(230px,65vw); }
  body.app-story .ax-cards { grid-template-columns:1fr; gap:14px; margin-top:28px; }
  body.app-story .ax-cards a { min-height:0; padding:24px; border-radius:4px; gap:12px; }
  body.app-story .ax-card-k { font-size:27px; padding-right:28px; }
  body.app-story .ax-cards p { font-size:15px; line-height:1.7; }
  body.app-story .ax-download { gap:30px; padding:32px 20px; margin:0 20px 56px; border-radius:4px; }
  body.app-story .ax-download .ghp { --ghp-w:min(270px,70vw); }
  body.app-story main.ax>.magazine-teaser { padding:48px 20px; }
  body.app-story main.ax>.magazine-teaser h2 { font-size:32px; }

  body.app-story #prova.restored-probing { width:calc(100% - 40px); padding-block:56px; }
  body.app-story #prova .replica-heading { display:block; margin-bottom:28px!important; }
  body.app-story #prova .replica-heading h2 { font-size:clamp(32px,9vw,42px); line-height:1.12; margin-bottom:18px; }
  body.app-story #prova .replica-heading>p { font-size:16px!important; line-height:1.7; }
  body.app-story #prova .replica-experience { grid-template-columns:minmax(0,1fr); gap:32px; }
  body.app-story #prova .replica-device-column { position:relative; top:auto; transform:none!important; }
  body.app-story #prova .probing-phone-rig { width:min(300px,calc(100vw - 64px)); min-width:0; transform:none; will-change:auto; }
  body.app-story #prova .probing-phone-rig .replica-device { min-width:0; }
  body.app-story #prova .replica-caption { font-size:12px; line-height:1.6; text-align:center; }
  body.app-story #prova .replica-lab { min-width:0; width:100%; }
  body.app-story #prova .replica-invitation { gap:14px; }
  body.app-story #prova .replica-invitation h3 { font-size:27px; margin-bottom:16px; }
  body.app-story #prova .touch-hand { width:36px; animation:none; }
  body.app-story #prova .replica-choices { gap:7px; }
  body.app-story #prova .replica-choices button { min-height:64px; display:flex; flex-direction:column; justify-content:center; gap:6px; padding:12px 5px; font-size:13px; }
  body.app-story #prova .replica-choices b { display:none; }
  body.app-story #prova .replica-choices svg { width:24px; height:24px; }
  body.app-story #prova :is(.replica-control,.replica-annual) { border-radius:4px; padding:20px 16px; }
  body.app-story #prova .replica-annual>label { font-size:15px; line-height:1.5; }
  body.app-story #prova .replica-calendar { grid-template-columns:minmax(0,1fr); gap:16px; }
  body.app-story #prova .replica-calendar label { font-size:14px; }
  body.app-story #prova :is(.replica-calendar input,.replica-annual input) { min-height:48px; font-size:16px; }
  body.app-story #prova .replica-slider-label input,body.app-story #prova .replica-hour-label input { min-height:44px; touch-action:pan-y; }
  body.app-story #prova :is(.replica-setting-hint,.replica-grid-note,.replica-day-yield,.replica-solar-context,.replica-annual>p) { font-size:13px!important; line-height:1.7!important; }
  body.app-story #prova .replica-control-heading h3 { font-size:23px; line-height:1.2; }
  body.app-story #prova .replica-current strong { font-size:42px; }
  body.app-story #prova .replica-range-labels { font-size:12px; }
  body.app-story #prova .replica-flow { gap:5px; margin:28px 0 36px; }
  body.app-story #prova .replica-flow>div:not(.battery-branch) { min-width:0; flex:1; }
  body.app-story #prova .replica-flow small { font-size:10px; letter-spacing:.04em; }
  body.app-story #prova .replica-flow strong { font-size:15px; }
  body.app-story #prova .flow-track { width:16px; flex:none; }
  body.app-story #prova .battery-branch { font-size:12px; white-space:nowrap; }
  body.app-story #prova .replica-chart-heading { gap:12px; font-size:13px; line-height:1.5; }
  body.app-story #prova .replica-line-chart svg text { font-size:17px; fill:#b7cdbf; }
  body.app-story #prova .replica-line-chart svg polyline { stroke-width:2.7; }
  body.app-story #prova .replica-chart-tooltip { font-size:12px; max-width:calc(100% - 8px); }
  body.app-story #prova .replica-hour-label { font-size:13px; line-height:1.5; }
  body.app-story #prova .replica-legend { gap:10px 14px; font-size:12px; line-height:1.5; }
  body.app-story #prova .replica-result { gap:18px; }
  body.app-story #prova .replica-result small { font-size:10px; line-height:1.5; letter-spacing:.06em; display:block; }
  body.app-story #prova .replica-result strong { font-size:28px; }
  body.app-story #prova .replica-assumptions { font-size:12px; line-height:1.7; }
  body.app-story #prova .replica-assumptions summary { padding-block:12px; min-height:44px; }
  body.app-story #prova .replica-assumptions p { font-size:12px!important; line-height:1.7!important; }
  body.app-story #prova .replica-screen-choices { gap:8px; }
  body.app-story #prova .replica-screen-choices button { min-height:44px; padding:11px 13px; font-size:13px; }

  body.app-story #ultracast { padding:56px 20px; }
  body.app-story #ultracast h2 { font-size:clamp(32px,9vw,42px); line-height:1.12; }
  body.app-story #ultracast .large-copy { font-size:16px; line-height:1.7; }
  body.app-story #ultracast .forecast-layout { grid-template-columns:minmax(0,1fr); gap:28px; margin-top:28px; }
  body.app-story #ultracast .forecast-layout>div>h3 { font-size:27px; }
  body.app-story #ultracast .forecast-layout p { font-size:15px; line-height:1.7; }
  body.app-story #ultracast .forecast-signals { gap:8px; margin-top:22px; }
  body.app-story #ultracast .forecast-signals button { min-height:44px; padding:11px 14px; font-size:14px; }
  body.app-story #ultracast .forecast-demo { padding:22px 16px; min-height:0; }
  body.app-story #ultracast .forecast-demo h3 { font-size:27px; line-height:1.2; }
  body.app-story #ultracast .forecast-demo>span { font-size:10px; }
  body.app-story #ultracast .forecast-area { font-size:14px; }
  body.app-story #ultracast .forecast-area select { min-height:44px; font-size:16px; }
  body.app-story #ultracast .forecast-kpi strong { font-size:34px; }
  body.app-story #ultracast :is(.forecast-kpi span,.forecast-source) { font-size:12px; line-height:1.7; }
  body.app-story #ultracast .forecast-live svg text { font-size:17px; }
  body.app-story #ultracast .forecast-live svg polyline { stroke-width:3; }
  body.app-story #ultracast .forecast-production>div,body.app-story #ultracast .forecast-reactors>div { font-size:13px; line-height:1.6; flex-wrap:wrap; }
  body.app-story #ultracast .forecast-consumption { grid-template-columns:74px minmax(0,1fr); gap:12px; }
  body.app-story #ultracast .forecast-mini-map { width:74px; max-width:100%; }
  body.app-story #ultracast .forecast-retry { min-height:44px; font-size:14px; }
  body.app-story #ultracast .journey-note { margin-top:24px; font-size:12px; line-height:1.7; }
}
@media (min-width: 480px) and (max-width: 760px) {
  body.app-story .ax-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  body.app-story main.ax [hidden] { display:none!important; }
}
/* Preserve the small visual indicators inside comfortably tappable targets. */
@media (max-width:760px) {
  body.app-story main.ax .ghp-dots { gap:4px; margin-top:14px; }
  body.app-story main.ax .ghp-dots button { display:grid; place-items:center; width:44px; height:44px; min-width:44px; min-height:44px; padding:0; border:0; border-radius:4px; background:transparent; }
  body.app-story main.ax .ghp-dots button::after { content:""; display:block; width:22px; height:3px; border-radius:2px; background:rgba(160,185,160,.4); }
  body.app-story main.ax .ghp-dots button[aria-pressed="true"] { background:transparent; }
  body.app-story main.ax .ghp-dots button[aria-pressed="true"]::after { background:#b9ef8f; }
  body.app-story main.ax .ghp-dots button:focus-visible { outline:2px solid #9df2bd; outline-offset:2px; }
}

@media(max-width:760px){body.app-story:has(.ax-full:not([hidden])) .energy-contact-float{display:none}}

@media(max-width:760px){
 body.app-story .ax-film .ghp-stage{display:flex;flex-direction:column;align-items:center}
 body.app-story .elavtal-film-control{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:120px;padding:11px 18px;margin:20px 0 0;border:1px solid #8bb87b;border-radius:24px;background:#cceba6;color:#123629;font:600 14px/1.4 Inter,Arial,sans-serif}
 body.app-story .elavtal-film-control:focus-visible{outline:2px solid #eef9df;outline-offset:4px}
}
