/* ════════════════════════════════════════════════════════════════
   PRESNSE — CONTACT  ·  /contact/  (qualified diagnostic intake)
   ----------------------------------------------------------------
   Bespoke per-page modules. Consumes tokens only (no raw colour).
   Signature: flat-blueprint intake form (§13f) — dashed-hairline
   frame, underline-style inputs (border-bottom only), square
   corners, transparent fills, a lime status dot in the header,
   ONE lime submit. NO bevels, NO drop-shadow card, NO chunky radius.
   Reuses Tier-1 language (tokens, .mod/.mod-bar, .mh, dashed
   hairlines, mono labels, rationed lime, one serif accent, dark
   .entity / dark CTA bookend, calm motion).
   ════════════════════════════════════════════════════════════════ */

/* ---- shared small parts ---- */
.ct-cap{font-family:var(--mono);font-size:var(--label);letter-spacing:.12em;text-transform:uppercase;
  color:var(--faint);display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;}
.ct-cap .d{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow);}
.seg-lbl{font-family:var(--mono);font-size:var(--label);letter-spacing:.12em;text-transform:uppercase;
  color:var(--faint);margin-bottom:10px;display:block;}

/* ════ M01 · HERO + INTAKE FORM ════ */
.ct-hero h1{font-size:var(--h2);font-weight:600;letter-spacing:var(--tr-display);line-height:var(--lead-display);max-width:18ch;}
.ct-hero h1 .sym{font-family:var(--serif);font-style:italic;font-weight:400;color:inherit;}
.ct-lede{font-size:clamp(1.05rem,1.3vw,1.3rem);line-height:var(--lead-body);color:var(--ink-soft);
  max-width:62ch;margin-top:22px;}
.ct-lede + .ct-lede{margin-top:16px;font-size:1.02rem;}
.ct-pull{font-family:var(--serif);font-style:italic;font-size:clamp(1.15rem,1.6vw,1.5rem);line-height:1.4;
  color:var(--ink);border-left:2px solid var(--lime);padding-left:20px;margin-top:26px;max-width:60ch;}
.ct-hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;}

.intake{display:grid;grid-template-columns:1.45fr .95fr;gap:clamp(28px,4vw,64px);align-items:start;margin-top:clamp(36px,5vw,64px);}

/* the flat blueprint form */
.ct-form{border:1px dashed var(--line-dash);padding:clamp(22px,3vw,38px);background:transparent;}
.ct-form .hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
.ct-form-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding-bottom:18px;border-bottom:1px dashed var(--line-dash);margin-bottom:26px;}
.ct-form-head .lbl{font-family:var(--mono);font-size:var(--label);letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink);display:inline-flex;align-items:center;gap:9px;}
.ct-form-head .lbl .stat{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow);}
.ct-form-head .coord{font-family:var(--mono);font-size:var(--label-sm);letter-spacing:.08em;color:var(--faint);}

.frow{display:grid;gap:22px 24px;margin-bottom:22px;}
.frow.two{grid-template-columns:1fr 1fr;}

