/* Avelar visual refinements — preserve the complete photo inside each editorial frame. */
.visual{
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#0b2945;
  border:1px solid rgba(255,255,255,.09);
}
.visual img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  padding:clamp(12px,2vw,24px);
}
.visual.has-photo{
  position:relative;
  isolation:isolate;
  background:#081d31;
}
.visual.has-photo::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:-9%;
  background-image:var(--photo-bg);
  background-size:cover;
  background-position:center;
  filter:blur(18px) saturate(.9) brightness(.66);
  transform:scale(1.08);
  opacity:.72;
  pointer-events:none;
}
.visual.has-photo::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background:linear-gradient(90deg,rgba(5,22,38,.26),transparent 24%,transparent 76%,rgba(5,22,38,.26));
  pointer-events:none;
}
.visual.has-photo img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  padding:0;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.22));
}
.hero-visual{
  min-height:0;
  aspect-ratio:4/3;
  clip-path:none;
}
.feature .visual,.region .visual{
  min-height:0;
  aspect-ratio:4/3;
}
.mini-grid .visual{
  height:auto;
  aspect-ratio:4/3;
}

/* Homepage signature: logo under diagnostic scan. */
.hero-classic .hero-grid{
  grid-template-columns:1.08fr .92fr;
  min-height:690px;
}
.hero-classic .hero-copy h1{
  max-width:9.3ch;
}
.hero-classic .hero-copy h1 span{
  display:block;
  color:var(--yellow);
}
.logo-scan-shell{
  position:relative;
  width:min(500px,100%);
  margin-inline:auto;
  isolation:isolate;
}
.logo-scan-stage{
  position:relative;
  display:grid;
  place-items:center;
  aspect-ratio:1;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 46%,rgba(255,255,255,.22),transparent 42%),
    linear-gradient(145deg,#ffd94a,var(--yellow) 58%,#f2b900);
  border:1px solid rgba(7,27,48,.24);
  box-shadow:0 28px 70px rgba(0,0,0,.28);
}
.logo-scan-stage::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(7,27,48,.065) 1px,transparent 1px),
    linear-gradient(90deg,rgba(7,27,48,.065) 1px,transparent 1px);
  background-size:32px 32px;
  pointer-events:none;
}
.logo-scan-stage::after{
  content:"";
  position:absolute;
  width:74%;
  aspect-ratio:1;
  border:1px dashed rgba(7,27,48,.35);
  border-radius:50%;
  box-shadow:0 0 0 42px rgba(7,27,48,.025),0 0 0 84px rgba(7,27,48,.018);
  animation:avelar-orbit 22s linear infinite;
}
.logo-scan-stage img{
  position:relative;
  z-index:3;
  width:82%;
  height:82%;
  max-width:none;
  object-fit:contain;
  filter:drop-shadow(0 12px 16px rgba(7,27,48,.16));
}
.scan-beam{
  position:absolute;
  z-index:5;
  left:6%;
  right:6%;
  top:14%;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--blue) 14%,var(--red) 50%,var(--blue) 86%,transparent);
  box-shadow:0 0 14px rgba(216,40,39,.5),0 0 24px rgba(10,75,130,.28);
  animation:avelar-scan 4.6s cubic-bezier(.4,0,.2,1) infinite;
}
.scan-beam::after{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:-26px;
  height:52px;
  background:linear-gradient(to bottom,transparent,rgba(10,75,130,.07),transparent);
}
.scan-label{
  position:absolute;
  z-index:6;
  left:18px;
  top:16px;
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--ink);
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.scan-label::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--red);
  box-shadow:0 0 12px rgba(216,40,39,.45);
}
.diagnostic-rail{
  position:absolute;
  z-index:7;
  left:-15px;
  top:70px;
  display:grid;
  gap:7px;
}
.diagnostic-rail span{
  min-width:62px;
  padding:7px 9px;
  background:#041626;
  color:#fff;
  border-left:3px solid var(--red);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.14em;
  text-align:center;
  box-shadow:0 8px 20px rgba(0,0,0,.2);
}
.scan-chip{
  position:absolute;
  z-index:8;
  right:-12px;
  bottom:24px;
  background:var(--ink);
  color:#fff;
  padding:13px 16px;
  border-left:4px solid var(--red);
  box-shadow:0 15px 34px rgba(0,0,0,.25);
}
.scan-chip b{display:block;font:800 1.15rem/1 var(--display);text-transform:uppercase;color:var(--yellow)}
.scan-chip small{display:block;margin-top:5px;font-size:.66rem;font-weight:800;letter-spacing:.06em}
@keyframes avelar-scan{
  0%,100%{transform:translateY(0);opacity:.35}
  12%{opacity:1}
  50%{transform:translateY(355px);opacity:1}
  88%{opacity:1}
}
@keyframes avelar-orbit{to{transform:rotate(360deg)}}

