.page-contact{background:var(--color-ink);color:var(--color-mist);overflow-x:hidden;}
.page-contact *,.page-contact *::before,.page-contact *::after{box-sizing:border-box;}
.page-contact a{color:inherit;text-decoration:none;}
.page-contact img{max-width:100%;height:auto;}
.page-contact .contact-hero{position:relative;min-height:82vh;display:flex;align-items:flex-end;padding:6.25rem 1.25rem 3rem;background:var(--color-ink);overflow:hidden;}
.page-contact .contact-hero__bg{position:absolute;inset:0;z-index:0;}
.page-contact .contact-hero__bgimg{width:100%;height:100%;object-fit:cover;opacity:.5;filter:grayscale(.6) contrast(1.08) brightness(.5);}
.page-contact .contact-hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,27,44,.25) 0%,rgba(11,27,44,.75) 58%,rgba(11,27,44,.98) 100%);}
.page-contact .contact-hero__gridline{position:absolute;inset:0;background-image:linear-gradient(rgba(232,240,244,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(232,240,244,.05) 1px,transparent 1px);background-size:44px 44px;}
.page-contact .contact-hero__sweep{position:absolute;top:0;right:0;width:34%;height:2px;background:var(--grad-neon);opacity:.75;}
.page-contact .contact-hero__inner{position:relative;z-index:1;width:100%;max-width:1120px;margin:0 auto;border-left:1px solid rgba(232,240,244,.14);padding-left:1.25rem;padding-bottom:1rem;}
.page-contact .contact-breadcrumb{display:flex;flex-wrap:wrap;gap:.5rem;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.16em;color:var(--color-dim);margin-bottom:2.25rem;}
.page-contact .contact-breadcrumb a{color:var(--color-dim);transition:color .2s ease;}
.page-contact .contact-breadcrumb a:hover{color:var(--color-neon);}
.page-contact .contact-hero__kicker{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.3em;text-transform:uppercase;color:var(--color-cyan);margin:0 0 1rem;}
.page-contact .contact-hero__title{font-family:var(--font-display);font-size:clamp(3rem,9vw,6rem);font-weight:700;line-height:.95;letter-spacing:.01em;text-transform:uppercase;color:var(--color-mist);margin:0 0 1.25rem;max-width:8em;}
.page-contact .contact-hero__lead{font-family:var(--font-mono);font-size:var(--text-main);line-height:1.8;color:var(--color-dim);max-width:34em;margin:0 0 1.75rem;}
.page-contact .contact-hero__meta{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-mist);border-left:3px solid var(--color-neon);padding-left:1rem;line-height:1.7;letter-spacing:.06em;}
.page-contact .contact-hero__rule{height:1px;width:100%;background:var(--grad-neon);margin:1.75rem 0 1.25rem;opacity:.7;}
.page-contact .contact-hero__foot{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-dim);letter-spacing:.04em;line-height:1.8;}
.page-contact .contact-direct{position:relative;padding:4.5rem 1.25rem;background:var(--color-carbon);}
.page-contact .contact-direct::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--grad-neon);opacity:.55;}
.page-contact .contact-direct__inner{max-width:1120px;margin:0 auto;}
.page-contact .contact-direct__heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:1rem;margin-bottom:2.5rem;}
.page-contact .contact-direct__index{font-family:var(--font-display);font-size:2.4rem;font-weight:600;line-height:1;color:var(--color-neon);opacity:.65;}
.page-contact .contact-direct__title{font-family:var(--font-display);font-size:var(--text-h2);font-weight:600;line-height:1;text-transform:uppercase;color:var(--color-mist);margin:0;}
.page-contact .contact-direct__tag{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.2em;color:var(--color-dim);}
.page-contact .contact-direct__list{list-style:none;padding:0;margin:0;border-top:1px solid rgba(232,240,244,.12);}
.page-contact .contact-direct__row{display:grid;grid-template-columns:1fr;gap:.75rem;padding:1.75rem 0;border-bottom:1px solid rgba(232,240,244,.12);}
.page-contact .contact-direct__row:nth-child(even){padding-left:1rem;}
.page-contact .contact-direct__label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--color-dim);}
.page-contact .contact-direct__value{font-family:var(--font-mono);font-size:clamp(1.35rem,4vw,2.2rem);line-height:1.25;color:var(--color-mist);overflow-wrap:anywhere;}
.page-contact .contact-direct__value--mail,.page-contact .contact-direct__value--phone{color:var(--color-neon);transition:color .2s ease;}
.page-contact .contact-direct__value--mail:hover,.page-contact .contact-direct__value--phone:hover{color:var(--color-cyan);}
.page-contact .contact-direct__note{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-orange);}
.page-contact .contact-direct__hint{position:relative;justify-self:start;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-cyan);border-bottom:1px dashed rgba(0,212,255,.5);padding-bottom:.15rem;line-height:1.7;}
.page-contact .contact-direct__tooltip{position:absolute;left:0;bottom:calc(100% + .6rem);background:var(--color-ink);border:1px solid rgba(232,240,244,.18);box-shadow:var(--shadow-card);padding:.6rem .9rem;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.6;color:var(--color-mist);white-space:normal;max-width:70vw;opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease;pointer-events:none;z-index:5;width:max-content;}
.page-contact .contact-direct__hint:hover .contact-direct__tooltip,.page-contact .contact-direct__hint:focus .contact-direct__tooltip,.page-contact .contact-direct__hint:focus-visible .contact-direct__tooltip{opacity:1;transform:translateY(0);}
.page-contact .contact-direct__tail{margin-top:1.25rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-dim);}
.page-contact .contact-feedback{position:relative;padding:4.5rem 1.25rem;background:var(--color-ink);overflow:hidden;}
.page-contact .contact-feedback::before{content:"";position:absolute;top:0;right:6%;width:120px;height:120px;background:radial-gradient(circle,rgba(0,212,255,.14) 0%,transparent 70%);pointer-events:none;}
.page-contact .contact-feedback__inner{position:relative;max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:2.5rem;}
.page-contact .contact-feedback__body{min-width:0;align-self:center;}
.page-contact .contact-feedback__index{display:inline-block;font-family:var(--font-display);font-size:2.4rem;color:var(--color-orange);line-height:1;opacity:.85;margin-bottom:.75rem;}
.page-contact .contact-feedback__title{font-family:var(--font-display);font-size:var(--text-h2);font-weight:600;text-transform:uppercase;color:var(--color-mist);margin:0 0 1.25rem;}
.page-contact .contact-feedback__lead{font-family:var(--font-mono);font-size:var(--text-main);color:var(--color-neon);border-left:3px solid var(--color-neon);padding-left:1rem;margin:0 0 1.75rem;line-height:1.8;}
.page-contact .contact-feedback__steps{list-style:none;margin:0 0 1.75rem;padding:0;counter-reset:fb;border-top:1px solid rgba(232,240,244,.1);}
.page-contact .contact-feedback__steps li{counter-increment:fb;display:flex;align-items:center;gap:.9rem;padding:.85rem 0;border-bottom:1px solid rgba(232,240,244,.1);font-family:var(--font-mono);font-size:var(--text-small);color:var(--color-mist);line-height:1.6;}
.page-contact .contact-feedback__steps li::before{content:counter(fb,decimal-leading-zero);font-family:var(--font-display);font-size:1.1rem;color:var(--color-cyan);line-height:1;flex:none;}
.page-contact .contact-feedback__steps li:last-child::before{color:var(--color-orange);}
.page-contact .contact-feedback__note{font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.9;color:var(--color-dim);max-width:54em;}
.page-contact .contact-feedback__figure{margin:0;position:relative;}
.page-contact .contact-feedback__img{width:100%;height:auto;border:1px solid rgba(232,240,244,.12);background:var(--color-carbon);}
.page-contact .contact-feedback__caption{margin-top:.75rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-dim);line-height:1.7;}
.page-contact .contact-location{padding:4.5rem 1.25rem;background:var(--color-carbon);}
.page-contact .contact-location__inner{max-width:1120px;margin:0 auto;}
.page-contact .contact-location__index{display:inline-block;font-family:var(--font-display);font-size:2.4rem;color:var(--color-neon);line-height:1;opacity:.7;margin-bottom:.75rem;}
.page-contact .contact-location__title{font-family:var(--font-display);font-size:var(--text-h2);font-weight:600;text-transform:uppercase;color:var(--color-mist);margin:0 0 .75rem;}
.page-contact .contact-location__addr{font-family:var(--font-mono);font-size:clamp(1.1rem,3vw,1.8rem);line-height:1.5;color:var(--color-mist);margin:0 0 1.75rem;}
.page-contact .contact-location__map{border:1px solid rgba(232,240,244,.14);padding:.6rem;background:rgba(13,13,15,.6);box-shadow:var(--shadow-card);}
.page-contact .contact-location__svg{display:block;width:100%;height:auto;background:var(--color-ink);}
.page-contact .contact-location__note{max-width:50em;margin-top:1.5rem;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.9;color:var(--color-dim);}
.page-contact .contact-related{padding:3.5rem 1.25rem 5rem;background:var(--color-ink);}
.page-contact .contact-related__inner{max-width:1120px;margin:0 auto;}
.page-contact .contact-related__title{font-family:var(--font-display);font-size:1.4rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-dim);margin:0 0 1.5rem;}
.page-contact .contact-related__grid{display:flex;flex-wrap:wrap;gap:.8rem;}
.page-contact .contact-related__link{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:var(--text-small);color:var(--color-mist);border:1px solid rgba(232,240,244,.2);padding:.85rem 1.3rem;transition:border-color .2s ease,color .2s ease,transform .2s ease;}
.page-contact .contact-related__link:hover,.page-contact .contact-related__link:focus-visible{border-color:var(--color-neon);color:var(--color-neon);transform:translateY(-2px);}
@media (min-width:768px){
  .page-contact .contact-hero{padding:8rem 2.5rem 4rem;}
  .page-contact .contact-hero__inner{padding-left:3.5rem;}
  .page-contact .contact-hero__lead{font-size:1.0625rem;max-width:38em;}
  .page-contact .contact-hero__meta{font-size:var(--text-small);}
  .page-contact .contact-direct__row{grid-template-columns:minmax(200px,260px) minmax(0,1fr);align-items:center;gap:0 2rem;padding:2rem 0;}
  .page-contact .contact-direct__row:nth-child(even){padding-left:3rem;}
  .page-contact .contact-direct__note{grid-column:2;justify-self:start;}
  .page-contact .contact-direct__hint{grid-column:2;}
  .page-contact .contact-feedback__inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:3.5rem;align-items:center;}
  .page-contact .contact-feedback__figure{transform:translateY(12px);}
  .page-contact .contact-location__addr{font-size:1.6rem;}
}
@media (min-width:1024px){
  .page-contact .contact-hero__inner{padding-left:5rem;}
  .page-contact .contact-direct,.page-contact .contact-feedback,.page-contact .contact-location,.page-contact .contact-related{padding-left:2.5rem;padding-right:2.5rem;}
  .page-contact .contact-direct__heading{margin-bottom:3rem;}
}
