
:root{--n:#020b1b;--n2:#06162f;--b:#1687f8;--c:#52c8ff;--p:#f7fbfe;--i:#07152a;--m:#566a80;--l:#d8e5ef}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--n);font-family:Arial,Helvetica,sans-serif;color:var(--i)}a{color:inherit;text-decoration:none}.side{position:fixed;inset:0 auto 0 0;width:286px;z-index:10;display:flex;flex-direction:column;color:#fff;background:linear-gradient(180deg,#041126,#061a38 58%,#052856);border-right:1px solid rgba(82,200,255,.22)}.brand{height:174px;padding:20px 8px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(82,200,255,.28);overflow:hidden}.brand img{width:270px;filter:invert(1) drop-shadow(0 0 9px rgba(22,135,248,.65));mix-blend-mode:screen}.side nav{display:flex;flex-direction:column}.side nav a{height:52px;padding:11px 22px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.09);font-size:12px;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}.side nav a.active{padding-left:29px;color:var(--c);background:linear-gradient(90deg,rgba(17,125,241,.36),transparent)}.foot{margin-top:auto;padding:24px 28px 30px;display:flex;flex-direction:column;gap:8px;color:#aac0d8;font-size:11px}.page{margin-left:286px}.hero{min-height:530px;position:relative;display:flex;align-items:center;overflow:hidden;padding:64px clamp(40px,7vw,110px);color:#fff;background:radial-gradient(circle at 78% 45%,#0a4a96,#061f42 25%,#03142e 48%,#020b1b 78%)}.hero:before{content:"";position:absolute;inset:0;opacity:.28;background-image:linear-gradient(rgba(85,190,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(85,190,255,.09) 1px,transparent 1px);background-size:52px 52px}.hero>div:first-child{width:min(780px,70%);position:relative;z-index:2}.eye,.over{margin:0 0 20px;color:var(--b);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.hero h1{margin:0;font-size:clamp(54px,6.3vw,98px);line-height:.88;letter-spacing:-.05em}.hero p:last-child{max-width:680px;color:#adc3dc;font-size:15px;line-height:1.75}.spectrum{width:min(34vw,420px);aspect-ratio:1;position:absolute;right:5vw;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(82,200,255,.2);border-radius:50%;box-shadow:0 0 90px rgba(22,135,248,.18),inset 0 0 60px rgba(22,135,248,.08)}.spectrum:before{content:"";width:72%;height:72%;position:absolute;border:1px solid rgba(82,200,255,.22);border-radius:50%}.spectrum span,.spectrum strong{z-index:1;color:#7795b6;font-size:22px;text-transform:uppercase}.spectrum strong{color:#fff;font-size:47px;text-shadow:0 0 25px var(--c)}.spectrum i{width:34px;height:1px;z-index:1;background:rgba(82,200,255,.48)}.spectrum small{position:absolute;bottom:22%;color:var(--c);font-size:8px;letter-spacing:.18em;text-transform:uppercase}.light{background:var(--p)}.section{padding:68px clamp(40px,7vw,110px) 76px}.label{padding-bottom:14px;margin-bottom:42px;border-bottom:1px solid var(--l);color:#8192a6;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.intro{display:grid;grid-template-columns:1fr .85fr;gap:6vw}.intro h2,.duv h2,.direction-head h2,.tech h2,.cta h2{margin:0;font-size:clamp(40px,4.3vw,67px);line-height:1.02;letter-spacing:-.04em}.intro>div:last-child{color:var(--m);font-size:15px;line-height:1.8}.intro>div:last-child p:first-child{margin-top:0;color:var(--i);font-size:19px;line-height:1.6}.regimes{display:grid;grid-template-columns:repeat(3,1fr);margin-top:48px;border-top:1px solid var(--l);border-left:1px solid var(--l)}.regimes article{min-height:320px;padding:28px;border-right:1px solid var(--l);border-bottom:1px solid var(--l);background:#fff}.regimes article.sel{color:#fff;background:linear-gradient(145deg,#061a38,#084482);border-color:#1687f8;transform:translateY(-8px);box-shadow:0 18px 42px rgba(6,44,89,.2)}.regimes article>span{color:var(--b);font-size:30px;font-weight:800;text-transform:uppercase}.regimes h3{margin:30px 0 9px;font-size:25px}.regimes strong{display:block;min-height:38px;color:#54708b;font-size:11px;line-height:1.5;text-transform:uppercase}.regimes .sel strong{color:var(--c)}.regimes p{color:var(--m);font-size:13px;line-height:1.7}.regimes .sel p{color:#adc3dc}.duv{padding:72px clamp(40px,7vw,110px);display:grid;grid-template-columns:.68fr 1.32fr;gap:7vw;color:#fff;background:linear-gradient(125deg,#020b1b,#062b59 73%,#0750a1)}.num{min-height:420px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(82,200,255,.32);background:radial-gradient(circle,#0b5fba,#062653 52%,#03142d)}.num strong{font-size:clamp(80px,9vw,135px);line-height:.85}.num span{margin-top:12px;color:var(--c);font-size:12px;letter-spacing:.2em;text-transform:uppercase}.num small{position:absolute;bottom:26px;color:#8faac5}.duv>div:last-child>p:not(.over){color:#aec2d8;font-size:14px;line-height:1.8}.points{display:grid;grid-template-columns:repeat(2,1fr);margin-top:28px;border-left:1px solid rgba(82,200,255,.25);border-top:1px solid rgba(82,200,255,.25)}.points span{min-height:78px;padding:18px;display:flex;align-items:center;border-right:1px solid rgba(82,200,255,.25);border-bottom:1px solid rgba(82,200,255,.25);color:var(--c);font-size:11px;font-weight:700;line-height:1.5}.challenges{display:grid;grid-template-columns:repeat(4,1fr);margin-top:48px;border-top:1px solid var(--l);border-left:1px solid var(--l)}.challenges article{min-height:190px;padding:24px;border-right:1px solid var(--l);border-bottom:1px solid var(--l);background:#fff}.challenges span{color:#0754b8;font-size:16px;font-weight:700}.challenges p{color:var(--m);font-size:12px;line-height:1.65}.direction-head{padding:70px clamp(40px,7vw,110px);color:#fff;background:linear-gradient(120deg,#041228,#062b59 75%,#084d94)}.direction-head>p:last-child{max-width:760px;color:#a9bfd7;font-size:15px;line-height:1.75}.techs{padding:4px clamp(40px,7vw,110px) 76px;background:var(--p)}.tech{display:grid;grid-template-columns:minmax(430px,1.35fr) minmax(250px,.65fr);gap:7vw;padding:60px 0;border-bottom:1px solid var(--l)}.tech h2{font-size:clamp(36px,3.7vw,58px)}.tech .lead{margin:24px 0;color:var(--i);font-size:18px;line-height:1.6}.tech h3{margin:25px 0 8px;color:#0754b8;font-size:13px}.tech-main>p:not(.over):not(.lead){margin:0;color:var(--m);font-size:13px;line-height:1.75}.tech aside{margin-top:34px;padding:24px;border:1px solid var(--l);background:#fff}.tech aside>strong{color:#7d8fa3;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.tech ul{margin:16px 0 0;padding:0;list-style:none}.tech li{position:relative;padding:11px 0 11px 18px;border-bottom:1px solid var(--l);color:#314c68;font-size:12px;line-height:1.45}.tech li:before{content:"";width:6px;height:6px;position:absolute;left:0;top:16px;border-radius:50%;background:var(--b)}.research{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;margin-top:22px;border:1px solid #e5a620;color:#9d6800;background:#fff8e5;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.cta{padding:70px clamp(40px,7vw,110px);display:grid;grid-template-columns:1fr .7fr;gap:25px 7vw;color:#fff;background:#06162f}.cta h2{font-size:clamp(38px,4vw,61px)}.cta>p{color:#9db4cc;font-size:14px;line-height:1.75}.actions{grid-column:1/-1;display:flex;gap:12px}.button{min-height:50px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;background:var(--b);color:#fff;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.ghost{background:transparent;border:1px solid rgba(255,255,255,.45)}.cyan{color:var(--c)}
@media(max-width:1000px){.side{width:230px}.page{margin-left:230px}.brand img{width:218px}.side nav a{font-size:10.5px}.challenges{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.side{display:none}.page{margin-left:0}.hero{min-height:580px;padding:54px 24px;align-items:flex-start}.hero>div:first-child{width:100%}.hero h1{font-size:clamp(46px,14vw,70px)}.spectrum{width:280px;right:-80px;bottom:-70px;opacity:.62}.section{padding:52px 24px 58px}.intro,.duv,.tech,.cta{grid-template-columns:1fr;gap:28px}.regimes{grid-template-columns:1fr}.regimes article.sel{transform:none}.duv{padding:58px 24px}.num{min-height:320px}.points,.challenges{grid-template-columns:1fr}.direction-head{padding:58px 24px}.techs{padding:0 24px 58px}.tech{padding:48px 0}.tech h2{font-size:39px}.tech aside{margin-top:0}.cta{padding:58px 24px}.actions{flex-direction:column}}

/* Added image placements — original page structure preserved */
.duv-photo{min-height:420px;position:relative;overflow:hidden;border:1px solid rgba(82,200,255,.32);background:#03142d}
.duv-photo img{width:100%;height:112%;position:absolute;left:0;top:-2%;object-fit:cover;object-position:center 38%;filter:brightness(1.12) contrast(1.08) saturate(1.15)}
.duv-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 68%,rgba(2,11,27,.42))}
.duv-photo .duv-number{position:absolute;right:20px;bottom:20px;z-index:2;min-width:255px;padding:24px 28px 22px;text-align:center;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.72);box-shadow:0 18px 40px rgba(0,0,0,.2);backdrop-filter:blur(4px)}
.duv-photo .duv-number strong{display:block;color:#0754b8;font-size:clamp(88px,9vw,138px);line-height:.82}
.duv-photo .duv-number span{display:block;margin-top:14px;color:#61758a;font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.duv-photo .duv-number small{display:block;margin-top:10px;color:#718398;font-size:11px}

.nextgen{position:relative;overflow:hidden}
.nextgen .intro{position:relative;z-index:2}
.nextgen-photos{position:relative;width:min(560px,100%);height:275px;margin:24px 0 30px;z-index:1}
.nextgen-photos img{position:absolute;display:block;object-fit:cover;border:5px solid #fff;box-shadow:0 12px 28px rgba(14,39,66,.18)}
.nextgen-photos .overview{left:0;top:0;width:55%;height:225px;object-position:center 52%}
.nextgen-photos .micro{right:0;bottom:0;width:52%;height:170px;object-position:center 58%}
.nextgen .challenges{position:relative;z-index:2}

.tech.with-photo{position:relative}
.tech-photo{position:absolute;right:0;bottom:30px;width:285px;height:214px;object-fit:cover;object-position:center 46%;border:6px solid #fff;box-shadow:0 14px 32px rgba(11,37,64,.18)}
.tech.with-photo aside{padding-bottom:255px}

@media(max-width:1000px){
  .nextgen-photos{width:min(500px,100%);height:255px}
  .nextgen-photos .overview{width:56%;height:205px}
  .nextgen-photos .micro{width:51%;height:155px}
}
@media(max-width:760px){
  .duv-photo{min-height:320px}
  .nextgen-photos{width:100%;height:230px;margin:22px 0 24px}
  .nextgen-photos .overview{left:0;width:57%;height:185px}
  .nextgen-photos .micro{right:0;left:auto;width:52%;height:135px}
  .tech-photo{position:relative;right:auto;bottom:auto;width:min(300px,100%);height:225px;margin:20px 0 0 auto}
  .tech.with-photo aside{padding-bottom:24px}
}


/* v4 — only the requested photo layout corrections */

/* 213 nm block: smaller photo; card overlaps only the lower-right corner */
.duv{
  overflow:visible;
}
.duv-photo{
  min-height:0;
  width:min(430px,100%);
  aspect-ratio:1.34 / 1;
  position:relative;
  overflow:visible;
  border:1px solid rgba(82,200,255,.32);
  background:#03142d;
  align-self:center;
}
.duv-photo img{
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  object-fit:cover;
  object-position:center 36%;
  filter:brightness(1.10) contrast(1.08) saturate(1.12);
}
.duv-photo:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 76%,rgba(2,11,27,.14));
}
.duv-photo .duv-number{
  position:absolute;
  right:-34px;
  bottom:-26px;
  z-index:3;
  min-width:245px;
  padding:20px 22px 18px;
  text-align:center;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.92);
  box-shadow:0 14px 34px rgba(0,0,0,.22);
  backdrop-filter:blur(4px);
}
.duv-photo .duv-number strong{
  display:block;
  color:#0754b8;
  font-size:82px;
  line-height:.82;
}
.duv-photo .duv-number span{
  display:block;
  margin-top:12px;
  color:#45617c;
  font-size:13px;
  line-height:1.25;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.duv-photo .duv-number small{
  display:none;
}

/* Microstructure photos: framed, aligned, with the 3 mm label fully preserved */
.nextgen-photos{
  position:relative;
  width:min(560px,100%);
  height:250px;
  margin:24px 0 30px;
  display:grid;
  grid-template-columns:215px 1fr;
  gap:14px;
  overflow:visible;
}
.nextgen-photos img{
  position:static;
  display:block;
  width:100%;
  height:250px;
  object-fit:cover;
  border:5px solid #fff;
  outline:1px solid #d8e5ef;
  box-shadow:0 10px 24px rgba(14,39,66,.14);
}
.nextgen-photos .overview{
  /* Narrow horizontal crop only; full height keeps the complete 3 mm annotation */
  object-fit:cover;
  object-position:center center;
}
.nextgen-photos .micro{
  object-position:center 58%;
}

/* Preserve existing responsive layout */
@media(max-width:1000px){
  .duv-photo{width:min(390px,100%)}
  .duv-photo .duv-number{
    right:-24px;
    bottom:-22px;
    min-width:220px;
  }
  .duv-photo .duv-number strong{font-size:74px}
}
@media(max-width:760px){
  .duv-photo{
    width:calc(100% - 28px);
    margin:0 28px 34px 0;
  }
  .duv-photo .duv-number{
    right:-26px;
    bottom:-24px;
    min-width:190px;
    padding:17px 18px 15px;
  }
  .duv-photo .duv-number strong{font-size:62px}
  .duv-photo .duv-number span{font-size:11px}
  .nextgen-photos{
    width:100%;
    height:205px;
    grid-template-columns:42% 58%;
    gap:10px;
  }
  .nextgen-photos img{height:205px}
}


/* v5 — prism photo corrected: preserve the full tall image */
.duv-photo{
  width:min(360px,100%);
  aspect-ratio:3 / 4;
  min-height:0;
  position:relative;
  overflow:visible;
  align-self:center;
  background:#03142d;
}
.duv-photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  filter:brightness(1.10) contrast(1.08) saturate(1.12);
  background:#03142d;
}
.duv-photo:after{
  display:none;
}
.duv-photo .duv-number{
  right:-36px;
  bottom:24px;
  min-width:245px;
  padding:20px 22px 18px;
}
.duv-photo .duv-number strong{
  font-size:82px;
}
.duv-photo .duv-number span{
  margin-top:12px;
  font-size:13px;
  line-height:1.25;
}

@media(max-width:1000px){
  .duv-photo{
    width:min(330px,100%);
  }
  .duv-photo .duv-number{
    right:-28px;
    bottom:22px;
  }
}
@media(max-width:760px){
  .duv-photo{
    width:min(320px,calc(100% - 28px));
    margin:0 28px 36px 0;
  }
  .duv-photo .duv-number{
    right:-24px;
    bottom:18px;
  }
}


/* v6 — exact corrections requested */

/* Prism: keep the tall full image, crop only the watermark from the source itself */
.duv-photo{
  width:min(350px,100%);
  aspect-ratio:auto;
  height:470px;
  min-height:0;
  position:relative;
  overflow:visible;
  align-self:center;
  background:#03142d;
}
.duv-photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:brightness(1.10) contrast(1.08) saturate(1.12);
  background:#03142d;
}
.duv-photo:after{display:none}

