/* A Smarter Tomorrow Together - Robotic Violet conversion v1.
   Page-only overrides. Keep the existing assets/style.css, header and footer.
   Approved Violet PNGs remain anatomically unchanged. Each suspension cable
   begins at the art panel's top border; no cover/hidden cropping is used. */
body.astt-robotic { overflow-x: clip; }
body.astt-robotic main { min-width:0; }
body.astt-robotic main > section { box-sizing:border-box; }
body.astt-robotic .hero-section,
body.astt-robotic .feature-band,
body.astt-robotic .split-story,
body.astt-robotic .together-section,
body.astt-robotic .final-section { min-width:0; }
body.astt-robotic .hero-copy,
body.astt-robotic .feature-copy,
body.astt-robotic .story-copy,
body.astt-robotic .together-copy,
body.astt-robotic .final-copy { min-width:0; }

/* Physical panels: every image begins immediately below its top border.
   Crucially, remove the old bottom anchoring and negative image offsets. */
body.astt-robotic .hero-art,
body.astt-robotic .feature-art,
body.astt-robotic .story-art,
body.astt-robotic .together-art,
body.astt-robotic .final-art {
  position:relative !important;
  box-sizing:border-box;
  display:flex !important;
  flex-direction:column;
  align-items:center !important;
  justify-content:flex-start !important;
  align-self:stretch !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  margin-top:0 !important;
  overflow:visible !important;
  isolation:isolate;
  border:1px solid rgba(110,65,179,.18);
  border-radius:24px;
  background:radial-gradient(circle at 55% 25%,rgba(176,143,255,.17),rgba(247,241,255,.08) 66%,transparent 95%);
}
body.astt-robotic .feature-art,
body.astt-robotic .together-art {
  background:radial-gradient(circle at 52% 34%,rgba(171,107,255,.18),rgba(62,26,101,.08) 70%,transparent 95%);
  border-color:rgba(237,222,255,.18);
}
body.astt-robotic .astt-picture {
  display:block !important;
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  min-width:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  line-height:0;
  text-align:center;
  align-self:flex-start;
  flex:0 0 auto;
}
body.astt-robotic .astt-picture img,
body.astt-robotic .violet-hero,
body.astt-robotic .feature-art img,
body.astt-robotic .story-art img,
body.astt-robotic .together-art img,
body.astt-robotic .final-art img {
  display:block !important;
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  float:none !important;
  margin:0 auto !important;
  padding:0 !important;
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
  height:auto !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:center top !important;
  clip-path:none !important;
  filter:drop-shadow(0 14px 20px rgba(33,9,76,.18));
}
/* Width AND height limits scale proportionally; neither clips the image. */
body.astt-robotic .hero-art .astt-picture img { max-height:645px !important; }
body.astt-robotic .feature-art .astt-picture img { max-height:500px !important; }
body.astt-robotic .story-art .astt-picture img { max-height:535px !important; }
body.astt-robotic .together-art .astt-picture img { max-height:545px !important; }
body.astt-robotic .final-art .astt-picture img { max-height:490px !important; }

/* Prevent old fixed-height portrait boxes from introducing blank cable gaps. */
body.astt-robotic .hero-section { align-items:stretch !important; padding-top:0 !important; }
body.astt-robotic .hero-section .hero-copy { padding-top:clamp(30px,4vw,58px); }
body.astt-robotic .feature-band,
body.astt-robotic .together-section { align-items:stretch !important; padding-top:0 !important; padding-bottom:0 !important; }
body.astt-robotic .feature-copy,
body.astt-robotic .together-copy { padding-block:clamp(26px,4.5vw,64px) !important; }
body.astt-robotic .split-story,
body.astt-robotic .final-section { align-items:stretch !important; padding-top:0 !important; padding-bottom:0 !important; }
body.astt-robotic .story-copy,
body.astt-robotic .final-copy { padding-block:clamp(25px,4.5vw,58px) !important; }

