/* ============ page-contact ============ */
.page-contact{
  --pc-pad:20px;
  --pc-gap:18px;
  position:relative;
  background:var(--ink);
  color:var(--fog);
  font-family:var(--sans);
  padding-bottom:72px;
}
.page-contact .pc-wrap{
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:var(--pc-pad);
}

/* ---------- hero ---------- */
.page-contact .pc-hero{
  padding:92px 0 24px;
  background-image:var(--grid-tex);
  background-size:48px 48px;
  background-position:center top;
}
.page-contact .pc-hero .ayx-crumbs{ margin-bottom:26px; }
.page-contact .pc-hero .ayx-h1{
  margin:14px 0 0;
  max-width:22ch;
}
.page-contact .pc-hero .ayx-lede{
  margin:18px 0 0;
  max-width:62ch;
}
.page-contact .pc-strip{
  list-style:none;
  margin:34px 0 0;
  padding:0;
  display:grid;
  gap:1px;
  background:var(--line);
  border-radius:var(--r-md);
  overflow:hidden;
}
.page-contact .pc-strip li{
  background:var(--ink-2);
  padding:16px 18px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.page-contact .pc-strip span{
  font-family:var(--mono);
  font-size:14px;
  letter-spacing:.04em;
  color:var(--fog);
}
.page-contact .pc-strip em{
  font-style:normal;
  font-size:12.5px;
  line-height:1.6;
  color:var(--steel);
}

/* ---------- section shells ---------- */
.page-contact .pc-section{ padding:58px 0; }
.page-contact .pc-section--tint{ background:var(--ink-2); }
.page-contact .pc-section--deep{ background:var(--hull); }

.page-contact .pc-head{
  max-width:66ch;
  margin-bottom:26px;
}
.page-contact .pc-head .ayx-h2{ margin:12px 0 0; }
.page-contact .pc-sub{
  margin:16px 0 0;
  font-size:16px;
  line-height:1.85;
  color:var(--dim);
}

.page-contact .pc-media{
  margin-bottom:34px;
  border-radius:var(--r-lg);
  overflow:hidden;
}
.page-contact .pc-media .ayx-media__img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
}

.page-contact .pc-caption{
  margin:12px 0 0;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.08em;
  color:var(--steel);
}

/* ---------- three channel cards ---------- */
.page-contact .pc-channels{
  display:grid;
  gap:var(--pc-gap);
  align-items:end;
}
.page-contact .pc-channel{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:13px;
  padding:24px 20px 22px;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(18,38,61,.94),rgba(10,26,47,.94));
  transition:transform var(--t) var(--ease),border-color var(--t) var(--ease),box-shadow var(--t) var(--ease);
}
.page-contact .pc-channel::before{
  content:"";
  position:absolute;
  left:-1px;
  top:22px;
  bottom:22px;
  width:3px;
  border-radius:var(--pill);
  background:var(--pc-accent,var(--signal));
  opacity:0;
  transition:opacity var(--t) var(--ease);
}
.page-contact .pc-channel:hover,
.page-contact .pc-channel:focus-within{
  transform:translateY(-2px);
  border-color:var(--pc-accent,var(--signal));
  box-shadow:0 22px 46px -30px rgba(0,0,0,.9);
}
.page-contact .pc-channel:hover::before,
.page-contact .pc-channel:focus-within::before{ opacity:1; }

.page-contact .pc-channel--work{ --pc-accent:var(--signal); }
.page-contact .pc-channel--mail{ --pc-accent:var(--pine-lt); }
.page-contact .pc-channel--call{ --pc-accent:var(--blue); }

.page-contact .pc-channel__head{
  display:flex;
  align-items:center;
  gap:12px;
}
.page-contact .pc-channel__icon{
  flex:0 0 auto;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:var(--pill);
  border:1px solid var(--line-strong);
  color:var(--pc-accent,var(--signal));
}
.page-contact .pc-channel__icon svg{
  width:22px;
  height:22px;
  display:block;
}
.page-contact .pc-channel__idx{
  font-family:var(--mono);
  font-size:11.5px;
  letter-spacing:.14em;
  color:var(--steel);
}
.page-contact .pc-channel__title{
  margin:2px 0 0;
  font-size:21px;
  font-weight:800;
  letter-spacing:-.01em;
  color:var(--fog);
}
.page-contact .pc-channel__meta{
  margin:0;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.06em;
  line-height:1.7;
  color:var(--pc-accent,var(--steel));
  overflow-wrap:anywhere;
}
.page-contact .pc-channel__lead{
  margin:0;
  font-size:15px;
  line-height:1.8;
  color:var(--dim);
}
.page-contact .pc-channel__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.page-contact .pc-channel__list li{
  position:relative;
  padding-left:16px;
  font-size:14px;
  line-height:1.7;
  color:var(--dim);
}
.page-contact .pc-channel__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.68em;
  width:6px;
  height:6px;
  border-radius:2px;
  background:var(--pc-accent,var(--steel));
}
.page-contact .pc-channel__foot{
  margin-top:auto;
  padding-top:10px;
}

