:root{--green:#24f38b;--muted:#a5afc1;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#000;color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.green{color:var(--green)}.eyebrow{margin:0;color:#62f5ae;font-size:10px;letter-spacing:2.3px;font-weight:800}.section-shell{padding-left:clamp(20px,4vw,56px);padding-right:clamp(20px,4vw,56px)}section{scroll-margin-top:80px}.topbar{position:sticky;top:0;z-index:20;background:rgba(12,85,49,.48);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:16px clamp(20px,4vw,56px);display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-words strong{display:block;font-size:16px;line-height:1.2}.brand-words em{font-style:normal;color:var(--green)}.brand-words small{display:block;margin-top:3px;color:var(--muted);font-size:8px;letter-spacing:.2em}.topbar nav{display:flex;flex-wrap:wrap;gap:clamp(9px,2vw,24px);justify-content:flex-end}.topbar nav a{font-size:12px;font-weight:650;transition:color .2s}.topbar nav a:hover,.topbar nav a:focus-visible{color:var(--green)}.logo-frame{display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(145deg,#007b67,#00ae6b);flex-shrink:0}.logo-frame img{width:100%;height:100%;object-fit:contain}.logo-small{width:40px;height:40px;border-radius:11px}.logo-hero{width:208px;height:208px;border-radius:32px;box-shadow:0 0 70px #00f58b55,0 0 120px #00f58b22}.hero{padding-top:88px;padding-bottom:88px}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:start}.hero h1{font-size:clamp(42px,6vw,72px);line-height:1.04;letter-spacing:-.055em;margin:22px 0 0;font-weight:900}.intro{color:var(--muted);font-size:14px;line-height:1.8;margin:25px 0 0;max-width:450px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;background:#087e53;border-radius:10px;padding:13px 19px;font-size:12px;font-weight:800;transition:transform .22s ease}.btn:hover,.btn:focus-visible{transform:scale(1.065)}.btn-alt{background:#111a29;border:1px solid #47658c}.people{display:flex;align-items:center;gap:13px;margin-top:36px;color:var(--muted);font-size:12px}.mini-avatars{display:flex;padding-left:2px}.mini-avatars span{width:32px;height:32px;border-radius:50%;border:2px solid #0b2115;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;margin-left:-2px;color:#fff}.mini-avatars span:nth-child(1){background:#124d30}.mini-avatars span:nth-child(2){background:#263c79}.mini-avatars span:nth-child(3){background:#58347d}.hero-logo-column{display:flex;align-items:center;justify-content:center;align-self:stretch;padding:30px 0 60px}.glowline{height:2px;background:linear-gradient(90deg,transparent,#24f38b 22%,#24f38b 78%,transparent);box-shadow:0 0 15px #24f38b66}.section-pad{padding-top:66px;padding-bottom:66px}h2{font-size:clamp(30px,4vw,40px);font-weight:900;line-height:1.15;margin:13px 0 0;letter-spacing:-.035em}.section-subtitle{color:var(--muted);font-size:14px;margin:16px 0 36px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{border:1px solid var(--accent);border-radius:17px;overflow:hidden;background:#0a0e17;min-width:0;transition:transform .25s ease}.card:hover{transform:translateY(-6px)}.card-art{height:180px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 100%,var(--bloom),var(--deep) 75%);display:flex;flex-direction:column}.card-label{height:43px;flex-shrink:0;display:flex;align-items:center;padding:0 17px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:1.3px}.card-center{flex:1;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.card-icon{width:94px;height:94px;border-radius:25px;display:flex;align-items:center;justify-content:center;color:#fff;border:2px solid var(--accent);background:linear-gradient(145deg,var(--bloom),var(--deep));box-shadow:0 10px 32px #0005;transform:translateY(-9px) rotate(-7deg);transition:transform .25s ease;overflow:hidden}.card:hover .card-icon{transform:translateY(-9px) rotate(0) scale(1.08)}.card-icon svg{width:48px;height:48px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}.card-icon.initial{font-size:48px;font-weight:900}.card-icon img{width:100%;height:100%;object-fit:cover}.art-number{position:absolute;bottom:-22px;right:9px;font-size:100px;line-height:1;font-weight:900;color:#ffffff0b;pointer-events:none}.card-body{padding:20px}.card-body h3{font-size:21px;font-weight:900;margin:0}.card-body>p:not(.role){color:var(--muted);font-size:12px;line-height:1.85;margin:12px 0 24px}.project-link{display:flex;align-items:center;justify-content:space-between;color:var(--accent);font-size:13px;font-weight:800;letter-spacing:.02em}.project-link:not([href]){cursor:default;opacity:.85}.project-link[href]:hover{text-decoration:underline}.section-heading-centered{text-align:center}.section-heading-centered .section-subtitle{margin-bottom:40px}.team-body .role{font-size:10px;font-weight:850;letter-spacing:.16em;color:var(--accent);margin:0 0 9px}.team-body h3{font-size:24px}.thin-rule{height:1px;background:color-mix(in srgb,var(--accent) 35%,transparent);margin:16px 0}.team-body>p:not(.role){margin:0;min-height:67px}.team-footer{display:flex;justify-content:space-between;margin-top:24px;color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.03em}.about{padding-top:90px;padding-bottom:90px;text-align:center}.about-inner{max-width:670px;margin:auto}.about h2{margin-top:18px}.about-inner>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:2;margin:24px auto 0}.about strong{display:block;color:#89baff;font-size:12px;margin-top:28px}.footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;padding-top:27px;padding-bottom:27px;color:var(--muted);font-size:12px}.footer strong{color:white;font-size:16px}.footer a{color:var(--green);font-weight:800}.footer a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(max-width:760px){.card-grid{grid-template-columns:1fr;max-width:490px;margin-left:auto;margin-right:auto}.hero{padding-top:70px;padding-bottom:70px}.hero-grid{gap:12px}.hero h1{font-size:clamp(38px,6vw,58px)}}
@media(max-width:620px){.topbar{padding:13px 17px;gap:9px}.topbar nav{gap:9px}.topbar nav a{font-size:10px}.brand-words strong{font-size:13px}.brand-words small{font-size:7px}.logo-small{width:36px;height:36px}.hero-grid{grid-template-columns:1fr}.hero-logo-column{padding:34px 0 8px}.hero{padding-top:66px;padding-bottom:66px}.people{align-items:flex-start}.footer{justify-content:center;text-align:center}.section-pad{padding-top:60px;padding-bottom:60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Project detail pages: white text on dark surfaces, coloured accents. */
.project-page{color:#fff}.project-page h1,.project-page h2,.project-page h3,.project-page .topbar,.project-page .btn{color:#fff}
.detail-hero{padding-top:64px;padding-bottom:76px;background:radial-gradient(ellipse at 75% 55%,var(--detail-bloom) 0%,var(--detail-deep) 43%,#000 84%)}
.detail-crumb,.detail-eyebrow{color:var(--detail-accent);font-size:10px;font-weight:850;letter-spacing:2px}.detail-crumb{margin-bottom:28px}.detail-crumb a:hover{text-decoration:underline}
.detail-hero-grid{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:36px}.detail-pill{display:inline-flex;border:1px solid var(--detail-accent);background:#ffffff13;border-radius:99px;padding:8px 13px;font-size:10px;letter-spacing:1px;font-weight:850;color:#fff}
.detail-hero h1{font-size:clamp(43px,7vw,78px);font-weight:950;letter-spacing:-.06em;line-height:1.08;margin:20px 0}.detail-hero h1 span,.detail-section h2 span{color:var(--detail-accent)}
.detail-description{color:#c3cfdd;font-size:14px;line-height:1.9;max-width:690px}.detail-hero .detail-description{max-width:490px}.detail-art{display:flex;justify-content:center;padding:35px 10px}.detail-badge{width:136px;height:136px;display:grid;place-items:center;border:2px solid var(--detail-accent);border-radius:32px;background:linear-gradient(140deg,var(--detail-bloom),var(--detail-deep));transform:rotate(-7deg);box-shadow:0 0 48px var(--detail-bloom);overflow:hidden}.detail-badge svg{width:72px;height:72px;stroke:#fff;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.detail-badge img{width:100%;height:100%;object-fit:cover}
.detail-section{padding-top:70px;padding-bottom:70px}.detail-section h2{margin:14px 0 20px;font-size:clamp(29px,5vw,41px)}.detail-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}.detail-feature{min-width:0;background:#09111b;border:1px solid #294660;border-radius:15px;padding:22px;transition:transform .2s,border-color .2s}.detail-feature:hover{transform:translateY(-5px);border-color:var(--detail-accent)}.feature-symbol{font-size:29px;line-height:1;color:var(--detail-accent);margin-bottom:18px}.detail-feature h3{font-size:16px;font-weight:850;margin:0 0 11px;color:#fff}.detail-feature p{color:#c3cfdd;font-size:12px;line-height:1.8;margin:0}.detail-note{font-size:11px;color:#98a5b8;margin-top:22px}.detail-cta{text-align:center}.detail-cta .detail-description{margin:0 auto 24px}.detail-cta .actions{justify-content:center}.team-profile{display:inline-block;margin-top:18px;color:var(--accent);font-size:12px;font-weight:800}.team-profile:hover{text-decoration:underline}[hidden]{display:none!important}
@media(max-width:700px){.detail-hero-grid{grid-template-columns:1fr}.detail-art{justify-content:flex-start;padding:26px 12px 0}.detail-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.detail-feature-grid{grid-template-columns:1fr}.detail-hero{padding-top:45px;padding-bottom:55px}}

/* Show invite/support buttons before URLs are configured, without dead links. */
a[data-always-show][aria-disabled='true']{opacity:.65;cursor:not-allowed;pointer-events:none}

/* Responsive viewport layout — scales without clipping content. */
html{scroll-padding-top:clamp(70px,9vh,110px)}
body{min-width:0;overflow-x:clip}
main,section,.section-shell,.hero-grid,.detail-hero-grid,.card-grid,.detail-feature-grid{min-width:0}
.topbar{min-height:clamp(62px,8vh,82px);row-gap:12px}
.topbar nav{min-width:0}
.hero{min-height:clamp(510px,calc(100svh - 82px),900px);display:flex;flex-direction:column;justify-content:center;padding-block:clamp(50px,7vh,95px)}
.hero-grid{width:100%;align-items:center}
.hero-logo-column{padding-block:clamp(10px,3vh,42px)}
.logo-hero{width:clamp(125px,19vw,225px);height:clamp(125px,19vw,225px)}
.section-pad,.about,.detail-section{padding-block:clamp(50px,7vh,95px)}
.section-pad,.about{min-height:min(650px,85svh);display:flex;flex-direction:column;justify-content:center}
.card-grid{width:100%}
.card-art{height:clamp(145px,19vw,190px)}
.detail-hero{min-height:clamp(500px,calc(100svh - 82px),880px);display:flex;flex-direction:column;justify-content:center;padding-block:clamp(50px,7vh,85px)}
.detail-hero-grid{width:100%}
.detail-section{min-height:min(480px,70svh);display:flex;flex-direction:column;justify-content:center}
.detail-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
.detail-feature{overflow-wrap:anywhere}
.detail-badge{width:clamp(110px,13vw,165px);height:clamp(110px,13vw,165px)}
.detail-badge svg{max-width:55%;max-height:55%}
.btn{max-width:100%;text-align:center;white-space:normal}
@media(min-width:1500px){.section-shell{padding-inline:max(56px,calc((100vw - 1450px)/2))}.topbar{padding-inline:max(56px,calc((100vw - 1450px)/2))}.hero h1{font-size:clamp(64px,5vw,94px)}.detail-hero h1{font-size:clamp(70px,5vw,100px)}.card-grid{gap:22px}.detail-feature-grid{gap:20px}}
@media(max-width:950px){.detail-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid{gap:12px}.card-body{padding:16px}.hero-grid{gap:20px}}
@media(max-width:760px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.hero{min-height:0}.section-pad,.about{min-height:0}.detail-section{min-height:0}.detail-hero{min-height:0}}
@media(max-width:620px){.topbar{position:relative;align-items:flex-start}.topbar nav{width:100%;justify-content:flex-start;gap:12px}.topbar nav a{font-size:12px}.hero-grid,.detail-hero-grid{grid-template-columns:1fr}.hero-logo-column{padding:25px 0 0}.hero{padding-block:55px}.detail-hero{padding-block:55px}.detail-art{justify-content:center;padding:20px 0 0}.card-grid{grid-template-columns:1fr;max-width:490px;margin-inline:auto}.detail-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-feature{padding:17px}.section-pad,.about,.detail-section{padding-block:55px}section{scroll-margin-top:18px}}
@media(max-width:430px){.detail-feature-grid{grid-template-columns:1fr}.actions{gap:10px}.actions .btn{flex:1 1 145px}.detail-hero h1{font-size:clamp(38px,12vw,55px);overflow-wrap:anywhere}.hero h1{font-size:clamp(36px,11vw,52px)}.section-shell{padding-inline:18px}.detail-badge{width:122px;height:122px}}
@media(max-height:620px) and (min-width:621px){.hero,.detail-hero{min-height:0;padding-block:48px}.section-pad,.about,.detail-section{min-height:0;padding-block:48px}}

/* Larger hero artwork on desktop and bot detail pages, responsive on small screens */
.hero-logo-column .logo-hero{width:clamp(220px,30vw,390px);height:clamp(220px,30vw,390px);border-radius:clamp(28px,4vw,52px)}
.detail-art .detail-badge{width:clamp(190px,25vw,320px);height:clamp(190px,25vw,320px);border-radius:clamp(30px,4vw,55px)}
.detail-art .detail-badge svg{width:48%;height:48%;max-width:none;max-height:none}
.detail-art{display:flex;align-items:center;justify-content:center}
@media(max-width:620px){.hero-logo-column .logo-hero{width:clamp(190px,58vw,280px);height:clamp(190px,58vw,280px)}.detail-art .detail-badge{width:clamp(185px,55vw,255px);height:clamp(185px,55vw,255px)}}
.coming-soon{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d4a0ff;color:#fff;background:#5b2a80;border-radius:10px;padding:14px 24px;font-weight:900;font-size:13px;letter-spacing:.08em}

/* Match bot detail hero artwork to the homepage hero logo. */
@media (min-width: 621px) {
  .detail-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 36px; }
  .detail-art { align-self: stretch; padding: clamp(10px,3vh,42px) 0; }
}
.detail-art { display: flex; align-items: center; justify-content: center; }
.detail-art .detail-badge {
  width: clamp(220px,30vw,390px); height: clamp(220px,30vw,390px);
  border-radius: clamp(28px,4vw,52px); transform: none;
  box-shadow: 0 0 70px color-mix(in srgb, var(--detail-accent) 34%, transparent), 0 0 120px color-mix(in srgb, var(--detail-accent) 14%, transparent);
}
@media (max-width:620px) {
  .detail-art { padding: 25px 0 0; }
  .detail-art .detail-badge { width: clamp(190px,58vw,280px); height: clamp(190px,58vw,280px); }
}

/* Bot hero logos match the homepage IV logo: flat, centered and same dimensions. */
.detail-art { display:flex; align-items:center; justify-content:center; align-self:stretch; padding:clamp(10px,3vh,42px) 0; }
.detail-art .detail-badge {
  width:clamp(220px,30vw,390px); height:clamp(220px,30vw,390px);
  border-radius:clamp(28px,4vw,52px);
  transform:none !important; rotate:none !important; translate:none !important;
  border:0; background:linear-gradient(145deg,#007b67,#00ae6b);
  box-shadow:0 0 70px #00f58b55,0 0 120px #00f58b22;
}
.detail-art .detail-badge img {width:100%;height:100%;object-fit:contain;}
@media(max-width:620px){
  .detail-art {padding:25px 0 0;justify-content:center;}
  .detail-art .detail-badge {width:clamp(190px,58vw,280px);height:clamp(190px,58vw,280px);}
}

/* Project hero artwork: same flat position and dimensions as homepage IV */
.detail-hero-grid .detail-art { align-self:stretch; display:flex; align-items:center; justify-content:center; padding:clamp(10px,3vh,42px) 0; }
.detail-hero-grid .detail-art .detail-badge { width:clamp(220px,30vw,390px); height:clamp(220px,30vw,390px); border-radius:clamp(28px,4vw,52px); transform:none!important; rotate:none!important; translate:none!important; border:0; box-shadow:0 0 70px #00f58b55,0 0 120px #00f58b22; }
.detail-hero-grid .detail-art .detail-badge img {width:100%;height:100%;object-fit:contain;}
@media(max-width:620px){.detail-hero-grid .detail-art .detail-badge{width:clamp(190px,58vw,280px);height:clamp(190px,58vw,280px)}}


/* Bot hero artwork matches the homepage IV artwork exactly. */
.detail-hero-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap:36px; }
.detail-art { display:flex; align-items:center; justify-content:center; align-self:stretch; padding:clamp(10px,3vh,42px) 0; }
.detail-art .detail-badge {
  width:clamp(220px,30vw,390px); height:clamp(220px,30vw,390px);
  border-radius:clamp(28px,4vw,52px);
  transform:none !important; rotate:none !important; translate:none !important;
  border:0; box-shadow:0 0 70px #00f58b55,0 0 120px #00f58b22;
}
.detail-art .detail-badge img {width:100%;height:100%;object-fit:contain;}
@media(max-width:700px){.detail-hero-grid{grid-template-columns:1fr}}
@media(max-width:620px){
  .detail-art{justify-content:center;padding:25px 0 0}
  .detail-art .detail-badge{width:clamp(190px,58vw,280px);height:clamp(190px,58vw,280px)}
}

/* Homepage and bot hero images share identical dimensions and edge spacing. */
:root { --hero-image-size: clamp(220px, 30vw, 390px); }
.hero-grid, .detail-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 36px;
  align-items: center;
}
.hero-logo-column, .detail-hero-grid .detail-art {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: clamp(10px, 3vh, 42px) 0;
  min-width: 0;
}
.hero-logo-column .logo-hero, .detail-hero-grid .detail-art .detail-badge {
  width: min(100%, var(--hero-image-size));
  height: auto;
  aspect-ratio: 1 / 1;
  flex: 0 1 var(--hero-image-size);
  border-radius: clamp(28px, 4vw, 52px);
  transform: none !important;
  rotate: none !important;
  translate: none !important;
}
.detail-hero-grid .detail-art .detail-badge img { width:100%;height:100%;object-fit:contain; }
@media (max-width:700px) {
  :root { --hero-image-size: clamp(190px, 58vw, 280px); }
  .hero-grid, .detail-hero-grid { grid-template-columns: minmax(0,1fr); }
  .hero-logo-column, .detail-hero-grid .detail-art {
    justify-content: center;
    padding: 25px 0 0;
  }
}

/* Unified perfectly centered hero artwork — homepage and every bot page */
:root { --unified-hero-logo-size: clamp(220px, 30vw, 390px); }
.hero-grid, .detail-hero-grid {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 36px;
  align-items: stretch;
}
.hero-logo-column, .detail-hero-grid .detail-art {
  display:flex; align-items:center; justify-content:center;
  align-self:stretch; justify-self:stretch;
  padding:0; min-width:0;
}
.hero-logo-column .logo-hero, .detail-hero-grid .detail-art .detail-badge {
  box-sizing:border-box;
  width:min(100%, var(--unified-hero-logo-size));
  height:auto; aspect-ratio:1/1;
  flex:0 1 var(--unified-hero-logo-size);
  border-radius:clamp(28px,4vw,52px);
  transform:none !important; rotate:none !important; translate:none !important;
}
.detail-hero-grid .detail-art .detail-badge img {width:100%;height:100%;object-fit:contain;}
@media(max-width:700px){
  :root {--unified-hero-logo-size:clamp(190px,58vw,280px)}
  .hero-grid,.detail-hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero-logo-column,.detail-hero-grid .detail-art{justify-content:center; padding:28px 0 0;}
}

/* FINAL: identical artwork dimensions, horizontally centered in the space
   between the text and the right page edge, vertically centered beside text. */
:root { --hero-logo-final-size: clamp(220px, 30vw, 390px); }
.hero-grid, .detail-hero-grid {
  display:grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  column-gap:36px;
  align-items:center;
}
.hero-logo-column, .detail-hero-grid .detail-art {
  display:flex;
  justify-content:center;
  align-items:center;
  align-self:stretch;
  justify-self:stretch;
  padding:0;
  min-width:0;
}
.hero-logo-column .logo-hero, .detail-hero-grid .detail-art .detail-badge {
  width:min(100%,var(--hero-logo-final-size));
  height:auto;
  aspect-ratio:1;
  flex:0 1 var(--hero-logo-final-size);
  transform:none !important;
  rotate:none !important;
  translate:none !important;
  border-radius:clamp(28px,4vw,52px);
}
.detail-hero-grid .detail-art .detail-badge img {width:100%;height:100%;object-fit:contain;}
@media(max-width:700px){
  :root{--hero-logo-final-size:clamp(190px,58vw,280px)}
  .hero-grid,.detail-hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero-logo-column,.detail-hero-grid .detail-art{padding:28px 0 0;justify-content:center}
}


/* Homepage hero: vertically center the entire left text/button group
   against the center of the large IV logo. */
@media (min-width: 701px) {
  #home .hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
  }
  #home .hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: center;
    min-width: 0;
  }
  #home .hero-logo-column {
    align-self: center;
    justify-self: stretch;
    padding: 0;
  }
}
@media (max-width: 700px) {
  #home .hero-copy { align-self: auto; }
  #home .hero-logo-column { align-self: center; }
}


/* Homepage hero alignment fix: one shared center line for copy and IV logo.
   No top/bottom offsets or stretched logo column. */
@media (min-width: 701px) {
  #home .hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 36px;
    align-items: center;
  }
  #home .hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: center;
    margin: 0;
    padding: 0;
    transform: none;
    min-width: 0;
  }
  #home .hero-logo-column {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    justify-self: stretch;
    height: auto;
    margin: 0;
    padding: 0;
    min-width: 0;
  }
  #home .hero-logo-column .logo-hero {
    display: flex;
    width: min(100%, var(--hero-logo-final-size));
    height: auto;
    aspect-ratio: 1 / 1;
    flex: 0 0 auto;
    margin: 0;
    transform: none !important;
  }
}
@media (max-width: 700px) {
  #home .hero-grid { align-items: center; }
  #home .hero-copy { margin: 0; padding: 0; transform: none; }
  #home .hero-logo-column { padding: 28px 0 0; margin: 0; align-self: center; }
}


/* Balanced hero gutters: left copy has the same outside spacing as
   the centered square logo has from the right page edge. */
@media (min-width: 701px) {
  #home .hero-grid > .hero-copy,
  .detail-hero-grid > :first-child:not(.detail-art) {
    padding-inline-start: max(0px, calc((100% - var(--hero-logo-final-size)) / 2));
    padding-inline-end: 0;
    min-width: 0;
    box-sizing: border-box;
  }
  #home .hero-grid, .detail-hero-grid { align-items: center; }
}
@media (max-width: 700px) {
  #home .hero-grid > .hero-copy,
  .detail-hero-grid > :first-child:not(.detail-art) {
    padding-inline: 0;
  }
}

/* Matching spacing for the Projects and Team card rows.
   Both sections share the same grid gap and symmetric outer gutters. */
#projects .card-grid, #staff .card-grid {
  column-gap: 26px;
  row-gap: 26px;
}
@media (max-width: 950px) {
  #projects .card-grid, #staff .card-grid { column-gap: 20px; row-gap: 20px; }
}
@media (max-width: 620px) {
  #projects .card-grid, #staff .card-grid { column-gap: 18px; row-gap: 18px; }
}

/* Increased, consistent spacing between bot feature cards */
.detail-feature-grid { gap: 26px; }
@media (max-width: 950px) { .detail-feature-grid { gap: 20px; } }
@media (max-width: 620px) { .detail-feature-grid { gap: 18px; } }
