.page-contact{
  --contact-space:clamp(52px, 8vw, 108px);
  --contact-gap:clamp(20px, 3vw, 40px);
}

.page-contact .contact-hero{
  position:relative;
  padding-top:calc(var(--header-h) + clamp(24px, 5vw, 64px));
  padding-bottom:var(--contact-space);
  overflow:hidden;
}
.page-contact .contact-hero::before{
  content:"";
  position:absolute;
  top:-140px;
  right:-120px;
  width:min(620px, 78vw);
  height:min(620px, 78vw);
  border-radius:50%;
  background:radial-gradient(circle, rgba(53,224,208,.16), rgba(31,122,77,.07) 46%, transparent 68%);
  pointer-events:none;
}

.page-contact .contact-hero__grid{
  display:grid;
  gap:clamp(32px, 5vw, 56px);
  margin-top:clamp(28px, 5vw, 56px);
}

.page-contact .contact-hero__title{
  margin:14px 0 0;
  font-size:clamp(38px, 9vw, 76px);
  font-weight:900;
  line-height:1.04;
  letter-spacing:-0.045em;
  color:var(--white);
}

.page-contact .contact-hero__lede{
  margin:20px 0 0;
  max-width:44ch;
  font-size:clamp(15px, 2.6vw, 17px);
  line-height:1.9;
  color:var(--mist);
}

.page-contact .channel-block{
  margin-top:clamp(26px, 4vw, 38px);
  padding-left:18px;
  border-left:2px solid var(--line-cyan);
}
.page-contact .channel-block__label{
  margin:0;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--mist);
}
.page-contact .channel-block__mail{
  margin:10px 0 0;
  font-size:clamp(15px, 4.4vw, 30px);
  line-height:1.35;
  color:var(--white);
  overflow-wrap:anywhere;
  word-break:break-word;
  user-select:all;
  -webkit-user-select:all;
}
.page-contact .channel-block__tel{
  margin:8px 0 0;
  font-size:clamp(42px, 13vw, 88px);
  line-height:1;
  letter-spacing:.01em;
  color:var(--amber);
  user-select:all;
  -webkit-user-select:all;
}
.page-contact .channel-block__hint{
  margin:10px 0 0;
  font-size:12px;
  line-height:1.7;
  color:var(--mist);
}
.page-contact .channel-dot{
  display:block;
  width:8px;
  height:8px;
  margin:clamp(18px, 3vw, 26px) 0 0 18px;
  border-radius:50%;
  background:var(--amber);
  box-shadow:0 0 0 5px rgba(242,181,68,.1);
}

.page-contact .contact-hero__aside{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.page-contact .side-card{
  position:relative;
  padding:26px 22px 24px;
  background:linear-gradient(160deg, rgba(14,24,48,.94), rgba(7,11,20,.72));
  border:1px solid var(--line);
  border-top:1px solid var(--line-cyan);
}
.page-contact .side-card__kicker{
  margin:0;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.22em;
  color:var(--cyan);
}
.page-contact .side-card__hours{
  margin:12px 0 0;
  font-size:clamp(30px, 7vw, 42px);
  line-height:1;
  color:var(--white);
}
.page-contact .side-card__hours span{
  color:var(--line-cyan);
}
.page-contact .side-card__text{
  margin:14px 0 0;
  font-size:14px;
  line-height:1.9;
  color:var(--mist);
}
.page-contact .side-card__rule{
  margin:18px 0;
  border:0;
  border-top:1px solid var(--line-soft);
}
.page-contact .side-card__note{
  margin:0;
  font-size:13px;
  line-height:1.85;
  color:var(--white);
  padding-left:14px;
  border-left:1px solid var(--line-amber);
}

.page-contact .hero-jump{
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--line-soft);
}
.page-contact .hero-jump li{
  border-bottom:1px solid var(--line-soft);
}
.page-contact .hero-jump__link{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 4px;
  font-size:14px;
  color:var(--white);
  text-decoration:none;
  transition:color .18s var(--ease), padding-left .18s var(--ease);
}
.page-contact .hero-jump__link:hover,
.page-contact .hero-jump__link:focus-visible{
  color:var(--cyan);
  padding-left:10px;
}
.page-contact .hero-jump__idx{
  font-size:11px;
  color:var(--mist);
}

.page-contact .contact-section{
  padding-block:var(--contact-space);
  border-top:1px solid var(--line-soft);
}
.page-contact .contact-section--alt{
  background:linear-gradient(180deg, rgba(14,24,48,.85), rgba(7,11,20,0));
}
.page-contact .contact-section--tight{
  padding-block:clamp(40px, 6vw, 72px);
}