/* ---------- asymmetric duo ---------- */
.page-contact .pc-duo{
  display:grid;
  gap:30px;
  align-items:start;
}
.page-contact .pc-duo__aside .ayx-h2{ margin:12px 0 0; }
.page-contact .pc-duo__aside .pc-prose{ margin:16px 0 0; }
.page-contact .pc-duo__aside .pc-points{ margin-top:22px; }

.page-contact .pc-prose{
  font-size:16px;
  line-height:1.85;
  color:var(--dim);
  max-width:64ch;
}
.page-contact .pc-duo__main .ayx-h2{ margin:12px 0 0; }
.page-contact .pc-duo__main .pc-prose{ margin:16px 0 0; }

.page-contact .pc-points{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.page-contact .pc-points li{
  position:relative;
  padding-left:20px;
  font-size:15px;
  line-height:1.8;
  color:var(--dim);
}
.page-contact .pc-points li::before{
  content:"";
  position:absolute;
  left:0;
  top:.7em;
  width:10px;
  height:2px;
  background:var(--signal);
}
.page-contact .pc-points strong{
  color:var(--fog);
  font-weight:600;
}
.page-contact .pc-points--tight{ gap:10px; }

/* ---------- ticket spec ---------- */
.page-contact .pc-spec{
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  background:var(--ink-3);
  padding:22px 20px;
  font-family:var(--mono);
  font-size:13.5px;
  line-height:1.9;
}
.page-contact .pc-spec__title{
  margin:0 0 14px;
  font-size:11.5px;
  letter-spacing:.16em;
  color:var(--signal);
}
.page-contact .pc-spec__row{
  display:flex;
  flex-wrap:wrap;
  gap:6px 16px;
  padding:7px 0;
  border-top:1px solid var(--line);
}
.page-contact .pc-spec__row:first-of-type{ border-top:0; }
.page-contact .pc-spec__key{
  flex:0 0 64px;
  color:var(--steel);
  letter-spacing:.08em;
}
.page-contact .pc-spec__val{
  flex:1 1 200px;
  color:var(--fog);
  overflow-wrap:anywhere;
}
.page-contact .pc-duo__main .pc-points{ margin-top:22px; }

/* ---------- reach rows ---------- */
.page-contact .pc-reach{
  margin-top:22px;
  padding:18px 20px;
  border-radius:var(--r-md);
  background:var(--ink-2);
  border:1px solid var(--line);
  transition:border-color var(--t) var(--ease),transform var(--t) var(--ease);
}
.page-contact .pc-reach:hover,
.page-contact .pc-reach:focus-within{
  transform:translateY(-2px);
  border-color:var(--line-strong);
}
.page-contact .pc-reach__label{
  margin:0 0 10px;
  font-family:var(--mono);
  font-size:11.5px;
  letter-spacing:.16em;
  color:var(--steel);
}
.page-contact .pc-reach .ayx-copy{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
}
.page-contact .ayx-copy__value{
  font-family:var(--mono);
  font-size:15px;
  line-height:1.7;
  color:var(--fog);
  overflow-wrap:anywhere;
}
.page-contact .pc-reach__hint{
  margin:12px 0 0;
  font-size:13.5px;
  line-height:1.75;
  color:var(--steel);
}

.page-contact .pc-panel{
  padding:26px 22px;
  border-radius:var(--r-lg);
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(18,38,61,.9),rgba(5,12,20,.7));
}
.page-contact .pc-panel .ayx-h3{ margin:0 0 16px; }
.page-contact .pc-panel .ayx-note{ margin-top:20px; }

/* ---------- region ---------- */
.page-contact .pc-region .ayx-media{
  border-radius:var(--r-lg);
  overflow:hidden;
  border:1px solid var(--line);
}
.page-contact .pc-region .ayx-media__img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
}

/* ---------- cooperation ---------- */
.page-contact .pc-coop{
  display:grid;
  gap:16px;
}
.page-contact .pc-coop__item{
  position:relative;
  padding:24px 20px 22px;
  border-radius:var(--r-lg);
  background:var(--ink-2);
  border:1px solid var(--line);
  overflow:hidden;
  transition:transform var(--t) var(--ease),border-color var(--t) var(--ease);
}
.page-contact .pc-coop__item::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:var(--pc-mark,var(--signal));
}
.page-contact .pc-coop__item--pine{ --pc-mark:var(--pine); }
.page-contact .pc-coop__item--blue{ --pc-mark:var(--blue); }
.page-contact .pc-coop__item--signal{ --pc-mark:var(--signal); }
.page-contact .pc-coop__item:hover{
  transform:translateY(-2px);
  border-color:var(--pc-mark,var(--signal));
}
.page-contact .pc-coop__item .ayx-h3{ margin:0 0 12px; }
.page-contact .pc-coop__item p{
  margin:0;
  font-size:14.5px;
  line-height:1.8;
  color:var(--dim);
}
.page-contact .pc-coop__foot{
  margin:26px 0 0;
  padding:16px 18px;
  border-radius:var(--r-md);
  border:1px dashed var(--line-strong);
  font-size:14.5px;
  line-height:1.8;
  color:var(--dim);
}
.page-contact .pc-coop__foot .ayx-mono{
  color:var(--fog);
  overflow-wrap:anywhere;
}