/* Orbit effects stay decorative and never define the image dimensions. */
body.astt-robotic .hero-art .hero-orbit { pointer-events:none; z-index:-1; }
body.astt-robotic .hero-art .floating-card { z-index:3; }

/* The tiny signature uses the complete approved robot rather than a face crop. */
body.astt-robotic .signature-row { display:flex; align-items:center; }
body.astt-robotic .mini-violet {
  flex:0 0 66px; width:66px; height:78px;
  display:flex; justify-content:center; align-items:center;
  overflow:visible; border-radius:15px;
}
body.astt-robotic .mini-violet img {
  display:block !important; width:auto !important; height:auto !important;
  max-width:64px !important; max-height:76px !important;
  object-fit:contain !important; object-position:center center !important;
  border-radius:0 !important; margin:0 auto !important;
}

@media(max-width:1279px) {
  body.astt-robotic .hero-art .astt-picture img { max-height:540px !important; }
  body.astt-robotic .feature-art .astt-picture img,
  body.astt-robotic .story-art .astt-picture img,
  body.astt-robotic .together-art .astt-picture img,
  body.astt-robotic .final-art .astt-picture img { max-height:440px !important; }
}
@media(max-width:899px) {
  body.astt-robotic .hero-section,
  body.astt-robotic .feature-band,
  body.astt-robotic .split-story,
  body.astt-robotic .together-section,
  body.astt-robotic .final-section {
    display:flex !important; flex-direction:column !important;
    gap:20px !important; width:auto;
    min-height:0 !important;
  }
  body.astt-robotic .hero-section .hero-art,
  body.astt-robotic .feature-band .feature-art,
  body.astt-robotic .split-story .story-art,
  body.astt-robotic .together-section .together-art,
  body.astt-robotic .final-section .final-art {
    order:-1;
    width:100% !important;
    min-width:0 !important;
    max-height:none !important;
  }
  body.astt-robotic .hero-section .hero-copy { padding:0 !important; }
  body.astt-robotic .feature-copy,
  body.astt-robotic .story-copy,
  body.astt-robotic .together-copy,
  body.astt-robotic .final-copy { padding:clamp(8px,3vw,26px) !important; }
  body.astt-robotic .hero-art .astt-picture img { max-height:450px !important; }
  body.astt-robotic .feature-art .astt-picture img,
  body.astt-robotic .story-art .astt-picture img,
  body.astt-robotic .together-art .astt-picture img,
  body.astt-robotic .final-art .astt-picture img { max-height:410px !important; }
  body.astt-robotic .hero-art .floating-card {
    display:none !important; /* mobile text already covers these themes */
  }
  body.astt-robotic .hero-art .hero-orbit { display:none !important; }
  body.astt-robotic .future-grid,
  body.astt-robotic .principles-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px) {
  body.astt-robotic .site-header { max-width:100%; }
  body.astt-robotic .top-nav { flex-wrap:wrap; min-width:0; }
  body.astt-robotic .hero-art,
  body.astt-robotic .feature-art,
  body.astt-robotic .story-art,
  body.astt-robotic .together-art,
  body.astt-robotic .final-art { border-radius:18px; }
  body.astt-robotic .hero-art .astt-picture img { max-height:385px !important; }
  body.astt-robotic .feature-art .astt-picture img,
  body.astt-robotic .story-art .astt-picture img,
  body.astt-robotic .together-art .astt-picture img,
  body.astt-robotic .final-art .astt-picture img { max-height:345px !important; }
  body.astt-robotic .future-grid,
  body.astt-robotic .principles-grid { grid-template-columns:minmax(0,1fr) !important; }
  body.astt-robotic .future-grid > *, body.astt-robotic .principles-grid > * { min-width:0; }
  body.astt-robotic .signature-row { gap:8px; }
  body.astt-robotic .mini-violet { flex-basis:52px; width:52px; height:64px; }
  body.astt-robotic .mini-violet img { max-width:52px !important; max-height:62px !important; }
}
@media (prefers-reduced-motion:reduce) {
  body.astt-robotic .floating-card { transition:none !important; }
}
