.page-contact{
  --contact-violet:#5a189a;
  --contact-green:#00ff87;
  --contact-deep:#1b263b;
  --contact-night:#0d1b2a;
  --contact-cyan:#00b4d8;
  --contact-light:#e0e1dd;
  --contact-soft:#9fffcb;
  --contact-border:rgba(224,225,221,.14);
  background:
    radial-gradient(ellipse at 12% 8%, rgba(90,24,154,.35) 0%, transparent 48%),
    radial-gradient(ellipse at 88% 18%, rgba(255,109,0,.12) 0%, transparent 42%),
    radial-gradient(circle at 80% 68%, rgba(0,180,216,.18) 0%, transparent 36%),
    linear-gradient(160deg, var(--contact-night) 0%, var(--contact-night) 62%, var(--contact-deep) 100%);
  position:relative;
  color:var(--contact-light);
  padding:36px 20px 80px;
  min-height:100vh;
  overflow-x:hidden;
}
.page-contact::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    radial-gradient(circle at 24% 32%, transparent 0, transparent 1px, rgba(0,255,135,.3) 1px, rgba(0,255,135,.3) 2px, transparent 2px),
    radial-gradient(circle at 76% 22%, transparent 0, transparent 1px, rgba(0,180,216,.25) 1px, rgba(0,180,216,.25) 2px, transparent 2px);
  background-size:38px 38px, 30px 30px;
  opacity:.18;
}
.page-contact-breadcrumb{
  position:relative;
  z-index:2;
  max-width:var(--container,1200px);
  margin:0 auto 36px;
  padding:12px 18px;
  background:rgba(27,38,59,.72);
  border:1px solid var(--contact-border);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  color:var(--contact-cyan);
  backdrop-filter:blur(8px);
}
.page-contact-breadcrumb a{
  color:var(--contact-light);
  text-decoration:none;
  transition:color .3s var(--ease, cubic-bezier(.2,.8,.2,1));
}
.page-contact-breadcrumb a:hover{
  color:var(--contact-green);
}
.page-contact-breadcrumb [aria-current="page"]{
  color:var(--contact-green);
  font-weight:700;
}
.contact-hero{
  position:relative;
  z-index:1;
  max-width:var(--container,1200px);
  margin:0 auto 64px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:0;
}
.contact-eyebrow{
  font-family:var(--font-mono,"Roboto Mono",Consolas,monospace);
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--contact-green);
  margin-bottom:18px;
  padding:6px 14px;
  border:1px solid rgba(0,255,135,.3);
  border-radius:999px;
}
.contact-hero h1{
  font-size:clamp(38px, 7vw, 72px);
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--contact-light);
  margin:0 0 24px;
  max-width:14em;
}
.contact-hero h1::first-line{
  color:var(--contact-green);
}
.contact-hero-lead{
  font-size:16px;
  line-height:1.85;
  color:rgba(224,225,221,.78);
  max-width:34em;
  margin:0 0 28px;
}
.contact-hero-image{
  width:100%;
  max-width:800px;
  height:auto;
  border-radius:var(--radius-lg,32px);
  object-fit:cover;
  box-shadow:var(--shadow,0 18px 50px rgba(0,0,0,.35));
  border:1px solid var(--contact-border);
  position:relative;
  z-index:1;
}
.contact-hero-geo{
  position:absolute;
  z-index:0;
  top:44%;
  right:-8%;
  width:120px;
  height:180px;
  border-left:2px solid rgba(90,24,154,.55);
  border-bottom:2px solid rgba(90,24,154,.55);
  border-radius:0 0 0 100%;
  transform:rotate(12deg);
  pointer-events:none;
}
.contact-hero-geo::after{
  content:'';
  position:absolute;
  top:68%;
  left:18%;
  width:22px;
  height:22px;
  background:var(--contact-green);
  border-radius:50%;
  box-shadow:0 0 0 8px rgba(0,255,135,.14), 0 0 40px rgba(0,255,135,.5);
}
.contact-address-card{
  position:relative;
  z-index:1;
  border-radius:var(--radius-lg,32px);
  border:1px solid var(--contact-border);
  background:
    linear-gradient(135deg, rgba(90,24,154,.28) 0%, transparent 46%),
    rgba(27,38,59,.82);
  padding:28px 24px;
  margin-bottom:64px;
  overflow:hidden;
}
.contact-address-card-inner{
  border-left:3px solid var(--contact-violet,#5a189a);
  padding-left:18px;
}
.contact-card-label{
  font-family:var(--font-mono,"Roboto Mono",Consolas,monospace);
  font-size:12px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--contact-green);
  margin:0 0 8px;
}
.contact-address-card h2{
  font-size:clamp(22px, 3.2vw, 32px);
  line-height:1.4;
  font-weight:800;
  color:var(--contact-light);
  margin:0 0 12px;
  letter-spacing:.01em;
}
.contact-address-note{
  font-size:14px;
  line-height:1.7;
  color:rgba(224,225,221,.66);
  margin:0;
  max-width:34em;
}
.contact-channels{
  position:relative;
  z-index:1;
  max-width:var(--container,1200px);
  margin:0 auto 64px;
}
.contact-section-title{
  font-size:clamp(28px, 4.6vw, 44px);
  font-weight:900;
  line-height:1.2;
  color:var(--contact-light);
  margin:0 0 12px;
  letter-spacing:-.01em;
}
.contact-section-desc{
  font-size:15px;
  line-height:1.8;
  color:rgba(224,225,221,.72);
  max-width:36em;
  margin:0 0 32px;
}
.contact-channel-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
}
.contact-channel-card{
  border-radius:var(--radius-lg,32px);
  border:1px solid var(--contact-border);
  background:rgba(27,38,59,.78);
  padding:28px 24px 26px;
  transition:transform .3s var(--ease, cubic-bezier(.2,.8,.2,1)), box-shadow .3s var(--ease, cubic-bezier(.2,.8,.2,1)), border-color .3s var(--ease, cubic-bezier(.2,.8,.2,1));
  position:relative;
  overflow:hidden;
}
.contact-channel-card::before{
  content:'';
  position:absolute;
  top:0;
  right:0;
  width:110px;
  height:110px;
  border-radius:0 0 0 100%;
  background:radial-gradient(circle at 70% 28%, rgba(0,255,135,.15) 0%, transparent 68%);
  pointer-events:none;
}
.contact-channel-card--accent{
  border-color:rgba(90,24,154,.65);
  box-shadow:0 0 0 1px rgba(90,24,154,.22), var(--shadow,0 18px 50px rgba(0,0,0,.35));
}
.contact-channel-card:hover{
  transform:translateY(-4px);
  border-color:rgba(0,255,135,.42);
  box-shadow:var(--shadow,0 18px 50px rgba(0,0,0,.35));
}
.contact-channel-top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}
.contact-channel-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:18px;
  background:rgba(0,255,135,.1);
  color:var(--contact-green);
  font-size:22px;
  font-weight:800;
  font-family:var(--font-mono,"Roboto Mono",Consolas,monospace);
  border:1px solid rgba(0,255,135,.25);
}
.contact-channel-label{
  font-family:var(--font-mono,"Roboto Mono",Consolas,monospace);
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--contact-light);
  margin:0;
}
.contact-channel-value{
  display:inline-block;
  font-family:var(--font-mono,"Roboto Mono",Consolas,monospace);
  font-size:clamp(19px, 3vw, 24px);
  font-weight:600;
  color:var(--contact-green);
  text-decoration:none;
  border-bottom:2px solid rgba(0,255,135,.3);
  padding-bottom:4px;
  margin-bottom:16px;
  word-break:break-all;
  transition:border-color .3s var(--ease, cubic-bezier(.2,.8,.2,1)), color .3s var(--ease, cubic-bezier(.2,.8,.2,1));
}
.contact-channel-value:hover{
  color:var(--contact-soft,#9fffcb);
  border-bottom-color:var(--contact-soft,#9fffcb);
}
.contact-channel-note{
  font-size:14px;
  line-height:1.7;
  color:rgba(224,225,221,.6);
  margin:0;
}
.contact-service-time{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:28px;
  border-radius:var(--radius-lg,32px);
  padding:34px 24px;
  background:
    linear-gradient(110deg, rgba(90,24,154,.24) 0%, transparent 62%),
    rgba(13,27,42,.86);
  border:1px solid var(--contact-border);
  margin-bottom:64px;
  overflow:hidden;
}
.contact-service-time::after{
  content:'//';
  position:absolute;
  right:-8px;
  bottom:-46px;
  font-family:var(--font-mono,"Roboto Mono",Consolas,monospace);
  font-size:180px;
  font-weight:900;
  color:rgba(90,24,154,.18);
  pointer-events:none;
  line-height:1;
}
.contact-service-copy{
  position:relative;
  z-index:1;
}
.contact-service-time h2{
  font-size:clamp(26px, 4vw, 36px);
  line-height:1.35;
  font-weight:900;
  color:var(--contact-light);
  margin:0 0 16px;
}
.contact-time-highlight{
  color:var(--contact-green);
}
.contact-service-desc{
  font-size:15px;
  line-height:1.75;
  color:rgba(224,225,221,.7);
  margin:0;
  max-width:30em;
}
.contact-service-visual{
  position:relative;
  z-index:1;
  border-radius:var(--radius-md,20px);
  overflow:hidden;
  border:1px solid var(--contact-border);
  min-width:0;
}
.contact-service-visual img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
}
.contact-email-guide{
  position:relative;
  z-index:1;
  max-width:var(--container,1200px);
  margin:0 auto 64px;
}
.contact-guide-card{
  border-radius:var(--radius-lg,32px);
  border:1px solid var(--contact-border);
  background:rgba(27,38,59,.7);
  padding:8px 22px;
  margin-top:8px;
}
.contact-guide-row{
  padding:22px 0;
  border-bottom:1px dashed rgba(224,225,221,.16);
  display:grid;
  grid-template-columns:1fr;
  gap:4px 22px;
  position:relative;
}
.contact-guide-row:last-child{
  border-bottom:none;
}
.contact-guide-num{
  font-family:var(--font-mono,"Roboto Mono",Consolas,monospace);
  font-size:14px;
  font-weight:600;
  color:var(--contact-green);
  letter-spacing:.08em;
  margin-bottom:2px;
}
.contact-guide-row h3{
  font-size:17px;
  font-weight:800;
  color:var(--contact-light);
  margin:0 0 6px;
  line-height:1.4;
}
.contact-guide-row p{
  font-size:14px;
  line-height:1.75;
  color:rgba(224,225,221,.64);
  margin:0;
  max-width:42em;
}
.contact-guide-footnote{
  font-size:13px;
  line-height:1.8;
  color:rgba(224,225,221,.58);
  background:rgba(0,255,135,.05);
  border-left:3px solid var(--contact-green);
  padding:14px 18px;
  border-radius:0 var(--radius-sm,12px) var(--radius-sm,12px) 0;
  margin:22px 0 0;
}
.contact-faq-links{
  position:relative;
  z-index:1;
  max-width:var(--container,1200px);
  margin:0 auto;
}
.contact-faq-links h2{
  font-size:clamp(24px, 3.6vw, 34px);
  font-weight:900;
  color:var(--contact-light);
  margin:0 0 24px;
  line-height:1.25;
}
.contact-faq-link-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
.contact-faq-link{
  display:block;
  border-radius:var(--radius-md,20px);
  border:1px solid var(--contact-border);
  background:rgba(27,38,59,.6);
  padding:22px 22px;
  text-decoration:none;
  transition:background-color .3s var(--ease, cubic-bezier(.2,.8,.2,1)), border-color .3s var(--ease, cubic-bezier(.2,.8,.2,1)), transform .3s var(--ease, cubic-bezier(.2,.8,.2,1));
}
.contact-faq-link:hover{
  background:rgba(90,24,154,.3);
  border-color:rgba(0,255,135,.38);
  transform:translateY(-3px);
}
.contact-faq-link-title{
  display:block;
  font-size:18px;
  font-weight:800;
  color:var(--contact-light);
  margin-bottom:6px;
  transition:color .3s var(--ease, cubic-bezier(.2,.8,.2,1));
}
.contact-faq-link:hover .contact-faq-link-title{
  color:var(--contact-green);
}
.contact-faq-link-desc{
  font-size:14px;
  line-height:1.7;
  color:rgba(224,225,221,.6);
}

@media (min-width: 640px) {
  .page-contact{
    padding:44px 32px 96px;
  }
  .contact-channel-grid{
    grid-template-columns:1fr 1fr;
  }
  .contact-guide-card{
    padding:8px 28px;
  }
  .contact-guide-row{
    grid-template-columns:52px 1fr;
  }
  .contact-faq-link-grid{
    grid-template-columns:1fr 1fr;
  }
  .contact-service-time{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    padding:40px 34px;
  }
  .contact-service-visual{
    width:46%;
    flex-shrink:0;
  }
  .contact-service-copy{
    width:50%;
  }
}

@media (min-width: 960px) {
  .page-contact{
    padding:58px 40px 120px;
  }
  .contact-hero{
    padding-right:120px;
  }
  .contact-hero-image{
    margin-right:auto;
  }
  .contact-address-card{
    padding:44px 52px;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
  }
  .contact-address-card-inner{
    padding-left:28px;
    border-left-width:4px;
  }
  .contact-faq-link-grid{
    grid-template-columns:1fr 1fr 1fr;
  }
  .contact-channel-card{
    padding:34px 30px 30px;
  }
  .contact-service-time{
    padding:52px 48px;
  }
  .contact-guide-card{
    padding:12px 36px;
  }
}