/* Card overlaps only the lower-right corner, below the prism itself */
.duv-photo .duv-number{
  right:-34px;
  bottom:20px;
  min-width:245px;
  padding:20px 22px 18px;
}
.duv-photo .duv-number strong{
  font-size:82px;
}
.duv-photo .duv-number span{
  margin-top:12px;
  font-size:13px;
  line-height:1.25;
}
.duv-photo .duv-number small{display:none}

/* 3 mm image: narrow side crop only; preserve full arrow and 3 mm text */
.nextgen-photos{
  width:min(560px,100%);
  height:250px;
  grid-template-columns:210px 1fr;
  gap:14px;
}
.nextgen-photos img{
  height:250px;
  border:5px solid #fff;
  outline:1px solid #d8e5ef;
  box-shadow:0 10px 24px rgba(14,39,66,.14);
}
.nextgen-photos .overview{
  object-fit:contain;
  object-position:center center;
  background:#eef3f6;
}
.nextgen-photos .micro{
  object-fit:cover;
  object-position:center 58%;
}

@media(max-width:1000px){
  .duv-photo{
    width:min(330px,100%);
    height:445px;
  }
}
@media(max-width:760px){
  .duv-photo{
    width:min(310px,calc(100% - 28px));
    height:420px;
    margin:0 28px 38px 0;
  }
  .duv-photo .duv-number{
    right:-24px;
    bottom:18px;
  }
  .nextgen-photos{
    height:205px;
    grid-template-columns:42% 58%;
  }
  .nextgen-photos img{height:205px}
}


