.page-contact{
  --pc-hair:rgba(169,184,204,.24);
  --pc-gap:clamp(18px,2.8vw,34px);
  --pc-rhythm:clamp(46px,6vw,84px);
  background:var(--ink);
  color:var(--paper);
  font-family:var(--font-body);
  overflow-x:hidden;
  padding-bottom:clamp(48px,7vw,92px);
}
.page-contact a{color:inherit;text-decoration:none;}
.page-contact .breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.55em;
  padding-top:clamp(16px,3vw,28px);
  font-family:var(--font-mono);
  font-size:var(--step-label);
  letter-spacing:.12em;
  color:var(--mist);
}
.page-contact .breadcrumb a{
  color:var(--mist);
  border-bottom:1px solid transparent;
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.page-contact .breadcrumb a:hover,
.page-contact .breadcrumb a:focus-visible{
  color:var(--coral);
  border-bottom-color:var(--coral);
}
.page-contact .breadcrumb span[aria-current]{color:var(--paper);}

/* ---------- hero ---------- */
.page-contact .pc-hero{
  display:grid;
  gap:clamp(26px,4vw,50px);
  padding-top:clamp(22px,4vw,46px);
}
.page-contact .pc-hero__body{min-width:0;}
.page-contact .pc-hero__body .eyebrow{
  color:var(--jade);
  margin:0 0 .9em;
}
.page-contact .pc-hero__body h1{
  margin:0;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(30px,5.4vw,52px);
  line-height:1.08;
  letter-spacing:-.01em;
  color:var(--paper);
}
.page-contact .pc-hero__body .lede{
  margin:1.1em 0 0;
  max-width:44ch;
  color:var(--paper-dim);
  font-size:var(--step-body);
  line-height:1.85;
}
.page-contact .pc-direct{
  margin-top:clamp(26px,4vw,42px);
  padding-top:clamp(18px,2.6vw,26px);
  border-top:3px solid var(--coral);
}
.page-contact .pc-direct__label{
  margin:0;
  font-family:var(--font-label);
  font-size:var(--step-label);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--mist);
}
.page-contact .pc-mail{
  display:block;
  margin:.28em 0 1.4em;
  font-family:var(--font-mono);
  font-size:clamp(18px,3.6vw,32px);
  line-height:1.25;
  letter-spacing:-.01em;
  color:var(--paper);
  overflow-wrap:anywhere;
  border-bottom:3px solid var(--coral);
  padding-bottom:.18em;
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.page-contact .pc-mail:hover,
.page-contact .pc-mail:focus-visible{
  color:var(--coral);
  border-bottom-color:var(--sand);
}
.page-contact .pc-tel{
  display:inline-block;
  margin:.3em 0 1.1em;
  font-family:var(--font-mono);
  font-size:clamp(24px,4.4vw,38px);
  letter-spacing:.04em;
  color:var(--sand);
  border-bottom:3px solid transparent;
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.page-contact .pc-tel:hover,
.page-contact .pc-tel:focus-visible{
  color:var(--paper);
  border-bottom-color:var(--sand);
}
.page-contact .pc-direct__hint{
  margin:0;
  font-size:var(--step-small);
  line-height:1.7;
  color:var(--mist);
  max-width:46ch;
}
.page-contact .pc-hero__figure{
  margin:0;
  border:2px solid var(--pc-hair);
  box-shadow:10px 10px 0 var(--ink-deep);
  background:var(--ink-deep);
}
.page-contact .pc-hero__figure img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}

/* ---------- shared section rhythm ---------- */
.page-contact .pc-section{padding-top:var(--pc-rhythm);}
.page-contact .pc-head{margin-bottom:clamp(20px,3vw,32px);}
.page-contact .pc-head .section-num{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:var(--step-label);
  letter-spacing:.18em;
  color:var(--sand);
  padding-bottom:.5em;
}
.page-contact .pc-head h2{
  margin:0;
  font-family:var(--font-display);
  font-weight:900;
  font-size:var(--step-h2);
  line-height:1.2;
  color:var(--paper);
  max-width:22ch;
}
.page-contact .pc-head__note{
  margin:.9em 0 0;
  max-width:56ch;
  color:var(--paper-dim);
  font-size:var(--step-body);
  line-height:1.85;
}

/* ---------- channel cards ---------- */
.page-contact .pc-channels{
  display:grid;
  gap:var(--pc-gap);
}
.page-contact .pc-channel{
  border:2px solid var(--pc-hair);
  background:rgba(38,54,77,.55);
  padding:clamp(20px,3vw,30px);
  box-shadow:8px 8px 0 rgba(7,21,40,.7);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.page-contact .pc-channel:hover,
.page-contact .pc-channel:focus-within{
  transform:translateY(-2px);
  box-shadow:11px 11px 0 rgba(7,21,40,.7);
  border-color:var(--coral);
}
.page-contact .pc-channel--tel:hover,
.page-contact .pc-channel--tel:focus-within{border-color:var(--jade);}
.page-contact .pc-channel__label{
  margin:0 0 .7em;
  font-family:var(--font-label);
  font-size:var(--step-label);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--jade);
}
.page-contact .pc-channel--tel .pc-channel__label{color:var(--coral);}
.page-contact .pc-channel h3{
  margin:0 0 .5em;
  font-family:var(--font-display);
  font-weight:900;
  font-size:var(--step-h3);
  line-height:1.3;
  color:var(--paper);
}
.page-contact .pc-channel__value{
  display:block;
  margin-bottom:1.1em;
  font-family:var(--font-mono);
  font-size:clamp(15px,2.4vw,19px);
  line-height:1.5;
  color:var(--paper);
  overflow-wrap:anywhere;
  border-bottom:2px solid var(--coral);
  padding-bottom:.2em;
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.page-contact .pc-channel--tel .pc-channel__value{border-bottom-color:var(--sand);}
.page-contact .pc-channel__value:hover,
.page-contact .pc-channel__value:focus-visible{color:var(--coral);}
.page-contact .pc-channel--tel .pc-channel__value:hover,
.page-contact .pc-channel--tel .pc-channel__value:focus-visible{color:var(--sand);}
.page-contact .pc-channel ul{
  margin:0;
  padding:0;
  list-style:none;
}
.page-contact .pc-channel li{
  position:relative;
  padding:.4em 0 .4em 1.5em;
  font-size:var(--step-small);
  line-height:1.7;
  color:var(--paper-dim);
}
.page-contact .pc-channel li::before{
  content:"—";
  position:absolute;
  left:0;
  color:var(--jade);
}
.page-contact .pc-channel--tel li::before{color:var(--coral);}
.page-contact .pc-channel__foot{
  margin:1.2em 0 0;
  padding-top:.9em;
  border-top:1px dashed var(--pc-hair);
  font-size:var(--step-small);
  line-height:1.7;
  color:var(--mist);
}

/* ---------- version prep ---------- */
.page-contact .pc-prep{
  display:grid;
  gap:clamp(24px,3.6vw,44px);
}
.page-contact .pc-prep__body{min-width:0;}
.page-contact .pc-prep__body .pc-head{margin-bottom:clamp(14px,2vw,22px);}
.page-contact .pc-checklist{
  border-top:2px solid rgba(232,196,104,.5);
  margin-bottom:1.2em;
}
.page-contact .pc-check{
  display:flex;
  gap:.85em;
  align-items:flex-start;
  padding:.95em 0;
  border-bottom:1px dashed var(--pc-hair);
  cursor:pointer;
  font-size:var(--step-small);
  line-height:1.75;
  color:var(--paper-dim);
  transition:color var(--dur) var(--ease);
}
.page-contact .pc-check b{
  font-family:var(--font-display);
  font-weight:900;
  color:var(--paper);
  margin-right:.15em;
}
.page-contact .pc-check input{
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 auto;
  width:20px;
  height:20px;
  margin:.28em 0 0;
  border:2px solid var(--mist);
  background:transparent;
  cursor:pointer;
  position:relative;
  transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);
}
.page-contact .pc-check input:checked{
  border-color:var(--jade);
  background:var(--jade-deep);
}
.page-contact .pc-check input:checked::after{
  content:"";
  position:absolute;
  left:5px;
  top:1px;
  width:6px;
  height:11px;
  border:2px solid var(--paper);
  border-top:0;
  border-left:0;
  transform:rotate(45deg);
}
.page-contact .pc-check input:focus-visible{
  outline:2px solid var(--sand);
  outline-offset:2px;
}
.page-contact .pc-check:hover{color:var(--paper);}
.page-contact .pc-prep__link{
  margin:0;
  font-size:var(--step-small);
  line-height:1.75;
  color:var(--mist);
}
.page-contact .pc-prep__link a{
  color:var(--sand);
  border-bottom:1px solid rgba(232,196,104,.55);
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.page-contact .pc-prep__link a:hover,
.page-contact .pc-prep__link a:focus-visible{
  color:var(--coral);
  border-bottom-color:var(--coral);
}
.page-contact .pc-prep__figure{
  margin:0;
  border:2px solid var(--pc-hair);
  box-shadow:8px 8px 0 var(--ink-deep);
  background:var(--ink-deep);
}
.page-contact .pc-prep__figure img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
.page-contact .pc-prep__figure .media-caption{
  padding:.85em 1em;
  font-family:var(--font-label);
  font-size:var(--step-label);
  letter-spacing:.06em;
  line-height:1.6;
  color:var(--mist);
  border-top:2px solid var(--pc-hair);
}

/* ---------- team band ---------- */
.page-contact .pc-section--band{
  border-top:4px solid var(--jade);
  margin-top:var(--pc-rhythm);
  padding-top:clamp(28px,4vw,48px);
}
.page-contact .pc-ask{
  display:grid;
  gap:clamp(14px,2.2vw,24px);
}
.page-contact .pc-ask__item{
  border:2px solid var(--pc-hair);
  border-left:6px solid var(--sand);
  padding:clamp(16px,2.4vw,24px);
  background:rgba(7,21,40,.5);
  transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.page-contact .pc-ask__item:hover{
  transform:translateY(-2px);
  border-color:var(--jade);
  border-left-color:var(--coral);
}
.page-contact .pc-ask__num{
  display:block;
  font-family:var(--font-mono);
  font-size:var(--step-label);
  letter-spacing:.2em;
  color:var(--sand);
  margin-bottom:.6em;
}
.page-contact .pc-ask__item h3{
  margin:0 0 .45em;
  font-family:var(--font-display);
  font-weight:900;
  font-size:var(--step-h3);
  line-height:1.3;
  color:var(--paper);
}
.page-contact .pc-ask__item p{
  margin:0;
  font-size:var(--step-small);
  line-height:1.75;
  color:var(--paper-dim);
}
.page-contact .pc-band__foot{
  margin:clamp(20px,3vw,30px) 0 0;
  max-width:66ch;
  font-size:var(--step-small);
  line-height:1.85;
  color:var(--mist);
}

/* ---------- visit ---------- */
.page-contact .pc-visit{
  display:grid;
  gap:clamp(18px,2.6vw,28px);
}
.page-contact .pc-visit__plate{
  border:2px solid var(--pc-hair);
  padding:clamp(20px,3vw,32px);
  background-color:var(--ink-deep);
  background-image:
    repeating-linear-gradient(0deg,rgba(169,184,204,.13) 0 1px,transparent 1px 42px),
    repeating-linear-gradient(90deg,rgba(169,184,204,.13) 0 1px,transparent 1px 42px);
  box-shadow:8px 8px 0 rgba(7,21,40,.75);
}
.page-contact .pc-visit__city{
  margin:0 0 .8em;
  font-family:var(--font-mono);
  font-size:var(--step-label);
  letter-spacing:.2em;
  color:var(--sand);
}
.page-contact .pc-visit__addr{
  margin:0;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(19px,3vw,26px);
  line-height:1.45;
  color:var(--paper);
  max-width:20ch;
}
.page-contact .pc-visit__meta{
  margin:1.1em 0 0;
  padding-top:.9em;
  border-top:1px dashed var(--pc-hair);
  font-size:var(--step-small);
  line-height:1.75;
  color:var(--mist);
}
.page-contact .pc-visit__notes h3{
  margin:0 0 .8em;
  font-family:var(--font-display);
  font-weight:900;
  font-size:var(--step-h3);
  color:var(--paper);
}
.page-contact .pc-visit__notes ul{
  margin:0;
  padding:0;
  list-style:none;
}
.page-contact .pc-visit__notes li{
  position:relative;
  padding:.55em 0 .55em 1.6em;
  font-size:var(--step-small);
  line-height:1.75;
  color:var(--paper-dim);
  border-bottom:1px dotted var(--pc-hair);
}
.page-contact .pc-visit__notes li::before{
  content:"";
  position:absolute;
  left:0;
  top:1.05em;
  width:10px;
  height:10px;
  background:var(--jade);
}

/* ---------- response ---------- */
.page-contact .pc-response{
  margin:0;
  padding:0;
  list-style:none;
  border-top:2px solid var(--pc-hair);
}
.page-contact .pc-response li{
  display:grid;
  gap:.4em;
  padding:clamp(14px,2.2vw,20px) 0;
  border-bottom:2px solid var(--pc-hair);
}
.page-contact .pc-response__time{
  font-family:var(--font-mono);
  font-size:var(--step-small);
  letter-spacing:.04em;
  color:var(--jade);
}
.page-contact .pc-response__text{
  font-size:var(--step-small);
  line-height:1.8;
  color:var(--paper-dim);
}
.page-contact .pc-response__text a{
  color:var(--sand);
  border-bottom:1px solid rgba(232,196,104,.5);
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.page-contact .pc-response__text a:hover,
.page-contact .pc-response__text a:focus-visible{
  color:var(--coral);
  border-bottom-color:var(--coral);
}
.page-contact .pc-tip{
  margin-top:clamp(22px,3vw,34px);
  border:2px solid var(--pc-hair);
  background:var(--paper);
  color:var(--ink);
  padding:clamp(20px,3vw,30px);
  box-shadow:8px 8px 0 var(--ink-deep);
}
.page-contact .pc-tip__title{
  margin:0 0 .7em;
  font-family:var(--font-display);
  font-weight:900;
  font-size:var(--step-h3);
  line-height:1.3;
  color:var(--ink);
}
.page-contact .pc-tip p{
  margin:0;
  font-size:var(--step-small);
  line-height:1.85;
  color:var(--slate);
  max-width:60ch;
}
.page-contact .pc-tip p + p{margin-top:.7em;}
.page-contact .pc-tip a{
  color:var(--coral-deep);
  border-bottom:2px solid var(--coral);
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.page-contact .pc-tip a:hover,
.page-contact .pc-tip a:focus-visible{
  color:var(--ink);
  border-bottom-color:var(--ink);
}

@media (min-width:700px){
  .page-contact .pc-channels{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-contact .pc-ask{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-contact .pc-visit{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;}
  .page-contact .pc-response li{grid-template-columns:170px minmax(0,1fr);gap:clamp(14px,2.4vw,30px);align-items:baseline;}
}

@media (min-width:920px){
  .page-contact .pc-hero{
    grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
    align-items:start;
  }
  .page-contact .pc-prep{
    grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
    align-items:start;
  }
  .page-contact .pc-head h2{max-width:26ch;}
}

@media (prefers-reduced-motion:reduce){
  .page-contact .pc-channel,
  .page-contact .pc-ask__item{
    transition:border-color var(--dur) var(--ease);
  }
  .page-contact .pc-channel:hover,
  .page-contact .pc-channel:focus-within,
  .page-contact .pc-ask__item:hover{transform:none;}
}
<<<END>>>
