/* OKLUS V12.0.0 - sitewide rhythm, visual polish and interaction consistency */

/* 1. Reduce oversized content-section gaps without compressing heroes or image-led breaks. */
main[class^="oklus-"] > section:not([class*="hero"]):not([class*="image-break"]):not([class*="quote"]):not([class*="footer"]):not([class*="statement"]):not([class*="proof"]):not([class*="integrated"]):not([class*="cta"]){
  padding-top:clamp(66px,6.2vw,96px)!important;
  padding-bottom:clamp(66px,6.2vw,96px)!important;
}
@media(max-width:820px){
  main[class^="oklus-"] > section:not([class*="hero"]):not([class*="image-break"]):not([class*="quote"]):not([class*="footer"]):not([class*="statement"]):not([class*="proof"]):not([class*="integrated"]):not([class*="cta"]){padding-top:58px!important;padding-bottom:58px!important}
}

/* Home: carry the established morph language into the small hero statement. */
.oh1-eyebrow--morph{
  display:inline-block!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  background-image:linear-gradient(92deg,#5c98cb 0%,#7cb5dd 15%,#8f8ada 31%,#a37ce0 47%,#7f91c8 63%,#3e8f59 81%,#5c98cb 100%)!important;
  background-size:300% 100%!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  animation:oklusV12Morph 9s ease-in-out infinite!important;
}
@keyframes oklusV12Morph{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}

/* About page: stop the three route images feeling vertically stretched. */
.oa7-route__grid{min-height:0!important}
.oa7-route__grid article{min-height:clamp(500px,38vw,620px)!important;aspect-ratio:auto!important}
.oa7-route__grid img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important}
.oa7-origin__visual,.oa7-founder__portrait{height:auto!important}
.oa7-founder__portrait img{height:auto!important;object-fit:contain!important}
@media(max-width:820px){.oa7-route__grid article{min-height:500px!important}}

/* Contact: 12 routes balance as a clean 4 x 3 system. */
.oc19-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:stretch}
.oc19-card-grid article{height:100%;min-height:285px!important}
@media(max-width:1180px){.oc19-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:860px){.oc19-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.oc19-card-grid{grid-template-columns:1fr!important}}