.page-contact .section-head{
  max-width:60ch;
  margin-bottom:clamp(28px, 4vw, 48px);
}
.page-contact .section-title{
  margin:12px 0 0;
  font-size:clamp(26px, 4.6vw, 42px);
  font-weight:700;
  line-height:1.16;
  letter-spacing:-0.02em;
  color:var(--white);
}
.page-contact .section-lede{
  margin:16px 0 0;
  font-size:15px;
  line-height:1.9;
  color:var(--mist);
}

.page-contact .scenes-grid{
  display:grid;
  gap:clamp(26px, 4vw, 48px);
}

.page-contact .scenes-list{
  border-top:1px solid var(--line);
}
.page-contact .scene{
  border-bottom:1px solid var(--line);
}
.page-contact .scene__summary{
  display:flex;
  align-items:center;
  gap:12px;
  padding:18px 34px 18px 0;
  position:relative;
  cursor:pointer;
  list-style:none;
  font-size:clamp(15px, 2.8vw, 18px);
  font-weight:700;
  color:var(--white);
  transition:color .18s var(--ease);
}
.page-contact .scene__summary::-webkit-details-marker{
  display:none;
}
.page-contact .scene__summary:hover{
  color:var(--cyan);
}
.page-contact .scene__summary::after{
  content:"+";
  position:absolute;
  right:4px;
  font-family:var(--font-mono);
  font-size:20px;
  line-height:1;
  color:var(--cyan);
}
.page-contact .scene[open] .scene__summary::after{
  content:"–";
}
.page-contact .scene__dot{
  flex:none;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--pitch);
  box-shadow:0 0 0 4px rgba(31,122,77,.18);
}
.page-contact .scene__tag{
  margin-left:auto;
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--mist);
}
.page-contact .scene__body{
  padding:0 0 22px 19px;
  animation:contact-fade .2s var(--ease);
}
.page-contact .scene__body p{
  margin:0 0 10px;
  max-width:62ch;
  font-size:14px;
  line-height:1.95;
  color:var(--mist);
}
.page-contact .scene__meta{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.03em;
  color:var(--white);
  opacity:.82;
}
.page-contact .inline-link{
  color:var(--cyan);
  text-decoration:none;
  border-bottom:1px solid var(--line-cyan);
}

.page-contact .scenes-figure{
  margin:0;
}
.page-contact .media-frame{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--midnight);
}
.page-contact .media-frame img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
  filter:saturate(.82) brightness(.86);
}
.page-contact .media-frame--tall img{
  aspect-ratio:4 / 3;
}
.page-contact .media-frame--wide img{
  aspect-ratio:16 / 9;
}
.page-contact .scenes-figure__caption,
.page-contact .media-frame__caption{
  margin:14px 0 0;
  font-size:12.5px;
  line-height:1.85;
  color:var(--mist);
}

.page-contact .business-grid{
  display:grid;
  gap:clamp(28px, 4vw, 52px);
}
.page-contact .business-head .section-lede{
  max-width:46ch;
}
.page-contact .business-note{
  margin:18px 0 0;
  padding:14px 16px;
  font-size:13.5px;
  line-height:1.85;
  color:var(--white);
  border:1px solid var(--line-cyan);
  border-left:2px solid var(--cyan);
  background:rgba(53,224,208,.05);
}
.page-contact .business-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:1px;
  background:var(--line-soft);
  border:1px solid var(--line-soft);
}
.page-contact .business-item{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:16px;
  padding:22px 18px;
  background:rgba(7,11,20,.72);
}
.page-contact .business-item__idx{
  font-size:13px;
  color:var(--amber);
  letter-spacing:.06em;
}
.page-contact .business-item__title{
  margin:0 0 8px;
  font-size:17px;
  font-weight:700;
  color:var(--white);
  letter-spacing:.01em;
}
.page-contact .business-item__text{
  margin:0;
  font-size:14px;
  line-height:1.9;
  color:var(--mist);
}

