/* Composition uses the shared brand foundations and navigation controls. */
.ce-page{--ce-section-space:clamp(48px,6vw,80px);--ce-copy-width:48ch}
.ce-page h1,.ce-page h2,.ce-page h3{font-weight:400;margin:0;letter-spacing:var(--tracking-snug);line-height:var(--lh-snug)}
.ce-page h1{font-size:clamp(42px,4.9vw,70px);line-height:1.06;letter-spacing:var(--tracking-tight)}
.ce-page h2{font-size:var(--section-title-size)}.ce-page h3{font-size:var(--fs-lg)}
.ce-page p{margin:16px 0 0;max-width:var(--ce-copy-width);color:var(--fg-muted)}
.ce-page figure{margin:0}.ce-page img{display:block;max-width:100%}.ce-page figcaption{font-size:var(--fs-sm);line-height:var(--lh-normal);color:var(--fg-muted)}
.ce-page .ce-lead{font-size:var(--fs-md);line-height:1.55}.ce-page .ce-small{font-size:var(--fs-sm);margin-top:20px;max-width:34ch}
.ce-text-link{text-underline-offset:5px;text-decoration-thickness:1px;display:inline-block;padding-block:10px}.ce-text-link:hover{color:var(--orange-text)}
.ce-section{padding-top:var(--ce-section-space);padding-bottom:var(--ce-section-space)}
.ce-hero{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);padding-top:var(--space-8);padding-bottom:var(--space-8);align-items:center}
.ce-hero-copy{padding-block:16px}.ce-actions{display:flex;align-items:center;gap:var(--space-5);margin-top:var(--space-6)}
.ce-proof{display:grid;grid-template-columns:1fr auto;gap:24px;padding-top:var(--space-6);padding-bottom:var(--space-6);border-block:1px solid var(--grey);position:relative}.ce-proof h2{font-size:var(--fs-lg)}.ce-proof p{margin-top:8px}.ce-story-player{max-width:780px;margin-top:24px}
.ce-section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:var(--space-6)}.ce-section-head p{font-size:var(--fs-md);margin:0;max-width:30ch}
.ce-route-section{padding-block:40px}.ce-route-section .ce-section-head{margin-bottom:20px}.ce-route-section h2{font-size:28px}
.ce-audiences{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ce-audience{display:grid;grid-template-columns:1fr 132px;gap:6px 20px;align-items:center;text-decoration:none;border:1px solid var(--surface-divider);border-radius:var(--radius-md);padding:22px 24px;color:var(--fg);background:var(--surface-card)}.ce-audience:hover{border-color:var(--fg-muted)}.ce-route-scene{width:132px;height:94px;grid-column:2;grid-row:1/4}.ce-audience h3{grid-column:1;font-size:22px}.ce-audience p{grid-column:1;font-size:14px;margin:0;max-width:32ch}.ce-audience>.ce-text-link{grid-column:1;font-size:14px;padding:4px 0;text-decoration:underline;justify-self:start}
.ce-how{background:var(--surface-section)}.ce-mechanism{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-8);align-items:center;padding-bottom:var(--space-7)}.ce-scene{min-width:0}.ce-scene svg{display:block;width:100%;height:auto}
.ce-faq{display:grid;grid-template-columns:1fr 1.3fr;gap:var(--space-8)}.ce-faq>div:first-child>a{margin-top:16px}.ce-faq-list details{border-top:1px solid var(--grey)}.ce-faq-list details:last-child{border-bottom:1px solid var(--grey)}.ce-faq-list summary{cursor:pointer;list-style:none;padding:22px 40px 22px 0;position:relative;font-size:18px}.ce-faq-list summary::-webkit-details-marker{display:none}.ce-faq-list summary:after{content:'+';position:absolute;right:8px;top:20px;font-size:22px}.ce-faq-list details[open] summary:after{content:'−'}.ce-faq-list p{padding:0 32px 24px 0;margin:0}
@media(max-width:1060px){.ce-hero,.ce-mechanism,.ce-faq{gap:32px}}
@media(max-width:700px){.ce-hero{grid-template-columns:1fr;padding-block:36px;gap:28px}.ce-hero-copy{padding:0}.ce-proof{grid-template-columns:1fr;gap:8px}.ce-section-head{display:block}.ce-section-head p{margin-top:16px}.ce-audiences,.ce-mechanism,.ce-faq{grid-template-columns:1fr}.ce-faq{gap:24px}.ce-page h1{max-width:14ch}.ce-page .ce-small{max-width:none}.ce-proof h2{font-size:24px}}
@media(max-width:350px){.ce-actions{gap:16px;flex-wrap:wrap}.ce-page h1{font-size:39px}}

