.page-contact{
  --pc-card:var(--ink-700);
  --pc-card-soft:var(--ink-800);
  background:var(--ink-900);
  color:var(--fg);
  padding:0 0 72px;
  overflow-x:hidden;
}
.page-contact .shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 20px;}
.page-contact .breadcrumb{margin:20px 0 4px;display:flex;flex-wrap:wrap;gap:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--fg-dim);}
.page-contact .breadcrumb__item{color:var(--fg-dim);text-decoration:none;transition:color var(--ease);}
.page-contact .breadcrumb__item:hover{color:var(--lime);}
.page-contact .breadcrumb__item[aria-current="page"]{color:var(--cyan);}

/* ---------- hero ---------- */
.page-contact .contact-hero{padding:20px 0 0;}
.page-contact .hero-grid{display:grid;gap:28px;}
.page-contact .hero-copy{min-width:0;}
.page-contact .eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;color:var(--lime);text-transform:uppercase;}
.page-contact .eyebrow .num{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:24px;padding:0 8px;border-radius:var(--r-pill);border:1px solid var(--lime);font-size:12px;color:var(--lime);}
.page-contact h1{font-family:var(--font-display);font-weight:700;font-size:clamp(32px,8vw,64px);line-height:1.06;letter-spacing:.01em;margin:0 0 18px;color:var(--fg);}
.page-contact .hero-lead{margin:0 0 26px;max-width:56ch;font-size:15px;line-height:1.85;color:var(--fg-dim);}

.page-contact .copy-fields{display:grid;gap:14px;}
.page-contact .copy-field--hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"label hint" "value hint";
  align-items:center;
  gap:6px 16px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:var(--r-panel);
  background:linear-gradient(150deg,var(--ink-700) 0%,var(--ink-800) 100%);
  transition:border-color var(--ease),transform var(--ease);
}
.page-contact .copy-field--hero:hover{border-color:var(--lime);transform:translateY(-2px);}
.page-contact .copy-field--hero .copy-field__label{grid-area:label;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--fg-dim);text-transform:uppercase;}
.page-contact .copy-field--hero .copy-field__value{grid-area:value;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:clamp(17px,4.8vw,26px);line-height:1.35;letter-spacing:-.01em;color:var(--fg);overflow-wrap:anywhere;}
.page-contact .copy-field--hero .copy-field__hint{
  grid-area:hint;
  appearance:none;
  cursor:pointer;
  padding:9px 16px;
  border:1px solid var(--line);
  border-radius:var(--r-pill);
  background:transparent;
  color:var(--lime);
  font-family:var(--font-body);
  font-size:13px;
  line-height:1.2;
  transition:background var(--ease),color var(--ease),border-color var(--ease);
}
.page-contact .copy-field--hero .copy-field__hint:hover{background:var(--lime-soft);color:var(--ink-900);border-color:var(--lime-soft);}
.page-contact .copy-field--hero .copy-field__hint[data-copied]{background:var(--lime);border-color:var(--lime);color:var(--ink-900);}

.page-contact .hero-aside{display:grid;gap:16px;min-width:0;}
.page-contact .hero-figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-img);background:var(--ink-700);}
.page-contact .hero-figure img{display:block;width:100%;height:auto;aspect-ratio:10 / 7;object-fit:cover;}
.page-contact .figure__caption{display:block;padding:12px 16px;font-size:12px;line-height:1.6;color:var(--fg-dim);border-top:1px solid var(--line);background:var(--ink-800);}

.page-contact .hours-panel{padding:20px;border-radius:var(--r-module);border:1px solid var(--line);background:radial-gradient(120% 140% at 100% 0%,rgba(184,255,61,.12),transparent 60%),var(--ink-800);}
.page-contact .hours-panel__label{margin:0 0 6px;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--fg-dim);text-transform:uppercase;}
.page-contact .hours-panel__time{margin:0 0 12px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:clamp(30px,7vw,44px);font-weight:700;line-height:1;color:var(--lime);letter-spacing:-.02em;}
.page-contact .hours-panel__note{margin:0;font-size:13px;line-height:1.8;color:var(--fg-dim);}

