/* ER Creativity Production / refined design system */
:root { --lime:#C6FF34; --ink:#090B0A; --ink-2:#111411; --line:rgba(255,255,255,.16); --gutter:clamp(1.25rem,4.4vw,5rem); }
body { background:#090B0A; font-family:Inter,-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif; }
h1,h2,h3,h4,button,input,select,textarea { font-family:inherit; }
/* Deliberate, precisely balanced header */
#site-header { top:0; }
.site-header { background:rgba(7,9,8,.97); }
.nav-inner { width:100%; display:grid; grid-template-columns:minmax(92px,1fr) auto minmax(186px,1fr); align-items:center; min-height:84px; gap:clamp(1rem,2vw,2rem); }
.desktop-nav { display:flex; align-items:center; justify-content:center; gap:clamp(1.2rem,2.7vw,3rem); white-space:nowrap; }
.desktop-nav .nav-link { font-size:clamp(.9rem,1vw,1.02rem); font-weight:580; letter-spacing:-.018em; padding:.8rem .1rem; }
.logo-link img { width:66px; height:51px; object-fit:contain; }
.nav-actions { gap:.55rem; min-width:0; }
.language-control { width:fit-content; flex:0 0 auto; }
.lang-select { box-sizing:border-box; width:49px; min-width:49px; max-width:49px; height:40px; min-height:40px; padding:0 15px 0 7px; display:flex; align-items:center; justify-content:center; border-radius:9px; font-size:.78rem; text-align:center; background:#151a13; border:1px solid rgba(198,255,52,.56); }
.lang-select>span { display:block; margin:auto; text-align:center; }
.lang-select .lang-caret { position:absolute; right:4px; width:8px; height:8px; }
.lang-menu { width:50px!important; min-width:50px!important; max-width:50px; margin-top:7px; padding:3px!important; border-radius:10px; }
.lang-menu .lang-option { width:100%; min-height:34px; padding:.38rem 0!important; font-size:.77rem; text-align:center!important; justify-content:center; display:flex; }
.nav-cta { font-size:.81rem; min-height:41px; padding:.7rem .95rem; white-space:nowrap; border-radius:9px; }
.nav-cta svg { width:14px; }
/* Text-led, pure static hero: no carousel, no video, no player controls */
.er-plain-hero { position:relative; isolation:isolate; overflow:hidden; background:#090C0A; color:#fff; }
.er-plain-hero::before { content:""; position:absolute; inset:auto -25% -72% 25%; height:125%; background:radial-gradient(ellipse at center,rgba(198,255,52,.038),transparent 65%); pointer-events:none; }
.er-hero-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(290px,.75fr); align-items:center; min-height:clamp(610px,78svh,880px); gap:clamp(2.5rem,8vw,9rem); padding-top:clamp(6rem,9vh,7rem); padding-bottom:clamp(3rem,5vw,6rem); }
.er-hero-main { position:relative; z-index:1; }
.er-hero-eyebrow { color:#C6FF34; font-size:.75rem; margin-bottom:2.2rem; }
.er-hero-eyebrow::before { display:none; }
.er-neon-dot { width:8px; height:8px; border-radius:50%; background:#C6FF34; box-shadow:0 0 18px rgba(198,255,52,.33); }
.er-hero-main .display { font-size:clamp(4.1rem,8vw,9.4rem); line-height:.965; letter-spacing:-.082em; font-weight:650; text-wrap:nowrap; }
.er-hero-main .display span { color:#C6FF34; }
.er-hero-lead { color:#B9C5BE; margin:2.25rem 0 0; font-size:clamp(1.03rem,1.5vw,1.23rem); line-height:1.72; max-width:550px; }
.er-hero-main .hero-actions { margin-top:2.35rem; display:flex; gap:1.8rem; align-items:center; flex-wrap:wrap; }
.er-hero-object { position:relative; min-height:430px; width:min(100%,490px); aspect-ratio:1; display:grid; place-items:center; justify-self:end; }
.er-orbit { position:absolute; inset:12%; border:1px solid rgba(198,255,52,.27); border-radius:50%; transform:rotate(-30deg) scaleY(.74); }
.er-orbit-one { box-shadow:0 0 65px rgba(198,255,52,.025); }
.er-orbit-two { inset:6%; transform:rotate(47deg) scaleY(.52); border-color:rgba(255,255,255,.12); }
.er-symbol { position:relative; z-index:1; color:#F4FAF4; font-size:clamp(7rem,15vw,14rem); letter-spacing:-.13em; line-height:1; font-weight:650; padding-right:.12em; text-shadow:0 0 70px rgba(198,255,52,.045); }
.er-symbol-rule { display:block; position:absolute; left:10%; right:-8%; bottom:-.11em; height:3px; background:#C6FF34; }
.er-object-label { position:absolute; right:0; bottom:5%; color:#8F9D93; font-size:.62rem; font-weight:650; letter-spacing:.21em; }
.er-hero-bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-bottom:1.7rem; color:#87948A; font-size:.63rem; font-weight:600; letter-spacing:.17em; }
/* Flat seven-unit original capabilities grid: contiguous and non-card-based */
.home-services { background:#101511; }
.er-services-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:0; border-top:1px solid rgba(255,255,255,.2); border-left:1px solid rgba(255,255,255,.2); }
.er-services-grid .capability-card { grid-column:span 4; display:flex; flex-direction:column; min-height:245px; border-radius:0!important; margin:0; padding:clamp(1.4rem,2.6vw,2.6rem); background:transparent!important; border:0!important; border-right:1px solid rgba(255,255,255,.2)!important; border-bottom:1px solid rgba(255,255,255,.2)!important; box-shadow:none!important; transform:none!important; }
.er-services-grid .capability-card:nth-child(1),.er-services-grid .capability-card:nth-child(2),.er-services-grid .capability-card:nth-child(4),.er-services-grid .capability-card:nth-child(5) { grid-column:span 4; }
.er-services-grid .capability-card:last-child { grid-column:span 12; min-height:190px; }
.er-services-grid .capability-card::after { display:none!important; }
.er-services-grid .capability-card:hover,.er-services-grid .capability-card:focus-visible { background:rgba(198,255,52,.045)!important; }
.er-services-grid .capability-card .card-index { color:#C6FF34; font-size:.72rem; }
.er-services-grid .capability-card .cap-icon { display:none; }
.er-services-grid .capability-card h3 { margin:2.6rem 0 .8rem; font-size:clamp(1.35rem,2vw,1.9rem); font-weight:570; letter-spacing:-.052em; }
.er-services-grid .capability-card p { font-size:.88rem; line-height:1.62; color:#BFCAC0; padding-right:1rem; }
.er-services-grid .capability-card .card-arrow { bottom:auto; top:1.5rem; right:1.55rem; }
/* Branded partner hover backgrounds are individually curated, without repetitive neighbors. */
.logo-wall { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.partner-logo { min-height:123px; border:1px solid rgba(255,255,255,.13); border-radius:11px; background:#0D100E; padding:1.25rem; transition:background .28s ease,border-color .28s ease,transform .28s ease; opacity:1!important; }
.partner-logo:hover,.partner-logo:focus-visible { background:var(--partner-hover,#dce3de)!important; border-color:transparent; transform:translateY(-2px); }
.partner-logo img.brand-logo { opacity:.7; filter:grayscale(1) brightness(0) invert(.86); transition:filter .28s,opacity .28s; max-height:55px; }
.partner-logo:hover img.brand-logo,.partner-logo:focus-visible img.brand-logo { filter:none!important; opacity:1; }
.partner-dark:hover img.brand-logo,.partner-dark:focus-visible img.brand-logo { filter:brightness(0) invert(1)!important; }
.partner-logo .partner-logo-fallback { color:#fff; }
.partner-light:hover .partner-logo-fallback { color:#101310; }
.partner-dark:hover .partner-logo-fallback { color:#fff; }
/* Metric reference: disconnected dark rounded cards, neon figures */
body[data-page=about] .proof-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.15rem!important; border:0!important; margin-top:3rem; background:transparent!important; }
body[data-page=about] .proof-grid .proof-card { min-height:220px; padding:clamp(1.75rem,3vw,2.5rem); background:#0B0D0C!important; border:1px solid #303530!important; border-radius:20px!important; display:flex; flex-direction:column; justify-content:flex-start; gap:.8rem; }
body[data-page=about] .proof-grid .proof-value { color:#C6FF34!important; font-size:clamp(3.5rem,5.4vw,6.2rem); font-weight:650; letter-spacing:-.065em; line-height:1; }
body[data-page=about] .proof-grid .proof-label { font-size:clamp(.83rem,1.04vw,.98rem); color:#B7BFB9; max-width:260px; line-height:1.55; }
/* Off-white mission / vision styling based on visual reference; content unmodified */
body[data-page=about] .about-purpose { background:#F0F1EB; color:#0C110D; }
body[data-page=about] .about-purpose .section-heading .eyebrow { color:#476327; }
body[data-page=about] .about-purpose .section-heading h2 { color:#111512; }
body[data-page=about] .numbered-principles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.45rem; }
body[data-page=about] .numbered-principles .principle-card { display:flex!important; flex-direction:column; justify-content:space-between; gap:3rem; min-height:370px; border-radius:21px!important; padding:clamp(2rem,3.2vw,3.1rem); border:1px solid #d5d9d0!important; background:#FAFBF9!important; color:#10130F!important; box-shadow:0 12px 29px rgba(21,34,23,.03); }
body[data-page=about] .numbered-principles .principle-card:hover { border-color:#96A18F!important; transform:translateY(-2px); }
body[data-page=about] .numbered-principles .principle-meta { display:flex!important; justify-content:space-between; flex-direction:row; align-items:flex-start; width:100%; }
body[data-page=about] .numbered-principles .principle-label { font-size:.72rem; color:#66745C!important; text-transform:uppercase; letter-spacing:.12em; margin:0; font-weight:700; }
body[data-page=about] .numbered-principles .principle-index { font-size:.74rem; color:#66745C!important; letter-spacing:.12em; margin:0; font-weight:700; }
body[data-page=about] .numbered-principles .principle-title { font-size:clamp(1.25rem,1.9vw,1.9rem); line-height:1.52; font-weight:430; letter-spacing:-.04em; color:#0E140F!important; margin:0; max-width:600px; }
body[data-page=about] .about-hero-copy .about-extra { font-size:clamp(1rem,1.45vw,1.2rem); max-width:630px; line-height:1.75; }
/* Official logos floating independently, no white or boxed background */
body[data-page=about] .client-marquee-item { flex:0 0 190px; min-width:190px; height:102px; border:0!important; border-radius:0!important; background:transparent!important; padding:0 1rem; }
body[data-page=about] .client-marquee-track { gap:clamp(1.2rem,3vw,3rem); }
body[data-page=about] .client-marquee-item img { filter:none!important; opacity:1; max-width:155px; max-height:64px; object-fit:contain; }
/* Darkness in some official logos compensated with a modest white edge lift, without a card. */
body[data-page=about] .client-marquee-item img:is([src*="bobbi-brown"],[src*="seiko"],[src*="origins"],[src*="clinique"],[src*="frave"],[src*="loreal-paris"],[src*="maybelline"],[src*="matrix"]) { filter:drop-shadow(0 0 1.5px rgba(255,255,255,.7)) brightness(1.4)!important; }
/* Journal: a true numbered path rather than a 2-column grid */
.values-flow { position:relative; display:grid; grid-template-columns:1fr; gap:0; max-width:1020px; margin-inline:auto; padding-left:3.2rem; }
.values-flow::before { content:""; position:absolute; top:30px; bottom:30px; left:calc(3.2rem + 22px); width:1px; background:linear-gradient(#C6FF34,#708D2E 54%,rgba(198,255,52,.17)); }
.values-flow .flow-step { position:relative; border:0!important; display:grid; grid-template-columns:86px minmax(0,1fr); gap:1.7rem; padding:0 0 clamp(2rem,4vw,4rem); }
.values-flow .flow-step:last-child { padding-bottom:0; }
.values-flow .flow-step .flow-num { position:relative; z-index:1; display:grid; place-items:center; width:45px; height:45px; background:#0D120E; border:1px solid #C6FF34; border-radius:50%; font-size:.85rem; font-weight:650; color:#C6FF34; }
.values-flow .flow-step>div { background:#131914; padding:clamp(1.2rem,2vw,2rem); border-radius:14px; border:1px solid rgba(255,255,255,.11); }
.values-flow .flow-step h3 { font-size:clamp(1.65rem,2.5vw,2.3rem); }
.values-flow .flow-step p { color:#C0C8C2; }
/* Contact channels: unmistakable icons with soft panel treatments */
.contact-inquiry-aside .inquiry-contact-card { padding-top:1.7rem; }
.contact-direct-list { display:grid; gap:.65rem; margin-top:1.25rem; }
.contact-direct-list a.contact-channel { min-width:0; display:flex; justify-content:flex-start; align-items:center; gap:1rem; padding:1rem 1.15rem; min-height:81px; border:1px solid rgba(255,255,255,.14)!important; border-radius:11px; background:#111714; color:#fff; transition:background .2s,border-color .2s,transform .2s; }
.contact-direct-list a.contact-channel:hover { background:#182018; border-color:#C6FF34!important; transform:translateX(3px); color:#fff; }
.contact-direct-list a.contact-channel .channel-icon { display:grid; place-items:center; width:45px; height:45px; flex:0 0 45px; background:#232C23; border-radius:11px; color:#C6FF34; }
.contact-direct-list a.contact-channel .channel-icon svg { width:20px; height:20px; }
.contact-direct-list a.contact-channel .channel-info { display:flex; flex-direction:column; justify-content:center; gap:1px; min-width:0; flex:1 1 auto; }
.contact-direct-list .channel-info small { color:#93A498; font-size:.67rem; letter-spacing:.1em; text-transform:uppercase; }
.contact-direct-list .channel-info strong { font-size:.94rem; font-weight:590; overflow-wrap:anywhere; letter-spacing:-.025em; }
.contact-direct-list a.contact-channel>svg:last-child { width:17px; height:17px; flex:0 0 17px; color:#C6FF34; }
/* Editorial case study inspired by supplied Garnier reference, with actual ER source images. */
.project-editorial { background:#F5F6F2; color:#151A16; }
.project-editorial .brand-detail-header { padding:clamp(2.4rem,5vw,4.5rem) 0 2rem; }
.project-editorial .project-back { display:inline-flex; color:#343F36; font-size:.83rem; margin-bottom:1.6rem; }
.project-editorial .brand-detail-banner { width:100%; height:clamp(165px,18vw,240px); min-height:0; margin:0; border:0; border-radius:3px; display:flex; align-items:center; justify-content:center; }
.project-editorial .brand-detail-banner>img { max-width:42%; width:420px; max-height:135px; object-fit:contain; }
.project-editorial .brand-theme-visa.brand-detail-banner { background:radial-gradient(ellipse at 50% 20%,#2146a2,#0f2671 60%,#0a1848); }
.project-editorial .brand-theme-home-credit.brand-detail-banner { background:radial-gradient(ellipse at 50% 20%,#f34d61,#ae1e34 65%,#7d1728); }
.project-editorial .brand-detail-banner>span { position:absolute; bottom:1.25rem; left:1.4rem; font-size:.6rem; color:#FDFDFD; font-weight:600; }
.project-editorial .brand-detail-banner img { filter:brightness(0) invert(1) drop-shadow(0 10px 16px rgba(0,0,0,.1)); }
.project-editorial-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; padding:clamp(1.65rem,3vw,2.5rem) 0 0; }
.project-editorial-heading .eyebrow { color:#577044; margin:0 0 .6rem; font-size:.63rem; }
.project-editorial-heading h1 { font-size:clamp(2.25rem,4.3vw,5.4rem); font-weight:650; line-height:1; letter-spacing:-.07em; margin:0; }
.project-editorial-heading p { font-size:clamp(.98rem,1.35vw,1.12rem); color:#505951; margin:.65rem 0 0; }
.project-editorial-meta { display:flex; flex-direction:column; text-align:right; gap:.25rem; color:#697269; font-size:.67rem; letter-spacing:.07em; }
.project-story-section { padding-bottom:clamp(5rem,10vw,10rem); }
.project-story-layout { display:grid; grid-template-columns:minmax(220px,.32fr) minmax(0,.68fr); gap:clamp(2rem,4vw,5rem); align-items:start; }
.project-story-copy { position:sticky; top:112px; padding:1rem 0 2rem; }
.project-story-copy>.eyebrow { color:#537043; font-size:.66rem; margin:0 0 1rem; }
.project-story-copy .project-story-intro { font-size:1rem; font-weight:500; line-height:1.63; color:#343d35; margin:0 0 2rem; }
.project-story-chapter { padding:0 0 1.45rem; }
.project-story-chapter h2 { font-size:1rem; font-weight:700; letter-spacing:-.025em; margin:0 0 .4rem; color:#151a16; }
.project-story-chapter p { font-size:.9rem; color:#656e65; line-height:1.74; margin:0; }
.project-story-copy .text-link { color:#151a16; font-size:.84rem; margin-top:1rem; }
.project-photo-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.project-photo-tile { display:block; width:100%; padding:0; position:relative; min-height:0; border:0; border-radius:5px; background:#e7e9e7; overflow:hidden; cursor:zoom-in; }
.project-photo-tile:first-child { grid-column:1/-1; }
.project-photo-tile:nth-child(4n+2) { grid-row:span 2; }
.project-photo-tile img { display:block; width:100%; height:100%; min-height:190px; max-height:540px; aspect-ratio:1.27; object-fit:cover; transition:transform .45s ease; }
.project-photo-tile:first-child img { aspect-ratio:2.1; max-height:400px; }
.project-photo-tile:nth-child(4n+2) img { aspect-ratio:.7; height:100%; max-height:unset; }
.project-photo-tile:hover img { transform:scale(1.035); }
.project-tile-zoom { position:absolute; right:1rem; bottom:1rem; width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:rgba(10,13,10,.85); color:#fff; opacity:0; transition:opacity .2s; }
.project-photo-tile:hover .project-tile-zoom,.project-photo-tile:focus-visible .project-tile-zoom { opacity:1; }
/* Black full-screen overlay inspired by supplied image reference */
#active-modal.er-gallery-modal { inset:0; z-index:3000; padding:0; background:rgba(8,10,9,.97); }
#active-modal.er-gallery-modal .er-gallery-stage { position:relative; width:100vw; height:100dvh; display:grid; grid-template-rows:auto minmax(0,1fr) auto; padding:10px 16px; }
.er-gallery-toolbar { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; color:#f0f4ef; font-size:.95rem; padding:4px 0; }
.er-gallery-close { display:grid; place-items:center; width:43px; height:43px; background:#252B27; border:0; border-radius:6px; cursor:pointer; }
.er-gallery-close:hover { background:#384238; }
.er-gallery-image-frame { grid-row:2; grid-column:1; display:grid; place-items:center; overflow:hidden; min-height:0; }
#active-modal.er-gallery-modal #modal-photo { width:auto; max-width:min(95vw,1600px); max-height:calc(100dvh - 175px); object-fit:contain; border-radius:2px; }
.er-gallery-prev,.er-gallery-next { z-index:2; position:absolute; top:46%; width:45px; height:45px; background:#303531; border:0; border-radius:50%; display:grid; place-items:center; cursor:pointer; color:#fff; }
.er-gallery-prev { left:16px; }.er-gallery-next { right:16px; }
.er-gallery-prev:hover,.er-gallery-next:hover { background:#596457; }
.er-gallery-bottom { grid-row:3; display:flex; justify-content:center; align-items:center; flex-direction:column; gap:8px; min-height:110px; }
.er-gallery-caption { margin:0; color:#B8C5BA; text-align:center; font-size:.76rem; }
.er-gallery-thumbnails { display:flex; align-items:center; justify-content:center; gap:7px; max-width:100%; overflow-x:auto; padding:5px; }
.er-gallery-thumbnails button { flex:0 0 62px; width:62px; height:55px; border:2px solid transparent; border-radius:5px; padding:0; background:#181e19; cursor:pointer; opacity:.6; }
.er-gallery-thumbnails button.is-active { border-color:#C6FF34; opacity:1; }
.er-gallery-thumbnails img { width:100%; height:100%; object-fit:cover; border-radius:3px; }
/* Responsive */
@media(max-width:1100px) {
 .nav-inner { grid-template-columns:minmax(80px,1fr) auto minmax(172px,1fr); gap:.75rem; }
 .desktop-nav { gap:clamp(.6rem,1.55vw,1.3rem); }
 .desktop-nav .nav-link { font-size:.85rem; }
 .er-hero-layout { gap:2rem; }
 .er-hero-object { min-height:320px; }
}
@media(max-width:900px) {
 .er-hero-layout { grid-template-columns:minmax(0,1fr); min-height:580px; gap:0; padding-top:6.4rem; padding-bottom:6rem; }
 .er-hero-object { position:absolute; opacity:.13; width:480px; right:-130px; top:14%; pointer-events:none; }
 .er-hero-main .display { font-size:clamp(4.1rem,11vw,7rem); }
 .project-story-layout { display:block; }
 .project-story-copy { position:static; max-width:700px; padding-bottom:2rem; }
 .project-photo-gallery { width:100%; }
 .er-services-grid .capability-card { grid-column:span 6!important; }
 .er-services-grid .capability-card:last-child { grid-column:span 12!important; }
 .logo-wall { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:760px) {
 .nav-inner { display:flex; min-height:72px; }
 .desktop-nav { display:none; }
 .nav-actions { margin-left:auto; }
 .logo-link img { width:57px; height:43px; }
 .er-hero-main .display { font-size:clamp(3.2rem,11vw,6rem); }
 .er-hero-main .hero-actions { gap:1.4rem; }
 .er-hero-bottom { display:none; }
 .er-hero-layout { min-height:620px; }
 .logo-wall { grid-template-columns:repeat(3,minmax(0,1fr)); }
 body[data-page=about] .proof-grid { gap:.7rem!important; }
 body[data-page=about] .proof-grid .proof-card { min-height:175px; padding:1.2rem; }
 body[data-page=about] .proof-grid .proof-value { font-size:clamp(2.1rem,5vw,3.5rem); }
 body[data-page=about] .numbered-principles { grid-template-columns:1fr; }
 body[data-page=about] .numbered-principles .principle-card { min-height:300px; }
 .project-editorial-heading { display:block; }
 .project-editorial-meta { text-align:left; margin-top:1rem; }
 .project-photo-tile img { min-height:160px; }
 .project-editorial .brand-detail-banner>img { max-width:68%; }
}
@media(max-width:520px) {
 .er-hero-layout { min-height:610px; }
 .er-hero-main .display { font-size:clamp(2.9rem,11vw,4.15rem); }
 .er-hero-main .hero-actions .btn { font-size:.85rem; }
 .er-hero-lead { font-size:1rem; }
 .er-services-grid .capability-card { grid-column:span 12!important; min-height:195px; }
 .er-services-grid .capability-card h3 { margin:1.9rem 0 .7rem; }
 .logo-wall { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body[data-page=about] .proof-grid { grid-template-columns:1fr; }
 body[data-page=about] .proof-grid .proof-card { min-height:150px; }
 body[data-page=about] .proof-grid .proof-value { font-size:3.8rem; }
 .project-photo-gallery { grid-template-columns:1fr 1fr; gap:7px; }
 .project-photo-tile:first-child { grid-column:1/-1; }
 .project-photo-tile img { min-height:135px; aspect-ratio:1; }
 .project-photo-tile:nth-child(4n+2) { grid-row:auto; }
 .project-photo-tile:nth-child(4n+2) img { aspect-ratio:1; height:auto; max-height:300px; }
 .project-photo-tile:first-child img { aspect-ratio:1.5; }
 .values-flow { padding-left:0; }
 .values-flow::before { left:22px; }
 .values-flow .flow-step { grid-template-columns:52px minmax(0,1fr); gap:.7rem; }
 .values-flow .flow-step>div { padding:1.25rem; }
 .lang-select { width:45px; min-width:45px; max-width:45px; }
 .lang-menu { width:48px!important; min-width:48px!important; }
 .nav-cta { font-size:.72rem; padding:.65rem .65rem; }
 .contact-direct-list a.contact-channel { padding:.85rem; }
 .contact-direct-list .channel-info strong { font-size:.82rem; }
 .er-gallery-prev,.er-gallery-next { width:38px; height:38px; }
 .er-gallery-prev { left:4px; }.er-gallery-next { right:4px; }
 .er-gallery-thumbnails button { flex-basis:47px; width:47px; height:44px; }
}
@media(prefers-reduced-motion:reduce){ .er-orbit,.er-services-grid .capability-card,.partner-logo,.project-photo-tile img { transition:none!important; animation:none!important; } }

/* Preserve contrast of all mission/vision copy against its pale card canvas. */
body[data-page="about"] .about-purpose .vision-mission-grid .principle-card :is(h3,p,span) { color:#121811!important; }
body[data-page="about"] .about-purpose .vision-mission-grid .principle-card .principle-label,
body[data-page="about"] .about-purpose .vision-mission-grid .principle-card .principle-index { color:#68745f!important; }