/* v7 — only microstructure photo sizing/crop corrected */
.nextgen-photos{
  width:min(620px,100%);
  height:270px;
  grid-template-columns:190px 1fr;
  gap:14px;
}

/* Keep the existing frames, shadows and placement */
.nextgen-photos img{
  height:270px;
}

/* First photo: crop only left/right empty background; preserve full height and 3 mm label */
.nextgen-photos .overview{
  object-fit:cover;
  object-position:center center;
}

/* Microscope photo: make it larger and dominant */
.nextgen-photos .micro{
  object-fit:cover;
  object-position:center 58%;
}

@media(max-width:1000px){
  .nextgen-photos{
    width:min(570px,100%);
    height:250px;
    grid-template-columns:175px 1fr;
  }
  .nextgen-photos img{height:250px}
}

@media(max-width:760px){
  .nextgen-photos{
    width:100%;
    height:210px;
    grid-template-columns:36% 64%;
    gap:10px;
  }
  .nextgen-photos img{height:210px}
}


/* v8 — restore the linked overlapping composition exactly as requested */
.nextgen-photos{
  position:relative;
  width:min(560px,100%);
  height:330px;
  margin:24px 0 30px;
  display:block;
  overflow:visible;
}

/* Keep the existing frames and shadows */
.nextgen-photos img{
  position:absolute;
  display:block;
  object-fit:cover;
  border:5px solid #fff;
  outline:1px solid #d8e5ef;
  box-shadow:0 10px 24px rgba(14,39,66,.14);
}