/* ---------- self-check steps ---------- */
.page-contact .pc-steps{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:16px;
  counter-reset:pc-step;
}
.page-contact .pc-step{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:24px 20px 22px;
  border-radius:var(--r-lg);
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(5,12,20,.6),rgba(18,38,61,.6));
  transition:transform var(--t) var(--ease),border-color var(--t) var(--ease);
}
.page-contact .pc-step:hover{
  transform:translateY(-2px);
  border-color:var(--pine-lt);
}
.page-contact .pc-step__num{
  font-family:var(--mono);
  font-size:28px;
  line-height:1;
  letter-spacing:.06em;
  color:var(--steel);
}
.page-contact .pc-step__title{
  margin:0;
  font-size:18px;
  font-weight:700;
  color:var(--fog);
}
.page-contact .pc-step__text{
  margin:0;
  font-size:14.5px;
  line-height:1.8;
  color:var(--dim);
}
.page-contact .pc-step__swatches{
  display:flex;
  gap:6px;
  margin-top:2px;
}
.page-contact .pc-step__swatch{
  width:18px;
  height:6px;
  border-radius:2px;
  display:block;
}
.page-contact .pc-step__swatch--signal{ background:var(--signal); }
.page-contact .pc-step__swatch--pine{ background:var(--pine-lt); }
.page-contact .pc-step__swatch--blue{ background:var(--blue); }
.page-contact .pc-step__link{
  margin-top:auto;
  font-family:var(--mono);
  font-size:13px;
  letter-spacing:.04em;
  color:var(--fog);
  text-decoration:none;
  border-bottom:1px solid var(--blue);
  align-self:flex-start;
  padding-bottom:2px;
  transition:color var(--t) var(--ease),border-color var(--t) var(--ease);
}
.page-contact .pc-step__link:hover,
.page-contact .pc-step__link:focus-visible{
  color:var(--signal);
  border-color:var(--signal);
}

.page-contact .pc-after{
  margin-top:28px;
  padding:22px 20px;
  border-radius:var(--r-lg);
  background:var(--ink);
  border:1px solid var(--line);
}
.page-contact .pc-after__text{
  margin:0 0 18px;
  font-size:15.5px;
  line-height:1.8;
  color:var(--dim);
  max-width:60ch;
}
.page-contact .pc-after__links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* ---------- focus visibility ---------- */
.page-contact a:focus-visible,
.page-contact button:focus-visible{
  outline:2px solid var(--signal);
  outline-offset:2px;
}

/* ---------- wide screens ---------- */
@media (min-width:720px){
  .page-contact .pc-strip{ grid-template-columns:repeat(3,1fr); }
  .page-contact .pc-coop{ grid-template-columns:repeat(3,1fr); }
  .page-contact .pc-steps{ grid-template-columns:repeat(3,1fr); }
  .page-contact{ --pc-pad:32px; }
}

@media (min-width:900px){
  .page-contact .pc-hero{ padding-top:104px; }
  .page-contact .pc-section{ padding:84px 0; }
  .page-contact .pc-channels{
    grid-template-columns:1fr 1.14fr 1fr;
    gap:22px;
  }
  .page-contact .pc-channel{ padding:28px 24px 24px; }
  .page-contact .pc-channel--mail{
    padding:38px 26px 32px;
    margin-bottom:16px;
    z-index:2;
    box-shadow:0 34px 70px -34px rgba(0,0,0,.92);
    border-color:var(--line-strong);
  }
  .page-contact .pc-duo{
    grid-template-columns:5fr 7fr;
    gap:56px;
  }
  .page-contact .pc-duo--7-5{ grid-template-columns:7fr 5fr; }
  .page-contact .pc-duo--4-8{ grid-template-columns:4fr 8fr; }
  .page-contact .pc-duo__aside .pc-prose{ margin-top:18px; }
}

@media (min-width:1200px){
  .page-contact{ --pc-pad:48px; }
  .page-contact .pc-section{ padding:96px 0; }
  .page-contact .pc-channel__title{ font-size:23px; }
}

@media (prefers-reduced-motion:reduce){
  .page-contact *{
    transition-duration:0ms !important;
    animation-duration:0ms !important;
  }
}
