/* contact.html — page-specific styles, extracted from inline */

/* Final Bow — smoke envelope (replaces former curtain) */
.scene-final{background:var(--obsidian);height:100vh}
.fb-stage{position:absolute;inset:0;overflow:hidden}
.fb-bg{position:absolute;inset:0;background:radial-gradient(ellipse at center,#0F1A2E 0%,#000 80%)}
/* Volumetric smoke that envelops the scene at peak (replaces curtain) */
.fb-smoke{position:absolute;inset:-10%;z-index:5;opacity:0;pointer-events:none;
  background:
    radial-gradient(ellipse 80% 60% at 50% 50%,rgba(20,30,50,.85) 0%,rgba(10,15,28,.6) 40%,transparent 75%),
    radial-gradient(circle at 30% 30%,rgba(184,168,122,.18) 0%,transparent 45%),
    radial-gradient(circle at 70% 70%,rgba(184,168,122,.12) 0%,transparent 50%);
  filter:blur(28px) saturate(1.1);
  transform:scale(.85);
  transition:opacity 2.4s var(--ease),transform 4.5s var(--ease);
}
.scene-final.fallen .fb-smoke{opacity:1;transform:scale(1.05)}
.fb-content{position:relative;z-index:10;text-align:center;transition:opacity 2s var(--ease) 1s}
.scene-final.fallen .fb-content{opacity:0}
@media(prefers-reduced-motion:reduce){
  .fb-smoke{transition:opacity .4s,transform .4s}
}
.fb-content h1{font-family:'Cinzel',serif;font-weight:300;font-size:clamp(80px,15vw,220px);letter-spacing:.5em;line-height:1;text-indent:.5em;filter:drop-shadow(0 4px 40px rgba(184,168,122,.5))}
.fb-content .tagline{font-family:'Noto Serif JP',serif;font-weight:300;font-size:clamp(20px,2.4vw,30px);color:var(--bone);margin-top:64px;letter-spacing:.3em;text-shadow:0 2px 20px rgba(0,0,0,.8);word-break:keep-all;line-break:strict}
.fb-content .tagline-en{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(15px,1.5vw,20px);color:var(--gold);margin-top:16px;letter-spacing:.1em;opacity:.75}

/* Exit door + form */
.exit-section{background:radial-gradient(ellipse at center,#142540 0%,#0A1424 40%,#050810 80%,#000 100%);padding:120px 32px;border-top:1px solid rgba(184,168,122,.1)}
.exit-stage{display:grid;grid-template-columns:1fr 1fr;max-width:1400px;width:100%;margin:0 auto;gap:120px;align-items:stretch}
.exit-door-wrap{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.exit-door-wrap::before{content:"";position:absolute;inset:-40px;background:radial-gradient(circle,rgba(184,168,122,.15) 0%,transparent 70%);filter:blur(40px);z-index:0}
.exit-door{width:100%;height:100%;max-width:560px;max-height:none;object-fit:cover;filter:drop-shadow(0 30px 80px rgba(0,0,0,.7)) drop-shadow(0 0 100px rgba(184,168,122,.2));position:relative;z-index:1}
.exit-form{padding:64px 56px;background:rgba(15,12,8,.5);border:1px solid rgba(184,168,122,.15);backdrop-filter:blur(8px)}
.exit-form .label{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.5em;color:var(--gold);text-transform:uppercase;opacity:.7}
.exit-form h3{font-family:'Cinzel',serif;font-weight:400;font-size:clamp(28px,3vw,40px);color:var(--bone);letter-spacing:.3em;text-transform:uppercase;margin:12px 0 16px}
.exit-form .greek{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;color:var(--gold);opacity:.7;margin-bottom:48px;letter-spacing:.04em}
.exit-field{margin-bottom:28px}
.exit-field-label{display:block;font-family:'Cinzel',serif;font-size:11px;letter-spacing:.32em;color:var(--gold);text-transform:uppercase;opacity:.85;margin-bottom:12px}
.exit-field input,.exit-field textarea{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(184,168,122,.25);color:var(--bone);padding:12px 0;font-family:'Inter','Noto Sans JP',sans-serif;font-size:16px;line-height:1.6;outline:none;transition:border-color .4s var(--ease)}
.exit-field input::placeholder,.exit-field textarea::placeholder{color:rgba(232,224,206,.4)}
.exit-field input:focus,.exit-field textarea:focus{border-color:var(--gold)}
.exit-field textarea{resize:none;min-height:90px}
.exit-form-status{margin-top:18px;font-family:'Noto Sans JP',sans-serif;font-size:13px;color:var(--bone);min-height:1.4em;letter-spacing:.04em}
.exit-form-status.is-error{color:#E8B4B4}
.exit-form-status.is-success{color:var(--gold-light)}
.exit-field input[aria-invalid="true"],.exit-field textarea[aria-invalid="true"]{border-bottom-color:#E8B4B4}
.exit-send{margin-top:40px;width:100%;padding:20px;background:rgba(184,168,122,.18);border:1px solid var(--gold);color:var(--gold-light);font-family:'Cinzel',serif;font-size:11px;letter-spacing:.5em;text-transform:uppercase;cursor:pointer;transition:transform .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease),background .5s var(--ease);position:relative;overflow:hidden}
.exit-send::before{content:"";position:absolute;inset:0;background:var(--gold);transform:translateY(100%);transition:transform .5s var(--ease);z-index:-1}
.exit-send:hover{color:var(--obsidian);background:transparent}
.exit-send:hover::before{transform:translateY(0)}
@media(max-width:768px){
  .exit-send{margin-top:32px;padding:18px;font-size:12px;letter-spacing:.4em}
}
.exit-mail{margin-top:32px;text-align:center;font-family:'Cinzel',serif;font-size:11px;letter-spacing:.4em;color:var(--gold);opacity:.7;text-transform:uppercase}
.exit-mail a{color:var(--gold);border-bottom:1px solid rgba(184,168,122,.3);padding-bottom:2px;transition:all .3s}
.exit-mail a:hover{color:var(--gold-light);border-bottom-color:var(--gold-light)}
.exit-success{text-align:center;padding:40px 0}
.exit-success .es-mark{
  width:48px;height:48px;border-radius:50%;
  border:1px solid var(--gold-light);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 24px;color:var(--gold-light);font-size:22px;
  background:rgba(212,201,160,.1);
}
.exit-success h4{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:24px;color:var(--bone);margin-bottom:14px}
.exit-success p{font-family:'Noto Serif JP',serif;font-weight:300;font-size:14px;color:var(--bone);opacity:.8;line-height:1.9;letter-spacing:.04em}

/* Office info */
.office{background:linear-gradient(180deg,#080D17 0%,#0F1A2E 50%,#0A0F1A 100%);padding:140px 32px 160px;text-align:center;position:relative;overflow:hidden}
.office .greek-watermark{top:10%;left:-1%}
/* Pure obsidian map (no world dots) — 3拠点が暗闇に灯火として浮かぶ */
.office-map{
  position:absolute;inset:0;
  pointer-events:none;z-index:1;
  background:
    radial-gradient(ellipse at 50% 45%, rgba(15,26,46,.65) 0%, rgba(10,15,26,.4) 50%, transparent 80%),
    radial-gradient(circle at 30% 70%, rgba(184,168,122,.04) 0%, transparent 40%),
    radial-gradient(circle at 78% 32%, rgba(184,168,122,.05) 0%, transparent 35%);
}
.office-map::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at center, transparent 0%, rgba(8,13,23,.55) 70%, #080D17 100%);
  pointer-events:none;z-index:2;
}
.office-pin{position:absolute;z-index:3;width:0;height:0}
.office-pin .pin-dot{
  position:absolute;top:0;left:0;
  width:16px;height:16px;border-radius:50%;
  background:radial-gradient(circle, var(--gold-light,#C4B88A) 0%, var(--gold,#B8A87A) 55%, rgba(184,168,122,.3) 100%);
  box-shadow:
    0 0 14px var(--gold,#B8A87A),
    0 0 32px rgba(184,168,122,.55),
    0 0 70px rgba(184,168,122,.22);
  transform:translate(-50%,-50%);
  animation:pinDotBreath 4.8s ease-in-out infinite;
}
.office-pin .pin-ring{
  position:absolute;top:0;left:0;
  width:60px;height:60px;border-radius:50%;
  border:1px solid rgba(184,168,122,.42);
  transform:translate(-50%,-50%);
  animation:pinBreath 4.5s ease-in-out infinite;
  pointer-events:none;
}
.office-pin .pin-label{
  position:absolute;top:-26px;left:18px;
  font-family:'Cinzel',serif;font-weight:400;font-size:13px;
  letter-spacing:.42em;color:var(--gold-light,#C4B88A);
  white-space:nowrap;text-transform:uppercase;
  text-shadow:0 0 14px rgba(8,13,23,.95),0 0 8px rgba(8,13,23,.95);
  opacity:.95;
}
/* London は薄めで「Coming Soon」感維持 */
.pin-london .pin-dot{
  width:13px;height:13px;
  background:radial-gradient(circle, rgba(196,184,138,.65) 0%, rgba(184,168,122,.4) 60%, transparent 100%);
  box-shadow:0 0 8px rgba(184,168,122,.5),0 0 20px rgba(184,168,122,.25);
  animation:pinDotBreath 5.4s ease-in-out infinite;
}
.pin-london .pin-ring{border-color:rgba(184,168,122,.25)}
.pin-london .pin-label{opacity:.7;color:rgba(196,184,138,.78)}
/* Pin positions (equirectangular on full background) */
.pin-london{top:34%;left:48%}
.pin-kyoto{top:46%;left:78%}
.pin-kyoto .pin-label{top:8px;left:-72px}
.pin-tokyo{top:42%;left:82%}
@keyframes pinBreath{
  0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.55}
  50%   {transform:translate(-50%,-50%) scale(1.4);opacity:.12}
}
@keyframes pinDotBreath{
  0%,100%{box-shadow:0 0 14px var(--gold,#B8A87A),0 0 32px rgba(184,168,122,.55),0 0 70px rgba(184,168,122,.22)}
  50%   {box-shadow:0 0 22px var(--gold-light,#C4B88A),0 0 48px rgba(196,184,138,.7),0 0 100px rgba(184,168,122,.32)}
}
@media (prefers-reduced-motion:reduce){
  .office-pin .pin-ring{animation:none;display:none}
  .office-pin .pin-dot{animation:none}
}

.office-inner{max-width:1100px;margin:0 auto;position:relative;z-index:5}
.office .label{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.6em;color:var(--gold);text-transform:uppercase;opacity:.6;margin-bottom:32px}
.office h2{font-family:'Noto Serif JP',serif;font-weight:300;font-size:clamp(28px,4vw,42px);color:var(--bone);letter-spacing:.06em;margin-bottom:48px}
.office-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:48px;margin-top:48px}
.office-card{padding:32px;border:1px solid rgba(184,168,122,.15)}
.office-card h4{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.4em;color:var(--gold);text-transform:uppercase;margin-bottom:16px}
.office-card p{font-family:'Noto Sans JP',sans-serif;font-size:14px;color:var(--bone);opacity:.75;line-height:1.9;letter-spacing:.04em}

@media(max-width:1024px){
  .exit-stage{grid-template-columns:1fr;gap:60px}
  .exit-door{max-height:55vh}
}
@media(max-width:768px){
  .exit-section{padding:80px 16px}
  .exit-form{padding:40px 24px}
  .exit-door{max-height:45vh}
  .office-grid{gap:24px}
  .office-card{padding:24px}
  /* SP: 拠点ピンを小さく上品に */
  .office{padding:90px 16px 100px}
  .office-pin .pin-dot{width:12px;height:12px;box-shadow:0 0 10px var(--gold),0 0 22px rgba(184,168,122,.55)}
  .office-pin .pin-ring{width:42px;height:42px}
  .office-pin .pin-label{font-size:10px;letter-spacing:.32em;top:-18px;left:12px;text-shadow:0 0 8px rgba(8,13,23,.95),0 0 4px rgba(8,13,23,.95)}
  .pin-kyoto .pin-label{top:6px;left:-56px}
  .pin-london .pin-dot{width:10px;height:10px}
}

.nyx-skip-to-content{
  position:fixed;left:-9999px;top:8px;z-index:9999;
  padding:10px 16px;background:#0A0A0A;color:#B8A87A;
  font-family:'Cinzel',serif;font-size:11px;letter-spacing:.3em;
  border:1px solid #B8A87A;text-decoration:none;text-transform:uppercase;
}
.nyx-skip-to-content:focus{left:8px}

/* ═══════════════════════════════════════════════════════════════════
   Exit Channels — Hire (Joining NYX) + Press (Media Inquiries)
   ═══════════════════════════════════════════════════════════════════ */
.exit-channels{
  padding: clamp(80px, 12vw, 140px) clamp(24px, 4vw, 80px);
  position:relative;
  background:linear-gradient(180deg, rgba(15,26,46,0) 0%, rgba(15,26,46,.32) 50%, rgba(10,10,10,0) 100%);
}
.channels-inner{ max-width:1180px; margin:0 auto }
.channels-eyebrow{
  font-family:'Cinzel',serif;
  font-size:11px;letter-spacing:.5em;
  color:var(--gold);opacity:.78;
  text-transform:uppercase;
  margin-bottom:24px;
}
.channels-headline{
  font-family:'Noto Serif JP',serif;
  font-weight:300;
  font-size:clamp(24px, 3.4vw, 40px);
  color:var(--bone);
  line-height:1.55;letter-spacing:.04em;
  margin:0 0 64px;
}
.channels-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(32px, 4vw, 64px);
}
@media (max-width:840px){
  .channels-grid{grid-template-columns:1fr; gap:48px}
}
.channel-card{
  position:relative;
  padding:48px clamp(28px, 3vw, 44px);
  border:1px solid rgba(184,168,122,.22);
  background:rgba(15,26,46,.22);
  overflow:hidden;
  transition: border-color .5s ease, background .5s ease;
}
.channel-card:hover{
  border-color:rgba(184,168,122,.48);
  background:rgba(15,26,46,.34);
}
.channel-numeral{
  position:absolute;
  top:24px;right:32px;
  font-family:'Cinzel',serif;
  font-size:64px;
  color:rgba(184,168,122,.14);
  letter-spacing:0;line-height:1;
  pointer-events:none;
}
.channel-eyebrow{
  font-family:'Cinzel',serif;
  font-size:10px;letter-spacing:.5em;
  color:var(--gold);opacity:.82;
  text-transform:uppercase;
  margin-bottom:24px;
}
.channel-card h3{
  font-family:'Noto Serif JP',serif;
  font-weight:300;
  font-size:clamp(20px,2.4vw,28px);
  color:var(--bone);
  line-height:1.55;letter-spacing:.04em;
  margin:0 0 24px;
}
.channel-lede{
  font-family:'Noto Serif JP',serif;
  font-weight:300;
  font-size:15px;
  color:rgba(232,224,206,.86);
  line-height:1.9;letter-spacing:.02em;
  margin:0 0 18px;
}
.channel-note{
  font-family:'Noto Serif JP',serif;
  font-size:13.5px;
  color:rgba(232,224,206,.58);
  line-height:1.85;letter-spacing:.02em;
  margin:0 0 32px;
}
.channel-cta{
  display:inline-flex;
  align-items:center;gap:14px;
  font-family:'Cinzel',serif;
  font-size:11px;letter-spacing:.4em;
  color:var(--gold);
  text-decoration:none;
  padding:16px 28px;
  border:1px solid rgba(184,168,122,.4);
  text-transform:uppercase;
  transition: all .4s ease;
}
.channel-cta:hover{
  background:rgba(184,168,122,.08);
  border-color:var(--gold-light);
  letter-spacing:.5em;
  color:var(--gold-light);
}
.channel-cta .cta-arrow{transition: transform .4s ease}
.channel-cta:hover .cta-arrow{transform:translateX(4px)}
.channel-fallback{
  margin:20px 0 0;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:13px;letter-spacing:.02em;
  color:rgba(232,224,206,.5);
}
.channel-fallback a{
  color:var(--gold);
  text-decoration:underline;
  text-decoration-color:rgba(184,168,122,.3);
  text-underline-offset:3px;
}
.channel-fallback a:hover{
  color:var(--gold-light);
  text-decoration-color:var(--gold-light);
}
@media (prefers-reduced-motion:reduce){
  .channel-card, .channel-cta, .channel-cta .cta-arrow{ transition: none }
}
