/* 더편한속연합내과 — mobile-first, crawlable static site */
:root {
  --ink: #162b28;
  --ink-2: #334d48;
  --green: #0d4a40;
  --green-2: #176257;
  --green-3: #dcece7;
  --paper: #fbfaf6;
  --white: #ffffff;
  --sand: #efe7d9;
  --gold: #9c7418;
  --line: #d8e1dd;
  --muted: #667772;
  --danger: #8b3e32;
  --shadow: 0 18px 50px rgba(13, 74, 64, 0.10);
  --radius: 18px;
  --radius-lg: 30px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.72;
  letter-spacing: -0.015em;
  word-break: keep-all;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
:focus-visible { outline: 3px solid #f0b839; outline-offset: 3px; }

.skip-link {
  position: fixed;
  left: 12px;
  top: -80px;
  z-index: 999;
  padding: 10px 14px;
  border-radius: 8px;
  color: #fff;
  background: var(--green);
}
.skip-link:focus { top: 12px; }

.container { width: min(var(--max), calc(100% - 32px)); margin: 0 auto; }
.narrow { width: min(800px, calc(100% - 32px)); margin: 0 auto; }
.section { padding: 76px 0; }
.section-sm { padding: 48px 0; }
.section-dark { color: #fff; background: var(--green); }
.section-mint { background: #edf5f2; }
.section-sand { background: var(--sand); }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  color: var(--green-2);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.eyebrow::before { width: 24px; height: 2px; content: ""; background: currentColor; }
.section-dark .eyebrow { color: #bcd8d0; }
.display {
  margin: 0;
  font-size: clamp(38px, 7.6vw, 76px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.06em;
}
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(38px, 7vw, 68px); line-height: 1.1; letter-spacing: -0.055em; }
h2 { font-size: clamp(30px, 5vw, 48px); line-height: 1.18; letter-spacing: -0.045em; }
h3 { font-size: 22px; line-height: 1.35; letter-spacing: -0.03em; }
p { color: var(--muted); }
.section-dark p { color: #c9ddd7; }
.lead { font-size: clamp(18px, 2.4vw, 22px); line-height: 1.65; }
.small { font-size: 13px; line-height: 1.65; }
.note { color: var(--muted); font-size: 14px; }
.kicker { color: var(--green); font-weight: 800; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(216, 225, 221, 0.9);
  background: rgba(251, 250, 246, 0.94);
  backdrop-filter: blur(14px);
}
.header-inner {
  display: flex;
  min-height: 80px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.logo {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-width: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}
.logo img { display:block; width:245px; max-width:28vw; height:auto; background:transparent; }
.footer-logo { display:block; width:min(430px, 90vw); height:auto; margin:0; padding:0; background:transparent; filter:none; }
.official-proof { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:22px; }
.official-proof .note { margin:0; flex-basis:100%; }
.press-section { padding-top: 42px; }
.press-card { display:grid; grid-template-columns:180px 1fr; gap:34px; align-items:start; padding:34px; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:var(--shadow); }
.press-mark { display:grid; min-height:150px; align-content:space-between; padding:22px; border-radius:18px; color:#fff; background:var(--green); }
.press-mark span { font-size:24px; font-weight:900; letter-spacing:-.04em; }
.press-mark strong { color:#cfe1db; font-size:14px; }
.press-copy h2 { margin-bottom:12px; }
.press-headline { margin:0 0 14px; color:var(--green); font-size:22px; font-weight:850; line-height:1.45; }
.press-copy-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,310px); gap:24px; align-items:start; }
.press-award-figure { width:100%; margin:0; }
.press-award-figure img { display:block; width:100%; height:auto; border-radius:16px; background:var(--paper); box-shadow:0 12px 28px rgba(13,74,64,.10); }
.press-award-figure figcaption { margin-top:8px; color:var(--muted); font-size:12px; line-height:1.5; text-align:center; }
.press-points { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.press-points span { padding:8px 11px; border:1px solid var(--line); border-radius:999px; color:var(--green); background:var(--paper); font-size:13px; font-weight:800; }
.press-link { display:inline-flex; align-items:center; gap:8px; margin-top:4px; color:var(--green); font-weight:850; }
.press-link:hover { text-decoration:underline; }
.chronic-detail-section { border-top:1px solid var(--line); overflow:hidden; }
.chronic-detail-list { display:grid; gap:0; max-width:900px; }
.chronic-detail { position:relative; padding:56px 0; border-top:1px solid var(--line); scroll-margin-top:100px; }
.chronic-detail:first-child { padding-top:0; border-top:0; }
.chronic-detail:last-child { padding-bottom:0; }
.chronic-detail:nth-child(2) { position:relative; isolation:isolate; }
.chronic-detail:nth-child(2)::before { position:absolute; inset:0 50%; z-index:-1; width:100vw; content:""; transform:translateX(-50%); background:#e7f0ed; }
.chronic-detail h2 { margin-bottom:14px; }
.detail-columns { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.detail-columns > div { padding:0; }
.detail-columns h3 { margin-bottom:10px; color:var(--green); font-size:17px; }
.detail-columns ul { margin:0; padding-left:20px; }
.detail-columns li { margin:6px 0; color:var(--ink-2); }
.source-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.source-links a { padding:9px 12px; border:1px solid var(--line); border-radius:999px; color:var(--green); background:#fff; font-size:13px; font-weight:800; }
.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}
.menu-toggle span,
.menu-toggle span::before,
.menu-toggle span::after {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: var(--ink);
  content: "";
}
.menu-toggle span { position: relative; transition: background .18s ease; }
.menu-toggle span::before { position: absolute; top: -6px; left: 0; transition: top .18s ease, transform .18s ease; }
.menu-toggle span::after { position: absolute; top: 6px; left: 0; transition: top .18s ease, transform .18s ease; }
.menu-toggle[aria-expanded="true"] span { background: transparent; }
.menu-toggle[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] span::after { top: 0; transform: rotate(-45deg); }
.site-nav { display:flex; align-items:center; gap:13px; font-size:12.5px; font-weight:750; }
.site-nav .nav-secondary { display:none; }
.site-nav a:not(.btn):hover { color: var(--green-2); }
.site-nav a[aria-current="page"] { color:var(--green); font-weight:900; }
.site-nav a[aria-current="page"]::after { display:block; width:100%; height:2px; margin-top:4px; border-radius:999px; content:""; background:currentColor; }

.sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.site-search-field-icon { position:relative; display:inline-block; width:15px; height:15px; flex:0 0 15px; border:2px solid currentColor; border-radius:50%; }
.site-search-field-icon::after { position:absolute; right:-5px; bottom:-3px; width:6px; height:2px; border-radius:2px; content:""; transform:rotate(45deg); background:currentColor; }
.site-search-trigger { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; gap:7px; min-height:40px; margin-left:auto; padding:0 12px; border:1px solid #b9c9c4; border-radius:10px; color:var(--green); background:#fff; font:inherit; font-size:12.5px; font-weight:850; cursor:pointer; }
.site-search-trigger:hover { border-color:#8da59e; background:#f6f9f7; }
.site-search-trigger .site-search-field-icon { width:14px; height:14px; flex-basis:14px; }
.site-search-open { overflow:hidden; }
.site-search-overlay { position:fixed; inset:0; z-index:500; }
.site-search-overlay[hidden] { display:none; }
.site-search-backdrop { position:absolute; inset:0; background:rgba(4,25,22,.52); backdrop-filter:blur(4px); }
.site-search-panel { position:relative; z-index:1; width:min(760px, calc(100% - 32px)); max-height:calc(100vh - 64px); margin:32px auto; overflow:auto; padding:28px 30px 32px; border:1px solid rgba(216,225,221,.9); border-radius:18px; background:var(--paper); box-shadow:0 28px 80px rgba(4,25,22,.24); }
.site-search-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:20px; }
.site-search-head h2 { margin:0; font-size:24px; line-height:1.45; }
.site-search-close { display:grid; width:40px; height:40px; flex:0 0 40px; place-items:center; border:1px solid var(--line); border-radius:10px; color:var(--green); background:#fff; font-size:24px; line-height:1; cursor:pointer; }
.site-search-modal-form { margin-top:4px; }
.site-search-modal-results { margin-top:14px; }
.site-search-bar { position:relative; z-index:90; border-bottom:1px solid var(--line); background:#f4f7f5; }
.site-search-bar-inner { position:relative; display:grid; grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr); gap:28px; align-items:center; min-height:72px; padding-top:10px; padding-bottom:10px; }
.site-search-inline-copy { margin:0; color:var(--green); font-size:14px; font-weight:800; line-height:1.45; }
.site-search-entry { min-width:0; }
.site-search-inline-form { position:relative; display:flex; align-items:center; }
.site-search-example { display:inline-block; max-width:100%; margin-top:7px; padding:0; border:0; color:var(--muted); background:transparent; font:inherit; font-size:12px; line-height:1.45; text-align:left; cursor:pointer; }
.site-search-example:hover { color:var(--green); text-decoration:underline; text-underline-offset:3px; }
.site-search-inline-form .site-search-field-icon { position:absolute; left:17px; z-index:1; color:var(--green); }
.site-search-inline-form input { width:100%; min-height:50px; padding:0 76px 0 50px; border:1px solid #aebfba; border-radius:10px; background:#fff; color:var(--ink); font:inherit; font-size:16px; touch-action:manipulation; box-shadow:0 1px 2px rgba(13,74,64,.04); }
.site-search-inline-form input::placeholder { color:#788783; }
.site-search-inline-form input:hover { border-color:#809b93; }
.site-search-inline-form input:focus { outline:3px solid rgba(13,74,64,.12); border-color:var(--green); box-shadow:0 3px 10px rgba(13,74,64,.08); }
.site-search-clear { position:absolute; right:8px; min-height:34px; padding:0 10px; border:0; border-radius:7px; color:var(--green); background:#f2f5f3; font:inherit; font-size:12px; font-weight:850; cursor:pointer; }
.site-search-popover { position:absolute; top:calc(100% - 5px); right:0; z-index:300; width:min(720px, 64%); max-height:min(620px, calc(100vh - 170px)); overflow:auto; padding:12px 22px 20px; border:1px solid #c7d4d0; border-radius:0 0 14px 14px; background:#fff; box-shadow:0 22px 48px rgba(4,25,22,.16); }
.site-search-popover[hidden] { display:none; }
.site-search-status { margin:6px 0 8px; color:var(--muted); font-size:12px; }
.site-search-results { border-top:1px solid var(--line); }
.site-search-result { position:relative; display:grid; gap:5px; padding:19px 44px 19px 0; border-bottom:1px solid var(--line); color:inherit; }
.site-search-result:hover strong { color:var(--green-2); }
.site-search-result-label { color:var(--green-2); font-size:11px; font-weight:850; letter-spacing:.02em; }
.site-search-result strong { color:var(--green); font-size:17px; line-height:1.45; transition:color .15s ease; }
.site-search-result-description { display:-webkit-box; max-width:720px; overflow:hidden; color:var(--muted); font-size:13px; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.site-search-result-arrow { position:absolute; top:50%; right:6px; color:var(--green-2); font-size:20px; transform:translateY(-50%); }
.site-search-empty { margin-top:16px; padding:26px 0 4px; border-top:1px solid var(--line); }
.site-search-empty strong { display:block; color:var(--green); font-size:18px; }
.site-search-empty p { margin:7px 0 18px; color:var(--muted); }

.btn {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 19px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1.2;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: var(--green); }
.btn-primary:hover { background: #083c34; }
.btn-light { color: var(--green); background: #fff; }
.btn-outline { border-color: var(--green); color: var(--green); background: transparent; }
.btn-row { display: flex; flex-wrap: wrap; gap: 10px; }
/* 로컬 비주얼 편집기에서 선택할 수 있는 안전한 콘텐츠 프리셋 */
.content-frame-rounded { overflow:hidden; border-radius:24px; }
.content-frame-outline { border:1px solid var(--line); border-radius:24px; }
.content-frame-shadow { border-radius:24px; box-shadow:var(--shadow); }
.content-frame-accent { border:1px solid var(--line); border-top:4px solid var(--green); border-radius:20px; }
.content-bg-white { background:#fff !important; }
.content-bg-mint { background:#edf5f2 !important; }
.content-bg-sand { background:var(--sand) !important; }
.content-bg-green { color:#fff; background:var(--green) !important; }
.content-bg-green :is(h1,h2,h3,strong,a) { color:#fff; }
.content-bg-green :is(p,li,span) { color:#c9ddd7; }
.content-image { display:block; width:100%; height:auto; margin:20px 0 0; border-radius:18px; }
.content-editor-frame { min-width:0; padding:24px; }
.content-editor-frame > :last-child, .content-editor-frame-body > :last-child { margin-bottom:0; }
.content-editor-frame-body { padding-top:18px; }
.content-image-slot { display:grid; min-height:180px; place-items:center; padding:24px; border:1px dashed #9db9b1; border-radius:16px; color:var(--green); background:#f4f8f6; text-align:center; font-size:14px; font-weight:800; }
.content-editor-frame > .content-image:first-child { margin-top:0; }

.hero { padding: 46px 0 54px; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, .95fr); align-items: center; gap: 52px; }
.hero .display { font-size:clamp(42px,5.5vw,66px); }
.hero-copy .lead { max-width: 680px; margin: 24px 0 28px; }
.hero-proof {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin: 0 0 30px;
  padding: 0;
  list-style: none;
}
.hero-proof li {
  display:flex;
  align-items:center;
  min-height:58px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--ink-2);
  background: rgba(255,255,255,.82);
  font-size: 13px;
  font-weight: 800;
  line-height:1.45;
}
.hero-media { position: relative; margin:0; }
.hero-photo-caption { margin-top:10px; color:var(--muted); font-size:12px; text-align:right; }
.hero-photo {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  min-height: 0;
  object-fit: cover;
  border-radius: 56px 12px 56px 12px;
  box-shadow: var(--shadow);
  background: #e5eee9;
}
.hero-stamp {
  position: absolute;
  right: -18px;
  bottom: 28px;
  width: min(250px, 64%);
  padding: 18px;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 18px;
  color: #fff;
  background: rgba(13,74,64,.92);
  box-shadow: 0 14px 30px rgba(13,74,64,.25);
}
.hero-stamp strong { display: block; margin-bottom: 4px; font-size: 18px; line-height: 1.4; }
.hero-stamp span { color: #d1e4de; font-size: 12px; }

.quick-strip { border-block: 1px solid var(--line); background: #fff; }
.quick-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.quick-item { position:relative; display:grid; min-height:128px; align-content:center; padding:26px 54px 26px 24px; border-right:1px solid var(--line); transition:background .18s ease; }
.quick-item:last-child { border-right:0; }
.quick-item:hover,.quick-item:focus-visible { background:#f4f8f6; }
.quick-item::after { position:absolute; top:50%; right:26px; width:9px; height:9px; border-top:2px solid rgba(13,74,64,.52); border-right:2px solid rgba(13,74,64,.52); content:''; transform:translateY(-50%) rotate(45deg); transition:transform .18s ease,border-color .18s ease; }
.quick-item:hover::after,.quick-item:focus-visible::after { border-color:var(--green); transform:translate(3px,-50%) rotate(45deg); }
.quick-item strong { display:block; margin-bottom:5px; color:var(--green); font-size:18px; line-height:1.35; }
.quick-item span { color:var(--muted); font-size:14px; line-height:1.55; }

.split { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: start; gap: 70px; }
.split-reverse { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); }
.sticky-copy { position: sticky; top: 112px; }
.section-intro { max-width: 620px; }
.section-intro p { font-size: 18px; }

.feature-list { display: grid; gap: 14px; }
.feature {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 16px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
}
.feature-number {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--green);
  font-size: 13px;
  font-weight: 900;
}
.feature-label { display:inline-block; margin-bottom:7px; color:var(--green-2); font-size:12px; font-weight:850; letter-spacing:.02em; }
.feature h3 { margin-bottom: 7px; }
.feature p { margin-bottom: 0; }
.feature-action { margin-top:14px; }
.feature-action .btn { min-height:40px; padding:9px 15px; font-size:13px; }

.accreditation-panel {
  display:grid;
  grid-template-columns:minmax(350px, .82fr) minmax(0, 1.18fr);
  gap:44px;
  align-items:center;
  padding:38px;
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow);
}
.landing-accreditation-image { display:block; width:min(440px, 100%); height:auto; margin:auto; border-radius:22px; background:#fff; box-shadow:0 16px 36px rgba(74,58,0,.10); }
.landing-plaque-figure { margin:0; text-align:center; }
.landing-plaque-figure figcaption { margin-top:12px; color:var(--muted); font-size:13px; }
.accreditation-facts.compact-facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
.accreditation-plaque { margin:0; text-align:center; }
.accreditation-plaque img { display:block; width:min(460px, 100%); height:auto; margin:auto; padding:4px; border-radius:22px; background:#fff; box-shadow:0 16px 34px rgba(74,58,0,.10); }
.accreditation-plaque figcaption { margin-top:12px; color:var(--muted); font-size:13px; }
.accreditation-facts { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin: 24px 0; }
.fact { min-width:0; padding:17px; border-radius:14px; background:var(--paper); }
.fact strong { display: block; color: var(--green); font-size: 18px; }
.fact span { color: var(--muted); font-size: 13px; }
.accreditation-standard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:26px; }
.accreditation-standard-card { position:relative; min-width:0; padding:24px 24px 23px; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 9px 26px rgba(13,74,64,.045); }
.accreditation-standard-card::after { position:absolute; right:-18px; bottom:-34px; width:110px; height:110px; border:1px solid rgba(13,74,64,.06); border-radius:50%; content:""; }
.accreditation-standard-number { display:inline-block; margin-bottom:24px; color:var(--green-2); font-size:12px; font-weight:900; letter-spacing:.08em; }
.prose .accreditation-standard-card h3 { margin:0 0 10px; color:var(--ink); font-size:20px; }
.prose .accreditation-standard-card p { position:relative; z-index:1; margin:0; color:var(--muted); font-size:15px; line-height:1.72; }

.editorial-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.editorial-card {
  position: relative;
  display:block;
  min-height: 285px;
  overflow: hidden;
  border-radius: 22px;
  color: #fff;
  background: var(--green);
}
.editorial-card:nth-child(n) { grid-column:auto; }
.editorial-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.editorial-card::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, transparent 20%, rgba(8,38,33,.84)); }
.editorial-card-content { position: absolute; right: 0; bottom: 0; left: 0; z-index: 1; padding: 26px; }
.editorial-card h3 { margin-bottom: 6px; font-size: 25px; }
.editorial-card p { margin-bottom: 0; color: #d9e8e3; }

.cards-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.info-card { padding: 27px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.info-card h3 { margin-bottom: 8px; }
.info-card p:last-child { margin-bottom: 0; }
.procedure-card-note { margin-top:12px; color:var(--muted); font-size:10px; line-height:1.55; }
.info-card .tag { display:inline-block; margin-bottom:22px; color:var(--green-2); font-size:11px; font-weight:850; letter-spacing:.025em; }
.colonoscopy-concerns .section-intro { margin-bottom:28px; }
.concern-grid { align-items:stretch; }
.colonoscopy-decision-summary .section-intro { max-width:760px; margin-bottom:24px; }
.colonoscopy-decision-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block:1px solid rgba(13,74,64,.16); }
.colonoscopy-decision-item { display:grid; grid-template-columns:30px minmax(0,1fr); gap:10px; padding:20px 18px; border-right:1px solid rgba(13,74,64,.14); }
.colonoscopy-decision-item:last-child { border-right:0; }
.colonoscopy-decision-item > span { color:var(--green-2); font-size:11px; font-weight:900; letter-spacing:.08em; }
.colonoscopy-decision-item strong { display:block; margin-bottom:5px; color:var(--ink); font-size:17px; line-height:1.4; }
.colonoscopy-decision-item p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.colonoscopy-decision-note { max-width:900px; margin:16px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.concern-card { display:flex; flex-direction:column; min-height:100%; }
.concern-card h3 { font-size:22px; line-height:1.45; }
.concern-card p { margin-bottom:20px; }
.concern-answer { display:block; margin-top:auto; padding-top:18px; border-top:1px solid var(--line); color:var(--green); font-size:14px; line-height:1.5; }
.colonoscopy-prep-options { background:#fff; }
.prep-choice { margin:0; padding:0; border-top:0; }
.prep-choice .section-intro { margin-bottom:24px; }
.prep-choice-card { display:flex; flex-direction:column; min-height:100%; }
.prep-choice-card > p { margin:18px 0 20px; }
.prep-choice-desc { color:var(--muted); }
.prep-choice-proscons { display:grid; gap:10px; margin-top:auto; }
.prep-choice-proscons p { margin:0; padding:13px 14px; border-radius:12px; background:#f6f8f7; color:var(--muted); font-size:13px; line-height:1.6; }
.prep-choice-proscons strong { display:block; margin-bottom:3px; color:var(--ink); font-size:13px; }
.prep-choice-proscons span { display:block; }
.drug-source { display:inline-block; margin-top:16px; color:var(--green); font-size:12px; font-weight:850; text-decoration:underline; text-underline-offset:3px; }
.prep-choice-note { margin:18px 0 0; color:var(--muted); font-size:13px; line-height:1.6; }
.concern-actions { margin-top:28px; }

.doctor-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.doctor-card { padding: 27px; border-top: 3px solid var(--green); background: #fff; }
.doctor-card .initial {
  display: grid;
  width: 56px;
  height: 56px;
  margin-bottom: 24px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--green);
  font-size: 20px;
  font-weight: 900;
}
.doctor-card h3 { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:3px; }
.doctor-card-tag { display:inline-flex; align-items:center; padding:5px 10px; border:1px solid rgba(180,79,115,.18); border-radius:999px; background:#f8e9ef; color:#9a3f61; font-size:12px; font-weight:900; line-height:1.1; letter-spacing:-.01em; }
.doctor-card ul { padding-left: 18px; color: var(--muted); font-size: 14px; }
.doctor-profile-list { display:grid; gap:20px; }
.doctor-profile-card { display:grid; grid-template-columns:minmax(260px, 34%) 1fr; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:0 12px 34px rgba(13,74,64,.07); }
.doctor-profile-media { margin:0; min-height:100%; background:#f2f5f3; }
.doctor-profile-media img { display:block; width:100%; height:100%; min-height:420px; object-fit:cover; }
.doctor-profile-media-crop img { object-position:left center; }
.doctor-profile-media-portrait img { object-position:center top; }
.doctor-profile-summary { padding:30px 32px; }
.doctor-profile-summary h2 { margin-bottom:4px; font-size:30px; }
.doctor-profile-summary p { margin-bottom:4px; }
.doctor-card .kicker:last-child, .doctor-profile-summary .kicker:last-child { margin-bottom:0; }
.doctor-profile-summary .kicker { font-size:15px; line-height:1.6; }
.doctor-name-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.doctor-name-row h2 { margin-bottom:0; }
.doctor-badge { display:inline-flex; align-items:center; min-height:28px; padding:4px 10px; border-radius:999px; background:var(--mint); color:var(--green); font-size:12px; font-weight:800; line-height:1.2; }
.doctor-schedule-note { margin-top:8px !important; color:var(--muted); font-size:13px; line-height:1.5; }
.doctor-schedule-note strong { margin-right:6px; color:var(--ink); }
.doctor-profile-bio { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.doctor-profile-bio h3 { margin:0 0 8px; font-size:14px; color:var(--green); }
.doctor-profile-bio ul + h3 { margin-top:22px; }
.doctor-profile-bio ul { display:grid; gap:5px; margin:0; padding-left:18px; color:var(--muted); font-size:14px; line-height:1.6; }
.doctor-profile-bio p { margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.6; }
.doctor-practice { margin-top:12px !important; padding-top:12px; border-top:1px solid var(--line); }
.doctor-practice strong { margin-right:6px; color:var(--green); }
.doctor-media-links { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.doctor-media-links h3 { margin:0 0 8px; color:var(--green); font-size:14px; }
.doctor-media-links ul { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.doctor-media-links a { display:flex; justify-content:space-between; gap:14px; align-items:baseline; color:var(--ink); font-size:13px; line-height:1.5; }
.doctor-media-links a:hover { color:var(--green); }
.doctor-media-links small { flex:0 0 auto; color:var(--muted); font-size:11px; }
.media-reference-section { padding:28px 0; border-top:1px solid var(--line); background:#fbfcfb; }
.media-reference-inner { display:grid; grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr); gap:28px; align-items:center; }
.media-reference-inner h2 { margin:0 0 5px; font-size:20px; }
.media-reference-inner p:not(.eyebrow) { margin:0; color:var(--muted); font-size:13px; }
.media-reference-link { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:14px 16px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.media-reference-link strong { color:var(--ink); font-size:14px; line-height:1.45; }
.media-reference-link span { flex:0 0 auto; color:var(--muted); font-size:11px; font-weight:700; }
.home-media-note { margin:14px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }
.home-media-note a { color:var(--green); font-weight:850; }
.doctor-source-note { margin:20px 0 0; color:var(--muted); font-size:13px; }
.doctor-source-note a, .text-link { color:var(--green); font-weight:850; }
.related-media-line { padding:14px 0; border-top:1px solid var(--line); background:#fbfcfb; }
.related-media-line .container { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; }
.related-media-line span { color:var(--muted); font-size:12px; font-weight:800; }
.related-media-line a { color:var(--green); font-size:13px; font-weight:850; }
.media-hub-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.media-hub-card { display:flex; flex-direction:column; min-height:210px; padding:24px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 10px 28px rgba(13,74,64,.05); scroll-margin-top:100px; }
.media-hub-meta { display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:12px; font-weight:800; }
.media-hub-card h3 { margin:14px 0 10px; font-size:21px; line-height:1.35; }
.media-hub-card p { margin:0 0 18px; color:var(--muted); font-size:14px; line-height:1.65; }
.media-hub-card > a { margin-top:auto; color:var(--green); font-size:13px; font-weight:850; }
.media-hub-card-archive { background:#f7f5ef; }
.media-archive-note { margin-top:auto; color:var(--muted); font-size:12px; font-weight:800; }
.media-filter-block { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 20px; align-items:center; margin:0 0 24px; padding:16px 0 18px; border-top:1px solid rgba(13,74,64,.14); border-bottom:1px solid rgba(13,74,64,.14); }
.media-filters { display:flex; flex-wrap:wrap; gap:8px; }
.media-filter { min-height:40px; padding:8px 14px; border:1px solid #b9ccc6; border-radius:999px; background:rgba(255,255,255,.72); color:var(--green); font:inherit; font-size:13px; font-weight:850; cursor:pointer; }
.media-filter:hover { border-color:var(--green); }
.media-filter:focus-visible { outline:3px solid rgba(13,74,64,.14); outline-offset:2px; }
.media-filter.is-active { border-color:var(--green); background:var(--green); color:#fff; }
.media-filter-status { margin:0; color:var(--muted); font-size:13px; font-weight:750; }
.media-hub-card[hidden] { display:none; }

.flow { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; counter-reset: step; }
.flow-step { position: relative; padding: 28px 24px; border-top: 1px solid var(--line); }
.flow-step::before {
  counter-increment: step;
  content: "0" counter(step);
  display: block;
  margin-bottom: 24px;
  color: var(--green);
  font-size: 13px;
  font-weight: 900;
}
.flow-step:not(:last-child)::after { position: absolute; top: 36px; right: -3px; width: 7px; height: 7px; border-top: 2px solid var(--green); border-right: 2px solid var(--green); content: ""; transform: rotate(45deg); }

.faq { border-top: 1px solid var(--line); }
.faq-more { margin-top:22px; }
.faq-search-section { padding:52px 0; }
.faq-search-box { max-width:980px; margin:0 auto; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.faq-search-intro { max-width:720px; margin-bottom:24px; }
.faq-search-intro .eyebrow { margin-bottom:10px; }
.faq-search-intro h2 { margin:0 0 10px; font-size:clamp(27px,4vw,40px); }
.faq-search-intro p:last-child { margin:0; }
.faq-search-box > label { display:block; margin-bottom:9px; color:var(--green); font-size:14px; font-weight:850; }
.faq-search-input-wrap { display:flex; gap:10px; }
.faq-search-input-wrap input { width:100%; min-height:58px; padding:0 18px; border:1px solid #b8ccc5; border-radius:14px; background:#fff; color:var(--ink); font:inherit; font-size:17px; box-shadow:0 7px 22px rgba(13,74,64,.05); }
.faq-search-input-wrap input:focus { outline:3px solid rgba(13,74,64,.12); border-color:var(--green); }
.faq-clear { flex:0 0 auto; padding:0 16px; border:1px solid var(--line); border-radius:14px; background:var(--paper); color:var(--green); font-weight:800; cursor:pointer; }
.faq-suggestions { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:12px; }
.faq-suggestions > span { margin-right:3px; color:var(--muted); font-size:12px; font-weight:800; }
.faq-suggestion { padding:6px 9px; border:0; border-bottom:1px solid #a9beb7; color:var(--green); background:transparent; font-size:12.5px; font-weight:750; cursor:pointer; }
.faq-suggestion:hover { border-color:var(--green); }
.faq-filter-block { margin-top:28px; padding-top:20px; border-top:1px solid rgba(13,74,64,.12); }
.faq-filter-label { display:block; margin-bottom:10px; color:var(--ink-2); font-size:13px; font-weight:850; }
.faq-filters { display:flex; flex-wrap:wrap; gap:8px; margin:0; }
.faq-filter { display:inline-flex; align-items:center; gap:5px; padding:8px 12px; border:1px solid #bdd0ca; border-radius:999px; background:rgba(255,255,255,.5); color:var(--green); font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.faq-filter-count { display:inline-grid; min-width:22px; height:22px; place-items:center; padding:0 5px; border-radius:999px; color:var(--muted); background:#fff; font-size:10px; line-height:1; }
.faq-filter.is-active { color:#fff; border-color:var(--green); background:var(--green); }
.faq-filter.is-active .faq-filter-count { color:var(--green); }
.faq-result-status { margin:15px 0 0; color:var(--muted); font-size:13px; }
.faq-directory { padding-top:66px; }
.faq-group { scroll-margin-top:110px; }
.faq-group + .faq-group { margin-top:64px; padding-top:58px; border-top:1px solid var(--line); }
.faq-group > .eyebrow { margin-bottom:8px; }
.faq-group > h2 { margin:0 0 18px; font-size:clamp(28px,4.2vw,42px); }
.faq-group-toggle { min-height:40px; margin-top:18px; padding:7px 0; border:0; border-bottom:1px solid currentColor; color:var(--green); background:transparent; font-size:14px; font-weight:850; cursor:pointer; }
.faq-search-list .faq-item[hidden], .faq-group[hidden], .faq-group-toggle[hidden] { display:none; }
.faq-search-list details[data-priority="P0"] summary { color:var(--ink); }
.faq-search-list details[data-priority="P1"] summary { color:var(--ink-2); }
.faq-empty { padding:42px 24px; border:1px dashed var(--line); border-radius:18px; text-align:center; background:var(--paper); }
.faq-empty h2 { margin-bottom:8px; }
details { border-bottom: 1px solid var(--line); }
summary { position: relative; padding: 22px 44px 22px 0; cursor: pointer; font-size: 18px; font-weight: 800; list-style: none; }
summary::-webkit-details-marker { display: none; }
summary::after { position: absolute; top: 22px; right: 4px; content: "+"; color: var(--green); font-size: 25px; line-height: 1; }
details[open] summary::after { content: "−"; }
details p { max-width: 780px; padding-bottom: 22px; }
.faq-item strong { color:inherit; font-weight:inherit; }
.faq-item > p:first-of-type > strong:first-of-type,
.faq-item .faq-critical,
.faq-item .faq-critical-list strong { color:var(--ink); font-weight:850; }

.page-hero { padding: 68px 0 54px; }
.page-hero .lead { max-width: 780px; }
.visit-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:28px; }
.visit-fact { padding:18px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(13,74,64,.05); }
.visit-fact span { display:block; margin-bottom:7px; color:var(--green-2); font-size:12px; font-weight:850; letter-spacing:.02em; }
.visit-fact strong { display:block; margin-bottom:6px; color:var(--green); font-size:17px; line-height:1.45; }
.visit-fact p { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; color: var(--muted); font-size: 13px; }
.breadcrumb a::after { margin-left: 8px; content: "/"; color: #a6b1ad; }
.prose h2 { margin-top:52px; margin-bottom:16px; font-size:clamp(30px,1.6rem + 1.2vw,40px); line-height:1.22; letter-spacing:-.04em; }
.prose h3 { margin-top:30px; margin-bottom:10px; font-size:21px; line-height:1.42; letter-spacing:-.025em; }
.prose p, .prose li { font-size: 17px; }
.prose :is(p,li) a:not(.btn) { color:var(--green); text-decoration:underline; text-decoration-color:rgba(13,74,64,.32); text-decoration-thickness:1px; text-underline-offset:3px; }
.prose :is(p,li) a:not(.btn):hover { text-decoration-color:currentColor; }

/* Long-form service pages: preserve the calm editorial language while making
   section changes and subtopics easier to scan. */
.service-page .section:not(.section-sm) { padding:68px 0; }
.service-page .section-mint { background:linear-gradient(180deg,#f1f7f5 0%,#edf5f2 100%); }
.service-page .section-sand { background:linear-gradient(180deg,#f3ede3 0%,#efe7d9 100%); }
.service-page .section-intro h2 { font-size:clamp(30px,1.6rem + 1.2vw,40px); line-height:1.22; letter-spacing:-.04em; }
.service-page .narrow.prose { width:min(840px,calc(100% - 32px)); }
.service-page .prose > h2::before {
  display:block;
  width:34px;
  height:3px;
  margin-bottom:15px;
  border-radius:999px;
  content:'';
  background:var(--green-2);
}
.service-page .prose > .eyebrow + h2::before { display:none; }
.service-page .prose > .eyebrow + h2 { margin-top:14px; }
.service-page .prose > h3 {
  position:relative;
  padding-top:20px;
  border-top:1px solid rgba(13,74,64,.12);
}
.symptom-list {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:8px 28px;
  margin:18px 0 8px;
  padding:22px 24px 22px 42px;
  border:1px solid rgba(13,74,64,.10);
  border-radius:18px;
  background:rgba(237,245,242,.54);
}
.prose blockquote { margin: 34px 0; padding: 22px 26px; border-left: 4px solid var(--green); background: #edf5f2; }
.prose blockquote p { margin: 0; color: var(--ink); font-weight: 700; }
.prose table { width: 100%; border-collapse: collapse; font-size: 15px; }
.prose th, .prose td { padding: 13px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.prose th { color: var(--green); background: #edf5f2; }
.screening-table-wrap { overflow:hidden; margin:14px 0 10px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.screening-table { margin:0; }
.screening-table th, .screening-table td { padding:14px 13px; }
.screening-table tbody tr:last-child td { border-bottom:0; }
.callout { margin: 28px 0; padding: 22px; border: 1px solid #c8dcd5; border-radius: 14px; background: #f2f8f5; }
/* Privacy policy — document-first layout */
.privacy-page .page-hero { border-bottom:1px solid var(--line); background:#f3f7f5; }
.privacy-page .page-hero h1 { margin-bottom:18px; font-size:clamp(36px,5vw,54px); }
.privacy-page .page-hero .lead { max-width:720px; margin-bottom:0; }
.privacy-section { padding-top:56px; }
.privacy-content { width:min(900px,calc(100% - 32px)); }
.privacy-content > .callout:first-child { margin:0 0 42px; padding:24px 26px; border-left:4px solid var(--green); background:#edf5f2; }
.privacy-content > .callout:first-child strong { display:block; margin-bottom:6px; color:var(--green); font-size:17px; }
.privacy-content > .callout:first-child p { margin:0; }
.privacy-content > h2 { margin:0; padding:34px 0 15px; border-top:1px solid var(--line); color:var(--green); font-size:24px; line-height:1.35; letter-spacing:-.035em; }
.privacy-content > h2:first-of-type { padding-top:0; border-top:0; }
.privacy-content > p { margin-bottom:14px; line-height:1.78; }
.privacy-content > ul:not(.privacy-contact-list) { margin:16px 0 30px; padding:18px 22px 18px 42px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.privacy-content > ul:not(.privacy-contact-list) li + li { margin-top:6px; }
.privacy-content .note { margin-top:12px; padding-left:13px; border-left:3px solid #c8dcd5; font-size:14px; }
.privacy-table { width:100%; margin:17px 0 20px; overflow:hidden; border:1px solid var(--line); border-radius:14px; border-collapse:separate !important; border-spacing:0; background:#fff; }
.privacy-table th, .privacy-table td { padding:13px 16px; }
.privacy-table thead th { color:#fff; background:var(--green); font-size:14px; font-weight:800; }
.privacy-table thead th:first-child { width:36%; }
.privacy-table tbody tr:last-child > * { border-bottom:0; }
.privacy-table tbody th { width:34%; color:var(--green); background:#f2f6f4; font-size:14px; font-weight:800; }
.privacy-key-value td { color:var(--ink-2); }
.privacy-contact-list { margin:16px 0 30px; padding:8px 18px; border:1px solid var(--line); border-radius:14px; list-style:none; background:#fff; }
.privacy-contact-list li { display:flex; gap:14px; padding:10px 0; font-size:16px; }
.privacy-contact-list li + li { border-top:1px solid #e8eeeb; }
.privacy-contact-list strong { flex:0 0 150px; color:var(--green); }

.warning { border-color: #e1c8c3; background: #fbf3f1; }
.warning strong { color: var(--danger); }
.meta-line { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 24px; color: var(--muted); font-size: 13px; }

.location-overview { border-top:1px solid #dfd6c6; border-bottom:1px solid #dfd6c6; background:#f2eadf; }
.location-details { padding-top:64px; background:var(--paper); }
.location-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.location-card { padding: 28px; border:1px solid var(--line); border-radius: var(--radius); background: #fff; }
.access-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr); gap:18px; margin:28px 0 48px; }
.access-card { min-width:0; margin:0; padding:24px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 10px 30px rgba(13,74,64,.055); }
.prose .access-card h3 { margin:0 0 12px; color:var(--green); font-size:23px; line-height:1.35; letter-spacing:-.03em; }
.access-card > p { margin-bottom:0; }
.access-kicker { margin:0 0 8px !important; color:var(--green-2); font-size:11px; font-weight:900; letter-spacing:.025em; }
.transit-stop { display:grid; grid-template-columns:92px minmax(0,1fr); gap:12px; align-items:start; margin-top:17px; padding-top:15px; border-top:1px solid var(--line); }
.transit-stop > strong { padding-top:4px; color:var(--ink); font-size:14px; }
.route-badges { display:flex; flex-wrap:wrap; gap:7px; }
.route-badge { display:inline-flex; min-height:30px; align-items:center; justify-content:center; padding:5px 9px; border:1px solid #d9ddd9; border-radius:999px; color:#465652; background:#f6f4ef; font-size:12px; font-weight:850; line-height:1; white-space:nowrap; }
.route-badge-express { border-color:#b7d0c6; color:var(--green); background:#edf5f2; }
.access-transfer { margin-top:18px !important; padding-top:16px; border-top:1px solid var(--line); }
.access-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
.access-actions .btn { min-height:44px; padding:11px 14px; }
.access-source { margin-top:15px !important; color:var(--muted); font-size:13px; line-height:1.6; }
.access-points { display:grid; gap:0; margin:16px 0 0 !important; padding:0 !important; list-style:none; }
.access-points li { display:grid; grid-template-columns:76px minmax(0,1fr); gap:12px; padding:14px 0; border-top:1px solid var(--line); }
.access-points strong { color:var(--green); font-size:13px; }
.access-points span { color:var(--ink-2); font-size:14px; line-height:1.6; }
.hours { width: 100%; border-collapse: collapse; }
.hours th,.hours td { padding: 8px 0; border-bottom: 1px solid var(--line); }
.hours th { text-align:left; font-weight:400; }
.hours td:last-child { text-align: right; font-weight: 800; }
.map-box { display: grid; min-height: 340px; place-items: center; padding: 30px; border-radius: var(--radius); color: #fff; text-align: center; background: var(--green); }

.cta-panel { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; padding: 36px; border-radius: 24px; color: #fff; background: var(--green); }
.cta-panel p { margin-bottom: 0; color: #c9ddd7; }

.site-footer { padding:18px 0; color:#d9e6e2; background:#082e29; }
.footer-compact { display:flex; align-items:center; gap:22px; min-height:44px; }
.footer-compact .footer-logo { flex:0 0 auto; width:158px; max-width:22vw; }
.site-footer p, .site-footer a { color:#b7cbc5; }
.footer-contact { min-width:0; margin:0; font-size:12px; line-height:1.45; letter-spacing:-.01em; white-space:nowrap; }
.footer-contact a { font-weight:750; }
.footer-copy { min-width:0; }
.footer-local-context { max-width:980px; margin:0; color:var(--muted); font-size:11px; line-height:1.55; white-space:normal; }
.footer-local-context strong { color:inherit; font-weight:700; }
.footer-local-context .footer-ops { white-space:nowrap; }
.footer-review { margin:4px 0 0; color:rgba(183,203,197,.78) !important; font-size:11px; line-height:1.45; letter-spacing:-.01em; }
.footer-review a { color:inherit !important; font-weight:650; }
.footer-copy:not(:has(.footer-review))::after { content:'의학적 내용 검수 · 정연수 원장 · 내과 전문의 · 소화기내과 분과전문의 · 소화기내시경 세부전문의'; display:block; margin-top:4px; color:rgba(183,203,197,.78); font-size:11px; line-height:1.45; letter-spacing:-.01em; }
.content-review { display:none; border-top:0; background:#082e29; }
.content-review-inner { display:flex; flex-wrap:wrap; gap:3px 7px; align-items:center; min-height:0; padding-block:3px; color:rgba(217,230,226,.28); font-size:8px; line-height:1.35; }
.content-review-label { font-weight:650; color:inherit; }
.content-review a { color:inherit; font-weight:650; }
.footer-links { display:flex; flex-wrap:wrap; gap:10px 18px; font-size:14px; }
.footer-bottom { margin-top:32px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); font-size:12px; }

.fee-jump { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.fee-jump a { padding:9px 13px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--green); font-size:13px; font-weight:800; }
.fee-table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow); }
.fee-table { width:100%; min-width:860px; border-collapse:collapse; }
.fee-table th, .fee-table td { padding:14px 16px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.fee-table th { color:#fff; background:var(--green); font-size:13px; white-space:nowrap; }
.fee-table td { font-size:14px; }
.fee-table td:nth-child(4), .fee-table th:nth-child(4) { text-align:right; white-space:nowrap; font-weight:800; }
.fee-table td:last-child, .fee-table th:last-child { white-space:nowrap; }
.fee-table tr:last-child td { border-bottom:0; }
.fee-source-note { margin-top:18px; }

.prep-hero { background: linear-gradient(180deg, #fbfaf6, #edf5f2); }
.prep-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:22px; align-items:start; }
.prep-form, .prep-safety { padding:30px; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:var(--shadow); }
.prep-form-head h2, .prep-safety h2 { margin-bottom:10px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:24px; }
.form-field { display:grid; gap:8px; }
.form-field-wide { grid-column:1 / -1; }
.form-field > span { font-size:14px; font-weight:800; color:var(--ink); }
.form-field input, .form-field select { width:100%; min-height:52px; padding:12px 14px; border:1px solid #bfcfc9; border-radius:12px; color:var(--ink); background:#fff; }
.form-field input:focus, .form-field select:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(13,74,64,.1); outline:none; }
.time-picker-field { margin:0; padding:0; border:0; min-width:0; }
.time-picker-field legend { padding:0; color:var(--ink); font-size:14px; font-weight:800; }
.time-picker-help { margin:2px 0 0; color:var(--muted); font-size:13px; }
.time-periods { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px; }
.time-period-button, .time-slot-button { min-height:50px; padding:10px 12px; border:1px solid #bfcfc9; border-radius:12px; color:var(--ink); background:#fff; font-weight:800; cursor:pointer; transition:border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease; }
.time-period-button:hover, .time-slot-button:hover { border-color:var(--green); transform:translateY(-1px); }
.time-period-button[aria-pressed="true"], .time-slot-button[aria-pressed="true"] { border-color:var(--green); color:#fff; background:var(--green); box-shadow:0 6px 18px rgba(13,74,64,.14); }
.time-slots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:12px; }
.time-slot-placeholder { grid-column:1 / -1; margin:0; padding:14px; border:1px dashed #bfcfc9; border-radius:12px; color:var(--muted); background:#f8faf9; font-size:13px; text-align:center; }
.prep-form-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.form-error { margin:14px 0 0; padding:11px 13px; border-radius:10px; color:var(--danger); background:#fbf0ee; font-weight:750; }
.check-list { margin:18px 0; padding:0; list-style:none; }
.check-list li { position:relative; padding:10px 0 10px 28px; border-bottom:1px solid var(--line); color:var(--ink-2); }
.check-list li::before { position:absolute; left:0; top:12px; width:17px; height:17px; border:2px solid var(--green); border-radius:50%; content:""; }
.check-list li::after { position:absolute; left:5px; top:16px; width:6px; height:3px; border-left:2px solid var(--green); border-bottom:2px solid var(--green); content:""; transform:rotate(-45deg); }
.plan-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:30px; }
.plan-head p { margin-bottom:0; }
.plan-badge { padding:10px 14px; border-radius:999px; color:#fff; background:var(--green); font-size:13px; font-weight:850; white-space:nowrap; }
.timeline { position:relative; display:grid; gap:0; max-width:900px; margin:0 auto; }
.timeline::before { position:absolute; top:22px; bottom:22px; left:28px; width:2px; content:""; background:#c7d9d3; }
.timeline-item { position:relative; display:grid; grid-template-columns:58px 1fr; gap:20px; padding:0 0 24px; }
.timeline-marker { position:relative; z-index:1; display:grid; width:58px; height:58px; place-items:center; border:5px solid var(--paper); border-radius:50%; color:#fff; background:var(--green); font-size:11px; font-weight:900; }
.timeline-content { padding:18px 20px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(13,74,64,.06); }
.timeline-content time { display:block; margin-bottom:5px; color:var(--green-2); font-size:13px; font-weight:900; }
.timeline-content h3 { margin-bottom:6px; }
.timeline-content p { margin-bottom:0; }
.timeline-water .timeline-marker { background:#2e7285; }
.timeline-food .timeline-marker { background:#8a6f32; }
.timeline-stop .timeline-marker { background:#8b3e32; }
.timeline-arrival .timeline-marker, .timeline-exam .timeline-marker { background:#17332f; }
.timeline-complete .timeline-marker { background:#3d7c5f; }
.plan-warning { max-width:900px; margin-inline:auto; }
.diet-grid, .drug-guide-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.diet-card, .drug-card { padding:26px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.diet-label, .drug-card-head span { display:inline-block; margin-bottom:16px; color:var(--green-2); font-size:12px; font-weight:900; letter-spacing:.06em; }
.diet-card ul, .drug-card ol { margin-bottom:0; padding-left:20px; color:var(--muted); }
.diet-card li, .drug-card li { margin-bottom:7px; }
.diet-card.avoid { border-top:4px solid #a45145; }
.diet-card.allow { border-top:4px solid #3d7c5f; }
.diet-card.day-before { border-top:4px solid #9c7418; }
.drug-card-head { padding-bottom:16px; border-bottom:1px solid var(--line); }
.drug-card-head h3 { margin-bottom:0; }
.drug-balance { display:grid; gap:10px; margin-top:18px; }
.drug-balance p { margin:0; padding:12px 14px; border-radius:12px; background:#f6f8f7; color:var(--muted); font-size:14px; line-height:1.6; }
.drug-balance strong { display:inline-block; min-width:72px; color:var(--ink); }
.prep-check-grid { align-items:center; }
.stool-scale { display:grid; grid-template-columns:1fr; gap:8px; max-width:460px; margin-top:20px; }
.stool-item { display:grid; grid-template-columns:48px minmax(0,1fr); grid-template-rows:auto auto; align-items:center; column-gap:12px; row-gap:2px; padding:10px 12px; border:1px solid var(--line); border-radius:14px; background:#fff; text-align:left; }
.stool-item span { display:block; grid-column:1; grid-row:1 / 3; width:48px; height:48px; margin:0; border:1px solid rgba(22,43,40,.08); border-radius:50%; box-shadow:inset 0 0 0 1px rgba(255,255,255,.28); }
.stool-item.bad span { background:#76513b; }
.stool-item.medium span { background:#c9a34c; }
.stool-item.good span { background:#f1dda0; }
.stool-item strong { display:block; grid-column:2; grid-row:1; align-self:end; font-size:15px; line-height:1.25; }
.stool-item small { display:block; grid-column:2; grid-row:2; align-self:start; color:var(--muted); font-size:12.5px; line-height:1.4; }

.prep-overview-image img,
.stool-status-image img,
.drug-visual {
  display: block;
  width: 100%;
  height: auto;
}
.prep-overview-section { padding-top: 44px; }
.prep-overview-image {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.drug-visual {
  margin-bottom: 18px;
  border-radius: 18px;
  background: #f4f8f6;
}
.product-photo {
  width: 100%;
  height: 250px;
  padding: 16px;
  object-fit: contain;
  border: 1px solid var(--line);
  background: #fff;
}
.prep-choice-card { overflow:hidden; }
.prep-choice-card .prep-product-photo {
  width:100%;
  height:250px;
  padding:16px;
  object-fit:contain;
  object-position:center;
  border:1px solid var(--line);
  background:#fff;
  box-sizing:border-box;
}
.drug-card .note a { color: var(--green); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.stool-status-image { margin: 22px 0 10px; }
.home-section { padding:68px 0; }
.home-visit-priority { padding-top:54px; padding-bottom:54px; }
.home-safety { padding-bottom:34px; }
.home-accreditation-compact { padding-top:0; }
.home-women-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr); gap:64px; align-items:center; }
.home-women-copy { max-width:680px; }
.home-women-copy h2 { max-width:640px; }
.home-women-copy > p:not(.eyebrow) { max-width:640px; }
.women-care-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:28px; }
.women-care-point { padding:17px 16px; border:1px solid rgba(13,74,64,.13); border-radius:16px; background:rgba(255,255,255,.66); }
.women-care-point strong { display:block; margin-bottom:5px; color:var(--green); font-size:15px; }
.women-care-point span { display:block; color:var(--muted); font-size:12px; line-height:1.55; }
.women-portrait-card { width:min(100%,440px); margin:0 auto; overflow:hidden; border:1px solid rgba(13,74,64,.1); border-radius:30px; background:#fff; box-shadow:0 24px 54px rgba(13,74,64,.11); }
.women-portrait-frame { padding:22px 22px 0; background:linear-gradient(180deg,#f8faf9 0%,#fff 100%); }
.women-visual-image { display:block; width:100%; height:auto; aspect-ratio:320 / 412; object-fit:contain; object-position:center bottom; }
.women-portrait-caption { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:20px 22px 22px; border-top:1px solid var(--line); }
.women-portrait-caption div { min-width:0; }
.women-portrait-caption strong { display:block; margin-bottom:3px; color:var(--ink); font-size:18px; }
.women-portrait-caption span { display:block; color:var(--muted); font-size:12px; line-height:1.5; }
.women-portrait-caption a { flex:0 0 auto; color:var(--green); font-size:13px; font-weight:850; }
.home-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.home-service-card { display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:center; min-height:128px; padding:22px 24px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.home-service-card:hover { border-color:rgba(13,74,64,.28); box-shadow:0 12px 28px rgba(13,74,64,.06); }
.home-service-number { color:var(--green); font-size:12px; font-weight:900; letter-spacing:.08em; }
.home-service-card h3 { margin:0 0 6px; font-size:22px; }
.home-service-card p { margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
.home-priority-intro { max-width:760px; margin-bottom:30px; }
.home-strength-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.home-strength-card { min-height:245px; padding:24px; border:1px solid rgba(13,74,64,.12); border-radius:20px; background:#fff; }
.home-strength-card > span { display:block; margin-bottom:34px; color:var(--green-2); font-size:12px; font-weight:900; letter-spacing:.08em; }
.home-strength-card h3 { margin-bottom:10px; font-size:20px; }
.home-strength-card p { margin:0; font-size:14px; line-height:1.65; }
.home-lab-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:54px; align-items:center; }
.lab-result-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.lab-result-card { min-height:178px; padding:22px 18px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.lab-result-card span { display:block; margin-bottom:12px; color:var(--green-2); font-size:12px; font-weight:850; }
.lab-result-card strong { display:block; margin-bottom:8px; color:var(--green); font-size:21px; line-height:1.35; }
.lab-result-card strong small { margin-left:6px; color:var(--muted); font-size:12px; font-weight:700; white-space:nowrap; }
.lab-result-card p { margin:0; font-size:12px; line-height:1.55; }
.lab-result-note { margin-top:12px; color:var(--muted); font-size:12px; line-height:1.55; }

.home-condition-list { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:28px; }
.home-condition-list a { display:grid; gap:2px; min-height:88px; align-content:center; padding:17px 18px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.home-condition-list strong { color:var(--green); font-size:17px; }
.home-condition-list span { color:var(--muted); font-size:13px; }
.home-condition-list a:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(13,74,64,.07); }
.home-more { margin-top:22px; }
.home-accreditation-media { margin:18px 0 0; font-size:14px; }
.home-accreditation-media a { color:var(--green); font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.home-accreditation-feature .accreditation-panel { border:1px solid rgba(13,74,64,.09); }
.home-accreditation-period { margin:16px 0 0; }
.home-faq { padding-bottom:62px; }
.mobile-actions { display: none; }
@media (max-width: 1280px) and (min-width: 1101px) {
  .site-search-bar-inner { grid-template-columns:minmax(230px,.72fr) minmax(380px,1.28fr); gap:20px; }
  .site-nav { gap:9px; font-size:12px; }
  .site-search-trigger { min-width:0; padding:0 10px; font-size:12px; }
  .site-nav .btn { padding-left:14px; padding-right:14px; }
}

@media (max-width: 1100px) {
  .menu-toggle { display: grid; }
  .site-search-trigger { margin-left:auto; }
  .site-nav {
    position: fixed;
    top: 81px;
    right: 0;
    left: 0;
    display: none;
    max-height: calc(100vh - 81px);
    overflow-y: auto;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    padding: 12px 16px 24px;
    border-bottom: 1px solid var(--line);
    background: var(--paper);
    box-shadow: 0 18px 28px rgba(13,74,64,.08);
  }
  .site-nav.open { display: flex; }
  .site-nav .nav-secondary { display:block; }
  .site-nav a { padding: 13px 10px; }
  .site-nav a[aria-current="page"]::after { width:34px; margin-top:5px; }
  .site-nav .btn { margin-top:8px; }
  .hero-stamp { right:12px; }
  .accreditation-facts.compact-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .accreditation-facts.compact-facts .fact:last-child { grid-column:1 / -1; }
}

@media (max-width: 980px) {
  .colonoscopy-decision-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .colonoscopy-decision-item:nth-child(2) { border-right:0; }
  .colonoscopy-decision-item:nth-child(-n+2) { border-bottom:1px solid rgba(13,74,64,.14); }
  .hero-grid, .split, .split-reverse { grid-template-columns: 1fr; gap: 38px; }
  .hero-copy { order: 1; }
  .hero-media { order: 2; }
  .sticky-copy { position: static; }
  .quick-grid { grid-template-columns: repeat(3,1fr); }
  .quick-item { border-bottom:0; }
  .accreditation-panel { grid-template-columns:1fr 1fr; gap:30px; padding:30px; }
  .home-strength-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-lab-grid { grid-template-columns:1fr; gap:28px; }
  .cards-3, .doctor-row { grid-template-columns: 1fr 1fr; }
  .flow { grid-template-columns: 1fr 1fr; }
  .flow-step:nth-child(2)::after { display: none; }
  .location-grid { grid-template-columns: 1fr; }
  .access-grid { grid-template-columns:1fr; }
  .press-card { grid-template-columns:140px 1fr; }
  .prep-layout { grid-template-columns:1fr; }
  .diet-grid, .drug-guide-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 680px) {
  body { font-size: 15px; line-height: 1.68; }
  .container, .narrow { width: min(100% - 24px, var(--max)); }
  .section { padding: 58px 0; }
  .section-sm { padding: 38px 0; }
  .header-inner { min-height:74px; }
  .logo { min-width:0; padding:0; border-radius:0; }
  .logo img { width:190px; max-width:calc(100vw - 86px); }
  .site-nav { top:75px; max-height:calc(100vh - 75px); }
  .site-search-trigger { min-height:40px; padding:0 10px; border-radius:9px; }
  .site-search-panel { width:calc(100% - 24px); max-height:calc(100dvh - 24px); margin:12px auto; padding:22px 16px 28px; border-radius:14px; }
  .site-search-head { gap:12px; margin-bottom:16px; }
  .site-search-head h2 { font-size:20px; }
  .site-search-close { width:38px; height:38px; flex-basis:38px; }
  .site-search-bar-inner { grid-template-columns:1fr; gap:8px; min-height:0; padding-top:10px; padding-bottom:12px; }
  .site-search-inline-copy { font-size:12px; }
  .site-search-inline-form input { min-height:48px; padding-left:47px; font-size:16px; }
  .site-search-example { display:flex; min-height:40px; align-items:center; }
  .site-search-popover { top:100%; right:12px; left:12px; width:auto; max-height:min(62dvh, 520px); padding:10px 16px 18px; border-radius:0 0 12px 12px; overscroll-behavior:contain; }
  .site-search-modal-results { max-height:min(58dvh, 500px); overflow:auto; }
  body.site-search-keyboard-open .mobile-actions { display:none; }
  .site-search-result { padding:17px 36px 17px 0; }
  .site-search-result strong { font-size:16px; }
  .footer-logo { width:min(360px, 92vw); }
  .hero { padding: 30px 0 38px; }
  .hero-grid { gap: 24px; }
  .hero .display { font-size:42px; }
  .hero-copy .lead { margin:18px 0 20px; }
  .hero-proof { margin-bottom:22px; }
  .hero-photo { height:auto; aspect-ratio:3 / 2; min-height:0; border-radius: 32px 10px 32px 10px; }
  .hero-photo-caption { margin-top:8px; font-size:11px; text-align:left; }
  .quick-grid { grid-template-columns: 1fr; }
  .quick-item { min-height: auto; padding: 16px 6px; border-right: 0; border-bottom: 1px solid var(--line); }
  .quick-item:last-child { border-bottom: 0; }
  .service-page .section:not(.section-sm) { padding:54px 0; }
  .service-page .narrow.prose { width:min(100% - 24px,840px); }
  .service-page .prose > h2::before { width:30px; height:2px; margin-bottom:12px; }
  .service-page .prose > h3 { margin-top:26px; padding-top:16px; font-size:19px; }
  .symptom-list { grid-template-columns:minmax(0,1fr); gap:5px; padding:18px 18px 18px 36px; }
  .home-section { padding:50px 0; }
  .content-editor-frame { padding:18px; }
  .content-image-slot { min-height:140px; padding:18px; }
  .home-women-grid { grid-template-columns:1fr; gap:30px; }
  .women-care-points { grid-template-columns:1fr; gap:8px; margin-top:22px; }
  .women-care-point { padding:14px 15px; }
  .women-portrait-card { width:min(100%,390px); }
  .women-portrait-frame { padding:16px 16px 0; }
  .women-portrait-caption { align-items:flex-start; padding:17px 18px 19px; }
  .women-portrait-caption a { margin-top:2px; }
  .accreditation-panel { grid-template-columns:1fr; gap:26px; padding:22px 16px; }
  .landing-accreditation-image { width:min(290px, 100%); }
  .accreditation-facts.compact-facts { grid-template-columns:1fr; }
  .accreditation-facts.compact-facts .fact:last-child { grid-column:auto; }
  .accreditation-plaque img { width:min(330px, 100%); padding:2px; }
  .accreditation-plaque figcaption { font-size:12px; }
  .accreditation-facts { grid-template-columns: 1fr; }
  .accreditation-standard-grid { grid-template-columns:1fr; gap:10px; margin-top:20px; }
  .accreditation-standard-card { padding:20px 18px; border-radius:16px; }
  .accreditation-standard-number { margin-bottom:16px; }
  .prose .accreditation-standard-card h3 { font-size:18px; }
  .prose .accreditation-standard-card p { font-size:14px; }
  .home-service-grid { grid-template-columns:1fr; gap:10px; }
  .home-service-card { grid-column:auto; min-height:0; padding:18px; }
  .home-service-card h3 { font-size:20px; }
  .home-service-card p { font-size:13px; }
  .home-strength-grid { grid-template-columns:1fr; gap:10px; }
  .home-strength-card { min-height:0; padding:20px 18px; }
  .home-strength-card > span { margin-bottom:18px; }
  .lab-result-grid { grid-template-columns:1fr; }
  .lab-result-card { min-height:0; padding:18px; }
  .editorial-grid, .home-editorial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .editorial-card { min-height:190px; margin:0; }
  .editorial-card:first-child { grid-column:1 / -1; min-height:230px; }
  .editorial-card-content { padding:16px; }
  .editorial-card h3 { font-size:20px; }
  .editorial-card p { font-size:13px; line-height:1.5; }
  .cards-3, .doctor-row { grid-template-columns: 1fr; }
  .doctor-card { padding:22px; }
  .doctor-card .initial { margin-bottom:16px; }
  .doctor-profile-list { gap:14px; }
  .doctor-profile-card { grid-template-columns:1fr; border-radius:18px; }
  .doctor-profile-media { min-height:0; aspect-ratio:4 / 3; }
  .doctor-profile-media img { min-height:0; }
  .doctor-profile-media-crop img { object-position:left center; }
  .doctor-profile-media-portrait { aspect-ratio:4 / 5; }
  .doctor-profile-summary { padding:18px 16px 20px; }
  .doctor-profile-summary h2 { font-size:24px; }
  .doctor-profile-bio { margin-top:16px; }
  .doctor-media-links { margin-top:16px; }
  .doctor-media-links a, .media-reference-link { align-items:flex-start; flex-direction:column; gap:4px; }
  .media-hub-grid { grid-template-columns:1fr; }
  .media-hub-card { min-height:0; padding:20px 18px; }
  .media-filter-block { align-items:flex-start; }
  .media-filters {
    display:grid;
    width:100%;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    overflow:visible;
    padding-bottom:0;
  }
  .media-filter {
    width:100%;
    min-width:0;
    min-height:44px;
    padding:6px 4px;
    font-size:12px;
    line-height:1.25;
    white-space:normal;
  }
  .media-reference-inner { grid-template-columns:1fr; gap:14px; }
  .flow { grid-template-columns: 1fr; }
  .colonoscopy-process-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .colonoscopy-process-flow .flow-step { min-width:0; padding:16px 12px 17px; }
  .colonoscopy-process-flow .flow-step::before { margin-bottom:10px; font-size:11px; }
  .colonoscopy-process-flow .flow-step h3 { margin-bottom:6px; font-size:16px; line-height:1.35; }
  .colonoscopy-process-flow .flow-step p { font-size:12.5px; line-height:1.55; }
  .colonoscopy-process-flow .flow-step:nth-child(odd) { border-right:1px solid var(--line); }
  .flow-step:not(:last-child)::after { display: none; }
  .feature { grid-template-columns: 42px 1fr; padding: 20px 16px; }
  .cta-panel { grid-template-columns: 1fr; padding: 26px 20px; }
  .site-footer { padding:15px 0 82px; }
  .footer-compact { align-items:flex-start; gap:14px; min-height:0; }
  .footer-compact .footer-logo { width:108px; max-width:30vw; }
  .footer-contact { font-size:10.5px; line-height:1.5; white-space:normal; }
  .footer-local-context { font-size:10px; line-height:1.5; }
  .footer-local-context .footer-ops { white-space:normal; }
  .footer-review { margin-top:4px; font-size:10.5px; line-height:1.45; }
  .footer-copy:not(:has(.footer-review))::after { margin-top:4px; font-size:10.5px; line-height:1.45; }
  .content-review-inner { padding-block:2px; font-size:7px; }
  .faq-search-section { padding:42px 0; }
  .faq-search-intro { margin-bottom:20px; }
  .faq-search-intro h2 { font-size:28px; }
  .faq-search-input-wrap input { min-height:54px; font-size:16px; touch-action:manipulation; }
  body.faq-search-keyboard-open .faq-hero { padding-top:18px; padding-bottom:12px; }
  body.faq-search-keyboard-open .faq-hero .breadcrumb,
  body.faq-search-keyboard-open .faq-hero > .narrow > .eyebrow,
  body.faq-search-keyboard-open .faq-hero > .narrow > h1,
  body.faq-search-keyboard-open .faq-hero > .narrow > .lead,
  body.faq-search-keyboard-open .faq-suggestions,
  body.faq-search-keyboard-open .faq-filter-block,
  body.faq-search-keyboard-open .mobile-actions { display:none; }
  body.faq-search-keyboard-open .faq-result-status { margin-top:8px; }
  body.faq-search-keyboard-open .faq-directory { padding-top:18px; }
  .faq-suggestions { align-items:flex-start; }
  .faq-suggestions > span { flex-basis:100%; margin-bottom:1px; }
  .faq-suggestion { display:inline-flex; min-height:40px; align-items:center; padding:8px 2px; margin-right:10px; }
  .faq-group-toggle { min-height:40px; padding:7px 0; }
  .colonoscopy-decision-summary .section-intro { margin-bottom:18px; }
  .colonoscopy-decision-grid { grid-template-columns:1fr; }
  .colonoscopy-decision-item { grid-template-columns:28px minmax(0,1fr); gap:9px; padding:16px 0; border-right:0; border-bottom:1px solid rgba(13,74,64,.14); }
  .colonoscopy-decision-item:nth-child(-n+2) { border-bottom:1px solid rgba(13,74,64,.14); }
  .colonoscopy-decision-item:last-child { border-bottom:0; }
  .colonoscopy-decision-item strong { margin-bottom:3px; font-size:16px; }
  .colonoscopy-decision-item p { font-size:12.5px; line-height:1.55; }
  .colonoscopy-decision-note { margin-top:13px; font-size:11.5px; }
  .faq-filter-block { margin-top:22px; padding-top:17px; }
  .faq-filters { flex-wrap:nowrap; width:calc(100vw - 24px); margin-right:-12px; padding:0 12px 8px 0; overflow-x:auto; scrollbar-width:none; }
  .faq-filters::-webkit-scrollbar { display:none; }
  .faq-filter { flex:0 0 auto; }
  .faq-directory { padding-top:48px; }
  .faq-group + .faq-group { margin-top:48px; padding-top:44px; }
  .faq-group > h2 { margin-bottom:14px; font-size:30px; }
  summary { padding-top:19px; padding-bottom:19px; font-size:16px; line-height:1.55; }
  summary::after { top:20px; }
  details p { padding-bottom:19px; }
  .location-card { padding: 22px 18px; }
  .location-details { padding-top:52px; }
  .access-grid { gap:12px; margin:24px 0 40px; }
  .access-card { padding:19px 17px; border-radius:16px; }
  .prose .access-card h3 { font-size:20px; }
  .transit-stop { grid-template-columns:1fr; gap:8px; margin-top:15px; padding-top:13px; }
  .transit-stop > strong { padding-top:0; }
  .route-badges { gap:6px; }
  .route-badge { min-height:29px; padding:5px 8px; }
  .access-actions { display:grid; grid-template-columns:1fr; gap:8px; }
  .access-actions .btn { width:100%; justify-content:center; text-align:center; }
  .access-points li { grid-template-columns:70px minmax(0,1fr); gap:10px; }
  .visit-facts { grid-template-columns:1fr; gap:9px; margin-top:20px; }
  .visit-fact { padding:15px 16px; }
  .press-section { padding-top:28px; }
  .press-card { grid-template-columns:1fr; gap:20px; padding:22px 18px; }
  .press-mark { min-height:104px; }
  .press-copy-layout { grid-template-columns:1fr; gap:18px; }
  .press-award-figure { width:min(100%, 440px); margin-inline:auto; }
  .press-headline { font-size:19px; }
  .prose table { display: block; overflow-x: auto; }
  .privacy-page .page-hero { padding:28px 0 30px; }
  .privacy-page .page-hero h1 { margin-bottom:12px; font-size:34px; }
  .privacy-section { padding:38px 0 50px; }
  .privacy-content { width:min(100% - 24px,900px); }
  .privacy-content > .callout:first-child { margin-bottom:30px; padding:19px 18px; }
  .privacy-content > h2 { padding:29px 0 12px; font-size:21px; }
  .privacy-content > p, .privacy-content > ul li { font-size:15.5px; line-height:1.72; }
  .privacy-content > ul:not(.privacy-contact-list) { margin:13px 0 24px; padding:15px 16px 15px 34px; }
  .privacy-table { display:block !important; margin:14px 0 18px; overflow:visible !important; border:0; border-radius:0; background:transparent; }
  .privacy-table thead { display:none; }
  .privacy-table tbody, .privacy-table tr, .privacy-table td, .privacy-table th { display:block; width:100%; }
  .privacy-table tr { margin-bottom:9px; padding:13px 15px; border:1px solid var(--line); border-radius:12px; background:#fff; }
  .privacy-table th, .privacy-table td { padding:0; border:0; background:transparent; }
  .privacy-table tbody td:first-child, .privacy-key-value tbody th { margin-bottom:4px; color:var(--green); font-size:14px; font-weight:800; }
  .privacy-table tbody td + td, .privacy-key-value tbody td { color:var(--ink-2); font-size:14px; line-height:1.6; }
  .privacy-contact-list { margin:14px 0 24px; padding:4px 15px; }
  .privacy-contact-list li { display:block; padding:10px 0; font-size:14.5px; }
  .privacy-contact-list strong { display:block; margin-bottom:2px; }
  .screening-table-wrap { overflow:visible; border:0; border-radius:0; background:transparent; }
  .screening-table { display:block; overflow:visible; }
  .screening-table thead { display:none; }
  .screening-table tbody, .screening-table tr, .screening-table td { display:block; width:100%; }
  .screening-table tr { margin-bottom:12px; padding:14px 16px; border:1px solid var(--line); border-radius:14px; background:#fff; }
  .screening-table td { display:grid; grid-template-columns:82px 1fr; gap:12px; padding:7px 0; border:0; }
  .general-screening-table td:nth-child(1)::before { content:"대상"; }
  .general-screening-table td:nth-child(2)::before { content:"검진 주기"; }
  .cancer-screening-table td:nth-child(1)::before { content:"암종"; }
  .cancer-screening-table td:nth-child(2)::before { content:"검진 대상"; }
  .cancer-screening-table td:nth-child(3)::before { content:"주기"; }
  .cancer-screening-table td:nth-child(4)::before { content:"기본검사"; }
  .screening-table td::before { color:var(--muted); font-size:12px; font-weight:800; }
  .cancer-screening-table td:first-child { padding-bottom:10px; color:var(--green); font-size:17px; font-weight:850; border-bottom:1px solid var(--line); }
  .fee-table-wrap { overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; }
  .fee-table { min-width:0; }
  .fee-table thead { display:none; }
  .fee-table, .fee-table tbody, .fee-table tr, .fee-table td { display:block; width:100%; }
  .fee-table tr { margin-bottom:12px; padding:16px; border:1px solid var(--line); border-radius:14px; background:#fff; }
  .fee-table td { display:grid; grid-template-columns:96px 1fr; gap:12px; padding:7px 0; border:0; text-align:left !important; white-space:normal !important; }
  .fee-table td[data-label="명칭"] { min-width:0; overflow-wrap:anywhere; word-break:normal; }
  .fee-table td::before { content:attr(data-label); color:var(--muted); font-size:12px; font-weight:800; }
  .fee-table td:nth-child(3) { padding-top:11px; border-top:1px solid var(--line); }
  .fee-table td:nth-child(4) { color:var(--green); font-size:16px; }
  .prep-form, .prep-safety { padding:22px 17px; }
  .form-grid { grid-template-columns:1fr; }
  .form-field-wide { grid-column:auto; }
  .time-slots { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .time-period-button, .time-slot-button { min-height:54px; font-size:15px; }
  .prep-form-actions .btn { width:100%; }
  .plan-head { align-items:start; flex-direction:column; }
  .plan-badge { white-space:normal; }
  .timeline::before { left:22px; }
  .timeline-item { grid-template-columns:46px 1fr; gap:12px; padding-bottom:16px; }
  .timeline-marker { width:46px; height:46px; border-width:4px; font-size:10px; }
  .timeline-content { padding:16px 14px; }
  .diet-grid, .drug-guide-grid { grid-template-columns:1fr; }
  .stool-scale { gap:7px; margin-top:18px; }
  .stool-item { grid-template-columns:44px minmax(0,1fr); column-gap:10px; padding:9px 10px; }
  .stool-item span { width:44px; height:44px; }
  .stool-item strong { font-size:14px; }
  .stool-item small { font-size:12px; }
  .prep-overview-image { padding: 10px; border-radius: 18px; }
  .prep-overview-image img { min-width:0; width:100%; }
  .prep-overview-image { overflow:hidden; }
  .drug-visual { margin-bottom: 14px; }
  .product-photo { height: 220px; padding: 12px; }
  .prep-choice-card .prep-product-photo { height:220px; padding:12px; }
  .stool-status-image img { border-radius: 16px; }
  .home-condition-list { grid-template-columns:repeat(2,1fr); gap:8px; }
  .home-condition-list a { min-height:78px; padding:13px; }
  .home-condition-list strong { font-size:15px; }
  .home-condition-list span { font-size:12px; }
  .chronic-detail { padding:42px 0; }
  .chronic-detail:first-child { padding-top:0; }
  .chronic-detail:last-child { padding-bottom:0; }
  .detail-columns { grid-template-columns:1fr; gap:22px; margin-top:24px; padding-top:20px; }
  .mobile-actions {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 120;
    display: grid;
    grid-template-columns: 1fr 1fr 1.15fr;
    border-top: 1px solid rgba(255,255,255,.18);
    background: #082e29;
  }
  .mobile-actions a { display: grid; min-height: 62px; place-items: center; color: #fff; font-size: 13px; font-weight: 800; }
  .mobile-actions a + a { border-left: 1px solid rgba(255,255,255,.16); }
  .mobile-actions .accent { background: var(--green-2); }
}

@media (max-width: 340px) {
  .colonoscopy-process-flow { grid-template-columns:1fr; }
  .colonoscopy-process-flow .flow-step:nth-child(odd) { border-right:0; }
}

@media print {
  .site-header, .site-search-bar, .site-footer, .mobile-actions, .prep-form-actions, .prep-safety, #diet-guide, #drug-guide, .cta-panel, .faq { display:none !important; }
  body { background:#fff; }
  .page-hero { padding:20px 0; }
  #my-plan, #prep-check { padding:20px 0; }
  .timeline-content { break-inside:avoid; box-shadow:none; }
  .plan-warning { break-inside:avoid; }
  .prep-check-grid { display:block !important; }
  .prep-check-grid > .feature-list { display:none !important; }
  .stool-scale { max-width:420px; break-inside:avoid; }
  .stool-item { break-inside:avoid; box-shadow:none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
/* Integrated cross-page QA rules — merged from final-qa.css on 2026-08-18. */
.page-hero h1 { max-width:980px; }
.service-hero { position:relative; overflow:hidden; padding:58px 0 48px; border-bottom:1px solid rgba(13,74,64,.08); }
.service-hero::after { position:absolute; top:0; right:0; bottom:0; width:max(9vw,120px); border-left:1px solid rgba(13,74,64,.04); content:""; background:linear-gradient(180deg,rgba(237,245,242,.38),rgba(239,231,217,.14)); pointer-events:none; }
.service-hero .narrow { position:relative; z-index:1; width:min(980px,calc(100% - 32px)); margin-left:max(16px,calc((100vw - var(--max)) / 2)); margin-right:auto; }
.service-hero .breadcrumb { margin-bottom:22px; }
.service-hero h1 { margin-bottom:24px; }
.service-hero .lead { max-width:820px; margin-bottom:0; }
.location-hero { padding:42px 0 34px; }
.location-hero .narrow { width:min(var(--max),calc(100% - 32px)); margin-inline:auto; }
.location-hero .breadcrumb { margin-bottom:14px; }
.location-hero h1 { max-width:760px; margin-bottom:0; font-size:clamp(46px,4.8vw,58px); line-height:1.08; letter-spacing:-.052em; }
.location-overview { padding-block:64px; }
.location-details .prose li { overflow-wrap:anywhere; }
.faq-hero { padding:54px 0 38px; }
.faq-hero .breadcrumb { margin-bottom:20px; }
.faq-hero h1 { margin-bottom:18px; }
.faq-hero .lead { margin-bottom:20px; }
.faq-hero .faq-filter-block { margin-top:20px; padding-top:16px; }
.faq-hero .faq-result-status { margin-top:10px; }
.cta-panel { gap:24px; }
.cta-panel h2 { margin-bottom:10px; font-size:clamp(26px,3.2vw,36px); line-height:1.25; }
.cta-panel .small { margin-top:10px; }
.cta-panel > .btn-row { justify-content:flex-end; }
:where(main[id], main section[id], main article[id], main div[id]) { scroll-margin-top:86px; }
:where(main h1[id], main h2[id], main h3[id], main h4[id]) { scroll-margin-top:100px; }

.prep-drug-field { min-width:0; margin:0; padding:0; border:0; }
.prep-drug-field legend { margin-bottom:8px; color:var(--ink); font-weight:800; }
.prep-drug-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.prep-drug-button { position:relative; min-height:54px; padding:12px 28px 12px 12px; border:1px solid #c8d4d0; border-radius:14px; color:var(--ink); background:#fff; font:inherit; font-size:14px; font-weight:850; line-height:1.25; cursor:pointer; transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease; }
.prep-drug-button::after { position:absolute; top:50%; right:10px; content:"✓"; transform:translateY(-50%) scale(.8); color:var(--green); font-size:15px; opacity:0; transition:opacity .16s ease,transform .16s ease; }
.prep-drug-button:hover { border-color:#91aaa2; background:#fbfdfc; }
.prep-drug-button:focus-visible { outline:3px solid rgba(13,74,64,.12); outline-offset:2px; }
.prep-drug-button[aria-pressed="true"] { border-color:var(--green); background:#edf5f2; box-shadow:inset 0 0 0 1px var(--green),0 6px 16px rgba(13,74,64,.08); }
.prep-drug-button[aria-pressed="true"]::after { opacity:1; transform:translateY(-50%) scale(1); }
.timeline-item { --timeline-accent:var(--green); }
.timeline-food { --timeline-accent:#8a6f32; }
.timeline-water { --timeline-accent:#2e7285; }
.timeline-stop { --timeline-accent:#8b3e32; }
.timeline-arrival,.timeline-exam { --timeline-accent:#17332f; }
.timeline-complete { --timeline-accent:#3d7c5f; }
.timeline-marker { box-shadow:0 0 0 1px rgba(13,74,64,.08),0 5px 14px rgba(13,74,64,.08); }
.timeline-content { position:relative; overflow:hidden; }
.timeline-content::before { position:absolute; inset:0 auto 0 0; width:4px; content:""; background:var(--timeline-accent); }
.timeline-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:6px; }
.timeline-meta time { margin-bottom:0; }
.timeline-step-number { flex:0 0 auto; color:#81908c; font-size:10px; font-weight:850; letter-spacing:.08em; }
.timeline-water-note { margin-top:10px !important; padding-top:9px; border-top:1px dashed #bfd4da; color:#2e7285; font-size:12.5px; font-weight:750; line-height:1.55; }
.stool-scale { gap:8px; max-width:460px; }
.stool-item { display:grid; grid-template-columns:48px minmax(0,1fr); grid-template-rows:auto auto; align-items:center; column-gap:12px; row-gap:2px; padding:10px 12px; border-radius:14px; text-align:left; }
.stool-item > span,.stool-clarity-window { position:relative; display:block; grid-column:1; grid-row:1 / 3; width:48px; height:48px; margin:0; overflow:hidden; border:1px solid #c9d4d0; border-radius:50%; background:#fffdf7 !important; box-shadow:inset 0 0 0 1px rgba(255,255,255,.7); }
.stool-item > span::before { position:absolute; inset:50% auto auto 50%; z-index:1; content:"가나\A ABC"; transform:translate(-50%,-50%); color:#243d37; font-size:8px; font-weight:900; line-height:1.05; letter-spacing:.01em; text-align:center; white-space:pre; }
.stool-item > span::after { position:absolute; inset:0; z-index:2; content:""; border-radius:inherit; }
.stool-test-copy { position:absolute; inset:50% auto auto 50%; z-index:1; transform:translate(-50%,-50%); color:#213a35; font-size:8px; font-weight:900; line-height:1.05; letter-spacing:.08em; text-align:center; white-space:nowrap; }
.stool-fluid { position:absolute; inset:0; z-index:2; }
.stool-item.bad > span::after,.stool-item.bad .stool-fluid { background:radial-gradient(circle at 18% 28%,rgba(62,38,25,.82) 0 2px,transparent 3px),radial-gradient(circle at 68% 65%,rgba(76,48,28,.78) 0 3px,transparent 4px),radial-gradient(circle at 83% 30%,rgba(58,37,24,.65) 0 2px,transparent 3px),rgba(111,75,50,.94); backdrop-filter:blur(2px); }
.stool-item.medium > span::after,.stool-item.medium .stool-fluid { background:rgba(203,164,72,.68); backdrop-filter:blur(.7px); }
.stool-item.good > span::after,.stool-item.good .stool-fluid { background:rgba(243,222,145,.20); backdrop-filter:none; }
.stool-item strong { margin-top:0; font-size:15px; }
.stool-item small { margin-top:2px; font-size:12.5px; line-height:1.45; }
.stool-item.good { border-color:#b7cec5; box-shadow:inset 0 0 0 1px rgba(13,74,64,.04); }
.prep-layout-stacked { grid-template-columns:1fr; max-width:980px; }
.prep-layout-stacked .prep-form { order:0; }
.prep-safety-section .prep-safety { max-width:980px; margin:0 auto; }
.prep-safety-section .prep-safety .check-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:28px; }
.prep-safety-section .prep-safety .note { margin-bottom:0; }
.prep-form-actions #print-plan { display:none; }
.plan-head-actions { display:flex; flex:0 0 auto; align-items:center; justify-content:flex-end; gap:10px; }
.plan-print-button { min-height:42px; padding:10px 15px; }
.print-only { display:none; }

/* 2026-08-18 IA/UX refinements. */
.site-nav { font-size:14.5px; }
.footer-legal-links span { color:inherit; }
.nav-more { position:relative; order:7; }
.nav-more > summary { display:flex; min-height:40px; align-items:center; gap:5px; padding:0 8px; color:var(--ink); font-weight:750; cursor:pointer; list-style:none; }
.nav-more > summary::-webkit-details-marker { display:none; }
.nav-more > summary::after { content:"⌄"; color:var(--green); font-size:12px; }
.nav-more[open] > summary { color:var(--green); }
.nav-more-panel { position:absolute; top:calc(100% + 9px); right:0; z-index:130; display:grid; width:210px; padding:8px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 16px 36px rgba(13,74,64,.14); }
.nav-more-panel a { padding:10px 12px !important; border-radius:9px; color:var(--ink) !important; font-size:13px; white-space:nowrap; }
.nav-more-panel a:hover,.nav-more-panel a[aria-current="page"] { color:var(--green) !important; background:#f1f6f3; }
.colonoscopy-jump,.page-jump { position:sticky; top:81px; z-index:70; border-block:1px solid var(--line); background:rgba(251,250,246,.96); backdrop-filter:blur(10px); }
.colonoscopy-jump .container,.page-jump .container { display:flex; gap:8px; padding-block:10px; overflow-x:auto; scrollbar-width:none; }
.colonoscopy-jump .container::-webkit-scrollbar,.page-jump .container::-webkit-scrollbar { display:none; }
.colonoscopy-jump a,.page-jump a { flex:0 0 auto; padding:8px 12px; border:1px solid var(--line); border-radius:999px; color:var(--green); background:#fff; font-size:13px; font-weight:800; }
.colonoscopy-task-nav .container { align-items:center; }
.colonoscopy-task-label { flex:0 0 auto; margin-right:4px; color:var(--muted); font-size:12px; font-weight:850; letter-spacing:-.02em; white-space:nowrap; }
.colonoscopy-task-nav a { display:inline-flex; min-height:40px; align-items:center; gap:6px; padding:8px 13px; }
.colonoscopy-task-mobile-label { display:none; }
/* Same-page jump targets must clear both the fixed header and the sticky jump bar. */
.page-jump ~ :where(section[id],article[id],div[id]),
.page-jump ~ section :where(article[id],div[id]) { scroll-margin-top:151px; }
.page-jump ~ section :where(h1[id],h2[id],h3[id],h4[id]) { scroll-margin-top:158px; }

@media (min-width:1101px) {
  .site-nav > a[href="/colonoscopy.html"] { order:1; }
  .site-nav > a[href="/gastroscopy.html"] { order:2; }
  .site-nav > a[href="/checkup.html"] { order:3; }
  .site-nav > a[href="/chronic-disease.html"] { order:4; }
  .site-nav > a[href="/doctors.html"] { order:5; }
  .site-nav > a[href="/location.html"] { order:6; }
  .site-nav > a[href="/media.html"] { display:none; }
  .site-nav > .btn { order:8; }
}
@media (max-width:1280px) and (min-width:1101px) {
  .site-nav { gap:10px; font-size:14px; }
}
@media (max-width:1100px) {
  .nav-more { display:none; }
  .service-hero::after { display:none; }
  .service-hero .narrow { width:min(900px,calc(100% - 32px)); margin-inline:auto; }
}
@media (max-width:680px) {
  .service-hero,.faq-hero { padding:44px 0 38px; }
  .location-hero { padding:34px 0 30px; }
  .service-hero::after { display:none; }
  .service-hero .narrow { width:min(800px,calc(100% - 24px)); margin-inline:auto; }
  .location-hero .narrow { width:calc(100% - 24px); }
  .service-hero .breadcrumb,.faq-hero .breadcrumb { margin-bottom:20px; }
  .location-hero .breadcrumb { margin-bottom:14px; }
  .service-hero h1,.faq-hero h1 { margin-bottom:18px; }
  .location-hero h1 { margin-bottom:0; font-size:clamp(31px,8.8vw,35px); line-height:1.12; letter-spacing:-.05em; }
  .service-hero .lead { margin-bottom:0; }
  .colonoscopy-task-nav .container { gap:6px; padding-block:8px; }
  .colonoscopy-task-label { position:sticky; left:0; z-index:1; margin-right:2px; padding:8px 9px 8px 0; background:linear-gradient(90deg,var(--paper) 78%,rgba(251,250,246,0)); font-size:11px; }
  .colonoscopy-task-nav a { min-height:40px; gap:5px; padding:8px 10px; font-size:12.5px; }
  .hero-lead-break { display:none; }
  .faq-hero .lead { margin-bottom:18px; }
  .faq-hero .faq-filter-block { margin-top:22px; padding-top:17px; }
  .page-hero { padding:44px 0 38px; }
  .page-hero h1 { margin-bottom:18px; font-size:clamp(34px,10vw,40px); line-height:1.12; }
  .page-hero .lead { font-size:17px; line-height:1.65; }
  .breadcrumb { margin-bottom:20px; }
  .page-hero + .section { padding-top:54px; }
  .location-hero + .location-overview { padding:48px 0 56px; }
  :where(main[id], main section[id], main article[id], main div[id]) { scroll-margin-top:80px; }
  :where(main h1[id], main h2[id], main h3[id], main h4[id]) { scroll-margin-top:90px; }
  .prep-drug-options { gap:6px; }
  .prep-drug-button { min-height:50px; padding:10px 24px 10px 8px; border-radius:12px; font-size:13px; }
  .prep-drug-button::after { right:7px; font-size:13px; }
  .timeline-meta { gap:8px; }
  .timeline-step-number { font-size:9px; letter-spacing:.06em; }
  .timeline-water-note { font-size:12px; }
  .prep-safety-section .prep-safety .check-list { grid-template-columns:1fr; }
  .plan-head-actions { width:100%; justify-content:space-between; }
  .plan-print-button { flex:1 1 auto; }
  .stool-item { grid-template-columns:44px minmax(0,1fr); column-gap:10px; padding:9px 10px; }
  .stool-item > span,.stool-clarity-window { width:44px; height:44px; }
  .stool-item > span::before,.stool-test-copy { font-size:7.5px; }
  .stool-item strong { font-size:14px; }
  .stool-item small { font-size:12px; }
  .cta-panel { gap:18px; padding:24px 20px; border-radius:20px; }
  .cta-panel h2 { font-size:28px; }
  .cta-panel p { font-size:14px; line-height:1.6; }
  .cta-panel .small { font-size:12px; }
  .cta-panel > .btn-row { justify-content:flex-start; }
  .cta-panel .btn-row { width:100%; gap:8px; }
  .cta-panel .btn-row .btn { flex:1 1 150px; min-height:44px; font-size:13px; }
  .footer-review,.footer-copy:not(:has(.footer-review))::after { font-size:10.5px; }
  /* Homepage editorial-density polish: preserve information while reducing
     vertical card stacking, with enough breathing room for scanability. */
  .hero { padding:30px 0 34px; }
  .hero-grid { gap:22px; }
  .hero-copy .lead { margin:16px 0 18px; }
  .hero-proof { gap:8px; margin-bottom:19px; }
  .hero-proof li { min-height:52px; padding:10px 11px; font-size:12.5px; line-height:1.45; }
  .quick-strip { display:none; }

  .home-section { padding:44px 0; }
  .home-visit-priority { padding:40px 0; }
  .home-why { gap:28px; }
  .home-why .section-intro p:last-child { margin-bottom:0; font-size:15px; line-height:1.62; }
  .home-why .feature-list { gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .home-why .feature { grid-template-columns:34px minmax(0,1fr); gap:11px; padding:17px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
  .home-why .feature:last-child { border-bottom:0; }
  .home-why .feature-number { width:30px; height:30px; font-size:10px; }
  .home-why .feature-label { margin-bottom:3px; font-size:10.5px; }
  .home-why .feature h3 { margin-bottom:3px; font-size:17px; line-height:1.4; }
  .home-why .feature p { font-size:13px; line-height:1.5; }

  .home-doctors-priority { padding:44px 0; }
  .home-doctors-priority .home-priority-intro { margin-bottom:20px; }
  .home-doctors-priority .doctor-row { gap:10px; }
  .home-doctors-priority .doctor-card { padding:17px 16px; border-top-width:2px; }
  .home-doctors-priority .doctor-card h3 { margin-bottom:2px; font-size:18px; line-height:1.35; }
  .home-doctors-priority .doctor-card .kicker { font-size:12px; line-height:1.45; }
  .home-doctors-priority .doctor-card-tag { padding:4px 8px; font-size:10.5px; }
  .home-doctors-priority .home-more { margin-top:16px; }

  .home-safety { padding:44px 0 26px; }
  .home-safety .home-priority-intro { margin-bottom:22px; }
  .home-safety .section-intro p { font-size:15px; line-height:1.62; }
  .home-safety .home-strength-grid { gap:0; border-top:1px solid rgba(13,74,64,.15); border-bottom:1px solid rgba(13,74,64,.15); }
  .home-safety .home-strength-card { display:grid; grid-template-columns:34px minmax(0,1fr); column-gap:11px; min-height:0; padding:19px 0; border:0; border-bottom:1px solid rgba(13,74,64,.13); border-radius:0; background:transparent; }
  .home-safety .home-strength-card:last-child { border-bottom:0; }
  .home-safety .home-strength-card > span { grid-row:1 / 3; margin:3px 0 0; font-size:10px; }
  .home-safety .home-strength-card h3 { margin:0 0 4px; font-size:17px; line-height:1.4; }
  .home-safety .home-strength-card p { margin:0; font-size:13px; line-height:1.55; }

  .home-accreditation-compact { padding:0 0 46px; }
  .home-accreditation-compact .accreditation-panel { grid-template-columns:minmax(0,1fr); gap:22px; padding:20px 16px; border:1px solid rgba(13,74,64,.09); border-radius:20px; box-shadow:none; }
  .home-accreditation-compact .landing-accreditation-image { width:min(225px,70vw); border-radius:16px; box-shadow:0 10px 24px rgba(74,58,0,.08); }
  .home-accreditation-compact .landing-plaque-figure figcaption { max-width:300px; margin:10px auto 0; font-size:10.5px; line-height:1.5; }
  .home-accreditation-compact h2 { margin-bottom:12px; font-size:27px; line-height:1.28; overflow-wrap:anywhere; }
  .home-accreditation-compact .lead { margin-bottom:0; font-size:14px; line-height:1.6; }
  .home-accreditation-compact .official-proof { gap:8px; margin-top:17px; }
  .home-accreditation-compact .official-proof .btn { min-height:42px; padding:9px 12px; font-size:12px; }
  .home-accreditation-compact .home-accreditation-media { margin-top:13px; font-size:12px; }

  .home-services { padding:44px 0; }
  .home-services .section-intro { margin-bottom:22px; }
  .home-services .home-service-grid { gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .home-services .home-service-card { grid-template-columns:28px minmax(0,1fr); gap:9px; min-height:0; padding:16px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
  .home-services .home-service-card:last-child { border-bottom:0; }
  .home-services .home-service-card h3 { margin-bottom:3px; font-size:18px; line-height:1.35; }
  .home-services .home-service-card p { font-size:12.5px; line-height:1.45; }

  .home-lab { padding:44px 0; }
  .home-lab-grid { gap:24px; }
  .home-lab .section-intro > p:not(.eyebrow) { font-size:15px; line-height:1.62; }
  .home-lab .lab-result-grid { gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .home-lab .lab-result-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 12px; min-height:0; padding:15px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
  .home-lab .lab-result-card:last-child { border-bottom:0; }
  .home-lab .lab-result-card span { align-self:center; margin:0; font-size:11.5px; }
  .home-lab .lab-result-card strong { align-self:center; margin:0; font-size:18px; }
  .home-lab .lab-result-card p { grid-column:1 / -1; margin-top:3px; font-size:11.5px; line-height:1.45; }

  .home-women { padding:44px 0; }
  .home-women-grid { gap:24px; }
  .home-women-copy > p:not(.eyebrow) { font-size:15px; line-height:1.62; }
  .home-women .women-care-points { grid-template-columns:1fr; gap:0; margin-top:20px; border-top:1px solid rgba(13,74,64,.14); border-bottom:1px solid rgba(13,74,64,.14); }
  .home-women .women-care-point { display:grid; grid-template-columns:96px minmax(0,1fr); gap:11px; align-items:center; padding:12px 0; border:0; border-bottom:1px solid rgba(13,74,64,.12); border-radius:0; background:transparent; }
  .home-women .women-care-point:last-child { border-bottom:0; }
  .home-women .women-care-point strong { margin:0; font-size:13.5px; }
  .home-women .women-care-point span { font-size:12px; line-height:1.45; }
  .home-women .home-more { margin-top:16px; }
  .home-women .women-portrait-card { display:grid; grid-template-columns:124px minmax(0,1fr); width:100%; max-width:366px; min-height:170px; border-radius:20px; box-shadow:none; }
  .home-women .women-portrait-frame { display:flex; align-items:flex-end; padding:10px 7px 0; }
  .home-women .women-visual-image { width:100%; height:159px; aspect-ratio:auto; object-fit:cover; object-position:center 18%; }
  .home-women .women-portrait-caption { flex-direction:column; justify-content:center; align-items:flex-start; gap:9px; padding:15px 16px; border-top:0; border-left:1px solid var(--line); }
  .home-women .women-portrait-caption strong { font-size:16px; }
  .home-women .women-portrait-caption span { font-size:11px; }
  .home-women .women-portrait-caption a { font-size:12px; }

  .home-faq { padding:44px 0; }
  .home-final-cta { padding:32px 0; }
  .home-final-cta .cta-panel { gap:16px; padding:20px 18px; }
  .home-final-cta .cta-panel h2 { margin-bottom:7px; font-size:25px; }
  .home-final-cta .cta-panel p { font-size:13px; line-height:1.52; }
  .home-final-cta .cta-panel .small { margin-top:7px; font-size:11px; line-height:1.5; }
  .home-final-cta .cta-panel .btn-row .btn { min-height:42px; padding:9px 10px; font-size:12px; }
  .women-page-hero .women-portrait-card { width:min(280px,72vw); }
  .women-page-hero .hero-grid { gap:20px; }
  .colonoscopy-jump,.page-jump { top:75px; }
  .colonoscopy-jump .container,.page-jump .container {
    width:100%;
    gap:4px;
    padding:8px 12px;
    overflow-x:visible;
  }
  .colonoscopy-jump a,.page-jump a {
    display:grid;
    flex:1 1 0;
    min-width:0;
    min-height:44px;
    place-items:center;
    padding:6px 3px;
    font-size:11px;
    line-height:1.25;
    letter-spacing:-.03em;
    text-align:center;
    white-space:normal;
    word-break:keep-all;
  }
  .colonoscopy-task-nav .container { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); width:100%; gap:4px; padding:8px 12px; overflow-x:visible; }
  .colonoscopy-task-nav .colonoscopy-task-label { display:none; }
  .colonoscopy-task-nav a { display:grid; min-width:0; min-height:44px; place-items:center; padding:6px 1px; font-size:10.5px; line-height:1.2; letter-spacing:-.05em; white-space:nowrap; }
  .colonoscopy-task-nav .colonoscopy-task-desktop-label { display:none; }
  .colonoscopy-task-nav .colonoscopy-task-mobile-label { display:block; }
  .page-jump ~ :where(section[id],article[id],div[id]),
  .page-jump ~ section :where(article[id],div[id]) { scroll-margin-top:143px; }
  .page-jump ~ section :where(h1[id],h2[id],h3[id],h4[id]) { scroll-margin-top:150px; }
  .faq-filter-block { position:relative; }
  .faq-filter-block::after { position:absolute; right:-1px; bottom:7px; display:grid; width:34px; height:38px; place-items:center; content:"›"; color:var(--green); background:linear-gradient(90deg,rgba(251,250,246,0),var(--paper) 48%); font-size:22px; font-weight:900; pointer-events:none; }
  .faq-filters { padding-right:40px; }
}

/* 2026-09-19 Mobbin-informed colonoscopy editorial experiment.
   Keep the approved medical copy intact while reducing repeated card/band
   treatment and making the page read as a small number of patient journeys. */
.colonoscopy-page .colonoscopy-journey-summary {
  border-top:1px solid var(--line);
  border-bottom:0;
  background:#edf5f2;
  background-image:none;
}
.colonoscopy-page .colonoscopy-journey-summary .section-intro { margin-bottom:28px; }
.colonoscopy-page .colonoscopy-decision-grid {
  position:relative;
  border-block:1px solid rgba(13,74,64,.22);
}
.colonoscopy-page .colonoscopy-decision-item {
  position:relative;
  grid-template-columns:1fr;
  padding:26px 20px 20px;
  border-right:0;
}
.colonoscopy-page .colonoscopy-decision-item + .colonoscopy-decision-item { border-left:1px solid rgba(13,74,64,.13); }
.colonoscopy-page .colonoscopy-decision-item > span {
  position:absolute;
  top:-15px;
  left:20px;
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border:1px solid rgba(13,74,64,.2);
  border-radius:50%;
  background:#edf5f2;
}

.colonoscopy-page .colonoscopy-context-section,
.colonoscopy-page .colonoscopy-post-section {
  background:var(--paper);
  background-image:none;
}
.colonoscopy-page .colonoscopy-context-section + .colonoscopy-context-section,
.colonoscopy-page .colonoscopy-post-section + .colonoscopy-post-section {
  border-top:1px solid var(--line);
}
.colonoscopy-page .colonoscopy-concerns { background:var(--green-3); }
.colonoscopy-page .colonoscopy-concerns .section-intro { max-width:800px; margin-bottom:26px; }
.colonoscopy-page .colonoscopy-concerns .concern-grid {
  display:block;
  max-width:1040px;
  margin:0 auto;
  border-top:1px solid rgba(13,74,64,.18);
  border-bottom:1px solid rgba(13,74,64,.18);
}
.colonoscopy-page .colonoscopy-concerns .concern-card {
  display:grid;
  grid-template-columns:110px minmax(0,1fr) 220px;
  grid-template-areas:
    "tag title answer"
    "tag body answer";
  gap:5px 24px;
  min-height:0;
  padding:25px 0;
  border:0;
  border-bottom:1px solid rgba(13,74,64,.11);
  border-radius:0;
  background:transparent;
}
.colonoscopy-page .colonoscopy-concerns .concern-card:last-child { border-bottom:0; }
.colonoscopy-page .colonoscopy-concerns .concern-card .tag {
  grid-area:tag;
  align-self:start;
  margin:3px 0 0;
  font-size:11px;
  letter-spacing:.05em;
}
.colonoscopy-page .colonoscopy-concerns .concern-card h3 {
  grid-area:title;
  margin:0;
  font-size:21px;
}
.colonoscopy-page .colonoscopy-concerns .concern-card > p {
  grid-area:body;
  margin:4px 0 0;
  color:var(--muted);
}
.colonoscopy-page .colonoscopy-concerns .concern-answer {
  grid-area:answer;
  align-self:center;
  margin:0;
  padding:4px 0 4px 22px;
  border-top:0;
  border-left:1px solid rgba(13,74,64,.14);
  font-size:13px;
}
.colonoscopy-page .colonoscopy-process-section .flow {
  border-block:1px solid rgba(13,74,64,.16);
}
.colonoscopy-page .colonoscopy-process-section .flow-step {
  padding:24px 22px 26px;
  border-top:0;
}
.colonoscopy-page .colonoscopy-process-section .flow-step + .flow-step { border-left:1px solid rgba(13,74,64,.12); }
.colonoscopy-page .colonoscopy-process-section .flow-step::before { margin-bottom:16px; }
.colonoscopy-page .colonoscopy-clinical-section .prose > h3 {
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid rgba(13,74,64,.12);
}
.colonoscopy-page .colonoscopy-clinical-section .prose > h3:first-of-type { padding-top:0; border-top:0; }

.colonoscopy-page .colonoscopy-prep-entry {
  padding:54px 0;
  border-block:1px solid var(--line);
  background:var(--sand);
  background-image:none;
}
.colonoscopy-page .colonoscopy-prep-entry .lead { max-width:820px; }
.colonoscopy-page .colonoscopy-prep-section {
  background:var(--paper);
  background-image:none;
}
.colonoscopy-page .colonoscopy-prep-section + .colonoscopy-prep-section { border-top:1px solid var(--line); }
.colonoscopy-page .prep-choice-card {
  border-radius:14px;
  box-shadow:none;
}
.colonoscopy-page .colonoscopy-prep-copy .prose > h3 {
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid rgba(13,74,64,.1);
}
.colonoscopy-page .colonoscopy-prep-copy .prose > h3:first-of-type { margin-top:0; padding-top:0; border-top:0; }
.colonoscopy-page .prep-safety-section .prep-safety {
  padding:26px 28px;
  border:1px solid var(--line);
  border-left:4px solid var(--green);
  border-radius:14px;
  background:#fff;
  box-shadow:none;
}
.colonoscopy-page .colonoscopy-diet-section { background:var(--sand); }
.colonoscopy-page .colonoscopy-diet-section .diet-grid {
  gap:0;
  border-block:1px solid rgba(13,74,64,.13);
}
.colonoscopy-page .colonoscopy-diet-section .diet-card {
  padding:24px 24px 26px;
  border-right:0;
  border-bottom:0;
  border-left:0;
  border-radius:0;
  background:transparent;
}
.colonoscopy-page .colonoscopy-diet-section .diet-card + .diet-card { border-left:1px solid rgba(13,74,64,.1); }
.colonoscopy-page .colonoscopy-calculator-section {
  border-top:1px solid rgba(13,74,64,.12);
  border-bottom:0;
  background:#edf5f2;
}
.colonoscopy-page .colonoscopy-calculator-section .prep-form {
  border-radius:16px;
  box-shadow:0 10px 26px rgba(13,74,64,.06);
}
.colonoscopy-page .colonoscopy-prep-section.colonoscopy-plan-section {
  padding-top:36px;
  border-top:0;
  background:#edf5f2;
}
.colonoscopy-page .colonoscopy-prep-check-section { background:var(--paper); }
.colonoscopy-page .colonoscopy-prep-check-section .feature-list {
  gap:0;
  border-block:1px solid rgba(13,74,64,.13);
}
.colonoscopy-page .colonoscopy-prep-check-section .feature {
  grid-template-columns:42px minmax(0,1fr);
  gap:14px;
  padding:20px 0;
  border:0;
  border-bottom:1px solid rgba(13,74,64,.1);
  border-radius:0;
  background:transparent;
}
.colonoscopy-page .colonoscopy-prep-check-section .feature:last-child { border-bottom:0; }
.colonoscopy-page .colonoscopy-prep-check-section .feature-number { width:34px; height:34px; font-size:11px; }

.colonoscopy-page .colonoscopy-followup-section { background:var(--paper); }
.colonoscopy-page .colonoscopy-aftercare-section { border-top:2px solid var(--green); }
.colonoscopy-page .colonoscopy-followup-section .prose > h3,
.colonoscopy-page .colonoscopy-aftercare-section .prose > h3 {
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid rgba(13,74,64,.1);
}
.colonoscopy-page .colonoscopy-followup-section .prose > h3:first-of-type,
.colonoscopy-page .colonoscopy-aftercare-section .prose > h3:first-of-type { padding-top:0; border-top:0; }
.colonoscopy-page .colonoscopy-faq-section {
  background:var(--sand);
  background-image:none;
}
.colonoscopy-page .colonoscopy-final-cta { padding:40px 0 48px; }

@media (max-width:900px) {
  .colonoscopy-page .colonoscopy-concerns .concern-card {
    grid-template-columns:94px minmax(0,1fr);
    grid-template-areas:
      "tag title"
      "tag body"
      ". answer";
    gap:5px 18px;
  }
  .colonoscopy-page .colonoscopy-concerns .concern-answer {
    align-self:start;
    margin-top:8px;
    padding:4px 0 0;
    border-top:0;
    border-left:0;
  }
}

@media (max-width:980px) and (min-width:681px) {
  .colonoscopy-page .colonoscopy-decision-item + .colonoscopy-decision-item { border-left:0; }
  .colonoscopy-page .colonoscopy-decision-item:nth-child(even) { border-left:1px solid rgba(13,74,64,.13); }
  .colonoscopy-page .colonoscopy-process-section .flow-step + .flow-step { border-left:0; }
  .colonoscopy-page .colonoscopy-process-section .flow-step:nth-child(even) { border-left:1px solid rgba(13,74,64,.12); }
  .colonoscopy-page .colonoscopy-process-section .flow-step:nth-child(n+3) { border-top:1px solid var(--line); }
  .colonoscopy-page .colonoscopy-diet-section .diet-card + .diet-card { border-left:0; }
  .colonoscopy-page .colonoscopy-diet-section .diet-card:nth-child(even) { border-left:1px solid rgba(13,74,64,.1); }
  .colonoscopy-page .colonoscopy-diet-section .diet-card:nth-child(n+3) { border-top:1px solid rgba(13,74,64,.1); }
}

@media (max-width:680px) {
  .colonoscopy-page .colonoscopy-prep-entry { padding:40px 0; }
  .colonoscopy-page .colonoscopy-decision-item,
  .colonoscopy-page .colonoscopy-decision-item + .colonoscopy-decision-item {
    grid-template-columns:30px minmax(0,1fr);
    padding:16px 0;
    border-left:0;
    border-bottom:1px solid rgba(13,74,64,.13);
  }
  .colonoscopy-page .colonoscopy-decision-item:last-child { border-bottom:0; }
  .colonoscopy-page .colonoscopy-decision-item > span {
    position:static;
    width:28px;
    height:28px;
  }
  .colonoscopy-page .colonoscopy-concerns .concern-card {
    grid-template-columns:1fr;
    grid-template-areas:"tag" "title" "body" "answer";
    gap:5px;
    padding:22px 0;
  }
  .colonoscopy-page .colonoscopy-concerns .concern-card .tag { margin-bottom:5px; }
  .colonoscopy-page .colonoscopy-concerns .concern-card h3 { font-size:19px; }
  .colonoscopy-page .colonoscopy-process-section .flow-step + .flow-step { border-left:0; }
  .colonoscopy-page .colonoscopy-process-section .flow-step:nth-child(n+3) { border-top:1px solid var(--line); }
  .colonoscopy-page .prep-safety-section .prep-safety { padding:20px 18px; }
  .colonoscopy-page .colonoscopy-diet-section .diet-grid { border-block:0; }
  .colonoscopy-page .colonoscopy-diet-section .diet-card,
  .colonoscopy-page .colonoscopy-diet-section .diet-card + .diet-card {
    padding:21px 0;
    border-left:0;
    border-right:0;
    border-bottom:1px solid rgba(13,74,64,.1);
  }
  .colonoscopy-page .colonoscopy-diet-section .diet-card:last-child { border-bottom:0; }
  .colonoscopy-page .colonoscopy-calculator-section .prep-form { border-radius:14px; box-shadow:none; }
  .colonoscopy-page .colonoscopy-prep-section.colonoscopy-plan-section { padding-top:30px; }
  .colonoscopy-page .colonoscopy-final-cta { padding:32px 0 38px; }
}

/* 2026-09-19 cross-page editorial IA pass.
   Reuse the colonoscopy principles without forcing every page into one
   component template: fewer decorative cards, clearer chapter boundaries,
   evidence-first sections, and utility-first FAQ/visit behavior. */

/* Home: keep the hero, but make the middle of the page read as evidence and
   service information rather than a sequence of boxed cards. */
.home-page .home-safety,
.home-page .home-accreditation-compact {
  background:var(--green-3);
  background-image:none;
}
.home-page .home-safety { padding-bottom:28px; }
.home-page .home-strength-grid {
  gap:0;
  border-block:1px solid rgba(13,74,64,.16);
}
.home-page .home-strength-card {
  min-height:0;
  padding:24px 22px;
  border:0;
  border-radius:0;
  background:transparent;
}
.home-page .home-strength-card:nth-child(even) { border-left:1px solid rgba(13,74,64,.13); }
.home-page .home-strength-card:nth-child(n+3) { border-top:1px solid rgba(13,74,64,.13); }
.home-page .home-strength-card > span { margin-bottom:20px; }
.home-page .home-accreditation-compact { padding-top:0; }
.home-page .home-accreditation-compact .accreditation-panel {
  padding:28px 0 42px;
  border:0;
  border-top:1px solid rgba(13,74,64,.16);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.home-page .home-services .home-service-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  border-block:1px solid var(--line);
}
.home-page .home-services .home-service-card {
  min-height:0;
  padding:22px 20px;
  border:0;
  border-radius:0;
  background:transparent;
}
.home-page .home-services .home-service-card:nth-child(even) { border-left:1px solid var(--line); }
.home-page .home-services .home-service-card:nth-child(n+3) { border-top:1px solid var(--line); }
.home-page .home-services .home-service-card:last-child { grid-column:1 / -1; border-left:0; }
.home-page .home-services .home-service-card:hover { background:rgba(220,236,231,.28); box-shadow:none; }
.home-page .home-lab .lab-result-grid {
  gap:0;
  border-block:1px solid rgba(13,74,64,.14);
}
.home-page .home-lab .lab-result-card {
  min-height:0;
  padding:20px 18px;
  border:0;
  border-radius:0;
  background:transparent;
}
.home-page .home-lab .lab-result-card + .lab-result-card { border-left:1px solid rgba(13,74,64,.12); }

/* Gastroscopy: a shorter sibling of the colonoscopy journey. */
.gastroscopy-page .gastroscopy-summary,
.gastroscopy-page .gastroscopy-concerns,
.gastroscopy-page .gastroscopy-prep-section,
.gastroscopy-page .gastroscopy-followup-section {
  background:var(--green-3);
  background-image:none;
}
.gastroscopy-page .gastroscopy-context-section,
.gastroscopy-page .gastroscopy-post-section {
  background:var(--paper);
  background-image:none;
}
.gastroscopy-page .gastroscopy-concerns.gastroscopy-context-section { background:var(--green-3); }
.gastroscopy-page .gastroscopy-context-section + .gastroscopy-context-section,
.gastroscopy-page .gastroscopy-post-section + .gastroscopy-post-section { border-top:1px solid var(--line); }
.gastroscopy-page .gastroscopy-summary .cards-3,
.gastroscopy-page .gastroscopy-helicobacter-section .cards-3 {
  gap:0;
  border-block:1px solid rgba(13,74,64,.16);
}
.gastroscopy-page .gastroscopy-summary .info-card,
.gastroscopy-page .gastroscopy-helicobacter-section .info-card {
  padding:23px 22px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.gastroscopy-page .gastroscopy-summary .info-card + .info-card,
.gastroscopy-page .gastroscopy-helicobacter-section .info-card + .info-card { border-left:1px solid rgba(13,74,64,.13); }
.gastroscopy-page .gastroscopy-concerns .section-intro { max-width:820px; margin-bottom:26px; }
.gastroscopy-page .gastroscopy-concerns .concern-grid {
  display:block;
  max-width:1040px;
  margin:0 auto;
  border-block:1px solid rgba(13,74,64,.18);
}
.gastroscopy-page .gastroscopy-concerns .concern-card {
  display:grid;
  grid-template-columns:110px minmax(0,1fr) 220px;
  grid-template-areas:"tag title answer" "tag body answer";
  gap:5px 24px;
  min-height:0;
  padding:25px 0;
  border:0;
  border-bottom:1px solid rgba(13,74,64,.12);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.gastroscopy-page .gastroscopy-concerns .concern-card:last-child { border-bottom:0; }
.gastroscopy-page .gastroscopy-concerns .concern-card .tag { grid-area:tag; align-self:start; margin-top:3px; }
.gastroscopy-page .gastroscopy-concerns .concern-card h3 { grid-area:title; margin:0; font-size:21px; }
.gastroscopy-page .gastroscopy-concerns .concern-card > p { grid-area:body; margin:4px 0 0; color:var(--muted); }
.gastroscopy-page .gastroscopy-concerns .concern-answer {
  grid-area:answer;
  align-self:center;
  margin:0;
  padding:4px 0 4px 22px;
  border-top:0;
  border-left:1px solid rgba(13,74,64,.14);
  font-size:13px;
}
.gastroscopy-page .gastroscopy-process-section {
  background:var(--sand);
  background-image:none;
}
.gastroscopy-page .gastroscopy-process-section .flow { border-block:1px solid rgba(13,74,64,.16); }
.gastroscopy-page .gastroscopy-process-section .flow-step { padding:24px 22px 26px; border-top:0; }
.gastroscopy-page .gastroscopy-process-section .flow-step + .flow-step { border-left:1px solid rgba(13,74,64,.12); }
.gastroscopy-page .gastroscopy-process-section .flow-step::before { margin-bottom:16px; }
.gastroscopy-page .gastroscopy-clinical-section .prose > h3,
.gastroscopy-page .gastroscopy-prep-section .prose > h3,
.gastroscopy-page .gastroscopy-aftercare-section .prose > h3,
.gastroscopy-page .gastroscopy-followup-section .prose > h3 {
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid rgba(13,74,64,.12);
}
.gastroscopy-page :is(.gastroscopy-clinical-section,.gastroscopy-prep-section,.gastroscopy-aftercare-section,.gastroscopy-followup-section) .prose > h3:first-of-type {
  padding-top:0;
  border-top:0;
}
.gastroscopy-page .gastroscopy-helicobacter-section,
.gastroscopy-page .gastroscopy-faq-section {
  background:var(--sand);
  background-image:none;
}
.gastroscopy-page .gastroscopy-final-cta { padding-top:40px; }

/* Checkup: make program choice, eligibility, preparation and follow-up read as
   a decision sequence while preserving the official tables and warnings. */
.checkup-page .checkup-programs-section,
.checkup-page .checkup-results-section {
  background:var(--green-3);
  background-image:none;
}
.checkup-page .checkup-eligibility-section,
.checkup-page .checkup-faq-section {
  background:var(--sand);
  background-image:none;
}
.checkup-page .checkup-programs-section .cards-3 {
  gap:0;
  border-block:1px solid rgba(13,74,64,.16);
}
.checkup-page .checkup-programs-section .info-card {
  padding:24px 22px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.checkup-page .checkup-programs-section .info-card + .info-card { border-left:1px solid rgba(13,74,64,.13); }
.checkup-page .checkup-prepare-section,
.checkup-page .checkup-followup-section { background:var(--paper); }
.checkup-page .checkup-prepare-section { border-top:1px solid var(--line); }
.checkup-page .checkup-followup-section { border-top:2px solid var(--green); }
.checkup-page .checkup-followup-section .prose > h3,
.checkup-page .checkup-results-section .prose > h3 {
  margin-top:27px;
  padding-top:22px;
  border-top:1px solid rgba(13,74,64,.12);
}
.checkup-page :is(.checkup-followup-section,.checkup-results-section) .prose > h3:first-of-type { padding-top:0; border-top:0; }
.checkup-page .screening-table-wrap { border-radius:12px; box-shadow:none; }
.checkup-page .checkup-final-cta { padding-top:40px; }

/* Chronic disease: retain the intentionally small page count, but strengthen
   the clinical workflow and reduce decorative banding. */
.chronic-page .chronic-detail-section { background:var(--paper); background-image:none; }
.chronic-page #chronic-care { background:var(--sand); }
.chronic-page #diagnostic-approach { background:var(--green-3); }
.chronic-page .chronic-detail-section + .chronic-detail-section { border-top:1px solid var(--line); }
.chronic-page .detail-columns {
  gap:0;
  padding-block:22px;
  border-block:1px solid var(--line);
}
.chronic-page .detail-columns > div { padding-inline:22px; }
.chronic-page .detail-columns > div:first-child { padding-left:0; }
.chronic-page .detail-columns > div + div { border-left:1px solid var(--line); }
.chronic-page .chronic-detail .callout { border-radius:14px; box-shadow:none; }
.chronic-page .chronic-final-cta { padding-top:40px; }

/* Women's care: keep the physician-led hero and make the screening program a
   simple editorial comparison rather than another card grid. */
.women-page .women-medicine-section,
.women-page .women-faq-section { background:var(--sand); background-image:none; }
.women-page .women-programs-section,
.women-page .women-prepare-section { background:var(--green-3); background-image:none; }
.women-page .women-programs-section .cards-3 {
  gap:0;
  border-block:1px solid rgba(13,74,64,.16);
}
.women-page .women-programs-section .info-card {
  padding:24px 22px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.women-page .women-programs-section .info-card + .info-card { border-left:1px solid rgba(13,74,64,.13); }
.women-page .women-followup-section { background:var(--paper); }
.women-page .women-followup-section .prose > h3,
.women-page .women-prepare-section .prose > h3 {
  margin-top:27px;
  padding-top:22px;
  border-top:1px solid rgba(13,74,64,.12);
}
.women-page .women-followup-section .prose > h3:first-of-type { padding-top:0; border-top:0; }
.women-page .women-prepare-section .callout { border-radius:14px; box-shadow:none; }
.women-page .women-final-cta { padding-top:40px; }

/* Accreditation: evidence first. The plaque remains the dominant visual; the
   six standards become a structured reference list instead of six cards. */
.accreditation-page .accreditation-evidence-section {
  background:var(--green-3);
  background-image:none;
}
.accreditation-page .accreditation-evidence-section .accreditation-panel {
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.accreditation-page .accreditation-evidence-section .accreditation-facts {
  gap:0;
  margin-top:26px;
  border-block:1px solid rgba(13,74,64,.15);
}
.accreditation-page .accreditation-evidence-section .fact {
  padding:18px 16px;
  border-radius:0;
  background:transparent;
}
.accreditation-page .accreditation-evidence-section .fact + .fact { border-left:1px solid rgba(13,74,64,.13); }
.accreditation-page .accreditation-standards-section .accreditation-standard-grid {
  grid-template-columns:1fr;
  gap:0;
  border-block:1px solid var(--line);
}
.accreditation-page .accreditation-standard-card {
  display:grid;
  grid-template-columns:54px minmax(220px,.42fr) minmax(0,1fr);
  gap:20px;
  align-items:start;
  padding:24px 0;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.accreditation-page .accreditation-standard-card:last-child { border-bottom:0; }
.accreditation-page .accreditation-standard-card::after { display:none; }
.accreditation-page .accreditation-standard-number { margin:3px 0 0; }
.accreditation-page .prose .accreditation-standard-card h3 { margin:0; }
.accreditation-page .prose .accreditation-standard-card p { margin:0; }
.accreditation-page .accreditation-final-cta { padding-top:40px; }

/* FAQ is already utility-first. Keep its search/filter interaction and reduce
   visual ceremony around answers; make the next action inside an answer easy
   to notice without turning it into another button grid. */
.faq-page .faq-directory-section { background:var(--paper); }
.faq-page .faq-directory { padding-top:58px; }
.faq-page .faq-group + .faq-group { margin-top:54px; padding-top:50px; }
.faq-page .faq-search-list details { border-bottom:1px solid var(--line); }
.faq-page .faq-search-list summary { padding-block:20px; }
.faq-page .faq-item p { max-width:840px; }
.faq-page .faq-item .text-link {
  display:inline-block;
  margin-top:4px;
  padding-bottom:2px;
  border-bottom:1px solid rgba(13,74,64,.28);
  text-decoration:none;
}
.faq-page .faq-final-cta { padding-top:38px; }

@media (max-width:900px) {
  .gastroscopy-page .gastroscopy-concerns .concern-card {
    grid-template-columns:94px minmax(0,1fr);
    grid-template-areas:"tag title" "tag body" ". answer";
    gap:5px 18px;
  }
  .gastroscopy-page .gastroscopy-concerns .concern-answer {
    align-self:start;
    margin-top:7px;
    padding:4px 0 0;
    border-left:0;
  }
}

@media (max-width:980px) and (min-width:681px) {
  .gastroscopy-page .gastroscopy-summary .info-card + .info-card,
  .gastroscopy-page .gastroscopy-helicobacter-section .info-card + .info-card,
  .checkup-page .checkup-programs-section .info-card + .info-card,
  .women-page .women-programs-section .info-card + .info-card { border-left:0; }
  .gastroscopy-page .gastroscopy-summary .info-card:nth-child(even),
  .gastroscopy-page .gastroscopy-helicobacter-section .info-card:nth-child(even),
  .checkup-page .checkup-programs-section .info-card:nth-child(even),
  .women-page .women-programs-section .info-card:nth-child(even) { border-left:1px solid rgba(13,74,64,.13); }
  .gastroscopy-page .gastroscopy-summary .info-card:nth-child(n+3),
  .gastroscopy-page .gastroscopy-helicobacter-section .info-card:nth-child(n+3),
  .checkup-page .checkup-programs-section .info-card:nth-child(n+3),
  .women-page .women-programs-section .info-card:nth-child(n+3) { border-top:1px solid rgba(13,74,64,.13); }
  .gastroscopy-page .gastroscopy-process-section .flow-step + .flow-step { border-left:0; }
  .gastroscopy-page .gastroscopy-process-section .flow-step:nth-child(even) { border-left:1px solid rgba(13,74,64,.12); }
  .gastroscopy-page .gastroscopy-process-section .flow-step:nth-child(n+3) { border-top:1px solid var(--line); }
  .accreditation-page .accreditation-standard-card { grid-template-columns:48px minmax(190px,.45fr) minmax(0,1fr); gap:16px; }
}

@media (max-width:680px) {
  .home-page .home-strength-card,
  .home-page .home-strength-card:nth-child(even),
  .home-page .home-strength-card:nth-child(n+3) { border-left:0; }
  .home-page .home-strength-card { padding:19px 0; border-top:0; border-bottom:1px solid rgba(13,74,64,.13); }
  .home-page .home-strength-card:last-child { border-bottom:0; }
  .home-page .home-accreditation-compact .accreditation-panel { padding:20px 0 42px; }
  .home-page .home-services .home-service-grid { grid-template-columns:1fr; }
  .home-page .home-services .home-service-card,
  .home-page .home-services .home-service-card:nth-child(even),
  .home-page .home-services .home-service-card:nth-child(n+3),
  .home-page .home-services .home-service-card:last-child { grid-column:auto; padding:16px 0; border-left:0; border-top:0; border-bottom:1px solid var(--line); }
  .home-page .home-services .home-service-card:last-child { border-bottom:0; }
  .home-page .home-lab .lab-result-grid { grid-template-columns:1fr; }
  .home-page .home-lab .lab-result-card + .lab-result-card { border-left:0; border-top:1px solid rgba(13,74,64,.12); }

  .gastroscopy-page .gastroscopy-summary .cards-3,
  .gastroscopy-page .gastroscopy-helicobacter-section .cards-3,
  .checkup-page .checkup-programs-section .cards-3,
  .women-page .women-programs-section .cards-3 { grid-template-columns:1fr; border-block:0; }
  .gastroscopy-page .gastroscopy-summary .info-card,
  .gastroscopy-page .gastroscopy-summary .info-card + .info-card,
  .gastroscopy-page .gastroscopy-helicobacter-section .info-card,
  .gastroscopy-page .gastroscopy-helicobacter-section .info-card + .info-card,
  .checkup-page .checkup-programs-section .info-card,
  .checkup-page .checkup-programs-section .info-card + .info-card,
  .women-page .women-programs-section .info-card,
  .women-page .women-programs-section .info-card + .info-card {
    padding:20px 0;
    border-left:0;
    border-top:0;
    border-bottom:1px solid rgba(13,74,64,.13);
  }
  .gastroscopy-page .gastroscopy-summary .info-card:last-child,
  .gastroscopy-page .gastroscopy-helicobacter-section .info-card:last-child,
  .checkup-page .checkup-programs-section .info-card:last-child,
  .women-page .women-programs-section .info-card:last-child { border-bottom:0; }
  .gastroscopy-page .gastroscopy-concerns .concern-card {
    grid-template-columns:1fr;
    grid-template-areas:"tag" "title" "body" "answer";
    gap:5px;
    padding:22px 0;
  }
  .gastroscopy-page .gastroscopy-concerns .concern-card h3 { font-size:19px; }
  .gastroscopy-page .gastroscopy-concerns .concern-answer { margin-top:5px; padding:4px 0 0; border-left:0; }
  .gastroscopy-page .gastroscopy-process-section .flow-step + .flow-step { border-top:1px solid var(--line); border-left:0; }

  .chronic-page .detail-columns { grid-template-columns:1fr; gap:0; }
  .chronic-page .detail-columns > div { padding:18px 0; }
  .chronic-page .detail-columns > div + div { border-top:1px solid var(--line); border-left:0; }

  .accreditation-page .accreditation-evidence-section .accreditation-panel { padding:0; }
  .accreditation-page .accreditation-evidence-section .accreditation-facts { grid-template-columns:1fr; }
  .accreditation-page .accreditation-evidence-section .fact,
  .accreditation-page .accreditation-evidence-section .fact + .fact { padding:16px 0; border-left:0; border-bottom:1px solid rgba(13,74,64,.13); }
  .accreditation-page .accreditation-evidence-section .fact:last-child { border-bottom:0; }
  .accreditation-page .accreditation-standard-card {
    grid-template-columns:38px minmax(0,1fr);
    grid-template-areas:"number title" ". body";
    gap:5px 12px;
    padding:20px 0;
  }
  .accreditation-page .accreditation-standard-number { grid-area:number; }
  .accreditation-page .prose .accreditation-standard-card h3 { grid-area:title; }
  .accreditation-page .prose .accreditation-standard-card p { grid-area:body; }

  .faq-page .faq-directory { padding-top:48px; }
  .faq-page .faq-group + .faq-group { margin-top:46px; padding-top:42px; }
  .faq-page .faq-search-list summary { padding-block:18px; font-size:17px; }
}
@media (max-width:340px) {
  .colonoscopy-page .colonoscopy-process-section .flow-step + .flow-step { border-top:1px solid var(--line); }
  .header-inner { gap:8px; }
  .logo img { width:165px; }
  .site-search-trigger { padding-inline:8px; }
}
@media print {
  @page { size:A4; margin:12mm 11mm 13mm; }
  body { background:#fff !important; }
  body.colonoscopy-page > :not(main) { display:none !important; }
  body.colonoscopy-page main > * { display:none !important; }
  body.colonoscopy-page main > .prep-print-header,body.colonoscopy-page main > #diet-guide,body.colonoscopy-page main > #my-plan,body.colonoscopy-page main > #prep-check,body.colonoscopy-page main > .prep-print-footer { display:block !important; }
  .print-only { display:block !important; }
  .prep-print-header { padding:0 0 10mm !important; }
  .prep-print-header-inner { display:grid; grid-template-columns:48mm 1fr; gap:8mm; align-items:center; padding-bottom:5mm; border-bottom:2px solid #0d4a40; }
  .prep-print-header img { width:48mm; height:auto; }
  .prep-print-kicker { margin:0 0 1mm; color:#55716a; font-size:8pt; font-weight:800; letter-spacing:.08em; }
  .prep-print-title { margin:0 0 2mm; color:var(--ink); font-size:21pt; font-weight:900; line-height:1.15; }
  .prep-print-summary { margin:0; color:#344e48; font-size:10.5pt; font-weight:750; }
  #diet-guide,#my-plan,#prep-check { padding:5mm 0 !important; background:#fff !important; }
  #diet-guide .section-intro,#prep-check .eyebrow { margin-bottom:3mm; }
  #diet-guide .section-intro h2,#my-plan .plan-head h2,#prep-check h2 { font-size:16pt; line-height:1.25; }
  #diet-guide .diet-grid { grid-template-columns:repeat(3,1fr) !important; gap:4mm; }
  #diet-guide .diet-card { padding:4mm; border-radius:3mm; box-shadow:none; break-inside:avoid; }
  #diet-guide .diet-card h3 { font-size:11pt; }
  #diet-guide .diet-card li,#diet-guide .diet-card p { font-size:8.6pt; line-height:1.45; }
  #my-plan .plan-head { margin-bottom:5mm; }
  #my-plan .plan-head-actions { display:none !important; }
  #my-plan .timeline { max-width:none; }
  #my-plan .timeline-item { grid-template-columns:10mm 1fr; gap:4mm; padding-bottom:3mm; break-inside:avoid; }
  #my-plan .timeline::before { left:4.8mm; top:5mm; bottom:5mm; }
  #my-plan .timeline-marker { width:10mm; height:10mm; border-width:1mm; font-size:7pt; }
  #my-plan .timeline-content { padding:3.5mm 4mm; border-radius:3mm; box-shadow:none; }
  #my-plan .timeline-content h3 { margin-bottom:1mm; font-size:10.5pt; }
  #my-plan .timeline-content p,#my-plan .timeline-content time,#my-plan .timeline-water-note { font-size:8.6pt; line-height:1.4; }
  #my-plan .timeline-step-number { font-size:6.8pt; }
  #my-plan .plan-warning { break-inside:avoid; }
  #prep-check .prep-check-grid { display:block !important; }
  #prep-check .feature-list { display:none !important; }
  #prep-check .lead { max-width:none; margin-bottom:3mm; font-size:9.5pt; line-height:1.5; }
  #prep-check .stool-scale { grid-template-columns:repeat(3,1fr) !important; gap:4mm; margin-top:3mm; }
  #prep-check .stool-item { display:block !important; padding:3mm; text-align:left; break-inside:avoid; }
  #prep-check .stool-clarity-window { height:21mm; margin-bottom:2mm; }
  #prep-check .stool-test-copy { font-size:10pt; }
  #prep-check .stool-item strong { font-size:10pt; }
  #prep-check .stool-item small { font-size:8.4pt; }
  .prep-print-footer { margin-top:5mm; padding:4mm 0 0 !important; border-top:1px solid #9fb2ac; color:#344e48; }
  .prep-print-footer p { margin:0 0 1.5mm; font-size:8.5pt; line-height:1.4; }
  .prep-print-note { color:#637670; }
  a { color:inherit !important; text-decoration:none !important; }
}
