/* Zaxon V5 — service symbols, explanatory diagrams and a useful Joule example. */
.visual-surface{display:flex;align-items:center;justify-content:center;min-width:0;background:#eef5fa;color:#092033;padding:2rem;aspect-ratio:auto;overflow:visible}
.visual-surface--energy{background:#edf5e5}.visual-surface--joule{background:#e8eff9;padding:clamp(1rem,2.2vw,2rem)}
.visual-surface::after{display:none}
.visual-surface img.zaxon-symbol,.symbol-tile img.zaxon-symbol{position:static;inset:auto;width:100%;height:100%;max-width:100%;object-fit:contain;border-radius:0}
.zaxon-symbol{object-fit:contain;aspect-ratio:1;flex:none}
.symbol-tile{background:transparent;overflow:visible;border-radius:0}
.service-card{grid-template-columns:2rem 7rem minmax(0,1fr);gap:1.5rem;padding:1.75rem 0}
.service-card__media.symbol-tile{width:112px;aspect-ratio:1;align-self:center}
.service-card__body{min-width:0}.service-card h3{font-size:1.5rem}
.service-card a{gap:.5rem}.service-card p{font-size:1rem}
.solution-index-card{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:1.5rem}
.solution-index-card__media.symbol-tile{aspect-ratio:1;width:150px}
.solution-index-card__body{padding:0;min-width:0}.solution-index-card h2{font-size:1.65rem}
.sap-symbol{display:flex;flex-direction:column;align-items:center;gap:1rem}
.sap-symbol img{width:108px;height:auto;object-fit:contain}.sap-symbol span{font-size:.75rem;text-align:center;line-height:1.5;color:#405d70}
.sector-icon{width:28px;height:28px;object-fit:contain;margin-right:1rem}
.service-diagram{width:min(100%,29rem);margin:0;padding:.5rem}
.service-diagram__symbol{width:clamp(140px,15vw,220px);height:clamp(140px,15vw,220px);margin:0 auto 1rem}
.service-diagram figcaption{font-size:.875rem;letter-spacing:.03em;font-weight:650;color:#405d70;margin-bottom:1.2rem;text-align:center}
.visual-flow{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem}
.visual-flow li{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;background:#fff;border:1px solid #c3d7e3;border-radius:12px;position:relative}
.visual-flow li+li::before{content:"↓";position:absolute;top:-1.4rem;left:1.75rem;color:#08789f}
.diagram-step{display:inline-grid;place-items:center;width:34px;height:34px;flex:none;border:1px solid #8ab9cd;border-radius:50%;color:#075778;font-size:.8125rem;font-weight:650}
.visual-flow strong{font-size:1.0625rem}.visual-flow p{font-size:.875rem;color:#405d70;margin:.2rem 0 0;line-height:1.5}
.sap-map{width:min(100%,31rem);margin:0;text-align:center;color:#092033}
.sap-map figcaption{font-size:1.1rem;font-weight:700;margin-bottom:1.5rem}
.sap-map__core,.sap-map__layer{background:#fff;padding:1.35rem 1rem;border:1px solid #a6c5d6;border-radius:10px;display:flex;align-items:center;flex-direction:column;gap:.5rem}
.sap-map__core img{position:static;width:70px;height:auto;object-fit:contain;margin-bottom:.4rem}
.sap-map__core strong,.sap-map__layer strong{font-size:1.35rem}.sap-map span{font-size:.875rem}
.diagram-connector{color:#00799e;font-size:1.7rem;line-height:1.5}
.sap-map__outcome{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.sap-map__outcome span{padding:.75rem .25rem;background:#dceef7;border:1px solid #a6c5d6;border-radius:6px;font-size:.8125rem;overflow-wrap:anywhere}
.diagram-note{font-size:.8125rem;line-height:1.5;color:#405d70;margin:1.2rem 0 0}
.ppa-mini{margin:0;width:min(100%,28rem);color:#163720}
.ppa-mini>div{width:150px;height:150px;margin:0 auto .5rem}
.ppa-mini figcaption{font-size:1.55rem;font-weight:700;line-height:1.2;letter-spacing:-.025em;text-align:center}
.ppa-mini ol{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0 0}
.ppa-mini li{padding:1rem 0;border-top:2px solid #7cb03c}.ppa-mini strong{display:block;font-size:1rem;margin-bottom:.4rem}.ppa-mini span{font-size:.875rem;color:#405d50;line-height:1.5;display:block}
.ppa-mini>p{font-size:.8125rem;line-height:1.5;margin-top:1rem;color:#405d50}
.visual-v5 .pillar-bridge__media,.visual-v5 .fit-card__media{height:auto;min-height:340px;aspect-ratio:auto;border-radius:8px;padding:1.25rem}
.sap-map--compact .sap-map__core{padding:.7rem}.sap-map--compact .sap-map__core img{width:52px}.sap-map--compact .sap-map__layer{padding:.7rem}.sap-map--compact .diagram-note{margin-top:.75rem}
.ppa-map{margin:1.5rem 0 0;color:#092033}
.ppa-map figcaption{font-size:1.0625rem;font-weight:650;margin-bottom:1.5rem}
.ppa-map__flow{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr) 72px minmax(0,1fr);align-items:stretch}
.ppa-map__node{background:#fff;border:1px solid #a7c492;padding:1.5rem;border-radius:12px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.ppa-map__node>.diagram-step{border-color:#90b572;color:#315c08;margin-bottom:1rem}
.ppa-map__node>strong{font-size:1.3rem;line-height:1.25}.ppa-map__node>p{font-size:1rem;color:#405d50;margin:.65rem 0 0;line-height:1.5}
.ppa-map__node--system{align-items:center;text-align:center;background:#e8f3df}
.ppa-map__node--system img.zaxon-symbol{width:120px;height:120px;position:static;object-fit:contain}
.ppa-map__arrow{display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:.8125rem;color:#405d50;gap:.3rem}.ppa-map__arrow b{font-size:2rem;font-weight:400;color:#426c22}
.ppa-map__zero{font-size:.9375rem;font-weight:700;color:#315c08;margin-top:1rem;padding-top:.8rem;border-top:1px solid #cbdcbe;width:100%}
.ppa-map__return{display:flex;align-items:center;gap:1.25rem;border:1px solid #6e98af;border-top:0;margin:0 2rem;padding:1.15rem 1.5rem;border-radius:0 0 14px 14px;background:#e7f2f9;color:#12415a}
.ppa-map__return>span{font-size:2rem;line-height:1}.ppa-map__return strong{font-size:1rem;line-height:1.5;font-weight:550}
.ppa-map__operation{display:flex;gap:1rem;padding-top:1.25rem;line-height:1.5;font-size:.9375rem;color:#405d50}.ppa-map__operation strong{flex:none}
.joule-demo{width:100%;max-width:47rem;margin:0;color:#142943;min-width:0}
.joule-demo__caption{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1rem;font-size:.875rem;color:#405674}.joule-demo__caption span:first-child{font-weight:700;color:#092033}
.joule-demo__window{background:#fff;border:1px solid #c1cfe2;box-shadow:0 16px 50px #12326c16;border-radius:14px;overflow:hidden}
.joule-demo__bar{display:flex;align-items:center;gap:.8rem;background:#edf3fc;border-bottom:1px solid #c1cfe2;min-height:56px;padding:.6rem 1rem;font-size:.875rem}
.visual-surface .joule-demo__bar img{width:43px;height:auto;position:static;object-fit:contain}
.joule-demo__badge{margin-left:auto;color:#503ca3;font-weight:650}
.joule-demo__workspace{display:grid;grid-template-columns:.8fr 1.2fr;min-width:0}
.joule-demo__orders{padding:1.2rem;background:#f7f9fc;min-width:0}
.demo-label{font-size:.75rem;letter-spacing:.07em;font-weight:700;color:#52677b;margin:0 0 1.1rem}
.joule-demo__orders>div{padding:1rem 0;border-top:1px solid #d3dfea;display:flex;flex-direction:column;gap:.5rem}
.joule-demo__orders strong{font-size:.875rem}.joule-demo__orders span{font-size:.8125rem;line-height:1.5;color:#52677b}.joule-demo__orders small{font-size:.75rem;color:#365a25;padding:.25rem .5rem;background:#e5f1df;border-radius:5px;align-self:flex-start}
.joule-demo__assistant{padding:1.1rem;min-width:0;border-left:1px solid #d3dfea}
.joule-demo__assistant-title{display:flex;gap:.5rem;align-items:center;font-size:1rem;margin-bottom:1rem}
.joule-mark{font-size:1.5rem;color:#6148bd}
.joule-demo__prompt{background:#eae5fb;color:#372164;padding:.85rem;border-radius:10px 10px 2px 10px;font-size:.9375rem;line-height:1.5;margin-bottom:1rem}
.joule-demo__response{font-size:.875rem;line-height:1.55;min-height:182px;overflow-wrap:anywhere}
.joule-demo__response p{margin:0 0 .9rem}.joule-demo__response dl{margin:0}
.joule-demo__response dl>div{border-top:1px solid #d9e2ec;padding:.65rem 0;display:flex;flex-direction:column;gap:.2rem}
.joule-demo__response dt{font-weight:650}.joule-demo__response dd{margin:0;color:#486179}
.joule-demo__examples{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 0}
.joule-demo__examples button{border:1px solid #99aec5;color:#1b3d65;border-radius:6px;background:#fff;padding:.55rem .75rem;min-height:44px;text-align:left;font:inherit;font-size:.875rem;cursor:pointer}
.joule-demo__examples button[aria-pressed=true]{border-color:#6850b5;background:#e7e1fa;color:#372164}
.joule-demo__note{font-size:.75rem;line-height:1.55;color:#405674;margin:1rem 0 0}
.joule-demo--preview .joule-demo__assistant{border:0;padding:1.25rem}.joule-demo--preview .joule-demo__response{min-height:0}.joule-demo__link{display:inline-flex;min-height:44px;align-items:center;font-size:.875rem;font-weight:650;color:#164c71;text-decoration:underline;text-underline-offset:.25em;margin-top:.35rem}
.joule-demo--compact .joule-demo__orders{display:none}.joule-demo--compact .joule-demo__workspace{display:block}.joule-demo--compact .joule-demo__assistant{border:0;padding:1.35rem}.joule-demo--compact .joule-demo__response{min-height:150px}
.hero-switch__media.visual-surface{padding:2.25rem;align-self:stretch;height:auto;min-height:0}
.capability-map{width:100%;max-width:38rem}.capability-map>p{font-size:1.3rem;font-weight:650;line-height:1.3;margin:0 0 1.5rem}
.capability-map>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.capability-map a{display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;gap:.5rem;padding:.8rem .4rem;background:#fff;border:1px solid #c5d8e4;border-radius:10px;min-width:0}
.visual-surface .capability-map img{position:static;width:96px;height:96px;object-fit:contain}.capability-map span{font-size:.8125rem;font-weight:650;line-height:1.35}
.brand-map{width:100%;max-width:32rem;text-align:center}
.visual-surface .brand-map__logo{position:static;width:min(240px,80%);height:auto;object-fit:contain;margin:auto}
.brand-map>p{font-size:1.2rem;color:#405d70;margin:1rem 0 2rem}
.brand-map__pillars{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.brand-map__pillars a{background:#fff;padding:1.6rem 1rem;border:1px solid #b6ccd9;border-top:3px solid #36bce8;border-radius:8px}
.brand-map__pillars a:last-child{border-top-color:#86ce2e}.brand-map strong{display:block;font-size:2rem;margin-bottom:.4rem}.brand-map__pillars span{font-size:.875rem;line-height:1.5;color:#405d70;display:block}
.brand-map__talent{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem;text-align:left}.brand-map__talent img.zaxon-symbol{width:96px;height:96px}.brand-map__talent span{font-size:1rem;max-width:13rem}
.contact-map{width:100%;max-width:30rem}.contact-map>p{font-size:1.3rem;font-weight:650;margin-bottom:1.5rem}
.contact-map>a{display:grid;grid-template-columns:80px 1fr;gap:.2rem 1rem;align-items:center;background:#fff;border:1px solid #b6ccd9;border-radius:10px;padding:1rem;margin-top:1rem}
.visual-surface .contact-map img{grid-row:1/3;position:static;width:80px;height:80px;object-fit:contain}
.contact-map strong{align-self:end;font-size:1.125rem}.contact-map span{align-self:start;font-size:.875rem;color:#405d70;line-height:1.5}
.visual-text-hero{display:block}.visual-text-hero .corporate-hero__content{max-width:70rem;margin:auto;padding:4rem 2rem}
.visual-v5 :is(.visual-surface,.symbol-tile) a:focus-visible,.visual-v5 .joule-demo button:focus-visible{outline:3px solid #08769f;outline-offset:4px}
html:not(.js) .joule-demo__examples{display:none}
@media(max-width:80rem){.joule-demo__workspace{grid-template-columns:1fr}.joule-demo__orders{display:none}.joule-demo__assistant{border-left:0}.solutions-index-grid{gap:2rem}.solution-index-card{grid-template-columns:110px minmax(0,1fr);gap:1rem}.solution-index-card__media.symbol-tile{width:110px}.solution-index-card h2{font-size:1.5rem}}
@media(max-width:68rem){.visual-surface{padding:1.5rem}.ppa-map__flow{grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr) 56px minmax(0,1fr)}.ppa-map__node{padding:1rem}.ppa-map__arrow{font-size:.75rem}.ppa-map__node>strong{font-size:1.125rem}.service-card__body{column-gap:1rem}}
@media(max-width:48rem){
 .visual-v5 .solution-hero__image.visual-surface,.visual-v5 .corporate-hero__image.visual-surface{aspect-ratio:auto;min-height:0;height:auto;padding:2rem 1.5rem;grid-column:1;grid-row:2}
 .hero-switch__media.visual-surface{height:auto;padding:1.5rem;min-height:0}
 .hero-switch__media:not(.visual-surface){height:470px}
 .visual-v5 .strategic-card__media.visual-surface{height:auto;min-height:0;aspect-ratio:auto;padding:2rem 1.5rem}
 .visual-v5 .solution-intro__visual.visual-surface{aspect-ratio:auto}
 .service-diagram{max-width:34rem}.service-diagram__symbol{width:160px;height:160px}
 .service-card{grid-template-columns:112px minmax(0,1fr);gap:1rem;align-items:center}
 .service-number{display:none}.service-card__media.symbol-tile{grid-column:1;grid-row:1;width:112px}
 .service-card__body{display:block;grid-column:2;grid-row:1}.service-card h3{font-size:1.35rem}.service-card p{margin:.6rem 0;font-size:1rem}.service-card a{width:fit-content}
 .ppa-map__flow{grid-template-columns:1fr}.ppa-map__node{padding:1.5rem}.ppa-map__node--system{display:grid;grid-template-columns:96px minmax(0,1fr);gap:.4rem 1rem;align-items:center;text-align:left}.ppa-map__node--system img.zaxon-symbol{grid-column:1;grid-row:1/3;width:96px;height:96px}.ppa-map__node--system p{margin:0}.ppa-map__node--system strong{align-self:end}
 .ppa-map__arrow{flex-direction:row;min-height:48px;gap:.75rem;font-size:.875rem}.ppa-map__arrow b{transform:rotate(90deg)}
 .ppa-map__return{margin:0 1rem;padding:1rem}.ppa-map__return>span{transform:rotate(90deg)}.ppa-map__operation{flex-direction:column;gap:.35rem}
 .capability-map>div{grid-template-columns:repeat(3,minmax(0,1fr))}.visual-surface .capability-map img{width:80px;height:80px}
 .joule-demo{max-width:34rem}.joule-demo__response{min-height:160px}
}
@media(max-width:34rem){
 .service-card{grid-template-columns:76px minmax(0,1fr);gap:1rem;padding:1.4rem 0;align-items:start}.service-card__media.symbol-tile{width:76px;margin-top:.1rem}.service-card__body{grid-row:1}.service-card h3{font-size:1.25rem;line-height:1.2}.service-card p{font-size:.9375rem;line-height:1.6}.service-card a{font-size:.9375rem}
 .solutions-index-grid{grid-template-columns:1fr}.solution-index-card{grid-template-columns:90px minmax(0,1fr);gap:1rem}.solution-index-card__media.symbol-tile{width:90px}.solution-index-card h2{font-size:1.35rem}.solution-index-card p{font-size:.9375rem}.sap-symbol img{width:80px}.sap-symbol span{font-size:.75rem}
 .visual-v5 .solution-hero__image.visual-surface,.visual-v5 .corporate-hero__image.visual-surface,.hero-switch__media.visual-surface{padding:1.5rem 1.25rem}
 .joule-demo__caption{font-size:.75rem}.joule-demo__caption span:last-child{text-align:right}.joule-demo__assistant,.joule-demo--compact .joule-demo__assistant{padding:1rem}.joule-demo__examples{display:grid;grid-template-columns:1fr 1fr}.joule-demo__examples button:last-child{grid-column:1/-1}.joule-demo__note{font-size:.75rem}
 .capability-map>div{grid-template-columns:1fr 1fr}.visual-surface .capability-map img{width:88px;height:88px}
 .brand-map__pillars{gap:.75rem}.brand-map__pillars a{padding:1.25rem .5rem}.brand-map__talent{gap:.6rem}.brand-map__talent img.zaxon-symbol{width:80px;height:80px}
 .contact-map>a{grid-template-columns:64px minmax(0,1fr);padding:.85rem;gap:.3rem .8rem}.visual-surface .contact-map img{width:64px;height:64px}.contact-map strong{font-size:1rem}
 .ppa-mini figcaption{font-size:1.35rem}.ppa-mini ol{gap:1rem}.ppa-mini>div{width:120px;height:120px}
}
@media(prefers-reduced-motion:reduce){.joule-demo *,.visual-surface *{transition:none!important}}