/* Routes: use the new finished visual rather than intersecting CSS strokes. */
.or8-network__map--visual{position:relative;min-height:0!important;margin:0!important;padding:14px!important;background:#f7faf8!important;border:1px solid #d9e3dd!important;border-radius:34px!important;overflow:hidden!important;box-shadow:0 24px 65px rgba(20,38,29,.08)!important}
.or8-network__map--visual:before,.or8-network__map--visual:after{display:none!important}
.or8-network__map--visual img{display:block;width:100%;height:auto;border-radius:24px;background:#fff}
.or8-network__map--visual figcaption{padding:13px 8px 2px;color:#78827c;font-size:12px;line-height:1.55}

/* Pilot buttons: keep high-contrast white text on hover/focus. */
.op20-btn--dark,.op20-btn--dark:hover,.op20-btn--dark:focus,.op20-btn--dark:active,
.orp31-btn--dark,.orp31-btn--dark:hover,.orp31-btn--dark:focus,.orp31-btn--dark:active{
  color:#fff!important;-webkit-text-fill-color:#fff!important
}

/* Living media: keep the new interface and care framework crisp and white. */
.olm14-console__image{min-height:0!important;background:#fff!important;padding:0!important}
.olm14-console__image>img{position:relative!important;inset:auto!important;display:block!important;width:100%!important;height:auto!important;min-height:0!important;object-fit:contain!important;object-position:center!important;padding:0!important;background:#fff!important}
.olm14-console__image:after{background:linear-gradient(0deg,rgba(4,12,7,.72),rgba(4,12,7,.05) 46%,transparent 68%)!important}
.olm14-care__visual{min-height:0!important;background:#fff!important;aspect-ratio:11/12.8!important}
.olm14-care__visual>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#fff!important}
.olm14-care__visual:after{background:linear-gradient(0deg,rgba(255,255,255,.98),rgba(255,255,255,.15) 35%,transparent 54%)!important}
.olm14-care__overlay{background:rgba(255,255,255,.94)!important;border-color:#dce5df!important;box-shadow:0 14px 35px rgba(20,38,29,.08)!important}
.olm14-care__overlay strong{color:#111614!important}
.olm14-care__overlay p{color:#5b665f!important}

/* Living-media urban cooling section. */
.olm14-cooling{background:linear-gradient(145deg,#f8faf8,#eef4f0)}
.olm14-cooling__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.olm14-cooling__grid article{min-height:270px;padding:28px;border:1px solid #dbe5de;border-radius:25px;background:#fff;box-shadow:0 16px 38px rgba(20,38,29,.045)}
.olm14-cooling__grid span{display:block;margin-bottom:54px;color:#5f8d50;font-size:10px;font-weight:850;letter-spacing:.16em}
.olm14-cooling__grid h3{margin:0 0 12px;font-size:24px;line-height:1.12;letter-spacing:-.035em}
.olm14-cooling__grid p{margin:0;color:#69736d;font-size:14px;line-height:1.6}
.olm14-cooling__note{margin:22px 0 0!important;color:#7b8580!important;font-size:12.5px!important;line-height:1.6!important}
@media(max-width:1100px){.olm14-cooling__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.olm14-cooling__grid{grid-template-columns:1fr}.olm14-cooling__grid article{min-height:0}.olm14-cooling__grid span{margin-bottom:34px}}

/* Biodiversity gallery: five-image layout fills the former empty lower-right area. */
.ob1-photo-grid{grid-template-columns:1.34fr .83fr .83fr!important;grid-template-rows:repeat(2,minmax(250px,1fr))!important;align-items:stretch}
.ob1-photo-grid figure{min-height:0!important;aspect-ratio:auto!important}
.ob1-photo-grid__lead{grid-column:1!important;grid-row:1/3!important;min-height:0!important}
.ob1-photo-grid__bee{grid-column:3!important;grid-row:2!important}
.ob1-photo-grid img{object-fit:cover!important;object-position:center!important}
@media(max-width:1220px){.ob1-photo-grid{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important}.ob1-photo-grid__lead{grid-column:1/3!important;grid-row:auto!important;min-height:520px!important}.ob1-photo-grid__bee{grid-column:auto!important;grid-row:auto!important}.ob1-photo-grid figure{min-height:360px!important}}
@media(max-width:820px){.ob1-photo-grid{grid-template-columns:1fr!important}.ob1-photo-grid__lead{grid-column:auto!important;min-height:460px!important}.ob1-photo-grid figure{min-height:350px!important}}

/* Species research CTA: stay on one line wherever the viewport allows it. */
.oh1-srn-banner>a,.oh1-bio-feature__meta a,.ob1-srn-feature__grid .ob1-btn,.srn-actions .srn-btn{
  white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important
}
@media(max-width:520px){
  .oh1-srn-banner>a,.oh1-bio-feature__meta a,.ob1-srn-feature__grid .ob1-btn,.srn-actions .srn-btn{font-size:12px!important;padding-left:14px!important;padding-right:14px!important;letter-spacing:-.01em!important}
}
@media(max-width:380px){.ob1-srn-feature__grid .ob1-btn{font-size:11.2px!important;padding-left:10px!important;padding-right:10px!important}}

/* General image guard against accidental theme/page-builder stretching. */
main[class^="oklus-"] img{max-width:100%}
main[class^="oklus-"] figure img{object-fit:cover}

@media(prefers-reduced-motion:reduce){.oh1-eyebrow--morph{animation:none!important;background-position:48% 50%!important}}

/* Wild Bee Observatory photo - visible, contextual, and clearly illustrative. */
.srn-bee-visual{grid-column:1/-1;position:relative;margin:0 0 10px;min-height:360px;max-height:560px;border-radius:28px;overflow:hidden;background:#18211b}
.srn-bee-visual img{display:block;width:100%;height:100%;min-height:360px;max-height:560px;object-fit:cover;object-position:center 45%}
.srn-bee-visual figcaption{position:absolute;left:20px;right:20px;bottom:20px;padding:13px 15px;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:rgba(7,16,11,.72);backdrop-filter:blur(10px);color:#fff;font-size:12px;line-height:1.5}
@media(max-width:680px){.srn-bee-visual,.srn-bee-visual img{min-height:330px}.srn-bee-visual figcaption{position:relative;left:auto;right:auto;bottom:auto;border-radius:0;background:#101914}}


/* V12.0.4 extra rhythm polish for section spacing and morph continuity */
main[class^="oklus-"] h1 span[class*="morph"],
main[class^="oklus-"] h2 span[class*="morph"],
main[class^="oklus-"] h3 span[class*="morph"]{display:inline!important;white-space:normal!important;overflow:visible!important}
main[class^="oklus-"] figure{margin-bottom:0!important}
main[class^="oklus-"] .srn-heading-row,
main[class^="oklus-"] .op2-intro,
main[class^="oklus-"] .ob1-intro{row-gap:16px!important}

/* V12.1 reusable technical-assurance bridge */
.oklus-tech-link{padding:0!important;margin:0!important;background:#f3f7f4}.oklus-tech-link__inner{width:min(1220px,calc(100% - 48px));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:26px 0;border-top:1px solid rgba(20,38,28,.12);border-bottom:1px solid rgba(20,38,28,.12)}.oklus-tech-link__inner div{min-width:0}.oklus-tech-link span{display:block;margin-bottom:6px;color:#347055;font-size:10px;font-weight:800;letter-spacing:.16em}.oklus-tech-link strong{display:block;max-width:760px;color:#142019;font-size:clamp(18px,2vw,24px);line-height:1.35;letter-spacing:-.02em}.oklus-tech-link a{flex:0 0 auto;color:#153326!important;text-decoration:none!important;font-size:14px;font-weight:780;white-space:nowrap}
@media(max-width:760px){.oklus-tech-link__inner{width:min(100% - 32px,1220px);align-items:flex-start;flex-direction:column;gap:14px}.oklus-tech-link a{white-space:normal}}

/* V12.2.1 home-page refinements: left-aligned section headers, cleaner spacing, stronger CTA contrast. */
.oh1-forward-shell,.oh1-development-shell{width:min(1200px,90vw)!important;margin-inline:auto!important}
.oh1-forward-head,.oh1-development-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  justify-items:start!important;
  align-items:start!important;
  gap:14px!important;
  max-width:780px!important;
  margin:0 0 34px!important;
  text-align:left!important;
}
.oh1-forward-head .oh1-eyebrow,.oh1-development-head .oh1-eyebrow,
.oh1-forward-head h2,.oh1-development-head h2,
.oh1-mission-compact__copy .oh1-eyebrow,.oh1-mission-compact__copy h2{
  max-width:780px!important;
  text-align:left!important;
}
.oh1-forward-head h2,.oh1-development-head h2,.oh1-mission-compact__copy h2{ text-wrap:balance!important }
.oh1-forward-grid{margin-top:24px!important;gap:24px!important;align-items:stretch!important}
.oh1-forward-grid>a{min-height:218px!important;padding:30px 28px!important}

.oh1-bio-feature{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.95fr)!important;
  gap:36px!important;
  align-items:center!important;
  margin-top:38px!important;
  padding:32px 36px!important;
}
.oh1-bio-feature__copy,.oh1-bio-feature__meta{align-self:center!important}
.oh1-bio-feature__copy p{max-width:680px!important}
.oh1-bio-feature__meta{
  display:grid!important;
  gap:14px!important;
  justify-items:start!important;
  align-content:center!important;
}
.oh1-bio-feature__meta small{line-height:1.65!important}

.oh1-mission-compact{
  display:grid!important;
  grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr)!important;
  gap:58px!important;
  align-items:start!important;
}
.oh1-mission-compact__copy{max-width:760px!important}
.oh1-mission-compact__points{
  display:grid!important;
  gap:0!important;
  align-content:start!important;
  padding-top:34px!important;
}
.oh1-mission-compact__points span{
  position:relative!important;
  display:block!important;
  padding:20px 0 20px 42px!important;
}
.oh1-mission-compact__points span:before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:14px;
  height:14px;
  border-radius:50%;
  transform:translateY(-50%);
  background:#9bcf7d;
  box-shadow:0 0 0 5px rgba(155,207,125,.18);
}
.oh1-mission-compact__points a,
.oh1-mission-compact__points a:hover,
.oh1-mission-compact__points a:focus,
.oh1-mission-compact__points a:active{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:18px!important;
  min-height:62px!important;
  padding:0 32px!important;
  border-radius:999px!important;
  background:#113a28!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration:none!important;
  font-weight:780!important;
  box-shadow:0 16px 38px rgba(20,38,29,.14)!important;
}
.oh1-mission-compact__points a b{color:inherit!important;-webkit-text-fill-color:inherit!important}

@media(max-width:980px){
  .oh1-bio-feature{grid-template-columns:1fr!important;gap:20px!important;padding:26px 24px!important}
  .oh1-mission-compact{grid-template-columns:1fr!important;gap:28px!important}
  .oh1-mission-compact__points{padding-top:6px!important}
}
@media(max-width:760px){
  .oh1-forward-head,.oh1-development-head{margin-bottom:26px!important}
  .oh1-forward-grid>a{min-height:0!important;padding:24px 22px!important}
}