/* ---------- sections ---------- */
.page-contact .sec{margin-top:64px;}
.page-contact .sec-head{display:grid;gap:12px;margin-bottom:24px;}
.page-contact .plaque{display:inline-flex;align-items:center;gap:10px;width:fit-content;margin:0;padding:5px 14px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--ink-800);font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--fg-dim);text-transform:uppercase;}
.page-contact .plaque--lime{border-color:rgba(184,255,61,.5);color:var(--lime);}
.page-contact .plaque--orange{border-color:rgba(255,157,77,.55);color:var(--orange);}
.page-contact .sec-head h2{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(25px,5vw,40px);line-height:1.12;letter-spacing:.005em;color:var(--fg);}
.page-contact .sec-lead{margin:0;max-width:62ch;font-size:14px;line-height:1.85;color:var(--fg-dim);}

/* ---------- feedback ---------- */
.page-contact .feedback-grid{display:grid;gap:20px;}
.page-contact .feedback-main{display:grid;gap:18px;min-width:0;}
.page-contact .check-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.page-contact .check-list li{display:grid;gap:6px;padding:16px 18px 16px 42px;position:relative;border:1px solid var(--line);border-radius:18px;background:var(--ink-700);transition:border-color var(--ease),transform var(--ease);}
.page-contact .check-list li:hover{border-color:var(--lime);transform:translateY(-2px);}
.page-contact .check-list li::before{content:"";position:absolute;left:18px;top:21px;width:10px;height:10px;border:2px solid var(--lime);border-radius:3px;}
.page-contact .check-list__title{font-family:var(--font-display);font-size:19px;letter-spacing:.02em;color:var(--fg);}
.page-contact .check-list__desc{font-size:13px;line-height:1.8;color:var(--fg-dim);}

.page-contact .feedback-figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-module);background:var(--ink-700);}
.page-contact .feedback-figure img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;}

.page-contact .template-card{padding:22px 20px;border:1px dashed rgba(184,255,61,.45);border-radius:var(--r-module);background:var(--ink-800);display:grid;gap:14px;align-content:start;min-width:0;}
.page-contact .template-card__label{margin:0;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--lime);text-transform:uppercase;}
.page-contact .template-card__body{margin:0;padding:16px;border-radius:16px;background:var(--ink-900);border:1px solid var(--line);font-family:var(--font-mono);font-size:13px;line-height:1.9;color:var(--fg);white-space:pre-wrap;overflow-wrap:anywhere;}
.page-contact .template-card__copy{justify-self:start;appearance:none;cursor:pointer;padding:10px 20px;border:1px solid var(--lime);border-radius:var(--r-pill);background:var(--lime);color:var(--ink-900);font-family:var(--font-body);font-size:13px;font-weight:600;transition:background var(--ease),color var(--ease),transform var(--ease);}
.page-contact .template-card__copy:hover{transform:translateY(-2px);background:var(--lime-soft);border-color:var(--lime-soft);}
.page-contact .template-card__copy[data-copied]{background:var(--cyan);border-color:var(--cyan);color:var(--ink-900);}
.page-contact .template-card__note{margin:0;font-size:12px;line-height:1.75;color:var(--fg-dim);}

/* ---------- collab ---------- */
.page-contact .collab-grid{display:grid;gap:18px;}
.page-contact .panel-card{padding:22px 20px;border:1px solid var(--line);border-radius:var(--r-module);background:var(--ink-700);display:grid;gap:12px;align-content:start;transition:border-color var(--ease);}
.page-contact .panel-card--alt{background:linear-gradient(160deg,var(--ink-700) 0%,var(--ink-800) 100%);}
.page-contact .panel-card:hover{border-color:var(--orange);}
.page-contact .panel-card__title{margin:0;font-family:var(--font-display);font-size:clamp(21px,4vw,28px);letter-spacing:.02em;color:var(--fg);}
.page-contact .panel-card__text{margin:0;font-size:14px;line-height:1.85;color:var(--fg-dim);}
.page-contact .panel-card__subject{margin:0;padding-top:12px;border-top:1px solid var(--line);font-size:13px;line-height:1.7;color:var(--orange-soft);}
.page-contact .panel-card__subject .num{font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;color:var(--orange);}

