/* Food flavor library. Local, page-scoped styles; shared navigation is unchanged. */
@font-face {
  font-family: "STK Bureau Sans Book";
  src: url("../fonts/v7-breadcrumb-reference/stk-bureau-sans-book.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "STK Bureau Sans Book Placeholder";
  src: local("Arial");
  ascent-override: 102.67%;
  descent-override: 33.56%;
  line-gap-override: 7.90%;
  size-adjust: 101.30%;
}
html:has(.flavor-page) { background: #f2f7f7; scrollbar-gutter: stable; }
body.flavor-page {
  --fc-bg: #f2f7f7;
  --fc-inset-start: calc(max(var(--vfr-nav-gutter-sm), env(safe-area-inset-left, 0px)) + var(--vfr-layout-inset));
  --fc-inset-end: calc(max(var(--vfr-nav-gutter-sm), env(safe-area-inset-right, 0px)) + var(--vfr-layout-inset));
  --vfr-sticky-background: var(--fc-bg);
  --fc-ink: #292e2a;
  --fc-muted: #71766f;
  --fc-line: #e1e3dc;
  --fc-accent: #4d6654;
  --fc-tint: #eaf0e7;
  --fc-heading: var(--vfe-text-heading, #1a1e23);
  --fc-body: var(--vfe-text-body, #6e797b);
  --fc-surface: var(--vfc-card-bg, #fff);
  --fc-focus: var(--vfc-color-accent-accent-500, #397dff);
  --fc-control-border: var(--vfc-color-neutral-light-neutrals-light-200, #d4d7d7);
  --fc-row-border: var(--vfc-color-neutral-light-neutrals-light-100, #e2e4e5);
  --fc-media-radius: 12px;
  --fc-anchor-offset: 104px;
  --fc-row-shadow: 0 1px 3px #161a1e03, 0 1px 0 #161a1e05;
  --fc-row-shadow-hover: 0 4px 12px -6px #161a1e1f, 0 1px 3px #161a1e0a;
  padding-top: 0;
  background: var(--fc-bg);
  color: var(--fc-ink);
}
.flavor-page [hidden] { display: none !important; }
/* The offscreen skip link must not cast a shadow into the viewport on scroll. */
body.flavor-page > .skip-link:not(:focus) { box-shadow: none; }
.flavor-page :where(.fc-main, .fc-dialog) {
  /* Keep catalog typography local so the shared header matches index.html exactly. */
  --fc-regular-weight: 450;
  font-family: var(--font-sans);
  font-weight: var(--fc-regular-weight, 400);
}
.fc-main :where(h1,h2,h3,p), .fc-dialog :where(h2,p) { margin: 0; }
.fc-main button, .fc-dialog button { cursor: pointer; color: inherit; }
.fc-main :where(button,a,input):focus-visible, .fc-dialog :where(button,a):focus-visible {
  outline: 2px solid var(--fc-accent); outline-offset: 4px;
}
/* One shell owns the gutter; nested sections must not add it again. */
.fc-main {
  width: 100%;
  max-width: var(--vfr-layout-max);
  margin-inline: auto;
  padding-inline: var(--fc-inset-start) var(--fc-inset-end);
}
.fc-wrap {
  width: 100%;
  min-width: 0;
}
@media (min-width: 832px) {
  body.flavor-page {
    --fc-inset-start: calc(var(--vfr-layout-inset) + var(--vfr-logo-margin));
    --fc-inset-end: calc(var(--vfr-layout-inset) + var(--vfr-auth-padding) + var(--vfr-auth-border-width));
  }
}
/* Reference nav/ol/li/a markup with the existing V7 text UI preserved. */
.fc-breadcrumb {
  display: flex;
  flex: none;
  flex-flow: column;
  place-content: flex-start;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  height: min-content;
  margin: 0;
  padding: 0;
  position: relative;
  overflow: visible;
  color: #000;
  font-family: sans-serif;
  font-size: 12px;
  font-weight: var(--fc-regular-weight, 400);
  line-height: normal;
  letter-spacing: normal;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: rgba(0, 0, 0, .18);
}
.fc-breadcrumb .crumbs {
  display: flex;
  flex: none;
  flex-flow: row;
  place-content: center flex-start;
  align-items: center;
  gap: 7px;
  width: min-content;
  height: 28px;
  margin: 0;
  padding: 8px 0;
  list-style: none;
  letter-spacing: 0;
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  mix-blend-mode: luminosity;
  will-change: auto;
}
.fc-breadcrumb .crumbs > li {
  display: flex;
  flex: none;
  flex-direction: column;
  justify-content: flex-start;
  width: auto;
  height: auto;
  position: relative;
  white-space: nowrap;
  margin: 0;
  padding: 0;
  font-family: var(--vf-font-sans);
  font-size: 14px;
  font-style: normal;
  font-weight: var(--fc-regular-weight, 400);
  font-feature-settings: normal;
  font-variation-settings: normal;
  letter-spacing: 0;
  line-height: 1.4em;
  text-align: start;
  text-decoration: none;
  text-transform: none;
  color: #292929;
}
.fc-breadcrumb .crumbs > .crumb-sep,
.fc-breadcrumb .crumbs > li:last-child { color: #03030296; }
.fc-breadcrumb a {
  color: #292929;
  text-decoration: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-decoration-skip-ink: auto;
  transition: none;
  outline-offset: 0;
}
/* Keep the current-page link visually identical to the previous plain text. */
.fc-breadcrumb a[aria-current="page"] { color: inherit; }
/* The source has no separate pressed/visited animation; active inherits hover. */
.fc-breadcrumb a:not([aria-current="page"]):hover {
  color: #ff683d;
  text-decoration-line: underline;
}
/* Restore the source's native keyboard focus instead of the catalog's green ring. */
.fc-breadcrumb a:focus-visible { outline: revert; outline-offset: revert; }
.fc-breadcrumb ::selection { background: revert; color: revert; }
/* Breadcrumb and sections inherit the same aligned main content box. */
.fc-main > .fc-breadcrumb {
  margin-inline: 0;
  padding-inline: 0;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
/* Sidebar catalog: mobile first; desktop adds a persistent section index. */
.fc-hero { padding-block: var(--space-4) var(--space-10); }
.fc-hero-content { display: grid; gap: var(--space-6); align-items: center; }
.fc-hero-intro { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); min-width: 0; }
.fc-hero-title {
  font-family: var(--serim-font-editorial, "Chiron Sung HK Hero", "Noto Serif CJK KR", "Nanum Myeongjo", serif);
  font-size: clamp(2.5rem, 1.75rem + 3vw, 4rem);
  font-weight: var(--fc-regular-weight, 400); letter-spacing: -.05em; line-height: 1.2;
  color: var(--fc-heading); text-wrap: balance; word-break: keep-all; overflow-wrap: anywhere;
}
.fc-hero-dek { max-width: 32rem; color: var(--fc-body); font-size: 1rem; line-height: 1.6; word-break: keep-all; overflow-wrap: break-word; }
.fc-hero-media { min-width: 0; overflow: hidden; aspect-ratio: 2 / 1; border-radius: var(--fc-media-radius); }
.fc-hero-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fc-library { padding-bottom: 56px; }
.fc-catalog-layout { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: var(--space-10); }
.fc-sidebar { display: grid; gap: var(--space-6); min-width: 0; }
.fc-catalog-content { min-width: 0; }
/* Category anchors use the supplied pill-button reference. */
.fc-jump-nav {
  --fc-jump-ink: #0a0a0a;
  --fc-jump-muted: #6b6b6b;
  --fc-jump-line: #0a0a0a1a;
  --fc-jump-strong-line: rgb(10 10 10 / 30%);
  margin-top: 20px;
  color: var(--fc-body);
  font: var(--fc-regular-weight, 400) 14px/1.75 var(--font-ucity);
  letter-spacing: normal;
  text-align: left;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.fc-jump-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.fc-jump-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-sizing: border-box;
  height: 36px;
  margin: 0;
  padding: 0 16px;
  border: 1px solid var(--fc-jump-line);
  border-radius: var(--radius-pill, 9999px);
  color: var(--fc-jump-muted);
  background: var(--fc-surface);
  font: 575 .875rem/1.5 var(--vf-font-sans);
  letter-spacing: normal;
  white-space: nowrap;
  text-decoration: none;
  outline: none;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: color .15s cubic-bezier(.4, 0, .2, 1), background-color .15s cubic-bezier(.4, 0, .2, 1), border-color .15s cubic-bezier(.4, 0, .2, 1), outline-color .15s cubic-bezier(.4, 0, .2, 1), text-decoration-color .15s cubic-bezier(.4, 0, .2, 1), fill .15s cubic-bezier(.4, 0, .2, 1), stroke .15s cubic-bezier(.4, 0, .2, 1);
}
@media (hover: hover) {
  .fc-jump-link:hover {
    border-color: var(--fc-jump-strong-line);
    color: var(--fc-jump-ink);
  }
}
.fc-jump-link[aria-current="location"] {
  border-color: var(--fc-jump-ink);
  background-color: var(--fc-jump-ink);
  color: var(--fc-surface);
}
.fc-jump-nav .fc-jump-link:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--fc-jump-strong-line);
}
.fc-search-context { display: grid; justify-items: start; gap: var(--space-3); }
.fc-search-context p { font-size: .875rem; line-height: 1.6; color: var(--fc-body); }
.fc-reset { min-height: 44px; padding: var(--space-2) 0; border: 0; background: none; font: inherit; font-size: .875rem; text-decoration: underline; text-underline-offset: 4px; }
/* The search field keeps the original search/clear/keyboard-shortcut contract. */
.fc-search-form { width: 100%; min-width: 0; height: 48px; }
.fc-search-box {
  position: relative; width: 100%; height: 100%; color: var(--fc-body);
  --fc-search-stroke: var(--fc-control-border);
  background: var(--fc-surface); border: 0; border-radius: var(--radius-pill);
  box-shadow: 0 0 0 1px var(--fc-search-stroke);
  transition: box-shadow var(--duration-fast);
}
.fc-search-box:focus-within {
  --fc-search-stroke: var(--fc-focus);
  box-shadow: 0 0 0 2px var(--fc-search-stroke);
}
.fc-search-box input {
  display: block; width: 100%; min-width: 0; height: 100%; margin: 0;
  padding: 0 16px 0 44px; color: var(--fc-heading); background: transparent;
  border: 0; border-radius: inherit; outline: none; appearance: none; font: var(--fc-regular-weight, 400) 1rem/1.5 var(--font-sans);
}
.fc-search-box input:focus-visible { outline: none; }
.fc-search-box input::placeholder { color: var(--fc-body); opacity: 1; }
.fc-search-box input::-webkit-search-cancel-button,
.fc-search-box input::-webkit-search-decoration { display: none; }
.fc-search-icon { position: absolute; top: 50%; left: 14px; width: 22px; height: 22px; transform: translateY(-50%); pointer-events: none; }
.fc-search-box:has(input:not(:placeholder-shown)) .fc-search-icon { visibility: hidden; }
.fc-search-box .fc-clear {
  position: absolute; top: 50%; left: 2px; display: grid; place-items: center;
  width: 42px; height: 42px; padding: 0; color: var(--fc-body); background: transparent;
  border: 0; border-radius: var(--radius-pill); transform: translateY(-50%);
}
.fc-search-box .fc-clear:focus-visible { outline-offset: -4px; }
.fc-results-bar { margin-bottom: var(--space-5); }
.fc-results-bar p { color: var(--fc-body); font-size: .875rem; line-height: 1.6; overflow-wrap: anywhere; }
.fc-library:not(.is-searching) .fc-results-bar { display: none; }
.fc-group { scroll-margin-top: var(--fc-anchor-offset); }
.fc-group:focus, .fc-group-heading h2:focus { outline: none; }
.fc-group + .fc-group { margin-top: var(--space-10); }
.fc-group-heading { display: flex; align-items: baseline; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2) var(--space-4); margin-bottom: var(--space-4); }
.fc-group-heading h2 {
  color: var(--fc-heading);
  font-family: var(--vf-font-sans);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  word-break: keep-all;
}
.fc-group-meta { color: var(--fc-body); font-size: .75rem; line-height: 1.5; }
.fc-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-3); padding: 0; margin: 0; list-style: none; }
.fc-grid-item {
  min-width: 0;
  height: 64px;
  font-family: var(--vf-font-sans);
}
.fc-card {
  display: grid; grid-template-columns: 88px minmax(0, 1fr) auto 16px;
  align-items: center; gap: var(--space-2); width: 100%; height: 100%; min-width: 0; min-height: 0;
  margin: 0; padding: var(--space-2); border: 0;
  border-radius: var(--vfc-card-radius); background: var(--fc-surface);
  font-family: inherit; font-size: .875rem; font-weight: var(--fc-regular-weight, 400); line-height: 1.5;
  text-align: left; box-shadow: var(--fc-row-shadow);
  transition: border-color var(--duration-fast), box-shadow var(--duration-fast), background-color var(--duration-fast);
}
.fc-card-image { display: block; width: 88px; height: 100%; overflow: hidden; border-radius: var(--radius-xs); }
.fc-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fc-card-copy { display: grid; gap: 4px; min-width: 0; }
.fc-card-title { color: var(--fc-heading); font-size: 15px; font-weight: 550; line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fc-card-summary { display: -webkit-box; color: var(--fc-body); font-size: .875rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; word-break: keep-all; overflow-wrap: anywhere; }
.fc-card-count { color: var(--fc-accent); font-size: .875rem; line-height: 1.5; font-weight: 500; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fc-card-arrow { display: block; width: 16px; height: 16px; transform: rotate(-90deg); opacity: .75; }
.fc-main .fc-card:focus-visible { outline-color: var(--fc-focus); }
@media (hover: hover) {
  .fc-search-box:hover:not(:focus-within) { --fc-search-stroke: var(--fc-body); }
  .fc-card:hover { box-shadow: var(--fc-row-shadow-hover); }
  .fc-card:hover .fc-card-title { color: var(--fc-accent); }
}
@media (min-width: 600px) {
  .fc-card { grid-template-columns: 88px minmax(0, 1fr) auto 20px; gap: var(--space-4); }
}
@media (min-width: 768px) {
  .fc-hero { padding-block: var(--space-5) var(--space-12); }
  .fc-hero-content { grid-template-columns: minmax(0, 1fr) minmax(0, .94fr); gap: clamp(32px, 5vw, 80px); }
  .fc-hero-media { width: 100%; max-width: 480px; justify-self: end; }
  .fc-hero-dek { font-size: 1.125rem; }
}
@media (min-width: 1024px) {
  .fc-catalog-layout {
    grid-template-columns: clamp(240px, 22vw, 360px) minmax(0, 1fr);
    gap: clamp(48px, 6vw, 96px);
  }
  .fc-sidebar { position: sticky; top: var(--fc-anchor-offset); gap: var(--space-8); padding-block: var(--space-2); }
  .fc-catalog-content { padding-top: var(--space-2); }
  .fc-group + .fc-group { margin-top: var(--space-12); }
}
@media (min-width: 1200px) {
  .fc-card-copy { grid-template-columns: 140px minmax(0, 1fr); align-items: center; gap: var(--space-4); }
}

/* The current catalog keeps its search in the sticky product toolbar. */
.fc-catalog-layout--full { grid-template-columns: minmax(0, 1fr); }
.fc-catalog-layout--full .fc-search-context {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}

.fc-search-results { display: grid; grid-template-columns: minmax(0, 1fr); list-style: none; gap: 10px; margin: 0; padding: 0; }
.fc-result { display: grid; grid-template-columns: 1fr auto; gap: 7px 16px; width: 100%; padding: 20px; text-align: left; border: 1px solid var(--fc-line); border-radius: 12px; background: #fff; transition: background 160ms, border-color 160ms; }
.fc-result-name { grid-column: 1; font-size: 17px; font-weight: 500; }
.fc-result-copy { display: flex; flex-direction: column; gap: 7px; }
.fc-result-path { grid-column: 1; font-size: 12px; color: var(--fc-muted); }
.fc-result-arrow { grid-column: 2; grid-row: 1 / 3; align-self: center; color: #697662; }
mark.fc-match { padding: 0 1px; background: #e0e9d6; color: inherit; border-radius: 2px; }
.fc-empty { padding: 56px 20px; text-align: center; background: #efefe9; border-radius: 16px; }
.fc-empty > svg { margin: 0 auto 20px; color: #8b9583; }
.fc-empty h2 { font-size: 22px; font-weight: 550; }
.fc-empty p { margin-top: 12px; color: var(--fc-muted); font-size: 14px; line-height: 1.8; }
.fc-empty a { display: inline-flex; gap: 16px; margin-top: 24px; font-size: 14px; border-bottom: 1px solid var(--fc-ink); padding-bottom: 3px; }
.fc-contact { display: flex; flex-direction: column; gap: 24px; margin-top: 60px; padding: 28px; background: #ecefe7; border-radius: 18px; }
.fc-contact h2 { margin-top: 10px; font-size: clamp(22px,2.1vw,30px); line-height: 1.4; font-weight: 500; letter-spacing: -.035em; word-break: keep-all; }
.fc-contact p { margin-top: 12px; font-size: 13px; color: #6b7465; line-height: 1.8; word-break: keep-all; }
.fc-contact-link { display: inline-flex; flex-shrink: 0; align-self: flex-start; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 18px; border-radius: 8px; background: #303c30; color: #fff; font-size: 13px; transition: background 160ms; }
.fc-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.fc-dialog { position: fixed; inset: 0 0 0 auto; width: 100%; max-width: none; height: 100%; height: 100dvh; max-height: none; padding: 0; margin: 0; border: 0; background: var(--fc-bg); color: var(--fc-ink); overflow: hidden; box-shadow: -12px 0 60px #141c1a18; transform: translateX(100%); opacity: 0; transition: transform 320ms cubic-bezier(.22,.75,.22,1), opacity 220ms; }
.fc-dialog::backdrop { background: #14201900; backdrop-filter: blur(0); transition: background 240ms, backdrop-filter 240ms; }
.fc-dialog.is-open { transform: translateX(0); opacity: 1; }
.fc-dialog.is-open::backdrop { background: #14201966; backdrop-filter: blur(2px); }
.fc-dialog.is-closing { transform: translateX(100%); opacity: 0; transition-duration: 240ms; }
.fc-dialog.is-closing::backdrop { background: #14201900; backdrop-filter: blur(0); }
body.fc-dialog-open { overflow: hidden; }
.fc-panel { display: flex; flex-direction: column; height: 100%; }
.fc-panel-top { display: flex; flex-shrink: 0; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 22px; border-bottom: 1px solid var(--fc-line); background: var(--fc-bg); }
.fc-panel-category { font-size: 12px; color: var(--fc-muted); }
.fc-close { display: grid; place-items: center; flex-shrink: 0; width: 40px; height: 40px; padding: 0; border-radius: 50%; background: #e9ece4; transition: background 160ms; }
.fc-panel-scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 24px; scroll-behavior: smooth; }
.fc-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 26px; }
.fc-panel-heading h2 { font-size: clamp(28px,3vw,38px); font-weight: 550; line-height: 1.25; letter-spacing: -.04em; word-break: keep-all; }
.fc-panel-heading h2:focus { outline: none; }
.fc-panel-heading p { margin-top: 10px; font-size: 13px; color: var(--fc-muted); }
.fc-panel-image { width: 88px; height: 88px; flex-shrink: 0; object-fit: cover; border-radius: 12px; }
.fc-list-heading { display: flex; justify-content: space-between; border-bottom: 1px solid #a8b09f; padding-bottom: 12px; }
.fc-list-heading span { font-size: 11px; color: #7c8672; letter-spacing: .03em; }
.fc-flavor-list { padding: 0; margin: 0; list-style: none; }
.fc-flavor-row { display: flex; align-items: center; gap: 14px; min-height: 52px; padding: 14px 10px; border-bottom: 1px solid var(--fc-line); transition: background 200ms; scroll-margin: 20px; }
.fc-flavor-name { font-size: 16px; line-height: 1.5; word-break: keep-all; overflow-wrap: anywhere; }
.fc-flavor-row::before { content: ""; width: 4px; height: 4px; background: #a0ad95; border-radius: 50%; flex-shrink: 0; }
.fc-flavor-row.is-match { background: var(--fc-tint); border-radius: 6px; }
.fc-flavor-row.is-match::before { background: var(--fc-accent); }
.fc-panel-note { margin-top: 20px !important; padding: 16px; border-radius: 8px; background: #ecefe6; font-size: 12px; line-height: 1.8; color: #67745e; }
.fc-panel-bottom { flex-shrink: 0; padding: 16px 24px max(20px,env(safe-area-inset-bottom)); border-top: 1px solid var(--fc-line); background: var(--fc-bg); }
.fc-panel-nav { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 14px; }
.fc-panel-nav button { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 4px 0; background: transparent; font-size: 12px; }
.fc-panel-nav button:disabled { opacity: .3; cursor: default; }
.fc-panel-position { flex-shrink: 0; color: var(--fc-muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.fc-inquiry { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 48px; padding: 12px 18px; border-radius: 8px; background: #303c30; color: #fff; font-size: 14px; }
.fc-inquiry::after { content: "↗"; }
.fc-fallback { margin-block: 24px; }
.fc-fallback details { padding: 18px; border-bottom: 1px solid var(--fc-line); }
.fc-fallback ul { display: grid; grid-template-columns: repeat(auto-fit,minmax(130px,1fr)); gap: 10px; list-style: none; padding: 0; font-size: 14px; }
@media (hover:hover) {
  .fc-result:hover { background: #f1f5ed; border-color: #a4b39c; }
  .fc-contact-link:hover,.fc-inquiry:hover { background: #4d6654; }
  .fc-close:hover,.fc-clear:hover { background: #dde4d6; }
}
@media (min-width:600px) {
  .fc-search-results { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fc-contact { flex-direction: row; align-items: center; justify-content: space-between; padding: 36px; }
  .fc-contact-link { align-self: center; }
}
@media (min-width:900px) {
  .fc-group + .fc-group { margin-top: 48px; }
  .fc-group-heading { margin-bottom: 20px; }
  .fc-dialog { width: min(560px,52vw); }
  .fc-panel-top { padding: 20px 32px; }
  .fc-panel-scroll { padding: 32px; }
  .fc-panel-heading { padding-bottom: 32px; }
  .fc-panel-image { width: 104px; height: 104px; }
  .fc-panel-bottom { padding: 16px 32px 24px; }
  .fc-library { padding-bottom: 72px; }
  .fc-contact { margin-top: 72px; padding: 42px; }
}
@media (max-width:374px) {
  .fc-panel-scroll { padding: 20px; }
}
@media (prefers-reduced-motion:reduce) {
  .fc-main *, .fc-dialog, .fc-dialog *, .fc-dialog::backdrop { transition: none !important; scroll-behavior: auto !important; animation: none !important; }
}
@media (forced-colors:active) {
  .fc-search-box { outline: 1px solid CanvasText; }
  .fc-search-box:focus-within { outline: 2px solid Highlight; }
  .fc-jump-link,.fc-card,.fc-result,.fc-close,.fc-inquiry { border: 1px solid ButtonText; }
  .fc-jump-link[aria-current="location"] { border-color: Highlight; text-decoration: underline; text-underline-offset: 3px; }
  .fc-jump-nav .fc-jump-link:focus-visible { outline: 2px solid Highlight; outline-offset: 2px; }
}