/* Make the old, stronger opening composition breathe on every viewport. */
.hero-classic .proof{
  max-width:640px;
}
.hero-classic .hero-copy>p{
  max-width:60ch;
}

/* Discreet institutional credibility badge on the homepage. */
.bosch-partner{
  display:inline-flex;
  align-items:center;
  gap:13px;
  width:max-content;
  max-width:100%;
  margin-top:18px;
  padding:9px 13px 9px 11px;
  background:#fff;
  color:var(--ink);
  border-left:4px solid #ed1c24;
  box-shadow:0 10px 26px rgba(0,0,0,.18);
}
.bosch-partner>span{
  color:#5f6f7d;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.bosch-partner img{
  display:block;
  width:150px;
  height:auto;
  max-height:35px;
  object-fit:contain;
}

/* Compact footer credit: workshop copyright at left, developer brand at right. */
.copy.copy-with-credit{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.copy-text{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
}
.custom-mind-credit{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  margin-left:auto;
  opacity:.78;
  transition:opacity .2s ease,transform .2s ease;
}
.custom-mind-credit:hover,
.custom-mind-credit:focus-visible{
  opacity:1;
  transform:translateY(-1px);
}
.custom-mind-credit img{
  display:block;
  width:min(190px,30vw);
  height:auto;
  max-height:46px;
  object-fit:contain;
}

@media(max-width:980px){
  .hero-classic .hero-grid{grid-template-columns:1fr;min-height:auto}
  .logo-scan-shell{max-width:520px}
  .diagnostic-rail{left:8px}
  .scan-chip{right:8px}
}
@media(max-width:680px){
  .hero-classic .hero-copy h1{max-width:9ch}
  .logo-scan-shell{width:100%}
  .diagnostic-rail{display:none}
  .scan-chip{right:8px;bottom:8px}
  .scan-chip small{display:none}
  .bosch-partner{
    gap:10px;
    margin-top:16px;
    padding:8px 11px 8px 9px;
  }
  .bosch-partner>span{font-size:.62rem}
  .bosch-partner img{width:128px;max-height:30px}
  .copy.copy-with-credit{
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding-top:14px;
    text-align:center;
  }
  .copy-text{
    font-size:.72rem;
    line-height:1.4;
  }
  .custom-mind-credit{
    margin-left:0;
    justify-content:center;
  }
  .custom-mind-credit img{
    width:min(155px,48vw);
    max-height:38px;
  }
  @keyframes avelar-scan{
    0%,100%{transform:translateY(0);opacity:.35}
    12%{opacity:1}
    50%{transform:translateY(255px);opacity:1}
    88%{opacity:1}
  }
}
@media(max-width:360px){
  .copy-text{font-size:.68rem}
  .custom-mind-credit img{width:min(145px,46vw)}
  .bosch-partner img{width:118px}
}
@media(prefers-reduced-motion:reduce){
  .scan-beam,.logo-scan-stage::after{animation:none}
  .scan-beam{top:50%;opacity:.7}
  .custom-mind-credit{transition:none}
}