/* Illustrated business context; real customer imagery stays with attributed evidence. */
.ce-equipment-art{position:relative}.ce-equipment-hero img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;mix-blend-mode:multiply}.ce-equipment-hero{background:var(--surface-section)}
.ce-equipment-hero figcaption{padding-top:12px}
@media(max-width:700px){.ce-proof h2{font-size:22px}.ce-hero{padding-top:32px}}

/* Shared white surfaces; colour marks the brand and actions. */
.ce-brand-accent{color:var(--orange)}
.ce-hero-bullets{list-style:none;padding:0;margin:28px 0 0;max-width:48ch;font-size:18px;line-height:1.5}.ce-hero-bullets li{padding-left:26px;position:relative;margin:16px 0}.ce-hero-bullets li:before{content:"";position:absolute;left:2px;top:8px;width:7px;height:12px;border:solid var(--orange-text);border-width:0 2px 2px 0;transform:rotate(45deg)}.ce-hero-bullets strong{font-weight:400}.ce-hero-bullets span{display:block;font-size:14px;color:var(--fg-muted);margin-top:4px}
.ce-image-note{position:absolute;min-width:44px;min-height:44px}.ce-battery-note{left:78%;top:38%;width:7%;height:26%}.ce-solar-note{left:61%;top:15%;width:44px;height:44px}.ce-image-hotspot{display:block;width:100%;height:100%;min-width:44px;min-height:44px;border:0;background:transparent;padding:0;cursor:help;border-radius:4px}.ce-image-hotspot[hidden]{display:none}.ce-image-hotspot span{position:absolute;right:8px;bottom:8px;border:1px solid var(--fg-muted);background:var(--white);border-radius:50%;width:14px;height:14px;font-size:10px;line-height:12px;color:var(--fg)}.ce-tooltip{position:absolute;right:calc(100% + 6px);top:18%;width:154px;padding:8px 10px;border:1px solid var(--grey);border-radius:4px;background:var(--white);box-shadow:0 3px 10px #1616160a;font-size:12px;line-height:1.4;z-index:2}.ce-tooltip[hidden]{display:none}
@media(max-width:1060px){.ce-equipment-hero{display:none}.ce-hero{grid-template-columns:1fr}.ce-hero-copy{max-width:660px}.ce-audience{grid-template-columns:1fr 96px;padding:20px;gap:6px 12px}.ce-route-scene{width:96px;height:80px}.ce-hero-bullets{max-width:46ch}}
@media(max-width:700px){.ce-route-section{padding-block:32px}.ce-audiences{gap:12px}.ce-audience{grid-template-columns:1fr 96px}.ce-hero-bullets{font-size:17px}.ce-route-section h2{font-size:26px}}

/* Section rhythm: white surfaces, shared spacing, subtle dividers. */
.ce-hero{min-height:calc(100svh - 81px)}.ce-divided{border-top:1px solid var(--surface-divider)}.ce-section,.ce-placement{scroll-margin-top:24px}.ce-mechanism{padding-bottom:0}.ce-route-section{padding-block:var(--ce-section-space)}
/* Illustrations remain open on the page; copy follows the active example. */

@media(max-width:1060px){.ce-hero{min-height:calc(100svh - 73px)}}
@media(max-width:700px){.ce-hero{min-height:calc(100svh - 69px)}.ce-route-section{padding-block:var(--ce-section-space)}}

.ce-faq-list .faq-chev{display:none}

.ce-page .ce-hero-footnote{font-size:12px;line-height:1.5;max-width:56ch;margin-top:18px;color:var(--fg-muted)}

.ce-page .ce-route-section h2{font-size:clamp(30px,3.2vw,44px)}
.ce-page .ce-route-section .ce-section-head{margin-bottom:var(--space-6)}
.ce-page .ce-battery-note{left:73%;top:39%}

.ce-carousel{position:relative}.ce-faq .action{margin-top:20px}

@media(min-width:1061px){.ce-page .ce-hero{grid-template-columns:minmax(400px,.85fr) minmax(0,1.3fr);gap:24px}.ce-equipment-hero{align-self:center}}
