/* Hero */
.hero{
  padding:42px 0 64px;
  min-height:calc(100svh - var(--header-height));
  display:flex;
  align-items:center;
}
.hero > .container{width:100%}
.heroGrid{
  display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch;
}
.heroCard,
.heroVisual{
  background:var(--paper);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
}
.heroCard{
  border-radius:var(--radius);
  padding:30px;
  position:relative;overflow:hidden;
}
.heroCard:before{
  content:"";
  position:absolute;inset:-120px -120px auto auto;
  width:280px;height:280px;
  background:radial-gradient(circle at 30% 30%, rgba(213,115,75,.28), rgba(172,73,40,.08) 55%, transparent 70%);
  transform:rotate(18deg);
}
.heroCard h1{margin:6px 0 10px;font-size:2.45rem;line-height:1.1;text-align:center;color:var(--accent2)}
.heroCard p{margin:0 0 18px}
.heroIntro{margin:0 0 18px;color:var(--accent2);font-size:1.05rem}
.heroCard .signatureName{
  margin:0 0 2px;
  color:var(--accent2);
  font-size:2.2rem;
  line-height:1;
  text-align:right;
}
.heroCard .signatureRole{
  margin:0 0 14px;
  color:var(--accent2);
  font-size:1.45rem;
  line-height:1.05;
  text-align:right;
}
.heroVisual{
  border-radius:var(--radius);
  overflow:hidden;
  position:relative;
  isolation:isolate;
  min-height:420px;
}
.heroSlides{
  position:absolute;
  inset:0;
  clip-path:inset(0 round calc(var(--radius) - 1px));
}
.heroSlide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity .55s ease;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.heroSlide.is-active{opacity:1}
.heroVisual:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.0) 0%, rgba(0,0,0,.36) 65%, rgba(0,0,0,.50) 100%);
}
.heroControls{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 12px;
  pointer-events:none;
}
.heroCtrl{
  pointer-events:auto;
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.5);
  background:rgba(31,27,24,.35);
  color:#fff;
  font-size:1.4rem;
  line-height:1;
  display:grid;
  place-items:center;
}
.heroCtrl:hover{background:rgba(31,27,24,.55)}
.heroCtrl:focus-visible{outline:none;box-shadow:var(--focus)}
.heroDots{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:2;
  display:flex;
  align-items:center;
  gap:8px;
}
.heroDot{
  width:9px;
  height:9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.75);
  background:rgba(255,255,255,.45);
  padding:0;
}
.heroDot.is-active{
  background:#fff;
  transform:scale(1.15);
}
.heroDot:focus-visible{outline:none;box-shadow:var(--focus)}

@media (max-width: 1040px){
  .heroGrid{grid-template-columns:1fr;}
  .heroVisual{min-height:320px}
  .heroControls{padding:0 8px}
  .heroCard h1{font-size:2.4rem}
  .heroCard .signatureName{font-size:1.85rem}
  .heroCard .signatureRole{font-size:1.25rem}
}

@media (max-width: 480px){
  .heroVisual{min-height:280px}
  .heroCard h1{font-size:2.05rem}
  .heroCard .signatureName{font-size:1.65rem}
  .heroCard .signatureRole{font-size:1.1rem}
}
