/* Shared, zoom-friendly layout and type scale. No horizontal clipping. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:6.5rem}
body{font-size:1rem;line-height:1.65}
img,svg,video{max-width:100%;height:auto}
.hero-grid,.cards,.catalog-grid,.feature,.contact-grid,.detail,.process,.catalog-tools{min-width:0}
.hero-grid>*,.cards>*,.catalog-grid>*,.feature>*,.contact-grid>*,.detail>*,.process>*,.catalog-tools>*,.section-top>*{min-width:0}
p,li,h1,h2,h3,label,summary,.text-link,.notice,.button{overflow-wrap:anywhere}
h1,h2,h3{text-wrap:balance}
.hero h1{font-size:clamp(2.125rem,1.25rem + 3.2vw,4.25rem);line-height:1.1;letter-spacing:-.045em}
.page-hero h1{font-size:clamp(2rem,1.35rem + 2.6vw,3.625rem);line-height:1.12;letter-spacing:-.035em}
h2{font-size:clamp(1.75rem,1.25rem + 1.8vw,2.875rem);line-height:1.2;letter-spacing:-.035em}
.feature h2,.detail h2{font-size:clamp(1.65rem,1.2rem + 1.45vw,2.25rem)}
.card h3,.catalog-card h3,.process h3{font-size:clamp(1.15rem,1.02rem + .45vw,1.45rem);line-height:1.3}
.legal h2{font-size:clamp(1.4rem,1.2rem + .8vw,1.75rem)}
.hero p,.page-hero p,.card p,.catalog-card p,.process p,details p{font-size:1rem;line-height:1.65}
.hero p,.page-hero p,.catalog-intro{max-width:65ch}
.eyebrow,.card .num,.catalog-category,.ticker .wrap,.hero-note,.demo,.coord,.bottom,.pipeline small{font-size:.75rem;line-height:1.6;letter-spacing:.1em}
.eyebrow:before{flex:0 0 7px}.text-link{font-size:.875rem;line-height:1.5;gap:1rem;min-height:44px;align-items:center}
.button{font-size:.9375rem;line-height:1.5;min-height:48px;max-width:100%;text-align:center;padding:.8rem 1.3rem}
.pill,.float-label{font-size:.8125rem;letter-spacing:.04em}
.pipeline-row{font-size:.9375rem}.step-dot{flex:0 0 30px}
footer p,footer .links{font-size:.875rem}footer .links{flex-wrap:wrap;row-gap:.6rem}footer .links a{min-height:44px;display:flex;align-items:center}
.bottom{flex-wrap:wrap;gap:1rem}.bottom span{max-width:100%;overflow-wrap:anywhere}
.form label,.catalog-tools label{font-size:.9375rem;line-height:1.5}
input,select,textarea{font-size:1rem;min-width:0;max-width:100%;min-height:48px}
.check{font-size:.875rem;line-height:1.6;align-items:flex-start}.check input{min-height:20px;width:20px;height:20px;margin:3px 0 0}
.notice,#form-status{font-size:.9375rem;line-height:1.65}
.brand{flex-shrink:0;gap:.65rem}.brand b{font-size:clamp(1.125rem,.95rem + .55vw,1.5rem);letter-spacing:.1em;white-space:nowrap}
.brand small{font-size:.625rem;letter-spacing:.12em;white-space:nowrap;line-height:1.6}
.nav{gap:1rem}nav{gap:clamp(.8rem,1.6vw,1.75rem);font-size:.875rem}nav>a{white-space:nowrap}
.brand-reference{max-width:100%;grid-template-columns:minmax(0,110px) minmax(0,1fr)}
.brand-reference b{font-size:clamp(1.5rem,1rem + 2vw,2.45rem);letter-spacing:.1em}
.brand-reference small{font-size:clamp(.625rem,.55rem + .3vw,.75rem);letter-spacing:.12em;overflow-wrap:anywhere}
.ticker .wrap{flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 2rem}.ticker span{max-width:100%;overflow-wrap:anywhere}
.error h1{font-size:clamp(4rem,15vw,6.25rem)}
@media(max-width:1100px){
 .nav{height:80px}.menu{display:block;min-width:80px;min-height:44px;font-size:1rem}
 nav{display:none;position:absolute;top:80px;left:0;right:0;padding:1rem clamp(1rem,3vw,2rem);flex-direction:column;align-items:stretch;background:#f8fafc;border-bottom:1px solid #dce5f0;max-height:calc(100dvh - 80px);overflow-y:auto;gap:.25rem}
 nav.open{display:flex}nav>a{white-space:normal;min-height:44px;display:flex;align-items:center;padding:.65rem .5rem}nav .button{margin-top:.5rem;justify-content:center}
 .brand b{font-size:1.375rem}.brand small{font-size:.625rem}
}
@media(min-width:741px) and (max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.process{grid-template-columns:repeat(2,minmax(0,1fr))}.section-top{gap:2rem;align-items:start}.section-top>*{flex:1}}
@media(max-width:900px){.contact-grid,.detail,.feature{grid-template-columns:minmax(0,1fr);gap:2rem}.feature{padding:clamp(1.25rem,4vw,2.5rem)}.hero-grid{grid-template-columns:1.2fr 1fr;gap:1rem}.section-top{flex-wrap:wrap}.section-top p{max-width:65ch}.cta{flex-wrap:wrap;gap:1.5rem}.cta .button{flex-shrink:0}}
@media(max-width:740px){
 .nav{height:76px}nav{top:76px;max-height:calc(100dvh - 76px)}html{scroll-padding-top:6rem}
 .hero-grid{grid-template-columns:minmax(0,1fr);padding-top:2.75rem;min-height:0}.hero h1{margin:1.25rem 0}.hero p{font-size:1rem}.hero-note{margin-top:1.5rem}
 .orbital{height:300px;width:100%;transform:scale(.75);margin:0}.float-label{max-width:85%;text-align:center}.coord{letter-spacing:.06em}
 .page-hero{padding:3rem 0}.page-hero h1{margin:1.25rem 0}.section{padding:3.5rem 0}.section-top{margin-bottom:1.75rem}
 .cards,.catalog-grid,.catalog-tools{grid-template-columns:minmax(0,1fr)}.card,.catalog-card,.form{padding:clamp(1.1rem,5vw,1.75rem)}
 .pipeline{padding:1.1rem}.pipeline-row{gap:.75rem}.process{gap:1.25rem}.feature h2{font-size:clamp(1.65rem,1.2rem + 1.45vw,2.25rem)}
 .brand-reference{grid-template-columns:64px minmax(0,1fr);padding:1rem;gap:.8rem}.brand-reference img{width:64px;height:64px}.brand-reference b{font-size:clamp(1.35rem,1rem + 1.5vw,1.75rem)}
 footer .upper{gap:1.5rem}footer .links{column-gap:1rem}.bottom{line-height:1.6}
}
@media(max-width:420px){.hero h1 br{display:none}.hero h1{max-width:12ch}.actions{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}.actions .button,.cta .button{width:100%}.process{grid-template-columns:minmax(0,1fr)}.logo-symbol,.logo-symbol img{width:48px!important;height:48px!important}.brand{gap:.5rem}.brand b{font-size:1.25rem}.brand small{font-size:.5625rem;letter-spacing:.08em}.menu{min-width:72px;padding:.5rem}.brand-reference{grid-template-columns:52px minmax(0,1fr);gap:.6rem}.brand-reference img{width:52px;height:52px}}

/* One proportional lockup for navbar and footer at every breakpoint. */
:root{--brand-size:clamp(3rem,1.75rem + 2.1vw,3.625rem)}
:is(header,footer) .brand{display:inline-flex;width:max-content;max-width:100%;align-items:center;flex-shrink:0;gap:calc(var(--brand-size) * .18);font-size:1rem;line-height:1;text-decoration:none}
:is(header,footer) .brand>.logo-symbol{display:block;width:var(--brand-size)!important;height:var(--brand-size)!important;flex:0 0 var(--brand-size);overflow:visible}
:is(header,footer) .brand>.logo-symbol img{display:block;width:100%!important;height:100%!important;max-width:100%;object-fit:contain;object-position:center}
:is(header,footer) .brand>span:last-child{display:flex;flex-direction:column;justify-content:center;gap:calc(var(--brand-size) * .045);min-width:0}
:is(header,footer) .brand b{display:block;font-size:calc(var(--brand-size) * .414);line-height:1.15;letter-spacing:.1em;white-space:nowrap}
:is(header,footer) .brand small{display:block;font-size:calc(var(--brand-size) * .1724);line-height:1.6;letter-spacing:.12em;white-space:nowrap}

