/* TECNEMATHOS v6 · Institutional carousel and separate contact page */
.editorial-poly{font-family:Montserrat,Manrope,Arial,sans-serif;--ink:#0b1f3b;--paper:#f6f9fc;--accent:#00d1c7}
.editorial-poly h1,.editorial-poly h2,.editorial-poly h3,.editorial-poly .purpose h3,.editorial-poly .roots-grid h3,.editorial-poly .motors-grid h3{font-family:Montserrat,Manrope,Arial,sans-serif;font-weight:600;letter-spacing:-.045em}
.editorial-poly .container{max-width:1440px;width:88%}.editorial-poly .site-header{background:#fff;position:sticky;top:0;z-index:30}
.editorial-poly .header-inner{height:88px;gap:20px}.editorial-poly .poly-wordmark{font-size:18px;letter-spacing:.03em;gap:10px}
.editorial-poly .poly-wordmark img{width:57px;height:50px}.editorial-poly .desktop-nav{gap:25px;font-weight:500;font-size:12px}
.editorial-poly .header-actions{gap:20px}.editorial-poly .header-contact.button{background:#0b1f3b;color:white;padding:13px 18px;border:0;border-radius:28px;font-size:11px}
.editorial-poly .button{border-radius:28px;letter-spacing:0;font-weight:600;min-height:46px;display:inline-flex;align-items:center;justify-content:center}
.editorial-poly .button.primary{background:#00d1c7;color:#0b1f3b;border-color:#00d1c7}.editorial-poly .button.primary:hover{background:#80e9e3;border-color:#80e9e3}
.editorial-poly .button.outline{background:transparent;border:1px solid #fff9;color:white}.editorial-poly .button.outline:hover{background:#fff2}
.editorial-poly .hero-carousel{height:650px;min-height:580px;background:#0b1f3b;color:white;position:relative;overflow:hidden}
.carousel-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s}
.carousel-slide.active{opacity:1;visibility:visible}.slide-photo,.contact-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 45%}
.slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,36,.96) 0%,rgba(4,18,36,.8) 35%,rgba(4,18,36,.2) 75%,rgba(4,18,36,.06))}
.slide-copy{position:relative;padding-top:95px;z-index:2}
.editorial-poly .hero-carousel .eyebrow{color:#8ceae6;font-size:11px;letter-spacing:.22em;margin:0 0 28px;white-space:normal}
.editorial-poly .hero-carousel h1{font-family:Montserrat,Arial,sans-serif;font-size:clamp(40px,4.5vw,72px);font-weight:500;line-height:1.12;letter-spacing:-.055em;white-space:normal;max-width:850px;width:auto;margin:0 0 24px;color:#fff}
.slide-copy>p:not(.eyebrow){font-size:18px;max-width:610px;line-height:1.7;color:#e2eaf3;margin-bottom:28px}
.slide-actions{display:flex;gap:15px;flex-wrap:wrap}.slide-signature{display:block;margin-top:35px;color:#c6d6e4;font-size:10px;letter-spacing:.3em}
.carousel-controls{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;z-index:5}
.carousel-arrow,.carousel-pause{display:grid;place-items:center;width:38px;height:38px;background:#0b1f3b55;color:#fff;border:1px solid #ffffff66;border-radius:50%;cursor:pointer;font-size:18px}
.carousel-arrow:hover,.carousel-pause:hover{background:#00d1c7;color:#0b1f3b}.carousel-dots{display:flex;gap:3px}.carousel-dots button{border:0;background:none;padding:12px 7px;cursor:pointer}
.carousel-dots span{display:block;width:8px;height:8px;background:#cdd5df;border-radius:20px;transition:width .3s}
.carousel-dots [aria-current=true] span{background:#00d1c7;width:30px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.editorial-poly .proof-band{background:white}.capability-strip{min-height:105px}
.editorial-poly .about{padding-top:65px}.vision-intro{margin-bottom:55px}.editorial-poly .section h2{font-size:clamp(30px,3vw,48px);line-height:1.2}
.editorial-poly .section{padding-top:75px;padding-bottom:75px}.editorial-poly .section-heading{align-items:end}
.editorial-poly .solutions{background:#eef3f8}.editorial-poly .services-grid{gap:18px}
.editorial-poly .service-card{background:#fff;border:1px solid #d5dfeb;border-radius:16px;padding:23px 20px 0;overflow:hidden;display:flex;flex-direction:column;min-height:360px;transition:transform .25s,box-shadow .25s,background .25s}
.editorial-poly .service-card:hover{background:#0b1f3b;color:#fff;transform:translateY(-7px);box-shadow:0 20px 35px #0b1f3b22}
.editorial-poly .service-card:hover p,.editorial-poly .service-card:hover .card-number,.editorial-poly .service-card:hover .card-action{color:#e2eaf3}
.editorial-poly .service-card h3{font-size:22px;line-height:1.25;margin-bottom:14px}.editorial-poly .service-card p{font-size:13px;line-height:1.7}
.editorial-poly .card-top{margin-bottom:22px}.editorial-poly .card-action{margin-top:auto;margin-bottom:20px}.capability-photo{width:calc(100% + 40px);max-width:none;height:135px;object-fit:cover;margin-left:-20px;display:block}
.innovation-section{background:#0b1f3b;color:white}.innovation-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.innovation-grid>img{width:100%;height:340px;object-fit:cover;border-radius:18px}.innovation-grid .eyebrow{color:#74e6dd}.innovation-grid p:not(.eyebrow){color:#cfdae8;line-height:1.9}.innovation-grid .text-link{color:white}
.contact-cta{background:#e9f1f7;padding:65px 0}.contact-cta>.container{display:flex;align-items:center;justify-content:space-between;gap:25px}.contact-cta h2{font-size:34px;margin:0}
.contact-hero{position:relative;isolation:isolate;min-height:475px;color:white;overflow:hidden;background:#0b1f3b}.contact-hero>.container{position:relative;padding-top:65px;padding-bottom:65px}
.contact-hero h1{max-width:850px;font-size:clamp(36px,4vw,62px);line-height:1.18;margin-bottom:20px;color:white}.contact-hero .eyebrow{color:#83e9e3}.contact-hero p:not(.eyebrow){font-size:21px;margin-bottom:25px}
.contact-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:35px;align-items:start}.editorial-poly .contact-page{background:#f6f9fc;padding-top:55px}
.project-form{background:white;padding:38px;border-radius:20px;border:1px solid #d7e1eb;box-shadow:0 14px 35px #0b1f3b08}
.editorial-poly .project-form h2{font-size:31px;margin-bottom:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.project-form label{display:flex;flex-direction:column;gap:9px;font-size:13px;font-weight:600;margin-bottom:23px;color:#0b1f3b}
.project-form input,.project-form textarea,.project-form select{width:100%;background:#f9fbfd;border:1px solid #b7c7d8;border-radius:8px;padding:13px;font:400 14px Montserrat,Arial,sans-serif;color:#0b1f3b;min-width:0}
.project-form input:focus,.project-form textarea:focus,.project-form select:focus{outline:2px solid #00a9a1;outline-offset:2px}
.project-form textarea{resize:vertical}.project-form .form-help{font-size:12px;color:#53677d;line-height:1.8;margin:18px 0 0}
#form-status{background:#e5f8f5;border-radius:10px;padding:20px;margin-top:20px;font-size:13px}
.contact-card{border-radius:20px;background:radial-gradient(ellipse at bottom right,#124760,transparent 65%),#0b1f3b;color:white;padding:40px;overflow-wrap:anywhere}
.contact-card>img{object-fit:contain;background:#f6f9fc;border-radius:10px;padding:6px;margin-bottom:20px}
.editorial-poly .contact-card h2{font-size:25px;margin-bottom:25px;color:white}.contact-card>div{padding:24px 0;border-top:1px solid #ffffff30}.contact-card>div span{display:block;color:#80e9e1;font-size:10px;letter-spacing:.16em;margin-bottom:12px}
.contact-card a,.contact-card>div p{font-size:17px;line-height:1.6}.contact-motto{font-size:16px;line-height:1.7;margin-top:25px;color:#c6dfeb}
.image-note{max-width:1400px;width:88%;margin:30px auto 0;font-size:10px;line-height:1.6;color:#adc0d1;padding-bottom:25px}
button:focus-visible,a:focus-visible{outline:3px solid #00a9a1;outline-offset:5px}
@media(min-width:1750px){.editorial-poly .hero-carousel h1{font-size:78px}.editorial-poly .hero-carousel{height:710px}.slide-copy{padding-top:110px}}
@media(max-width:1250px){.editorial-poly .header-contact.button{display:none}.editorial-poly .desktop-nav{gap:18px}.editorial-poly .header-inner{gap:15px}.contact-card{padding:30px}.editorial-poly .services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.editorial-poly .header-inner{height:76px}.editorial-poly .desktop-nav{display:none}.editorial-poly .hero-carousel{height:630px;min-height:0}.slide-copy{padding-top:80px}
.editorial-poly .hero-carousel h1{font-size:49px}.slide-copy>p:not(.eyebrow){font-size:17px;max-width:560px}.slide-shade{background:linear-gradient(90deg,#041224eb,#041224b8 60%,#04122466)}
.innovation-grid{grid-template-columns:1fr;gap:35px}.contact-layout{grid-template-columns:1fr}.contact-card{display:block}.contact-cta>.container{align-items:flex-start;flex-direction:column}
.contact-hero{min-height:410px}.contact-hero>.container{padding-top:55px}.editorial-poly .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-poly .section{padding-top:55px;padding-bottom:55px}}
@media(max-width:540px){.editorial-poly .container{width:90%}.editorial-poly .header-inner{height:72px;width:94%;gap:8px}.editorial-poly .poly-wordmark{font-size:12px;gap:6px;letter-spacing:0}.editorial-poly .poly-wordmark img{width:38px;height:35px}.editorial-poly .header-actions{gap:9px}
.editorial-poly .hero-carousel{height:650px}.slide-copy{padding-top:65px}.editorial-poly .hero-carousel h1{font-size:clamp(33px,8.8vw,45px);letter-spacing:-.055em;max-width:100%;white-space:normal}.editorial-poly .hero-carousel .eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:26px}
.slide-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;margin-bottom:27px}.slide-actions{flex-direction:column;align-items:flex-start;gap:12px}.slide-actions .button{font-size:12px;padding:13px 20px;max-width:100%;white-space:normal}.slide-signature{margin-top:26px;font-size:9px}
.carousel-controls{bottom:20px}.editorial-poly .services-grid{grid-template-columns:1fr}.editorial-poly .service-card{min-height:330px}.capability-photo{height:170px}.innovation-grid>img{height:250px}
.project-form{padding:25px 20px}.form-grid{grid-template-columns:1fr;gap:0}.editorial-poly .project-form h2{font-size:26px}.contact-card{padding:28px 24px}.contact-hero h1{font-size:36px}.contact-hero .button{font-size:12px}.contact-hero{min-height:460px}.contact-cta h2{font-size:29px}.editorial-poly .contact-page{padding-top:30px}}
@media(prefers-reduced-motion:reduce){.carousel-slide{transition:none}.carousel-dots span{transition:none}.editorial-poly .service-card{transition:none}}

.about-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 90% 70%,#14465c,transparent 55%),#0b1f3b;color:white;padding:80px 0;isolation:isolate}
.about-hero>.container{position:relative;z-index:2}.about-hero h1{font-size:clamp(36px,4.4vw,65px);max-width:920px;line-height:1.18;color:white}
.about-hero .eyebrow{color:#80e9e3}.about-hero p:not(.eyebrow){color:#cfdfed;max-width:650px;line-height:1.8;font-size:18px}
.about-orbit{position:absolute;right:-40px;top:-190px;width:650px;height:650px;border:1px solid #00d1c755;border-radius:50%;box-shadow:0 0 0 65px #00d1c70a,0 0 0 130px #00d1c708;transform:rotate(-25deg) scaleX(.7)}
.home-about{background:white}.home-about h2{max-width:850px}.home-about p:not(.eyebrow){max-width:680px;font-size:18px;line-height:1.8;color:#53677d}
.editorial-poly .desktop-nav [aria-current=page]{color:#087a90;border-bottom:2px solid #00d1c7;padding-bottom:7px}
@media(max-width:1250px){.editorial-poly .desktop-nav{gap:16px;font-size:11px}}
@media(max-width:540px){.about-hero{padding:55px 0}.about-hero h1{font-size:36px}.about-hero p:not(.eyebrow){font-size:16px}}