/* Back image: slightly narrower crop from left/right only.
   Full vertical content remains visible, including the 3 mm label. */
.nextgen-photos .overview{
  left:0;
  top:0;
  width:355px;
  height:275px;
  object-fit:cover;
  object-position:center center;
}

/* Front microscope image: larger and overlapping only the lower-right corner */
.nextgen-photos .micro{
  right:0;
  bottom:0;
  width:390px;
  height:230px;
  object-fit:cover;
  object-position:center 58%;
  z-index:2;
}

@media(max-width:1000px){
  .nextgen-photos{
    width:min(520px,100%);
    height:310px;
  }
  .nextgen-photos .overview{
    width:330px;
    height:260px;
  }
  .nextgen-photos .micro{
    width:360px;
    height:215px;
  }
}

@media(max-width:760px){
  .nextgen-photos{
    width:100%;
    height:275px;
  }
  .nextgen-photos .overview{
    left:0;
    top:0;
    width:68%;
    height:225px;
  }
  .nextgen-photos .micro{
    right:0;
    bottom:0;
    width:72%;
    height:175px;
  }
}


/* v9 — exact overlap: preserve full 3 mm image vertically, crop only side background */
.nextgen-photos{
  position:relative;
  width:min(620px,100%);
  height:500px;
  margin:24px 0 30px;
  display:block;
  overflow:visible;
}

