/* Approved blue identity. Kept separate so the previous design remains recoverable. */
:root {
  --ivory:#ffffff; --paper:#ffffff; --ink:#132b46; --jade:#285bdd;
  --sage:#f2f6fc; --gold:#285bdd; --muted:#58677a; --line:#dce4ef;
  --serif:"Noto Sans TC",sans-serif; --sans:"Noto Sans TC",sans-serif;
}
body {font-size:16px;line-height:1.85;background:#fff;}
h1,h2,h3 {letter-spacing:.01em;}
h2 {font-weight:700;line-height:1.45;}
h3 {font-weight:650;}
.section {padding-block:88px;}
.eyebrow {font-size:11px;font-weight:600;letter-spacing:.15em;color:var(--jade);}
.site-header {background:#fff;border-bottom:1px solid var(--line);}
.header-inner {height:100px;width:min(1320px,calc(100% - 80px));}
.brand {width:340px;}
.brand img,.footer-brand img {filter:none;mix-blend-mode:normal;}
#main-nav {gap:26px;font-size:14px;font-weight:500;}
.nav-cta {background:transparent!important;color:var(--ink);border:1px solid var(--line)!important;}
.nav-cta:hover {color:var(--jade);}
.button {border-radius:7px;min-height:46px;font-weight:600;box-shadow:none;}
.button-dark {background:var(--jade);border-color:var(--jade);color:#fff;}
.button-dark:hover {background:var(--ink);border-color:var(--ink);color:#fff;}
#main-nav .nav-cta {color:var(--ink);}
.brand img {height:90px;width:100%;object-fit:contain;}
.button-outline {border-color:var(--line);}
.button-outline:hover {background:var(--sage);}
.text-link {font-weight:600;font-size:14px;min-height:44px;}
.hero {min-height:610px;background:#f7f9fc;}
.hero-image {height:100%;width:100%;object-fit:cover;object-position:72% 48%;}
.hero-inner {padding-top:106px;padding-bottom:96px;}
.hero h1 {font-size:clamp(46px,4.9vw,68px);line-height:1.42;font-weight:750;letter-spacing:.025em;margin-bottom:26px;}
.hero .hero-kicker {font-size:11px;letter-spacing:.16em;margin-bottom:25px;color:#5f7590;}
.hero-description {font-size:17px;line-height:1.9;color:#374960;max-width:450px;margin-bottom:30px;}
.hero-actions {align-items:center;gap:26px;}
.hero-actions .button {padding:15px 26px;font-size:16px;}
.hero-actions .text-link {color:var(--jade);}
.hero-caption {display:none;}
.image-disclosure {position:absolute;right:28px;bottom:10px;font-size:10px;color:#526176;background:#ffffffd9;padding:4px 8px;margin:0;}
.contact-strip {margin-top:0;background:#fff;border:0;border-bottom:1px solid var(--line);border-radius:0;padding-block:24px;}
.contact-strip a {font-size:13px;}
.contact-strip .ph-light {font-size:22px;color:var(--ink);}
.contact-strip .ph-arrow-up-right {font-size:13px;}
.services {padding-block:68px 76px;}
.services .section-heading {text-align:left;margin-bottom:38px;}
.services h2 {font-size:30px;}
.service-grid article {text-align:left;padding:0 30px;}
.service-grid article:first-child {padding-left:0;}
.service-grid article > .ph-light {font-size:37px;margin-bottom:20px;color:var(--ink);}
.service-grid h3 {font-size:20px;}
.service-grid p {font-size:14px;}
.guide-section {grid-template-columns:1.2fr 1fr;gap:28px;border-radius:0;overflow:visible;}
.guide-card {background:var(--sage);border:1px solid var(--line);border-radius:8px;min-height:430px;}
.guide-card-copy {padding:34px 36px 20px;}
.guide-card h2 {font-size:32px;}
.guide-card-copy p:not(.eyebrow) {font-size:14px;}
.guide-quicklinks {border:0;background:transparent;padding:0;margin:0 36px 28px;}
.guide-quicklinks a {border-top:1px solid var(--line);font-size:14px;padding:12px 0;}
.guide-quicklinks a+a {border-color:var(--line);}
.guide-quicklinks .ph-light {font-size:23px;color:var(--ink);}
.prevention-card {background:white;border:1px solid var(--line);padding:34px 36px;border-radius:8px;}
.prevention-icon {font-size:34px;color:var(--ink);margin-bottom:20px;}
.prevention-card h2 {font-size:25px;}
.age-grid strong {font-weight:600;font-size:24px;}
.age-grid > div+div {border-color:var(--line);}
.fine-print {font-size:11px;}
.directory {padding-top:88px;}
.search-field {background:var(--sage);border:1px solid var(--line);max-width:none;}
.search-field input {font-size:15px;padding-block:16px;}
.filter {border-radius:5px;font-size:13px;min-height:42px;padding:8px 18px;}
.filter.active {background:var(--ink);}
.test-grid {gap:0 32px;}
.test-group {border:0;border-bottom:1px solid var(--line);border-radius:0;}
.test-group > summary {padding:22px 0;min-height:105px;}
.test-group > summary > .ph-light:first-child {color:var(--ink);}
.test-group summary strong {font-size:19px;font-weight:650;}
.small-label {font-size:11px;}
.test-body {padding:0 0 28px 49px;font-size:14px;}
.test-body dl>div {border-color:var(--line);}
.test-body dd {font-size:14px;}
.test-group:hover {border-color:var(--jade);}
.directory-note p {font-size:12px;}
.catalog-sources {margin-top:28px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);}
.catalog-sources a {text-decoration:underline;}
.dm-panel {margin-top:42px;padding:30px;background:var(--sage);border:1px solid var(--line);border-radius:8px;}
.dm-heading {display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px;}
.dm-heading h3 {margin:4px 0 0;font-size:25px;color:var(--ink);}
.dm-heading>p {margin:0;color:var(--muted);font-size:13px;}
.dm-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.dm-page {display:block;overflow:hidden;background:white;border:1px solid var(--line);border-radius:7px;color:var(--ink);transition:border-color .18s ease,transform .18s ease;}
.dm-page:hover {border-color:var(--jade);transform:translateY(-2px);color:var(--jade);}
.dm-page img {display:block;width:100%;height:auto;aspect-ratio:1088/1505;object-fit:contain;background:#fff;}
.dm-page span {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-top:1px solid var(--line);font-size:13px;font-weight:600;}
.dm-panel>.fine-print {margin:16px 0 0;color:var(--muted);}
.extension-intro {color:var(--muted);}
.preparation-section {background:var(--sage);}
.steps {gap:30px;}
.step-number {color:var(--jade);font-size:38px;font-weight:650;}
.steps p,.preparation-notes p {font-size:14px;}
.knowledge-card {border-color:var(--ink);}
.knowledge-card h3 {font-size:24px;font-weight:650;line-height:1.55;}
.knowledge-card p {font-size:14px;}
.screening-note {background:var(--sage);border-radius:6px;}
.about-section {background:var(--ink);color:white;}
.about-section p,.about-section .about-lead,.about-copy {color:#d1deef;}
.about-section .eyebrow {color:#9abbff;}
.about-section a {color:#fff;}
.faq-list summary {font-size:16px;font-weight:600;}
.faq-list details>p {font-size:14px;}
.contact-section {background:var(--sage);}
.contact-details {font-size:14px;}
.location-panel {border:1px solid var(--line);background:white;}
.business-card-panel {margin-top:56px;padding-top:38px;border-top:1px solid var(--line);}
.business-card-heading {display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px;}
.business-card-heading h3 {margin:4px 0 0;font-size:25px;color:var(--ink);}
.business-card-heading>p {margin:0;color:var(--muted);font-size:13px;}
.business-card-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.business-card-side {display:block;overflow:hidden;background:white;border:1px solid var(--line);border-radius:7px;color:var(--ink);transition:border-color .18s ease,transform .18s ease;}
.business-card-side:hover {border-color:var(--jade);transform:translateY(-2px);color:var(--jade);}
.business-card-side img {display:block;width:100%;height:auto;aspect-ratio:1657/988;object-fit:contain;background:#fff;}
.business-card-side span {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-top:1px solid var(--line);font-size:13px;font-weight:600;}
.site-footer {background:white;}
.footer-brand {width:320px;}
.footer-bottom {font-size:12px;}
@media (max-width:1100px) {
  .header-inner {width:calc(100% - 48px);}
  .brand {width:285px;}
  #main-nav {gap:16px;font-size:12px;}
  .hero h1 {font-size:52px;}
  .hero-description {font-size:15px;max-width:380px;}
}
@media (max-width:900px) {
  .header-inner {height:88px;}
  .brand img {height:80px;}
  #main-nav {background:#fff;border-color:var(--line);font-size:15px;}
  .hero-inner {width:calc(100% - 64px);padding-top:85px;}
  .hero h1 {font-size:44px;}
  .hero-image {object-position:65% center;}
  .hero-description {max-width:340px;}
  .guide-section {grid-template-columns:1fr 1fr;gap:20px;}
  .guide-card-copy,.prevention-card {padding:28px 24px;}
  .guide-card h2 {font-size:28px;}
  .guide-quicklinks {margin-inline:24px;}
}
@media (max-width:600px) {
  .header-inner {width:calc(100% - 28px);height:80px;gap:6px;}
  .brand {width:260px;max-width:calc(100% - 50px);}
  .brand img {height:74px;}
  .hero-description .desktop-break {display:block;}
  #main-nav {top:80px;}
  .container {width:calc(100% - 40px);}
  .hero {min-height:0;background:#fff;display:flex;flex-direction:column;}
  .hero-inner {width:calc(100% - 40px);padding:40px 0 24px;order:0;margin:0 auto;}
  .hero .hero-kicker {font-size:10px;margin-bottom:17px;}
  .hero h1 {font-size:clamp(32px,8.9vw,43px);line-height:1.45;margin-bottom:20px;}
  .hero-description {font-size:15px;max-width:none;margin-bottom:24px;}
  .hero-actions {gap:18px;}
  .hero-actions .button {font-size:14px;padding:13px 19px;}
  .hero-actions .text-link {font-size:13px;}
  .hero-image {position:relative;order:1;z-index:0;width:100%;height:300px;object-position:90% 48%;}
  .image-disclosure {bottom:10px;right:12px;font-size:9px;z-index:1;}
  .contact-strip {padding:24px 0;gap:15px;}
  .contact-strip a {font-size:13px;min-height:30px;}
  .section {padding-block:62px;}
  .services h2 {font-size:27px;}
  .service-grid article {padding:25px 0;}
  .service-grid article:first-child {padding-top:0;}
  .service-grid p {font-size:14px;}
  .guide-section {width:calc(100% - 40px);grid-template-columns:1fr;gap:18px;}
  .guide-card {min-height:0;}
  .guide-card-copy,.prevention-card {padding:28px 24px;}
  .guide-card h2,.prevention-card h2 {font-size:27px;}
  .guide-quicklinks {margin:0 24px 24px;}
  .test-grid {grid-template-columns:1fr;gap:0;}
  .test-group>summary {padding:20px 0;min-height:94px;gap:13px;}
  .test-group summary strong {font-size:18px;}
  .test-body {padding-left:0;font-size:14px;}
  .test-body dd {font-size:14px;}
  .search-field input {font-size:14px;}
  .filter-group {gap:7px;}
  .filter {padding-inline:11px;font-size:12px;}
  .dm-panel {margin-top:30px;padding:20px 16px;}
  .dm-heading {display:block;margin-bottom:16px;}
  .dm-heading h3 {font-size:22px;}
  .dm-heading>p {margin-top:6px;}
  .dm-grid {grid-template-columns:1fr;gap:16px;}
  .dm-page span {font-size:12px;}
  .steps p,.preparation-notes p {font-size:14px;}
  .faq-list summary {font-size:15px;}
  .contact-details {font-size:13px;}
  .business-card-panel {margin-top:40px;padding-top:30px;}
  .business-card-heading {display:block;margin-bottom:16px;}
  .business-card-heading h3 {font-size:22px;}
  .business-card-heading>p {margin-top:6px;}
  .business-card-grid {grid-template-columns:1fr;gap:16px;}
  .business-card-side span {font-size:12px;}
  .footer-brand {width:260px;}
  .mobile-actions {box-shadow:none;background:var(--jade);}
  .mobile-actions a {font-size:14px;min-height:54px;}
}
