/* HotelCorporateCodes · The business travel reference
   Independent visual layer, v1.13.0 · 2026-10-02.
   Original field-guide direction; existing ad rules and dimensions are untouched.
   Content stays visible without script. Enhancements never gate a task. */

.hc-quality {
  --q-ink: #172d36;
  --q-navy: #152f3c;
  --q-muted: #566764;
  --q-teal: #24584d;
  --q-teal-hover: #163e36;
  --q-teal-soft: #edf3ee;
  --q-paper: #faf8f4;
  --q-surface: #fffefb;
  --q-tint: #f2f1e9;
  --q-line: #dddcd2;
  --q-line-strong: #b8c2b9;
  --q-gold: #a57b38;
  --q-gold-soft: #f5ebd5;
  --q-shadow: 0 1px 2px rgb(23 45 54 / 3%), 0 12px 36px rgb(23 45 54 / 4%);
  --q-shadow-raised: 0 4px 8px rgb(23 45 54 / 4%), 0 18px 40px rgb(23 45 54 / 7%);
  --q-ease: cubic-bezier(.2,.65,.25,1);
  background: var(--q-paper);
  color: var(--q-ink);
}

.hc-quality ::selection { color: var(--q-ink); background: #e1ddc5; }
.hc-quality :focus-visible { outline: 3px solid var(--q-teal); outline-offset: 4px; }
.hc-quality .skip:focus { color: #fff; background: var(--q-navy); }
.hc-quality :is(.wrap, .head-in) { max-width: 1184px; padding-inline: 32px; }
.hc-quality :is(h1, h2, h3) { color: var(--q-ink); text-wrap: balance; }
.hc-quality h1 { font-size: clamp(34px, 4.4vw, 54px); line-height: 1.09; letter-spacing: -.037em; max-width: 23ch; }
.hc-quality h2 { font-size: clamp(25px, 2.75vw, 34px); line-height: 1.16; letter-spacing: -.023em; }
.hc-quality h3 { font-size: 20px; line-height: 1.3; letter-spacing: -.012em; }
.hc-quality .lede { color: #435655; line-height: 1.6; font-size: clamp(16px, 1.8vw, 19px); }
.hc-quality :is(.eyebrow, .small, .note, .meta-line, .copyhint) { color: var(--q-muted); }
.hc-quality .eyebrow { font-size: 10px; line-height: 1.7; letter-spacing: .17em; font-weight: 600; }
.hc-quality .eyebrow::before { content: ""; display: inline-block; width: 18px; height: 1px; margin-right: 9px; vertical-align: middle; background: var(--q-gold); }
.hc-quality :is(.sec-head, .directory-intro) h2 { max-width: 30ch; }
.hc-quality .sec { padding-block: 54px; }
.hc-quality .sec + .sec { border-color: var(--q-line); }
.hc-quality .sec-head { margin-bottom: 26px; }
.hc-quality .sec-head p { color: var(--q-muted); line-height: 1.65; }

/* The masthead is quiet, compact and always subordinate to the task. */
.hc-quality .site-head { border-bottom-color: var(--q-line); background: rgb(255 254 251 / 97%); transition: box-shadow 220ms var(--q-ease), background-color 220ms var(--q-ease); }
.hc-quality .head-in { min-height: 76px; }
.hc-quality .brandmark { font-size: 21px; letter-spacing: -.035em; color: var(--q-navy); gap: 10px; }
.hc-quality .brandmark .bm { width: 35px; height: 26px; }
.hc-quality .mainnav { gap: 3px; }
.hc-quality .mainnav a { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 13px; color: #435655; font-size: 13px; font-weight: 550; border-radius: 5px; transition: background-color 180ms var(--q-ease), color 180ms var(--q-ease); }
.hc-quality .mainnav a:hover { background: var(--q-tint); color: var(--q-ink); }
.hc-quality .mainnav a:is([aria-current="page"], .is-current) { color: var(--q-teal-hover); background: var(--q-teal-soft); box-shadow: inset 0 -2px var(--q-teal); }
.hc-quality .nav-toggle { border-radius: 5px; border-color: var(--q-line-strong); color: var(--q-ink); background: var(--q-surface); }
.hc-quality .site-head.hc-header-scrolled { box-shadow: 0 3px 15px rgb(23 45 54 / 7%); }
@supports (backdrop-filter: blur(10px)) {
  .hc-quality .site-head.hc-header-scrolled { background: rgb(255 254 251 / 94%); backdrop-filter: blur(10px); }
}

/* The restrained grid and reference ticket are authored for this directory. */
.hc-quality .hero { background: var(--q-surface); border-color: var(--q-line); padding-block: 44px; }
.hc-quality .hero .lede { margin-top: 17px; margin-bottom: 0; max-width: 61ch; }
.hc-quality .hc-home > .hero { background: linear-gradient(100deg, #fffefb 0%, #fffefb 55%, #f3f3ea 100%); padding-block: 40px; }
.hc-quality .hc-home > .hero .split { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 355px); gap: 52px; align-items: center; }
.hc-quality .hc-home > .hero h1 { font-size: clamp(40px, 4.9vw, 57px); line-height: 1.04; letter-spacing: -.045em; margin-bottom: 14px; max-width: 16ch; }
.hc-quality .hc-home > .hero .eyebrow { display: block; margin-bottom: 13px; }
.hc-quality .hc-home > .hero .lede { font-size: 18px; max-width: 45ch; margin: 0; }
.hc-quality .hc-home > .hero .statline { border-color: #dbddd0; gap: 8px 25px; padding-top: 16px; margin-top: 22px; }
.hc-quality .hc-home > .hero .statline b { color: var(--q-teal); font-family: var(--mono); font-size: 19px; font-weight: 550; letter-spacing: -.05em; }
.hc-quality .statline span { color: var(--q-muted); font-size: 12px; }
.hc-quality .hc-reference-ticket { position: relative; padding: 22px 25px 19px; border: 1px solid #cad1c1; border-radius: 3px; background: repeating-linear-gradient(0deg, transparent, transparent 29px, rgb(23 45 54 / 3%) 29px, rgb(23 45 54 / 3%) 30px), #fffefb; box-shadow: 4px 4px 0 #e4e7d9; color: var(--q-ink); min-width: 0; }
.hc-quality .hc-reference-ticket::before { content: ""; display: block; width: 30px; height: 3px; background: var(--q-gold); margin-bottom: 15px; }
.hc-quality .hc-ticket-top { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; font-family: var(--mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--q-teal); }
.hc-quality .hc-ticket-top small { font-size: 10px; color: var(--q-muted); letter-spacing: .08em; }
.hc-quality .hc-ticket-route { display: grid; gap: 0; margin: 17px 0 16px; padding: 0; list-style: none; }
.hc-quality .hc-ticket-route li { position: relative; display: flex; align-items: center; gap: 13px; padding-block: 9px; font-family: var(--serif); font-size: 20px; line-height: 1.35; letter-spacing: -.01em; }
.hc-quality .hc-ticket-route li > span { align-self: center; flex: none; font: 11px/1.4 var(--mono); color: var(--q-teal); }
.hc-quality .hc-ticket-route li > div { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.hc-quality .hc-ticket-route li strong { font-size: 19px; font-weight: 600; }
.hc-quality .hc-ticket-route li small { font: 10px/1.5 var(--sans); color: var(--q-muted); letter-spacing: .01em; }
.hc-quality .hc-ticket-route li + li { border-top: 1px dashed #d6dace; }
.hc-quality .hc-ticket-note { font-size: 11px; line-height: 1.65; color: var(--q-muted); margin: 0; border-top: 1px solid #d6dace; padding-top: 11px; }
.hc-quality .hc-brand > .hero h1 { max-width: 24ch; }
.hc-quality :is(.hc-code-detail, .hc-near-hotel) > .hero .split { gap: 44px; }
.hc-quality .hc-code-detail > .hero h1 { max-width: 17ch; }
.hc-quality .hc-guide > .hero { padding-block: 38px 40px; }
.hc-quality .hc-guide > .hero h1 { font-size: clamp(34px, 4.15vw, 51px); max-width: 26ch; }
.hc-quality .hc-guide > .hero .meta-line { margin-top: 22px; font-size: 12px; }
.hc-quality .crumbs { font-size: 12px; gap: 7px; color: var(--q-muted); }
.hc-quality .crumbs a { color: var(--q-muted); min-height: 44px; display: inline-flex; align-items: center; text-underline-offset: 4px; }
.hc-quality .crumbs a:hover { color: var(--q-teal); }
.hc-quality .crumbs [aria-current] { overflow-wrap: anywhere; }

/* Searching and reading are separate levels in the same reference system. */
.hc-quality :is(.hc-home, .hc-brand) > #directory { padding-top: 28px; }
.hc-quality .finder { position: relative; border: 1px solid var(--q-line-strong); border-top: 3px solid var(--q-teal); border-radius: 8px; background: var(--q-surface); padding: 23px 24px 19px; box-shadow: var(--q-shadow); transition: border-color 180ms var(--q-ease), box-shadow 180ms var(--q-ease); }
.hc-quality .finder:focus-within { border-color: var(--q-teal); box-shadow: 0 0 0 3px rgb(36 88 77 / 8%); }
.hc-quality .finder-row { gap: 14px; }
.hc-quality .field label { font-size: 12px; font-weight: 650; color: var(--q-ink); margin-bottom: 2px; }
.hc-quality :is(.field input, .field select, .near-finder-search input, .ai-input, .manualcopy input) { border-color: var(--q-line-strong); border-radius: 5px; background: #fff; min-height: 48px; transition: border-color 180ms var(--q-ease), box-shadow 180ms var(--q-ease); }
.hc-quality :is(.field input, .field select, .near-finder-search input, .ai-input, .manualcopy input):focus { border-color: var(--q-teal); outline: 2px solid var(--q-teal); outline-offset: 2px; box-shadow: none; }
.hc-quality .field input::placeholder { color: #657572; opacity: 1; }
.hc-quality .finder-meta { margin-top: 16px; color: var(--q-muted); font-size: 12px; gap: 8px 20px; }
.hc-quality .finder-meta b { font: 600 13px/1.4 var(--mono); color: var(--q-teal); }
.hc-quality .finder-meta > a { color: var(--q-teal); text-decoration: underline; text-underline-offset: 4px; }
.hc-quality .hc-search-shortcut { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; color: var(--q-muted); font-size: 11px; }
.hc-quality .hc-search-shortcut kbd { display: inline-flex; align-items: center; justify-content: center; min-width: 21px; min-height: 22px; border: 1px solid var(--q-line-strong); border-radius: 3px; background: #f5f6ef; padding: 2px 5px; font: 11px/1 var(--mono); box-shadow: 0 1px 0 var(--q-line-strong); }
.hc-quality .directory-intro { display: flex; align-items: baseline; justify-content: space-between; gap: 10px 28px; margin: 27px 0 14px; }
.hc-quality .directory-intro h2 { font-family: var(--sans); font-size: 15px; line-height: 1.5; font-weight: 650; letter-spacing: -.01em; }
.hc-quality .directory-intro p { max-width: 56ch; color: var(--q-muted); font-size: 12px; }
.hc-quality .tablewrap { border-color: var(--q-line); border-radius: 8px; background: var(--q-surface); }
.hc-quality table.dir { font-size: 14px; }
.hc-quality table.dir caption { color: var(--q-muted); border-color: var(--q-line); padding-block: 13px; font-size: 11px; letter-spacing: .015em; background: var(--q-tint); }
.hc-quality table.dir th { border-color: var(--q-line); background: var(--q-tint); color: var(--q-muted); font-size: 9px; letter-spacing: .09em; padding-block: 12px; font-weight: 600; }
.hc-quality table.dir td { border-color: #e6e6dc; padding-block: 14px; }
.hc-quality table.dir td.c-org a { color: var(--q-ink); font-weight: 600; }
.hc-quality table.dir td.c-org a:hover { color: var(--q-teal); text-underline-offset: 4px; }
.hc-quality table.dir td.c-brand a { color: var(--q-muted); }
.hc-quality table.dir td.c-status { font-size: 11px; color: var(--q-muted); }
.hc-quality table.dir tbody tr { transition: background-color 140ms var(--q-ease); }
.hc-quality table.dir tbody tr:hover { background: #f1f4ed; }
.hc-quality table.dir tbody tr:focus-within { background: var(--q-teal-soft); }
.hc-quality .tablefoot { border-color: var(--q-line); background: var(--q-tint); color: var(--q-muted); font-size: 12px; }
.hc-quality .code { background: var(--q-gold-soft); color: var(--q-ink); border-color: #d7c7a3; border-radius: 3px; padding: 3px 8px; font-size: 13px; letter-spacing: .025em; }
.hc-quality .code-xl { font-size: clamp(30px, 4.7vw, 44px); line-height: 1.2; color: var(--q-teal); letter-spacing: -.015em; margin-top: 13px; }
.hc-quality :is(.codepanel, .samplecard) { border-radius: 8px; border-color: var(--q-line-strong); background: var(--q-surface); box-shadow: var(--q-shadow); }
.hc-quality .codepanel { border-top: 3px solid var(--q-teal); padding: 25px; }
.hc-quality .codepanel-top .eyebrow { font-size: 9px; }
.hc-quality .codepanel .codepanel-top .eyebrow::before { display: none; }
.hc-quality .pill { font-size: 10px; font-weight: 600; padding: 5px 9px; }
.hc-quality .pill-ref { color: var(--q-teal); background: var(--q-teal-soft); border-color: #c8d6c8; }
.hc-quality .facts { border-color: var(--q-line); border-radius: 5px; background: var(--q-line); gap: 1px; }
.hc-quality .facts div { background: #f8f8f2; padding: 15px; min-width: 0; }
.hc-quality .facts dt { color: var(--q-muted); font-size: 11px; letter-spacing: .055em; font-weight: 550; }
.hc-quality .facts dd { font-size: 14px; overflow-wrap: anywhere; }
.hc-quality :is(.facts dd.unset, .ai-count, .ai-hint, .ai-foot, .ai-empty, .ai-ctx) { color: var(--q-muted); }
.hc-quality .copyhint { font-size: 12px; line-height: 1.7; }

/* Small, deliberate responses reward intent without introducing motion debt. */
.hc-quality .btn { min-height: 46px; border-radius: 5px; padding: 10px 18px; font-size: 14px; line-height: 1.4; font-weight: 600; transition: background-color 180ms var(--q-ease), border-color 180ms var(--q-ease), color 180ms var(--q-ease), box-shadow 180ms var(--q-ease), transform 180ms var(--q-ease); }
.hc-quality .btn-sm { min-height: 44px; padding: 8px 13px; font-size: 12px; }
.hc-quality .btn-primary { color: #fff; background: var(--q-teal); border-color: var(--q-teal); }
.hc-quality .btn-primary:hover { color: #fff; background: var(--q-teal-hover); border-color: var(--q-teal-hover); box-shadow: 0 3px 8px rgb(23 45 54 / 9%); }
.hc-quality .btn-ghost { background: transparent; border-color: var(--q-line-strong); color: var(--q-teal); }
.hc-quality .btn-ghost:hover { background: var(--q-teal-soft); color: var(--q-teal-hover); border-color: var(--q-teal); }
.hc-quality .btn:active:not(:disabled):not([aria-disabled="true"]) { transform: translateY(1px); box-shadow: none; }
.hc-quality .btn.hc-copy-success { color: #fff; background: #285b3e; border-color: #285b3e; box-shadow: 0 0 0 3px rgb(40 91 62 / 12%); }
.hc-quality .btn:disabled, .hc-quality .btn[aria-disabled="true"] { opacity: .65; }
.hc-quality :is(.brand-card, a.card, .minicode, .hotel, .near-result) { transition: border-color 180ms var(--q-ease), background-color 180ms var(--q-ease), box-shadow 180ms var(--q-ease), transform 180ms var(--q-ease); }
.hc-quality :is(.brand-card, .card, .minicode, .office, .hotel, .near-result) { border-color: var(--q-line); background: var(--q-surface); border-radius: 6px; }
.hc-quality .brand-grid { gap: 0; border: 1px solid var(--q-line); border-radius: 6px; overflow: hidden; background: var(--q-line); grid-template-columns: repeat(5, minmax(0, 1fr)); }
.hc-quality .brand-card { padding: 22px; border: 0; border-radius: 0; outline-offset: -4px; min-height: 94px; box-shadow: inset -1px -1px var(--q-line); position: relative; }
.hc-quality .brand-card::after { content: "↗"; position: absolute; top: 16px; right: 15px; font-size: 13px; color: #78877c; opacity: 0; transform: translate(-2px, 2px); transition: transform 180ms var(--q-ease), opacity 180ms var(--q-ease); }
.hc-quality .brand-card b { font-family: var(--serif); font-size: 20px; font-weight: 600; letter-spacing: -.02em; }
.hc-quality .brand-card span { color: var(--q-muted); font: 10px/1.7 var(--mono); }
.hc-quality .brand-card:hover { background: var(--q-teal-soft); }
.hc-quality .brand-card:hover::after, .hc-quality .brand-card:focus-visible::after { opacity: 1; transform: translate(0, 0); }
.hc-quality .cardgrid { gap: 16px; }
.hc-quality .card { padding: 23px; }
.hc-quality .card p { font-size: 13px; line-height: 1.65; color: var(--q-muted); }
.hc-quality .card h3 { margin-bottom: 10px; }
.hc-quality a.card { color: var(--q-ink); }
.hc-quality :is(a.card, .minicode):hover { color: var(--q-ink); border-color: var(--q-line-strong); background: #f6f8f2; box-shadow: var(--q-shadow); }
.hc-quality a.card:hover h3 { color: var(--q-teal); }
.hc-quality .minicode { padding: 18px; }
.hc-quality .minicode .mb { font-size: 9px; color: var(--q-teal); }
.hc-quality .minicode .mo { font-size: 16px; }
.hc-quality .hc-guide-index .card { padding: 25px; min-height: 152px; display: flex; flex-direction: column; justify-content: space-between; border-top: 2px solid #bdc9b9; }
.hc-quality .hc-guide-index .card h2 { font-size: 23px; line-height: 1.35; letter-spacing: -.014em; }
.hc-quality .hc-guide-index .card .meta-line { padding-top: 16px; font: 10px/1.7 var(--mono); color: var(--q-muted); }
.hc-quality .hc-guide-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.hc-quality .hc-guide-card { gap: 14px; }
.hc-quality .hc-guide-topic { display: inline-flex; align-items: center; align-self: start; gap: 8px; color: var(--q-teal); font: 600 10px/1.6 var(--mono); text-transform: uppercase; letter-spacing: .1em; }
.hc-quality .hc-guide-topic::before { content: ""; width: 12px; height: 2px; background: var(--q-gold); }
.hc-quality .hc-guide-summary { color: var(--q-muted); font-size: 13px; line-height: 1.7; max-width: 64ch; }
.hc-quality .hc-guide-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 17px; border-top: 1px solid var(--q-line); color: var(--q-muted); }
.hc-quality .hc-guide-card-footer .meta-line { padding: 0; margin: 0; }
.hc-quality .hc-guide-card-footer > :last-child:not(.meta-line) { color: var(--q-teal); font: 600 12px/1.4 var(--sans); white-space: nowrap; }
.hc-quality .hc-guide-grid .hc-guide-card-featured { grid-column: span 2; background: #f0f3e9; border-top-color: var(--q-teal); padding: 30px; }
.hc-quality .hc-guide-grid .hc-guide-card-featured h2 { font-size: clamp(26px, 2.7vw, 34px) !important; max-width: 26ch; line-height: 1.19; }
.hc-quality .hc-guide-grid .hc-guide-card-featured .hc-guide-summary { font-size: 15px; }
.hc-quality .hc-near-hub .company-card { min-height: 96px; gap: 7px; }
.hc-quality .company-card .company-name { font-family: var(--serif); font-size: 20px; font-weight: 600; letter-spacing: -.01em; }
.hc-quality .company-card .company-count { font: 10px/1.7 var(--mono); color: var(--q-muted); }
.hc-quality .hotel { padding: 0; }
.hc-quality .hotel-link { padding: 19px 22px; min-height: 92px; }
.hc-quality .hotel-link:hover { background: var(--q-teal-soft); }
.hc-quality .hotel .h-name { font-family: var(--serif); font-size: 22px; line-height: 1.3; }
.hc-quality .hotel .h-sub { font-size: 12px; line-height: 1.65; color: var(--q-muted); }
.hc-quality .hotel .dist { font-size: 12px; color: var(--q-teal); }
.hc-quality .office { border-left: 3px solid var(--q-gold); padding: 20px 22px; }
.hc-quality .office h2 { font-size: 21px; }
.hc-quality .office p { font-size: 12px; color: var(--q-muted); }
.hc-quality .near-finder-panel { border-top: 3px solid var(--q-teal); border-color: var(--q-line-strong); border-top-color: var(--q-teal); border-radius: 8px; background: var(--q-surface); box-shadow: var(--q-shadow); }
.hc-quality :is(.near-finder-description, .near-finder-privacy, .near-result-address, .near-results-note) { color: var(--q-muted); }
.hc-quality .near-result-more summary { min-height: 44px; color: var(--q-teal); }
.hc-quality .near-result-record a { min-height: 44px; display: inline-flex; align-items: center; color: var(--q-teal); text-underline-offset: 4px; }
.hc-quality .near-result { border-left: 2px solid #bbcaba; padding: 20px; }

/* Reading keeps a comfortable measure; wide comparisons retain every column. */
.hc-quality .hc-guide > .sec { padding-top: 38px; }
.hc-quality .hc-guide .split { grid-template-columns: minmax(0, 1fr) minmax(0, 280px); gap: 64px; }
.hc-quality .prose { max-width: 68ch; font-size: 17px; line-height: 1.78; color: #334746; }
.hc-quality .prose > p:first-child { color: var(--q-ink); font-size: 19px; line-height: 1.65; margin-bottom: 26px; }
.hc-quality .prose h2 { margin: 38px 0 14px; font-size: clamp(25px, 2.4vw, 30px); line-height: 1.22; }
.hc-quality .prose h3 { margin: 27px 0 11px; font-size: 22px; }
.hc-quality .prose p { margin-bottom: 19px; }
.hc-quality .prose li { margin-bottom: 9px; padding-left: 3px; }
.hc-quality .prose li::marker { color: var(--q-gold); }
.hc-quality .prose a { color: var(--q-teal); text-decoration: underline; text-decoration-color: #a4b8aa; text-decoration-thickness: 1px; text-underline-offset: 3px; overflow-wrap: anywhere; }
.hc-quality .prose a:hover { color: var(--q-teal-hover); text-decoration-color: var(--q-teal); }
.hc-quality .prose blockquote { border-color: var(--q-gold); background: #f3f2e9; padding: 17px 21px; font-style: normal; border-radius: 0 4px 4px 0; }
.hc-quality .hc-guide .split > aside { padding-left: 22px; border-left: 1px solid var(--q-line); }
.hc-quality .hc-guide .split > aside > h2 { font-family: var(--sans); font-size: 13px !important; letter-spacing: .01em; }
.hc-quality .hc-guide .split > aside .card { padding: 17px; box-shadow: none; }
.hc-quality .hc-guide .split > aside .card h3 { font-size: 18px; line-height: 1.35; }
.hc-quality .hc-guide .split > aside .meta-line { font-size: 10px; margin-top: 9px; }
.hc-quality .hc-guide .split > aside .callout { border-left-width: 2px; padding: 16px; }
.hc-quality .hc-guide .split > aside .callout ul { padding-left: 18px; margin-bottom: 0; }
.hc-quality .hc-guide .split > aside :is(a, p) { font-size: 13px; line-height: 1.65; }
.hc-quality .hc-table-scroll { border-color: var(--q-line-strong); border-radius: 5px; scrollbar-color: #758b7f #e6ebe2; scrollbar-width: thin; }
.hc-quality .hc-reviewed-guide .prose .hc-table-scroll :is(th, td) { border-color: var(--q-line); padding: 15px; line-height: 1.6; font-size: 14px; }
.hc-quality .hc-reviewed-guide .prose .hc-table-scroll thead th { color: var(--q-ink); background: #e9eee4; font-weight: 650; }
.hc-quality .hc-reviewed-guide .prose .hc-table-scroll tbody th { background: #f3f4eb; color: var(--q-ink); }
.hc-quality .prose table caption { padding: 12px 15px; font-size: 12px; text-align: left; background: var(--q-tint); color: var(--q-muted); }
.hc-quality :is(.hc-comparison-hint, .hc-table-hint) { color: var(--q-muted); font-size: 12px; line-height: 1.6; }
.hc-quality .hc-table-hint { border-color: var(--q-teal); background: var(--q-teal-soft); }
.hc-quality .hc-table-scroll[data-hc-at-end] { border-right-color: var(--q-teal); }
.hc-quality .hc-article-nav { margin: 0 0 26px; padding: 0 0 17px; border-bottom: 1px solid var(--q-line); }
.hc-quality .hc-article-nav summary { display: flex; align-items: center; position: relative; min-height: 44px; padding: 10px 28px 10px 0; cursor: pointer; list-style: none; color: var(--q-teal); font: 600 11px/1.5 var(--mono); letter-spacing: .075em; text-transform: uppercase; }
.hc-quality .hc-article-nav summary::-webkit-details-marker { display: none; }
.hc-quality .hc-article-nav summary::after { content: "+"; position: absolute; right: 0; font: 17px/1 var(--mono); color: var(--q-teal); }
.hc-quality .hc-article-nav details[open] > summary::after { content: "−"; }
.hc-quality .hc-article-nav ol { list-style: none; padding: 0; margin: 2px 0 0; }
.hc-quality .hc-article-nav li + li { border-top: 1px solid #e9e9df; }
.hc-quality .hc-article-nav li a { display: flex; align-items: center; min-height: 44px; padding-block: 10px; font-size: 12px; line-height: 1.5; color: var(--q-muted); text-decoration: none; text-underline-offset: 3px; }
.hc-quality .hc-article-nav li a:hover { color: var(--q-teal); text-decoration: underline; }
.hc-quality .hc-reading-progress { height: 2px; width: 100%; position: absolute; left: 0; bottom: -1px; transform: scaleX(0); transform-origin: left center; background: var(--q-gold); pointer-events: none; }
.hc-quality .hc-backtop { position: fixed; right: max(20px, env(safe-area-inset-right, 0px)); bottom: max(20px, env(safe-area-inset-bottom, 0px)); z-index: 45; min-width: 46px; min-height: 46px; border: 1px solid var(--q-line-strong); border-radius: 5px; background: var(--q-surface); color: var(--q-teal); box-shadow: 0 3px 15px rgb(23 45 54 / 9%); font: 600 16px/1 var(--sans); display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding-inline: 12px; cursor: pointer; }
.hc-quality .hc-backtop > span:first-child { font-size: 16px; }
.hc-quality .hc-backtop > span:last-child { font-size: 12px; }
.hc-quality .hc-backtop:hover { background: var(--q-teal-soft); border-color: var(--q-teal); }

/* Guidance and disclosures have a visible hierarchy, not marketing decoration. */
.hc-quality :is(.callout, .hc-document-note) { border-color: var(--q-line); border-left-color: var(--q-teal); background: var(--q-tint); color: #435655; border-radius: 0 5px 5px 0; }
.hc-quality .callout a { color: var(--q-teal); text-decoration: underline; text-underline-offset: 3px; }
.hc-quality .hc-archive-context { border-left-color: var(--q-gold); font-size: 13px; padding: 16px 20px; margin-bottom: 30px; }
.hc-quality ol.steps { gap: 16px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hc-quality ol.steps li { border-radius: 5px; border-color: var(--q-line); background: var(--q-surface); padding: 23px; border-top: 2px solid #b9c8b6; }
.hc-quality ol.steps li::before { font-size: 11px; color: var(--q-teal); margin-bottom: 15px; }
.hc-quality ol.steps h3 { font-size: 21px; line-height: 1.25; margin-bottom: 11px; }
.hc-quality ol.steps p { color: var(--q-muted); font-size: 13px; line-height: 1.65; }
.hc-quality .record-checks { padding-block: 33px; }
.hc-quality .checklist { line-height: 1.75; color: #435655; }
.hc-quality .booking-steps-link { color: var(--q-teal); text-decoration: underline; text-underline-offset: 4px; }
.hc-quality .hc-record-guide-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 16px; gap: 9px; color: var(--q-teal); font-size: 13px; text-decoration: underline; text-decoration-color: #a4b8aa; text-underline-offset: 4px; }
.hc-quality .hc-record-guide-link:hover { color: var(--q-teal-hover); text-decoration-color: var(--q-teal); }
.hc-quality .faq { border-color: var(--q-line); }
.hc-quality .faq details { border-color: var(--q-line); }
.hc-quality .faq summary { font-size: 17px; padding-block: 21px; padding-right: 38px; color: var(--q-ink); transition: color 180ms var(--q-ease), background-color 180ms var(--q-ease); }
.hc-quality .faq summary::after { color: var(--q-teal); font-size: 19px; }
.hc-quality .faq details[open] summary { color: var(--q-teal); }
.hc-quality .faq .ans { color: var(--q-muted); padding-bottom: 22px; font-size: 15px; line-height: 1.75; }
.hc-quality :is(.record-example, .archive-versions) summary { color: var(--q-teal); min-height: 48px; }
.hc-quality .archive-versions { border-color: var(--q-line); }
.hc-quality .archive-versions li { color: var(--q-muted); }
.hc-quality :is(.ai, .fb, .ai-entry) { border-color: var(--q-line); border-radius: 8px; background: var(--q-surface); }
.hc-quality .ai-entry { border-left: 3px solid var(--q-teal); padding: 24px; gap: 20px; }
.hc-quality .ai-entry b { font-size: 23px; margin-bottom: 8px; }
.hc-quality .ai-entry p { font-size: 13px; line-height: 1.7; color: var(--q-muted); }
.hc-quality .fb-opt { border-color: var(--q-line-strong); border-radius: 5px; }
.hc-quality .fb-opt input { accent-color: var(--q-teal); }
.hc-quality .fb-opt:hover { border-color: var(--q-teal); background: var(--q-teal-soft); }
.hc-quality .fb-opt:has(input:checked) { border-color: var(--q-teal); background: var(--q-teal-soft); box-shadow: inset 0 0 0 1px var(--q-teal); }
.hc-quality .ai-chip { min-height: 44px; color: var(--q-teal); border-color: var(--q-line-strong); background: var(--q-surface); border-radius: 5px; }
.hc-quality .ai-chip:hover { border-color: var(--q-teal); background: var(--q-teal-soft); }
.hc-quality .ai-log { border-color: var(--q-line); background: #f2f4ec; }
.hc-quality .ai-user .ai-body { border-color: #c7d6c8; background: var(--q-teal-soft); }

/* An ink-colored colophon gives a long page a considered, calm ending. */
.hc-quality .site-foot { background: var(--q-navy); border-top: 3px solid var(--q-gold); color: #d4ddd7; padding-top: 42px; }
.hc-quality .hc-footer-masthead { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 5px 26px; padding-bottom: 24px; margin-bottom: 28px; border-bottom: 1px solid #3b5058; }
.hc-quality .hc-footer-wordmark { display: inline-flex; align-items: baseline; min-height: 44px; font: 600 26px/1.35 var(--serif); letter-spacing: -.035em; color: #fffefb; }
.hc-quality .hc-footer-wordmark:hover { color: #fff; text-decoration: none; }
.hc-quality .hc-footer-wordmark > span { color: #d7b474; font-size: 31px; }
.hc-quality .hc-footer-masthead > p { color: #c3cfca; font-size: 12px; line-height: 1.7; margin: 0; }
.hc-quality .foot-grid { grid-template-columns: 1fr 1fr 1.4fr; gap: 48px; }
.hc-quality .foot-grid h4 { color: #d7c49b; font-size: 10px; letter-spacing: .12em; font-weight: 600; margin-bottom: 17px; }
.hc-quality .foot-grid a { color: #e3eae4; display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; text-underline-offset: 4px; }
.hc-quality .foot-grid ul { gap: 0; }
.hc-quality .foot-grid a:hover { color: #fff; }
.hc-quality .site-foot :focus-visible { outline-color: #d7c49b; }
.hc-quality .foot-base { border-color: #3b5058; color: #c3cfca; margin-top: 27px; padding-top: 23px; font-size: 11px; line-height: 1.7; gap: 12px 24px; }
.hc-quality .foot-base span:last-child { max-width: 58ch; }

/* Hover elevation is only used when a pointer can actually hover. */
@media (hover: hover) and (pointer: fine) {
  .hc-quality :is(a.card, .minicode):hover { transform: translateY(-2px); box-shadow: var(--q-shadow-raised); }
}
@media (max-width: 1100px) {
  .hc-quality .mainnav a { padding-inline: 10px; font-size: 12px; }
  .hc-quality .hc-guide .split { gap: 36px; grid-template-columns: minmax(0, 1fr) minmax(0, 252px); }
  .hc-quality .hc-home > .hero .split { gap: 30px; grid-template-columns: minmax(0, 1fr) minmax(0, 315px); }
  .hc-quality .hc-ticket-route li { font-size: 18px; }
  .hc-quality .brand-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .hc-quality .brand-card { padding: 20px 17px; }
  .hc-quality table.dir th, .hc-quality table.dir td { padding-inline: 13px; }
}
@media (max-width: 900px) {
  .hc-quality :is(.wrap, .head-in) { padding-inline: 24px; }
  .hc-quality .head-in { min-height: 68px; }
  .hc-quality .brandmark { font-size: 21px; }
  .hc-quality .mainnav { padding-top: 10px; gap: 3px; }
  .hc-quality .mainnav a { font-size: 15px; width: 100%; padding: 12px; }
  .hc-quality .mainnav a:is([aria-current="page"], .is-current) { box-shadow: inset 2px 0 var(--q-teal); }
  .hc-quality .hc-home > .hero { padding-block: 28px; }
  .hc-quality .hc-home > .hero .split { grid-template-columns: minmax(0, 1fr) minmax(0, 265px); gap: 26px; }
  .hc-quality .hc-home > .hero h1 { font-size: clamp(35px, 5vw, 44px); }
  .hc-quality .hc-home > .hero .lede { font-size: 16px; line-height: 1.6; }
  .hc-quality .hc-home > .hero .statline { display: none; }
  .hc-quality .hc-reference-ticket { padding: 18px; }
  .hc-quality .hc-ticket-top { font-size: 9px; }
  .hc-quality .hc-ticket-top small { font-size: 9px; }
  .hc-quality .hc-ticket-route li { font-size: 17px; gap: 10px; }
  .hc-quality .hc-ticket-route li strong { font-size: 17px; }
  .hc-quality .hc-guide .split { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .hc-quality .hc-guide .split > aside { padding: 28px 0 0; border-left: 0; border-top: 1px solid var(--q-line); }
  .hc-quality .hc-article-nav { padding: 0 15px; border: 1px solid var(--q-line-strong); border-radius: 5px; background: var(--q-surface); margin-bottom: 24px; }
  .hc-quality .hc-article-nav ol { border-top: 1px solid var(--q-line); padding-bottom: 6px; margin-top: 0; }
  .hc-quality .hc-guide .split > aside .cardgrid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .hc-quality .hc-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .hc-quality ol.steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hc-quality .brand-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hc-quality .directory-intro { display: block; }
  .hc-quality .directory-intro h2 { margin-bottom: 4px; }
  .hc-quality :is(.hc-code-detail, .hc-near-hotel) > .hero .split { gap: 25px; }
  .hc-quality .hc-code-detail > .hero h1 { max-width: 25ch; }
}
@media (max-width: 760px) {
  .hc-quality .sec { padding-block: 34px; }
  .hc-quality .hero { padding-block: 27px; }
  .hc-quality h1 { font-size: clamp(31px, 6.6vw, 43px); }
  .hc-quality .hc-home > .hero { padding-block: 23px 21px; background: #fffefb; }
  .hc-quality .hc-home > .hero .split { display: block; }
  .hc-quality .hc-home > .hero .eyebrow { display: block; font-size: 9px; margin-bottom: 9px; }
  .hc-quality .hc-home > .hero h1 { font-size: clamp(34px, 6.8vw, 43px); line-height: 1.1; letter-spacing: -.037em; max-width: 24ch; margin-bottom: 11px; }
  .hc-quality .hc-home > .hero .lede { font-size: 15px; line-height: 1.55; max-width: 48ch; }
  .hc-quality .hc-reference-ticket { box-shadow: none; border: 0; border-top: 1px solid var(--q-line); border-radius: 0; padding: 11px 0 0; margin-top: 15px; background: none; }
  .hc-quality .hc-reference-ticket::before { display: none; }
  .hc-quality .hc-ticket-top { display: none; }
  .hc-quality .hc-ticket-route { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 0; }
  .hc-quality .hc-ticket-route li { font: 500 11px/1.6 var(--sans); padding-block: 0; gap: 5px; }
  .hc-quality .hc-ticket-route li + li { border-top: 0; }
  .hc-quality .hc-ticket-route li > span { font-size: 9px; }
  .hc-quality .hc-ticket-route li strong { font: 500 11px/1.6 var(--sans); }
  .hc-quality .hc-ticket-route li small { display: none; }
  .hc-quality .hc-ticket-note { display: none; }
  .hc-quality :is(.hc-home, .hc-brand) > #directory { padding-top: 20px; }
  .hc-quality .finder { padding: 18px; border-radius: 6px; }
  .hc-quality .finder-row { gap: 11px; }
  .hc-quality .field label { font-size: 11px; margin-bottom: 1px; }
  .hc-quality .finder-meta { margin-top: 12px; gap: 4px 16px; }
  .hc-quality .finder-meta > a { flex-basis: auto; min-height: 44px; }
  .hc-quality .hc-search-shortcut { display: none; }
  .hc-quality .hc-home .finder-row > .btn { min-height: 48px; min-width: 111px; padding-inline: 13px; font-size: 13px; }
  .hc-quality .hc-home #directory > .wrap > .sec-head { margin-top: 23px !important; }
  .hc-quality .directory-intro { margin-block: 23px 11px; }
  .hc-quality .directory-intro h2 { font-size: 14px; }
  .hc-quality .directory-intro p { font-size: 11px; }
  .hc-quality table.dir tr { padding: 15px 18px; border-color: var(--q-line); }
  .hc-quality table.dir tbody tr:not(.emptyrow) { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; row-gap: 3px; }
  .hc-quality table.dir td { padding-block: 3px; }
  .hc-quality table.dir td.c-org { grid-column: 1 / -1; padding-top: 0; font-size: 20px; font-family: var(--serif); }
  .hc-quality table.dir td.c-org a { line-height: 1.25; min-height: 44px; }
  .hc-quality table.dir td.c-brand { grid-column: 1; grid-row: 2; padding: 0; align-self: center; white-space: normal; }
  .hc-quality table.dir td.c-brand a { font-size: 12px; min-height: 44px; }
  .hc-quality table.dir td:has(.directory-code) { grid-column: 2; grid-row: 2; align-self: center; padding: 0; width: auto; }
  .hc-quality .hc-brand table.dir td:has(.directory-code) { grid-column: 1 / -1; }
  .hc-quality table.dir td.c-status { grid-column: 1; grid-row: 3; align-self: center; padding-block: 4px 0; font-size: 11px; line-height: 1.45; }
  .hc-quality table.dir td.c-act { grid-column: 2; grid-row: 3; padding-top: 4px; width: auto; }
  .hc-quality table.dir td.c-act .btn { width: auto; min-width: 84px; }
  .hc-quality .directory-code { gap: 7px; justify-content: flex-end; }
  .hc-quality .hc-brand .directory-code { justify-content: flex-start; }
  .hc-quality .directory-code .code { min-height: 44px; font-size: 14px; padding-inline: 10px; }
  .hc-quality .directory-code .btn-sm { padding-inline: 11px; }
  .hc-quality .tablefoot { padding: 15px 18px; }
  .hc-quality .brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hc-quality .brand-card { min-height: 93px; padding: 19px; }
  .hc-quality .brand-card::after { opacity: 1; transform: none; }
  .hc-quality .cardgrid { gap: 12px; }
  .hc-quality .card { padding: 20px; }
  .hc-quality .hc-guide-index .card { min-height: 139px; padding: 21px; }
  .hc-quality .hc-guide-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .hc-quality .hc-guide-grid .hc-guide-card-featured { grid-column: auto; padding: 24px; }
  .hc-quality .hc-guide-grid .hc-guide-card-featured h2 { font-size: 27px !important; }
  .hc-quality .hc-guide-grid .hc-guide-card-featured .hc-guide-summary { font-size: 14px; }
  .hc-quality .hc-near-hub .company-card { padding: 19px; min-height: 85px; }
  .hc-quality .near-finder-panel { padding: 20px; }
  .hc-quality .hotel-link { padding: 19px; }
  .hc-quality .hotel .h-name { font-size: 20px; }
  .hc-quality .office { padding: 18px; }
  .hc-quality .hc-guide > .hero { padding-block: 28px; }
  .hc-quality .hc-guide > .hero h1 { font-size: clamp(32px, 6.7vw, 40px); letter-spacing: -.03em; }
  .hc-quality .hc-guide > .hero .meta-line { margin-top: 17px; font-size: 11px; }
  .hc-quality .hc-guide > .sec { padding-top: 27px; }
  .hc-quality .prose { font-size: 16px; line-height: 1.75; }
  .hc-quality .prose > p:first-child { font-size: 17px; line-height: 1.7; margin-bottom: 23px; }
  .hc-quality .prose h2 { font-size: 26px; margin-top: 32px; }
  .hc-quality .prose h3 { font-size: 21px; }
  .hc-quality .prose p { margin-bottom: 17px; }
  .hc-quality .hc-reviewed-guide .prose .hc-table-scroll :is(th, td) { padding: 12px; font-size: 13px; }
  .hc-quality .hc-guide .split > aside .cardgrid { grid-template-columns: minmax(0, 1fr) !important; }
  .hc-quality .codepanel { padding: 21px; }
  .hc-quality .facts div { padding: 13px; }
  .hc-quality .facts dt { font-size: 11px; }
  .hc-quality .facts dd { font-size: 13px; }
  .hc-quality ol.steps li { padding: 20px; }
  .hc-quality ol.steps h3 { font-size: 20px; }
  .hc-quality .record-checks { padding-block: 27px; }
  .hc-quality .checklist { font-size: 14px; line-height: 1.75; }
  .hc-quality .faq summary { padding-block: 18px; font-size: 16px; }
  .hc-quality .faq .ans { font-size: 14px; }
  .hc-quality :is(.ai-entry, .ai, .fb) { padding: 20px; }
  .hc-quality .ai-entry .btn { width: 100%; }
  .hc-quality .foot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 27px 24px; }
  .hc-quality .foot-grid > div:last-child { grid-column: 1 / -1; }
  .hc-quality .foot-grid > div:last-child ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
  .hc-quality .foot-base { flex-direction: column; }
  .hc-quality .hc-footer-masthead { display: block; padding-bottom: 21px; margin-bottom: 25px; }
  .hc-quality .hc-footer-wordmark { font-size: 25px; }
}
@media (max-width: 440px) {
  .hc-quality :is(.wrap, .head-in) { padding-inline: 18px; }
  .hc-quality .head-in { min-height: 64px; }
  .hc-quality .brandmark { font-size: 18px; gap: 7px; }
  .hc-quality .brandmark .bm { width: 29px; height: 22px; }
  .hc-quality .nav-toggle { font-size: 12px; padding-inline: 9px; gap: 5px; }
  .hc-quality .hc-home > .hero h1 { font-size: clamp(33px, 8.8vw, 38px); }
  .hc-quality .hc-ticket-route { gap: 3px 9px; }
  .hc-quality .hc-ticket-route li { font-size: 10px; }
  .hc-quality .hc-ticket-route li strong { font-size: 10px; }
  .hc-quality .finder { padding: 16px; }
  .hc-quality .finder-meta { font-size: 11px; }
  .hc-quality .hc-home .finder-row > .btn { min-width: 98px; font-size: 12px; padding-inline: 10px; }
  .hc-quality .hc-home .finder-row .field select { padding-inline: 10px; }
  .hc-quality ol.steps { grid-template-columns: minmax(0, 1fr); }
  .hc-quality .codepanel { padding: 18px; }
  .hc-quality .codepanel-top { gap: 8px; }
  .hc-quality .copyrow .btn { min-width: 0; width: 100%; flex-basis: 100%; }
  .hc-quality .near-finder-panel { padding: 18px; }
  .hc-quality .near-finder h2 { font-size: 24px; }
  .hc-quality .hc-backtop { right: 14px; bottom: max(14px, env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 350px) {
  .hc-quality :is(.wrap, .head-in) { padding-inline: 14px; }
  .hc-quality .brandmark { font-size: 16px; }
  .hc-quality .brandmark .bm { width: 27px; height: 20px; }
  .hc-quality .hc-home > .hero h1 { font-size: 33px; }
  .hc-quality .finder { padding: 14px; }
  .hc-quality .finder-row { column-gap: 8px; }
  .hc-quality .hc-home .finder-row > .btn { min-width: 90px; }
  .hc-quality .brand-card { padding-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .hc-quality *, .hc-quality *::before, .hc-quality *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
  .hc-quality :is(a.card, .minicode, .btn):hover, .hc-quality .btn:active:not(:disabled):not([aria-disabled="true"]) { transform: none; }
}
@media (forced-colors: active) {
  .hc-quality :is(.hc-reference-ticket, .btn, .code, .finder, .card, .minicode, .brand-card, .codepanel, .hc-backtop) { border: 1px solid CanvasText; }
  .hc-quality .mainnav a:is([aria-current="page"], .is-current) { outline: 1px solid Highlight; }
  .hc-quality .hc-reading-progress { background: Highlight; }
}
@media print {
  .hc-quality { background: #fff; color: #000; }
  .hc-quality .hc-backtop, .hc-quality .hc-reading-progress { display: none; }
  .hc-quality .site-head { position: static; box-shadow: none; }
  .hc-quality :is(.hero, .site-foot) { background: #fff; color: #000; }
  .hc-quality .site-foot :is(a, h4, .foot-base, .hc-footer-masthead > p) { color: #000; }
  .hc-quality .hc-guide .split { display: block; }
  .hc-quality .hc-guide .split > aside { border: 0; padding: 20px 0; }
}
