/* Approved institutional design · original TM asset · v7 */
.editorial-poly{--paper:#f6f9fc;--ink:#0b1f3b;--accent:#00d1c7;--muted:#4d6177;background:var(--paper)}
.editorial-poly .site-header{background:#f6f9fcfa;border-bottom:1px solid #a7b0ba66}
.editorial-poly .header-inner{height:96px}.editorial-poly .poly-wordmark{font-size:20px;font-weight:700;letter-spacing:-.03em}
.editorial-poly .poly-wordmark img{width:66px;height:58px}.editorial-poly .poly-wordmark small{font-size:7px;letter-spacing:.35em}
.editorial-poly .desktop-nav{font-family:Montserrat,Arial,sans-serif;font-size:11px;font-weight:500;gap:23px}
.editorial-poly .header-contact.button{display:none}.editorial-poly .header-actions{margin-left:8px}.editorial-poly .lang-link.selected{color:#087a90}
.editorial-poly h1,.editorial-poly h2,.editorial-poly h3{font-family:Montserrat,Arial,sans-serif;letter-spacing:-.05em}
.editorial-poly .button{border-radius:1px;min-height:47px;background:#0b1f3b;color:#fff;padding:15px 22px;gap:15px;font-size:12px;letter-spacing:0}
.editorial-poly .button.primary{background:#0b1f3b;border-color:#0b1f3b;color:white}
.editorial-poly .button.primary:hover{background:#12495a;border-color:#12495a;color:white}
.editorial-poly .button.outline{border-color:#a7b0ba;background:#f6f9fc;color:#0b1f3b}
.editorial-poly .button.outline:hover{background:#e6eff5}
.editorial-poly .hero-carousel{height:610px;min-height:0;background:#f6f9fc;color:#0b1f3b;border-bottom:1px solid #a7b0ba66}
.carousel-slide{background:#f6f9fc}.slide-photo{left:40%;right:0;top:25px;width:60%;height:calc(100% - 70px);object-fit:cover;object-position:center;clip-path:polygon(14% 0,100% 0,100% 100%,0 100%)}
.hero-carousel .slide-shade{display:none}.slide-copy{padding-top:90px;pointer-events:none}.slide-copy a{pointer-events:auto}
.editorial-poly .hero-carousel .eyebrow{color:#087a90;font-size:10px;letter-spacing:.16em;max-width:46%;margin-bottom:25px}
.editorial-poly .hero-carousel h1{color:#0b1f3b;font-weight:650;font-size:clamp(38px,3.8vw,65px);max-width:52%;line-height:1.12;letter-spacing:-.055em;margin-bottom:26px}
.slide-copy>p:not(.eyebrow){color:#3f536b;max-width:40%;font-size:17px;line-height:1.85;padding-left:17px;border-left:3px solid #00d1c7}
.slide-actions{max-width:44%;gap:13px}.slide-actions .button.outline{background:#f6f9fce8}
.slide-signature{color:#4d6177;letter-spacing:.2em;max-width:40%;margin-top:28px}
.slide-inset{position:absolute;right:5.8%;top:200px;width:29%;height:250px;object-fit:cover;border:6px solid #f6f9fc;z-index:2;box-shadow:0 12px 30px #0b1f3b22}
.carousel-controls{bottom:22px;left:auto;right:5.8%;transform:none;background:#f6f9fcf5;padding:2px 12px;gap:15px}
.carousel-arrow,.carousel-pause{border:0;border-radius:0;background:transparent;color:#0b1f3b;width:32px;height:35px}
.carousel-dots span{background:#a7b0ba}.carousel-dots [aria-current=true] span{background:#00b6af}
.carousel-arrow:hover,.carousel-pause:hover{background:#e2f0f2}
.capability-strip{padding:25px 0;min-height:105px}.capability-link{font-size:12px;gap:15px}.capability-link svg{width:32px;height:32px;color:#087a90}
.home-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.editorial-poly .home-solutions{padding-top:50px;padding-bottom:55px}
.home-preview-card{border:1px solid #a7b0ba77;background:#fff;display:flex;flex-direction:column;border-radius:5px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.home-preview-card>img{width:100%;height:180px;object-fit:cover}.home-preview-card>div{padding:25px;position:relative}.editorial-poly .home-preview-card h2{font-size:22px;line-height:1.3;margin:0 0 14px}.home-preview-card p{font-size:13px;line-height:1.8;color:#4d6177}.home-preview-card span{position:absolute;right:20px;bottom:16px;font-size:23px}
.home-preview-card:hover{transform:translateY(-6px);box-shadow:0 14px 30px #0b1f3b12}
.editorial-poly .home-about{padding-top:55px;padding-bottom:55px;background:#edf3f8;border-top:1px solid #a7b0ba55;border-bottom:1px solid #a7b0ba55}
.editorial-poly .section{padding-top:65px;padding-bottom:65px}.editorial-poly .services-grid{gap:20px}
.editorial-poly .service-card{border-radius:5px;box-shadow:none}.editorial-poly .service-card h3{font-size:22px}
.subpage-hero{padding:45px 0;background:#f6f9fc;border-bottom:1px solid #a7b0ba66}
.subpage-hero>.container{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}
.subpage-hero h1{font-size:clamp(35px,3.7vw,58px);line-height:1.2;margin-bottom:24px}.subpage-hero p:not(.eyebrow){max-width:600px;color:#4d6177;line-height:1.85;font-size:16px}
.subpage-hero img{width:100%;height:330px;object-fit:cover;clip-path:polygon(9% 0,100% 0,100% 100%,0 100%)}
.about-hero{background:#f6f9fc;color:#0b1f3b;padding:70px 0;border-bottom:1px solid #a7b0ba66}
.about-hero h1{color:#0b1f3b;font-size:clamp(38px,4vw,63px);max-width:1000px}.about-hero p:not(.eyebrow){color:#4d6177;max-width:680px}
.about-hero .eyebrow{color:#087a90}.about-orbit{border-color:#00a8a044;box-shadow:0 0 0 65px #00d1c705,0 0 0 130px #00d1c704}
.editorial-poly .about>.container{border-top:0}.editorial-poly .purpose h3,.editorial-poly .roots-grid h3,.editorial-poly .motors-grid h3{font-family:Montserrat,Arial,sans-serif;font-size:25px;font-weight:600}
.editorial-poly .purpose article{background:#fff;border:1px solid #a7b0ba66;padding:25px;border-radius:5px}
.editorial-poly .purpose{gap:20px}.editorial-poly .philosophy{background:#edf3f8}
.editorial-poly .roots-grid article{border-top:1px solid #a7b0ba;padding-top:25px}.editorial-poly .elena-note{background:#f6f9fc;border:1px solid #a7b0ba66;border-left:3px solid #00d1c7}
.research-cards{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:25px 0 35px}.research-cards article{border:1px solid #a7b0ba77;background:white;border-radius:5px;padding:35px}
.research-cards p,.innovation-details>.container>p{line-height:1.85;color:#4d6177}.innovation-details blockquote{margin:50px 0 30px;border-top:1px solid #a7b0ba77;border-bottom:1px solid #a7b0ba77;padding:35px 0;font-size:clamp(24px,3vw,40px);font-weight:600;letter-spacing:-.04em}
.contact-hero{min-height:380px;background:#f6f9fc;color:#0b1f3b;border-bottom:1px solid #a7b0ba66}
.contact-hero>img{left:53%;width:47%;height:100%;object-fit:cover;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}
.contact-hero .slide-shade{display:none}.contact-hero h1{color:#0b1f3b;font-size:clamp(36px,3.8vw,58px);max-width:54%}
.contact-hero p:not(.eyebrow){color:#4d6177;max-width:50%;font-size:17px}.contact-hero .eyebrow{color:#087a90}.contact-hero>.container{padding-top:45px;padding-bottom:45px}
.project-form{border-radius:5px;box-shadow:none}.contact-card{border-radius:5px;background:#0b1f3b}.contact-card>img{border-radius:0;background:#f6f9fc}
.project-form input,.project-form textarea,.project-form select{border-radius:2px}.editorial-poly .contact-cta{background:#eaf1f6}
.editorial-poly footer{background:#0b1f3b}.image-note{color:#a7b0ba}
@media(max-width:1250px){.editorial-poly .desktop-nav{gap:16px;font-size:10px}.editorial-poly .poly-wordmark{font-size:17px}.editorial-poly .poly-wordmark img{width:55px;height:50px}.editorial-poly .services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.slide-inset{width:27%;height:220px}.slide-copy>p:not(.eyebrow){font-size:16px}}
@media(max-width:900px){.editorial-poly .header-inner{height:78px}.editorial-poly .desktop-nav{display:none}.editorial-poly .hero-carousel{height:820px}
.slide-copy{padding-top:45px}.editorial-poly .hero-carousel h1{font-size:clamp(37px,6vw,54px);max-width:100%}.editorial-poly .hero-carousel .eyebrow{max-width:100%}.slide-copy>p:not(.eyebrow){max-width:75%;font-size:16px}
.slide-actions{max-width:100%}.slide-signature{display:none}.slide-photo{left:5%;top:auto;bottom:65px;width:90%;height:355px;clip-path:none}
.slide-inset{top:auto;bottom:95px;right:8%;width:35%;height:180px;border-width:5px}.carousel-controls{bottom:15px;right:5%}
.home-preview-grid{grid-template-columns:1fr}.home-preview-card{flex-direction:row}.home-preview-card>img{width:35%;height:auto;min-height:180px}.home-preview-card>div{flex:1}
.subpage-hero>.container{grid-template-columns:1fr;gap:25px}.subpage-hero img{height:280px;clip-path:none}
.research-cards{gap:25px}.contact-hero>img{left:60%;width:40%}.contact-hero h1{max-width:70%;font-size:41px}.contact-hero p:not(.eyebrow){max-width:60%}.about-hero{padding:55px 0}
}
@media(max-width:540px){.editorial-poly .header-inner{height:72px}.editorial-poly .poly-wordmark{font-size:12px;letter-spacing:0}.editorial-poly .poly-wordmark img{width:42px;height:37px}.editorial-poly .hero-carousel{height:845px}
.slide-copy{padding-top:35px}.editorial-poly .hero-carousel .eyebrow{font-size:8px;line-height:1.8;margin-bottom:20px}.editorial-poly .hero-carousel h1{font-size:clamp(31px,8.5vw,43px);max-width:100%;margin-bottom:22px;white-space:normal}
.slide-copy>p:not(.eyebrow){font-size:15px;max-width:100%;line-height:1.8}.slide-actions{gap:10px}.slide-actions .button{font-size:11px;padding:13px 18px}
.slide-photo{bottom:65px;height:290px}.slide-inset{bottom:90px;height:135px;width:42%}.carousel-controls{bottom:13px;gap:10px}.slide-copy .button.outline{display:none}
.editorial-poly .section{padding-top:45px;padding-bottom:45px}.home-preview-card{flex-direction:column}.home-preview-card>img{width:100%;height:180px}
.research-cards{grid-template-columns:1fr}.research-cards article{padding:25px}.subpage-hero{padding:35px 0}.subpage-hero h1{font-size:35px}.subpage-hero img{height:230px}
.contact-hero>img{position:relative;left:0;width:100%;height:220px;display:block;clip-path:none}.contact-hero>.container{padding-top:35px;padding-bottom:35px}.contact-hero h1{font-size:34px;max-width:100%}.contact-hero p:not(.eyebrow){max-width:100%}.contact-hero{display:flex;flex-direction:column-reverse}
.editorial-poly .purpose article{padding:22px}.about-hero h1{font-size:36px}.about-orbit{opacity:.4}.editorial-poly .services-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.home-preview-card{transition:none}}

/* Clean slide changes: one text layer at a time. */
.carousel-slide{transition:none}.carousel-slide.active .slide-photo{animation:tec-photo-in .8s ease}.carousel-slide.active .slide-copy{animation:tec-copy-in .45s ease}
@keyframes tec-photo-in{from{opacity:.4}to{opacity:1}}@keyframes tec-copy-in{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.carousel-slide.active .slide-photo,.carousel-slide.active .slide-copy{animation:none}}

.editorial-poly .language{align-items:center;gap:10px;white-space:nowrap}
.editorial-poly .lang-link{display:inline-flex;align-items:center;gap:7px;min-height:34px}
.editorial-poly .lang-link .lang-flag{display:block;width:28px;height:20px;object-fit:contain;flex-shrink:0;filter:saturate(1);mix-blend-mode:normal}
.editorial-poly .lang-code{font-size:11px;font-weight:500}
@media(max-width:540px){.editorial-poly .language{gap:7px}.editorial-poly .lang-link{gap:5px}.editorial-poly .lang-link .lang-flag{width:25px;height:18px}.editorial-poly .lang-code{font-size:10px}.editorial-poly .lang-link+.lang-link{padding-left:7px}}
@media(max-width:360px){.editorial-poly .lang-code{display:none}.editorial-poly .lang-link{gap:0}.editorial-poly .language{gap:7px}}
/* Five capability cards · keyboard and touch friendly */
.editorial-poly .proof-band{background:#f6f9fc;border-bottom:1px solid #d5dfe9}
.editorial-poly .capability-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;padding-top:30px;padding-bottom:30px;align-items:stretch}
.editorial-poly .capability-link{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;min-height:160px;padding:24px 22px!important;text-align:left;background:#fff;border:1px solid #cbd7e4!important;border-radius:12px;box-shadow:0 4px 12px #0b1f3b05;color:#0b1f3b;transition:transform .22s,box-shadow .22s,border-color .22s,background .22s,color .22s;cursor:pointer;overflow:hidden}
.editorial-poly .capability-link:before{content:'';position:absolute;top:0;left:22px;width:32px;height:3px;background:#00d1c7}
.editorial-poly .capability-link svg{width:37px;height:37px;color:#087a90;flex-shrink:0;margin-bottom:20px;transition:color .22s}
.editorial-poly .capability-link>span{font-family:Montserrat,Arial,sans-serif;font-size:14px;font-weight:600;line-height:1.45;max-width:calc(100% - 20px)}
.editorial-poly .capability-link:after{content:'↗';position:absolute;right:18px;bottom:22px;font-size:22px;font-weight:400;color:#087a90;transition:transform .22s,color .22s}
.editorial-poly .capability-link:hover,.editorial-poly .capability-link:focus-visible{background:#0b1f3b;color:white;border-color:#0b1f3b!important;box-shadow:0 14px 28px #0b1f3b22;transform:translateY(-5px)}
.editorial-poly .capability-link:hover svg,.editorial-poly .capability-link:focus-visible svg,.editorial-poly .capability-link:hover:after,.editorial-poly .capability-link:focus-visible:after{color:#65e4db}
.editorial-poly .capability-link:hover:after{transform:translate(2px,-2px)}
.editorial-poly .capability-link:active{transform:translateY(-1px)}
@media(max-width:1100px){.editorial-poly .capability-strip{gap:12px}.editorial-poly .capability-link{padding:22px 16px!important;min-height:160px}.editorial-poly .capability-link>span{font-size:12px}.editorial-poly .capability-link:before{left:16px}}
@media(max-width:800px){.editorial-poly .capability-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.editorial-poly .capability-link{min-height:150px}.editorial-poly .capability-link:last-child{grid-column:auto;justify-content:flex-start}}
@media(max-width:540px){.editorial-poly .capability-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:22px;padding-bottom:22px}.editorial-poly .capability-link{min-height:146px;padding:20px 16px!important}.editorial-poly .capability-link svg{width:32px;height:32px;margin-bottom:17px}.editorial-poly .capability-link>span{font-size:12px}.editorial-poly .capability-link:last-child{grid-column:1/-1;min-height:100px;display:flex;flex-direction:row;align-items:center;gap:20px}.editorial-poly .capability-link:last-child svg{margin:0}.editorial-poly .capability-link:last-child:after{bottom:34px}}
@media(prefers-reduced-motion:reduce){.editorial-poly .capability-link,.editorial-poly .capability-link svg,.editorial-poly .capability-link:after{transition:none}}