.page-contact .visit-grid{
  display:grid;
  gap:clamp(22px, 3.4vw, 40px);
}
.page-contact .visit-panel{
  position:relative;
  padding:26px 22px;
  overflow:hidden;
  border:1px solid var(--line);
  background:linear-gradient(155deg, rgba(20,42,74,.66), rgba(7,11,20,.94));
}
.page-contact .visit-grid__lines{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  color:rgba(53,224,208,.16);
  pointer-events:none;
}
.page-contact .visit-panel__inner{
  position:relative;
  z-index:1;
}
.page-contact .visit-panel__label{
  margin:0;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--cyan);
}
.page-contact .visit-panel__address{
  margin:14px 0 0;
  font-size:clamp(20px, 4.4vw, 28px);
  line-height:1.5;
  font-weight:700;
  letter-spacing:-0.01em;
  color:var(--white);
}
.page-contact .visit-panel__rule{
  margin:20px 0;
  border:0;
  border-top:1px solid var(--line);
}
.page-contact .visit-panel__text{
  margin:0 0 12px;
  max-width:48ch;
  font-size:14px;
  line-height:1.95;
  color:var(--mist);
}
.page-contact .visit-panel__text:last-child{
  margin-bottom:0;
}
.page-contact .visit-figure{
  margin:0;
}

.page-contact .prepare-grid{
  display:grid;
  gap:clamp(24px, 4vw, 48px);
}
.page-contact .prepare-head .section-lede{
  max-width:46ch;
}
.page-contact .checklist{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:2px;
}
.page-contact .checklist__item{
  position:relative;
  padding:14px 16px 14px 44px;
  font-size:14px;
  line-height:1.85;
  color:var(--white);
  background:rgba(14,24,48,.6);
  border-left:1px solid var(--line);
}
.page-contact .checklist__item::before{
  content:"";
  position:absolute;
  left:16px;
  top:20px;
  width:11px;
  height:6px;
  border-left:2px solid var(--cyan);
  border-bottom:2px solid var(--cyan);
  transform:rotate(-45deg);
}

.page-contact .legal-strip{
  display:grid;
  gap:20px;
  padding:22px 20px;
  border:1px solid var(--line);
  border-top:1px solid var(--line-amber);
  background:rgba(14,24,48,.55);
}
.page-contact .legal-strip__title{
  margin:0;
  font-size:16px;
  font-weight:700;
  color:var(--white);
}
.page-contact .legal-strip__icp{
  margin:8px 0 0;
  font-size:13px;
  letter-spacing:.04em;
  color:var(--mist);
}
.page-contact .legal-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  margin:0;
  padding:0;
  list-style:none;
}
.page-contact .legal-links__link{
  font-size:13.5px;
  color:var(--white);
  text-decoration:none;
  border-bottom:1px solid var(--line-soft);
  padding-bottom:2px;
  transition:color .18s var(--ease), border-color .18s var(--ease);
}
.page-contact .legal-links__link:hover,
.page-contact .legal-links__link:focus-visible{
  color:var(--cyan);
  border-color:var(--line-cyan);
}

@keyframes contact-fade{
  from{opacity:0; transform:translateY(-4px);}
  to{opacity:1; transform:translateY(0);}
}

@media (min-width:720px){
  .page-contact .scenes-figure__caption{
    max-width:46ch;
  }
  .page-contact .checklist{
    grid-template-columns:1fr 1fr;
  }
  .page-contact .legal-strip{
    grid-template-columns:1fr auto;
    align-items:center;
    padding:24px 28px;
  }
}

@media (min-width:960px){
  .page-contact .contact-hero__grid{
    grid-template-columns:minmax(0, 1.45fr) minmax(0, 1fr);
    align-items:start;
  }
  .page-contact .contact-hero__aside{
    margin-top:56px;
  }
  .page-contact .scenes-grid{
    grid-template-columns:minmax(0, 1.5fr) minmax(0, 1fr);
    align-items:start;
  }
  .page-contact .scenes-figure{
    position:sticky;
    top:calc(var(--header-h) + 24px);
  }
  .page-contact .business-grid{
    grid-template-columns:minmax(0, 1fr) minmax(0, 1.05fr);
    align-items:start;
  }
  .page-contact .business-head{
    padding-right:12px;
  }
  .page-contact .visit-grid{
    grid-template-columns:minmax(0, 1fr) minmax(0, 1.1fr);
    align-items:stretch;
  }
  .page-contact .prepare-grid{
    grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr);
    align-items:start;
  }
  .page-contact .checklist{
    grid-template-columns:1fr;
  }
}

@media (prefers-reduced-motion:reduce){
  .page-contact .scene__body{
    animation:none;
  }
  .page-contact .hero-jump__link,
  .page-contact .legal-links__link{
    transition:none;
  }
}
<<<END>>>