/* About EVOLUX and its founder. */
header .menu{min-width:48px;width:48px;height:48px;min-height:48px;padding:11px;line-height:1;align-items:center;justify-content:center}
header .menu svg{display:block;width:24px;height:24px;max-width:none}
@media(max-width:1100px){header .menu{display:flex}}
.founder-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.founder-portrait{margin:0;min-width:0;padding:12px;border:1px solid #dce5f0;border-radius:14px;background:#f8fafc}
.founder-portrait img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:8px}
.founder-portrait figcaption{font-size:.75rem;letter-spacing:.07em;line-height:1.6;color:#52667c;padding:14px 8px 4px;text-align:center}
.founder-copy{min-width:0}.founder-copy h2{font-size:clamp(1.75rem,1.25rem + 1.8vw,2.75rem)}
.founder-name{font-size:clamp(1.35rem,1.1rem + 1vw,1.9rem);font-weight:bold;line-height:1.35;margin:1.75rem 0 .5rem;letter-spacing:-.02em}
.founder-degree{font-size:.9375rem;color:#0054d6;margin:0 0 1.25rem}
.founder-quote{margin:1.75rem 0;padding:4px 0 4px 1.25rem;border-left:3px solid #0066ff;color:#244b79;font-size:clamp(1.05rem,.95rem + .4vw,1.25rem);line-height:1.6;overflow-wrap:anywhere}
.purpose-section{padding-top:0!important}.purpose-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.purpose-card{min-width:0;border:1px solid #dce5f0;border-radius:9px;padding:clamp(1.5rem,3vw,2.5rem)}
.purpose-number{font-size:.75rem;letter-spacing:.1em;color:#0054d6}.purpose-card h3{font-size:clamp(1.4rem,1.2rem + .6vw,1.8rem);line-height:1.3;margin:1.25rem 0}.purpose-card p{color:#52667c;font-size:1rem;line-height:1.7;margin-bottom:0}
.protected-media,[data-protected-media],.brand,.brand-reference{-webkit-touch-callout:none}
img[data-protected-media]{-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
@media(max-width:800px){.founder-grid{grid-template-columns:minmax(0,1fr);gap:2rem}.founder-portrait{width:min(100%,360px);justify-self:center}.purpose-grid{grid-template-columns:minmax(0,1fr)}.founder-name br{display:none}.founder-copy h2 br{display:none}}