/* Existing frames and shadows remain */
.nextgen-photos img{
  position:absolute;
  display:block;
  border:5px solid #fff;
  outline:1px solid #d8e5ef;
  box-shadow:0 10px 24px rgba(14,39,66,.14);
}

/* Back image: full height visible, including the complete 3 mm annotation.
   The source itself is already cropped only from left and right. */
.nextgen-photos .overview{
  left:0;
  top:0;
  width:360px;
  height:470px;
  object-fit:contain;
  object-position:center center;
  background:#eef3f6;
  z-index:1;
}

/* Front image: larger, but overlaps only a small lower-right corner */
.nextgen-photos .micro{
  left:320px;
  top:285px;
  width:340px;
  height:205px;
  object-fit:cover;
  object-position:center 58%;
  z-index:2;
}

@media(max-width:1000px){
  .nextgen-photos{
    width:min(570px,100%);
    height:455px;
  }
  .nextgen-photos .overview{
    width:330px;
    height:430px;
  }
  .nextgen-photos .micro{
    left:295px;
    top:265px;
    width:310px;
    height:185px;
  }
}

@media(max-width:760px){
  .nextgen-photos{
    width:100%;
    height:380px;
  }
  .nextgen-photos .overview{
    width:58%;
    height:355px;
  }
  .nextgen-photos .micro{
    left:52%;
    top:220px;
    width:52%;
    height:150px;
  }
}