.field{display:flex;flex-direction:column;gap:8px;}
.field .fl{font-family:var(--mono);font-size:var(--label-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.field .fl .req{color:var(--lime-ink);}
.field .hint{font-family:var(--mono);font-size:var(--label-xs);letter-spacing:.04em;color:var(--faint);margin-top:-2px;}

/* underline-style inputs — border-bottom only, square, transparent */
.field input,
.field select,
.field textarea{
  width:100%;background:transparent;border:none;border-bottom:1px solid var(--line-rule);
  border-radius:0;padding:9px 2px;font-size:.96rem;color:var(--ink);line-height:1.5;
  transition:border-color .2s var(--ease);}
.field textarea{resize:vertical;min-height:92px;border:1px dashed var(--line-dash);padding:12px;}
.field select{appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:right 6px top 55%,right 1px top 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:22px;}
.field input::placeholder,
.field textarea::placeholder{color:var(--faint);}
.field input:focus,
.field select:focus,
.field textarea:focus{outline:none;border-color:var(--ink);}
.field input:focus-visible,
.field select:focus-visible,
.field textarea:focus-visible{outline:2px solid var(--lime);outline-offset:3px;}

/* yes / no radio set rendered as flat blueprint chips */
.choice{display:flex;gap:10px;flex-wrap:wrap;}
.choice label{display:inline-flex;align-items:center;gap:8px;font-size:.92rem;color:var(--ink-soft);
  border:1px dashed var(--line-dash);padding:8px 14px;cursor:pointer;}
.choice input{accent-color:var(--lime-deep);}
.choice input:focus-visible{outline:2px solid var(--lime);outline-offset:2px;}

.ct-form-foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:8px;
  padding-top:22px;border-top:1px dashed var(--line-dash);}
.ct-submit{background:var(--lime);color:var(--ink);border:1px solid var(--lime);}
.ct-submit:hover{background:var(--lime-deep);border-color:var(--lime-deep);transform:translateY(-2px);}
.ct-form-foot .note{font-family:var(--mono);font-size:var(--label-xs);letter-spacing:.04em;color:var(--faint);max-width:34ch;}
.form-status{font-family:var(--mono);font-size:var(--label-sm);letter-spacing:.04em;color:var(--faint);line-height:1.6;
  margin-top:18px;padding-top:16px;border-top:1px dashed var(--line-dash);}
.form-status.ok{color:var(--lime-ink);}
.form-status.err{color:var(--muted);}

/* the calm right rail */
.ct-rail{border:1px dashed var(--line-dash);background:var(--bg-soft);padding:clamp(22px,3vw,34px);
  position:sticky;top:96px;}
.ct-rail .seg-lbl{margin-bottom:14px;}
.ct-rail h3{font-size:var(--text-md);font-weight:600;line-height:1.4;}
.ct-rail .reducer{display:flex;align-items:flex-start;gap:10px;margin-top:16px;
  font-size:.9rem;color:var(--ink-soft);line-height:1.5;}
.ct-rail .reducer .d{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow);
  flex:0 0 auto;margin-top:5px;}
.ct-rail .rl-foot{margin-top:24px;padding-top:18px;border-top:1px dashed var(--line-dash);
  font-family:var(--mono);font-size:var(--label-xs);letter-spacing:.04em;color:var(--faint);line-height:1.7;}

@media(max-width:880px){
  .intake{grid-template-columns:1fr;}
  .ct-rail{position:static;}
  .frow.two{grid-template-columns:1fr;}
}

/* ════ M02 · WHY OWNERS ASK (definition / answer card) ════ */
.whycard{border:1px dashed var(--line-dash);padding:clamp(26px,3.5vw,44px);display:grid;
  grid-template-columns:1.1fr 1fr;gap:clamp(28px,4vw,56px);align-items:start;}
.whycard .wq{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,1.8vw,1.7rem);
  line-height:1.42;color:var(--ink);}
.whycard .wsrc{font-family:var(--mono);font-size:var(--label-sm);letter-spacing:.06em;color:var(--faint);
  display:inline-flex;align-items:center;gap:9px;margin-top:18px;}
.whycard .wsrc .d{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow);}
.whycard p{color:var(--ink-soft);font-size:1rem;line-height:1.65;}
.whycard p + p{margin-top:16px;}
@media(max-width:760px){.whycard{grid-template-columns:1fr;}}

/* ════ M03 · WHAT TO SEND (checklist) ════ */
.send-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px dashed var(--line-dash);}
.send-item{border-bottom:1px dashed var(--line-dash);padding:24px clamp(18px,2.5vw,32px) 24px 0;
  display:flex;gap:18px;align-items:baseline;}
.send-item:nth-child(odd){padding-right:clamp(28px,3vw,48px);}
.send-item:nth-child(even){padding-left:clamp(28px,3vw,48px);border-left:1px dashed var(--line-dash);}
.send-item .sn{font-family:var(--mono);font-size:var(--label-sm);color:var(--lime-ink);letter-spacing:.06em;flex:0 0 auto;}
.send-item .sb b{display:block;font-weight:600;color:var(--ink);margin-bottom:6px;font-size:1rem;}
.send-item .sb p{color:var(--muted);font-size:.92rem;line-height:1.55;}
.send-foot{font-family:var(--mono);font-size:var(--label-sm);letter-spacing:.04em;color:var(--faint);margin-top:22px;}
@media(max-width:680px){
  .send-grid{grid-template-columns:1fr;}
  .send-item:nth-child(even){padding-left:0;border-left:none;}
  .send-item:nth-child(odd){padding-right:0;}
}

