@font-face { font-family:Anton; src:url('../fonts/anton-regular.ttf') format('truetype'); font-weight:400; font-display:swap; }
:root { color-scheme:dark; --page:#141719; --surface:#1c2022; --ink:#f6f6f3; --soft:#b9c1c4; --line:#41484b; --pill:#101315; --upper:#202527; --collar:#202527; --sleeves:#202527; }
* { box-sizing:border-box; }
html { --quote-height:120px; scroll-padding-block:16px calc(var(--quote-height) + 32px); }
body { margin:0; background:var(--page); color:var(--ink); font:400 15px/1.65 'Microsoft YaHei UI','PingFang SC','Noto Sans CJK SC',Arial,sans-serif; -webkit-font-smoothing:antialiased; }
button,input,textarea { font:inherit; } button,a,input,label,summary { -webkit-tap-highlight-color:transparent; }
a { color:inherit; text-underline-offset:5px; } button { cursor:pointer; } button:disabled { cursor:default; }
img { display:block; max-width:100%; } [hidden] { display:none !important; }
:focus-visible { outline:2px solid var(--ink); outline-offset:4px; } button:not(:disabled):active { transform:translateY(1px); }
p,h1,h2,h3 { margin:0; } figure { margin:0; } .page-width { width:min(100% - 80px,1320px); margin-inline:auto; }
.sr-only { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
.skip-link { position:absolute; top:-100px; background:var(--ink); color:var(--page); padding:12px; z-index:2; } .skip-link:focus { top:12px; }
.site-head { height:76px; display:flex; align-items:center; gap:24px; } .brand { display:block; background:var(--pill); border-radius:999px; padding:5px 20px; }
.brand img { height:44px; width:86px; object-fit:contain; } .preview-label { color:var(--soft); font-size:12px; }
.return-link { margin-left:auto; font-size:13px; text-decoration:none; padding:12px 0; } .return-link span { margin-left:16px; }
.intro { padding:24px 0; } .english-title { font:400 clamp(32px,3vw,44px)/1.1 Anton,Impact,sans-serif; letter-spacing:-.015em; }
h1 { font-size:clamp(23px,2.2vw,31px); font-weight:600; line-height:1.4; letter-spacing:-.035em; margin-top:12px; }
.intro-copy { color:var(--soft); margin-top:9px; font-size:13px; }
fieldset { border:0; padding:0; margin:0 0 20px; min-width:0; } legend { padding:0; font-size:12px; color:var(--soft); margin-bottom:10px; }
.legend-unit { font-family:Arial,sans-serif; margin-left:4px; } .audience-choice { max-width:330px; margin-bottom:22px; }
.choice-grid { display:grid; gap:7px; } .choice-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.choice-grid label { position:relative; cursor:pointer; }
.choice-grid input,.entry-card > input { position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; cursor:pointer; }
.choice-grid label > span { display:flex; align-items:center; justify-content:center; min-height:46px; padding:10px 6px; background:var(--surface); border:1px solid var(--line); font-size:12px; line-height:1.5; }
.choice-grid input:checked + span { border-color:var(--ink); background:#303638; } .choice-grid input:focus-visible + span { outline:2px solid var(--ink); outline-offset:3px; }
.audience-choice .choice-grid { border-radius:999px; background:var(--pill); padding:4px; gap:0; }
.audience-choice label > span { border:0; border-radius:999px; background:transparent; } .audience-choice input:checked + span { color:var(--page); background:var(--ink); }
.model-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; } .model-choice { margin:0; }
.entry-card { position:relative; cursor:pointer; min-width:0; }
.entry-card-body { display:grid; grid-template-columns:minmax(0,1fr) 150px; align-items:center; min-height:225px; padding:24px 36px; border:1px solid var(--line); background:linear-gradient(120deg,var(--surface),#252c2f); }
.entry-card input:checked + .entry-card-body { border-color:var(--ink); background:linear-gradient(120deg,#272e31,#30383b); }
.entry-card input:focus-visible + .entry-card-body { outline:2px solid var(--ink); outline-offset:4px; }
.entry-copy { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.entry-copy strong { font:400 clamp(28px,3vw,42px)/1.1 Anton,Impact,sans-serif; letter-spacing:-.015em; white-space:nowrap; }
.entry-copy > span:not(.entry-status) { font-size:15px; margin-top:12px; } .entry-copy small { font-size:11px; color:var(--soft); margin-top:6px; }
.entry-copy .model-code { margin:0 0 8px; font:11px Arial,sans-serif; letter-spacing:.08em; }
.entry-status { font-size:11px; color:var(--soft); margin-top:25px; }
.entry-card input:checked + .entry-card-body .entry-status { font-size:0; color:var(--ink); }
.entry-card input:checked + .entry-card-body .entry-status::after { content:'已选择'; font-size:11px; }
html:lang(en) .entry-card input:checked + .entry-card-body .entry-status::after { content:'Selected'; }
.model-diagram { width:100%; height:185px; pointer-events:none; }
.model-next { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:20px; } .model-next p { color:var(--soft); font-size:13px; }
.primary-action { min-height:48px; display:inline-flex; align-items:center; justify-content:space-between; gap:18px; background:var(--ink); color:var(--page); border:0; border-radius:999px; padding:12px 20px; font-size:12px; font-weight:600; white-space:nowrap; text-decoration:none; }
.primary-action:hover { background:#d9dfdf; } .primary-action span { font:18px Arial,sans-serif; }
.primary-action:disabled { opacity:.55; }
.model-disclosure { color:var(--soft); font-size:11px; margin-top:13px; }
.workbench { margin-top:54px; scroll-margin-top:16px; }
.studio-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 0; border-top:1px solid var(--line); }
.studio-heading h2 { font-size:20px; font-weight:500; } .studio-heading a { font-size:12px; display:inline-flex; align-items:center; min-height:44px; } .studio-heading a span { margin-left:12px; }
.studio-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(360px,1fr); gap:80px; align-items:start; }
.visual-column,.options-column,.spec-column,.palette-column { min-width:0; }
.options-column { display:flex; flex-direction:column; gap:40px; padding-top:8px; }
.spec-column > h3,.palette-column h3 { font-size:24px; line-height:1.4; font-weight:600; margin-bottom:24px; letter-spacing:-.02em; }
.section-prompt { display:block; font-size:16px; line-height:1.6; color:var(--soft); font-weight:400; letter-spacing:0; margin-top:4px; }
.visual-heading { padding:24px 32px 0; background:#252c2f; } .visual-heading h3 { font:400 36px/1.1 Anton,Impact,sans-serif; letter-spacing:-.015em; }
.visual-heading p { font-size:12px; color:var(--soft); margin-top:8px; } .garment-stage { background:#252c2f; padding:16px 24px 24px; }
#garment-preview { display:block; width:100%; height:440px; --upper:#202527; --collar:#202527; --sleeves:#202527; }
#garment-preview > svg { display:block; width:100%; height:100%; }
#garment-preview text { fill:var(--soft); font:12px 'Microsoft YaHei UI','PingFang SC',sans-serif; }
.panel-upper { fill:var(--upper); } .panel-collar { fill:var(--collar); } .panel-sleeves { fill:var(--sleeves); }
#garment-preview .model-epic { display:none; }
#garment-preview[data-entry='back'] .model-phy { display:none; }
#garment-preview[data-entry='back'] .model-epic { display:block; }
.view-switch { display:flex; justify-content:center; gap:4px; margin-top:6px; }
.view-switch button { background:transparent; color:var(--soft); border:0; min-width:58px; min-height:44px; padding:8px 16px; border-radius:999px; font-size:12px; }
.view-switch button[aria-pressed='true'] { color:var(--ink); background:#3a4245; } .view-switch button:hover { color:var(--ink); }
figcaption { color:var(--soft); font-size:10px; line-height:1.6; text-align:center; margin:12px auto 0; max-width:41ch; }
.helper { font-size:12px; line-height:1.7; color:var(--soft); margin-top:10px; }
.check-line { display:flex; align-items:center; gap:10px; font-size:13px; cursor:pointer; min-height:44px; }
.check-line input { accent-color:var(--ink); width:17px; height:17px; flex:none; margin:0; } .special-note { margin-bottom:18px; }
.option-section { border-top:1px solid var(--line); margin-top:32px; }
.option-section summary,.advice > summary { min-height:76px; display:flex; align-items:center; gap:12px; cursor:pointer; list-style:none; padding:20px 0; }
summary::-webkit-details-marker { display:none; }
.option-section summary > span:first-child { font-size:22px; font-weight:600; letter-spacing:-.02em; } .option-section summary small { margin-left:auto; color:var(--soft); font-size:12px; text-align:right; }
.disclosure { font:300 22px Arial,sans-serif; width:15px; flex:none; } details[open] > summary .disclosure { transform:rotate(45deg); }
.option-content { padding:0; } .option-content > :last-child { margin-bottom:0; }
.choice-list { display:flex; flex-direction:column; gap:12px; }
.choice-list label { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:20px 16px; background:var(--surface); cursor:pointer; border:1px solid var(--line); min-height:88px; }
.choice-list label:has(input:checked) { border-color:var(--ink); background:#292f31; } .choice-list input { width:16px; height:16px; accent-color:var(--ink); margin:0; flex:none; }
.choice-list label > span { flex:1; min-width:110px; } .choice-list strong { display:block; font-size:15px; font-weight:500; }
.choice-list small { display:block; font-size:12px; color:var(--soft); margin-top:4px; }
.choice-list b { margin-left:auto; font:400 20px/1.3 Arial,sans-serif; text-align:right; white-space:nowrap; } .choice-list b span { display:block; font:11px/1.5 'Microsoft YaHei UI',sans-serif; color:var(--soft); margin-top:3px; }
.choice-list .text-price { font:12px 'Microsoft YaHei UI',sans-serif; }
.thickness-choices label > span { flex-direction:column; gap:8px; min-height:88px; padding:16px 8px; }
.thickness-choices strong { font:500 20px/1.3 Arial,sans-serif; }
.thickness-choices output { font-size:13px; color:var(--soft); }
.options-column .choice-grid { gap:12px; }
.options-column .choice-grid:not(.thickness-choices) label > span { min-height:52px; font-size:13px; }
.palette-column { border-top:1px solid var(--line); padding-top:32px; }
.colour-modes { margin-bottom:0; } #colour-editor { padding-top:1px; } .region-choice { margin-bottom:0; }
.swatches { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.swatches button { background:transparent; color:var(--soft); padding:8px 3px; border:1px solid transparent; min-width:44px; min-height:74px; font-size:11px; }
.swatches button > span { display:block; width:28px; height:28px; margin:0 auto 7px; border-radius:50%; background:var(--swatch); border:1px solid #8d989c; }
.swatches button[aria-pressed='true'] { border-color:var(--soft); color:var(--ink); } .swatches button:not(:disabled):hover { background:var(--surface); }
.swatches button:disabled > span { opacity:.45; }
.colour-price { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 10px; margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
.colour-price > span { color:var(--soft); font-size:11px; } .colour-price strong { font-size:18px; font-weight:500; }
#colour-update:not(:empty) { margin-top:10px; padding:9px 11px; border-left:2px solid var(--ink); background:#303638; color:var(--ink); font-size:11px; line-height:1.7; }
.selection-review { border-top:1px solid var(--line); margin-top:40px; padding-top:32px; }
.selection-review h3 { display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-bottom:10px; }
.selection-review h3 > span { font:10px Arial,sans-serif; color:var(--soft); } #selected-model,#selected-path { font-size:13px; color:var(--soft); margin-top:8px; }
#selected-regions { list-style:none; padding:0; margin:14px 0 0; display:grid; gap:8px; }
#selected-regions li { display:flex; align-items:center; gap:9px; font-size:12px; color:var(--soft); }
.mini-swatch { width:12px; height:12px; border:1px solid #8d989c; flex:none; background:#202527; }
.advice { margin-top:18px; border-top:1px solid var(--line); } .advice > summary { font-size:13px; min-height:56px; }
.advice > summary > span:not(.disclosure) { font:10px Arial,sans-serif; color:var(--soft); margin-left:auto; }
.fee-item { display:grid; grid-template-columns:1fr auto; gap:7px 12px; padding-block:8px; font-size:11px; }
.fee-item b { font:400 20px/1.3 Arial,sans-serif; } .fee-item small { grid-column:1 / -1; color:var(--soft); font-size:10px; line-height:1.65; }
#lead-time { font-size:11px; color:var(--soft); margin-top:14px; }
.price-boundaries { font-size:11px; color:var(--soft); margin-top:10px; } .price-boundaries summary { min-height:44px; display:flex; align-items:center; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.price-boundaries ul { padding-left:17px; margin:5px 0 18px; } .price-boundaries li + li { margin-top:9px; }
.summary-dock { position:fixed; inset:auto 0 0; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px 32px; padding:16px max(24px,calc((100vw - 1320px) / 2)) calc(16px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:var(--surface); }
.quote-summary { display:flex; align-items:center; gap:40px; min-width:0; }
.quote-price { display:grid; grid-template-columns:auto auto; align-items:baseline; column-gap:8px; flex:none; }
.quote-price > span { grid-column:1 / -1; color:var(--soft); font-size:11px; }
.quote-price strong { font:500 32px/1.2 Arial,sans-serif; font-variant-numeric:tabular-nums; }
.quote-price small { font-size:10px; color:var(--soft); }
.quote-timing { font-size:12px; line-height:1.6; }
#quote-change { font-weight:600; margin-bottom:3px; }
#quote-pending { color:var(--soft); font-size:11px; max-width:64ch; }
.price-notice { color:var(--ink); font-size:12px; line-height:1.65; margin:8px 0; }
.summary-dock > .price-notice { grid-column:1 / -1; margin:0; }
.summary-dock .primary-action { flex:none; }
.needs-field { padding-top:32px; border-top:1px solid var(--line); }
.needs-field label { display:flex; justify-content:space-between; font-size:14px; margin-bottom:12px; } .needs-field label > span { color:var(--soft); font-size:11px; }
textarea { display:block; width:100%; resize:vertical; padding:13px 14px; border:1px solid var(--line); border-radius:0; color:var(--ink); background:var(--surface); font-size:13px; line-height:1.65; }
textarea::placeholder { color:#a8b1b5; } .needs-field .helper a { margin-left:8px; }
footer { display:flex; justify-content:space-between; gap:20px; padding-block:36px calc(var(--quote-height) + 36px); font-size:11px; color:var(--soft); margin-top:26px; }
dialog { width:min(620px,calc(100% - 32px)); max-height:calc(100dvh - 40px); padding:30px; border:1px solid #626d72; background:var(--page); color:var(--ink); }
dialog::backdrop { background:rgb(8 12 14 / 78%); } .dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.dialog-heading h2 { font-size:24px; font-weight:500; } .close-button { width:44px; height:44px; padding:0; background:transparent; color:var(--ink); border:1px solid var(--line); border-radius:50%; font:26px Arial,sans-serif; }
.dialog-intro { font-size:12px; color:var(--soft); margin:12px 0 20px; } #consultation-draft { min-height:220px; max-height:48dvh; }
.dialog-actions { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:22px; } #copy-status { font-size:11px; color:var(--soft); } .no-script { padding:20px; }
@media (max-width:1279px) {
  .page-width { width:calc(100% - 48px); } .studio-layout { grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr); gap:40px; }
  .entry-card-body { padding-inline:24px; grid-template-columns:minmax(0,1fr) 120px; }
}
@media (min-width:768px) and (max-width:1023px) {
  .studio-layout { grid-template-columns:minmax(0,1fr) minmax(320px,1fr); gap:24px; }
  .visual-heading { padding-inline:20px; } .garment-stage { padding-inline:16px; }
  .entry-card-body { grid-template-columns:minmax(0,1fr) 95px; padding-inline:20px; }
}
@media (min-width:768px) and (min-height:720px) {
  .visual-column { position:sticky; top:24px; }
  #garment-preview { height:clamp(180px,calc(100dvh - var(--quote-height) - 260px),520px); }
}
@media (max-width:767px) {
  .page-width { width:calc(100% - 40px); } .site-head { height:68px; gap:12px; } .brand { padding:3px 13px; }
  .brand img { width:70px; height:38px; } .preview-label { margin-left:auto; font-size:10px; }
  .return-link { margin-left:0; font-size:11px; } .return-link span { margin-left:3px; }
  .intro { padding:16px 0 22px; } .english-title { font-size:32px; } h1 { font-size:23px; margin-top:10px; }
  .intro-copy { font-size:12px; max-width:28ch; line-height:1.7; } .audience-choice { max-width:none; margin-bottom:18px; } .audience-choice legend { margin-bottom:7px; }
  .model-grid { gap:10px; } .entry-card-body { grid-template-columns:minmax(0,1fr); grid-template-rows:auto 130px; min-height:245px; padding:16px 12px 12px; }
  .entry-copy strong { font-size:27px; } .entry-copy > span:not(.entry-status) { font-size:12px; margin-top:8px; }
  .entry-copy small { font-size:10px; margin-top:3px; } .entry-status { margin-top:10px; } .model-diagram { height:130px; margin-top:5px; }
  .model-next { margin-top:16px; gap:10px; } .model-next p { font-size:11px; max-width:10ch; }
  .model-next .primary-action { gap:12px; padding-inline:17px; } .model-disclosure { font-size:10px; margin-top:12px; max-width:32ch; }
  .workbench { margin-top:35px; } .studio-heading { padding-block:12px; } .studio-heading h2 { font-size:18px; }
  .studio-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .options-column { gap:32px; padding-top:0; }
  .visual-heading { padding:14px 16px 0; } .visual-heading h3 { font-size:26px; } .visual-heading p { font-size:11px; }
  .garment-stage { padding:8px 12px 14px; } #garment-preview { height:210px; } .view-switch { margin-top:2px; } figcaption { margin-top:9px; max-width:none; }
  #colour-section fieldset { margin-bottom:8px; }
  .palette-column h3,.spec-column > h3 { font-size:22px; margin-bottom:20px; } .section-prompt { font-size:14px; }
  .selection-review { margin-top:32px; padding-top:24px; }
  .palette-column,.needs-field { padding-top:24px; }
  .option-section summary > span:first-child { font-size:20px; }
  .choice-list label { padding:16px 12px; gap:10px; }
  .choice-list strong { font-size:14px; } .choice-list small { font-size:11px; }
  .options-column .choice-grid { gap:8px; }
  #selected-regions { grid-template-columns:1fr; gap:8px; } #selected-regions li { font-size:12px; gap:8px; align-items:flex-start; }
  .mini-swatch { width:10px; height:10px; margin-top:3px; }
  .summary-dock { padding:12px 20px calc(12px + env(safe-area-inset-bottom)); gap:12px; align-items:flex-start; }
  .quote-summary { display:block; flex:1; }
  .quote-price { display:flex; flex-wrap:wrap; gap:3px 7px; }
  .quote-price > span { width:100%; font-size:10px; }
  .quote-price strong { font-size:26px; }
  .quote-timing { font-size:11px; margin-top:4px; }
  #quote-pending { font-size:10px; margin-top:3px; }
  .summary-dock .primary-action { font-size:11px; padding-inline:14px; gap:8px; margin-top:14px; }
  html:lang(en) .quote-summary { display:contents; }
  html:lang(en) .quote-price { grid-column:1; grid-row:1; min-width:0; }
  html:lang(en) .quote-price strong { white-space:nowrap; font-size:24px; }
  html:lang(en) .quote-price small { display:none; }
  html:lang(en) .quote-timing { grid-column:1 / -1; grid-row:2; margin-top:0; }
  html:lang(en) .summary-dock > .primary-action { grid-column:2; grid-row:1; margin-top:0; align-self:center; }
  .choice-list label > span { min-width:130px; } textarea { font-size:16px; }
  footer { display:block; margin-top:0; padding-block:28px calc(var(--quote-height) + 28px); } footer p { margin-top:8px; max-width:28ch; }
  dialog { padding:20px; max-height:calc(100dvh - 24px); } .dialog-heading h2 { font-size:21px; }
  .dialog-actions { flex-direction:column; align-items:stretch; gap:14px; } .dialog-actions .primary-action { justify-content:center; }
  #consultation-draft { font-size:16px; max-height:45dvh; }
}
@media (max-width:359px) {
  .page-width { width:calc(100% - 32px); } .preview-label { display:none; } .return-link { margin-left:auto; }
  .english-title { font-size:30px; } h1 { font-size:21px; } .entry-card-body { padding-inline:10px; }
  .entry-copy strong { font-size:24px; } .entry-copy > span:not(.entry-status) { font-size:11px; } .model-next p { font-size:10px; }
  .model-next .primary-action { font-size:11px; padding-inline:13px; gap:8px; }
  .summary-dock { padding-inline:16px; gap:10px; } .summary-dock .primary-action { padding-inline:11px; gap:5px; }
}
.size-chart { padding-top:24px; margin-top:24px; border-top:1px solid var(--line); }
.size-chart-title { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; font-size:13px; margin:0 0 12px; }
.size-chart-title .legend-unit { color:var(--soft); font-size:11px; margin:0; }
.size-chart-note { font-size:12px; color:var(--soft); margin:-4px 0 14px; }
.size-table { width:100%; border-collapse:collapse; table-layout:fixed; font-variant-numeric:tabular-nums; }
.size-table thead th:first-child, .size-table tbody th:first-child { width:21%; }
.size-table th, .size-table td { padding:9px 6px; border-bottom:1px solid var(--line); text-align:left; font-size:12px; font-weight:400; line-height:1.45; overflow-wrap:anywhere; }
.size-table thead th { color:var(--soft); font-size:11px; border-bottom-color:var(--soft); }
.size-table tbody th[scope="row"] { font-weight:500; }
/* Chest and waist decide whether a size fits, so they carry more weight than the locating columns. */
.size-table thead th:nth-child(4), .size-table thead th:nth-child(5) { color:var(--ink); }
.size-table tbody td:nth-child(4), .size-table tbody td:nth-child(5) { font-weight:500; background:rgba(246,246,243,.05); }
.size-table tbody tr:last-child th, .size-table tbody tr:last-child td { border-bottom:0; }
.size-chart .helper { margin-top:16px; }
/* The studio keeps a single door to the measurement guide; the page itself no longer explains or
   collects body data. Visible on every size route, because even a standard-size buyer may need the
   circumference advice. */
.measure-link { margin-top:20px; font-size:13px; }
.measure-link a { text-underline-offset:5px; }
@media (max-width:600px) {
  .size-table th, .size-table td { padding:8px 3px; font-size:11px; } .size-table thead th { font-size:11px; } }

/* Measurement guide page. Reuses this stylesheet for the theme, header and table look; the studio
   has no bottom dock there, so the scroll padding it reserves is dropped. */
html.measure { --quote-height:0px; }
.measure-section { padding-top:28px; margin-top:28px; border-top:1px solid var(--line); }
.measure-section h2 { font-size:16px; font-weight:500; margin:0 0 12px; }
.measure-section .helper { margin-top:10px; }
.measure-list { margin:0; }
.measure-item { padding:15px 0; border-bottom:1px solid var(--line); }
.measure-item:last-child { border-bottom:0; }
.measure-item dt { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; font-size:14px; font-weight:500; }
.measure-item dt span { font-size:11px; font-weight:400; color:var(--soft); }
.measure-item dd { margin:7px 0 0; font-size:13px; line-height:1.65; color:var(--soft); }
/* Circumference decides fit; those four entries carry the same emphasis as the chart columns. */
.measure-key dt { color:var(--ink); }
.measure-key dd { color:var(--ink); opacity:.85; }
/* The guide leads with contact: talk to ADC first, the list below is reference material. */
.measure-contact { margin:24px 0 0; padding:20px 18px; border:1px solid var(--line); background:var(--surface); }
.measure-contact h2 { font-size:16px; font-weight:500; margin:0 0 8px; }
.measure-contact > p { font-size:13px; line-height:1.65; color:var(--soft); margin:0 0 14px; }
.measure-channels { display:flex; flex-wrap:wrap; gap:10px; }
.measure-channels .channel { display:flex; flex-direction:column; gap:3px; min-width:200px; padding:11px 16px; border:1px solid var(--line); color:var(--ink); text-decoration:none; }
.measure-channels .channel span { font-size:12px; color:var(--soft); }
.measure-channels .channel strong { font-size:13px; font-weight:500; }
.measure-channels .channel:hover { border-color:var(--ink); }
.measure-contact .helper { margin:12px 0 0; font-size:12px; color:var(--soft); }
@media (max-width:600px) { .measure-item dt { gap:6px; } .measure-channels .channel { min-width:100%; } }

/* Direct contact floats for the two pages that use this stylesheet. They are the same buttons the
   other pages carry, but these pages need to clear the studio's fixed summary dock, so the offset
   follows --quote-height (0 on the guide page, the measured dock height on the studio). */
.whatsapp-float, .wechat-float { position: fixed; right: max(24px, env(safe-area-inset-right)); bottom: calc(var(--quote-height) + 24px + env(safe-area-inset-bottom)); z-index: 20; display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid #ffffff40; border-radius: 50%; color: #fff; text-decoration: none; box-shadow: 0 4px 16px #0003; }
.whatsapp-float { background: #168848; }
.wechat-float { background: #07c160; }
.whatsapp-float svg { display: block; width: 27px; height: 27px; }
.wechat-float svg { display: block; width: 28px; height: 28px; }
.whatsapp-float:hover { background: #116b39; }
.wechat-float:hover { background: #06ad56; }
.whatsapp-float:focus-visible, .wechat-float:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.whatsapp-hint, .wechat-hint { position: absolute; right: calc(100% + 12px); padding: 7px 12px; border-radius: 6px; background: #101315; color: #fff; font-size: 13px; line-height: 1.5; white-space: nowrap; opacity: 0; pointer-events: none; }
.whatsapp-float:focus-visible .whatsapp-hint, .wechat-float:focus-visible .wechat-hint { opacity: 1; }
@media (hover: hover) { .whatsapp-float:hover .whatsapp-hint, .wechat-float:hover .wechat-hint { opacity: 1; } }
@media (max-width:600px) {
  .whatsapp-float, .wechat-float { right: max(16px, env(safe-area-inset-right)); width: 48px; height: 48px; }
  .whatsapp-hint, .wechat-hint { display: none; }
}

/* Channels offered inside the enquiry dialog: after copying, the draft is pasted into one of these. */
.dialog-channels { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.dialog-channels a { padding: 9px 14px; border: 1px solid var(--line); border-radius: 0; color: var(--ink); font-size: 13px; text-decoration: none; }
.dialog-channels a:hover { border-color: var(--ink); }
@media (prefers-reduced-motion:no-preference) { button,a,.entry-card-body { transition:background-color .15s,color .15s,border-color .15s; } }
