*{box-sizing:border-box}
:root{
  --ink:#11181c;--muted:#667178;--line:#d9e0e2;--paper:#f5f7f7;--white:#fff;
  --blue:#31788f;--cyan:#52b8c6;--dark:#10191d;--max:1180px;
}
html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.55}
img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{width:min(var(--max),calc(100% - 48px));margin:auto}
.site-header{height:68px;position:sticky;top:0;z-index:50;background:rgba(245,247,247,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav-wrap{height:68px;display:flex;align-items:center;justify-content:space-between}.brand img{width:185px;height:auto}.nav{display:flex;gap:25px;align-items:center;font-size:13px;font-weight:700}.nav-cta{background:var(--ink);color:white;padding:10px 16px;border-radius:999px}.menu-button{display:none;border:0;background:none;font-size:24px}
.hero{min-height:690px;padding:96px 0 84px;background:radial-gradient(circle at 77% 35%,#deeff2 0,#eef3f3 27%,#f8f9f9 62%);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:60px;align-items:center}.techline,.eyebrow{margin:0 0 14px;color:#397f94;font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.hero h1,.principle h2,.section-head h2,.insectari-highlight h2,.vortx h2,.about h2,.contact h2{font-family:Manrope,sans-serif;letter-spacing:-.045em;line-height:1.04;margin:0}
.hero h1{font-size:56px;max-width:760px}.lead{font-size:17px;color:#58666d;max-width:700px;margin:24px 0 28px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-block;border:0;border-radius:999px;padding:12px 18px;font-size:13px;font-weight:800;cursor:pointer}.primary{background:#296d82;color:white}.secondary{border:1px solid #aebbc0}.white{background:white;color:#132229}.sector-strip{display:flex;gap:7px;flex-wrap:wrap;margin-top:28px}.sector-strip span,.chips span,.vortx-points span{border:1px solid #cdd6d8;border-radius:99px;padding:5px 9px;font-size:10px;color:#647279}
.hero-visual{height:450px;position:relative}.hero-core{position:absolute;left:50%;top:50%;width:180px;height:180px;transform:translate(-50%,-50%);border-radius:32px;background:#ffffffb8;box-shadow:0 25px 70px #16343f1f;display:grid;place-items:center}.hero-core img{width:125px}.hero-orbit{position:absolute;left:50%;top:50%;border:1px solid #83aeb955;border-radius:50%;transform:translate(-50%,-50%) rotate(-10deg)}.o1{width:380px;height:230px}.o2{width:490px;height:315px;transform:translate(-50%,-50%) rotate(22deg)}.hero-node{position:absolute;background:#fff;border:1px solid #d7e1e3;border-radius:14px;padding:12px 15px;box-shadow:0 15px 40px #102b3410;min-width:100px}.hero-node b{display:block;font-family:Manrope;font-size:18px}.hero-node small{color:#78858b}.n1{left:4%;top:18%}.n2{right:3%;top:14%}.n3{left:9%;bottom:16%}.n4{right:8%;bottom:14%}
.principle{background:#101719;color:white;padding:74px 0}.principle-grid{display:grid;grid-template-columns:260px 1fr;gap:70px}.principle h2{font-size:43px}.principle p:not(.eyebrow){color:#b9c3c7;max-width:760px}.section{padding:82px 0}.section-head{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end;margin-bottom:34px}.section-head h2{font-size:43px}.section-head>p{color:var(--muted);margin:0}
.proof{background:#edf1f1}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 14px 45px #18323a0b}.project-wide{grid-column:1/-1;display:grid;grid-template-columns:1.05fr .95fr}.project-media{height:260px;background:#dfe6e8;overflow:hidden}.project-wide .project-media{height:100%;min-height:420px}.project-media img{width:100%;height:100%;object-fit:cover}.project-copy{padding:28px}.project-wide .project-copy{padding:38px}.tag{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.11em;color:#397f94;margin:0 0 7px}.project-copy h3{font-family:Manrope;font-size:29px;line-height:1.08;letter-spacing:-.035em;margin:0 0 13px}.project-wide h3{font-size:38px}.project-copy>p:not(.tag){color:#657279}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}.powered-mini{height:38px;margin-bottom:15px}.powered-mini img{height:38px;width:auto}.project-placeholder{height:260px;background:linear-gradient(135deg,#174858,#2f8195);color:white;display:flex;flex-direction:column;justify-content:center;align-items:center}.pictograms{display:flex;gap:13px;font-size:34px}.project-placeholder strong{font-family:Manrope;font-size:32px;letter-spacing:.08em;margin-top:15px}
.insectari-highlight{background:#fff}.insectari-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}.insectari-logo-wrap{background:#f6f8f8;border:1px solid var(--line);border-radius:24px;padding:32px}.insectari-highlight h2{font-size:42px}.insectari-highlight p:not(.eyebrow){color:var(--muted)}.insectari-actions{display:flex;gap:12px;margin:22px 0}.qr-box{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;font-size:11px}.qr-box img{width:68px;height:68px}.funding{display:flex;align-items:center;gap:28px;border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.funding img:first-child{max-width:240px}.funding img:last-child{max-width:380px}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.cap-grid article{min-height:210px;padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cap-grid article>span{font-size:10px;color:#8a979c}.cap-grid h3{font-family:Manrope;margin:42px 0 8px;font-size:19px}.cap-grid p{font-size:13px;color:var(--muted)}
.vortx{padding:88px 0;background:linear-gradient(120deg,#125267,#287f96 58%,#4badbd);color:white}.vortx-grid{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:center}.vortx h2{font-size:45px}.vortx-copy>p:not(.eyebrow){color:#d9edf1}.light{color:#dcf6fa}.vortx-rule{border-left:2px solid #ffffff77;padding:8px 0 8px 17px;margin:25px 0;color:#e5f4f6}.vortx-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.text-link{font-size:12px;font-weight:800}.vortx-brand-card{background:#ffffff12;border:1px solid #ffffff44;border-radius:22px;padding:34px}.vortx-brand-card>img{background:white;border-radius:15px;padding:3px}.vortx-points{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.vortx-points span{color:white;border-color:#ffffff55}
.clients{background:#f7f8f8}.client-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.client-grid span{min-height:86px;padding:14px;display:flex;align-items:center;justify-content:center;text-align:center;background:white;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-family:Manrope;font-size:12px;font-weight:700;color:#66747a}
.about-grid{display:grid;grid-template-columns:350px 1fr;gap:70px;align-items:center}.about-logo{background:white;border:1px solid var(--line);border-radius:22px;padding:35px}.about h2{font-size:44px}.about p:not(.eyebrow){color:var(--muted);font-size:16px}
.contact{background:#131c20;color:white}.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px}.contact h2{font-size:43px}.contact-copy>p:not(.eyebrow){color:#b9c6cb}.contact-mail{font-size:12px}.contact-form{background:white;color:var(--ink);border-radius:22px;padding:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form label{display:block;font-size:11px;font-weight:700;margin-bottom:14px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;margin-top:6px;border:1px solid #ccd6d8;border-radius:10px;padding:11px 12px;font:inherit;font-size:13px;background:#fbfcfc}.contact-form textarea{resize:vertical}.consent{display:flex!important;gap:9px;align-items:flex-start;font-weight:500!important}.consent input{width:auto;margin-top:3px}.hp{position:absolute!important;left:-9999px!important}.submit{background:#172126!important;color:white!important}.form-note{font-size:10px;color:#849096;margin:12px 0 0}
footer{background:#091014;color:white;padding:30px 0}.footer-grid{display:flex;align-items:center;justify-content:space-between}.footer-grid img{width:175px;filter:brightness(0) invert(1);opacity:.88}.footer-grid span{font-size:11px;color:#839096}
@media(max-width:1000px){
  .hero{min-height:auto}.hero-grid{grid-template-columns:1fr}.hero-visual{height:360px;max-width:600px;width:100%;margin:auto}.principle-grid,.section-head,.insectari-layout,.vortx-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.principle-grid{gap:24px}.project-wide{grid-template-columns:1fr}.project-wide .project-media{min-height:330px;height:330px}.cap-grid{grid-template-columns:repeat(2,1fr)}.client-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .container{width:min(100% - 28px,var(--max))}.site-header{height:60px}.nav-wrap{height:60px}.brand img{width:158px}.menu-button{display:block}.nav{display:none;position:absolute;left:14px;right:14px;top:67px;background:white;border:1px solid var(--line);border-radius:14px;padding:15px;box-shadow:0 15px 50px #0001;flex-direction:column;align-items:stretch}.nav.open{display:flex}.hero{padding:64px 0 58px}.hero-grid{gap:30px}.hero h1{font-size:40px}.lead{font-size:15px}.hero-visual{height:290px}.hero-core{width:130px;height:130px}.hero-core img{width:90px}.o1{width:290px;height:170px}.o2{width:350px;height:220px}.hero-node{padding:8px 10px;min-width:78px}.hero-node b{font-size:15px}.hero-node small{font-size:9px}.principle,.section,.vortx{padding:58px 0}.principle h2,.section-head h2,.insectari-highlight h2,.vortx h2,.about h2,.contact h2{font-size:34px}.project-grid{grid-template-columns:1fr}.project-wide{grid-column:auto}.project-wide .project-media{height:270px;min-height:270px}.project-media{height:240px}.project-copy,.project-wide .project-copy{padding:23px}.project-copy h3,.project-wide h3{font-size:27px}.cap-grid{grid-template-columns:1fr}.client-grid{grid-template-columns:repeat(2,1fr)}.insectari-actions{flex-direction:column}.funding{align-items:flex-start;flex-direction:column}.form-row{grid-template-columns:1fr}.footer-grid{display:block}.footer-grid span{display:block;margin-top:10px}.about-logo{max-width:340px}
}
@media(max-width:460px){
  .hero h1{font-size:36px}.hero-visual{height:240px}.hero-node{display:none}.o1{width:240px;height:140px}.o2{width:290px;height:185px}.client-grid{grid-template-columns:1fr}.qr-box{width:100%}
}
/* V5 */
.project-link{display:inline-flex;margin-top:18px;font-weight:700;color:#087f8c;text-decoration:none}.project-link:hover{text-decoration:underline}
.weadapt .project-media img{object-position:center top}
.about-v5{background:#f6f8f8}.about-v5 .about-text{max-width:820px}.about-v5 .about-text p{font-size:1.05rem;line-height:1.75;color:#445157}.about-v5 .about-text .about-close{font-weight:700;color:#142025;font-size:1.15rem;margin-top:24px}
.team{background:#fff}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}.team-card{border:1px solid #dde5e7;border-radius:20px;padding:24px;background:#f8fafb}.team-avatar{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#10272e;color:white;font-family:Manrope,sans-serif;font-weight:800;font-size:1.25rem;margin-bottom:22px}.team-card h3{margin:0 0 5px}.team-card p{margin:0;color:#65747a}
.contact-details{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:24px}.contact-details a{color:white;font-weight:700;text-decoration:none}.contact-details a:hover{text-decoration:underline}
.client-grid .client-logo{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e1e7e9;border-radius:14px;min-height:90px;padding:18px}.client-logo img{max-width:150px;max-height:54px;width:auto;height:auto}.client-logo.neapolis img{image-rendering:auto}
.footer-links{display:flex;flex-wrap:wrap;gap:18px;align-items:center}.footer-links a{color:inherit;text-decoration:none}.footer-links a:hover{text-decoration:underline}
.legal-page{padding:140px 0 80px}.legal-page .container{max-width:900px}.legal-page h1{font-size:clamp(2.3rem,5vw,4.5rem)}.legal-page h2{margin-top:38px}.legal-page p,.legal-page li{line-height:1.75;color:#445157}
.project-detail{padding:130px 0 80px}.project-detail .detail-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}.project-detail .detail-hero img{width:100%;border-radius:24px}.detail-body{max-width:900px;margin:60px auto 0}.detail-body h2{margin-top:42px}.detail-body p{line-height:1.75;color:#445157}.detail-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:30px}.detail-gallery img{width:100%;border-radius:18px;aspect-ratio:16/10;object-fit:cover}.back-link{display:inline-block;margin-bottom:25px;text-decoration:none;color:#087f8c;font-weight:700}
@media(max-width:850px){.team-grid{grid-template-columns:repeat(2,1fr)}.project-detail .detail-hero{grid-template-columns:1fr}.detail-gallery{grid-template-columns:1fr}}
@media(max-width:520px){.team-grid{grid-template-columns:1fr}}


/* V5.1 — client logos, normalized assets */
.client-logo-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.client-logo-card{
  min-height:132px;
  background:#fff;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:20px 18px 14px;
  overflow:hidden;
}
.client-logo-card img{
  width:100%;
  max-width:185px;
  height:58px;
  object-fit:contain;
  object-position:center;
}
.client-logo-card span{
  font-size:9px;
  color:#849096;
  text-align:center;
  line-height:1.25;
}
@media(max-width:1000px){
  .client-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-logo-card{min-height:118px;padding:17px 12px 12px}
  .client-logo-card img{height:52px;max-width:160px}
}
@media(max-width:430px){
  .client-logo-grid{grid-template-columns:1fr 1fr}
  .client-logo-card img{height:46px;max-width:135px}
}