/* v10 — adjust only the two microstructure image sizes and overlap */
.nextgen-photos{
  position:relative;
  width:min(680px,100%);
  height:470px;
  margin:24px 0 30px;
  display:block;
  overflow:visible;
}

/* Rear photo: slightly smaller; full vertical content and 3 mm label remain visible */
.nextgen-photos .overview{
  left:0;
  top:0;
  width:325px;
  height:425px;
  object-fit:contain;
  object-position:center center;
  background:#eef3f6;
  z-index:1;
}

/* Front photo: larger; overlaps only a narrow lower-right edge of the rear photo */
.nextgen-photos .micro{
  left:300px;
  top:205px;
  width:400px;
  height:245px;
  object-fit:cover;
  object-position:center 58%;
  z-index:2;
}

@media(max-width:1000px){
  .nextgen-photos{
    width:min(620px,100%);
    height:435px;
  }
  .nextgen-photos .overview{
    width:300px;
    height:395px;
  }
  .nextgen-photos .micro{
    left:278px;
    top:195px;
    width:365px;
    height:225px;
  }
}

@media(max-width:760px){
  .nextgen-photos{
    width:100%;
    height:360px;
  }
  .nextgen-photos .overview{
    width:52%;
    height:325px;
  }
  .nextgen-photos .micro{
    left:49%;
    top:178px;
    width:58%;
    height:165px;
  }
}


/* v11 */
.nextgen .intro{padding-top:18px!important;padding-bottom:10px!important;}
.nextgen-photos{
  margin-top:8px!important;
  margin-bottom:6px!important;
  width:min(620px,100%)!important;
  height:430px!important;
}
.nextgen-photos .overview{
  width:285px!important;
  height:385px!important;
}
.nextgen-photos .micro{
  left:260px!important;
  top:175px!important;
  width:420px!important;
  height:255px!important;
}


/* v13 — photos directly under the heading, with no large empty gap */
.nextgen .intro{
  align-items:start !important;
}
.nextgen .intro > div:first-child{
  display:flex;
  flex-direction:column;
}
.nextgen-photos{
  margin:12px 0 0 !important;
  width:min(600px,100%) !important;
  height:390px !important;
}
.nextgen-photos .overview{
  width:250px !important;
  height:345px !important;
}
.nextgen-photos .micro{
  left:230px !important;
  top:145px !important;
  width:420px !important;
  height:245px !important;
}

@media(max-width:1000px){
  .nextgen-photos{height:360px !important;}
  .nextgen-photos .overview{
    width:230px !important;
    height:320px !important;
  }
  .nextgen-photos .micro{
    left:210px !important;
    top:135px !important;
    width:385px !important;
    height:225px !important;
  }
}

@media(max-width:760px){
  .nextgen-photos{height:300px !important;}
  .nextgen-photos .overview{
    width:45% !important;
    height:270px !important;
  }
  .nextgen-photos .micro{
    left:41% !important;
    top:128px !important;
    width:63% !important;
    height:165px !important;
  }
}

/* v14 - slightly reduce both photos so they don't overlap the text */
.nextgen-photos{
  width:min(560px,100%) !important;
  height:355px !important;
}
.nextgen-photos .overview{
  width:225px !important;
  height:310px !important;
}
.nextgen-photos .micro{
  left:205px !important;
  top:125px !important;
  width:360px !important;
  height:210px !important;
}

@media(max-width:1000px){
  .nextgen-photos{
    width:min(520px,100%) !important;
    height:330px !important;
  }
  .nextgen-photos .overview{
    width:210px !important;
    height:290px !important;
  }
  .nextgen-photos .micro{
    left:190px !important;
    top:118px !important;
    width:335px !important;
    height:195px !important;
  }
}