/* ════ M04 · WHAT PRESNSE REVIEWS (4 cards) ════ */
.rev-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,1.8vw,24px);}
.rev-card{border:1px dashed var(--line-dash);padding:clamp(20px,2.1vw,26px);display:flex;flex-direction:column;}
.rev-card .rtop{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.rev-card .rno{font-family:var(--mono);font-size:var(--label-sm);letter-spacing:.06em;color:var(--faint);}
.rev-card .rglyph{color:var(--ink);}
.rev-card h3{font-size:var(--text-md);font-weight:600;line-height:1.3;margin-bottom:12px;}
.rev-card p{color:var(--ink-soft);font-size:1rem;line-height:1.62;}
.rev-card .zh{font-family:"Noto Sans HK","PingFang HK",var(--sans);}
.rev-card .go{margin-top:auto;padding-top:18px;font-family:var(--mono);font-size:var(--label-md);
  letter-spacing:.04em;color:var(--lime-ink);display:inline-flex;align-items:center;gap:8px;}
.rev-card .go .arr{transition:transform .25s var(--ease);}
.rev-card:hover .go .arr{transform:translateX(4px);}
@media(max-width:960px){.rev-grid{grid-template-columns:1fr;}}

/* ════ M05 · OUTPUT + DISCRETION (dark .entity premium moment) ════ */
.recv-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4vw,64px);align-items:start;}
.recv-grid .intro{color:var(--tx-on-75);font-size:1.02rem;line-height:1.65;}
.recv-grid .intro .priv{color:var(--tx-on-55);font-family:var(--mono);font-size:.86rem;line-height:1.7;margin-top:20px;}
.recv-list{display:flex;flex-direction:column;}
.recv-row{border-top:1px dashed var(--line-on-dash);padding:18px 0;display:flex;gap:16px;align-items:baseline;}
.recv-row:last-child{border-bottom:1px dashed var(--line-on-dash);}
.recv-row .rk{font-family:var(--mono);font-size:var(--label-sm);color:var(--lime);letter-spacing:.06em;flex:0 0 auto;margin-top:2px;}
.recv-row .rt b{display:block;color:var(--white);font-weight:600;margin-bottom:5px;font-size:.98rem;}
.recv-row .rt p{color:var(--tx-on-60);font-size:.9rem;line-height:1.55;}
@media(max-width:760px){.recv-grid{grid-template-columns:1fr;}}

/* ════ M06 · FIT / NO-FIT (2 cards) ════ */
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,28px);}
.fit-card{border:1px dashed var(--line-dash);padding:clamp(24px,3vw,36px);}
.fit-card .ft{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;
  font-family:var(--mono);font-size:var(--label);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.fit-card.is-fit .ft .mk{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow);}
.fit-card .ft .mk-no{color:var(--faint);}
.fit-card h3{font-size:var(--text-md);font-weight:600;line-height:1.3;margin-bottom:12px;}
.fit-card p{color:var(--ink-soft);font-size:.95rem;line-height:1.62;}
.fit-card p + p{margin-top:12px;}
@media(max-width:680px){.fit-grid{grid-template-columns:1fr;}}

/* ════ M07 · CLINIC CATEGORIES (shared homepage dark category grid) ════ */
/* Module 07 intentionally reuses .entity + .cat-grid/.cat from components.css. */

/* ════ M08 · COMPANY NAP ════ */
.nap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.5vw,40px);
  border-top:1px dashed var(--line-dash);padding-top:32px;}
.nap-grid .k{font-family:var(--mono);font-size:var(--label-sm);letter-spacing:.1em;text-transform:uppercase;
  color:var(--faint);display:block;margin-bottom:10px;}
.nap-grid .v{color:var(--ink-soft);font-size:.96rem;line-height:1.65;font-style:normal;}
.nap-grid .v a{color:var(--lime-ink);}
@media(max-width:760px){.nap-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.nap-grid{grid-template-columns:1fr;}}

/* ════ M09 · RELATED PAGES (mono route index) ════ */
.relindex .chip-label{font-family:var(--mono);font-size:var(--label);letter-spacing:.1em;text-transform:uppercase;
  color:var(--faint);margin-bottom:14px;display:block;}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2px;}
.rel{font-family:var(--mono);font-size:var(--label-md);letter-spacing:.02em;color:var(--ink-soft);
  padding:12px 0;display:inline-flex;align-items:center;gap:10px;transition:color .2s;}
.rel .ar{color:var(--faint);transition:color .2s;}
.rel:hover{color:var(--ink);}
.rel:hover .ar{color:var(--lime-ink);}