/* ---------- address ---------- */
.page-contact .address-card{position:relative;overflow:hidden;padding:26px 22px 24px;border-radius:28px 84px 28px 28px;border:1px solid var(--line);background:linear-gradient(145deg,var(--ink-800) 0%,var(--ink-700) 100%);display:grid;gap:12px;justify-items:start;}
.page-contact .address-card__map{position:absolute;top:-10px;right:-30px;width:min(78%,340px);height:auto;opacity:.45;pointer-events:none;}
.page-contact .address-card__map path{fill:none;stroke:var(--cyan);stroke-width:1.1;stroke-dasharray:6 5;opacity:.55;}
.page-contact .address-card__map circle{fill:none;stroke:var(--orange);stroke-width:2;}
.page-contact .address-card__label{position:relative;margin:0;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--orange);text-transform:uppercase;}
.page-contact .address-card__value{position:relative;margin:0;max-width:22ch;font-family:var(--font-display);font-size:clamp(22px,5.2vw,36px);line-height:1.25;letter-spacing:.01em;color:var(--fg);}
.page-contact .address-card__note{position:relative;margin:0;max-width:52ch;font-size:13px;line-height:1.8;color:var(--fg-dim);}
.page-contact .address-card__copy{position:relative;appearance:none;cursor:pointer;padding:9px 18px;border:1px solid var(--line);border-radius:var(--r-pill);background:transparent;color:var(--lime);font-family:var(--font-body);font-size:13px;transition:background var(--ease),color var(--ease),border-color var(--ease);}
.page-contact .address-card__copy:hover{background:var(--lime-soft);border-color:var(--lime-soft);color:var(--ink-900);}
.page-contact .address-card__copy[data-copied]{background:var(--orange);border-color:var(--orange);color:var(--ink-900);}

/* ---------- flow ---------- */
.page-contact .flow-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.page-contact .flow-step{display:grid;gap:8px;padding:18px 18px 18px 20px;border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:18px;background:var(--ink-800);transition:background var(--ease),border-color var(--ease);}
.page-contact .flow-step:hover{background:var(--ink-700);border-color:var(--orange);}
.page-contact .flow-step__idx{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px;letter-spacing:.16em;color:var(--orange);}
.page-contact .flow-step__title{margin:0;font-family:var(--font-display);font-size:20px;letter-spacing:.02em;color:var(--fg);}
.page-contact .flow-step__text{margin:0;font-size:13px;line-height:1.85;color:var(--fg-dim);}

/* ---------- quick links ---------- */
.page-contact .quick-grid{display:grid;gap:14px;}
.page-contact .quick-link{display:grid;gap:8px;padding:18px 18px 20px;border:1px solid var(--line);border-radius:20px;background:var(--ink-800);text-decoration:none;transition:border-color var(--ease),transform var(--ease),background var(--ease);}
.page-contact .quick-link:hover,.page-contact .quick-link:focus-visible{border-color:var(--lime);background:var(--ink-700);transform:translateY(-2px);outline:none;}
.page-contact .quick-link__tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--cyan);text-transform:uppercase;}
.page-contact .quick-link__title{font-family:var(--font-display);font-size:19px;line-height:1.3;color:var(--fg);}
.page-contact .quick-link__desc{font-size:13px;line-height:1.75;color:var(--fg-dim);}

/* ---------- responsive ---------- */
@media (min-width:720px){
  .page-contact .shell{padding:0 28px;}
  .page-contact .copy-fields{grid-template-columns:1fr 1fr;}
  .page-contact .feedback-grid{grid-template-columns:minmax(0,1fr);}
  .page-contact .check-list{grid-template-columns:1fr 1fr;}
  .page-contact .collab-grid{grid-template-columns:1fr 1fr;}
  .page-contact .flow-list{grid-template-columns:1fr 1fr;}
  .page-contact .quick-grid{grid-template-columns:1fr 1fr;}
  .page-contact .feedback-figure{margin:0;}
}

@media (min-width:1024px){
  .page-contact{padding-bottom:96px;}
  .page-contact .shell{padding:0 40px;}
  .page-contact .hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px;align-items:start;}
  .page-contact .sec{margin-top:80px;}
  .page-contact .copy-field--hero{padding:22px 24px;}
  .page-contact .feedback-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;align-items:start;}
  .page-contact .template-card{position:sticky;top:96px;}
  .page-contact .collab-grid{gap:24px;}
  .page-contact .panel-card{padding:28px 26px;}
  .page-contact .address-card{padding:34px 32px 30px;border-radius:32px 120px 32px 32px;}
  .page-contact .address-card__map{width:min(52%,420px);right:24px;top:0;}
  .page-contact .flow-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
  .page-contact .flow-step{padding:20px 18px 22px;}
  .page-contact .quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
}

@media (prefers-reduced-motion:reduce){
  .page-contact .copy-field--hero:hover,
  .page-contact .check-list li:hover,
  .page-contact .quick-link:hover,
  .page-contact .template-card__copy:hover{transform:none;}
}
<<<END>>>