/* Final CTA replacement */
.contact-cta{
  padding:88px clamp(40px,7vw,110px) 82px;
  text-align:center;
  color:#fff;
  background:linear-gradient(115deg,#071b3a,#0b3e78);
}
.contact-cta-inner{
  max-width:1040px;
  margin:0 auto;
}
.contact-cta-over{
  margin:0 0 30px;
  color:#42b9ff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.contact-cta h2{
  margin:0;
  font-size:clamp(56px,6vw,92px);
  font-weight:300;
  line-height:.92;
  letter-spacing:-.035em;
}
.contact-cta-text{
  max-width:850px;
  margin:40px auto 42px;
  color:#c3d5e8;
  font-size:18px;
  line-height:1.7;
}
.contact-cta-button{
  min-height:64px;
  padding:0 32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#2388ef;
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.contact-cta-button:hover{
  background:#1678db;
}
@media(max-width:760px){
  .contact-cta{
    padding:64px 24px 58px;
  }
  .contact-cta h2{
    font-size:clamp(44px,13vw,64px);
  }
  .contact-cta-text{
    margin:30px auto 34px;
    font-size:16px;
  }
}

/* Smaller final CTA */
.contact-cta{
  padding:60px clamp(40px,6vw,90px) 56px !important;
}
.contact-cta-over{
  margin-bottom:18px !important;
  font-size:11px !important;
}
.contact-cta h2{
  font-size:clamp(44px,5vw,72px) !important;
  line-height:.95 !important;
}
.contact-cta-text{
  max-width:760px !important;
  margin:24px auto 28px !important;
  font-size:16px !important;
  line-height:1.6 !important;
}
.contact-cta-button{
  min-height:52px !important;
  padding:0 28px !important;
  font-size:11px !important;
}

.contact-hero{min-height:500px;position:relative;display:flex;align-items:center;overflow:hidden;padding:64px clamp(40px,7vw,110px);color:#fff;background:radial-gradient(circle at 78% 45%,#0a4a96,#061f42 25%,#03142e 48%,#020b1b 78%)}
.contact-hero:before{content:"";position:absolute;inset:0;opacity:.28;background-image:linear-gradient(rgba(85,190,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(85,190,255,.09) 1px,transparent 1px);background-size:52px 52px}
.contact-hero-copy{width:min(760px,68%);position:relative;z-index:2}
.contact-hero h1{margin:0;font-size:clamp(64px,7vw,108px);line-height:.9;letter-spacing:-.055em}
.contact-hero-copy>p:last-child{max-width:650px;margin-top:30px;color:#adc3dc;font-size:16px;line-height:1.75}
.contact-orbit{width:min(34vw,420px);aspect-ratio:1;position:absolute;right:5vw;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(82,200,255,.2);border-radius:50%;box-shadow:0 0 90px rgba(22,135,248,.18),inset 0 0 60px rgba(22,135,248,.08)}
.contact-orbit:before{content:"";width:72%;height:72%;position:absolute;border:1px solid rgba(82,200,255,.22);border-radius:50%}
.contact-orbit span,.contact-orbit strong{z-index:1;color:#7795b6;font-size:22px;text-transform:uppercase}
.contact-orbit strong{color:#fff;font-size:47px;text-shadow:0 0 25px var(--c)}
.contact-orbit i{width:34px;height:1px;z-index:1;background:rgba(82,200,255,.48)}
.contact-orbit small{position:absolute;bottom:22%;color:var(--c);font-size:8px;letter-spacing:.18em}
.contact-content{padding:72px clamp(40px,7vw,110px) 80px;background:var(--p)}
.contact-heading{display:grid;grid-template-columns:1fr .85fr;gap:6vw;margin-bottom:46px}
.contact-heading .over{grid-column:1/-1;margin-bottom:-4px}
.contact-heading h2,.message-copy h2,.contact-footer h2{margin:0;font-size:clamp(40px,4.3vw,66px);line-height:1.02;letter-spacing:-.04em}
.contact-heading>p:last-child{margin:0;color:var(--m);font-size:15px;line-height:1.8}
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--l);border-left:1px solid var(--l)}
.location-card{position:relative;min-height:475px;padding:34px;border-right:1px solid var(--l);border-bottom:1px solid var(--l);background:#fff}
.location-number{margin:0 0 42px;color:var(--b);font-size:14px;font-weight:700}
.location-card h3{margin:0 0 7px;font-size:31px;letter-spacing:-.025em}
.location-card>strong{display:block;color:#718398;font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.location-card address{margin:34px 0;color:#314c68;font-style:normal;font-size:15px;line-height:1.8}
.contact-lines{border-top:1px solid var(--l)}
.contact-lines a{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--l);color:#0754b8;font-size:13px}
.contact-lines span{color:#7d8fa3;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.message-section{padding:76px clamp(40px,7vw,110px) 84px;display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;color:#fff;background:linear-gradient(125deg,#020b1b,#062b59 73%,#0750a1)}
.message-copy h2{color:#fff}
.message-copy>p:last-child{color:#aec2d8;font-size:14px;line-height:1.8}
.contact-form{display:flex;flex-direction:column;gap:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form label{display:flex;flex-direction:column;gap:9px}
.contact-form label>span{color:#9fc2df;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.contact-form input,.contact-form textarea{width:100%;padding:14px 15px;border:1px solid rgba(135,190,232,.35);outline:none;color:#fff;background:rgba(255,255,255,.06);font:inherit}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--c);background:rgba(255,255,255,.1)}
.contact-form textarea{resize:vertical}
.contact-form button{min-height:56px;width:max-content;margin-top:8px;padding:0 30px;border:0;color:#fff;background:var(--b);font-size:11px;font-weight:700;letter-spacing:.14em;cursor:pointer}
.contact-form button:hover{background:#0f73d8}
.honeypot{position:absolute!important;left:-10000px!important}
.contact-footer{padding:62px clamp(40px,7vw,110px);display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;color:#fff;background:#06162f}
.contact-footer h2{font-size:clamp(36px,3.8vw,58px)}
.contact-footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.contact-footer-links a{color:var(--c);font-size:20px}
@media(max-width:1000px){.contact-grid,.message-section{grid-template-columns:1fr}.message-section{gap:42px}}
@media(max-width:760px){
.contact-hero{min-height:560px;padding:54px 24px;align-items:flex-start}
.contact-hero-copy{width:100%}
.contact-orbit{width:270px;right:-80px;bottom:-70px;opacity:.62}
.contact-content,.message-section,.contact-footer{padding:54px 24px 58px}
.contact-heading,.contact-footer{grid-template-columns:1fr;gap:26px}
.contact-grid,.form-row{grid-template-columns:1fr}
.location-card{min-height:auto}
.contact-footer-links{align-items:flex-start}
}

/* Contact page v2 */
.contact-hero{
  min-height:310px !important;
  padding:50px clamp(40px,7vw,110px) !important;
  align-items:center !important;
}
.contact-hero-copy{
  width:min(760px,100%) !important;
}
.contact-hero h1{
  font-size:clamp(54px,6vw,86px) !important;
}
.contact-hero-copy>p:last-child{
  margin-top:20px !important;
  max-width:720px !important;
}

.contact-content{
  padding:64px clamp(40px,7vw,110px) 74px !important;
}
.contact-heading{
  margin-bottom:34px !important;
}
.contact-heading h2{
  font-size:clamp(38px,3.8vw,56px) !important;
}

.office-row{
  display:grid;
  grid-template-columns:minmax(360px,.8fr) minmax(520px,1.2fr);
  gap:48px;
  align-items:stretch;
  padding:42px 0;
  border-top:1px solid var(--l);
}
.office-row:last-child{
  border-bottom:1px solid var(--l);
}
.office-info{
  padding:20px 0;
}
.office-kicker{
  margin:0 0 22px;
  color:var(--b);
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.office-info h3{
  margin:0;
  font-size:clamp(36px,3.5vw,54px);
  line-height:1;
  letter-spacing:-.035em;
}
.office-info address{
  margin:28px 0 30px;
  color:#314c68;
  font-style:normal;
  font-size:16px;
  line-height:1.8;
}
.office-contact{
  border-top:1px solid var(--l);
}
.office-contact a{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:14px 0;
  border-bottom:1px solid var(--l);
  color:#0754b8;
  font-size:13px;
}
.office-contact span{
  color:#7d8fa3;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.office-map{
  min-height:360px;
  border:1px solid var(--l);
  background:#eaf1f6;
  overflow:hidden;
}
.office-map iframe{
  width:100%;
  height:100%;
  min-height:360px;
  border:0;
  display:block;
}
.office-row-reverse .office-info{
  order:1;
}
.office-row-reverse .office-map{
  order:2;
}

@media(max-width:1000px){
  .office-row{
    grid-template-columns:1fr;
    gap:24px;
  }
}
@media(max-width:760px){
  .contact-hero{
    min-height:280px !important;
    padding:44px 24px !important;
  }
  .contact-content{
    padding:48px 24px 58px !important;
  }
  .office-row{
    padding:34px 0;
  }
  .office-map,.office-map iframe{
    min-height:280px;
  }
  .office-contact a{
    flex-direction:column;
    gap:5px;
  }
}

/* WordPress editable-template compatibility */
html, body { width:100%; min-height:100%; }
body { margin:0 !important; }
.passat-template-main.page.page-shell { min-height:100vh; }
body.admin-bar .side, body.admin-bar .sidebar { top:32px; }
@media(max-width:782px){ body.admin-bar .side, body.admin-bar .sidebar { top:46px; } }
