.hero-media-panel{
  display:grid;
  align-content:start;
  gap:16px;
  padding:24px;
}
.hero-media-panel h2{
  font-size:clamp(1rem,1.1vw,1.24rem);
  line-height:1.28;
}
.hero-media-stack{
  display:grid;
  gap:16px;
}
.hero-media-main{
  display:grid;
  gap:12px;
  margin:0;
  padding:12px;
  border:1px solid rgba(47,138,88,.14);
  border-radius:26px;
  background:rgba(255,255,255,.86);
}
.hero-media-frame{
  overflow:hidden;
  border-radius:18px;
  background:linear-gradient(180deg,#eff5f0,#e3ece5);
}
.hero-media-main-image{
  width:100%;
  height:auto;
  aspect-ratio:1800/1026;
  object-fit:cover;
}
.hero-media-caption{
  display:grid;
  gap:4px;
}
.hero-media-caption strong{
  font-family:"Aptos Display","Segoe UI Variable Display","Segoe UI",sans-serif;
  font-weight:700;
}
.hero-media-caption strong{
  font-size:.95rem;
  line-height:1.3;
}
.hero-media-caption span{
  color:var(--muted);
  font-size:.84rem;
  line-height:1.55;
}
.service-panel-visual{
  margin:22px 0 0;
}
.service-panel-frame{
  overflow:hidden;
  border-radius:20px;
  background:linear-gradient(180deg,#eff5f0,#e3ece5);
}
.service-panel-frame .image-lightbox-trigger{
  display:block;
}
.service-panel-image{
  width:100%;
  height:auto;
  max-height:320px;
  object-fit:contain;
}
.about-panel-visual{
  margin:22px 0 0;
}
.about-panel-frame{
  overflow:hidden;
  border-radius:20px;
  background:linear-gradient(180deg,#eff5f0,#e3ece5);
}
.about-panel-frame .image-lightbox-trigger{
  display:block;
}
.about-panel-image{
  width:100%;
  height:auto;
  max-height:280px;
  object-fit:cover;
}
.service-panel-image-wifi{
  max-height:292px;
}
.service-carousel{
  display:grid;
  gap:20px;
}
.service-carousel-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
}
.service-carousel-controls{
  display:flex;
  gap:10px;
  flex-shrink:0;
}
.service-carousel-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border:1px solid var(--line-strong);
  border-radius:999px;
  background:#fff;
  color:var(--primary-dark);
  font-size:1.05rem;
  font-weight:700;
  transition:transform .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease;
}
.service-carousel-button:hover,
.service-carousel-button:focus-visible{
  transform:translateY(-1px);
  background:var(--primary-soft);
  border-color:rgba(31,102,64,.22);
}
.service-carousel-button[disabled]{
  opacity:.45;
  cursor:default;
  transform:none;
}
.service-carousel-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 40px) / 3);
  gap:20px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding-bottom:4px;
}
.service-carousel-track::-webkit-scrollbar{
  display:none;
}
.service-carousel-card{
  scroll-snap-align:start;
  height:100%;
}
.service-carousel-card.card{
  height:100%;
}
.hero-media-panel{
  padding:26px;
}
.hero-media-main{
  padding:14px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(13,27,19,.08);
}
.hero-media-main:nth-child(1){
  transform:translateX(18px);
}
.hero-media-main:nth-child(2){
  transform:translateX(-18px);
}
.hero-signal-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}
.hero-signal-card{
  display:grid;
  gap:6px;
  padding:16px;
  border:1px solid rgba(13,27,19,.08);
  border-radius:20px;
  background:#fff;
}
.hero-signal-card strong{
  font-size:.9rem;
  line-height:1.3;
}
.hero-signal-card span{
  color:var(--muted);
  font-size:.84rem;
  line-height:1.45;
}
.division-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.division-card{
  padding:28px;
  border-radius:30px;
  border:1px solid rgba(77,220,122,.12);
  background:linear-gradient(180deg,#0f1712 0%,#16241b 100%);
  box-shadow:0 24px 70px rgba(7,13,10,.22);
}
.division-card h3{
  margin:0;
  color:#f5fbf7;
  font-size:1.36rem;
  line-height:1.18;
}
.division-card p{
  max-width:none;
  color:rgba(236,243,238,.76);
}
.division-card .chip-list{
  margin-top:18px;
}
.division-card .chip{
  background:rgba(255,255,255,.08);
  border-color:rgba(77,220,122,.18);
  color:#eef5f0;
}
.hero-media-panel{
  display:grid;
  gap:18px;
}
.hero-media-stack{
  display:grid;
  gap:16px;
}
.hero-media-main{
  padding:14px;
  border-radius:8px;
  border:1px solid rgba(12,20,15,.12);
  background:#fff;
}
.hero-media-main:nth-child(1),.hero-media-main:nth-child(2){
  transform:none;
}
.hero-signal-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border-top:1px solid rgba(12,20,15,.12);
  border-left:1px solid rgba(12,20,15,.12);
}
.hero-signal-card{
  padding:18px;
  border-right:1px solid rgba(12,20,15,.12);
  border-bottom:1px solid rgba(12,20,15,.12);
  border-radius:0;
  background:#eef3ef;
}
.division-grid,.process-section
.promo-cta-band .chip-list{display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));gap:12px;align-content:start;align-items:stretch;margin-top:0}
.promo-cta-band .chip{display:flex;width:100%;justify-content:center;min-height:84px;padding:18px 20px;border-radius:24px;text-align:center;line-height:1.35;white-space:normal}
@media (max-width:920px){
  .promo-cta-band .chip-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .promo-cta-band .chip-list{grid-template-columns:1fr}
  .promo-cta-band .chip{min-height:auto}
}
