/* =========================================================
   EQUIPMENT PAGE
   Artboard 7 reference
========================================================= */
.page-equipment { background:#000; }
.page-equipment .site-header { background: rgba(0, 0, 0, 0.5); border:0; }
.equipment-page { overflow:hidden; background:#fff; }
.equipment-page h1,
.equipment-page h2,
.equipment-page h3,
.equipment-page p,
.equipment-page figure,
.equipment-page ul { margin-top:0; }

/* HERO */
.equipment-hero {
  position:relative;
  overflow:hidden;
  background:#000;
  line-height:0;
}
.equipment-hero__visual {
  width:100%;
  height:auto;
  min-height:410px;
  object-fit:cover;
  object-position:center center;
  filter:grayscale(1) brightness(.72);
}
.equipment-hero__overlay {
  position:absolute;
  inset:0;
  width:min(calc(100% - 96px), 1540px);
  margin-inline:auto;
  pointer-events:none;
}
.equipment-hero__anniversary {
  position:absolute;
  left:0;
  top: clamp(72px, 9.4vw, 123px);
  width:clamp(110px, 10.6vw, 176px);
  height:auto;
}
.equipment-hero__titlewrap {
  position:absolute;
  left:0;
  bottom:clamp(30px, 3.2vw, 54px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  color:#fff;
  font-family:Arial,"Helvetica Neue",sans-serif;
  text-transform:uppercase;
  line-height:.84;
  max-width: clamp(285px, 24vw, 545px);
}
.equipment-hero__title,
.equipment-hero__subtitle { display:block; margin:0; }
.equipment-hero__title {
  font-size:clamp(72px, 7.2vw, 124px);
  font-weight:800;
  letter-spacing:-.055em;
}
.equipment-hero__subtitle {
  margin-top:8px;
  font-size:clamp(24px, 2.15vw, 37px);
  font-weight:700;
  letter-spacing:-.035em;
  line-height:1;
}
.equipment-hero__subtitle--small {
  margin-top:4px;
  font-size:clamp(21px, 1.92vw, 33px);
}

/* BLACK INTRO — artboard has a clean black→white boundary */
.equipment-intro {
  color:#fff;
  background:#000;
  padding:clamp(24px, 2.6vw, 46px) 0 clamp(62px, 5vw, 84px);
}
.equipment-intro__inner {
  width:min(calc(100% - 96px), 1540px);
  margin-inline:auto;
}
.equipment-intro__label {
    margin-bottom: clamp(26px, 2.2vw, 38px);
    color: #00a6e8;
    font-size: clamp(17px, .78vw, 15px);
    letter-spacing: .03em;
}

.equipment-intro__copy {
    width: min(46vw, 700px);
    color: rgba(255, 255, 255, .72);
    font-size: clamp(15px, .7vw, 12.5px);
    font-weight: 300;
    line-height: 2;
}
.equipment-intro__copy p { margin-bottom:14px; }
.equipment-intro__copy p:last-child { margin-bottom:0; }

/* WHITE FIELD */
.equipment-sections {
  padding:clamp(76px,6.2vw,108px) 0 clamp(100px,7.5vw,128px);
  background:#fff;
}
.equipment-list {
  width:min(calc(100% - 160px), 1160px);
  margin-inline:auto;
}
.equipment-card {
  margin:0 0 clamp(70px,5.4vw,92px);
  padding:clamp(34px,3.2vw,52px) clamp(38px,3.6vw,58px) clamp(44px,4vw,64px);
  background:#f2f2f2;
}
.equipment-card:last-child { margin-bottom:0; }

/* On the reference, photo remains left while all text/spec boxes stack on right */
.equipment-card__layout {
  display:grid;
  grid-template-columns:minmax(245px, 330px) minmax(0, 1fr);
  gap:clamp(42px,4.6vw,76px);
  align-items:start;
}
.equipment-card__photo { margin:0; }
.equipment-card__photo img {
  display:block;
  width:100%;
  height:auto;
}
.equipment-card__body { min-width:0; }
.equipment-card__head { margin-bottom:clamp(18px,1.6vw,25px); }
.equipment-card__en {
  margin-bottom:4px;
  color:#777;
  font-size:clamp(13px,.72vw,12.5px);
  font-weight:400;
  letter-spacing:.10em;
  line-height:1.3;
}
.equipment-card h2 {
  display:table;
  margin-bottom:0;
  color:#17a5df;
  font-size:clamp(22px,1.5vw,26px);
  font-weight:600;
  line-height:1.45;
}
.equipment-card__lead {
  width:min(100%, 930px);
  color:#555;
  font-size:clamp(15px,.68vw,14px);
  line-height:1.9;
}
.equipment-card__lead p { margin-bottom:8px; }
.equipment-card__lead p:last-child { margin-bottom:0; }

.equipment-divider {
  width:100%;
  height:12px;
  margin:clamp(24px,2vw,32px) 0 clamp(24px,2.2vw,34px);
  background:repeating-linear-gradient(125deg,#d4d4d4 0 7px,transparent 7px 14px);
  clip-path:polygon(1.5% 0,100% 0,98.5% 100%,0 100%);
}

.equipment-spec-stack {
  display:grid;
  gap:clamp(24px,2vw,32px);
}
.equipment-spec h3 {
  margin-bottom:10px;
  color:#555;
  font-size:clamp(15px,.78vw,13.5px);
  font-weight:400;
  line-height:1.6;
}
.equipment-spec__box {
  width:100%;
  min-height:90px;
  padding:clamp(15px,1.2vw,20px) clamp(20px,1.8vw,30px);
  background:#fff;
  border:1px solid #ececec;
}
.equipment-spec__label {
  margin-bottom:12px;
  color:#69c5ed;
  font-size:clamp(14px,.65vw,11px);
  line-height:1.4;
  font-weight: 700;
}
.equipment-spec__box ul {
  margin:0;
  padding-left:1.25em;
  color:#444;
  font-size:clamp(14px,.7vw,12.5px);
  line-height:1.95;
}
.equipment-spec__box li { margin-bottom:2px; }
.equipment-spec__box li:last-child { margin-bottom:0; }

.equipment-others-list {
  margin:2px 0 0;
  padding:0;
  list-style:none;
  color:#555;
  font-size:clamp(11px,.72vw,12.5px);
  line-height:2.05;
}

/* fallback: content is always visible even if GSAP does not run */
.equipment-card,
.equipment-card * { visibility:visible; }

@media (max-width:1100px) {
  .equipment-list { width:min(calc(100% - 80px), 900px); }
  .equipment-card__layout { grid-template-columns:230px minmax(0,1fr); gap:32px; }
  .equipment-intro__copy { width:min(62vw,650px); }
}

@media (max-width:760px) {
  .equipment-hero__titlewrap {
    position: absolute;
    max-width: clamp(211px, 24vw, 545px);
}
  .equipment-hero__overlay,
  .equipment-intro__inner { width:calc(100% - 44px); }
  .equipment-hero__visual { min-height:0; }
    .equipment-hero__anniversary {
        top: 74px;
        width: 105px;
    }
  .equipment-hero__titlewrap { bottom:18px; }
  .equipment-hero__title { font-size:66px; }
  .equipment-hero__subtitle { font-size:23px; margin-top:5px; }
  .equipment-hero__subtitle--small { font-size:20px; }

  .equipment-intro { padding:30px 0 54px; }
  .equipment-intro__label { margin-bottom:22px; font-size:16px; }
  .equipment-intro h1 { margin-bottom:22px; font-size:20px; }
  .equipment-intro__copy { width:100%; font-size:11px; }

  .equipment-sections { padding:48px 0 72px; }
  .equipment-list { width:calc(100% - 44px); }
  .equipment-card { margin-bottom:42px; padding:22px 18px 28px; }
  .equipment-card__layout { grid-template-columns:1fr; gap:22px; }
  .equipment-card__photo { width:100%; }
  .equipment-card__head { margin-bottom:16px; }
  .equipment-card h2 { font-size:22px; }
  .equipment-card__lead { font-size:11px; }
  .equipment-divider { height:9px; margin:22px 0 24px; }
  .equipment-spec-stack { gap:20px; }
  .equipment-spec__box { min-height:0; padding:14px 16px; }
}
