/* Compact, source-led catalogue. The existing path guide remains available below. */
.route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-scroll table{min-width:1050px}.comparison-scroll th,.comparison-scroll td{width:20%}
.method-assisted{color:#936013!important;background:#fff4df}.assisted-info{padding:22px}.assisted-heading h3{font-size:1.3rem;margin:10px 0}.assisted-heading p,.assisted-scope{font-size:.875rem;line-height:1.85;color:var(--muted)}.assisted-scope{padding:12px 14px;background:#f3f6fd;border-radius:8px;margin:15px 0}.assisted-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.assisted-examples article{border:1px solid var(--line);border-radius:10px;padding:18px}.assisted-examples h4{font-size:1.05rem;margin:8px 0 16px}.assisted-meta{font-size:.75rem;color:var(--muted);line-height:1.8}.assisted-examples dl>div+div{margin-top:13px;padding-top:12px;border-top:1px solid #edf0f6}.assisted-examples dt{font-size:.875rem;font-weight:600;margin-bottom:4px}.assisted-examples dd{margin:0;color:#52647f;font-size:.875rem;line-height:1.9}.assisted-examples a{display:block;color:var(--blue);font-size:.875rem;margin-top:16px;line-height:1.8}.assisted-checks{padding:18px;background:#f7f9fd;border-radius:10px;margin-top:16px}.assisted-checks h4{font-size:1rem}.assisted-checks p{font-size:.875rem;color:var(--muted);line-height:2;margin-top:7px}
@media(max-width:760px){.route-grid,.assisted-examples{grid-template-columns:1fr}.assisted-info{padding:16px}.assisted-examples article{padding:15px}.assisted-heading h3{font-size:1.15rem}.assisted-checks{padding:14px}}
.catalog-table-wrap,.catalog-table th{position:relative}
.filter-location-row,.filter-chip-row{flex-wrap:wrap}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.container,.header-inner{max-width:1456px}.site-header{height:74px}.brand-mark{width:38px;height:38px}.brand{font-size:1.2rem}.brand-sub{letter-spacing:.035em}.intro{padding:26px 0 22px}h1{font-size:1.9rem}.intro .eyebrow{font-size:.8rem;margin-bottom:6px}.intro-copy{margin-top:7px;color:var(--muted);font-size:1rem}.catalog-update{text-align:right;display:grid;line-height:1.8;flex-shrink:0}.catalog-update span,.catalog-update a{color:var(--muted);font-size:.75rem}.catalog-update strong{font-size:.875rem;font-variant-numeric:tabular-nums;font-weight:600}.catalog-update a{color:var(--blue)}
.catalog-filters{border:1px solid var(--line);border-radius:13px;background:#fff;padding:6px 22px}.filter-location-row,.filter-chip-row{display:flex;align-items:center;gap:12px;min-height:60px;padding:12px 0}.filter-chip-row{border-top:1px solid #edf0f6}.filter-label{color:var(--muted);font-size:.875rem;width:64px;flex-shrink:0}.catalog-filters select,.score-category-label select{border:1px solid #dce3ee;border-radius:7px;background:#fff;font-size:.875rem;padding:8px 28px 8px 11px;min-height:38px;color:var(--ink);max-width:100%}.filter-location-row select{min-width:104px}.level-label{margin-left:24px}.filter-arrow{font-size:.9rem;color:var(--muted)}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chips button{background:#fff;border:1px solid transparent;padding:6px 13px;border-radius:6px;font-size:.875rem;min-height:36px;color:#566581}.filter-chips button[aria-pressed=true]{color:var(--blue);background:#edf2ff;border-color:#dce5ff;font-weight:600}.filter-chips button:hover{background:#f4f6fb}.reset-button{margin-left:auto;white-space:nowrap;border:0;background:transparent;color:var(--muted);font-size:.875rem;padding:7px}.reset-button:hover{color:var(--blue)}.year-label{font-size:.875rem;color:var(--muted);margin-left:18px}.filter-footnote{font-size:.75rem;color:var(--muted);margin-left:auto}
.catalog-workspace{display:grid;grid-template-columns:212px minmax(0,1fr);gap:20px;margin-top:22px;align-items:start}.catalog-index{background:white;border:1px solid var(--line);border-radius:12px;padding:19px 12px}.index-title{display:flex;align-items:center;gap:9px;padding:0 8px}.index-title .icon{color:var(--blue);width:19px}.index-title h2{font-size:1rem}.index-location{font-size:.75rem;color:var(--muted);margin:8px 8px 15px}.school-button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 10px;border:0;background:white;border-radius:7px;text-align:left;font-size:.875rem;margin:3px 0}.school-button small{color:var(--muted);font-size:.75rem}.school-button[aria-pressed=true]{background:#edf2ff;color:var(--blue);font-weight:600}.school-button[aria-pressed=true] small{color:var(--blue)}.school-button:hover{background:#f3f6fc}.index-tip{border-top:1px solid var(--line);margin:18px 8px 0;padding-top:18px;color:var(--muted);font-size:.75rem;line-height:1.8}.index-tip strong{font-size:.8rem;color:#445571;font-weight:600}.index-tip p{margin-top:5px}.index-link{margin:18px 8px 0;padding-top:16px;border-top:1px solid var(--line);display:block;font-size:.75rem;color:var(--muted)}.index-link span{display:block;margin-top:4px;color:var(--blue);font-size:.875rem}.catalog-results{min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.result-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px}.result-toolbar h2{font-size:1.15rem}.result-toolbar h2>span{font-size:.8rem;color:var(--blue);background:#edf2ff;padding:3px 8px;border-radius:5px;margin-left:5px;vertical-align:middle}.result-toolbar p{font-size:.75rem;color:var(--muted);margin-top:4px}.catalog-search{display:flex;align-items:center;gap:8px;max-width:310px;border:1px solid var(--line);border-radius:7px;padding:6px 10px;background:#fbfcff}.catalog-search>span{font-size:1.45rem;color:var(--muted);line-height:1}.catalog-search input{border:0;outline:0!important;min-width:0;width:220px;background:transparent;font-size:.875rem;padding:3px;color:var(--ink)}.catalog-search:focus-within{outline:2px solid #7b9afa;outline-offset:2px}.result-notice{background:#f5f8ff;color:#5c6d8c;font-size:.75rem;line-height:1.8;padding:10px 20px;border-top:1px solid #edf1f9;border-bottom:1px solid #e5eaf4}.catalog-table-wrap{overflow-x:auto;scrollbar-width:thin}.catalog-table{min-width:950px;table-layout:fixed;font-size:.875rem}.catalog-table th,.catalog-table td{padding:17px 14px;vertical-align:top}.catalog-table thead{background:#f8faff}.catalog-table thead th{font-size:.8rem;color:#61708a;font-weight:500;white-space:normal}.catalog-table th:first-child,.catalog-table td:first-child{width:23%;padding-left:20px}.catalog-table th:nth-child(2),.catalog-table td:nth-child(2){width:14%}.catalog-table th:nth-child(3),.catalog-table td:nth-child(3){width:10%}.catalog-table th:nth-child(4),.catalog-table td:nth-child(4){width:15%}.catalog-table th:nth-child(5),.catalog-table td:nth-child(5){width:19%}.catalog-table th:nth-child(6),.catalog-table td:nth-child(6){width:13%}.catalog-table th:last-child,.catalog-table td:last-child{width:6%;padding-left:0;padding-right:12px}.catalog-table tbody tr:hover{background:#fafcff}.program-name{font-size:1rem;font-weight:650;display:block;border:0;background:transparent;padding:0;text-align:left;line-height:1.6;color:var(--ink)}.program-name:hover{color:var(--blue)}.catalog-table .school-name{font-size:.8rem;color:#53647d;margin-top:5px}.catalog-table .row-meta{font-size:.75rem;color:#7b879a;margin-top:4px;line-height:1.6}.method-tag{font-size:.75rem;display:inline-block!important;padding:2px 7px;border-radius:5px;font-weight:500}.method-adult{color:#187774!important;background:#ecf7f5}.method-self{color:#3659d5!important;background:#eef2ff}.method-open{color:#7952b4!important;background:#f4effb}.catalog-table .fee-value{color:var(--ink);font-size:1rem;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.fee-value small{font-size:.75rem;font-weight:400;color:var(--muted)}.subject-line{font-size:.875rem!important;color:#34455f!important;line-height:1.85}.score-value{font-size:1rem!important;color:#2852cc!important;font-weight:650}.row-detail{background:transparent;border:0;color:var(--blue);font-size:.8rem;padding:3px 0;white-space:nowrap}.row-detail:hover{text-decoration:underline}.result-footer{padding:12px 20px;display:flex;gap:12px;justify-content:space-between;font-size:.75rem;color:var(--muted);background:#fbfcfe;border-top:1px solid var(--line)}.catalog-empty{text-align:center;padding:45px 25px;line-height:1.8}.catalog-empty>.icon{width:34px;height:34px;color:#7d91bf}.catalog-empty h3{font-size:1rem;margin:12px 0 8px}.catalog-empty p{font-size:.875rem;color:var(--muted);max-width:480px;margin:auto}.catalog-empty button{margin:18px auto 0}
.score-section{padding-top:32px}.score-category-label{display:flex;gap:10px;align-items:center;font-size:.875rem;color:var(--muted)}.score-category-label select{max-width:280px}.score-board{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:grid;grid-template-columns:220px repeat(3,1fr)}.score-board-label{background:#f1f5fe;padding:22px}.score-board-label h3{font-size:1rem;margin-bottom:7px}.score-board-label p{font-size:.8rem;color:var(--muted);line-height:1.85}.score-year{padding:19px 22px;border-left:1px solid var(--line)}.score-year>span{font-size:.8rem;color:var(--muted)}.score-year strong{display:block;font-size:1.8rem;font-weight:700;letter-spacing:-.04em;line-height:1.5;color:var(--blue);font-variant-numeric:tabular-nums;margin:4px 0}.score-year strong small{font-size:.8rem;margin-left:5px;font-weight:400}.score-year a{font-size:.75rem;color:var(--muted)}.score-year a:hover{color:var(--blue);text-decoration:underline}.score-disclaimer{font-size:.8rem;color:var(--muted);margin-top:12px}.guide-details{border:1px solid var(--line);background:white;border-radius:12px;margin-top:28px}.guide-details>summary{display:flex;justify-content:space-between;gap:15px;padding:19px 22px;cursor:pointer;color:var(--muted);font-size:.875rem;list-style:none}.guide-details>summary::-webkit-details-marker{display:none}.guide-details>summary strong{font-weight:600;color:var(--ink);margin-right:10px}.guide-summary-action{color:var(--blue);white-space:nowrap}.guide-inner{padding:4px 22px 24px}.guide-details .profile{box-shadow:none}.sources-section{padding-top:30px}.sources-section .source-card{padding:18px}.source-card p{font-size:.875rem}.principles{padding:29px 0}.consult-banner{margin-top:28px}
.program-dialog{width:min(870px,calc(100vw - 32px));max-height:calc(100dvh - 36px);padding:25px 28px}.program-dialog h2{font-size:1.55rem}.program-subheading{font-size:.875rem;color:var(--muted);margin-top:7px;line-height:1.9}.program-year-badge{display:inline-block;background:#fff5e6;border:1px solid #f3e4c9;color:#88652f;padding:3px 8px;font-size:.75rem;border-radius:5px;margin-top:12px}.program-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin:23px 0 20px;overflow:auto;white-space:nowrap}.program-tabs button{font-size:.875rem;border:0;background:white;padding:0 0 12px;color:var(--muted);border-bottom:3px solid transparent;flex-shrink:0}.program-tabs button[aria-selected=true]{border-bottom-color:var(--blue);color:var(--blue);font-weight:650}.program-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:18px;background:#f6f8fd;border-radius:10px}.program-info-grid dt{font-size:.8rem;color:var(--muted);margin-bottom:5px}.program-info-grid dd{margin:0;font-size:1rem;font-weight:600}.program-info-grid dd small{display:block;font-weight:400;font-size:.75rem;color:var(--muted);margin-top:4px}.program-section-heading{font-size:1rem;margin:23px 0 12px}.program-copy{font-size:1rem;color:#53627b;line-height:1.9}.program-muted-note{background:#f7f9fd;border-left:3px solid #c5d2f0;padding:13px 16px;margin:16px 0;color:#5c6c85;font-size:.875rem;line-height:1.85}.program-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px}.program-table{min-width:480px;width:100%;font-size:.875rem}.program-table th,.program-table td{width:auto!important;padding:12px 15px!important;line-height:1.85}.program-table th{font-size:.8rem;font-weight:500}.program-table td span{font-size:.8rem}.program-table .sum-row td{font-weight:600;background:#f6f9ff}.program-source-links{display:grid;gap:12px;margin-top:15px}.program-source{padding:14px 16px;border:1px solid var(--line);border-radius:9px}.program-source a{color:var(--blue);font-size:.94rem;font-weight:550;line-height:1.7}.program-source a:hover{text-decoration:underline}.program-source p{font-size:.8rem;color:var(--muted);margin-top:6px;line-height:1.8}.program-dialog-footer{border-top:1px solid var(--line);padding-top:18px;margin-top:23px;display:flex;align-items:center;gap:15px;justify-content:space-between}.program-dialog-footer>span{font-size:.75rem;color:var(--muted)}.program-dialog-footer .primary-button{font-size:.875rem;min-height:40px;padding:9px 12px}.score-panel-year{font-weight:650;font-variant-numeric:tabular-nums}.missing-value{color:#8794a9}.no-score{padding:19px;background:#f6f8fd;border-radius:10px}.no-score h3{font-size:1.05rem;margin-bottom:8px}.no-score p{font-size:1rem;line-height:1.85;color:#5c6c85}
@media(max-width:1200px){.catalog-workspace{grid-template-columns:180px minmax(0,1fr);gap:14px}.filter-footnote{display:none}.catalog-table{min-width:900px}.score-board{grid-template-columns:180px repeat(3,1fr)}.catalog-update{display:none}.filter-location-row{gap:9px}.level-label{margin-left:10px}}
@media(max-width:900px){.catalog-workspace{grid-template-columns:1fr}.catalog-index{padding:14px 16px}.index-title,.index-location,.index-tip,.index-link{display:none}#school-index{display:flex;flex-wrap:wrap;gap:8px}.school-button{width:auto;margin:0;padding:7px 10px;gap:14px;border:1px solid var(--line)}.filter-location-row{flex-wrap:wrap}.catalog-filters{padding:5px 17px}.filter-label{width:60px}.level-label{margin-left:0}.filter-location-row select{min-width:92px}.score-board{grid-template-columns:155px repeat(3,1fr)}.score-year{padding:19px 16px}}
@media(max-width:760px){.container,.header-inner{padding-left:16px;padding-right:16px}.site-header{height:68px}.intro{padding:22px 0 18px}h1{font-size:1.5rem;line-height:1.5}.intro-copy{font-size:.875rem}.demo-strip{padding:7px 16px;font-size:.75rem}.catalog-filters{padding:6px 13px;border-radius:10px}.filter-location-row{display:grid;grid-template-columns:60px minmax(0,1fr) 16px minmax(0,1fr);gap:11px 5px;padding:10px 0}.filter-location-row .filter-label:first-child{grid-column:1}.filter-location-row #catalog-province{grid-column:2}.filter-location-row #catalog-city{grid-column:3/5}.filter-location-row .level-label{grid-column:1;grid-row:2}.filter-location-row #catalog-start{grid-column:2;grid-row:2}.filter-arrow{grid-column:3;grid-row:2;text-align:center}.filter-location-row #catalog-target{grid-column:4;grid-row:2}.filter-location-row select{width:100%;min-width:0;padding:8px 4px;font-size:.875rem}.filter-chip-row{gap:7px;align-items:flex-start;padding:11px 0}.filter-chip-row .filter-label{margin-top:7px;width:60px}.filter-chips{gap:4px;flex:1}.filter-chips button{font-size:.8rem;padding:6px 8px;min-height:32px}.reset-button{font-size:.75rem;margin-left:0;padding:7px 0}.filter-chip-row:last-child{display:grid;grid-template-columns:60px minmax(0,1fr);gap:8px 7px}.filter-chip-row:last-child .filter-label{margin-top:8px}.catalog-filters select{padding-right:5px}.year-label{margin-left:0;margin-top:8px;font-size:.8rem}.catalog-workspace{margin-top:14px;gap:12px}.catalog-index{padding:10px}.school-button{font-size:.8rem;padding:6px 9px}.school-button small{font-size:.75rem}.result-toolbar{padding:14px;display:block}.result-toolbar h2{font-size:1.1rem}.catalog-search{max-width:none;margin-top:12px}.catalog-search input{width:100%;min-height:30px;font-size:.875rem}.result-notice{padding:9px 14px;font-size:.75rem}.catalog-table{min-width:0;table-layout:auto;display:block}.catalog-table thead{display:none}.catalog-table tbody{display:block}.catalog-table tr{display:grid;grid-template-columns:1fr 1fr;padding:16px 14px;border-bottom:1px solid var(--line);gap:11px 14px;position:relative}.catalog-table tbody tr:last-child{border-bottom:0}.catalog-table td{display:block;width:auto!important;border:0;padding:0!important;font-size:.875rem}.catalog-table td:before{content:attr(data-label);display:block;color:var(--muted);font-size:.75rem;margin-bottom:3px}.catalog-table td:first-child{grid-column:1/3;padding-right:70px!important}.catalog-table td:first-child:before{display:none}.catalog-table td:nth-child(2){position:absolute;top:16px;right:14px}.catalog-table td:nth-child(2):before{display:none}.catalog-table td:nth-child(2) .row-meta{text-align:right}.catalog-table td:nth-child(5){grid-column:1/3}.catalog-table td:last-child{align-self:end;justify-self:end}.catalog-table td:last-child:before{display:none}.program-name{font-size:1.06rem}.catalog-table .school-name{font-size:.875rem}.catalog-table .row-meta{font-size:.75rem}.catalog-table .fee-value{font-size:1.1rem}.catalog-table .subject-line{display:inline;font-size:.875rem!important}.catalog-table .score-value{font-size:1.05rem!important}.catalog-table .row-detail{font-size:.875rem;padding:6px 0}.result-footer{padding:11px 14px;flex-wrap:wrap;font-size:.75rem;gap:4px}.score-section{padding-top:25px}.score-section .section-heading{display:block}.score-category-label{margin-top:13px;justify-content:space-between;font-size:.8rem}.score-category-label select{width:78%;max-width:none;padding:7px;font-size:.8rem}.score-board{grid-template-columns:repeat(3,1fr)}.score-board-label{grid-column:1/4;padding:13px 15px}.score-board-label h3{font-size:.94rem;margin-bottom:3px}.score-board-label p{font-size:.75rem}.score-year{padding:13px 11px;border-top:1px solid var(--line)}.score-year:nth-child(2){border-left:0}.score-year strong{font-size:1.65rem}.score-year a{font-size:.75rem}.score-disclaimer{font-size:.75rem;line-height:1.8}.guide-details{margin-top:22px}.guide-details>summary{padding:15px;align-items:center;font-size:.8rem}.guide-details>summary strong{display:block;margin:0 0 4px}.guide-summary-action{font-size:.75rem}.guide-inner{padding:0 12px 18px}.source-grid{gap:10px}.sources-section{padding-top:25px}.program-dialog{width:calc(100vw - 18px);padding:20px 16px;max-height:calc(100dvh - 18px)}.program-dialog h2{font-size:1.35rem}.program-tabs{gap:18px;margin:20px 0 16px}.program-tabs button{font-size:.875rem}.program-info-grid{grid-template-columns:1fr 1fr;padding:14px;gap:15px}.program-info-grid dd{font-size:.94rem}.program-section-heading{font-size:.94rem}.program-dialog-footer{flex-direction:column;align-items:stretch;gap:10px}.program-dialog-footer .primary-button{width:100%}.program-source a{font-size:.875rem}}


/* 报考费面板：金额来自官方公告并附文号；公告没写金额的省照实说明，不留白。 */
.fee-panel { background: white; border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; margin: 0 0 20px }
.fee-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap }
.fee-title { font-size: .875rem; font-weight: 600; color: var(--ink) }
.fee-list { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px }
.fee-list li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; font-size: .875rem; border-top: 1px solid var(--line); padding-top: 10px }
.fee-list li:first-child { border-top: 0; padding-top: 0 }
.fee-route { font-size: .75rem; color: var(--blue); background: #eaf0ff; border: 1px solid #dce5ff; border-radius: 6px; padding: 2px 8px; white-space: nowrap }
.fee-list strong { font-weight: 600; color: var(--ink); line-height: 1.7 }
.fee-basis { font-size: .75rem; color: var(--muted); line-height: 1.7 }
.fee-note { font-size: .8rem; color: var(--muted); line-height: 1.85; margin: 12px 0 0 }
.fee-note:empty { display: none }

@media(max-width:760px){
  .fee-panel { padding: 15px 16px; margin-bottom: 16px }
  .fee-list li { font-size: .8rem }
}


/* 首页通往 31 省静态页的入口。爬虫靠它才能发现 /p/ 下面的 93 个页面。 */
.all-regions { margin-top: 16px }
.all-regions-link { display: inline-flex; align-items: center; gap: 7px; font-size: .875rem; font-weight: 600; color: var(--blue); text-decoration: none; background: #eaf0ff; border: 1px solid #dce5ff; border-radius: 10px; padding: 11px 16px; line-height: 1.6 }
.all-regions-link:hover { background: #dfe8ff }
.all-regions-link .icon { width: 16px; height: 16px; flex: none }
a.context-chip { text-decoration: none }
a.context-chip:hover { background: #dfe8ff }
@media(max-width:760px){ .all-regions-link { font-size: .8rem; padding: 10px 13px; width: 100%; justify-content: space-between } }
.catalog-more { display: block; margin: 16px auto 0; font-size: .86rem }
.fee-unknown { font-size: .88rem; line-height: 1.45; white-space: normal }
#school-index { max-height: 680px; overflow-y: auto; scrollbar-width: thin; padding-right: 3px }
@media(max-width:900px){ #school-index { max-height: 260px; overflow-y: auto } }

/* 专业详情中的官方联系方式：只展示已有官方来源的号码和地址。 */
.contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; font-size: 1rem }
.official-contact-card { border: 1px solid var(--line); border-radius: 11px; padding: 17px; background: #fff; font-size: .875rem }
.contact-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; font-size: .875rem }
.contact-card-head h3 { margin: 0; font-size: 1rem; line-height: 1.6 }
.contact-source-badge { flex: none; padding: 3px 7px; border-radius: 5px; background: #eaf0ff; color: var(--blue); font-size: .75rem; line-height: 1.5 }
.contact-fields { display: grid; gap: 9px; margin: 14px 0 0; font-size: .875rem }
.contact-field { display: grid; grid-template-columns: 66px minmax(0, 1fr); gap: 9px; font-size: .875rem }
.contact-label { color: var(--muted); font-size: .8rem; line-height: 1.75 }
.contact-value { margin: 0; color: var(--ink); font-size: .875rem; line-height: 1.75; overflow-wrap: anywhere }
.contact-link { color: var(--blue); font-size: .875rem; font-weight: 600; text-decoration: none }
.contact-link:hover { text-decoration: underline }
.contact-note { margin: 13px 0 0; padding-top: 11px; border-top: 1px solid var(--line); color: var(--muted); font-size: .8rem; line-height: 1.75 }
.contact-source-link { display: inline-flex; margin-top: 11px; color: var(--blue); font-size: .8rem; font-weight: 600; text-decoration: none }
.contact-source-link:hover { text-decoration: underline }
.contact-empty { padding: 19px; background: #f6f8fd; border-radius: 10px; font-size: 1rem }
.contact-empty h3 { margin: 0 0 8px; font-size: 1.05rem }
.contact-empty p { margin: 0 0 12px; color: #5c6c85; font-size: .94rem; line-height: 1.85 }
.contact-empty a { display: block; margin-top: 8px; color: var(--blue); font-size: .875rem; line-height: 1.7 }
@media(max-width:760px){
  .contact-grid { grid-template-columns: 1fr; font-size: .875rem }
  .official-contact-card { padding: 15px; font-size: .875rem }
  .contact-field { grid-template-columns: 58px minmax(0, 1fr); font-size: .875rem }
}
