@charset "UTF-8";
html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

@layer utilities, components, layouts, pages;
@layer utilities {
  /* http://meyerweb.com/eric/tools/css/reset/ 
  	v2.0 | 20110126
  	License: none (public domain)
  */
  html, body, div, span, applet, object, iframe,
  h1, h2, h3, h4, h5, h6, p, blockquote, pre,
  a, abbr, acronym, address, big, cite, code,
  del, dfn, em, img, ins, kbd, q, s, samp,
  small, strike, strong, sub, sup, tt, var,
  b, u, i, center,
  dl, dt, dd, ol, ul, li,
  fieldset, form, label, legend,
  table, caption, tbody, tfoot, thead, tr, th, td,
  main, article, aside, canvas, details, embed,
  figure, figcaption, footer, header, hgroup,
  menu, nav, output, ruby, section, summary,
  time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
  }
  /* HTML5 display-role reset for older browsers */
  article, aside, details, figcaption, figure,
  footer, header, hgroup, menu, nav, section {
    display: block;
  }
  body {
    line-height: 1;
  }
  ol, ul {
    list-style: none;
  }
  blockquote, q {
    quotes: none;
  }
  blockquote:before, blockquote:after,
  q:before, q:after {
    content: "";
    content: none;
  }
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  @font-face {
    font-family: "Cormorant Garamond";
    font-style: italic;
    font-weight: 400 600;
    font-display: swap;
    src: url(/assets/fonts/cormorant-garamond/italic-latin-ext.woff2) format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  @font-face {
    font-family: "Cormorant Garamond";
    font-style: italic;
    font-weight: 400 600;
    font-display: swap;
    src: url(/assets/fonts/cormorant-garamond/italic-latin.woff2) format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  @font-face {
    font-family: "Cormorant Garamond";
    font-style: normal;
    font-weight: 400 600;
    font-display: swap;
    src: url(/assets/fonts/cormorant-garamond/normal-latin-ext.woff2) format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  @font-face {
    font-family: "Cormorant Garamond";
    font-style: normal;
    font-weight: 400 600;
    font-display: swap;
    src: url(/assets/fonts/cormorant-garamond/normal-latin.woff2) format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-000.woff2) format("woff2");
    unicode-range: U+f9ca-fa0b, U+ff03-ff05, U+ff07, U+ff0a-ff0b, U+ff0d-ff19, U+ff1b, U+ff1d, U+ff20-ff5b, U+ff5d, U+ffe0-ffe3, U+ffe5-ffe6;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-001.woff2) format("woff2");
    unicode-range: U+f92f-f980, U+f982-f9c9;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-002.woff2) format("woff2");
    unicode-range: U+d723-d728, U+d72a-d733, U+d735-d748, U+d74a-d74f, U+d752-d753, U+d755-d757, U+d75a-d75f, U+d762-d764, U+d766-d768, U+d76a-d76b, U+d76d-d76f, U+d771-d787, U+d789-d78b, U+d78d-d78f, U+d791-d797, U+d79a, U+d79c, U+d79e-d7a3, U+f900-f909, U+f90b-f92e;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-003.woff2) format("woff2");
    unicode-range: U+d679-d68b, U+d68e-d69e, U+d6a0, U+d6a2-d6a7, U+d6a9-d6c3, U+d6c6-d6c7, U+d6c9-d6cb, U+d6cd-d6d3, U+d6d5-d6d6, U+d6d8-d6e3, U+d6e5-d6e7, U+d6e9-d6fb, U+d6fd-d717, U+d719-d71f, U+d721-d722;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-004.woff2) format("woff2");
    unicode-range: U+d5bc-d5c7, U+d5ca-d5cb, U+d5cd-d5cf, U+d5d1-d5d7, U+d5d9-d5da, U+d5dc, U+d5de-d5e3, U+d5e6-d5e7, U+d5e9-d5eb, U+d5ed-d5f6, U+d5f8, U+d5fa-d5ff, U+d602-d603, U+d605-d607, U+d609-d60f, U+d612-d613, U+d616-d61b, U+d61d-d637, U+d63a-d63b, U+d63d-d63f, U+d641-d647, U+d64a-d64c, U+d64e-d653, U+d656-d657, U+d659-d65b, U+d65d-d666, U+d668, U+d66a-d678;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-005.woff2) format("woff2");
    unicode-range: U+d507, U+d509-d50b, U+d50d-d513, U+d515-d53b, U+d53e-d53f, U+d541-d543, U+d545-d54c, U+d54e, U+d550, U+d552-d557, U+d55a-d55b, U+d55d-d55f, U+d561-d564, U+d566-d567, U+d56a, U+d56c, U+d56e-d573, U+d576-d577, U+d579-d583, U+d585-d586, U+d58a-d5a4, U+d5a6-d5bb;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-006.woff2) format("woff2");
    unicode-range: U+d464-d477, U+d47a-d47b, U+d47d-d47f, U+d481-d487, U+d489-d48a, U+d48c, U+d48e-d4e7, U+d4e9-d503, U+d505-d506;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-007.woff2) format("woff2");
    unicode-range: U+d3bf-d3c7, U+d3ca-d3cf, U+d3d1-d3eb, U+d3ee-d3ef, U+d3f1-d3f3, U+d3f5-d3fb, U+d3fd-d400, U+d402-d45b, U+d45d-d463;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-008.woff2) format("woff2");
    unicode-range: U+d2ff, U+d302-d304, U+d306-d30b, U+d30f, U+d311-d313, U+d315-d31b, U+d31e, U+d322-d324, U+d326-d327, U+d32a-d32b, U+d32d-d32f, U+d331-d337, U+d339-d33c, U+d33e-d37b, U+d37e-d37f, U+d381-d383, U+d385-d38b, U+d38e-d390, U+d392-d397, U+d39a-d39b, U+d39d-d39f, U+d3a1-d3a7, U+d3a9-d3aa, U+d3ac, U+d3ae-d3b3, U+d3b5-d3b7, U+d3b9-d3bb, U+d3bd-d3be;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-009.woff2) format("woff2");
    unicode-range: U+d257-d27f, U+d281-d29b, U+d29d-d29f, U+d2a1-d2ab, U+d2ad-d2b7, U+d2ba-d2bb, U+d2bd-d2bf, U+d2c1-d2c7, U+d2c9-d2ef, U+d2f2-d2f3, U+d2f5-d2f7, U+d2f9-d2fe;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-010.woff2) format("woff2");
    unicode-range: U+d1b4, U+d1b6-d1f3, U+d1f5-d22b, U+d22e-d22f, U+d231-d233, U+d235-d23b, U+d23d-d240, U+d242-d256;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-011.woff2) format("woff2");
    unicode-range: U+d105-d12f, U+d132-d133, U+d135-d137, U+d139-d13f, U+d141-d142, U+d144, U+d146-d14b, U+d14e-d14f, U+d151-d153, U+d155-d15b, U+d15e-d187, U+d189-d19f, U+d1a2-d1a3, U+d1a5-d1a7, U+d1a9-d1af, U+d1b2-d1b3;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-012.woff2) format("woff2");
    unicode-range: U+d04b-d04f, U+d051-d057, U+d059-d06b, U+d06d-d06f, U+d071-d073, U+d075-d07b, U+d07e-d0a3, U+d0a6-d0a7, U+d0a9-d0ab, U+d0ad-d0b3, U+d0b6, U+d0b8, U+d0ba-d0bf, U+d0c2-d0c3, U+d0c5-d0c7, U+d0c9-d0cf, U+d0d2, U+d0d6-d0db, U+d0de-d0df, U+d0e1-d0e3, U+d0e5-d0eb, U+d0ee-d0f0, U+d0f2-d104;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-013.woff2) format("woff2");
    unicode-range: U+cfa2-cfc3, U+cfc5-cfdf, U+cfe2-cfe3, U+cfe5-cfe7, U+cfe9-cff4, U+cff6-cffb, U+cffd-cfff, U+d001-d003, U+d005-d017, U+d019-d033, U+d036-d037, U+d039-d03b, U+d03d-d04a;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-014.woff2) format("woff2");
    unicode-range: U+cef0-cef3, U+cef6, U+cef9-ceff, U+cf01-cf03, U+cf05-cf07, U+cf09-cf0f, U+cf11-cf12, U+cf14-cf1b, U+cf1d-cf1f, U+cf21-cf2f, U+cf31-cf53, U+cf56-cf57, U+cf59-cf5b, U+cf5d-cf63, U+cf66, U+cf68, U+cf6a-cf6f, U+cf71-cf84, U+cf86-cf8b, U+cf8d-cfa1;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-015.woff2) format("woff2");
    unicode-range: U+ce3c-ce57, U+ce5a-ce5b, U+ce5d-ce5f, U+ce61-ce67, U+ce6a, U+ce6c, U+ce6e-ce73, U+ce76-ce77, U+ce79-ce7b, U+ce7d-ce83, U+ce85-ce88, U+ce8a-ce8f, U+ce91-ce93, U+ce95-ce97, U+ce99-ce9f, U+cea2, U+cea4-ceab, U+cead-cee3, U+cee6-cee7, U+cee9-ceeb, U+ceed-ceef;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-016.woff2) format("woff2");
    unicode-range: U+cd92-cd93, U+cd96-cd97, U+cd99-cd9b, U+cd9d-cda3, U+cda6-cda8, U+cdaa-cdaf, U+cdb1-cdc3, U+cdc5-cdcb, U+cdcd-cde7, U+cde9-ce03, U+ce05-ce1f, U+ce22-ce34, U+ce36-ce3b;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-017.woff2) format("woff2");
    unicode-range: U+ccef-cd07, U+cd0a-cd0b, U+cd0d-cd1a, U+cd1c, U+cd1e-cd2b, U+cd2d-cd5b, U+cd5d-cd77, U+cd79-cd91;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-018.woff2) format("woff2");
    unicode-range: U+cc3f-cc43, U+cc46-cc47, U+cc49-cc4b, U+cc4d-cc53, U+cc55-cc58, U+cc5a-cc5f, U+cc61-cc97, U+cc9a-cc9b, U+cc9d-cc9f, U+cca1-cca7, U+ccaa, U+ccac, U+ccae-ccb3, U+ccb6-ccb7, U+ccb9-ccbb, U+ccbd-cccf, U+ccd1-cce3, U+cce5-ccee;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-019.woff2) format("woff2");
    unicode-range: U+cb91-cbd3, U+cbd5-cbe3, U+cbe5-cc0b, U+cc0e-cc0f, U+cc11-cc13, U+cc15-cc1b, U+cc1d-cc20, U+cc23-cc27, U+cc2a-cc2b, U+cc2d, U+cc2f, U+cc31-cc37, U+cc3a, U+cc3c;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-020.woff2) format("woff2");
    unicode-range: U+caf4-cb47, U+cb4a-cb90;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-021.woff2) format("woff2");
    unicode-range: U+ca4a-ca4b, U+ca4e-ca4f, U+ca51-ca53, U+ca55-ca5b, U+ca5d-ca60, U+ca62-ca83, U+ca85-cabb, U+cabe-cabf, U+cac1-cac3, U+cac5-cacb, U+cacd-cad0, U+cad2, U+cad4-cad8, U+cada-caf3;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-022.woff2) format("woff2");
    unicode-range: U+c996-c997, U+c99a-c99c, U+c99e-c9bf, U+c9c2-c9c3, U+c9c5-c9c7, U+c9c9-c9cf, U+c9d2, U+c9d4, U+c9d7-c9d8, U+c9db, U+c9de-c9df, U+c9e1-c9e3, U+c9e5-c9e6, U+c9e8-c9eb, U+c9ee-c9f0, U+c9f2-c9f7, U+c9f9-ca0b, U+ca0d-ca28, U+ca2a-ca49;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-023.woff2) format("woff2");
    unicode-range: U+c8e9-c8f4, U+c8f6-c8fb, U+c8fe-c8ff, U+c901-c903, U+c905-c90b, U+c90e-c910, U+c912-c917, U+c919-c92b, U+c92d-c94f, U+c951-c953, U+c955-c96b, U+c96d-c973, U+c975-c987, U+c98a-c98b, U+c98d-c98f, U+c991-c995;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-024.woff2) format("woff2");
    unicode-range: U+c841-c84b, U+c84d-c86f, U+c872-c873, U+c875-c877, U+c879-c87f, U+c882-c884, U+c887-c88a, U+c88d-c8c3, U+c8c5-c8df, U+c8e1-c8e8;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-025.woff2) format("woff2");
    unicode-range: U+c779-c77b, U+c77e-c782, U+c786, U+c78b, U+c78d, U+c78f, U+c792-c793, U+c795, U+c797, U+c799-c79f, U+c7a2, U+c7a7-c7ab, U+c7ae-c7bb, U+c7bd-c7c0, U+c7c2-c7c7, U+c7c9-c7dc, U+c7de-c7ff, U+c802-c803, U+c805-c807, U+c809, U+c80b-c80f, U+c812, U+c814, U+c817-c81b, U+c81e-c81f, U+c821-c823, U+c825-c82e, U+c830-c837, U+c839-c83b, U+c83d-c840;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-026.woff2) format("woff2");
    unicode-range: U+c6bb-c6bf, U+c6c2, U+c6c4, U+c6c6-c6cb, U+c6ce-c6cf, U+c6d1-c6d3, U+c6d5-c6db, U+c6dd-c6df, U+c6e1-c6e7, U+c6e9-c6eb, U+c6ed-c6ef, U+c6f1-c6f8, U+c6fa-c703, U+c705-c707, U+c709-c70b, U+c70d-c716, U+c718, U+c71a-c71f, U+c722-c723, U+c725-c727, U+c729-c734, U+c736-c73b, U+c73e-c73f, U+c741-c743, U+c745-c74b, U+c74e-c750, U+c752-c757, U+c759-c773, U+c776-c777;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-027.woff2) format("woff2");
    unicode-range: U+c5f5-c5fb, U+c5fe, U+c602-c605, U+c607, U+c609-c60f, U+c611-c61a, U+c61c-c623, U+c626-c627, U+c629-c62b, U+c62d, U+c62f-c632, U+c636, U+c638, U+c63a-c63f, U+c642-c643, U+c645-c647, U+c649-c652, U+c656-c65b, U+c65d-c65f, U+c661-c663, U+c665-c677, U+c679-c67b, U+c67d-c693, U+c696-c697, U+c699-c69b, U+c69d-c6a3, U+c6a6, U+c6a8, U+c6aa-c6af, U+c6b2-c6b3, U+c6b5-c6b7, U+c6b9-c6ba;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-028.woff2) format("woff2");
    unicode-range: U+c517-c527, U+c52a-c52b, U+c52d-c52f, U+c531-c538, U+c53a, U+c53c, U+c53e-c543, U+c546-c547, U+c54b, U+c54d-c552, U+c556, U+c55a-c55b, U+c55d, U+c55f, U+c562-c563, U+c565-c567, U+c569-c56f, U+c572, U+c574, U+c576-c57b, U+c57e-c57f, U+c581-c583, U+c585-c586, U+c588-c58b, U+c58e, U+c590, U+c592-c596, U+c599-c5b3, U+c5b6-c5b7, U+c5ba, U+c5be-c5c3, U+c5ca-c5cb, U+c5cd, U+c5cf, U+c5d2-c5d3, U+c5d5-c5d7, U+c5d9-c5df, U+c5e1-c5e2, U+c5e4, U+c5e6-c5eb, U+c5ef, U+c5f1-c5f3;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-029.woff2) format("woff2");
    unicode-range: U+c475-c4ef, U+c4f2-c4f3, U+c4f5-c4f7, U+c4f9-c4ff, U+c502-c50b, U+c50d-c516;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-030.woff2) format("woff2");
    unicode-range: U+c3d0-c3d7, U+c3da-c3db, U+c3dd-c3de, U+c3e1-c3ec, U+c3ee-c3f3, U+c3f5-c42b, U+c42d-c463, U+c466-c474;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-031.woff2) format("woff2");
    unicode-range: U+c32b-c367, U+c36a-c36b, U+c36d-c36f, U+c371-c377, U+c37a-c37b, U+c37e-c383, U+c385-c387, U+c389-c3cf;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-032.woff2) format("woff2");
    unicode-range: U+c26a-c26b, U+c26d-c26f, U+c271-c273, U+c275-c27b, U+c27e-c287, U+c289-c28f, U+c291-c297, U+c299-c29a, U+c29c-c2a3, U+c2a5-c2a7, U+c2a9-c2ab, U+c2ad-c2b3, U+c2b6, U+c2b8, U+c2ba-c2bb, U+c2bd-c2db, U+c2de-c2df, U+c2e1-c2e2, U+c2e5-c2ea, U+c2ee, U+c2f0, U+c2f2-c2f5, U+c2f7, U+c2fa-c2fb, U+c2fd-c2ff, U+c301-c307, U+c309-c30c, U+c30e-c312, U+c315-c323, U+c325-c328, U+c32a;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-033.woff2) format("woff2");
    unicode-range: U+c1bc-c1c3, U+c1c5-c1df, U+c1e1-c1fb, U+c1fd-c203, U+c205-c20c, U+c20e, U+c210-c217, U+c21a-c21b, U+c21d-c21e, U+c221-c227, U+c229-c22a, U+c22c, U+c22e, U+c230, U+c233-c24f, U+c251-c257, U+c259-c269;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-034.woff2) format("woff2");
    unicode-range: U+c101-c11b, U+c11f, U+c121-c123, U+c125-c12b, U+c12e, U+c132-c137, U+c13a-c13b, U+c13d-c13f, U+c141-c147, U+c14a, U+c14c-c153, U+c155-c157, U+c159-c15b, U+c15d-c166, U+c169-c16f, U+c171-c177, U+c179-c18b, U+c18e-c18f, U+c191-c193, U+c195-c19b, U+c19d-c19e, U+c1a0, U+c1a2-c1a4, U+c1a6-c1bb;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-035.woff2) format("woff2");
    unicode-range: U+c049-c057, U+c059-c05b, U+c05d-c05f, U+c061-c067, U+c069-c08f, U+c091-c0ab, U+c0ae-c0af, U+c0b1-c0b3, U+c0b5, U+c0b7-c0bb, U+c0be, U+c0c2-c0c7, U+c0ca-c0cb, U+c0cd-c0cf, U+c0d1-c0d7, U+c0d9-c0da, U+c0dc, U+c0de-c0e3, U+c0e5-c0eb, U+c0ed-c0f3, U+c0f6, U+c0f8, U+c0fa-c0ff;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-036.woff2) format("woff2");
    unicode-range: U+bfa7-bfaf, U+bfb1-bfc4, U+bfc6-bfcb, U+bfce-bfcf, U+bfd1-bfd3, U+bfd5-bfdb, U+bfdd-c048;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-037.woff2) format("woff2");
    unicode-range: U+bf07, U+bf09-bf3f, U+bf41-bf4f, U+bf52-bf54, U+bf56-bfa6;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-038.woff2) format("woff2");
    unicode-range: U+be56, U+be58, U+be5c-be5f, U+be62-be63, U+be65-be67, U+be69-be74, U+be76-be7b, U+be7e-be7f, U+be81-be8e, U+be90, U+be92-bea7, U+bea9-becf, U+bed2-bed3, U+bed5-bed6, U+bed9-bee3, U+bee6-bf06;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-039.woff2) format("woff2");
    unicode-range: U+bdb0-bdd3, U+bdd5-bdef, U+bdf1-be0b, U+be0d-be0f, U+be11-be13, U+be15-be43, U+be46-be47, U+be49-be4b, U+be4d-be53;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-040.woff2) format("woff2");
    unicode-range: U+bd03, U+bd06, U+bd08, U+bd0a-bd0f, U+bd11-bd22, U+bd25-bd47, U+bd49-bd58, U+bd5a-bd7f, U+bd82-bd83, U+bd85-bd87, U+bd8a-bd8f, U+bd91-bd92, U+bd94, U+bd96-bd98, U+bd9a-bdaf;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-041.woff2) format("woff2");
    unicode-range: U+bc4e-bc83, U+bc86-bc87, U+bc89-bc8b, U+bc8d-bc93, U+bc96, U+bc98, U+bc9b-bc9f, U+bca2-bca3, U+bca5-bca7, U+bca9-bcb2, U+bcb4-bcbb, U+bcbe-bcbf, U+bcc1-bcc3, U+bcc5-bccc, U+bcce-bcd0, U+bcd2-bcd4, U+bcd6-bcf3, U+bcf7, U+bcf9-bcfb, U+bcfd-bd02;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-042.woff2) format("woff2");
    unicode-range: U+bb90-bba3, U+bba5-bbab, U+bbad-bbbf, U+bbc1-bbf7, U+bbfa-bbfb, U+bbfd-bbfe, U+bc01-bc07, U+bc09-bc0a, U+bc0e, U+bc10, U+bc12-bc13, U+bc17, U+bc19-bc1a, U+bc1e, U+bc20-bc23, U+bc26, U+bc28, U+bc2a-bc2c, U+bc2e-bc2f, U+bc32-bc33, U+bc35-bc37, U+bc39-bc3f, U+bc41-bc42, U+bc44, U+bc46-bc48, U+bc4a-bc4d;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-043.woff2) format("woff2");
    unicode-range: U+bae6-bafb, U+bafd-bb17, U+bb19-bb33, U+bb37, U+bb39-bb3a, U+bb3d-bb43, U+bb45-bb46, U+bb48, U+bb4a-bb4f, U+bb51-bb53, U+bb55-bb57, U+bb59-bb62, U+bb64-bb8f;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-044.woff2) format("woff2");
    unicode-range: U+ba30-ba37, U+ba3a-ba3b, U+ba3d-ba3f, U+ba41-ba47, U+ba49-ba4a, U+ba4c, U+ba4e-ba53, U+ba56-ba57, U+ba59-ba5b, U+ba5d-ba63, U+ba65-ba66, U+ba68-ba6f, U+ba71-ba73, U+ba75-ba77, U+ba79-ba84, U+ba86, U+ba88-baa7, U+baaa, U+baad-baaf, U+bab1-bab7, U+baba, U+babc, U+babe-bae5;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-045.woff2) format("woff2");
    unicode-range: U+b96e-b973, U+b976-b977, U+b979-b97b, U+b97d-b983, U+b986, U+b988, U+b98a-b98d, U+b98f-b9ab, U+b9ae-b9af, U+b9b1-b9b3, U+b9b5-b9bb, U+b9be, U+b9c0, U+b9c2-b9c7, U+b9ca-b9cb, U+b9cd, U+b9d2-b9d7, U+b9da, U+b9dc, U+b9df-b9e0, U+b9e2, U+b9e6-b9e7, U+b9e9-b9f3, U+b9f6, U+b9f8, U+b9fb-ba2f;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-046.woff2) format("woff2");
    unicode-range: U+b8bf-b8cb, U+b8cd-b8e0, U+b8e2-b8e7, U+b8ea-b8eb, U+b8ed-b8ef, U+b8f1-b8f7, U+b8fa, U+b8fc, U+b8fe-b903, U+b905-b917, U+b919-b91f, U+b921-b93b, U+b93d-b957, U+b95a-b95b, U+b95d-b95f, U+b961-b967, U+b969-b96c;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-047.woff2) format("woff2");
    unicode-range: U+b80d-b80f, U+b811-b817, U+b81a, U+b81c-b823, U+b826-b827, U+b829-b82b, U+b82d-b833, U+b836, U+b83a-b83f, U+b841-b85b, U+b85e-b85f, U+b861-b863, U+b865-b86b, U+b86e, U+b870, U+b872-b8af, U+b8b1-b8be;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-048.woff2) format("woff2");
    unicode-range: U+b74d-b75f, U+b761-b763, U+b765-b774, U+b776-b77b, U+b77e-b77f, U+b781-b783, U+b785-b78b, U+b78e, U+b792-b796, U+b79a-b79b, U+b79d-b7a7, U+b7aa, U+b7ae-b7b3, U+b7b6-b7c8, U+b7ca-b7eb, U+b7ee-b7ef, U+b7f1-b7f3, U+b7f5-b7fb, U+b7fe, U+b802-b806, U+b80a-b80b;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-049.woff2) format("woff2");
    unicode-range: U+b6a7-b6aa, U+b6ac-b6b0, U+b6b2-b6ef, U+b6f1-b727, U+b72a-b72b, U+b72d-b72e, U+b731-b737, U+b739-b73a, U+b73c-b743, U+b745-b74c;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-050.woff2) format("woff2");
    unicode-range: U+b605-b60f, U+b612-b617, U+b619-b624, U+b626-b69b, U+b69e-b6a3, U+b6a5-b6a6;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-051.woff2) format("woff2");
    unicode-range: U+b55f, U+b562-b583, U+b585-b59f, U+b5a2-b5a3, U+b5a5-b5a7, U+b5a9-b5b2, U+b5b5-b5ba, U+b5bd-b604;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-052.woff2) format("woff2");
    unicode-range: U+b4a5-b4b6, U+b4b8-b4bf, U+b4c1-b4c7, U+b4c9-b4db, U+b4de-b4df, U+b4e1-b4e2, U+b4e5-b4eb, U+b4ee, U+b4f0, U+b4f2-b513, U+b516-b517, U+b519-b51a, U+b51d-b523, U+b526, U+b528, U+b52b-b52f, U+b532-b533, U+b535-b537, U+b539-b53f, U+b541-b544, U+b546-b54b, U+b54d-b54f, U+b551-b55b, U+b55d-b55e;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-053.woff2) format("woff2");
    unicode-range: U+b3f8-b3fb, U+b3fd-b40f, U+b411-b417, U+b419-b41b, U+b41d-b41f, U+b421-b427, U+b42a-b42b, U+b42d-b44f, U+b452-b453, U+b455-b457, U+b459-b45f, U+b462-b464, U+b466-b46b, U+b46d-b47f, U+b481-b4a3;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-054.woff2) format("woff2");
    unicode-range: U+b342-b353, U+b356-b357, U+b359-b35b, U+b35d-b35e, U+b360-b363, U+b366, U+b368, U+b36a-b36d, U+b36f, U+b372-b373, U+b375-b377, U+b379-b37f, U+b381-b382, U+b384, U+b386-b38b, U+b38d-b3c3, U+b3c6-b3c7, U+b3c9-b3ca, U+b3cd-b3d3, U+b3d6, U+b3d8, U+b3da-b3f7;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-055.woff2) format("woff2");
    unicode-range: U+b27c-b283, U+b285-b28f, U+b292-b293, U+b295-b297, U+b29a-b29f, U+b2a1-b2a4, U+b2a7-b2a9, U+b2ab, U+b2ad-b2c7, U+b2ca-b2cb, U+b2cd-b2cf, U+b2d1-b2d7, U+b2da, U+b2dc, U+b2de-b2e3, U+b2e7, U+b2e9-b2ea, U+b2ef-b2f3, U+b2f6, U+b2f8, U+b2fa-b2fb, U+b2fd-b2fe, U+b302-b303, U+b305-b307, U+b309-b30f, U+b312, U+b316-b31b, U+b31d-b341;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-056.woff2) format("woff2");
    unicode-range: U+b1d6-b1e7, U+b1e9-b1fc, U+b1fe-b203, U+b206-b207, U+b209-b20b, U+b20d-b213, U+b216-b21f, U+b221-b257, U+b259-b273, U+b275-b27b;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-057.woff2) format("woff2");
    unicode-range: U+b120-b122, U+b126-b127, U+b129-b12b, U+b12d-b133, U+b136, U+b138, U+b13a-b13f, U+b142-b143, U+b145-b14f, U+b151-b153, U+b156-b157, U+b159-b177, U+b17a-b17b, U+b17d-b17f, U+b181-b187, U+b189-b18c, U+b18e-b191, U+b195-b1a7, U+b1a9-b1cb, U+b1cd-b1d5;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-058.woff2) format("woff2");
    unicode-range: U+b05f-b07b, U+b07e-b07f, U+b081-b083, U+b085-b08b, U+b08d-b097, U+b09b, U+b09d-b09f, U+b0a2-b0a7, U+b0aa, U+b0b0, U+b0b2, U+b0b6-b0b7, U+b0b9-b0bb, U+b0bd-b0c3, U+b0c6-b0c7, U+b0ca-b0cf, U+b0d1-b0df, U+b0e1-b0e4, U+b0e6-b107, U+b10a-b10b, U+b10d-b10f, U+b111-b112, U+b114-b117, U+b119-b11a, U+b11c-b11f;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-059.woff2) format("woff2");
    unicode-range: U+afac-afb7, U+afba-afbb, U+afbd-afbf, U+afc1-afc6, U+afca-afcc, U+afce-afd3, U+afd5-afe7, U+afe9-afef, U+aff1-b00b, U+b00d-b00f, U+b011-b013, U+b015-b01b, U+b01d-b027, U+b029-b043, U+b045-b047, U+b049, U+b04b, U+b04d-b052, U+b055-b056, U+b058-b05c, U+b05e;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-060.woff2) format("woff2");
    unicode-range: U+af03-af07, U+af09-af2b, U+af2e-af33, U+af35-af3b, U+af3e-af40, U+af44-af47, U+af4a-af5c, U+af5e-af63, U+af65-af7f, U+af81-afab;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-061.woff2) format("woff2");
    unicode-range: U+ae56-ae5b, U+ae5e-ae60, U+ae62-ae64, U+ae66-ae67, U+ae69-ae6b, U+ae6d-ae83, U+ae85-aebb, U+aebf, U+aec1-aec3, U+aec5-aecb, U+aece, U+aed0, U+aed2-aed7, U+aed9-aef3, U+aef5-af02;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-062.woff2) format("woff2");
    unicode-range: U+ad9c-ada3, U+ada5-adbf, U+adc1-adc3, U+adc5-adc7, U+adc9-add2, U+add4-addb, U+addd-addf, U+ade1-ade3, U+ade5-adf7, U+adfa-adfb, U+adfd-adff, U+ae02-ae07, U+ae0a, U+ae0c, U+ae0e-ae13, U+ae15-ae2f, U+ae31-ae33, U+ae35-ae37, U+ae39-ae3f, U+ae42, U+ae44, U+ae46-ae49, U+ae4b, U+ae4f, U+ae51-ae53, U+ae55;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-063.woff2) format("woff2");
    unicode-range: U+ace2-ace3, U+ace5-ace6, U+ace9-acef, U+acf2, U+acf4, U+acf7-acfb, U+acfe-acff, U+ad01-ad03, U+ad05-ad0b, U+ad0d-ad10, U+ad12-ad1b, U+ad1d-ad33, U+ad35-ad48, U+ad4a-ad4f, U+ad51-ad6b, U+ad6e-ad6f, U+ad71-ad72, U+ad77-ad7c, U+ad7e, U+ad80, U+ad82-ad87, U+ad89-ad8b, U+ad8d-ad8f, U+ad91-ad9b;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-064.woff2) format("woff2");
    unicode-range: U+ac25-ac2c, U+ac2e, U+ac30, U+ac32-ac37, U+ac39-ac3f, U+ac41-ac4c, U+ac4e-ac6f, U+ac72-ac73, U+ac75-ac76, U+ac79-ac7f, U+ac82, U+ac84-ac88, U+ac8a-ac8b, U+ac8d-ac8f, U+ac91-ac93, U+ac95-ac9b, U+ac9d-ac9e, U+aca1-aca7, U+acab, U+acad-acaf, U+acb1-acb7, U+acba-acbb, U+acbe-acc0, U+acc2-acc3, U+acc5-acdf;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-065.woff2) format("woff2");
    unicode-range: U+99df, U+99ed, U+99f1, U+99ff, U+9a01, U+9a08, U+9a0e-9a0f, U+9a19, U+9a2b, U+9a30, U+9a36-9a37, U+9a40, U+9a43, U+9a45, U+9a4d, U+9a55, U+9a57, U+9a5a-9a5b, U+9a5f, U+9a62, U+9a65, U+9a69-9a6a, U+9aa8, U+9ab8, U+9ad3, U+9ae5, U+9aee, U+9b1a, U+9b27, U+9b2a, U+9b31, U+9b3c, U+9b41-9b45, U+9b4f, U+9b54, U+9b5a, U+9b6f, U+9b8e, U+9b91, U+9b9f, U+9bab, U+9bae, U+9bc9, U+9bd6, U+9be4, U+9be8, U+9c0d, U+9c10, U+9c12, U+9c15, U+9c25, U+9c32, U+9c3b, U+9c47, U+9c49, U+9c57, U+9ce5, U+9ce7, U+9ce9, U+9cf3-9cf4, U+9cf6, U+9d09, U+9d1b, U+9d26, U+9d28, U+9d3b, U+9d51, U+9d5d, U+9d60-9d61, U+9d6c, U+9d72, U+9da9, U+9daf, U+9db4, U+9dc4, U+9dd7, U+9df2, U+9df8-9dfa, U+9e1a, U+9e1e, U+9e75, U+9e79, U+9e7d, U+9e7f, U+9e92-9e93, U+9e97, U+9e9d, U+9e9f, U+9ea5, U+9eb4-9eb5, U+9ebb, U+9ebe, U+9ec3, U+9ecd-9ece, U+9ed4, U+9ed8, U+9edb-9edc, U+9ede, U+9ee8, U+9ef4, U+9f07-9f08, U+9f0e, U+9f13, U+9f20, U+9f3b, U+9f4a-9f4b, U+9f4e, U+9f52, U+9f5f, U+9f61, U+9f67, U+9f6a, U+9f6c, U+9f77, U+9f8d, U+9f90, U+9f95, U+9f9c, U+ac02-ac03, U+ac05-ac06, U+ac09-ac0f, U+ac17-ac18, U+ac1b, U+ac1e-ac1f, U+ac21-ac23;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-066.woff2) format("woff2");
    unicode-range: U+96a7-96a8, U+96aa, U+96b1, U+96b7, U+96bb, U+96c0-96c1, U+96c4-96c5, U+96c7, U+96c9, U+96cb-96ce, U+96d5-96d6, U+96d9, U+96db-96dc, U+96e2-96e3, U+96e8-96ea, U+96ef-96f0, U+96f2, U+96f6-96f7, U+96f9, U+96fb, U+9700, U+9706-9707, U+9711, U+9713, U+9716, U+9719, U+971c, U+971e, U+9727, U+9730, U+9732, U+9739, U+973d, U+9742, U+9744, U+9748, U+9756, U+975c, U+9761, U+9769, U+976d, U+9774, U+9777, U+977a, U+978b, U+978d, U+978f, U+97a0, U+97a8, U+97ab, U+97ad, U+97c6, U+97cb, U+97dc, U+97f6, U+97fb, U+97ff-9803, U+9805-9806, U+9808, U+980a, U+980c, U+9810-9813, U+9817-9818, U+982d, U+9830, U+9838-9839, U+983b, U+9846, U+984c-984e, U+9854, U+9858, U+985a, U+985e, U+9865, U+9867, U+986b, U+986f, U+98af, U+98b1, U+98c4, U+98c7, U+98db-98dc, U+98e1-98e2, U+98ed-98ef, U+98f4, U+98fc-98fe, U+9903, U+9909-990a, U+990c, U+9910, U+9913, U+9918, U+991e, U+9920, U+9928, U+9945, U+9949, U+994b-994d, U+9951-9952, U+9954, U+9957, U+9996, U+999d, U+99a5, U+99a8, U+99ac-99ae, U+99b1, U+99b3-99b4, U+99b9, U+99c1, U+99d0-99d2, U+99d5, U+99d9, U+99dd;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-067.woff2) format("woff2");
    unicode-range: U+920d, U+9210-9212, U+9217, U+921e, U+9234, U+923a, U+923f-9240, U+9245, U+9249, U+9257, U+925b, U+925e, U+9262, U+9264-9266, U+9283, U+9285, U+9291, U+9293, U+9296, U+9298, U+929c, U+92b3, U+92b6-92b7, U+92b9, U+92cc, U+92cf, U+92d2, U+92e4, U+92ea, U+92f8, U+92fc, U+9304, U+9310, U+9318, U+931a, U+931e-9322, U+9324, U+9326, U+9328, U+932b, U+932e-932f, U+9348, U+934a-934b, U+934d, U+9354, U+935b, U+936e, U+9375, U+937c, U+937e, U+938c, U+9394, U+9396, U+939a, U+93a3, U+93a7, U+93ac-93ad, U+93b0, U+93c3, U+93d1, U+93de, U+93e1, U+93e4, U+93f6, U+9404, U+9418, U+9425, U+942b, U+9435, U+9438, U+9444, U+9451-9452, U+945b, U+947d, U+947f, U+9583, U+9589, U+958f, U+9591-9592, U+9594, U+9598, U+95a3-95a5, U+95a8, U+95ad, U+95b1, U+95bb-95bc, U+95c7, U+95ca, U+95d4-95d6, U+95dc, U+95e1-95e2, U+961c, U+9621, U+962a, U+962e, U+9632, U+963b, U+963f-9640, U+9642, U+9644, U+964b-964d, U+9650, U+965b-965f, U+9662-9664, U+966a, U+9670, U+9673, U+9675-9678, U+967d, U+9685-9686, U+968a-968b, U+968d-968e, U+9694-9695, U+9698-9699, U+969b-969c, U+96a3;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-068.woff2) format("woff2");
    unicode-range: U+8fa8, U+8fad, U+8faf-8fb2, U+8fc2, U+8fc5, U+8fce, U+8fd4, U+8fe6, U+8fea-8feb, U+8fed, U+8ff0, U+8ff2, U+8ff7, U+8ff9, U+8ffd, U+9000-9003, U+9005-9006, U+9008, U+900b, U+900d, U+900f-9011, U+9014-9015, U+9017, U+9019, U+901d-9023, U+902e, U+9031-9032, U+9035, U+9038, U+903c, U+903e, U+9041-9042, U+9047, U+904a-904b, U+904d-904e, U+9050-9051, U+9054-9055, U+9059, U+905c-905e, U+9060-9061, U+9063, U+9069, U+906d-906f, U+9072, U+9075, U+9077-9078, U+907a, U+907c-907d, U+907f-9084, U+9087-9088, U+908a, U+908f, U+9091, U+9095, U+9099, U+90a2-90a3, U+90a6, U+90a8, U+90aa, U+90af-90b1, U+90b5, U+90b8, U+90c1, U+90ca, U+90de, U+90e1, U+90ed, U+90f5, U+9102, U+9112, U+9115, U+9119, U+9127, U+912d, U+9132, U+9149-914e, U+9152, U+9162, U+9169-916a, U+916c, U+9175, U+9177-9178, U+9187, U+9189, U+918b, U+918d, U+9192, U+919c, U+91ab-91ac, U+91ae-91af, U+91b1, U+91b4-91b5, U+91c0, U+91c7, U+91c9, U+91cb, U+91cf-91d0, U+91d7-91d8, U+91dc-91dd, U+91e3, U+91e7, U+91ea, U+91f5;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-069.woff2) format("woff2");
    unicode-range: U+8c6a-8c6b, U+8c79-8c7a, U+8c82, U+8c8a, U+8c8c, U+8c9d-8c9e, U+8ca0-8ca2, U+8ca7-8cac, U+8caf-8cb0, U+8cb3-8cb4, U+8cb6-8cb8, U+8cbb-8cbd, U+8cbf-8cc4, U+8cc7-8cc8, U+8cca, U+8cd1, U+8cd3, U+8cda, U+8cdc, U+8cde, U+8ce0, U+8ce2-8ce4, U+8ce6, U+8cea, U+8ced, U+8cf4, U+8cfb-8cfd, U+8d04-8d05, U+8d07-8d08, U+8d0a, U+8d0d, U+8d13, U+8d16, U+8d64, U+8d66, U+8d6b, U+8d70, U+8d73-8d74, U+8d77, U+8d85, U+8d8a, U+8d99, U+8da3, U+8da8, U+8db3, U+8dba, U+8dbe, U+8dc6, U+8dcb-8dcc, U+8dcf, U+8ddb, U+8ddd, U+8de1, U+8de3, U+8de8, U+8df3, U+8e0a, U+8e0f-8e10, U+8e1e, U+8e2a, U+8e30, U+8e35, U+8e42, U+8e44, U+8e47-8e4a, U+8e59, U+8e5f-8e60, U+8e74, U+8e76, U+8e81, U+8e87, U+8e8a, U+8e8d, U+8eaa-8eac, U+8ec0, U+8ecb-8ecc, U+8ed2, U+8edf, U+8eeb, U+8ef8, U+8efb, U+8efe, U+8f03, U+8f05, U+8f09, U+8f12-8f15, U+8f1b-8f1f, U+8f26-8f27, U+8f29-8f2a, U+8f2f, U+8f33, U+8f38-8f39, U+8f3b, U+8f3e-8f3f, U+8f44-8f45, U+8f49, U+8f4d-8f4e, U+8f5d, U+8f5f, U+8f62, U+8f9b-8f9c, U+8fa3, U+8fa6;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-070.woff2) format("woff2");
    unicode-range: U+8941, U+8944, U+895f, U+8964, U+896a, U+8972, U+8981, U+8983, U+8986-8987, U+898f, U+8993, U+8996, U+89a1, U+89a9-89aa, U+89b2, U+89ba, U+89bd, U+89c0, U+89d2, U+89e3, U+89f4, U+89f8, U+8a02-8a03, U+8a08, U+8a0a, U+8a0c, U+8a0e, U+8a13, U+8a16-8a17, U+8a1b, U+8a1d, U+8a1f, U+8a23, U+8a25, U+8a2a, U+8a2d, U+8a31, U+8a34, U+8a36, U+8a3a-8a3b, U+8a50, U+8a54-8a55, U+8a5b, U+8a5e, U+8a60, U+8a62-8a63, U+8a66, U+8a6d-8a6e, U+8a70, U+8a72-8a73, U+8a75, U+8a79, U+8a85, U+8a87, U+8a8c-8a8d, U+8a93, U+8a95, U+8a98, U+8aa0-8aa1, U+8aa3-8aa6, U+8aa8, U+8aaa, U+8ab0, U+8ab2, U+8ab9, U+8abc, U+8abe-8abf, U+8ac2, U+8ac4, U+8ac7, U+8acb, U+8acd, U+8acf, U+8ad2, U+8ad6, U+8adb-8adc, U+8ae1, U+8ae6-8ae7, U+8aea-8aeb, U+8aed-8aee, U+8af1, U+8af6-8af8, U+8afa, U+8afe, U+8b00-8b02, U+8b04, U+8b0e, U+8b10, U+8b14, U+8b16-8b17, U+8b19-8b1b, U+8b1d, U+8b20, U+8b28, U+8b2b-8b2c, U+8b33, U+8b39, U+8b41, U+8b49, U+8b4e-8b4f, U+8b58, U+8b5a, U+8b5c, U+8b66, U+8b6c, U+8b6f-8b70, U+8b74, U+8b77, U+8b7d, U+8b80, U+8b8a, U+8b90, U+8b92-8b93, U+8b96, U+8b9a, U+8c37, U+8c3f, U+8c41, U+8c46, U+8c48, U+8c4a, U+8c4c, U+8c55, U+8c5a, U+8c61;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-071.woff2) format("woff2");
    unicode-range: U+858f, U+8591, U+8594, U+859b, U+85a6, U+85a8-85aa, U+85af-85b0, U+85ba, U+85c1, U+85c9, U+85cd-85cf, U+85d5, U+85dc-85dd, U+85e4-85e5, U+85e9-85ea, U+85f7, U+85fa-85fb, U+85ff, U+8602, U+8606-8607, U+860a, U+8616-8617, U+861a, U+862d, U+863f, U+864e, U+8650, U+8654-8655, U+865b-865c, U+865e-865f, U+8667, U+8679, U+868a, U+868c, U+8693, U+86a3-86a4, U+86a9, U+86c7, U+86cb, U+86d4, U+86d9, U+86db, U+86df, U+86e4, U+86ed, U+86fe, U+8700, U+8702-8703, U+8708, U+8718, U+871a, U+871c, U+874e, U+8755, U+8757, U+875f, U+8766, U+8768, U+8774, U+8776, U+8778, U+8782, U+878d, U+879f, U+87a2, U+87b3, U+87ba, U+87c4, U+87e0, U+87ec, U+87ef, U+87f2, U+87f9, U+87fb, U+87fe, U+8805, U+881f, U+8822-8823, U+8831, U+8836, U+883b, U+8840, U+8846, U+884d, U+8852-8853, U+8857, U+8859, U+885b, U+885d, U+8861-8863, U+8868, U+886b, U+8870, U+8872, U+8877, U+887e-887f, U+8881-8882, U+8888, U+888b, U+888d, U+8892, U+8896-8897, U+889e, U+88ab, U+88b4, U+88c1-88c2, U+88cf, U+88d4-88d5, U+88d9, U+88dc-88dd, U+88df, U+88e1, U+88e8, U+88f3-88f5, U+88f8, U+88fd, U+8907, U+8910, U+8912-8913, U+8918-8919, U+8925, U+892a, U+8936, U+8938, U+893b;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-072.woff2) format("woff2");
    unicode-range: U+82a6, U+82a9, U+82ac-82af, U+82b3, U+82b7-82b9, U+82bb-82bd, U+82bf, U+82d1-82d2, U+82d4-82d5, U+82d7, U+82db, U+82de-82df, U+82e1, U+82e5-82e7, U+82fd-82fe, U+8301-8305, U+8309, U+8317, U+8328, U+832b, U+832f, U+8331, U+8334-8336, U+8338-8339, U+8340, U+8347, U+8349-834a, U+834f, U+8351-8352, U+8373, U+8377, U+837b, U+8389-838a, U+838e, U+8396, U+8398, U+839e, U+83a2, U+83a9-83ab, U+83bd, U+83c1, U+83c5, U+83c9-83ca, U+83cc, U+83d3, U+83d6, U+83dc, U+83e9, U+83eb, U+83ef-83f2, U+83f4, U+83f9, U+83fd, U+8403-8404, U+840a, U+840c-840e, U+8429, U+842c, U+8431, U+8438, U+843d, U+8449, U+8457, U+845b, U+8461, U+8463, U+8466, U+846b-846c, U+846f, U+8475, U+847a, U+8490, U+8494, U+8499, U+849c, U+84a1, U+84b2, U+84b8, U+84bb-84bc, U+84bf-84c0, U+84c2, U+84c4, U+84c6, U+84c9, U+84cb, U+84cd, U+84d1, U+84da, U+84ec, U+84ee, U+84f4, U+84fc, U+8511, U+8513-8514, U+8517-8518, U+851a, U+851e, U+8521, U+8523, U+8525, U+852c-852d, U+852f, U+853d, U+853f, U+8541, U+8543, U+8549, U+854e, U+8553, U+8559, U+8563, U+8568-856a, U+856d, U+8584, U+8587;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-073.woff2) format("woff2");
    unicode-range: U+8033, U+8036, U+803d, U+803f, U+8043, U+8046, U+804a, U+8056, U+8058, U+805a, U+805e, U+806f-8070, U+8072-8073, U+8077, U+807d-807f, U+8084-8087, U+8089, U+808b-808c, U+8096, U+809b, U+809d, U+80a1-80a2, U+80a5, U+80a9-80aa, U+80af, U+80b1-80b2, U+80b4, U+80ba, U+80c3-80c4, U+80cc, U+80ce, U+80da-80db, U+80de, U+80e1, U+80e4-80e5, U+80f1, U+80f4, U+80f8, U+80fd, U+8102, U+8105-8108, U+810a, U+8118, U+811a-811b, U+8123, U+8129, U+812b, U+812f, U+8139, U+813e, U+814b, U+814e, U+8150-8151, U+8154-8155, U+8165-8166, U+816b, U+8170-8171, U+8178-817a, U+817f-8180, U+8188, U+818a, U+818f, U+819a, U+819c-819d, U+81a0, U+81a3, U+81a8, U+81b3, U+81b5, U+81ba, U+81bd-81c0, U+81c2, U+81c6, U+81cd, U+81d8, U+81df, U+81e3, U+81e5, U+81e7-81e8, U+81ed, U+81f3-81f4, U+81fa-81fc, U+81fe, U+8205, U+8208, U+820a, U+820c-820d, U+8212, U+821b-821c, U+821e-821f, U+8221, U+822a-822c, U+8235-8237, U+8239, U+8240, U+8245, U+8247, U+8259, U+8264, U+8266, U+826e-826f, U+8271, U+8276, U+8278, U+827e, U+828b, U+828d-828e, U+8292, U+8299-829a, U+829d, U+829f, U+82a5;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-074.woff2) format("woff2");
    unicode-range: U+7d2f-7d30, U+7d33, U+7d35, U+7d39-7d3a, U+7d42-7d46, U+7d50, U+7d5e, U+7d61-7d62, U+7d66, U+7d68, U+7d6a, U+7d6e, U+7d71-7d73, U+7d76, U+7d79, U+7d7f, U+7d8e-7d8f, U+7d93, U+7d9c, U+7da0, U+7da2, U+7dac-7dad, U+7db1-7db2, U+7db4-7db5, U+7db8, U+7dba-7dbb, U+7dbd-7dbf, U+7dc7, U+7dca-7dcb, U+7dd6, U+7dd8, U+7dda, U+7ddd-7dde, U+7de0-7de1, U+7de3, U+7de8-7de9, U+7dec, U+7def, U+7df4, U+7dfb, U+7e09-7e0a, U+7e15, U+7e1b, U+7e1d-7e1f, U+7e21, U+7e23, U+7e2b, U+7e2e-7e2f, U+7e31, U+7e37, U+7e3d-7e3e, U+7e43, U+7e46-7e47, U+7e52, U+7e54-7e55, U+7e5e, U+7e61, U+7e69-7e6b, U+7e6d, U+7e70, U+7e79, U+7e7c, U+7e82, U+7e8c, U+7e8f, U+7e93, U+7e96, U+7e98, U+7e9b-7e9c, U+7f36, U+7f38, U+7f3a, U+7f4c, U+7f50, U+7f54-7f55, U+7f6a-7f6b, U+7f6e, U+7f70, U+7f72, U+7f75, U+7f77, U+7f79, U+7f85, U+7f88, U+7f8a, U+7f8c, U+7f94, U+7f9a, U+7f9e, U+7fa4, U+7fa8-7fa9, U+7fb2, U+7fb8-7fb9, U+7fbd, U+7fc1, U+7fc5, U+7fca, U+7fcc, U+7fce, U+7fd2, U+7fd4-7fd5, U+7fdf-7fe1, U+7fe9, U+7feb, U+7ff0, U+7ff9, U+7ffc, U+8000-8001, U+8003, U+8006, U+8009, U+800c, U+8010, U+8015, U+8017-8018, U+802d;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-075.woff2) format("woff2");
    unicode-range: U+7a49, U+7a4d-7a4e, U+7a57, U+7a61-7a62, U+7a69, U+7a6b, U+7a70, U+7a74, U+7a76, U+7a79, U+7a7d, U+7a7f, U+7a81, U+7a84, U+7a88, U+7a92-7a93, U+7a95, U+7a98, U+7a9f, U+7aa9-7aaa, U+7aae-7aaf, U+7aba, U+7ac4-7ac5, U+7ac7, U+7aca, U+7ad7, U+7ad9, U+7add, U+7adf-7ae0, U+7ae3, U+7ae5, U+7aea, U+7aed, U+7aef, U+7af6, U+7af9-7afa, U+7aff, U+7b0f, U+7b11, U+7b19, U+7b1b, U+7b1e, U+7b20, U+7b26, U+7b2d, U+7b39, U+7b46, U+7b49, U+7b4b-7b4d, U+7b4f-7b52, U+7b54, U+7b56, U+7b60, U+7b6c, U+7b6e, U+7b75, U+7b7d, U+7b87, U+7b8b, U+7b8f, U+7b94-7b95, U+7b97, U+7b9a, U+7b9d, U+7ba1, U+7bad, U+7bb1, U+7bb4, U+7bb8, U+7bc0-7bc1, U+7bc4, U+7bc6-7bc7, U+7bc9, U+7bd2, U+7be0, U+7be4, U+7be9, U+7c07, U+7c12, U+7c1e, U+7c21, U+7c27, U+7c2a-7c2b, U+7c3d-7c3f, U+7c43, U+7c4c-7c4d, U+7c60, U+7c64, U+7c6c, U+7c73, U+7c83, U+7c89, U+7c92, U+7c95, U+7c97-7c98, U+7c9f, U+7ca5, U+7ca7, U+7cae, U+7cb1-7cb3, U+7cb9, U+7cbe, U+7cca, U+7cd6, U+7cde-7ce0, U+7ce7, U+7cfb, U+7cfe, U+7d00, U+7d02, U+7d04-7d08, U+7d0a-7d0b, U+7d0d, U+7d10, U+7d14, U+7d17-7d1b, U+7d20-7d21, U+7d2b-7d2c, U+7d2e;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-076.woff2) format("woff2");
    unicode-range: U+7704, U+7708-7709, U+770b, U+771e, U+7720, U+7729, U+7737-7738, U+773a, U+773c, U+7740, U+774d, U+775b, U+7761, U+7763, U+7766, U+776b, U+7779, U+777e-777f, U+778b, U+7791, U+779e, U+77a5, U+77ac-77ad, U+77b0, U+77b3, U+77bb-77bc, U+77bf, U+77d7, U+77db-77dc, U+77e2-77e3, U+77e9, U+77ed-77ef, U+7802, U+7812, U+7825-7827, U+782c, U+7832, U+7834, U+7845, U+784f, U+785d, U+786b-786c, U+786f, U+787c, U+7881, U+7887, U+788c-788e, U+7891, U+7897, U+78a3, U+78a7, U+78a9, U+78ba-78bc, U+78c1, U+78c5, U+78ca-78cb, U+78ce, U+78d0, U+78e8, U+78ec, U+78ef, U+78f5, U+78fb, U+7901, U+790e, U+7916, U+792a-792c, U+793a, U+7940-7941, U+7947-7949, U+7950, U+7956-7957, U+795a-795d, U+7960, U+7965, U+7968, U+796d, U+797a, U+797f, U+7981, U+798d-798e, U+7991, U+79a6-79a7, U+79aa, U+79ae, U+79b1, U+79b3, U+79b9, U+79bd-79c1, U+79c9-79cb, U+79d2, U+79d5, U+79d8, U+79df, U+79e4, U+79e6-79e7, U+79e9, U+79fb, U+7a00, U+7a05, U+7a08, U+7a0b, U+7a0d, U+7a14, U+7a17, U+7a19-7a1a, U+7a1c, U+7a1f-7a20, U+7a2e, U+7a31, U+7a36-7a37, U+7a3b-7a3d, U+7a3f-7a40, U+7a46;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-077.woff2) format("woff2");
    unicode-range: U+7482-7483, U+7487, U+7489, U+748b, U+7498, U+749c, U+749e-749f, U+74a1, U+74a3, U+74a5, U+74a7-74a8, U+74aa, U+74b0, U+74b2, U+74b5, U+74b9, U+74bd, U+74bf, U+74c6, U+74ca, U+74cf, U+74d4, U+74d8, U+74da, U+74dc, U+74e0, U+74e2-74e3, U+74e6, U+74ee, U+74f7, U+7501, U+7504, U+7511, U+7515, U+7518, U+751a-751b, U+7523, U+7525-7526, U+752b-752c, U+7531, U+7533, U+7538, U+753a, U+7547, U+754c, U+754f, U+7551, U+7553-7554, U+7559, U+755b-755d, U+7562, U+7565-7566, U+756a, U+756f-7570, U+7575-7576, U+7578, U+757a, U+757f, U+7586-7587, U+758a-758b, U+758e-758f, U+7591, U+759d, U+75a5, U+75ab, U+75b1-75b3, U+75b5, U+75b8-75b9, U+75bc-75be, U+75c2, U+75c5, U+75c7, U+75cd, U+75d2, U+75d4-75d5, U+75d8-75d9, U+75db, U+75e2, U+75f0, U+75f2, U+75f4, U+75fa, U+75fc, U+7600, U+760d, U+7619, U+761f-7622, U+7624, U+7626, U+763b, U+7642, U+764c, U+764e, U+7652, U+7656, U+7661, U+7664, U+7669, U+766c, U+7670, U+7672, U+7678, U+7686-7687, U+768e, U+7690, U+7693, U+76ae, U+76ba, U+76bf, U+76c2-76c3, U+76c6, U+76c8, U+76ca, U+76d2, U+76d6, U+76db-76dc, U+76de-76df, U+76e1, U+76e3-76e4, U+76e7, U+76f2, U+76fc, U+76fe, U+7701;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-078.woff2) format("woff2");
    unicode-range: U+7230, U+7232, U+7235, U+723a-723b, U+723d-723e, U+7240, U+7246-7248, U+724c, U+7252, U+7258-7259, U+725b, U+725d, U+725f, U+7261-7262, U+7267, U+7272, U+727d, U+7280-7281, U+72a2, U+72a7, U+72ac, U+72af, U+72c0, U+72c2, U+72c4, U+72ce, U+72d0, U+72d7, U+72d9, U+72e1, U+72e9, U+72f8-72f9, U+72fc-72fd, U+730a, U+7316, U+731b-731d, U+7325, U+7329-732b, U+7336-7337, U+733e-733f, U+7344-7345, U+7350, U+7352, U+7357, U+7368, U+736a, U+7370, U+7372, U+7375, U+7378, U+737a-737b, U+7384, U+7386-7387, U+7389, U+738e, U+7394, U+7396-7398, U+739f, U+73a7, U+73a9, U+73ad, U+73b2-73b3, U+73b9, U+73c0, U+73c2, U+73c9-73ca, U+73cc-73cd, U+73cf, U+73d6, U+73d9, U+73dd-73de, U+73e0, U+73e3-73e6, U+73e9-73ea, U+73ed, U+73f7, U+73f9, U+73fd-73fe, U+7401, U+7403, U+7405, U+7407, U+7409, U+7413, U+741b, U+7420-7422, U+7425-7426, U+7428, U+742a-742c, U+742e-7430, U+7433-7436, U+7438, U+743a, U+743f-7441, U+7443-7444, U+744b, U+7455, U+7457, U+7459-745c, U+745e-7460, U+7462, U+7464-7465, U+7468-746a, U+746f, U+747e;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-079.woff2) format("woff2");
    unicode-range: U+6f8d-6f8e, U+6f90, U+6f94, U+6f97, U+6fa3-6fa4, U+6fa7, U+6fae-6faf, U+6fb1, U+6fb3, U+6fb9, U+6fbe, U+6fc0-6fc3, U+6fca, U+6fd5, U+6fda, U+6fdf-6fe1, U+6fe4, U+6fe9, U+6feb-6fec, U+6fef, U+6ff1, U+6ffe, U+7001, U+7005-7006, U+7009, U+700b, U+700f, U+7011, U+7015, U+7018, U+701a-701f, U+7023, U+7027-7028, U+702f, U+7037, U+703e, U+704c, U+7050-7051, U+7058, U+705d, U+7070, U+7078, U+707c-707d, U+7085, U+708a, U+708e, U+7092, U+7098-709a, U+70a1, U+70a4, U+70ab-70ad, U+70af, U+70b3, U+70b7-70b9, U+70c8, U+70cb, U+70cf, U+70d8-70d9, U+70dd, U+70df, U+70f1, U+70f9, U+70fd, U+7104, U+7109, U+710c, U+7119-711a, U+711e, U+7126, U+7130, U+7136, U+7147, U+7149-714a, U+714c, U+714e, U+7150, U+7156, U+7159, U+715c, U+715e, U+7164-7167, U+7169, U+716c, U+716e, U+717d, U+7184, U+7189-718a, U+718f, U+7192, U+7194, U+7199, U+719f, U+71a2, U+71ac, U+71b1, U+71b9-71ba, U+71be, U+71c1, U+71c3, U+71c8-71c9, U+71ce, U+71d0, U+71d2, U+71d4-71d5, U+71df, U+71e5-71e7, U+71ed-71ee, U+71fb-71fc, U+71fe-7200, U+7206, U+7210, U+721b, U+722a, U+722c-722d;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-080.woff2) format("woff2");
    unicode-range: U+6d5a, U+6d5c, U+6d63, U+6d66, U+6d69-6d6a, U+6d6c, U+6d6e, U+6d74, U+6d78-6d79, U+6d7f, U+6d85, U+6d87-6d89, U+6d8c-6d8e, U+6d91, U+6d93, U+6d95, U+6daf, U+6db2, U+6db5, U+6dc0, U+6dc3-6dc7, U+6dcb, U+6dcf, U+6dd1, U+6dd8-6dda, U+6dde, U+6de1, U+6de8, U+6dea-6deb, U+6dee, U+6df1, U+6df3, U+6df5, U+6df7-6dfb, U+6e17, U+6e19-6e1b, U+6e1f-6e21, U+6e23-6e26, U+6e2b-6e2d, U+6e32, U+6e34, U+6e36, U+6e38, U+6e3a, U+6e3c-6e3e, U+6e43-6e44, U+6e4a, U+6e4d, U+6e56, U+6e58, U+6e5b-6e5c, U+6e5e-6e5f, U+6e67, U+6e6b, U+6e6e-6e6f, U+6e72-6e73, U+6e7a, U+6e90, U+6e96, U+6e9c-6e9d, U+6e9f, U+6ea2, U+6ea5, U+6eaa-6eab, U+6eaf, U+6eb1, U+6eb6, U+6eba, U+6ec2, U+6ec4-6ec5, U+6ec9, U+6ecb-6ecc, U+6ece, U+6ed1, U+6ed3-6ed4, U+6eef, U+6ef4, U+6ef8, U+6efe-6eff, U+6f01-6f02, U+6f06, U+6f0f, U+6f11, U+6f14-6f15, U+6f20, U+6f22-6f23, U+6f2b-6f2c, U+6f31-6f32, U+6f38, U+6f3f, U+6f41, U+6f51, U+6f54, U+6f57-6f58, U+6f5a-6f5b, U+6f5e-6f5f, U+6f62, U+6f64, U+6f6d-6f6e, U+6f70, U+6f7a, U+6f7c-6f7e, U+6f81, U+6f84, U+6f88;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-081.woff2) format("woff2");
    unicode-range: U+6ada-6adb, U+6af6, U+6afb, U+6b04, U+6b0a, U+6b0c, U+6b12, U+6b16, U+6b20-6b21, U+6b23, U+6b32, U+6b3a, U+6b3d-6b3e, U+6b46-6b47, U+6b4e, U+6b50, U+6b5f, U+6b61-6b62, U+6b64-6b66, U+6b6a, U+6b72, U+6b77-6b78, U+6b7b, U+6b7f, U+6b83-6b84, U+6b86, U+6b89-6b8a, U+6b96, U+6b98, U+6b9e, U+6bae-6baf, U+6bb2, U+6bb5, U+6bb7, U+6bba, U+6bbc, U+6bbf, U+6bc1, U+6bc5-6bc6, U+6bcb, U+6bcf, U+6bd2-6bd3, U+6bd6-6bd8, U+6bdb, U+6beb-6bec, U+6c08, U+6c0f, U+6c13, U+6c23, U+6c37-6c38, U+6c3e, U+6c40-6c42, U+6c4e, U+6c50, U+6c55, U+6c57, U+6c5a, U+6c5d-6c60, U+6c68, U+6c6a, U+6c6d, U+6c70, U+6c72, U+6c76, U+6c7a, U+6c7d-6c7e, U+6c81-6c83, U+6c85-6c88, U+6c8c, U+6c90, U+6c92-6c96, U+6c99-6c9b, U+6cab, U+6cae, U+6cb3, U+6cb8-6cb9, U+6cbb-6cbf, U+6cc1-6cc2, U+6cc4, U+6cc9-6cca, U+6ccc, U+6cd3, U+6cd7, U+6cdb, U+6ce1-6ce3, U+6ce5, U+6ce8, U+6ceb, U+6cee-6cf0, U+6cf3, U+6d0b-6d0c, U+6d11, U+6d17, U+6d19, U+6d1b, U+6d1e, U+6d25, U+6d27, U+6d29, U+6d32, U+6d35-6d36, U+6d38-6d39, U+6d3b, U+6d3d-6d3e, U+6d41, U+6d59;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-082.woff2) format("woff2");
    unicode-range: U+67f0-67f1, U+67f3-67f6, U+67fb, U+67fe, U+6812-6813, U+6816-6817, U+6821-6822, U+682f, U+6838-6839, U+683d, U+6840-6843, U+6848, U+684e, U+6850-6851, U+6853-6854, U+686d, U+6876, U+687f, U+6881, U+6885, U+688f, U+6893-6894, U+6897, U+689d, U+689f, U+68a1-68a2, U+68a7-68a8, U+68ad, U+68af-68b1, U+68b3, U+68b5-68b6, U+68c4-68c5, U+68c9, U+68cb, U+68cd, U+68d2, U+68d5, U+68d7-68d8, U+68da, U+68df-68e0, U+68e7-68e8, U+68ee, U+68f2, U+68f9-68fa, U+6900, U+6905, U+690d-690e, U+6912, U+6927, U+6930, U+693d, U+693f, U+694a, U+6953-6955, U+6957, U+6959-695a, U+695e, U+6960-6963, U+6968, U+696b, U+696d-696f, U+6975, U+6977-6979, U+6995, U+699b-699c, U+69a5, U+69a7, U+69ae, U+69b4, U+69bb, U+69c1, U+69c3, U+69cb-69cd, U+69d0, U+69e8, U+69ea, U+69fb, U+69fd, U+69ff, U+6a02, U+6a0a, U+6a11, U+6a13, U+6a17, U+6a19, U+6a1e-6a1f, U+6a21, U+6a23, U+6a35, U+6a38-6a3a, U+6a3d, U+6a44, U+6a48, U+6a4b, U+6a52-6a53, U+6a58-6a59, U+6a5f, U+6a61, U+6a6b, U+6a80, U+6a84, U+6a89, U+6a8d-6a8e, U+6a97, U+6a9c, U+6aa3, U+6ab3, U+6abb, U+6ac2-6ac3, U+6ad3;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-083.woff2) format("woff2");
    unicode-range: U+6607, U+6609-660a, U+660c, U+660f-6611, U+6613-6615, U+661e, U+6620, U+6627-6628, U+662d, U+6630-6631, U+6634, U+6636, U+663a-663b, U+6641, U+6643-6644, U+6649, U+664b, U+664f, U+6659, U+665b, U+665d-665f, U+6664-6669, U+666b, U+666e-666f, U+6673-6674, U+6676-6678, U+6684, U+6687-6689, U+668e, U+6690-6691, U+6696-6698, U+669d, U+66a0, U+66a2, U+66ab, U+66ae, U+66b2-66b4, U+66b9, U+66bb, U+66be, U+66c4, U+66c6-66c7, U+66c9, U+66d6, U+66d9, U+66dc-66dd, U+66e0, U+66e6, U+66f0, U+66f2-66f4, U+66f7, U+66f9-66fa, U+66fc, U+66fe-66ff, U+6703, U+670b, U+670d, U+6714-6715, U+6717, U+671b, U+671d-671f, U+6726-6727, U+672a-672b, U+672d-672e, U+6731, U+6736, U+673a, U+673d, U+6746, U+6749, U+674e-6751, U+6753, U+6756, U+675c, U+675e-675f, U+676d, U+676f-6770, U+6773, U+6775, U+6777, U+677b, U+677e-677f, U+6787, U+6789, U+678b, U+678f-6790, U+6793, U+6795, U+679a, U+679d, U+67af-67b0, U+67b3, U+67b6-67b8, U+67be, U+67c4, U+67cf-67d4, U+67da, U+67dd, U+67e9, U+67ec, U+67ef;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-084.woff2) format("woff2");
    unicode-range: U+6392, U+6396, U+6398, U+639b, U+63a0-63a2, U+63a5, U+63a7-63aa, U+63c0, U+63c4, U+63c6, U+63cf, U+63d6, U+63da-63db, U+63e1, U+63ed-63ee, U+63f4, U+63f6-63f7, U+640d, U+640f, U+6414, U+6416-6417, U+641c, U+6422, U+642c-642d, U+643a, U+643e, U+6458, U+6460, U+6469, U+646f, U+6478-647a, U+6488, U+6491-6493, U+649a, U+649e, U+64a4-64a5, U+64ab, U+64ad-64ae, U+64b0, U+64b2, U+64bb, U+64c1, U+64c4-64c5, U+64c7, U+64ca, U+64cd-64ce, U+64d2, U+64d4, U+64d8, U+64da, U+64e1-64e2, U+64e5-64e7, U+64ec, U+64f2, U+64f4, U+64fa, U+64fe, U+6500, U+6504, U+6518, U+651d, U+6523, U+652a-652c, U+652f, U+6536-6539, U+653b, U+653e, U+6548, U+654d-654f, U+6551, U+6556-6557, U+655e, U+6562-6563, U+6566, U+656c-656d, U+6572, U+6574-6575, U+6577-6578, U+657e, U+6582-6583, U+6585, U+658c, U+6590-6591, U+6597, U+6599, U+659b-659c, U+659f, U+65a1, U+65a4-65a5, U+65a7, U+65ab-65ac, U+65af, U+65b7, U+65bc-65bd, U+65c1, U+65c5, U+65cb-65cc, U+65cf, U+65d2, U+65d7, U+65e0, U+65e3, U+65e6, U+65e8-65e9, U+65ec-65ed, U+65f1, U+65f4, U+65fa-65fd, U+65ff, U+6606;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-085.woff2) format("woff2");
    unicode-range: U+614c, U+6153, U+6155, U+6158-6159, U+615d, U+615f, U+6162-6164, U+6167-6168, U+616b, U+616e, U+6170, U+6176-6177, U+617d-617e, U+6181-6182, U+618a, U+618e, U+6190-6191, U+6194, U+6198-619a, U+61a4, U+61a7, U+61a9, U+61ab-61ac, U+61ae, U+61b2, U+61b6, U+61ba, U+61be, U+61c3, U+61c7-61cb, U+61e6, U+61f2, U+61f6-61f8, U+61fa, U+61fc, U+61ff-6200, U+6207-6208, U+620a, U+620c-620e, U+6212, U+6216, U+621a, U+621f, U+6221, U+622a, U+622e, U+6230-6231, U+6234, U+6236, U+623e-623f, U+6241, U+6247-6249, U+624d, U+6253, U+6258, U+626e, U+6271, U+6276, U+6279, U+627c, U+627f-6280, U+6284, U+6289-628a, U+6291-6292, U+6295, U+6297-6298, U+629b, U+62ab, U+62b1, U+62b5, U+62b9, U+62bc-62bd, U+62c2, U+62c7-62c9, U+62cc-62cd, U+62cf-62d0, U+62d2-62d4, U+62d6-62d9, U+62db-62dc, U+62ec-62ef, U+62f1, U+62f3, U+62f7, U+62fe-62ff, U+6301, U+6307, U+6309, U+6311, U+632b, U+632f, U+633a-633b, U+633d-633e, U+6349, U+634c, U+634f-6350, U+6355, U+6367-6368, U+636e, U+6372, U+6377, U+637a-637b, U+637f, U+6383, U+6388-6389, U+638c;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-086.woff2) format("woff2");
    unicode-range: U+5f11, U+5f13-5f15, U+5f17-5f18, U+5f1b, U+5f1f, U+5f26-5f27, U+5f29, U+5f31, U+5f35, U+5f3a, U+5f3c, U+5f48, U+5f4a, U+5f4c, U+5f4e, U+5f56-5f57, U+5f59, U+5f5b, U+5f62, U+5f66-5f67, U+5f69-5f6d, U+5f70-5f71, U+5f77, U+5f79, U+5f7c, U+5f7f-5f81, U+5f85, U+5f87, U+5f8a-5f8b, U+5f90-5f92, U+5f98-5f99, U+5f9e, U+5fa0-5fa1, U+5fa8-5faa, U+5fae, U+5fb5, U+5fb9, U+5fbd, U+5fc5, U+5fcc-5fcd, U+5fd6-5fd9, U+5fe0, U+5feb, U+5ff5, U+5ffd, U+5fff, U+600f, U+6012, U+6016, U+601c, U+6020-6021, U+6025, U+6028, U+602a, U+602f, U+6041-6043, U+604d, U+6050, U+6052, U+6055, U+6059, U+605d, U+6062-6065, U+6068-606a, U+606c-606d, U+606f-6070, U+6085, U+6089, U+608c-608d, U+6094, U+6096, U+609a-609b, U+609f-60a0, U+60a3-60a4, U+60a7, U+60b0, U+60b2-60b4, U+60b6, U+60b8, U+60bc-60bd, U+60c7, U+60d1, U+60da, U+60dc, U+60df-60e1, U+60f0-60f1, U+60f6, U+60f9-60fb, U+6101, U+6106, U+6108-6109, U+610d-610e, U+6115, U+611a, U+6127, U+6130, U+6134, U+6137, U+613c, U+613e-613f, U+6142, U+6144, U+6147-6148, U+614a-614b;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-087.woff2) format("woff2");
    unicode-range: U+5c40, U+5c45-5c46, U+5c48, U+5c4b, U+5c4d-5c4e, U+5c51, U+5c5b, U+5c60, U+5c62, U+5c64-5c65, U+5c6c, U+5c6f, U+5c79, U+5c90-5c91, U+5ca1, U+5ca9, U+5cab-5cac, U+5cb1, U+5cb3, U+5cb5, U+5cb7-5cb8, U+5cba, U+5cbe, U+5cc0, U+5cd9, U+5ce0, U+5ce8, U+5cef-5cf0, U+5cf4, U+5cf6, U+5cfb, U+5cfd, U+5d07, U+5d0d-5d0e, U+5d11, U+5d14, U+5d16-5d17, U+5d19, U+5d27, U+5d29, U+5d4b-5d4c, U+5d50, U+5d69, U+5d6c, U+5d6f, U+5d87, U+5d8b, U+5d9d, U+5da0, U+5da2, U+5daa, U+5db8, U+5dba, U+5dbc-5dbd, U+5dcd, U+5dd2, U+5dd6, U+5de1-5de2, U+5de5-5de8, U+5deb, U+5dee, U+5df1-5df4, U+5df7, U+5dfd-5dfe, U+5e03, U+5e06, U+5e11, U+5e16, U+5e19, U+5e1b, U+5e1d, U+5e25, U+5e2b, U+5e2d, U+5e33, U+5e36, U+5e38, U+5e3d, U+5e3f-5e40, U+5e44-5e45, U+5e47, U+5e4c, U+5e55, U+5e5f, U+5e61-5e63, U+5e72, U+5e77-5e79, U+5e7b-5e7e, U+5e84, U+5e87, U+5e8a, U+5e8f, U+5e95, U+5e97, U+5e9a, U+5e9c, U+5ea0, U+5ea7, U+5eab, U+5ead, U+5eb5-5eb8, U+5ebe, U+5ec2, U+5ec8-5eca, U+5ed0, U+5ed3, U+5ed6, U+5eda-5edb, U+5edf-5ee0, U+5ee2-5ee3, U+5eec, U+5ef3, U+5ef6-5ef7, U+5efa-5efb, U+5f01, U+5f04, U+5f0a;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-088.woff2) format("woff2");
    unicode-range: U+59be, U+59c3, U+59c6, U+59c9, U+59cb, U+59d0-59d1, U+59d3-59d4, U+59d9-59da, U+59dc-59dd, U+59e6, U+59e8, U+59ea, U+59ec, U+59ee, U+59f8, U+59fb, U+59ff, U+5a01, U+5a03, U+5a11, U+5a18, U+5a1b-5a1c, U+5a1f-5a20, U+5a25, U+5a29, U+5a36, U+5a3c, U+5a41, U+5a46, U+5a49, U+5a5a, U+5a62, U+5a66, U+5a92, U+5a9a-5a9b, U+5aa4, U+5ac1-5ac2, U+5ac4, U+5ac9, U+5acc, U+5ae1, U+5ae6, U+5ae9, U+5b05, U+5b09, U+5b0b-5b0c, U+5b16, U+5b2a, U+5b40, U+5b43, U+5b51, U+5b54-5b55, U+5b58, U+5b5a, U+5b5c-5b5d, U+5b5f, U+5b63-5b64, U+5b69, U+5b6b, U+5b70-5b71, U+5b75, U+5b7a, U+5b7c, U+5b85, U+5b87-5b88, U+5b8b, U+5b8f, U+5b93, U+5b95-5b99, U+5b9b-5b9c, U+5ba2-5ba6, U+5bac, U+5bae, U+5bb0, U+5bb3-5bb5, U+5bb8-5bb9, U+5bbf-5bc0, U+5bc2-5bc7, U+5bcc, U+5bd0, U+5bd2-5bd4, U+5bd7, U+5bde-5bdf, U+5be1-5be2, U+5be4-5be9, U+5beb-5bec, U+5bee-5bef, U+5bf5-5bf6, U+5bf8, U+5bfa, U+5c01, U+5c04, U+5c07-5c0b, U+5c0d-5c0e, U+5c16, U+5c19, U+5c24, U+5c28, U+5c31, U+5c38-5c3c, U+5c3e-5c3f;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-089.woff2) format("woff2");
    unicode-range: U+5703-5704, U+5708, U+570d, U+5712-5713, U+5716, U+5718, U+572d, U+573b, U+5740, U+5742, U+5747, U+574a, U+574d-574e, U+5750-5751, U+5761, U+5764, U+5766, U+576a, U+576e, U+5770, U+5775, U+577c, U+5782, U+5788, U+578b, U+5793, U+57a0, U+57a2-57a3, U+57c3, U+57c7-57c8, U+57cb, U+57df-57e0, U+57f0, U+57f4, U+57f7, U+57f9-57fa, U+57fc, U+5800, U+5802, U+5805-5806, U+5808-580a, U+581e, U+5821, U+5824, U+5827, U+582a, U+582f-5831, U+5835, U+583a, U+584a-584b, U+584f, U+5851, U+5854, U+5857-5858, U+585a, U+585e, U+5861-5862, U+5864, U+5875, U+5879, U+587c, U+587e, U+5883, U+5885, U+5889, U+5893, U+589c, U+589e-589f, U+58a8-58a9, U+58ae, U+58b3, U+58ba-58bb, U+58be, U+58c1, U+58c5, U+58c7, U+58ce, U+58d1, U+58d3, U+58d5, U+58d8-58d9, U+58de-58df, U+58e4, U+58ec, U+58ef, U+58f9-58fb, U+58fd, U+590f, U+5914-5915, U+5919, U+5922, U+592d-592e, U+5931, U+5937, U+593e, U+5944, U+5947-5949, U+594e-5951, U+5954-5955, U+5957, U+595a, U+5960, U+5962, U+5967, U+596a-596e, U+5974, U+5978, U+5982-5984, U+598a, U+5993, U+5996-5997, U+5999, U+59a5, U+59a8, U+59ac, U+59b9, U+59bb;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-090.woff2) format("woff2");
    unicode-range: U+539a, U+53a0, U+53a5-53a6, U+53ad, U+53bb, U+53c3, U+53c8-53cb, U+53cd, U+53d4, U+53d6-53d7, U+53db, U+53e1-53e3, U+53e5, U+53e9-53ed, U+53f1, U+53f3, U+53f8, U+5403-5404, U+540a, U+540e-5411, U+541b, U+541d, U+541f-5420, U+5426, U+5429, U+542b, U+5433, U+5438-5439, U+543b-543c, U+543e, U+5442, U+5448, U+544a, U+5451, U+5468, U+546a, U+5471, U+5473, U+5475, U+547b-547d, U+5480, U+5486, U+548e, U+5490, U+54a4, U+54a8, U+54ab-54ac, U+54b3, U+54b8, U+54bd, U+54c0, U+54c4, U+54c8-54c9, U+54e1, U+54e5, U+54e8, U+54ed-54ee, U+54f2, U+54fa, U+5504, U+5506-5507, U+550e, U+5510, U+551c, U+552f, U+5531, U+5535, U+553e, U+5544, U+5546, U+554f, U+5553, U+5556, U+555e, U+5563, U+557c, U+5580, U+5584, U+5586-5587, U+5589-558a, U+5598-559a, U+559c-559d, U+55a7, U+55a9-55ac, U+55ae, U+55c5, U+55c7, U+55d4, U+55da, U+55dc, U+55df, U+55e3-55e4, U+55fd-55fe, U+5606, U+5609, U+5614, U+5617, U+562f, U+5632, U+5634, U+5636, U+5653, U+5668, U+566b, U+5674, U+5686, U+56a5, U+56ac, U+56ae, U+56b4, U+56bc, U+56ca, U+56cd, U+56d1, U+56da-56db, U+56de, U+56e0, U+56f0, U+56f9-56fa;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-091.woff2) format("woff2");
    unicode-range: U+516e, U+5175-5178, U+517c, U+5180, U+5186, U+518a, U+518d, U+5192, U+5195, U+5197, U+51a0, U+51a5, U+51aa, U+51ac, U+51b6-51b7, U+51bd, U+51c4, U+51c6, U+51c9, U+51cb-51cd, U+51dc-51de, U+51e1, U+51f0-51f1, U+51f6, U+51f8-51f9, U+51fd, U+5200, U+5203, U+5207-5208, U+520a, U+520e, U+5211, U+5217, U+521d, U+5224-5225, U+522a, U+522e, U+5230, U+5236-523b, U+5243, U+5247, U+524a-524c, U+5254, U+5256, U+525b, U+525d, U+5261, U+5269-526a, U+526f, U+5272, U+5275, U+527d, U+527f, U+5283, U+5287-5289, U+528d, U+5291-5292, U+529f, U+52a3-52a4, U+52a9-52ab, U+52be, U+52c1, U+52c3, U+52c5, U+52c7, U+52c9, U+52cd, U+52d2, U+52d6, U+52d8-52d9, U+52db, U+52dd-52df, U+52e2-52e4, U+52f3, U+52f5, U+52f8, U+52fa-52fb, U+52fe-52ff, U+5305, U+5308, U+530d, U+530f-5310, U+5315, U+5319, U+5320-5321, U+5323, U+532a, U+532f, U+5339, U+533f-5341, U+5343-5344, U+5347-534a, U+534d, U+5351-5354, U+535a, U+535c, U+535e, U+5360, U+5366, U+5368, U+536f-5371, U+5374-5375, U+5377, U+537d, U+537f, U+5384, U+5393, U+5398;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-092.woff2) format("woff2");
    unicode-range: U+4f43, U+4f46-4f48, U+4f4d-4f51, U+4f55, U+4f59-4f5a, U+4f69, U+4f6f-4f70, U+4f73, U+4f76, U+4f7a, U+4f7e-4f7f, U+4f81, U+4f83-4f84, U+4f86, U+4f88, U+4f8a-4f8b, U+4f8d, U+4f8f, U+4f91, U+4f96, U+4f98, U+4f9b, U+4f9d, U+4fae-4faf, U+4fb5-4fb6, U+4fbf, U+4fc2-4fc4, U+4fc9-4fca, U+4fce, U+4fd1, U+4fd3-4fd4, U+4fd7, U+4fda, U+4fdf-4fe0, U+4fee-4fef, U+4ff1, U+4ff3, U+4ff5, U+4ff8, U+4ffa, U+5002, U+5006, U+5009, U+500b, U+500d, U+5011-5012, U+5016, U+5019-501a, U+501c, U+501e-501f, U+5021, U+5023-5024, U+5026-5028, U+502a-502d, U+503b, U+5043, U+5047-5049, U+504f, U+5055, U+505a, U+505c, U+5065, U+5074-5076, U+5078, U+5080, U+5085, U+508d, U+5091, U+5098-5099, U+50ac-50ad, U+50b2-50b3, U+50b5, U+50b7, U+50be, U+50c5, U+50c9-50ca, U+50d1, U+50d5-50d6, U+50da, U+50de, U+50e5, U+50e7, U+50ed, U+50f9, U+50fb, U+50ff-5101, U+5104, U+5106, U+5109, U+5112, U+511f, U+5121, U+512a, U+5132, U+5137, U+513a, U+513c, U+5140-5141, U+5143-5148, U+514b-514e, U+5152, U+515c, U+5162, U+5169-516b, U+516d;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-093.woff2) format("woff2");
    unicode-range: U+338c-339c, U+339f-33a0, U+33a2-33cb, U+33cf-33d0, U+33d3, U+33d6, U+33d8, U+33db-33dd, U+4e01, U+4e03, U+4e07-4e08, U+4e11, U+4e14-4e15, U+4e18-4e19, U+4e1e, U+4e32, U+4e38-4e39, U+4e42-4e43, U+4e45, U+4e4d-4e4f, U+4e56, U+4e58-4e59, U+4e5d-4e5e, U+4e6b, U+4e6d, U+4e73, U+4e76-4e77, U+4e7e, U+4e82, U+4e86, U+4e88, U+4e8e, U+4e90-4e92, U+4e94-4e95, U+4e98, U+4e9b, U+4e9e, U+4ea1-4ea2, U+4ea4-4ea6, U+4ea8, U+4eab, U+4ead-4eae, U+4eb6, U+4ec0-4ec1, U+4ec4, U+4ec7, U+4ecb, U+4ecd, U+4ed4-4ed5, U+4ed7-4ed9, U+4edd, U+4edf, U+4ee4, U+4ef0, U+4ef2, U+4ef6-4ef7, U+4efb, U+4f01, U+4f09, U+4f0b, U+4f0d-4f11, U+4f2f, U+4f34, U+4f36, U+4f38, U+4f3a, U+4f3c-4f3d;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-094.woff2) format("woff2");
    unicode-range: U+3136, U+3138, U+313a-3140, U+3143-3144, U+3150, U+3152, U+3154-3156, U+3158-315b, U+315d-315f, U+3162, U+3164-318c, U+318e, U+3200-321b, U+3231, U+3239, U+3251-325a, U+3260-327b, U+327e-327f, U+328a-3290, U+3294, U+329e, U+32a5, U+3380-3384, U+3388-338b;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-095.woff2) format("woff2");
    unicode-range: U+2f7d, U+2f7f-2f8b, U+2f8e-2f90, U+2f92-2f97, U+2f99-2fa0, U+2fa2-2fa3, U+2fa5-2fa9, U+2fac-2fb1, U+2fb3-2fbc, U+2fc1-2fca, U+2fcd-2fd4, U+3003, U+3012-3019, U+301c, U+301e-3020, U+3036, U+3041, U+3043, U+3045, U+3047, U+3049, U+304e, U+3050, U+3052, U+3056, U+305a, U+305c, U+305e, U+3062, U+3065, U+306c, U+3070-307d, U+3080, U+3085, U+3087, U+308e, U+3090-3091, U+30a1, U+30a5, U+30a9, U+30ae, U+30b1-30b2, U+30b4, U+30b6, U+30bc-30be, U+30c2, U+30c5, U+30cc, U+30d2, U+30d4, U+30d8-30dd, U+30e4, U+30e6, U+30e8, U+30ee, U+30f0-30f2, U+30f4-30f6, U+3133, U+3135;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-096.woff2) format("woff2");
    unicode-range: U+2541-254b, U+25a4-25a9, U+25b1, U+25b5, U+25b9, U+25bf, U+25c1, U+25c3, U+25c9-25ca, U+25cc, U+25ce, U+25d0-25d1, U+25e6, U+25ef, U+260f, U+261d, U+261f, U+262f, U+2660, U+2664, U+2667-2669, U+266d, U+266f, U+2716, U+271a, U+273d, U+2756, U+2776-277f, U+278a-2793, U+2963, U+2965, U+2ac5-2ac6, U+2acb-2acc, U+2f00, U+2f04, U+2f06, U+2f08, U+2f0a-2f0b, U+2f11-2f12, U+2f14, U+2f17-2f18, U+2f1c-2f1d, U+2f1f-2f20, U+2f23-2f26, U+2f28-2f29, U+2f2b, U+2f2d, U+2f2f-2f32, U+2f38, U+2f3c-2f40, U+2f42-2f4c, U+2f4f-2f52, U+2f54-2f58, U+2f5a-2f66, U+2f69-2f70, U+2f72-2f76, U+2f78, U+2f7a-2f7c;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-097.woff2) format("woff2");
    unicode-range: U+2479-2487, U+249c-24d1, U+24d3-24d7, U+24d9-24e9, U+24eb-24f4, U+2500-2501, U+2503, U+250c-2513, U+2515-2516, U+2518-2540;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-098.woff2) format("woff2");
    unicode-range: U+215b-215e, U+2162-2169, U+2170-2179, U+2195-2199, U+21b0-21b4, U+21bc, U+21c0, U+21c4-21c5, U+21cd, U+21cf-21d4, U+21e0-21e3, U+21e6-21e9, U+2200, U+2202-2203, U+2206-2209, U+220b-220c, U+220f, U+2211, U+2213, U+221a, U+221d-2220, U+2222, U+2225-2227, U+2229-222c, U+222e, U+2234-2237, U+223d, U+2243, U+2245, U+2248, U+2250-2253, U+225a, U+2260-2262, U+2264-2267, U+226a-226b, U+226e-2273, U+2276-2277, U+2279-227b, U+2280-2287, U+228a-228b, U+2295-2297, U+22a3-22a5, U+22bb-22bc, U+22ce-22cf, U+22da-22db, U+22ee-22ef, U+2306, U+2312, U+2314, U+2467-2478;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-099.woff2) format("woff2");
    unicode-range: U+81-82, U+84, U+a2-a5, U+a7-a8, U+aa, U+ac-ad, U+b1-b3, U+b6, U+b8-ba, U+bc-be, U+c0, U+c2, U+c6-cb, U+ce-d0, U+d4, U+d8-d9, U+db-dc, U+de-df, U+e6, U+eb, U+ee-f0, U+f4, U+f7-f9, U+fb, U+fe-ff, U+111, U+126-127, U+132-133, U+138, U+13f-142, U+149-14b, U+152-153, U+166-167, U+2bc, U+2c7, U+2d0, U+2d8-2d9, U+2db-2dd, U+391-394, U+396-3a1, U+3a3-3a9, U+3b2-3b6, U+3b8, U+3bc, U+3be-3c1, U+3c3-3c9, U+2010, U+2015-2016, U+2018-2019, U+201b, U+201f-2021, U+2025, U+2030, U+2033-2036, U+203c, U+203e, U+2042, U+2074, U+207a-207f, U+2081-2084, U+2109, U+2113, U+2116, U+2121, U+2126, U+212b, U+2153-2154;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-100.woff2) format("woff2");
    unicode-range: U+e8, U+2da, U+2160, U+2194, U+3054, U+3058, U+306d, U+3086, U+308d, U+30ac, U+30bb, U+30c4, U+30cd-30ce, U+30e2, U+3132, U+3146, U+3149, U+339d, U+4e3b, U+4f0a, U+4fdd, U+4fe1, U+5409, U+540c, U+5834, U+592a-592b, U+5b9a, U+5dde, U+5e0c, U+5e73, U+5f0f, U+60f3, U+653f, U+661f, U+662f, U+667a, U+683c, U+6b4c, U+6c11, U+767c, U+76ee, U+76f4, U+77f3, U+79d1, U+7a7a, U+7b2c, U+7d22, U+8207, U+8a00, U+8a71, U+9280, U+9580, U+958b, U+96c6, U+9762, U+98df, U+9ed1, U+ac2d, U+adc8, U+add3, U+af48, U+b014, U+b134-b135, U+b158, U+b2aa, U+b35f, U+b6a4, U+b9cf, U+bb63, U+bd23, U+be91, U+c29b, U+c3f4, U+c42c, U+c55c, U+c573, U+c58f, U+c78c, U+c7dd, U+c8f5, U+cad1, U+cc48, U+cf10, U+cf20, U+d03c, U+d07d, U+d2a0, U+d30e, U+d38d, U+d3a8, U+d3c8, U+d5e5, U+d5f9, U+d6e4, U+f90a, U+ff02, U+ff1c;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-101.woff2) format("woff2");
    unicode-range: U+3b1, U+2466, U+25a1, U+25a3, U+261c, U+3008-3009, U+305b, U+305d, U+3069, U+30a7, U+30ba, U+30cf, U+30ef, U+3151, U+3157, U+4e4b, U+4e5f, U+4e8c, U+4eca, U+4ed6, U+4f5b, U+50cf, U+5149, U+5165, U+5171, U+5229, U+529b, U+5316, U+539f, U+53f2, U+571f, U+5728, U+58eb, U+591c, U+5b78, U+5c11, U+5c55, U+5ddd, U+5e02, U+5fb7, U+60c5, U+610f, U+611f, U+6625, U+66f8, U+6797, U+679c, U+682a, U+6d2a, U+706b, U+7406, U+767b, U+76f8, U+77e5, U+7acb, U+898b, U+8a69, U+8def, U+8fd1, U+901a, U+90e8, U+91cd, U+975e, U+ae14, U+ae6c, U+aec0, U+afc7, U+afc9, U+b01c, U+b028, U+b308, U+b311, U+b314, U+b31c, U+b524, U+b560, U+b764, U+b920, U+b9e3, U+bd48, U+be7d, U+c0db, U+c231, U+c270, U+c2e3, U+c37d, U+c3ed, U+c530, U+c6a5, U+c6dc, U+c7a4, U+c954, U+c974, U+d000, U+d565, U+d667, U+d6c5, U+d79d, U+ff1e;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-102.woff2) format("woff2");
    unicode-range: U+131, U+2032, U+2465, U+2642, U+3048, U+3051, U+3083-3084, U+308f, U+30c0, U+30d1, U+30d3, U+30d6, U+30df, U+30e7, U+3153, U+4e16, U+4e8b, U+4ee5, U+5206, U+52a0, U+52d5, U+53e4, U+53ef, U+54c1, U+57ce, U+597d, U+5b8c, U+5ea6, U+5f8c, U+5f97, U+6210, U+6240, U+624b, U+6728, U+6bd4, U+7236, U+7269, U+7279, U+738b, U+7528, U+7530, U+767e, U+798f, U+8005, U+8a18, U+90fd, U+91cc, U+9577, U+9593, U+98a8, U+ac20, U+acf6, U+ad90, U+af5d, U+af80, U+afcd, U+aff0, U+b0a1, U+b0b5, U+b1fd, U+b2fc, U+b380, U+b51b, U+b584, U+b5b3, U+b8fd, U+b93c, U+b9f4, U+bb44, U+bc08, U+bc27, U+bc49, U+be55, U+be64, U+bfb0, U+bfc5, U+c178, U+c21f, U+c314, U+c4f1, U+c58d, U+c664, U+c698, U+c6a7, U+c6c1, U+c9ed, U+cac0, U+cacc, U+cad9, U+ccb5, U+cdcc, U+d0e4, U+d143, U+d320, U+d330, U+d54d, U+ff06, U+ff1f, U+ff5e;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-103.woff2) format("woff2");
    unicode-range: U+b4, U+20a9, U+20ac, U+2190, U+24d8, U+2502, U+2514, U+2592, U+25c7-25c8, U+2663, U+3060, U+3064, U+3081, U+3088, U+30a3, U+30a6, U+30aa, U+30b5, U+30c7, U+30ca-30cb, U+30d0, U+30e3, U+30e5, U+339e, U+4e09, U+4eac, U+4f5c, U+5167-5168, U+516c, U+51fa, U+5408, U+540d, U+591a, U+5b57, U+6211, U+65b9, U+660e, U+6642, U+6700, U+6b63, U+6e2f, U+7063, U+7532, U+793e, U+81ea, U+8272, U+82b1, U+897f, U+8eca, U+91ce, U+ac38, U+ad76, U+ae84, U+aecc, U+b07d, U+b0b1, U+b215, U+b2a0, U+b310, U+b3d7, U+b52a, U+b618, U+b775, U+b797, U+bcd5, U+bd59, U+be80, U+bea8, U+bed1, U+bee4-bee5, U+c060, U+c2ef, U+c329, U+c3dc, U+c597, U+c5bd, U+c5e5, U+c69c, U+c9d6, U+ca29, U+ca5c, U+ca84, U+cc39, U+cc3b, U+ce89, U+cee5, U+cf65, U+cf85, U+d058, U+d145, U+d22d, U+d325, U+d37d, U+d3ad, U+d769, U+ff0c;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-104.woff2) format("woff2");
    unicode-range: U+2161, U+2228, U+2299, U+2464, U+2517, U+2640, U+3042, U+304a, U+3053, U+3061, U+307f, U+3082, U+308c, U+3092, U+30a8, U+30ab, U+30ad, U+30b0, U+30b3, U+30b7, U+30c1, U+30c6, U+30c9, U+30d5, U+30d7, U+30de, U+30e0-30e1, U+30ec-30ed, U+4e0b, U+4e0d, U+4ee3, U+53f0, U+548c, U+5b89, U+5bb6, U+5c0f, U+611b, U+6771, U+6aa2, U+6bcd, U+6c34, U+6cd5, U+6d77, U+767d, U+795e, U+8ecd, U+9999, U+9ad8, U+ac07, U+ac1a, U+ac40, U+ad0c, U+ad88, U+ada4, U+ae01, U+ae65, U+aebd, U+aec4, U+afe8, U+b139, U+b205, U+b383, U+b38c, U+b42c, U+b461, U+b55c, U+b78f, U+b8fb, U+b9f7, U+bafc, U+bc99, U+bed8, U+bfcd, U+c0bf, U+c0f9, U+c167, U+c204, U+c20f, U+c22f, U+c258, U+c298, U+c2bc, U+c388, U+c501, U+c50c, U+c5b9, U+c5ce, U+c641, U+c648, U+c73d, U+ca50, U+ca61, U+cc4c, U+ceac, U+d0d4, U+d5f7, U+d6d7, U+ff1a;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-105.woff2) format("woff2");
    unicode-range: U+2103, U+2463, U+25c6, U+25cb, U+266c, U+3001, U+300a, U+3046, U+304c-304d, U+304f, U+3055, U+3059, U+3063, U+3066-3068, U+306f, U+3089, U+30b8, U+30bf, U+314f, U+4e0a, U+570b, U+5730, U+5916, U+5929, U+5c71, U+5e74, U+5fc3, U+601d, U+6027, U+63d0, U+6709, U+6734, U+751f, U+7684, U+82f1, U+9053, U+91d1, U+97f3, U+ac2f, U+ac4d, U+adc4, U+ade4, U+ae41, U+ae4d-ae4e, U+aed1, U+afb9, U+b0e0, U+b299, U+b365, U+b46c, U+b480, U+b4c8, U+b7b4, U+b819, U+b918, U+baab, U+bab9, U+be8f, U+bed7, U+c0ec, U+c19f, U+c1a5, U+c3d9, U+c464, U+c53d, U+c553, U+c570, U+c5cc, U+c633, U+c6a4, U+c7a3, U+c7a6, U+c886, U+c9d9-c9da, U+c9ec, U+ca0c, U+cc21, U+cd1b, U+cd78, U+cdc4, U+cef8, U+cfe4, U+d0a5, U+d0b5, U+d0ec, U+d15d, U+d188, U+d23c, U+d2ac, U+d729, U+d79b, U+ff01, U+ff08-ff09, U+ff5c;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-106.woff2) format("woff2");
    unicode-range: U+2039-203a, U+223c, U+25b3, U+25b7, U+25bd, U+25cf, U+266a, U+3002, U+300b, U+304b, U+3057, U+305f, U+306a-306b, U+307e, U+308a-308b, U+3093, U+30a2, U+30af, U+30b9, U+30c3, U+30c8, U+30e9-30eb, U+33a1, U+4e00, U+524d, U+5357, U+5b50, U+7121, U+884c, U+9751, U+ac94, U+aebe, U+aecd, U+af08, U+af41, U+af49, U+b010, U+b053, U+b109, U+b11b, U+b128, U+b154, U+b291, U+b2e6, U+b301, U+b385, U+b525, U+b5b4, U+b729, U+b72f, U+b738, U+b7ff, U+b837, U+b975, U+ba67, U+bb47, U+bc1f, U+bd90, U+bfd4, U+c27c, U+c324, U+c379, U+c3e0, U+c465, U+c53b, U+c58c, U+c610, U+c653, U+c6cd, U+c813, U+c82f, U+c999, U+c9e0, U+cac4, U+cad3, U+cbd4, U+cc10, U+cc22, U+ccb8, U+ccbc, U+cda5, U+ce84, U+cea3, U+cf67, U+cfe1, U+d241, U+d30d, U+d31c, U+d391, U+d401, U+d479, U+d5c9, U+d5db, U+d649, U+d6d4;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-107.woff2) format("woff2");
    unicode-range: U+b0, U+e9, U+2193, U+2462, U+260e, U+261e, U+300e-300f, U+3044, U+30a4, U+30fb-30fc, U+314d, U+5973, U+6545, U+6708, U+7537, U+ac89, U+ac9c, U+acc1, U+ad04, U+ad75, U+ad7d, U+ae45, U+ae61, U+af42, U+b0ab, U+b0af, U+b0b3, U+b12c, U+b194, U+b1a8, U+b220, U+b258, U+b284, U+b2ff, U+b315, U+b371, U+b3d4-b3d5, U+b460, U+b527, U+b534, U+b810, U+b818, U+b98e, U+ba55, U+bbac, U+bc0b, U+bc40, U+bca1, U+bccd, U+bd93, U+be54, U+be5a, U+bf08, U+bf50, U+bf55, U+bfdc, U+c0c0, U+c0d0, U+c0f4, U+c100, U+c11e, U+c170, U+c20d, U+c274, U+c290, U+c308, U+c369, U+c539, U+c587, U+c5ff, U+c6ec, U+c70c, U+c7ad, U+c7c8, U+c83c, U+c881, U+cb48, U+cc60, U+ce69, U+ce6b, U+ce75, U+cf04, U+cf08, U+cf55, U+cf70, U+cffc, U+d0b7, U+d1a8, U+d2c8, U+d384, U+d47c, U+d48b, U+d5dd, U+d5e8, U+d720, U+d759, U+f981;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-108.woff2) format("woff2");
    unicode-range: U+e0, U+e2, U+395, U+3b7, U+3ba, U+2460-2461, U+25a0, U+3010-3011, U+306e, U+30f3, U+314a, U+314c, U+5927, U+65b0, U+7e41, U+97d3, U+9ad4, U+ad49, U+ae0b, U+ae0d, U+ae43, U+ae5d, U+aecf, U+af3c, U+af64, U+afd4, U+b080, U+b084, U+b0c5, U+b10c, U+b1e8, U+b2ac, U+b36e, U+b451, U+b515, U+b540, U+b561, U+b6ab, U+b6b1, U+b72c, U+b730, U+b744, U+b800, U+b8ec, U+b8f0, U+b904, U+b968, U+b96d, U+b987, U+b9d9, U+bb36, U+bb49, U+bc2d, U+bc43, U+bcf6, U+bd89, U+be57, U+be61, U+bed4, U+c090, U+c130, U+c148, U+c19c, U+c2f9, U+c36c, U+c37c, U+c384, U+c3df, U+c575, U+c584, U+c660, U+c719, U+c816, U+ca4d, U+ca54, U+cabc, U+cb49, U+cc14, U+cff5, U+d004, U+d038, U+d0b4, U+d0d3, U+d0e0, U+d0ed, U+d131, U+d1b0, U+d31f, U+d33d, U+d3a0, U+d3ab, U+d514, U+d584, U+d6a1, U+d6cc, U+d749, U+d760, U+d799;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-109.woff2) format("woff2");
    unicode-range: U+24, U+60, U+3b9, U+3bb, U+3bd, U+2191, U+2606, U+300c-300d, U+3131, U+3134, U+3139, U+3141-3142, U+3148, U+3161, U+3163, U+321c, U+4eba, U+5317, U+ac31, U+ac77, U+ac9f, U+acb9, U+acf0-acf1, U+acfd, U+ad73, U+af3d, U+b00c, U+b04a, U+b057, U+b0c4, U+b188, U+b1cc, U+b214, U+b2db, U+b2ee, U+b304, U+b4ed, U+b518, U+b5bc, U+b625, U+b69c-b69d, U+b7ac, U+b801, U+b86c, U+b959, U+b95c, U+b985, U+ba48, U+bb58, U+bc0c, U+bc38, U+bc85, U+bc9a, U+bf40, U+c068, U+c0bd, U+c0cc, U+c12f, U+c149, U+c1e0, U+c22b, U+c22d, U+c250, U+c2fc, U+c300, U+c313, U+c370, U+c3d8, U+c557, U+c580, U+c5e3, U+c62e, U+c634, U+c6f0, U+c74d, U+c783, U+c78e, U+c796, U+c7bc, U+c92c, U+ca4c, U+cc1c, U+cc54, U+cc59, U+ce04, U+cf30, U+cfc4, U+d140, U+d321, U+d38c, U+d399, U+d54f, U+d587, U+d5d0, U+d6e8, U+d770;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-110.woff2) format("woff2");
    unicode-range: U+d7, U+ea, U+fc, U+2192, U+25bc, U+3000, U+3137, U+3145, U+315c, U+7f8e, U+ac13, U+ac71, U+ac90, U+acb8, U+ace7, U+ad7f, U+ae50, U+aef4, U+af34, U+afbc, U+b048, U+b09a, U+b0ad, U+b0bc, U+b113, U+b125, U+b141, U+b20c, U+b2d9, U+b2ed, U+b367, U+b369, U+b374, U+b3cb, U+b4ec, U+b611, U+b760, U+b81b, U+b834, U+b8b0, U+b8e1, U+b989, U+b9d1, U+b9e1, U+b9fa, U+ba4d, U+ba78, U+bb35, U+bb54, U+bbf9, U+bc11, U+bcb3, U+bd05, U+bd95, U+bdd4, U+be10, U+bed0, U+bf51, U+c0d8, U+c232, U+c2b7, U+c2eb, U+c378, U+c500, U+c52c, U+c549, U+c568, U+c598, U+c5c9, U+c61b, U+c639, U+c67c, U+c717, U+c78a, U+c80a, U+c90c-c90d, U+c950, U+c9e7, U+cbe4, U+cca9, U+cce4, U+cdb0, U+ce78, U+ce94, U+ce98, U+cf8c, U+d018, U+d034, U+d0f1, U+d1b1, U+d280, U+d2f8, U+d338, U+d380, U+d3b4, U+d610, U+d69f, U+d6fc, U+d758;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-111.woff2) format("woff2");
    unicode-range: U+e7, U+2022, U+203b, U+25c0, U+2605, U+2661, U+3147, U+318d, U+672c, U+8a9e, U+acaa, U+acbc, U+ad1c, U+ae4a, U+ae5c, U+b044, U+b054, U+b0c8-b0c9, U+b2a6, U+b2d0, U+b35c, U+b364, U+b428, U+b454, U+b465, U+b4b7, U+b4e3, U+b51c, U+b5a1, U+b784, U+b790, U+b7ab, U+b7f4, U+b82c, U+b835, U+b8e9, U+b8f8, U+b9d8, U+b9f9, U+ba5c, U+ba64, U+babd, U+bb18, U+bb3b, U+bbff, U+bc0d, U+bc45, U+bc97, U+bcbc, U+be45, U+be75, U+be7c, U+bfcc, U+c0b6, U+c0f7, U+c14b, U+c2b4, U+c30d, U+c4f8, U+c5bb, U+c5d1, U+c5e0, U+c5ee, U+c5fd, U+c606, U+c6c5, U+c6e0, U+c708, U+c81d, U+c820, U+c824, U+c878, U+c918, U+c96c, U+c9e4, U+c9f1, U+cc2e, U+cd09, U+cea1, U+cef5, U+cef7, U+cf64, U+cf69, U+cfe8, U+d035, U+d0ac, U+d230, U+d234, U+d2f4, U+d31d, U+d575, U+d578, U+d608, U+d614, U+d718, U+d751, U+d761, U+d78c, U+d790;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-112.woff2) format("woff2");
    unicode-range: U+2665, U+3160, U+4e2d, U+6587, U+65e5, U+ac12, U+ac14, U+ac16, U+ac81, U+ad34, U+ade0, U+ae54, U+aebc, U+af2c, U+afc0, U+afc8, U+b04c, U+b08c, U+b099, U+b0a9, U+b0ac, U+b0ae, U+b0b8, U+b123, U+b179, U+b2e5, U+b2f7, U+b4c0, U+b531, U+b538, U+b545, U+b550, U+b5a8, U+b6f0, U+b728, U+b73b, U+b7ad, U+b7ed, U+b809, U+b864, U+b86d, U+b871, U+b9bf, U+b9f5, U+ba40, U+ba4b, U+ba58, U+ba87, U+baac, U+bbc0, U+bc16, U+bc34, U+bd07, U+bd99, U+be59, U+bfd0, U+c058, U+c0e4, U+c0f5, U+c12d, U+c139, U+c228, U+c529, U+c5c7, U+c635, U+c637, U+c735, U+c77d, U+c787, U+c789, U+c8c4, U+c989, U+c98c, U+c9d0, U+c9d3, U+cc0c, U+cc99, U+cd0c, U+cd2c, U+cd98, U+cda4, U+ce59, U+ce60, U+ce6d, U+cea0, U+d0d0-d0d1, U+d0d5, U+d14d, U+d1a4, U+d29c, U+d2f1, U+d301, U+d39c, U+d3bc, U+d4e8, U+d540, U+d5ec, U+d640, U+d750;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-113.woff2) format("woff2");
    unicode-range: U+5e, U+25b2, U+25b6, U+314e, U+ac24, U+ace1, U+ace4, U+ae68, U+af2d, U+b0d0, U+b0e5, U+b150, U+b155, U+b193, U+b2c9, U+b2dd, U+b3c8, U+b3fc, U+b410, U+b458, U+b4dd, U+b5a0, U+b5a4, U+b5bb, U+b7b5, U+b838, U+b840, U+b86f, U+b8f9, U+b960, U+b9e5, U+bab8, U+bb50, U+bc1d, U+bc24-bc25, U+bca8, U+bcbd, U+bd04, U+bd10, U+bd24, U+be48, U+be5b, U+be68, U+c05c, U+c12c, U+c140, U+c15c, U+c168, U+c194, U+c219, U+c27d, U+c2a8, U+c2f1, U+c2f8, U+c368, U+c554-c555, U+c559, U+c564, U+c5d8, U+c5fc, U+c625, U+c65c, U+c6b1, U+c728, U+c794, U+c84c, U+c88c, U+c8e0, U+c8fd, U+c998, U+c9dd, U+cc0d, U+cc30, U+ceec, U+cf13, U+cf1c, U+cf5c, U+d050, U+d07c, U+d0a8, U+d134, U+d138, U+d154, U+d1f4, U+d2bc, U+d329, U+d32c, U+d3d0, U+d3f4, U+d3fc, U+d56b, U+d5cc, U+d600-d601, U+d639, U+d6c8, U+d754, U+d765;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-114.woff2) format("woff2");
    unicode-range: U+3c-3d, U+2026, U+24d2, U+314b, U+ac11, U+acf3, U+ad74, U+ad81, U+adf9, U+ae34, U+af43, U+afb8, U+b05d, U+b07c, U+b110, U+b118, U+b17c, U+b180, U+b18d, U+b192, U+b2cc, U+b355, U+b378, U+b4a4, U+b4ef, U+b78d, U+b799, U+b7a9, U+b7fd, U+b807, U+b80c, U+b839, U+b9b4, U+b9db, U+ba3c, U+bab0, U+bba4, U+bc94, U+be4c, U+c154, U+c1c4, U+c26c, U+c2ac, U+c2ed, U+c4f4, U+c55e, U+c561, U+c571, U+c5b5, U+c5c4, U+c654-c655, U+c695, U+c6e8, U+c6f9, U+c724, U+c751, U+c775, U+c7a0, U+c7c1, U+c874, U+c880, U+c9d5, U+c9f8, U+cabd, U+cc29, U+cc2c, U+cca8, U+ccab, U+ccd0, U+ce21, U+ce35, U+ce7c, U+ce90, U+cee8, U+cef4, U+cfe0, U+d070, U+d0b9, U+d0c1, U+d0c4, U+d0c8, U+d15c, U+d1a1, U+d2c0, U+d300, U+d314, U+d3ed, U+d478, U+d480, U+d48d, U+d508, U+d53d, U+d5e4, U+d611, U+d61c, U+d68d, U+d6a8, U+d798;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-115.woff2) format("woff2");
    unicode-range: U+23, U+25, U+5f, U+a9, U+ac08, U+ac78, U+aca8, U+acac, U+ace8, U+ad70, U+adc0, U+addc, U+b137, U+b140, U+b208, U+b290, U+b2f5, U+b3c5, U+b3cc, U+b420, U+b429, U+b529, U+b530, U+b77d, U+b79c, U+b7a8, U+b7c9, U+b7f0, U+b7fc, U+b828, U+b860, U+b9ad, U+b9c1, U+b9c9, U+b9dd-b9de, U+b9e8, U+ba38-ba39, U+babb, U+bc00, U+bc8c, U+bca0, U+bca4, U+bcd1, U+bcfc, U+bd09, U+bdf0, U+be60, U+c0ad, U+c0b4, U+c0bc, U+c190, U+c1fc, U+c220, U+c288, U+c2b9, U+c2f6, U+c528, U+c545, U+c558, U+c5bc, U+c5d4, U+c600, U+c644, U+c6c0, U+c6c3, U+c721, U+c798, U+c7a1, U+c811, U+c838, U+c871, U+c904, U+c990, U+c9dc, U+cc38, U+cc44, U+cca0, U+cd1d, U+cd95, U+cda9, U+ce5c, U+cf00, U+cf58, U+d150, U+d22c, U+d305, U+d328, U+d37c, U+d3f0, U+d551, U+d5a5, U+d5c8, U+d5d8, U+d63c, U+d64d, U+d669, U+d734, U+d76c;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-116.woff2) format("woff2");
    unicode-range: U+26, U+2b, U+3e, U+40, U+7e, U+ac01, U+ac19, U+ac1d, U+aca0, U+aca9, U+acb0, U+ad8c, U+ae09, U+ae38, U+ae40, U+aed8, U+b09c, U+b0a0, U+b108, U+b204, U+b298, U+b2d8, U+b2eb-b2ec, U+b2f4, U+b313, U+b358, U+b450, U+b4e0, U+b54c, U+b610, U+b780, U+b78c, U+b791, U+b8e8, U+b958, U+b974, U+b984, U+b9b0, U+b9bc-b9bd, U+b9ce, U+ba70, U+bbfc, U+bc0f, U+bc15, U+bc1b, U+bc31, U+bc95, U+bcc0, U+bcc4, U+bd81, U+bd88, U+c0c8, U+c11d, U+c13c, U+c158, U+c18d, U+c1a1, U+c21c, U+c4f0, U+c54a, U+c560, U+c5b8, U+c5c8, U+c5f4, U+c628, U+c62c, U+c678, U+c6cc, U+c808, U+c810, U+c885, U+c88b, U+c900, U+c988, U+c99d, U+c9c8, U+cc3d-cc3e, U+cc45, U+cd08, U+ce20, U+cee4, U+d074, U+d0a4, U+d0dd, U+d2b9, U+d3b8, U+d3c9, U+d488, U+d544, U+d559, U+d56d, U+d588, U+d615, U+d648, U+d655, U+d658, U+d65c;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-117.woff2) format("woff2");
    unicode-range: U+d, U+48, U+7c, U+ac10, U+ac15, U+ac74, U+ac80, U+ac83, U+acc4, U+ad11, U+ad50, U+ad6d, U+adfc, U+ae00, U+ae08, U+ae4c, U+b0a8, U+b124, U+b144, U+b178, U+b274, U+b2a5, U+b2e8, U+b2f9, U+b354, U+b370, U+b418, U+b41c, U+b4f1, U+b514, U+b798, U+b808, U+b824-b825, U+b8cc, U+b978, U+b9d0, U+b9e4, U+baa9, U+bb3c, U+bc18, U+bc1c, U+bc30, U+bc84, U+bcf5, U+bcf8, U+bd84, U+be0c, U+be14, U+c0b0, U+c0c9, U+c0dd, U+c124, U+c2dd, U+c2e4, U+c2ec, U+c54c, U+c57c-c57d, U+c591, U+c5c5-c5c6, U+c5ed, U+c608, U+c640, U+c6b8, U+c6d4, U+c784, U+c7ac, U+c800-c801, U+c9c1, U+c9d1, U+cc28, U+cc98, U+cc9c, U+ccad, U+cd5c, U+cd94, U+cd9c, U+cde8, U+ce68, U+cf54, U+d0dc, U+d14c, U+d1a0, U+d1b5, U+d2f0, U+d30c, U+d310, U+d398, U+d45c, U+d50c, U+d53c, U+d560, U+d568, U+d589, U+d604, U+d6c4, U+d788;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-118.woff2) format("woff2");
    unicode-range: U+39, U+49, U+4d-4e, U+a0, U+ac04, U+ac1c, U+ac70, U+ac8c, U+acbd, U+acf5, U+acfc, U+ad00, U+ad6c, U+adf8, U+b098, U+b0b4, U+b294, U+b2c8, U+b300, U+b3c4, U+b3d9, U+b4dc, U+b4e4, U+b77c, U+b7ec, U+b85d, U+b97c, U+b9c8, U+b9cc, U+ba54, U+ba74, U+ba85, U+baa8, U+bb34, U+bb38, U+bbf8, U+bc14, U+bc29, U+bc88, U+bcf4, U+bd80, U+be44, U+c0c1, U+c11c, U+c120, U+c131, U+c138, U+c18c, U+c218, U+c2b5, U+c2e0, U+c544, U+c548, U+c5b4, U+c5d0, U+c5ec, U+c5f0, U+c601, U+c624, U+c694, U+c6a9, U+c6b0, U+c6b4, U+c6d0, U+c704, U+c720, U+c73c, U+c740, U+c744, U+c74c, U+c758, U+c77c, U+c785, U+c788, U+c790-c791, U+c7a5, U+c804, U+c815, U+c81c, U+c870, U+c8fc, U+c911, U+c9c4, U+ccb4, U+ce58, U+ce74, U+d06c, U+d0c0, U+d130, U+d2b8, U+d3ec, U+d504, U+d55c, U+d569, U+d574, U+d638, U+d654, U+d68c;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-119.woff2) format("woff2");
    unicode-range: U+20-22, U+27-2a, U+2c-38, U+3a-3b, U+3f, U+41-47, U+4a-4c, U+4f-5d, U+61-7b, U+7d, U+a1, U+ab, U+ae, U+b7, U+bb, U+bf, U+2013-2014, U+201c-201d, U+2122, U+ac00, U+ace0, U+ae30, U+b2e4, U+b85c, U+b9ac, U+c0ac, U+c2a4, U+c2dc, U+c774, U+c778, U+c9c0, U+d558;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-120.woff2) format("woff2");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-121.woff2) format("woff2");
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-122.woff2) format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  @font-face {
    font-family: "Noto Serif KR";
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url(/assets/fonts/noto-serif-kr/subset-123.woff2) format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  @font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url("/assets/fonts/manrope/Manrope-Variable-LatinExt.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  @font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url("/assets/fonts/manrope/Manrope-Variable-Latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  :root {
    /* === semantic === */
    --clr-primary-hover: var(--clr-primary-700);
    --clr-primary-accent: var(--clr-accent-500);
    --clr-common-background: var(--clr-base-white);
    --clr-common-on-background: var(--clr-base-black);
    --clr-text-primary: var(--clr-text-base);
    --clr-text-secondary: var(--clr-text-sub);
    --clr-text-tertiary: var(--clr-text-aux);
    --clr-background-paper: var(--clr-bg-page);
    --clr-background-primary: var(--clr-bg-section);
    --clr-background-secondary: var(--clr-bg-line);
    --clr-background-philo: var(--clr-bg-section);
  }
  :root {
    --clr-primary-950: #352820;
    --clr-primary-900: #352820;
    --clr-primary-700: #826c5b;
    --clr-primary-500: #c4ae9b;
    --clr-primary-400: #d8cbb8;
    --clr-primary-50: #d8cbb8;
    --clr-primary-main: var(--clr-primary-500);
    --clr-secondary-900: #826c5b;
    --clr-accent-300: #d8cbb8;
    --clr-accent-500: #826c5b;
    --clr-accent-700: #352820;
    --clr-text-base: #352820;
    --clr-text-sub: #352820;
    --clr-text-aux: #826c5b;
    --clr-gray-50: #f6f1ea;
    --clr-gray-100: #f6f1ea;
    --clr-gray-200: #efe5da;
    --clr-gray-300: #d8cbb8;
    --clr-gray-400: #c4ae9b;
    --clr-gray-500: #826c5b;
    --clr-gray-600: #826c5b;
    --clr-gray-700: #352820;
    --clr-gray-800: #352820;
    --clr-gray-900: #352820;
    /* === base === */
    --clr-base-white: #ffffff;
    --clr-base-black: #000000;
    /* === 60% — Background / Base === */
    --clr-bg-page: #efe5da;
    --clr-bg-section: #f6f1ea;
    --clr-bg-line: #d8cbb8;
    /* gradient shorthand */
    --clr-primary-gradient: 90deg, #352820, #826c5b;
    /* === UI (Border / Hover) === */
    --clr-ui-border: #d8cbb8;
    --clr-ui-hover-bg: #efe5da;
    /* === Semantic status === */
    --clr-status-success: #16a34a;
    --clr-status-warning: #d97706;
    --clr-status-error: #dc2626;
    --clr-status-info: var(--clr-primary-500);
    /* === Event category chips === */
    --clr-chip-seminar: #352820;
    --clr-chip-workshop: #826c5b;
    --clr-chip-symposium: #c4ae9b;
    --clr-chip-education: #16a34a;
    --clr-chip-special: #dc2626;
  }
  :root {
    /* === Brand palette === */
    --public-brand-ink: var(--clr-primary-950);
    --public-brand-dark: var(--clr-primary-900);
    --public-brand-accent: var(--clr-accent-500);
    --public-brand-accent-soft: var(--clr-accent-300);
    --public-brand-surface: var(--clr-bg-page);
    --public-brand-surface-strong: var(--clr-primary-50);
    --public-brand-line: var(--clr-primary-400);
    /* === Public semantic aliases === */
    --public-navy: var(--public-brand-dark);
    --public-navy-deep: var(--public-brand-ink);
    --public-blue: var(--public-brand-accent);
    --public-blue-soft: var(--public-brand-surface-strong);
    --public-ink: var(--public-brand-ink);
    --public-muted: var(--clr-text-sub);
    --public-muted-soft: var(--clr-text-aux);
    --color-text-muted: color-mix(in srgb, var(--public-muted-soft) 80%, var(--public-ink));
    --public-line: var(--clr-ui-border);
    --public-line-strong: var(--public-brand-line);
    --public-surface: var(--public-brand-surface);
    --public-surface-subtle: var(--clr-bg-section);
    --public-white: var(--clr-bg-section);
    --color-background-dropdown-light: color-mix(in srgb, var(--public-white) 94%, var(--public-brand-ink));
    --color-background-dropdown-dark: color-mix(in srgb, var(--public-brand-dark) 95%, var(--public-white));
    --public-header-black: var(--clr-base-black);
    --public-header-white: var(--clr-base-white);
    --public-overlay: rgba(0, 0, 0, .29);
    --public-focus: var(--public-brand-accent);
    --public-page-transition-backdrop: color-mix(in srgb, var(--public-brand-ink) 16%, #000);
    --public-cart-toast-action: var(--public-blue);
    --public-search-placeholder-color: var(--public-muted);
    /* === Feedback states === */
    --public-feedback-success: #2f6c55;
    --public-feedback-success-soft: #edf6ef;
    --public-feedback-warning: #9a6d2c;
    --public-feedback-warning-soft: #faf2e3;
    --public-feedback-error: #a83f58;
    --public-feedback-error-soft: #fff0f4;
    --public-auth-success: var(--public-feedback-success);
    --public-auth-error: var(--public-feedback-error);
    /* === Transit and award colors === */
    --public-transit-subway-1: #d93f5c;
    --public-transit-subway-2: #00aa80;
    --public-transit-bus-trunk: #1478c9;
    --public-transit-bus-feeder: #d59d00;
    --public-transit-bus-express: #d43d47;
    --public-transit-line-1: #e72f70;
    --public-transit-line-2: var(--public-transit-subway-2);
    --public-award-black: #1e1e1e;
    --public-award-plum: var(--public-brand-dark);
    --public-award-blue: #0047ff;
    --public-award-wine: var(--public-feedback-error);
    --public-award-green: var(--public-feedback-success);
    /* === External brand colors === */
    --public-kakao: #fee500;
    --public-kakao-hover: #f4dc00;
    --public-social-instagram: radial-gradient(circle at 30% 105%, #ffd600 0 24%, #ff7a00 25% 38%, #ff0169 52%, #d300c5 72%, #7638fa 92%);
    --public-social-kakao: var(--public-kakao);
    --public-social-naver: #03c75a;
    --public-social-youtube: #ff0033;
    --public-social-ink: #111111;
  }
  /* Local editorial display: Cormorant Garamond + Noto Serif KR.
   * Functional copy, prices and controls: Manrope + Pretendard. */
  /**
   * Typography tokens — Home
   * Display: Cormorant Garamond + Noto Serif KR; body/UI: Manrope + Pretendard.
   * 정본: 본 파일. 가이드: docs/02-variables/brand-guide.md
   *
   * 규칙(AGENTS.md 절대규칙 #11):
   *  - SCSS 컴포넌트에서 font-size 직접 지정 금지. var(--*-fs) 만 사용.
   *  - 페이지·뷰 마크업에서 .no-display-* / .no-heading-* / .no-body-* 유틸리티 클래스 사용.
   */
  :root {
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    /* === Font family — 정본 토큰 === */
    --font-manrope-family: "Manrope", "Pretendard Variable", "Pretendard",
                           -apple-system, BlinkMacSystemFont, "Segoe UI",
                           "Noto Sans KR", system-ui, sans-serif;
    --font-sans-family: var(--font-manrope-family);
    --font-display-family: "Cormorant Garamond", "Noto Serif KR", "Pretendard", serif;
    --font-heading-family: var(--font-display-family);
    --font-english-family: var(--font-manrope-family);
    --font-mono-family: var(--font-manrope-family);
    --font-oswald-family: var(--font-manrope-family); /* deprecated compatibility alias */
    /* Letter-spacing */
    --tracking-display: -0.015em;
    --tracking-heading: -0.01em;
    --tracking-body: 0em;
    --tracking-caps: 0.06em; /* small-caps·overline */
    /* === Legacy family alias — 기존 페이지·컴포넌트 호환 === */
    --family-primary: var(--font-sans-family);
    --family-display: var(--font-display-family);
    --family-mono: var(--font-mono-family);
    --family-pretendard: var(--font-sans-family);
    --family-hggothic: var(--font-sans-family); /* 이전 프로젝트 잔재. sans 로 흡수 */
    /* === Display (히어로/대제목) — editorial serif === */
    --display-xs-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --display-sm-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --display-md-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --display-lg-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --display-xl-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --display-xs-lh: 1.12;
    --display-sm-lh: 1.08;
    --display-md-lh: 1.04;
    --display-lg-lh: 1.00;
    --display-xl-lh: 0.98;
    --display-xs-fw: var(--font-weight-regular);
    --display-sm-fw: var(--font-weight-regular);
    --display-md-fw: var(--font-weight-regular);
    --display-lg-fw: var(--font-weight-regular);
    --display-xl-fw: var(--font-weight-regular);
    /* === Heading (섹션 타이틀) — editorial serif / compact sans === */
    --heading-2xs-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem);
    --heading-xs-fs: clamp(2rem, 0.2588996764vw + 1.9029126214rem, 2.4rem);
    --heading-sm-fs: clamp(2.4rem, 0.5177993528vw + 2.2058252427rem, 3.2rem);
    --heading-md-fs: clamp(2.4rem, 0.5177993528vw + 2.2058252427rem, 3.2rem);
    --heading-bl-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --heading-lg-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --heading-xl-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --heading-2xs-lh: 1.42;
    --heading-xs-lh: 1.36;
    --heading-sm-lh: 1.32;
    --heading-md-lh: 1.28;
    --heading-bl-lh: 1.24;
    --heading-lg-lh: 1.20;
    --heading-xl-lh: 1.12;
    --heading-2xs-fw: 500;
    --heading-xs-fw: var(--font-weight-medium);
    --heading-sm-fw: var(--font-weight-medium);
    --heading-md-fw: var(--font-weight-medium);
    --heading-bl-fw: var(--font-weight-medium);
    --heading-lg-fw: var(--font-weight-medium);
    --heading-xl-fw: var(--font-weight-medium);
    /* === Body — Manrope (한글: Pretendard) === */
    --body-xs-fs: clamp(1.2rem, 0.1294498382vw + 1.1514563107rem, 1.4rem);
    --body-sm-fs: clamp(1.6rem, 0.1294498382vw + 1.5514563107rem, 1.8rem);
    --body-md-fs: clamp(1.6rem, 0.1294498382vw + 1.5514563107rem, 1.8rem); /* 기본 본문·설명글 default */
    --body-lg-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem); /* 강조·라벨 */
    --body-xl-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem);
    --body-card-desc-fs: 1.4rem;
    --body-xs-lh: 1.55;
    --body-sm-lh: 1.6;
    --body-md-lh: 1.65;
    --body-lg-lh: 1.6;
    --body-xl-lh: 1.55;
    --body-card-desc-lh: 1.55;
    --body-xs-fw: var(--font-weight-regular);
    --body-sm-fw: var(--font-weight-regular);
    --body-md-fw: var(--font-weight-regular);
    --body-lg-fw: var(--font-weight-regular);
    --body-xl-fw: var(--font-weight-regular);
    --body-card-desc-fw: var(--font-weight-regular);
    /* === Semantic public hierarchy aliases === */
    --subhero-title-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --subhero-title-lh: 1.08;
    --subhero-title-fw: var(--font-weight-regular);
    --section-title-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --section-title-lh: 1.14;
    --section-title-fw: var(--font-weight-regular);
    --middle-title-lg-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --middle-title-lg-lh: 1.1;
    --middle-title-lg-fw: var(--font-weight-regular);
    --middle-title-md-fs: clamp(2.4rem, 0.5177993528vw + 2.2058252427rem, 3.2rem);
    --middle-title-md-lh: 1.18;
    --middle-title-md-fw: var(--font-weight-medium);
    --list-title-fs: clamp(2rem, 0.2588996764vw + 1.9029126214rem, 2.4rem);
    --list-title-lh: 1.32;
    --list-title-fw: var(--font-weight-medium);
    --subtitle-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem);
    --subtitle-lh: 1.6;
    --subtitle-fw: var(--font-weight-regular);
    /* === Overline / eyebrow (섹션 소문구 라벨) — Manrope Medium, 캡스 === */
    --overline-fs: clamp(1.8rem, 0.3883495146vw + 1.654368932rem, 2.4rem);
    --overline-lh: 1.4;
    --overline-fw: var(--font-weight-medium);
    /* === Mono (캡션·다이어그램 라벨·overline) === */
    --mono-xs-fs: clamp(1.1rem, 0.0647249191vw + 1.0757281553rem, 1.2rem);
    --mono-sm-fs: clamp(1.2rem, 0.1294498382vw + 1.1514563107rem, 1.4rem);
    /* === Decorative (Marquee Whisper / I3 — Manrope, 매우 큼) === */
    --deco-marquee-fs: clamp(9.6rem, 5.9546925566vw + 7.3669902913rem, 18.8rem);
    /* Decorative wordmark (WHO WE ARE §signature — Manrope, 뷰포트 폭 채우는 초대형).
     * scale(1) 에서 긴 디스플레이 문구가 컨테이너 폭에 맞고, JS 가 scale 확대→축소. */
    --deco-wordmark-fs: clamp(6.4rem, 10.0970873786vw + 2.613592233rem, 22rem);
    --deco-wordmark-fw: var(--font-weight-medium);
    --deco-wordmark-lh: 0.8;
  }
  @media (max-width: 767px) {
    :root {
      --body-sm-fs: 1.6rem;
      --body-md-fs: 1.6rem;
    }
  }
  /**
   * Motion tokens — Home
   * 정본: 본 파일. JS는 resources/ts/home/global/MotionTokens.ts 동일 값.
   * 사용: SCSS `transition: transform var(--dur-base) var(--ease-out-quart);`
   *       JS   `gsap.to(el, { duration: 0.88, ease: 'expo.out' })` ← MotionTokens.ts 참조
   *
   * 가이드 문서: docs/00-overview/goals.md "차분함 80% : 임팩트 20%"
   *             workspace/guides/02-스타일-가이드.md §8
   */
  :root {
    /* === Duration === */
    --dur-instant: 100ms; /* hover state 토글, focus ring */
    --dur-fast: 200ms; /* 버튼 press, chip toggle */
    --dur-base: 320ms; /* 카드 hover, 색 전환 */
    --dur-slow: 560ms; /* 모달·드로어 진입 */
    --dur-slower: 880ms; /* Hero Display reveal (I1) */
    --dur-epic: 1200ms; /* Image mask reveal, scroll-pinned 단계 */
    /* === Easing ===
     * 1) out-quart  : 기본 진입 (Unseen Studio·기본값)
     * 2) out-expo   : 강한 감속 (Hero Display·시그니처 모먼트)
     * 3) in-out     : 양방향 (드로어·tab 전환)
     * 4) spring     : 미세 바운스 (버튼 한정 — 페이지 본문 금지)
     * 5) linear     : 마키·무한 스크롤
     */
    --ease-out-quart: cubic-bezier(0.22, 1, 0.36, 1);
    --ease-out-expo: cubic-bezier(0.16, 1, 0.30, 1);
    --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --ease-linear: linear;
    /* === Stagger === */
    --stagger-base: 60ms; /* I1 Type Mask Reveal 단어 간격 */
    --stagger-fast: 30ms; /* I2 Char Stagger 글자 간격 */
    --stagger-slow: 120ms; /* 리스트 카드 진입 */
    /* === Translate offsets (reveal 초기값) === */
    --reveal-offset-sm: 16px; /* body·메타 */
    --reveal-offset-md: 40px; /* heading */
    --reveal-offset-lg: 80px; /* hero display */
  }
  /* prefers-reduced-motion 가드 — 즉시 최종 상태로 */
  @media (prefers-reduced-motion: reduce) {
    :root {
      --dur-instant: 0ms;
      --dur-fast: 0ms;
      --dur-base: 0ms;
      --dur-slow: 0ms;
      --dur-slower: 0ms;
      --dur-epic: 0ms;
      --stagger-base: 0ms;
      --stagger-fast: 0ms;
      --stagger-slow: 0ms;
      --reveal-offset-sm: 0px;
      --reveal-offset-md: 0px;
      --reveal-offset-lg: 0px;
    }
  }
  :root {
    --gutter: 2rem;
    --header-height: 9.8rem;
    --header-z-index: 9999;
    --drawer-z-index: 999;
    --tran-15: 0.15s ease;
    --tran-3: 0.3s ease;
    --family-base: var(--family-hggothic);
  }
  @media (max-width: 768px) {
    :root {
      --header-height: 4.8rem;
    }
  }
  :root {
    --public-location-top-gap: clamp(8rem, 3.1067961165vw + 6.8349514563rem, 12.8rem);
    --public-cart-toast-max: 44rem;
    --public-cart-toast-min-height: 8.8rem;
    --public-cart-toast-padding-block: 2rem;
    --public-cart-toast-padding-inline: 3.2rem;
    --public-event-card-inset: 2.4rem;
    --public-focus-width: .2rem;
    --public-focus-offset: .3rem;
    --public-header-height: 14rem;
    --public-header-content-height: 10rem;
    --public-shell-max: 160rem;
    --public-shell-gutter: clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
    --public-header-gutter: clamp(1.6rem, 1.0355987055vw + 1.2116504854rem, 3.2rem);
    --public-header-max: 132rem;
    --public-detail-max: 94rem;
    --public-control-sm: 4.4rem;
    --public-control-md: 5.2rem;
    --public-control-lg: 5.6rem;
    --public-filter-tab-mobile-height: 3.6rem;
    --public-button-font-size: clamp(1.4rem, .9vw, 1.5rem);
    --public-button-frame-radius: 0;
    --public-action-radius: 3rem;
    --public-action-end-width: 2.2rem;
    --public-action-duration: 350ms;
    --public-link-line-width: 2.2rem;
    --public-link-line-hover-width: 3.8rem;
    --public-link-line-gap: 1.8rem;
    --public-treatment-body-font-size: 1.6rem;
    --public-header-action-width: clamp(3.2rem, 0.2588996764vw + 3.1029126214rem, 3.6rem);
    --public-header-icon-size: clamp(1.6rem, 0.1294498382vw + 1.5514563107rem, 1.8rem);
    --public-header-action-size: var(--public-control-sm);
    --public-header-appointment-width: 22rem;
    --public-header-notify-size: 1.2rem;
    --public-header-notify-font-size: .8rem;
    --public-icon-sm: 1.8rem;
    --public-icon-md: 2.2rem;
    --public-icon-lg: 2.4rem;
    --public-treatment-pictogram-frame-sm: 9.6rem;
    --public-treatment-pictogram-frame-md: 13.2rem;
    --public-treatment-pictogram-frame-lg: 16rem;
    --public-header-action-shadow: 0 .6rem 1.6rem rgba(77, 56, 45, .12);
    --public-card-row: 7.6rem;
    --public-space-2xs: .8rem;
    --public-space-xs: 1.2rem;
    --public-space-sm: 1.6rem;
    --public-space-md: 2rem;
    --public-space-lg: 2.5rem;
    --public-space-xl: 3rem;
    --public-space-2xl: 4rem;
    --public-space-3xl: 5rem;
    --public-space-section: 5.5rem;
    --public-space-page: 6.5rem;
    --public-radius-sm: 0;
    --public-radius-md: 0;
    --public-radius-pill: 999px;
    --public-check-size: 2.4rem;
    --public-cart-max: 81.2rem;
    --public-cart-panel-padding: 3rem;
    --public-cart-row-min-height: 18.9rem;
    --public-cart-page-bottom: 11.8rem;
    --public-footer-mobile-safe-space: 3.2rem;
    --public-home-title-family: var(--font-display-family);
    --public-home-title-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --public-home-title-fw: var(--font-weight-regular);
    --public-home-title-lh: 1.12;
    --public-home-lead-fs: clamp(1.4rem, 0.2588996764vw + 1.3029126214rem, 1.8rem);
    --public-study-media-ratio: 316 / 231;
    --public-nav-fs: 1.8rem;
    --public-drawer-root-fs: 4.8rem;
    --public-search-max-width: 64rem;
    --public-search-height: 4.8rem;
    --public-search-submit-width: clamp(8rem, 0.5177993528vw + 7.8058252427rem, 8.8rem);
    --public-search-gap: clamp(1rem, 0.3883495146vw + 0.854368932rem, 1.6rem);
    --public-search-input-padding-inline: var(--public-space-xs);
    --public-search-icon-slot: clamp(4.4rem, 0.2588996764vw + 4.3029126214rem, 4.8rem);
    --public-search-icon-size: var(--public-icon-md);
    --public-auth-panel-max: 44rem;
    --public-auth-mark-size: 6.4rem;
    --public-social-icon-size: 2rem;
    --public-duration: .35s;
    --public-ease: cubic-bezier(.22, .8, .25, 1);
    --public-z-header: 90;
    --public-z-async-directory: 110;
    --public-z-drawer: 120;
    --public-z-cursor: 21000;
  }
  @media (max-width: 1023px) {
    :root {
      --public-header-max: 100%;
      --public-header-height: 12.8rem;
      --public-header-content-height: 8.8rem;
      --public-control-sm: 4.4rem;
      --public-header-appointment-width: 18rem;
    }
  }
  @media (max-width: 767px) {
    :root {
      --public-header-height: 8.4rem;
      --public-header-content-height: 5.6rem;
      --public-header-action-size: 4rem;
    }
  }
  html:has(.public-header--without-award) {
    --public-header-height: var(--public-header-content-height);
  }
  .public-header.site-header {
    --public-header-fill-duration: .56s;
  }
  .public-about-showcase {
    --public-about-showcase-wave: 0;
  }
  .public-history__track {
    --history-line-top: 56rem;
    --history-line-bottom: 16rem;
    --history-line-gap-1-start: 0px;
    --history-line-gap-1-end: 0px;
    --history-line-gap-2-start: 0px;
    --history-line-gap-2-end: 0px;
    --history-line-gap-3-start: 0px;
    --history-line-gap-3-end: 0px;
  }
  .public-history__outro-title {
    --history-outro-fill: 100%;
  }
  .public-home ~ .no-floating-cta {
    --fcta-size: 4.8rem;
    --fcta-gap-edge: max(2rem, calc((100vw - 164rem) / 2));
    --fcta-btn-gap: .6rem;
    --fcta-radius: var(--public-radius-pill);
    --fcta-shadow: none;
    --fcta-shadow-hover: none;
  }
  .public-practice-page ~ .no-floating-cta {
    --fcta-size: 5.2rem;
    --fcta-gap-edge: 3rem;
    --fcta-gap-bottom: 3rem;
    --fcta-btn-gap: .8rem;
    --fcta-radius: 0;
    --fcta-shadow: none;
    --fcta-shadow-hover: none;
  }
  .public-event-page ~ .no-floating-cta {
    --fcta-size: 5.2rem;
    --fcta-gap-edge: 3rem;
    --fcta-gap-bottom: 3rem;
    --fcta-btn-gap: .8rem;
    --fcta-radius: 0;
    --fcta-shadow: none;
    --fcta-shadow-hover: none;
  }
  .public-recruit__steps {
    --recruit-step-marker: 6rem;
    --recruit-step-gap: 7.2rem;
  }
  @media (max-width: 1279px) and (min-width: 768px) {
    .public-recruit__steps {
      --recruit-step-marker: 6.2rem;
      --recruit-step-gap: 7.6rem;
    }
  }
  @media (max-width: 767px) {
    .public-recruit__steps {
      --recruit-step-gap: 5rem;
    }
  }
  body, a,
  button,
  select,
  input,
  textarea,
  option {
    font-family: var(--family-base);
    font-size: var(--body-md-fs);
    font-weight: var(--body-md-fw);
    line-height: var(--body-md-lh);
    word-break: keep-all;
  }
  :root {
    /* === Section spacing (섹션 상·하단 패딩) === */
    --section-xs: clamp(2.4rem, 1.5533980583vw + 1.8174757282rem, 4.8rem);
    --section-sm: clamp(3.2rem, 2.071197411vw + 2.4233009709rem, 6.4rem);
    --section-md: clamp(4.8rem, 3.1067961165vw + 3.6349514563rem, 9.6rem);
    --section-lg: clamp(6.4rem, 4.142394822vw + 4.8466019417rem, 12.8rem);
    --section-xl: clamp(8rem, 10.355987055vw + 4.1165048544rem, 24rem);
    /* === Border Radius (유동 반경) === */
    --radius-xs: clamp(0.2rem, 0.1294498382vw + 0.1514563107rem, 0.4rem);
    --radius-sm: clamp(0.4rem, 0.2588996764vw + 0.3029126214rem, 0.8rem);
    --radius-md: clamp(0.8rem, 0.5177993528vw + 0.6058252427rem, 1.6rem);
    --radius-lg: clamp(1.2rem, 0.7766990291vw + 0.9087378641rem, 2.4rem);
    --radius-xl: clamp(1.6rem, 1.0355987055vw + 1.2116504854rem, 3.2rem);
    --radius-round: 9999px;
    /* === Spacing (마진·패딩 기본 단위, fluid 적용) === */
    --spacing-xxs: clamp(0.2rem, 0.1294498382vw + 0.1514563107rem, 0.4rem);
    --spacing-xs: clamp(0.4rem, 0.2588996764vw + 0.3029126214rem, 0.8rem);
    --spacing-sm: clamp(0.6rem, 0.3883495146vw + 0.454368932rem, 1.2rem);
    --spacing-md: clamp(0.8rem, 0.5177993528vw + 0.6058252427rem, 1.6rem);
    --spacing-lg: clamp(1.2rem, 0.7766990291vw + 0.9087378641rem, 2.4rem);
    --spacing-xl: clamp(1.6rem, 1.0355987055vw + 1.2116504854rem, 3.2rem);
    --spacing-2xl: clamp(2.4rem, 1.5533980583vw + 1.8174757282rem, 4.8rem);
    --spacing-3xl: clamp(3.2rem, 2.071197411vw + 2.4233009709rem, 6.4rem);
    --spacing-4xl: clamp(4rem, 2.5889967638vw + 3.0291262136rem, 8rem);
    --spacing-5xl: clamp(6.4rem, 4.142394822vw + 4.8466019417rem, 12.8rem);
    --spacing-6xl: clamp(8rem, 10.355987055vw + 4.1165048544rem, 24rem);
  }
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    letter-spacing: -0.02em;
  }
  html {
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizelegibility;
    font-size: 62.5%;
  }
  body {
    background: var(--clr-background-paper);
  }
  ::selection {
    background: #000;
    color: #fff;
  }
  ::-webkit-scrollbar {
    background-color: #f7f7f7;
    width: clamp(0.3rem, 0.1294498382vw + 0.2514563107rem, 0.5rem);
  }
  ::-webkit-scrollbar-thumb {
    background-color: var(--clr-primary-500);
    border-radius: 5.5rem;
  }
  a,
  button,
  select,
  input,
  textarea,
  option {
    font-size: var(--body-sm-fs);
  }
  ul,
  ol,
  li {
    list-style: none;
  }
  img {
    width: 100%;
    object-fit: cover;
  }
  a {
    text-decoration: none;
    display: block;
    color: var(--clr-text-base);
  }
  em,
  address {
    font-style: normal;
  }
  button {
    background: none;
    border: none;
    cursor: pointer;
  }
  label {
    cursor: pointer;
  }
  textarea {
    resize: none;
  }
  input,
  textarea,
  select,
  option {
    border: none;
    outline: none;
  }
  /* === Display === */
  .no-display-xs {
    font-size: var(--display-xs-fs);
    font-weight: var(--display-xs-fw);
    line-height: var(--display-xs-lh);
    letter-spacing: 0;
  }
  .no-display-sm {
    font-size: var(--display-sm-fs);
    font-weight: var(--display-sm-fw);
    line-height: var(--display-sm-lh);
    letter-spacing: 0;
  }
  .no-display-md {
    font-size: var(--display-md-fs);
    font-weight: var(--display-md-fw);
    line-height: var(--display-md-lh);
    letter-spacing: 0;
  }
  .no-display-lg {
    font-size: var(--display-lg-fs);
    font-weight: var(--display-lg-fw);
    line-height: var(--display-lg-lh);
    letter-spacing: 0;
  }
  .no-display-xl {
    font-size: var(--display-xl-fs);
    font-weight: var(--display-xl-fw);
    line-height: var(--display-xl-lh);
    letter-spacing: 0;
  }
  /* 장식용 초대형 워드마크 (WHO WE ARE §signature 배경 타입) */
  .no-deco-wordmark {
    font-size: var(--deco-wordmark-fs);
    font-weight: var(--deco-wordmark-fw);
    line-height: var(--deco-wordmark-lh);
  }
  /* === Heading === */
  /* _init.scss 의 `a { font-size: var(--body-sm-fs) }` reset이 heading 자식 <a>를 덮는 것을 방지. */
  .no-heading-2xs {
    font-size: var(--heading-2xs-fs);
    font-weight: var(--heading-2xs-fw);
    line-height: var(--heading-2xs-lh);
    letter-spacing: 0;
  }
  .no-heading-2xs a {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
  }
  .no-heading-xs {
    font-size: var(--heading-xs-fs);
    font-weight: var(--heading-xs-fw);
    line-height: var(--heading-xs-lh);
    letter-spacing: 0;
  }
  .no-heading-xs a {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
  }
  .no-heading-sm {
    font-size: var(--heading-sm-fs);
    font-weight: var(--heading-sm-fw);
    line-height: var(--heading-sm-lh);
    letter-spacing: 0;
  }
  .no-heading-sm a {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
  }
  .no-heading-md {
    font-size: var(--heading-md-fs);
    font-weight: var(--heading-md-fw);
    line-height: var(--heading-md-lh);
    letter-spacing: 0;
  }
  .no-heading-md a {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
  }
  .no-heading-bl {
    font-size: var(--heading-bl-fs);
    font-weight: var(--heading-bl-fw);
    line-height: var(--heading-bl-lh);
    letter-spacing: 0;
  }
  .no-heading-bl a {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
  }
  .no-heading-lg {
    font-size: var(--heading-lg-fs);
    font-weight: var(--heading-lg-fw);
    line-height: var(--heading-lg-lh);
    letter-spacing: 0;
  }
  .no-heading-lg a {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
  }
  .no-heading-xl {
    font-size: var(--heading-xl-fs);
    font-weight: var(--heading-xl-fw);
    line-height: var(--heading-xl-lh);
    letter-spacing: 0;
  }
  .no-heading-xl a {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
  }
  /* === Body === */
  .no-body-xs {
    font-size: var(--body-xs-fs);
    font-weight: var(--body-xs-fw);
    line-height: var(--body-xs-lh);
    letter-spacing: 0;
  }
  .no-body-sm {
    font-size: var(--body-sm-fs);
    font-weight: var(--body-sm-fw);
    line-height: var(--body-sm-lh);
    letter-spacing: 0;
  }
  .no-body-md {
    font-size: var(--body-md-fs);
    font-weight: var(--body-md-fw);
    line-height: var(--body-md-lh);
    letter-spacing: 0;
  } /* 기본 본문 */
  .no-body-lg {
    font-size: var(--body-lg-fs);
    font-weight: var(--body-lg-fw);
    line-height: var(--body-lg-lh);
    letter-spacing: 0;
  }
  .no-body-xl {
    font-size: var(--body-xl-fs);
    font-weight: var(--body-xl-fw);
    line-height: var(--body-xl-lh);
    letter-spacing: 0;
  }
  .no-body-card-desc {
    font-size: var(--body-card-desc-fs);
    font-weight: var(--body-card-desc-fw);
    line-height: var(--body-card-desc-lh);
    letter-spacing: 0;
  }
  /* === Semantic public hierarchy === */
  .no-subhero-title {
    font-size: var(--subhero-title-fs);
    font-weight: var(--subhero-title-fw);
    line-height: var(--subhero-title-lh);
    letter-spacing: 0;
  }
  .no-section-title {
    font-size: var(--section-title-fs);
    font-weight: var(--section-title-fw);
    line-height: var(--section-title-lh);
    letter-spacing: 0;
  }
  .no-middle-title-lg {
    font-size: var(--middle-title-lg-fs);
    font-weight: var(--middle-title-lg-fw);
    line-height: var(--middle-title-lg-lh);
    letter-spacing: 0;
  }
  .no-middle-title-md {
    font-size: var(--middle-title-md-fs);
    font-weight: var(--middle-title-md-fw);
    line-height: var(--middle-title-md-lh);
    letter-spacing: 0;
  }
  .no-list-title {
    font-size: var(--list-title-fs);
    font-weight: var(--list-title-fw);
    line-height: var(--list-title-lh);
    letter-spacing: 0;
  }
  .no-subtitle {
    font-size: var(--subtitle-fs);
    font-weight: var(--subtitle-fw);
    line-height: var(--subtitle-lh);
    letter-spacing: 0;
  }
  /* === Section spacing (padding-y) === */
  .no-section-xs {
    padding-top: var(--section-xs);
    padding-bottom: var(--section-xs);
  }
  .no-section-sm {
    padding-top: var(--section-sm);
    padding-bottom: var(--section-sm);
  }
  .no-section-md {
    padding-top: var(--section-md);
    padding-bottom: var(--section-md);
  }
  .no-section-lg {
    padding-top: var(--section-lg);
    padding-bottom: var(--section-lg);
  }
  .no-section-xl {
    padding-top: var(--section-xl);
    padding-bottom: var(--section-xl);
  }
  /* === Border Radius === */
  .no-radius-xs {
    border-radius: var(--radius-xs);
  }
  .no-radius-sm {
    border-radius: var(--radius-sm);
  }
  .no-radius-md {
    border-radius: var(--radius-md);
  }
  .no-radius-lg {
    border-radius: var(--radius-lg);
  }
  .no-radius-xl {
    border-radius: var(--radius-xl);
  }
  .no-radius-round {
    border-radius: var(--radius-round);
  }
  .no-container-3xl {
    max-width: 1920px;
    width: 100%;
    margin: 0 auto;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
  .no-container-2xl {
    max-width: 1640px;
    width: 100%;
    margin: 0 auto;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
  .no-container-xl {
    max-width: 1360px;
    width: 100%;
    margin: 0 auto;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
  .no-container-lg {
    max-width: 1024px;
    width: 100%;
    margin: 0 auto;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
  .no-container-content {
    max-width: 880px;
    width: 100%;
    margin: 0 auto;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
  .no-container-event {
    max-width: 848px;
    width: 100%;
    margin: 0 auto;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
  .no-container-cart {
    max-width: 860px;
    width: 100%;
    margin: 0 auto;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
  .no-container-md {
    max-width: 768px;
    width: 100%;
    margin: 0 auto;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
  .no-container-sm {
    max-width: 544px;
    width: 100%;
    margin: 0 auto;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
  .no-container-xs {
    max-width: 450px;
    width: 100%;
    margin: 0 auto;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
  .no-container-xxs {
    max-width: 375px;
    width: 100%;
    margin: 0 auto;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
  .no-mg-xxs {
    margin: var(--spacing-xxs);
  }
  .no-mg-xxs--l {
    margin-left: var(--spacing-xxs);
  }
  .no-mg-xxs--r {
    margin-right: var(--spacing-xxs);
  }
  .no-mg-xxs--t {
    margin-top: var(--spacing-xxs);
  }
  .no-mg-xxs--b {
    margin-bottom: var(--spacing-xxs);
  }
  .no-mg-xs {
    margin: var(--spacing-xs);
  }
  .no-mg-xs--l {
    margin-left: var(--spacing-xs);
  }
  .no-mg-xs--r {
    margin-right: var(--spacing-xs);
  }
  .no-mg-xs--t {
    margin-top: var(--spacing-xs);
  }
  .no-mg-xs--b {
    margin-bottom: var(--spacing-xs);
  }
  .no-mg-sm {
    margin: var(--spacing-sm);
  }
  .no-mg-sm--l {
    margin-left: var(--spacing-sm);
  }
  .no-mg-sm--r {
    margin-right: var(--spacing-sm);
  }
  .no-mg-sm--t {
    margin-top: var(--spacing-sm);
  }
  .no-mg-sm--b {
    margin-bottom: var(--spacing-sm);
  }
  .no-mg-md {
    margin: var(--spacing-md);
  }
  .no-mg-md--l {
    margin-left: var(--spacing-md);
  }
  .no-mg-md--r {
    margin-right: var(--spacing-md);
  }
  .no-mg-md--t {
    margin-top: var(--spacing-md);
  }
  .no-mg-md--b {
    margin-bottom: var(--spacing-md);
  }
  .no-mg-lg {
    margin: var(--spacing-lg);
  }
  .no-mg-lg--l {
    margin-left: var(--spacing-lg);
  }
  .no-mg-lg--r {
    margin-right: var(--spacing-lg);
  }
  .no-mg-lg--t {
    margin-top: var(--spacing-lg);
  }
  .no-mg-lg--b {
    margin-bottom: var(--spacing-lg);
  }
  .no-mg-xl {
    margin: var(--spacing-xl);
  }
  .no-mg-xl--l {
    margin-left: var(--spacing-xl);
  }
  .no-mg-xl--r {
    margin-right: var(--spacing-xl);
  }
  .no-mg-xl--t {
    margin-top: var(--spacing-xl);
  }
  .no-mg-xl--b {
    margin-bottom: var(--spacing-xl);
  }
  .no-mg-2xl {
    margin: var(--spacing-2xl);
  }
  .no-mg-2xl--l {
    margin-left: var(--spacing-2xl);
  }
  .no-mg-2xl--r {
    margin-right: var(--spacing-2xl);
  }
  .no-mg-2xl--t {
    margin-top: var(--spacing-2xl);
  }
  .no-mg-2xl--b {
    margin-bottom: var(--spacing-2xl);
  }
  .no-mg-3xl {
    margin: var(--spacing-3xl);
  }
  .no-mg-3xl--l {
    margin-left: var(--spacing-3xl);
  }
  .no-mg-3xl--r {
    margin-right: var(--spacing-3xl);
  }
  .no-mg-3xl--t {
    margin-top: var(--spacing-3xl);
  }
  .no-mg-3xl--b {
    margin-bottom: var(--spacing-3xl);
  }
  .no-mg-4xl {
    margin: var(--spacing-4xl);
  }
  .no-mg-4xl--l {
    margin-left: var(--spacing-4xl);
  }
  .no-mg-4xl--r {
    margin-right: var(--spacing-4xl);
  }
  .no-mg-4xl--t {
    margin-top: var(--spacing-4xl);
  }
  .no-mg-4xl--b {
    margin-bottom: var(--spacing-4xl);
  }
  .no-mg-5xl {
    margin: var(--spacing-5xl);
  }
  .no-mg-5xl--l {
    margin-left: var(--spacing-5xl);
  }
  .no-mg-5xl--r {
    margin-right: var(--spacing-5xl);
  }
  .no-mg-5xl--t {
    margin-top: var(--spacing-5xl);
  }
  .no-mg-5xl--b {
    margin-bottom: var(--spacing-5xl);
  }
  .no-mg-6xl {
    margin: var(--spacing-6xl);
  }
  .no-mg-6xl--l {
    margin-left: var(--spacing-6xl);
  }
  .no-mg-6xl--r {
    margin-right: var(--spacing-6xl);
  }
  .no-mg-6xl--t {
    margin-top: var(--spacing-6xl);
  }
  .no-mg-6xl--b {
    margin-bottom: var(--spacing-6xl);
  }
  .no-pd-xxs {
    padding: var(--spacing-xxs);
  }
  .no-pd-xxs--l {
    padding-left: var(--spacing-xxs);
  }
  .no-pd-xxs--r {
    padding-right: var(--spacing-xxs);
  }
  .no-pd-xxs--t {
    padding-top: var(--spacing-xxs);
  }
  .no-pd-xxs--b {
    padding-bottom: var(--spacing-xxs);
  }
  .no-pd-xs {
    padding: var(--spacing-xs);
  }
  .no-pd-xs--l {
    padding-left: var(--spacing-xs);
  }
  .no-pd-xs--r {
    padding-right: var(--spacing-xs);
  }
  .no-pd-xs--t {
    padding-top: var(--spacing-xs);
  }
  .no-pd-xs--b {
    padding-bottom: var(--spacing-xs);
  }
  .no-pd-sm {
    padding: var(--spacing-sm);
  }
  .no-pd-sm--l {
    padding-left: var(--spacing-sm);
  }
  .no-pd-sm--r {
    padding-right: var(--spacing-sm);
  }
  .no-pd-sm--t {
    padding-top: var(--spacing-sm);
  }
  .no-pd-sm--b {
    padding-bottom: var(--spacing-sm);
  }
  .no-pd-md {
    padding: var(--spacing-md);
  }
  .no-pd-md--l {
    padding-left: var(--spacing-md);
  }
  .no-pd-md--r {
    padding-right: var(--spacing-md);
  }
  .no-pd-md--t {
    padding-top: var(--spacing-md);
  }
  .no-pd-md--b {
    padding-bottom: var(--spacing-md);
  }
  .no-pd-lg {
    padding: var(--spacing-lg);
  }
  .no-pd-lg--l {
    padding-left: var(--spacing-lg);
  }
  .no-pd-lg--r {
    padding-right: var(--spacing-lg);
  }
  .no-pd-lg--t {
    padding-top: var(--spacing-lg);
  }
  .no-pd-lg--b {
    padding-bottom: var(--spacing-lg);
  }
  .no-pd-xl {
    padding: var(--spacing-xl);
  }
  .no-pd-xl--l {
    padding-left: var(--spacing-xl);
  }
  .no-pd-xl--r {
    padding-right: var(--spacing-xl);
  }
  .no-pd-xl--t {
    padding-top: var(--spacing-xl);
  }
  .no-pd-xl--b {
    padding-bottom: var(--spacing-xl);
  }
  .no-pd-2xl {
    padding: var(--spacing-2xl);
  }
  .no-pd-2xl--l {
    padding-left: var(--spacing-2xl);
  }
  .no-pd-2xl--r {
    padding-right: var(--spacing-2xl);
  }
  .no-pd-2xl--t {
    padding-top: var(--spacing-2xl);
  }
  .no-pd-2xl--b {
    padding-bottom: var(--spacing-2xl);
  }
  .no-pd-3xl {
    padding: var(--spacing-3xl);
  }
  .no-pd-3xl--l {
    padding-left: var(--spacing-3xl);
  }
  .no-pd-3xl--r {
    padding-right: var(--spacing-3xl);
  }
  .no-pd-3xl--t {
    padding-top: var(--spacing-3xl);
  }
  .no-pd-3xl--b {
    padding-bottom: var(--spacing-3xl);
  }
  .no-pd-4xl {
    padding: var(--spacing-4xl);
  }
  .no-pd-4xl--l {
    padding-left: var(--spacing-4xl);
  }
  .no-pd-4xl--r {
    padding-right: var(--spacing-4xl);
  }
  .no-pd-4xl--t {
    padding-top: var(--spacing-4xl);
  }
  .no-pd-4xl--b {
    padding-bottom: var(--spacing-4xl);
  }
  .no-pd-5xl {
    padding: var(--spacing-5xl);
  }
  .no-pd-5xl--l {
    padding-left: var(--spacing-5xl);
  }
  .no-pd-5xl--r {
    padding-right: var(--spacing-5xl);
  }
  .no-pd-5xl--t {
    padding-top: var(--spacing-5xl);
  }
  .no-pd-5xl--b {
    padding-bottom: var(--spacing-5xl);
  }
  .no-pd-6xl {
    padding: var(--spacing-6xl);
  }
  .no-pd-6xl--l {
    padding-left: var(--spacing-6xl);
  }
  .no-pd-6xl--r {
    padding-right: var(--spacing-6xl);
  }
  .no-pd-6xl--t {
    padding-top: var(--spacing-6xl);
  }
  .no-pd-6xl--b {
    padding-bottom: var(--spacing-6xl);
  }
  .no-heading__highlight {
    font-weight: var(--overline-fw);
    color: var(--clr-secondary-main);
    text-transform: uppercase;
  }
  .no-heading__title {
    font-size: var(--heading-lg-fs);
    font-weight: var(--heading-lg-fw);
    padding-top: 1.6rem;
  }
  .no-heading__desc {
    color: var(--clr-text-desc);
    padding-top: 0.8rem;
  }
  .no-base-button {
    position: static;
    margin: 0;
    width: 2.7rem;
    height: 4.4rem;
    display: flex;
    align-items: center;
    border-radius: 0.4rem;
    background: var(--clr-gray-50);
  }
  .no-base-button i {
    color: var(--clr-text-desc);
    font-size: var(--body-sm-fs);
  }
  .no-base-button::after {
    content: none;
  }
  .no-base-controls {
    display: flex;
    align-items: center;
    gap: 0.8rem;
  }
  .no-bedge-outline, .no-bedge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    border-radius: 10rem;
  }
  .no-bedge {
    color: var(--clr-base-white);
    background: var(--clr-text-base);
  }
  .no-bedge-outline {
    background-color: transparent;
    color: var(--clr-text-base);
    border: 1px solid var(--clr-text-base);
  }
  .no-bedge--xs {
    line-height: var(--body-xs-lh);
    font-size: var(--body-xs-fs);
    padding: 0.4rem 0.8rem;
    border-radius: 5.5rem;
  }
  .no-section-hr {
    height: 0;
    border-top: 1px solid var(--clr-gray-300);
  }
  .no-bg--gray {
    background: var(--clr-gray-50);
  }
  .no-bg--primary-light {
    background: var(--clr-primary-50);
  }
  .no-bg {
    /* === 시맨틱 배경 토큰 (섹션 prop $bgClass 용) === */
  }
  .no-bg--paper {
    background: var(--clr-background-paper);
  }
  .no-bg--section {
    background: var(--clr-background-primary);
  }
  .no-bg--secondary {
    background: var(--clr-background-secondary);
  }
  .no-bg--brand {
    background: var(--clr-primary-900);
  }
  .no-bg--accent {
    background: var(--clr-accent-500);
  }
  /* === 글자색 유틸 (섹션 prop $textClass 용) === */
  .no-text--primary {
    color: var(--clr-text-primary);
  }
  .no-text--secondary {
    color: var(--clr-text-secondary);
  }
  .no-text--tertiary {
    color: var(--clr-text-tertiary);
  }
  .no-text--inverse {
    color: var(--clr-base-white);
  }
  body.is-scrolling *:not([data-aos]):not([data-aos] *):not(.no-auto-cover):not(.no-auto-cover *):not(.public-header):not(.public-header *):not([data-quick-menu-top]) {
    transition: none !important;
  }
  .seo-headline {
    position: absolute;
    clip: rect(0 0 0 0);
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
  }
  .skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 100001;
    padding: 0.8rem 1.6rem;
    background: #000;
    color: #fff;
    font-size: var(--body-sm-fs);
    text-decoration: underline;
  }
  .skip-link:focus {
    left: 0;
  }
  .--blind {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
    clip-path: inset(0px 0px 99.9% 99.9%);
    overflow: hidden;
    height: 1px;
    width: 1px;
    padding: 0;
    border: 0;
  }
  .--hidden {
    overflow: hidden;
  }
  .--full-height {
    height: 100vh;
  }
  @supports (height: 100dvh) {
    .--full-height {
      height: 100dvh;
    }
  }
  .--flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .--flex-end {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  .--100 {
    font-weight: 100;
  }
  .--200 {
    font-weight: 200;
  }
  .--300 {
    font-weight: 300;
  }
  .--400 {
    font-weight: 400;
  }
  .--500 {
    font-weight: 500;
  }
  .--600 {
    font-weight: 600;
  }
  .--700 {
    font-weight: 700;
  }
  .--800 {
    font-weight: 800;
  }
  .--900 {
    font-weight: 900;
  }
  .--ttu {
    text-transform: uppercase;
  }
  .--ttc {
    text-transform: capitalize;
  }
  .--ttl {
    text-transform: lowercase;
  }
  .--tac {
    text-align: center;
  }
  .--tal {
    text-align: left;
  }
  .--tar {
    text-align: right;
  }
  .wh {
    color: #fff;
  }
  .gc {
    color: var(--clr-gray-50);
  }
  .op9 {
    opacity: 0.9;
  }
  .op8 {
    opacity: 0.8;
  }
  .op7 {
    opacity: 0.7;
  }
  .op6 {
    opacity: 0.6;
  }
  .op5 {
    opacity: 0.5;
  }
  .op4 {
    opacity: 0.4;
  }
  .op3 {
    opacity: 0.3;
  }
  .op2 {
    opacity: 0.2;
  }
  .op1 {
    opacity: 0.1;
  }
  .wh9 {
    color: var(--clr-gray-900);
  }
  .wh8 {
    color: var(--clr-gray-800);
  }
  .wh7 {
    color: var(--clr-gray-700);
  }
  .wh6 {
    color: var(--clr-gray-600);
  }
  .wh5 {
    color: var(--clr-gray-500);
  }
  .wh4 {
    color: var(--clr-gray-400);
  }
  .bc {
    color: var(--clr-primary-500);
  }
  .sc {
    color: var(--clr-secondary-500);
  }
  .bg {
    background-color: var(--clr-gray-50);
  }
  .bullet {
    display: flex;
  }
  .bullet::before {
    content: "";
    width: 0.6rem;
    height: 0.6rem;
    min-width: 0.6rem;
    min-height: 0.6rem;
    border-radius: 99999px;
    left: 0;
    top: 1rem;
    margin-right: 1rem;
    position: relative;
    display: block;
    background-color: #b5b5b5;
  }
  .imgbg {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
  }
  .center {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
  .full-bg::before {
    content: "";
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
  }
  .no-en {
    font-family: var(--font-english-family);
  }
  .no-manrope,
  .no-oswald {
    font-family: var(--font-english-family);
  }
  .reveal-up .reveal-up__mask {
    display: block;
    overflow: hidden;
    padding-bottom: 1rem;
  }
  .reveal-up .reveal-up__text {
    display: block;
    will-change: transform;
  }
  @media (max-width: 768px) {
    br {
      display: none;
    }
    br.no {
      display: block;
    }
  }
  [dir=rtl] .no-container-xl,
  [dir=rtl] .no-container-xl {
    direction: rtl;
    text-align: start;
  }
  [dir=rtl] .no-nav__list {
    flex-direction: row-reverse;
  }
  [dir=rtl] .no-lang-switch__dropdown {
    right: auto;
    left: 0;
  }
  [dir=rtl] .no-btn > i:first-child {
    margin-right: 0;
    margin-left: 0.4em;
  }
  :root {
    /* === base === */
    --clr-base-white: #fff;
    --clr-base-black: #000;
    --clr-text-base: #000000;
    --clr-text-desc: #999999;
    /* === primary === */
    --clr-primary-50: #fff6ee;
    --clr-primary-700: #ff8e24;
    --clr-primary-900: #ff7b00;
    --clr-secondary-900: #e60000;
    --clr-primary-main: var(--clr-primary-900);
    /* === background === */
    --clr-white-bg-50: #f7f7f7;
    --clr-white-bg-100: #dddddd;
    --clr-white-bg-200: #dedede;
    --clr-black-bg-50: #111111;
    --clr-black-bg-100: #222222;
    --clr-black-bg-200: #333333;
    --clr-black-bg-300: #333333;
    --clr-black-bg-400: #444444;
    --clr-black-bg-500: #555555;
    --clr-black-bg-600: #666666;
    --clr-black-bg-700: #777777;
    --clr-black-bg-800: #888888;
    --clr-black-bg-900: #999999;
    /* === utils === */
    --clr-gray-50: #f9f9f9;
    --clr-gray-100: #ddd;
    --clr-gray-200: #dedede;
    --clr-gray-300: #cccccc;
    --clr-gray-400: #a7a7a7;
    --clr-gray-500: #868686;
    --clr-gray-600: #5f5f5f;
    --clr-gray-700: #4c4c4c;
    --clr-gray-800: #222222;
    --clr-gray-900: #000000;
    --clr-white-alpha-10: rgba(255, 255, 255, 0.1);
    --clr-white-alpha-20: rgba(255, 255, 255, 0.2);
    --clr-white-alpha-30: rgba(255, 255, 255, 0.3);
    --clr-white-alpha-40: rgba(255, 255, 255, 0.4);
    --clr-white-alpha-50: rgba(255, 255, 255, 0.5);
  }
  .--text-white {
    color: #fff;
  }
  .--text-gray-900 {
    color: var(--clr-gray-900);
  }
  .--text-gray-800 {
    color: var(--clr-gray-800);
  }
  .--text-gray-700 {
    color: var(--clr-gray-700);
  }
  .--text-gray-600 {
    color: var(--clr-gray-600);
  }
  .--text-gray-500 {
    color: var(--clr-gray-500);
  }
  .--text-gray-400 {
    color: var(--clr-gray-400);
  }
  .--text-gray-300 {
    color: var(--clr-gray-300);
  }
  .--text-gray-200 {
    color: var(--clr-gray-200);
  }
  .--text-gray-100 {
    color: var(--clr-gray-100);
  }
  .--text-gray-50 {
    color: var(--clr-gray-50);
  }
  .--text-primary {
    color: var(--clr-primary-900);
  }
  .--text-secondary {
    color: var(--clr-secondary-900);
  }
  .--bg-transparent {
    background-color: transparent;
  }
  .--bg-white {
    background-color: var(--clr-base-white);
  }
  .--bg-white-50 {
    background-color: var(--clr-white-bg-50);
  }
  .--bg-white-100 {
    background-color: var(--clr-white-bg-100);
  }
  .--bg-white-200 {
    background-color: var(--clr-white-bg-200);
  }
  .--bg-black {
    background-color: var(--clr-base-black);
    color: var(--clr-base-white);
  }
  .--bg-black-50 {
    background-color: var(--clr-black-bg-50);
    color: var(--clr-base-white);
  }
  .--bg-black-100 {
    background-color: var(--clr-black-bg-100);
    color: var(--clr-base-white);
  }
  .--bg-black-200 {
    background-color: var(--clr-black-bg-200);
    color: var(--clr-base-white);
  }
  .--bg-gray-50 {
    background-color: var(--clr-gray-50);
  }
  .--bg-gray-100 {
    background-color: var(--clr-gray-100);
  }
  .--bg-primary {
    background-color: var(--clr-primary-900);
  }
  .--bg-primary-50 {
    background-color: var(--clr-primary-50);
  }
  .--border-transparent {
    border-color: transparent;
  }
  .--border-gray-100 {
    border-color: var(--clr-gray-100);
  }
  :root {
    --family-pretendard: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    --display-xs-fs: clamp(2.8rem, 2.3300970874vw + 1.9262135922rem, 6.4rem);
    --display-xs-fw: 700;
    --display-xs-lh: 1.2;
    --display-sm-fs: clamp(3.2rem, 2.5889967638vw + 2.2291262136rem, 7.2rem);
    --display-sm-fw: 700;
    --display-sm-lh: 1.2;
    --display-md-fs: clamp(3.6rem, 3.3656957929vw + 2.3378640777rem, 8.8rem);
    --display-md-fw: 700;
    --display-md-lh: 1.15;
    --display-lg-fs: clamp(4rem, 3.6245954693vw + 2.640776699rem, 9.6rem);
    --display-lg-fw: 700;
    --display-lg-lh: 1.1;
    --display-xl-fs: clamp(4.8rem, 5.1779935275vw + 2.8582524272rem, 12.8rem);
    --display-xl-fw: 700;
    --display-xl-lh: 1.1;
    --no-display-xs-fs: clamp(2.8rem, 2.3300970874vw + 1.9262135922rem, 6.4rem);
    --no-display-xs-fw: 700;
    --no-display-xs-lh: 1.2;
    --no-display-sm-fs: clamp(3.2rem, 2.5889967638vw + 2.2291262136rem, 7.2rem);
    --no-display-sm-fw: 700;
    --no-display-sm-lh: 1.2;
    --no-display-md-fs: clamp(3.6rem, 3.3656957929vw + 2.3378640777rem, 8.8rem);
    --no-display-md-fw: 700;
    --no-display-md-lh: 1.15;
    --no-display-lg-fs: clamp(4rem, 3.6245954693vw + 2.640776699rem, 9.6rem);
    --no-display-lg-fw: 700;
    --no-display-lg-lh: 1.1;
    --no-display-xl-fs: clamp(4.8rem, 5.1779935275vw + 2.8582524272rem, 12.8rem);
    --no-display-xl-fw: 700;
    --no-display-xl-lh: 1.1;
    --heading-xs-fs: clamp(1.8rem, 0.3883495146vw + 1.654368932rem, 2.4rem);
    --heading-xs-fw: 600;
    --heading-xs-lh: 1.4;
    --heading-sm-fs: clamp(1.8rem, 0.6472491909vw + 1.5572815534rem, 2.8rem);
    --heading-sm-fw: 600;
    --heading-sm-lh: 1.4;
    --heading-md-fs: clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
    --heading-md-fw: 600;
    --heading-md-lh: 1.4;
    --heading-lg-fs: clamp(2.2rem, 1.1650485437vw + 1.7631067961rem, 4rem);
    --heading-lg-fw: 600;
    --heading-lg-lh: 1.3;
    --heading-xl-fs: clamp(2.2rem, 1.6828478964vw + 1.5689320388rem, 4.8rem);
    --heading-xl-fw: 600;
    --heading-xl-lh: 1.3;
    --no-heading-xs-fs: clamp(1.8rem, 0.3883495146vw + 1.654368932rem, 2.4rem);
    --no-heading-xs-fw: 600;
    --no-heading-xs-lh: 1.4;
    --no-heading-sm-fs: clamp(1.8rem, 0.6472491909vw + 1.5572815534rem, 2.8rem);
    --no-heading-sm-fw: 600;
    --no-heading-sm-lh: 1.4;
    --no-heading-md-fs: clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
    --no-heading-md-fw: 600;
    --no-heading-md-lh: 1.4;
    --no-heading-lg-fs: clamp(2.2rem, 1.1650485437vw + 1.7631067961rem, 4rem);
    --no-heading-lg-fw: 600;
    --no-heading-lg-lh: 1.3;
    --no-heading-xl-fs: clamp(2.2rem, 1.6828478964vw + 1.5689320388rem, 4.8rem);
    --no-heading-xl-fw: 600;
    --no-heading-xl-lh: 1.3;
    --body-xs-fs: clamp(1.2rem, 0vw + 1.2rem, 1.2rem);
    --body-xs-fw: 400;
    --body-xs-lh: 1.6;
    --body-sm-fs: clamp(1.3rem, 0.0647249191vw + 1.2757281553rem, 1.4rem);
    --body-sm-fw: 400;
    --body-sm-lh: 1.6;
    --body-md-fs: clamp(1.4rem, 0.1294498382vw + 1.3514563107rem, 1.6rem);
    --body-md-fw: 400;
    --body-md-lh: 1.6;
    --body-lg-fs: clamp(1.5rem, 0.1941747573vw + 1.427184466rem, 1.8rem);
    --body-lg-fw: 400;
    --body-lg-lh: 1.6;
    --body-xl-fs: clamp(1.6rem, 0.2588996764vw + 1.5029126214rem, 2rem);
    --body-xl-fw: 400;
    --body-xl-lh: 1.6;
    --no-body-xs-fs: clamp(1.2rem, 0vw + 1.2rem, 1.2rem);
    --no-body-xs-fw: 400;
    --no-body-xs-lh: 1.6;
    --no-body-sm-fs: clamp(1.3rem, 0.0647249191vw + 1.2757281553rem, 1.4rem);
    --no-body-sm-fw: 400;
    --no-body-sm-lh: 1.6;
    --no-body-md-fs: clamp(1.4rem, 0.1294498382vw + 1.3514563107rem, 1.6rem);
    --no-body-md-fw: 400;
    --no-body-md-lh: 1.6;
    --no-body-lg-fs: clamp(1.5rem, 0.1941747573vw + 1.427184466rem, 1.8rem);
    --no-body-lg-fw: 400;
    --no-body-lg-lh: 1.6;
    --no-body-xl-fs: clamp(1.6rem, 0.2588996764vw + 1.5029126214rem, 2rem);
    --no-body-xl-fw: 400;
    --no-body-xl-lh: 1.6;
  }
  :root {
    --gutter: 2.4rem;
    --header-height: 8rem;
    --header-z-index: 1000;
    --drawer-z-index: 999;
    --tran-15: 0.15s ease-in-out;
    --tran-3: 0.3s ease-in-out;
    --family-base: var(--family-pretendard);
  }
  @media (max-width: 768px) {
    :root {
      --header-height: 7rem;
    }
  }
  :root {
    /* === Section spacing (섹션 상·하단 패딩) === */
    --section-none: clamp(0rem, 0vw + 0rem, 0rem);
    --section-xs: clamp(2.4rem, 1.5533980583vw + 1.8174757282rem, 4.8rem);
    --section-sm: clamp(3.2rem, 2.071197411vw + 2.4233009709rem, 6.4rem);
    --section-md: clamp(4.8rem, 2.071197411vw + 4.0233009709rem, 8rem);
    --section-lg: clamp(6rem, 3.8834951456vw + 4.5436893204rem, 12rem);
    --section-xl: clamp(8rem, 10.355987055vw + 4.1165048544rem, 24rem);
    /* === Border Radius (유동 반경) === */
    --radius-xs: clamp(0.2rem, 0.1294498382vw + 0.1514563107rem, 0.4rem);
    --radius-sm: clamp(0.4rem, 0.2588996764vw + 0.3029126214rem, 0.8rem);
    --radius-md: clamp(0.8rem, 0.5177993528vw + 0.6058252427rem, 1.6rem);
    --radius-lg: clamp(1.2rem, 0.7766990291vw + 0.9087378641rem, 2.4rem);
    --radius-xl: clamp(1.6rem, 1.0355987055vw + 1.2116504854rem, 3.2rem);
    --radius-round: 9999px;
    /* === Spacing (마진·패딩 기본 단위, fluid 적용) === */
    --spacing-xxs: clamp(0.4rem, 0vw + 0.4rem, 0.4rem);
    --spacing-xs: clamp(0.6rem, 0.1294498382vw + 0.5514563107rem, 0.8rem);
    --spacing-sm: clamp(0.8rem, 0.2588996764vw + 0.7029126214rem, 1.2rem);
    --spacing-md: clamp(1rem, 0.3883495146vw + 0.854368932rem, 1.6rem);
    --spacing-lg: clamp(1.2rem, 0.7766990291vw + 0.9087378641rem, 2.4rem);
    --spacing-xl: clamp(1.6rem, 1.0355987055vw + 1.2116504854rem, 3.2rem);
    --spacing-2xl: clamp(2.4rem, 1.5533980583vw + 1.8174757282rem, 4.8rem);
    --spacing-3xl: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --spacing-4xl: clamp(6.4rem, 1.0355987055vw + 6.0116504854rem, 8rem);
    --spacing-5xl: clamp(8rem, 2.5889967638vw + 7.0291262136rem, 12rem);
  }
  .tp-section-none {
    padding-top: var(--section-none);
    padding-bottom: var(--section-none);
  }
  .tp-section-xs {
    padding-top: var(--section-xs);
    padding-bottom: var(--section-xs);
  }
  .tp-section-sm {
    padding-top: var(--section-sm);
    padding-bottom: var(--section-sm);
  }
  .tp-section-md {
    padding-top: var(--section-md);
    padding-bottom: var(--section-md);
  }
  .tp-section-lg {
    padding-top: var(--section-lg);
    padding-bottom: var(--section-lg);
  }
  .tp-section-xl {
    padding-top: var(--section-xl);
    padding-bottom: var(--section-xl);
  }
  .tp-mg-xxs {
    margin: var(--spacing-xxs);
  }
  .tp-pd-xxs {
    padding: var(--spacing-xxs);
  }
  .tp-mg-xxs--x {
    margin-left: var(--spacing-xxs);
    margin-right: var(--spacing-xxs);
  }
  .tp-mg-xxs--y {
    margin-top: var(--spacing-xxs);
    margin-bottom: var(--spacing-xxs);
  }
  .tp-pd-xxs--x {
    padding-left: var(--spacing-xxs);
    padding-right: var(--spacing-xxs);
  }
  .tp-pd-xxs--y {
    padding-top: var(--spacing-xxs);
    padding-bottom: var(--spacing-xxs);
  }
  .tp-mg-xxs--l {
    margin-left: var(--spacing-xxs);
  }
  .tp-pd-xxs--l {
    padding-left: var(--spacing-xxs);
  }
  .tp-mg-xxs--r {
    margin-right: var(--spacing-xxs);
  }
  .tp-pd-xxs--r {
    padding-right: var(--spacing-xxs);
  }
  .tp-mg-xxs--t {
    margin-top: var(--spacing-xxs);
  }
  .tp-pd-xxs--t {
    padding-top: var(--spacing-xxs);
  }
  .tp-mg-xxs--b {
    margin-bottom: var(--spacing-xxs);
  }
  .tp-pd-xxs--b {
    padding-bottom: var(--spacing-xxs);
  }
  .tp-mg-xs {
    margin: var(--spacing-xs);
  }
  .tp-pd-xs {
    padding: var(--spacing-xs);
  }
  .tp-mg-xs--x {
    margin-left: var(--spacing-xs);
    margin-right: var(--spacing-xs);
  }
  .tp-mg-xs--y {
    margin-top: var(--spacing-xs);
    margin-bottom: var(--spacing-xs);
  }
  .tp-pd-xs--x {
    padding-left: var(--spacing-xs);
    padding-right: var(--spacing-xs);
  }
  .tp-pd-xs--y {
    padding-top: var(--spacing-xs);
    padding-bottom: var(--spacing-xs);
  }
  .tp-mg-xs--l {
    margin-left: var(--spacing-xs);
  }
  .tp-pd-xs--l {
    padding-left: var(--spacing-xs);
  }
  .tp-mg-xs--r {
    margin-right: var(--spacing-xs);
  }
  .tp-pd-xs--r {
    padding-right: var(--spacing-xs);
  }
  .tp-mg-xs--t {
    margin-top: var(--spacing-xs);
  }
  .tp-pd-xs--t {
    padding-top: var(--spacing-xs);
  }
  .tp-mg-xs--b {
    margin-bottom: var(--spacing-xs);
  }
  .tp-pd-xs--b {
    padding-bottom: var(--spacing-xs);
  }
  .tp-mg-sm {
    margin: var(--spacing-sm);
  }
  .tp-pd-sm {
    padding: var(--spacing-sm);
  }
  .tp-mg-sm--x {
    margin-left: var(--spacing-sm);
    margin-right: var(--spacing-sm);
  }
  .tp-mg-sm--y {
    margin-top: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
  }
  .tp-pd-sm--x {
    padding-left: var(--spacing-sm);
    padding-right: var(--spacing-sm);
  }
  .tp-pd-sm--y {
    padding-top: var(--spacing-sm);
    padding-bottom: var(--spacing-sm);
  }
  .tp-mg-sm--l {
    margin-left: var(--spacing-sm);
  }
  .tp-pd-sm--l {
    padding-left: var(--spacing-sm);
  }
  .tp-mg-sm--r {
    margin-right: var(--spacing-sm);
  }
  .tp-pd-sm--r {
    padding-right: var(--spacing-sm);
  }
  .tp-mg-sm--t {
    margin-top: var(--spacing-sm);
  }
  .tp-pd-sm--t {
    padding-top: var(--spacing-sm);
  }
  .tp-mg-sm--b {
    margin-bottom: var(--spacing-sm);
  }
  .tp-pd-sm--b {
    padding-bottom: var(--spacing-sm);
  }
  .tp-mg-md {
    margin: var(--spacing-md);
  }
  .tp-pd-md {
    padding: var(--spacing-md);
  }
  .tp-mg-md--x {
    margin-left: var(--spacing-md);
    margin-right: var(--spacing-md);
  }
  .tp-mg-md--y {
    margin-top: var(--spacing-md);
    margin-bottom: var(--spacing-md);
  }
  .tp-pd-md--x {
    padding-left: var(--spacing-md);
    padding-right: var(--spacing-md);
  }
  .tp-pd-md--y {
    padding-top: var(--spacing-md);
    padding-bottom: var(--spacing-md);
  }
  .tp-mg-md--l {
    margin-left: var(--spacing-md);
  }
  .tp-pd-md--l {
    padding-left: var(--spacing-md);
  }
  .tp-mg-md--r {
    margin-right: var(--spacing-md);
  }
  .tp-pd-md--r {
    padding-right: var(--spacing-md);
  }
  .tp-mg-md--t {
    margin-top: var(--spacing-md);
  }
  .tp-pd-md--t {
    padding-top: var(--spacing-md);
  }
  .tp-mg-md--b {
    margin-bottom: var(--spacing-md);
  }
  .tp-pd-md--b {
    padding-bottom: var(--spacing-md);
  }
  .tp-mg-lg {
    margin: var(--spacing-lg);
  }
  .tp-pd-lg {
    padding: var(--spacing-lg);
  }
  .tp-mg-lg--x {
    margin-left: var(--spacing-lg);
    margin-right: var(--spacing-lg);
  }
  .tp-mg-lg--y {
    margin-top: var(--spacing-lg);
    margin-bottom: var(--spacing-lg);
  }
  .tp-pd-lg--x {
    padding-left: var(--spacing-lg);
    padding-right: var(--spacing-lg);
  }
  .tp-pd-lg--y {
    padding-top: var(--spacing-lg);
    padding-bottom: var(--spacing-lg);
  }
  .tp-mg-lg--l {
    margin-left: var(--spacing-lg);
  }
  .tp-pd-lg--l {
    padding-left: var(--spacing-lg);
  }
  .tp-mg-lg--r {
    margin-right: var(--spacing-lg);
  }
  .tp-pd-lg--r {
    padding-right: var(--spacing-lg);
  }
  .tp-mg-lg--t {
    margin-top: var(--spacing-lg);
  }
  .tp-pd-lg--t {
    padding-top: var(--spacing-lg);
  }
  .tp-mg-lg--b {
    margin-bottom: var(--spacing-lg);
  }
  .tp-pd-lg--b {
    padding-bottom: var(--spacing-lg);
  }
  .tp-mg-xl {
    margin: var(--spacing-xl);
  }
  .tp-pd-xl {
    padding: var(--spacing-xl);
  }
  .tp-mg-xl--x {
    margin-left: var(--spacing-xl);
    margin-right: var(--spacing-xl);
  }
  .tp-mg-xl--y {
    margin-top: var(--spacing-xl);
    margin-bottom: var(--spacing-xl);
  }
  .tp-pd-xl--x {
    padding-left: var(--spacing-xl);
    padding-right: var(--spacing-xl);
  }
  .tp-pd-xl--y {
    padding-top: var(--spacing-xl);
    padding-bottom: var(--spacing-xl);
  }
  .tp-mg-xl--l {
    margin-left: var(--spacing-xl);
  }
  .tp-pd-xl--l {
    padding-left: var(--spacing-xl);
  }
  .tp-mg-xl--r {
    margin-right: var(--spacing-xl);
  }
  .tp-pd-xl--r {
    padding-right: var(--spacing-xl);
  }
  .tp-mg-xl--t {
    margin-top: var(--spacing-xl);
  }
  .tp-pd-xl--t {
    padding-top: var(--spacing-xl);
  }
  .tp-mg-xl--b {
    margin-bottom: var(--spacing-xl);
  }
  .tp-pd-xl--b {
    padding-bottom: var(--spacing-xl);
  }
  .tp-mg-2xl {
    margin: var(--spacing-2xl);
  }
  .tp-pd-2xl {
    padding: var(--spacing-2xl);
  }
  .tp-mg-2xl--x {
    margin-left: var(--spacing-2xl);
    margin-right: var(--spacing-2xl);
  }
  .tp-mg-2xl--y {
    margin-top: var(--spacing-2xl);
    margin-bottom: var(--spacing-2xl);
  }
  .tp-pd-2xl--x {
    padding-left: var(--spacing-2xl);
    padding-right: var(--spacing-2xl);
  }
  .tp-pd-2xl--y {
    padding-top: var(--spacing-2xl);
    padding-bottom: var(--spacing-2xl);
  }
  .tp-mg-2xl--l {
    margin-left: var(--spacing-2xl);
  }
  .tp-pd-2xl--l {
    padding-left: var(--spacing-2xl);
  }
  .tp-mg-2xl--r {
    margin-right: var(--spacing-2xl);
  }
  .tp-pd-2xl--r {
    padding-right: var(--spacing-2xl);
  }
  .tp-mg-2xl--t {
    margin-top: var(--spacing-2xl);
  }
  .tp-pd-2xl--t {
    padding-top: var(--spacing-2xl);
  }
  .tp-mg-2xl--b {
    margin-bottom: var(--spacing-2xl);
  }
  .tp-pd-2xl--b {
    padding-bottom: var(--spacing-2xl);
  }
  .tp-mg-3xl {
    margin: var(--spacing-3xl);
  }
  .tp-pd-3xl {
    padding: var(--spacing-3xl);
  }
  .tp-mg-3xl--x {
    margin-left: var(--spacing-3xl);
    margin-right: var(--spacing-3xl);
  }
  .tp-mg-3xl--y {
    margin-top: var(--spacing-3xl);
    margin-bottom: var(--spacing-3xl);
  }
  .tp-pd-3xl--x {
    padding-left: var(--spacing-3xl);
    padding-right: var(--spacing-3xl);
  }
  .tp-pd-3xl--y {
    padding-top: var(--spacing-3xl);
    padding-bottom: var(--spacing-3xl);
  }
  .tp-mg-3xl--l {
    margin-left: var(--spacing-3xl);
  }
  .tp-pd-3xl--l {
    padding-left: var(--spacing-3xl);
  }
  .tp-mg-3xl--r {
    margin-right: var(--spacing-3xl);
  }
  .tp-pd-3xl--r {
    padding-right: var(--spacing-3xl);
  }
  .tp-mg-3xl--t {
    margin-top: var(--spacing-3xl);
  }
  .tp-pd-3xl--t {
    padding-top: var(--spacing-3xl);
  }
  .tp-mg-3xl--b {
    margin-bottom: var(--spacing-3xl);
  }
  .tp-pd-3xl--b {
    padding-bottom: var(--spacing-3xl);
  }
  .tp-mg-4xl {
    margin: var(--spacing-4xl);
  }
  .tp-pd-4xl {
    padding: var(--spacing-4xl);
  }
  .tp-mg-4xl--x {
    margin-left: var(--spacing-4xl);
    margin-right: var(--spacing-4xl);
  }
  .tp-mg-4xl--y {
    margin-top: var(--spacing-4xl);
    margin-bottom: var(--spacing-4xl);
  }
  .tp-pd-4xl--x {
    padding-left: var(--spacing-4xl);
    padding-right: var(--spacing-4xl);
  }
  .tp-pd-4xl--y {
    padding-top: var(--spacing-4xl);
    padding-bottom: var(--spacing-4xl);
  }
  .tp-mg-4xl--l {
    margin-left: var(--spacing-4xl);
  }
  .tp-pd-4xl--l {
    padding-left: var(--spacing-4xl);
  }
  .tp-mg-4xl--r {
    margin-right: var(--spacing-4xl);
  }
  .tp-pd-4xl--r {
    padding-right: var(--spacing-4xl);
  }
  .tp-mg-4xl--t {
    margin-top: var(--spacing-4xl);
  }
  .tp-pd-4xl--t {
    padding-top: var(--spacing-4xl);
  }
  .tp-mg-4xl--b {
    margin-bottom: var(--spacing-4xl);
  }
  .tp-pd-4xl--b {
    padding-bottom: var(--spacing-4xl);
  }
  .tp-mg-5xl {
    margin: var(--spacing-5xl);
  }
  .tp-pd-5xl {
    padding: var(--spacing-5xl);
  }
  .tp-mg-5xl--x {
    margin-left: var(--spacing-5xl);
    margin-right: var(--spacing-5xl);
  }
  .tp-mg-5xl--y {
    margin-top: var(--spacing-5xl);
    margin-bottom: var(--spacing-5xl);
  }
  .tp-pd-5xl--x {
    padding-left: var(--spacing-5xl);
    padding-right: var(--spacing-5xl);
  }
  .tp-pd-5xl--y {
    padding-top: var(--spacing-5xl);
    padding-bottom: var(--spacing-5xl);
  }
  .tp-mg-5xl--l {
    margin-left: var(--spacing-5xl);
  }
  .tp-pd-5xl--l {
    padding-left: var(--spacing-5xl);
  }
  .tp-mg-5xl--r {
    margin-right: var(--spacing-5xl);
  }
  .tp-pd-5xl--r {
    padding-right: var(--spacing-5xl);
  }
  .tp-mg-5xl--t {
    margin-top: var(--spacing-5xl);
  }
  .tp-pd-5xl--t {
    padding-top: var(--spacing-5xl);
  }
  .tp-mg-5xl--b {
    margin-bottom: var(--spacing-5xl);
  }
  .tp-pd-5xl--b {
    padding-bottom: var(--spacing-5xl);
  }
  .tp-radius-xs {
    border-radius: var(--radius-xs);
  }
  .tp-radius-sm {
    border-radius: var(--radius-sm);
  }
  .tp-radius-md {
    border-radius: var(--radius-md);
  }
  .tp-radius-lg {
    border-radius: var(--radius-lg);
  }
  .tp-radius-xl {
    border-radius: var(--radius-xl);
  }
  .tp-radius-round {
    border-radius: var(--radius-round);
  }
  :root {
    --clr-primary-950: #352820;
    --clr-primary-900: #352820;
    --clr-primary-700: #826c5b;
    --clr-primary-500: #c4ae9b;
    --clr-primary-400: #d8cbb8;
    --clr-primary-50: #d8cbb8;
    --clr-primary-main: var(--clr-primary-500);
    --clr-secondary-900: #826c5b;
    --clr-accent-300: #d8cbb8;
    --clr-accent-500: #826c5b;
    --clr-accent-700: #352820;
    --clr-text-base: #352820;
    --clr-text-sub: #352820;
    --clr-text-aux: #826c5b;
    --clr-gray-50: #f6f1ea;
    --clr-gray-100: #f6f1ea;
    --clr-gray-200: #efe5da;
    --clr-gray-300: #d8cbb8;
    --clr-gray-400: #c4ae9b;
    --clr-gray-500: #826c5b;
    --clr-gray-600: #826c5b;
    --clr-gray-700: #352820;
    --clr-gray-800: #352820;
    --clr-gray-900: #352820;
  }
  :root {
    /* === semantic === */
    --clr-primary-hover: var(--clr-primary-700);
    --clr-primary-accent: var(--clr-accent-500);
    --clr-common-background: var(--clr-base-white);
    --clr-common-on-background: var(--clr-base-black);
    --clr-text-primary: var(--clr-text-base);
    --clr-text-secondary: var(--clr-text-sub);
    --clr-text-tertiary: var(--clr-text-aux);
    --clr-background-paper: var(--clr-bg-page);
    --clr-background-primary: var(--clr-bg-section);
    --clr-background-secondary: var(--clr-bg-line);
    --clr-background-philo: var(--clr-bg-section);
  }
  :root {
    --clr-primary-950: #352820;
    --clr-primary-900: #352820;
    --clr-primary-700: #826c5b;
    --clr-primary-500: #c4ae9b;
    --clr-primary-400: #d8cbb8;
    --clr-primary-50: #d8cbb8;
    --clr-primary-main: var(--clr-primary-500);
    --clr-secondary-900: #826c5b;
    --clr-accent-300: #d8cbb8;
    --clr-accent-500: #826c5b;
    --clr-accent-700: #352820;
    --clr-text-base: #352820;
    --clr-text-sub: #352820;
    --clr-text-aux: #826c5b;
    --clr-gray-50: #f6f1ea;
    --clr-gray-100: #f6f1ea;
    --clr-gray-200: #efe5da;
    --clr-gray-300: #d8cbb8;
    --clr-gray-400: #c4ae9b;
    --clr-gray-500: #826c5b;
    --clr-gray-600: #826c5b;
    --clr-gray-700: #352820;
    --clr-gray-800: #352820;
    --clr-gray-900: #352820;
    /* === base === */
    --clr-base-white: #ffffff;
    --clr-base-black: #000000;
    /* === 60% — Background / Base === */
    --clr-bg-page: #efe5da;
    --clr-bg-section: #f6f1ea;
    --clr-bg-line: #d8cbb8;
    /* gradient shorthand */
    --clr-primary-gradient: 90deg, #352820, #826c5b;
    /* === UI (Border / Hover) === */
    --clr-ui-border: #d8cbb8;
    --clr-ui-hover-bg: #efe5da;
    /* === Semantic status === */
    --clr-status-success: #16a34a;
    --clr-status-warning: #d97706;
    --clr-status-error: #dc2626;
    --clr-status-info: var(--clr-primary-500);
    /* === Event category chips === */
    --clr-chip-seminar: #352820;
    --clr-chip-workshop: #826c5b;
    --clr-chip-symposium: #c4ae9b;
    --clr-chip-education: #16a34a;
    --clr-chip-special: #dc2626;
  }
  :root {
    /* === Brand palette === */
    --public-brand-ink: var(--clr-primary-950);
    --public-brand-dark: var(--clr-primary-900);
    --public-brand-accent: var(--clr-accent-500);
    --public-brand-accent-soft: var(--clr-accent-300);
    --public-brand-surface: var(--clr-bg-page);
    --public-brand-surface-strong: var(--clr-primary-50);
    --public-brand-line: var(--clr-primary-400);
    /* === Public semantic aliases === */
    --public-navy: var(--public-brand-dark);
    --public-navy-deep: var(--public-brand-ink);
    --public-blue: var(--public-brand-accent);
    --public-blue-soft: var(--public-brand-surface-strong);
    --public-ink: var(--public-brand-ink);
    --public-muted: var(--clr-text-sub);
    --public-muted-soft: var(--clr-text-aux);
    --color-text-muted: color-mix(in srgb, var(--public-muted-soft) 80%, var(--public-ink));
    --public-line: var(--clr-ui-border);
    --public-line-strong: var(--public-brand-line);
    --public-surface: var(--public-brand-surface);
    --public-surface-subtle: var(--clr-bg-section);
    --public-white: var(--clr-bg-section);
    --color-background-dropdown-light: color-mix(in srgb, var(--public-white) 94%, var(--public-brand-ink));
    --color-background-dropdown-dark: color-mix(in srgb, var(--public-brand-dark) 95%, var(--public-white));
    --public-header-black: var(--clr-base-black);
    --public-header-white: var(--clr-base-white);
    --public-overlay: rgba(0, 0, 0, .29);
    --public-focus: var(--public-brand-accent);
    --public-page-transition-backdrop: color-mix(in srgb, var(--public-brand-ink) 16%, #000);
    --public-cart-toast-action: var(--public-blue);
    --public-search-placeholder-color: var(--public-muted);
    /* === Feedback states === */
    --public-feedback-success: #2f6c55;
    --public-feedback-success-soft: #edf6ef;
    --public-feedback-warning: #9a6d2c;
    --public-feedback-warning-soft: #faf2e3;
    --public-feedback-error: #a83f58;
    --public-feedback-error-soft: #fff0f4;
    --public-auth-success: var(--public-feedback-success);
    --public-auth-error: var(--public-feedback-error);
    /* === Transit and award colors === */
    --public-transit-subway-1: #d93f5c;
    --public-transit-subway-2: #00aa80;
    --public-transit-bus-trunk: #1478c9;
    --public-transit-bus-feeder: #d59d00;
    --public-transit-bus-express: #d43d47;
    --public-transit-line-1: #e72f70;
    --public-transit-line-2: var(--public-transit-subway-2);
    --public-award-black: #1e1e1e;
    --public-award-plum: var(--public-brand-dark);
    --public-award-blue: #0047ff;
    --public-award-wine: var(--public-feedback-error);
    --public-award-green: var(--public-feedback-success);
    /* === External brand colors === */
    --public-kakao: #fee500;
    --public-kakao-hover: #f4dc00;
    --public-social-instagram: radial-gradient(circle at 30% 105%, #ffd600 0 24%, #ff7a00 25% 38%, #ff0169 52%, #d300c5 72%, #7638fa 92%);
    --public-social-kakao: var(--public-kakao);
    --public-social-naver: #03c75a;
    --public-social-youtube: #ff0033;
    --public-social-ink: #111111;
  }
  /* Local editorial display: Cormorant Garamond + Noto Serif KR.
   * Functional copy, prices and controls: Manrope + Pretendard. */
  /**
   * Typography tokens — Home
   * Display: Cormorant Garamond + Noto Serif KR; body/UI: Manrope + Pretendard.
   * 정본: 본 파일. 가이드: docs/02-variables/brand-guide.md
   *
   * 규칙(AGENTS.md 절대규칙 #11):
   *  - SCSS 컴포넌트에서 font-size 직접 지정 금지. var(--*-fs) 만 사용.
   *  - 페이지·뷰 마크업에서 .no-display-* / .no-heading-* / .no-body-* 유틸리티 클래스 사용.
   */
  :root {
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    /* === Font family — 정본 토큰 === */
    --font-manrope-family: "Manrope", "Pretendard Variable", "Pretendard",
                           -apple-system, BlinkMacSystemFont, "Segoe UI",
                           "Noto Sans KR", system-ui, sans-serif;
    --font-sans-family: var(--font-manrope-family);
    --font-display-family: "Cormorant Garamond", "Noto Serif KR", "Pretendard", serif;
    --font-heading-family: var(--font-display-family);
    --font-english-family: var(--font-manrope-family);
    --font-mono-family: var(--font-manrope-family);
    --font-oswald-family: var(--font-manrope-family); /* deprecated compatibility alias */
    /* Letter-spacing */
    --tracking-display: -0.015em;
    --tracking-heading: -0.01em;
    --tracking-body: 0em;
    --tracking-caps: 0.06em; /* small-caps·overline */
    /* === Legacy family alias — 기존 페이지·컴포넌트 호환 === */
    --family-primary: var(--font-sans-family);
    --family-display: var(--font-display-family);
    --family-mono: var(--font-mono-family);
    --family-pretendard: var(--font-sans-family);
    --family-hggothic: var(--font-sans-family); /* 이전 프로젝트 잔재. sans 로 흡수 */
    /* === Display (히어로/대제목) — editorial serif === */
    --display-xs-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --display-sm-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --display-md-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --display-lg-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --display-xl-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --display-xs-lh: 1.12;
    --display-sm-lh: 1.08;
    --display-md-lh: 1.04;
    --display-lg-lh: 1.00;
    --display-xl-lh: 0.98;
    --display-xs-fw: var(--font-weight-regular);
    --display-sm-fw: var(--font-weight-regular);
    --display-md-fw: var(--font-weight-regular);
    --display-lg-fw: var(--font-weight-regular);
    --display-xl-fw: var(--font-weight-regular);
    /* === Heading (섹션 타이틀) — editorial serif / compact sans === */
    --heading-2xs-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem);
    --heading-xs-fs: clamp(2rem, 0.2588996764vw + 1.9029126214rem, 2.4rem);
    --heading-sm-fs: clamp(2.4rem, 0.5177993528vw + 2.2058252427rem, 3.2rem);
    --heading-md-fs: clamp(2.4rem, 0.5177993528vw + 2.2058252427rem, 3.2rem);
    --heading-bl-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --heading-lg-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --heading-xl-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --heading-2xs-lh: 1.42;
    --heading-xs-lh: 1.36;
    --heading-sm-lh: 1.32;
    --heading-md-lh: 1.28;
    --heading-bl-lh: 1.24;
    --heading-lg-lh: 1.20;
    --heading-xl-lh: 1.12;
    --heading-2xs-fw: 500;
    --heading-xs-fw: var(--font-weight-medium);
    --heading-sm-fw: var(--font-weight-medium);
    --heading-md-fw: var(--font-weight-medium);
    --heading-bl-fw: var(--font-weight-medium);
    --heading-lg-fw: var(--font-weight-medium);
    --heading-xl-fw: var(--font-weight-medium);
    /* === Body — Manrope (한글: Pretendard) === */
    --body-xs-fs: clamp(1.2rem, 0.1294498382vw + 1.1514563107rem, 1.4rem);
    --body-sm-fs: clamp(1.6rem, 0.1294498382vw + 1.5514563107rem, 1.8rem);
    --body-md-fs: clamp(1.6rem, 0.1294498382vw + 1.5514563107rem, 1.8rem); /* 기본 본문·설명글 default */
    --body-lg-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem); /* 강조·라벨 */
    --body-xl-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem);
    --body-card-desc-fs: 1.4rem;
    --body-xs-lh: 1.55;
    --body-sm-lh: 1.6;
    --body-md-lh: 1.65;
    --body-lg-lh: 1.6;
    --body-xl-lh: 1.55;
    --body-card-desc-lh: 1.55;
    --body-xs-fw: var(--font-weight-regular);
    --body-sm-fw: var(--font-weight-regular);
    --body-md-fw: var(--font-weight-regular);
    --body-lg-fw: var(--font-weight-regular);
    --body-xl-fw: var(--font-weight-regular);
    --body-card-desc-fw: var(--font-weight-regular);
    /* === Semantic public hierarchy aliases === */
    --subhero-title-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --subhero-title-lh: 1.08;
    --subhero-title-fw: var(--font-weight-regular);
    --section-title-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --section-title-lh: 1.14;
    --section-title-fw: var(--font-weight-regular);
    --middle-title-lg-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --middle-title-lg-lh: 1.1;
    --middle-title-lg-fw: var(--font-weight-regular);
    --middle-title-md-fs: clamp(2.4rem, 0.5177993528vw + 2.2058252427rem, 3.2rem);
    --middle-title-md-lh: 1.18;
    --middle-title-md-fw: var(--font-weight-medium);
    --list-title-fs: clamp(2rem, 0.2588996764vw + 1.9029126214rem, 2.4rem);
    --list-title-lh: 1.32;
    --list-title-fw: var(--font-weight-medium);
    --subtitle-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem);
    --subtitle-lh: 1.6;
    --subtitle-fw: var(--font-weight-regular);
    /* === Overline / eyebrow (섹션 소문구 라벨) — Manrope Medium, 캡스 === */
    --overline-fs: clamp(1.8rem, 0.3883495146vw + 1.654368932rem, 2.4rem);
    --overline-lh: 1.4;
    --overline-fw: var(--font-weight-medium);
    /* === Mono (캡션·다이어그램 라벨·overline) === */
    --mono-xs-fs: clamp(1.1rem, 0.0647249191vw + 1.0757281553rem, 1.2rem);
    --mono-sm-fs: clamp(1.2rem, 0.1294498382vw + 1.1514563107rem, 1.4rem);
    /* === Decorative (Marquee Whisper / I3 — Manrope, 매우 큼) === */
    --deco-marquee-fs: clamp(9.6rem, 5.9546925566vw + 7.3669902913rem, 18.8rem);
    /* Decorative wordmark (WHO WE ARE §signature — Manrope, 뷰포트 폭 채우는 초대형).
     * scale(1) 에서 긴 디스플레이 문구가 컨테이너 폭에 맞고, JS 가 scale 확대→축소. */
    --deco-wordmark-fs: clamp(6.4rem, 10.0970873786vw + 2.613592233rem, 22rem);
    --deco-wordmark-fw: var(--font-weight-medium);
    --deco-wordmark-lh: 0.8;
  }
  @media (max-width: 767px) {
    :root {
      --body-sm-fs: 1.6rem;
      --body-md-fs: 1.6rem;
    }
  }
  /**
   * Motion tokens — Home
   * 정본: 본 파일. JS는 resources/ts/home/global/MotionTokens.ts 동일 값.
   * 사용: SCSS `transition: transform var(--dur-base) var(--ease-out-quart);`
   *       JS   `gsap.to(el, { duration: 0.88, ease: 'expo.out' })` ← MotionTokens.ts 참조
   *
   * 가이드 문서: docs/00-overview/goals.md "차분함 80% : 임팩트 20%"
   *             workspace/guides/02-스타일-가이드.md §8
   */
  :root {
    /* === Duration === */
    --dur-instant: 100ms; /* hover state 토글, focus ring */
    --dur-fast: 200ms; /* 버튼 press, chip toggle */
    --dur-base: 320ms; /* 카드 hover, 색 전환 */
    --dur-slow: 560ms; /* 모달·드로어 진입 */
    --dur-slower: 880ms; /* Hero Display reveal (I1) */
    --dur-epic: 1200ms; /* Image mask reveal, scroll-pinned 단계 */
    /* === Easing ===
     * 1) out-quart  : 기본 진입 (Unseen Studio·기본값)
     * 2) out-expo   : 강한 감속 (Hero Display·시그니처 모먼트)
     * 3) in-out     : 양방향 (드로어·tab 전환)
     * 4) spring     : 미세 바운스 (버튼 한정 — 페이지 본문 금지)
     * 5) linear     : 마키·무한 스크롤
     */
    --ease-out-quart: cubic-bezier(0.22, 1, 0.36, 1);
    --ease-out-expo: cubic-bezier(0.16, 1, 0.30, 1);
    --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --ease-linear: linear;
    /* === Stagger === */
    --stagger-base: 60ms; /* I1 Type Mask Reveal 단어 간격 */
    --stagger-fast: 30ms; /* I2 Char Stagger 글자 간격 */
    --stagger-slow: 120ms; /* 리스트 카드 진입 */
    /* === Translate offsets (reveal 초기값) === */
    --reveal-offset-sm: 16px; /* body·메타 */
    --reveal-offset-md: 40px; /* heading */
    --reveal-offset-lg: 80px; /* hero display */
  }
  /* prefers-reduced-motion 가드 — 즉시 최종 상태로 */
  @media (prefers-reduced-motion: reduce) {
    :root {
      --dur-instant: 0ms;
      --dur-fast: 0ms;
      --dur-base: 0ms;
      --dur-slow: 0ms;
      --dur-slower: 0ms;
      --dur-epic: 0ms;
      --stagger-base: 0ms;
      --stagger-fast: 0ms;
      --stagger-slow: 0ms;
      --reveal-offset-sm: 0px;
      --reveal-offset-md: 0px;
      --reveal-offset-lg: 0px;
    }
  }
  :root {
    --gutter: 2rem;
    --header-height: 9.8rem;
    --header-z-index: 9999;
    --drawer-z-index: 999;
    --tran-15: 0.15s ease;
    --tran-3: 0.3s ease;
    --family-base: var(--family-hggothic);
  }
  @media (max-width: 768px) {
    :root {
      --header-height: 4.8rem;
    }
  }
  :root {
    --public-location-top-gap: clamp(8rem, 3.1067961165vw + 6.8349514563rem, 12.8rem);
    --public-cart-toast-max: 44rem;
    --public-cart-toast-min-height: 8.8rem;
    --public-cart-toast-padding-block: 2rem;
    --public-cart-toast-padding-inline: 3.2rem;
    --public-event-card-inset: 2.4rem;
    --public-focus-width: .2rem;
    --public-focus-offset: .3rem;
    --public-header-height: 14rem;
    --public-header-content-height: 10rem;
    --public-shell-max: 160rem;
    --public-shell-gutter: clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
    --public-header-gutter: clamp(1.6rem, 1.0355987055vw + 1.2116504854rem, 3.2rem);
    --public-header-max: 132rem;
    --public-detail-max: 94rem;
    --public-control-sm: 4.4rem;
    --public-control-md: 5.2rem;
    --public-control-lg: 5.6rem;
    --public-filter-tab-mobile-height: 3.6rem;
    --public-button-font-size: clamp(1.4rem, .9vw, 1.5rem);
    --public-button-frame-radius: 0;
    --public-action-radius: 3rem;
    --public-action-end-width: 2.2rem;
    --public-action-duration: 350ms;
    --public-link-line-width: 2.2rem;
    --public-link-line-hover-width: 3.8rem;
    --public-link-line-gap: 1.8rem;
    --public-treatment-body-font-size: 1.6rem;
    --public-header-action-width: clamp(3.2rem, 0.2588996764vw + 3.1029126214rem, 3.6rem);
    --public-header-icon-size: clamp(1.6rem, 0.1294498382vw + 1.5514563107rem, 1.8rem);
    --public-header-action-size: var(--public-control-sm);
    --public-header-appointment-width: 22rem;
    --public-header-notify-size: 1.2rem;
    --public-header-notify-font-size: .8rem;
    --public-icon-sm: 1.8rem;
    --public-icon-md: 2.2rem;
    --public-icon-lg: 2.4rem;
    --public-treatment-pictogram-frame-sm: 9.6rem;
    --public-treatment-pictogram-frame-md: 13.2rem;
    --public-treatment-pictogram-frame-lg: 16rem;
    --public-header-action-shadow: 0 .6rem 1.6rem rgba(77, 56, 45, .12);
    --public-card-row: 7.6rem;
    --public-space-2xs: .8rem;
    --public-space-xs: 1.2rem;
    --public-space-sm: 1.6rem;
    --public-space-md: 2rem;
    --public-space-lg: 2.5rem;
    --public-space-xl: 3rem;
    --public-space-2xl: 4rem;
    --public-space-3xl: 5rem;
    --public-space-section: 5.5rem;
    --public-space-page: 6.5rem;
    --public-radius-sm: 0;
    --public-radius-md: 0;
    --public-radius-pill: 999px;
    --public-check-size: 2.4rem;
    --public-cart-max: 81.2rem;
    --public-cart-panel-padding: 3rem;
    --public-cart-row-min-height: 18.9rem;
    --public-cart-page-bottom: 11.8rem;
    --public-footer-mobile-safe-space: 3.2rem;
    --public-home-title-family: var(--font-display-family);
    --public-home-title-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --public-home-title-fw: var(--font-weight-regular);
    --public-home-title-lh: 1.12;
    --public-home-lead-fs: clamp(1.4rem, 0.2588996764vw + 1.3029126214rem, 1.8rem);
    --public-study-media-ratio: 316 / 231;
    --public-nav-fs: 1.8rem;
    --public-drawer-root-fs: 4.8rem;
    --public-search-max-width: 64rem;
    --public-search-height: 4.8rem;
    --public-search-submit-width: clamp(8rem, 0.5177993528vw + 7.8058252427rem, 8.8rem);
    --public-search-gap: clamp(1rem, 0.3883495146vw + 0.854368932rem, 1.6rem);
    --public-search-input-padding-inline: var(--public-space-xs);
    --public-search-icon-slot: clamp(4.4rem, 0.2588996764vw + 4.3029126214rem, 4.8rem);
    --public-search-icon-size: var(--public-icon-md);
    --public-auth-panel-max: 44rem;
    --public-auth-mark-size: 6.4rem;
    --public-social-icon-size: 2rem;
    --public-duration: .35s;
    --public-ease: cubic-bezier(.22, .8, .25, 1);
    --public-z-header: 90;
    --public-z-async-directory: 110;
    --public-z-drawer: 120;
    --public-z-cursor: 21000;
  }
  @media (max-width: 1023px) {
    :root {
      --public-header-max: 100%;
      --public-header-height: 12.8rem;
      --public-header-content-height: 8.8rem;
      --public-control-sm: 4.4rem;
      --public-header-appointment-width: 18rem;
    }
  }
  @media (max-width: 767px) {
    :root {
      --public-header-height: 8.4rem;
      --public-header-content-height: 5.6rem;
      --public-header-action-size: 4rem;
    }
  }
  html:has(.public-header--without-award) {
    --public-header-height: var(--public-header-content-height);
  }
  .public-header.site-header {
    --public-header-fill-duration: .56s;
  }
  .public-about-showcase {
    --public-about-showcase-wave: 0;
  }
  .public-history__track {
    --history-line-top: 56rem;
    --history-line-bottom: 16rem;
    --history-line-gap-1-start: 0px;
    --history-line-gap-1-end: 0px;
    --history-line-gap-2-start: 0px;
    --history-line-gap-2-end: 0px;
    --history-line-gap-3-start: 0px;
    --history-line-gap-3-end: 0px;
  }
  .public-history__outro-title {
    --history-outro-fill: 100%;
  }
  .public-home ~ .no-floating-cta {
    --fcta-size: 4.8rem;
    --fcta-gap-edge: max(2rem, calc((100vw - 164rem) / 2));
    --fcta-btn-gap: .6rem;
    --fcta-radius: var(--public-radius-pill);
    --fcta-shadow: none;
    --fcta-shadow-hover: none;
  }
  .public-practice-page ~ .no-floating-cta {
    --fcta-size: 5.2rem;
    --fcta-gap-edge: 3rem;
    --fcta-gap-bottom: 3rem;
    --fcta-btn-gap: .8rem;
    --fcta-radius: 0;
    --fcta-shadow: none;
    --fcta-shadow-hover: none;
  }
  .public-event-page ~ .no-floating-cta {
    --fcta-size: 5.2rem;
    --fcta-gap-edge: 3rem;
    --fcta-gap-bottom: 3rem;
    --fcta-btn-gap: .8rem;
    --fcta-radius: 0;
    --fcta-shadow: none;
    --fcta-shadow-hover: none;
  }
  .public-recruit__steps {
    --recruit-step-marker: 6rem;
    --recruit-step-gap: 7.2rem;
  }
  @media (max-width: 1279px) and (min-width: 768px) {
    .public-recruit__steps {
      --recruit-step-marker: 6.2rem;
      --recruit-step-gap: 7.6rem;
    }
  }
  @media (max-width: 767px) {
    .public-recruit__steps {
      --recruit-step-gap: 5rem;
    }
  }
  :root {
    /* === Section spacing (섹션 상·하단 패딩) === */
    --section-xs: clamp(2.4rem, 1.5533980583vw + 1.8174757282rem, 4.8rem);
    --section-sm: clamp(3.2rem, 2.071197411vw + 2.4233009709rem, 6.4rem);
    --section-md: clamp(4.8rem, 3.1067961165vw + 3.6349514563rem, 9.6rem);
    --section-lg: clamp(6.4rem, 4.142394822vw + 4.8466019417rem, 12.8rem);
    --section-xl: clamp(8rem, 10.355987055vw + 4.1165048544rem, 24rem);
    /* === Border Radius (유동 반경) === */
    --radius-xs: clamp(0.2rem, 0.1294498382vw + 0.1514563107rem, 0.4rem);
    --radius-sm: clamp(0.4rem, 0.2588996764vw + 0.3029126214rem, 0.8rem);
    --radius-md: clamp(0.8rem, 0.5177993528vw + 0.6058252427rem, 1.6rem);
    --radius-lg: clamp(1.2rem, 0.7766990291vw + 0.9087378641rem, 2.4rem);
    --radius-xl: clamp(1.6rem, 1.0355987055vw + 1.2116504854rem, 3.2rem);
    --radius-round: 9999px;
    /* === Spacing (마진·패딩 기본 단위, fluid 적용) === */
    --spacing-xxs: clamp(0.2rem, 0.1294498382vw + 0.1514563107rem, 0.4rem);
    --spacing-xs: clamp(0.4rem, 0.2588996764vw + 0.3029126214rem, 0.8rem);
    --spacing-sm: clamp(0.6rem, 0.3883495146vw + 0.454368932rem, 1.2rem);
    --spacing-md: clamp(0.8rem, 0.5177993528vw + 0.6058252427rem, 1.6rem);
    --spacing-lg: clamp(1.2rem, 0.7766990291vw + 0.9087378641rem, 2.4rem);
    --spacing-xl: clamp(1.6rem, 1.0355987055vw + 1.2116504854rem, 3.2rem);
    --spacing-2xl: clamp(2.4rem, 1.5533980583vw + 1.8174757282rem, 4.8rem);
    --spacing-3xl: clamp(3.2rem, 2.071197411vw + 2.4233009709rem, 6.4rem);
    --spacing-4xl: clamp(4rem, 2.5889967638vw + 3.0291262136rem, 8rem);
    --spacing-5xl: clamp(6.4rem, 4.142394822vw + 4.8466019417rem, 12.8rem);
    --spacing-6xl: clamp(8rem, 10.355987055vw + 4.1165048544rem, 24rem);
  }
  /*
   * Canonical public utilities. style.scss emits this file in the lowest
   * `utilities` cascade layer. Components, layouts and page specializations
   * therefore override utilities by layer contract, not by selector tricks.
   */
  .no-display-xs {
    font-family: var(--font-display-family);
    font-size: var(--display-xs-fs);
    font-weight: var(--display-xs-fw);
    line-height: var(--display-xs-lh);
    letter-spacing: 0;
  }
  .no-display-sm {
    font-family: var(--font-display-family);
    font-size: var(--display-sm-fs);
    font-weight: var(--display-sm-fw);
    line-height: var(--display-sm-lh);
    letter-spacing: 0;
  }
  .no-display-md {
    font-family: var(--font-display-family);
    font-size: var(--display-md-fs);
    font-weight: var(--display-md-fw);
    line-height: var(--display-md-lh);
    letter-spacing: 0;
  }
  .no-display-lg {
    font-family: var(--font-display-family);
    font-size: var(--display-lg-fs);
    font-weight: var(--display-lg-fw);
    line-height: var(--display-lg-lh);
    letter-spacing: 0;
  }
  .no-display-xl {
    font-family: var(--font-display-family);
    font-size: var(--display-xl-fs);
    font-weight: var(--display-xl-fw);
    line-height: var(--display-xl-lh);
    letter-spacing: 0;
  }
  .no-heading-2xs {
    font-size: var(--heading-2xs-fs);
    font-weight: var(--heading-2xs-fw);
    line-height: var(--heading-2xs-lh);
    letter-spacing: 0;
  }
  .no-heading-xs {
    font-size: var(--heading-xs-fs);
    font-weight: var(--heading-xs-fw);
    line-height: var(--heading-xs-lh);
    letter-spacing: 0;
  }
  .no-heading-sm {
    font-size: var(--heading-sm-fs);
    font-weight: var(--heading-sm-fw);
    line-height: var(--heading-sm-lh);
    letter-spacing: 0;
  }
  .no-heading-md {
    font-size: var(--heading-md-fs);
    font-weight: var(--heading-md-fw);
    line-height: var(--heading-md-lh);
    letter-spacing: 0;
  }
  .no-heading-bl {
    font-family: var(--font-heading-family);
    font-weight: var(--font-weight-regular);
    font-size: var(--heading-bl-fs);
    line-height: var(--heading-bl-lh);
    letter-spacing: 0;
  }
  .no-heading-lg {
    font-family: var(--font-heading-family);
    font-weight: var(--font-weight-regular);
    font-size: var(--heading-lg-fs);
    line-height: var(--heading-lg-lh);
    letter-spacing: 0;
  }
  .no-heading-xl {
    font-family: var(--font-heading-family);
    font-weight: var(--font-weight-regular);
    font-size: var(--heading-xl-fs);
    line-height: var(--heading-xl-lh);
    letter-spacing: 0;
  }
  .no-body-xs {
    font-size: var(--body-xs-fs);
    font-weight: var(--body-xs-fw);
    line-height: var(--body-xs-lh);
    letter-spacing: 0;
  }
  .no-body-sm {
    font-size: var(--body-sm-fs);
    font-weight: var(--body-sm-fw);
    line-height: var(--body-sm-lh);
    letter-spacing: 0;
  }
  .no-body-md {
    font-size: var(--body-md-fs);
    font-weight: var(--body-md-fw);
    line-height: var(--body-md-lh);
    letter-spacing: 0;
  }
  .no-body-lg {
    font-size: var(--body-lg-fs);
    font-weight: var(--body-lg-fw);
    line-height: var(--body-lg-lh);
    letter-spacing: 0;
  }
  .no-body-xl {
    font-size: var(--body-xl-fs);
    font-weight: var(--body-xl-fw);
    line-height: var(--body-xl-lh);
    letter-spacing: 0;
  }
  .public-practice-detail-page .no-body-md {
    font-size: var(--public-treatment-body-font-size);
  }
  .no-subhero-title {
    font-family: var(--font-display-family);
    font-size: var(--subhero-title-fs);
    font-weight: var(--subhero-title-fw);
    line-height: var(--subhero-title-lh);
    letter-spacing: 0;
  }
  .no-section-title {
    font-family: var(--font-display-family);
    font-size: var(--section-title-fs);
    font-weight: var(--section-title-fw);
    line-height: var(--section-title-lh);
    letter-spacing: 0;
  }
  .no-middle-title-lg {
    font-family: var(--font-heading-family);
    font-size: var(--middle-title-lg-fs);
    font-weight: var(--middle-title-lg-fw);
    line-height: var(--middle-title-lg-lh);
    letter-spacing: 0;
  }
  .no-middle-title-md {
    font-size: var(--middle-title-md-fs);
    font-weight: var(--middle-title-md-fw);
    line-height: var(--middle-title-md-lh);
    letter-spacing: 0;
  }
  .no-list-title {
    font-size: var(--list-title-fs);
    font-weight: var(--list-title-fw);
    line-height: var(--list-title-lh);
    letter-spacing: 0;
  }
  .no-subtitle {
    font-size: var(--subtitle-fs);
    font-weight: var(--subtitle-fw);
    line-height: var(--subtitle-lh);
    letter-spacing: 0;
  }
  .no-home-hero-title {
    font-family: var(--public-home-title-family);
    font-size: var(--public-home-title-fs);
    font-weight: var(--public-home-title-fw);
    line-height: var(--public-home-title-lh);
  }
  .no-copy--desktop-breaks {
    text-wrap: balance;
  }
  .no-copy--desktop-breaks br {
    display: none;
  }
  @media (min-width: 1320px) {
    .no-copy--desktop-breaks br {
      display: initial;
    }
  }
  .no-section-xs {
    padding-top: var(--section-xs);
    padding-bottom: var(--section-xs);
  }
  .no-section-sm {
    padding-top: var(--section-sm);
    padding-bottom: var(--section-sm);
  }
  .no-section-md {
    padding-top: var(--section-md);
    padding-bottom: var(--section-md);
  }
  .no-section-lg {
    padding-top: var(--section-lg);
    padding-bottom: var(--section-lg);
  }
  .no-section-xl {
    padding-top: var(--section-xl);
    padding-bottom: var(--section-xl);
  }
  .no-container-3xl {
    width: 100%;
    max-width: 1920px;
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
  .no-container-2xl {
    width: 100%;
    max-width: 1640px;
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
  .no-container-xl {
    width: 100%;
    max-width: 1360px;
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
  .no-container-lg {
    width: 100%;
    max-width: 1024px;
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
  .no-container-content {
    width: 100%;
    max-width: 880px;
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
  .no-container-event {
    width: 100%;
    max-width: 848px;
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
  .no-container-cart {
    width: 100%;
    max-width: 860px;
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
  .no-container-md {
    width: 100%;
    max-width: 768px;
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
  .no-container-sm {
    width: 100%;
    max-width: 544px;
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
  .no-container-xs {
    width: 100%;
    max-width: 450px;
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
  .no-container-xxs {
    width: 100%;
    max-width: 375px;
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
  .no-container-event {
    padding-right: 2.4rem;
    padding-left: 2.4rem;
  }
  .no-mg-xxs {
    margin: var(--spacing-xxs);
  }
  .no-pd-xxs {
    padding: var(--spacing-xxs);
  }
  .no-mg-xxs--l {
    margin-left: var(--spacing-xxs);
  }
  .no-pd-xxs--l {
    padding-left: var(--spacing-xxs);
  }
  .no-mg-xxs--r {
    margin-right: var(--spacing-xxs);
  }
  .no-pd-xxs--r {
    padding-right: var(--spacing-xxs);
  }
  .no-mg-xxs--t {
    margin-top: var(--spacing-xxs);
  }
  .no-pd-xxs--t {
    padding-top: var(--spacing-xxs);
  }
  .no-mg-xxs--b {
    margin-bottom: var(--spacing-xxs);
  }
  .no-pd-xxs--b {
    padding-bottom: var(--spacing-xxs);
  }
  .no-mg-xs {
    margin: var(--spacing-xs);
  }
  .no-pd-xs {
    padding: var(--spacing-xs);
  }
  .no-mg-xs--l {
    margin-left: var(--spacing-xs);
  }
  .no-pd-xs--l {
    padding-left: var(--spacing-xs);
  }
  .no-mg-xs--r {
    margin-right: var(--spacing-xs);
  }
  .no-pd-xs--r {
    padding-right: var(--spacing-xs);
  }
  .no-mg-xs--t {
    margin-top: var(--spacing-xs);
  }
  .no-pd-xs--t {
    padding-top: var(--spacing-xs);
  }
  .no-mg-xs--b {
    margin-bottom: var(--spacing-xs);
  }
  .no-pd-xs--b {
    padding-bottom: var(--spacing-xs);
  }
  .no-mg-sm {
    margin: var(--spacing-sm);
  }
  .no-pd-sm {
    padding: var(--spacing-sm);
  }
  .no-mg-sm--l {
    margin-left: var(--spacing-sm);
  }
  .no-pd-sm--l {
    padding-left: var(--spacing-sm);
  }
  .no-mg-sm--r {
    margin-right: var(--spacing-sm);
  }
  .no-pd-sm--r {
    padding-right: var(--spacing-sm);
  }
  .no-mg-sm--t {
    margin-top: var(--spacing-sm);
  }
  .no-pd-sm--t {
    padding-top: var(--spacing-sm);
  }
  .no-mg-sm--b {
    margin-bottom: var(--spacing-sm);
  }
  .no-pd-sm--b {
    padding-bottom: var(--spacing-sm);
  }
  .no-mg-md {
    margin: var(--spacing-md);
  }
  .no-pd-md {
    padding: var(--spacing-md);
  }
  .no-mg-md--l {
    margin-left: var(--spacing-md);
  }
  .no-pd-md--l {
    padding-left: var(--spacing-md);
  }
  .no-mg-md--r {
    margin-right: var(--spacing-md);
  }
  .no-pd-md--r {
    padding-right: var(--spacing-md);
  }
  .no-mg-md--t {
    margin-top: var(--spacing-md);
  }
  .no-pd-md--t {
    padding-top: var(--spacing-md);
  }
  .no-mg-md--b {
    margin-bottom: var(--spacing-md);
  }
  .no-pd-md--b {
    padding-bottom: var(--spacing-md);
  }
  .no-mg-lg {
    margin: var(--spacing-lg);
  }
  .no-pd-lg {
    padding: var(--spacing-lg);
  }
  .no-mg-lg--l {
    margin-left: var(--spacing-lg);
  }
  .no-pd-lg--l {
    padding-left: var(--spacing-lg);
  }
  .no-mg-lg--r {
    margin-right: var(--spacing-lg);
  }
  .no-pd-lg--r {
    padding-right: var(--spacing-lg);
  }
  .no-mg-lg--t {
    margin-top: var(--spacing-lg);
  }
  .no-pd-lg--t {
    padding-top: var(--spacing-lg);
  }
  .no-mg-lg--b {
    margin-bottom: var(--spacing-lg);
  }
  .no-pd-lg--b {
    padding-bottom: var(--spacing-lg);
  }
  .no-mg-xl {
    margin: var(--spacing-xl);
  }
  .no-pd-xl {
    padding: var(--spacing-xl);
  }
  .no-mg-xl--l {
    margin-left: var(--spacing-xl);
  }
  .no-pd-xl--l {
    padding-left: var(--spacing-xl);
  }
  .no-mg-xl--r {
    margin-right: var(--spacing-xl);
  }
  .no-pd-xl--r {
    padding-right: var(--spacing-xl);
  }
  .no-mg-xl--t {
    margin-top: var(--spacing-xl);
  }
  .no-pd-xl--t {
    padding-top: var(--spacing-xl);
  }
  .no-mg-xl--b {
    margin-bottom: var(--spacing-xl);
  }
  .no-pd-xl--b {
    padding-bottom: var(--spacing-xl);
  }
  .no-mg-2xl {
    margin: var(--spacing-2xl);
  }
  .no-pd-2xl {
    padding: var(--spacing-2xl);
  }
  .no-mg-2xl--l {
    margin-left: var(--spacing-2xl);
  }
  .no-pd-2xl--l {
    padding-left: var(--spacing-2xl);
  }
  .no-mg-2xl--r {
    margin-right: var(--spacing-2xl);
  }
  .no-pd-2xl--r {
    padding-right: var(--spacing-2xl);
  }
  .no-mg-2xl--t {
    margin-top: var(--spacing-2xl);
  }
  .no-pd-2xl--t {
    padding-top: var(--spacing-2xl);
  }
  .no-mg-2xl--b {
    margin-bottom: var(--spacing-2xl);
  }
  .no-pd-2xl--b {
    padding-bottom: var(--spacing-2xl);
  }
  .no-mg-3xl {
    margin: var(--spacing-3xl);
  }
  .no-pd-3xl {
    padding: var(--spacing-3xl);
  }
  .no-mg-3xl--l {
    margin-left: var(--spacing-3xl);
  }
  .no-pd-3xl--l {
    padding-left: var(--spacing-3xl);
  }
  .no-mg-3xl--r {
    margin-right: var(--spacing-3xl);
  }
  .no-pd-3xl--r {
    padding-right: var(--spacing-3xl);
  }
  .no-mg-3xl--t {
    margin-top: var(--spacing-3xl);
  }
  .no-pd-3xl--t {
    padding-top: var(--spacing-3xl);
  }
  .no-mg-3xl--b {
    margin-bottom: var(--spacing-3xl);
  }
  .no-pd-3xl--b {
    padding-bottom: var(--spacing-3xl);
  }
  .no-mg-4xl {
    margin: var(--spacing-4xl);
  }
  .no-pd-4xl {
    padding: var(--spacing-4xl);
  }
  .no-mg-4xl--l {
    margin-left: var(--spacing-4xl);
  }
  .no-pd-4xl--l {
    padding-left: var(--spacing-4xl);
  }
  .no-mg-4xl--r {
    margin-right: var(--spacing-4xl);
  }
  .no-pd-4xl--r {
    padding-right: var(--spacing-4xl);
  }
  .no-mg-4xl--t {
    margin-top: var(--spacing-4xl);
  }
  .no-pd-4xl--t {
    padding-top: var(--spacing-4xl);
  }
  .no-mg-4xl--b {
    margin-bottom: var(--spacing-4xl);
  }
  .no-pd-4xl--b {
    padding-bottom: var(--spacing-4xl);
  }
  .no-mg-5xl {
    margin: var(--spacing-5xl);
  }
  .no-pd-5xl {
    padding: var(--spacing-5xl);
  }
  .no-mg-5xl--l {
    margin-left: var(--spacing-5xl);
  }
  .no-pd-5xl--l {
    padding-left: var(--spacing-5xl);
  }
  .no-mg-5xl--r {
    margin-right: var(--spacing-5xl);
  }
  .no-pd-5xl--r {
    padding-right: var(--spacing-5xl);
  }
  .no-mg-5xl--t {
    margin-top: var(--spacing-5xl);
  }
  .no-pd-5xl--t {
    padding-top: var(--spacing-5xl);
  }
  .no-mg-5xl--b {
    margin-bottom: var(--spacing-5xl);
  }
  .no-pd-5xl--b {
    padding-bottom: var(--spacing-5xl);
  }
  .no-mg-6xl {
    margin: var(--spacing-6xl);
  }
  .no-pd-6xl {
    padding: var(--spacing-6xl);
  }
  .no-mg-6xl--l {
    margin-left: var(--spacing-6xl);
  }
  .no-pd-6xl--l {
    padding-left: var(--spacing-6xl);
  }
  .no-mg-6xl--r {
    margin-right: var(--spacing-6xl);
  }
  .no-pd-6xl--r {
    padding-right: var(--spacing-6xl);
  }
  .no-mg-6xl--t {
    margin-top: var(--spacing-6xl);
  }
  .no-pd-6xl--t {
    padding-top: var(--spacing-6xl);
  }
  .no-mg-6xl--b {
    margin-bottom: var(--spacing-6xl);
  }
  .no-pd-6xl--b {
    padding-bottom: var(--spacing-6xl);
  }
  .--100 {
    font-weight: var(--font-weight-regular);
  }
  .--200 {
    font-weight: var(--font-weight-regular);
  }
  .--300 {
    font-weight: var(--font-weight-regular);
  }
  .--400 {
    font-weight: var(--font-weight-regular);
  }
  .--500 {
    font-weight: var(--font-weight-medium);
  }
  .--600 {
    font-weight: var(--font-weight-medium);
  }
  .--700 {
    font-weight: var(--font-weight-medium);
  }
  .--800 {
    font-weight: var(--font-weight-medium);
  }
  .--900 {
    font-weight: var(--font-weight-medium);
  }
  .no-tracking-caps {
    letter-spacing: var(--tracking-caps);
  }
}
@layer components {
  :root {
    /* === semantic === */
    --clr-primary-hover: var(--clr-primary-700);
    --clr-primary-accent: var(--clr-accent-500);
    --clr-common-background: var(--clr-base-white);
    --clr-common-on-background: var(--clr-base-black);
    --clr-text-primary: var(--clr-text-base);
    --clr-text-secondary: var(--clr-text-sub);
    --clr-text-tertiary: var(--clr-text-aux);
    --clr-background-paper: var(--clr-bg-page);
    --clr-background-primary: var(--clr-bg-section);
    --clr-background-secondary: var(--clr-bg-line);
    --clr-background-philo: var(--clr-bg-section);
  }
  :root {
    --clr-primary-950: #352820;
    --clr-primary-900: #352820;
    --clr-primary-700: #826c5b;
    --clr-primary-500: #c4ae9b;
    --clr-primary-400: #d8cbb8;
    --clr-primary-50: #d8cbb8;
    --clr-primary-main: var(--clr-primary-500);
    --clr-secondary-900: #826c5b;
    --clr-accent-300: #d8cbb8;
    --clr-accent-500: #826c5b;
    --clr-accent-700: #352820;
    --clr-text-base: #352820;
    --clr-text-sub: #352820;
    --clr-text-aux: #826c5b;
    --clr-gray-50: #f6f1ea;
    --clr-gray-100: #f6f1ea;
    --clr-gray-200: #efe5da;
    --clr-gray-300: #d8cbb8;
    --clr-gray-400: #c4ae9b;
    --clr-gray-500: #826c5b;
    --clr-gray-600: #826c5b;
    --clr-gray-700: #352820;
    --clr-gray-800: #352820;
    --clr-gray-900: #352820;
    /* === base === */
    --clr-base-white: #ffffff;
    --clr-base-black: #000000;
    /* === 60% — Background / Base === */
    --clr-bg-page: #efe5da;
    --clr-bg-section: #f6f1ea;
    --clr-bg-line: #d8cbb8;
    /* gradient shorthand */
    --clr-primary-gradient: 90deg, #352820, #826c5b;
    /* === UI (Border / Hover) === */
    --clr-ui-border: #d8cbb8;
    --clr-ui-hover-bg: #efe5da;
    /* === Semantic status === */
    --clr-status-success: #16a34a;
    --clr-status-warning: #d97706;
    --clr-status-error: #dc2626;
    --clr-status-info: var(--clr-primary-500);
    /* === Event category chips === */
    --clr-chip-seminar: #352820;
    --clr-chip-workshop: #826c5b;
    --clr-chip-symposium: #c4ae9b;
    --clr-chip-education: #16a34a;
    --clr-chip-special: #dc2626;
  }
  :root {
    /* === Brand palette === */
    --public-brand-ink: var(--clr-primary-950);
    --public-brand-dark: var(--clr-primary-900);
    --public-brand-accent: var(--clr-accent-500);
    --public-brand-accent-soft: var(--clr-accent-300);
    --public-brand-surface: var(--clr-bg-page);
    --public-brand-surface-strong: var(--clr-primary-50);
    --public-brand-line: var(--clr-primary-400);
    /* === Public semantic aliases === */
    --public-navy: var(--public-brand-dark);
    --public-navy-deep: var(--public-brand-ink);
    --public-blue: var(--public-brand-accent);
    --public-blue-soft: var(--public-brand-surface-strong);
    --public-ink: var(--public-brand-ink);
    --public-muted: var(--clr-text-sub);
    --public-muted-soft: var(--clr-text-aux);
    --color-text-muted: color-mix(in srgb, var(--public-muted-soft) 80%, var(--public-ink));
    --public-line: var(--clr-ui-border);
    --public-line-strong: var(--public-brand-line);
    --public-surface: var(--public-brand-surface);
    --public-surface-subtle: var(--clr-bg-section);
    --public-white: var(--clr-bg-section);
    --color-background-dropdown-light: color-mix(in srgb, var(--public-white) 94%, var(--public-brand-ink));
    --color-background-dropdown-dark: color-mix(in srgb, var(--public-brand-dark) 95%, var(--public-white));
    --public-header-black: var(--clr-base-black);
    --public-header-white: var(--clr-base-white);
    --public-overlay: rgba(0, 0, 0, .29);
    --public-focus: var(--public-brand-accent);
    --public-page-transition-backdrop: color-mix(in srgb, var(--public-brand-ink) 16%, #000);
    --public-cart-toast-action: var(--public-blue);
    --public-search-placeholder-color: var(--public-muted);
    /* === Feedback states === */
    --public-feedback-success: #2f6c55;
    --public-feedback-success-soft: #edf6ef;
    --public-feedback-warning: #9a6d2c;
    --public-feedback-warning-soft: #faf2e3;
    --public-feedback-error: #a83f58;
    --public-feedback-error-soft: #fff0f4;
    --public-auth-success: var(--public-feedback-success);
    --public-auth-error: var(--public-feedback-error);
    /* === Transit and award colors === */
    --public-transit-subway-1: #d93f5c;
    --public-transit-subway-2: #00aa80;
    --public-transit-bus-trunk: #1478c9;
    --public-transit-bus-feeder: #d59d00;
    --public-transit-bus-express: #d43d47;
    --public-transit-line-1: #e72f70;
    --public-transit-line-2: var(--public-transit-subway-2);
    --public-award-black: #1e1e1e;
    --public-award-plum: var(--public-brand-dark);
    --public-award-blue: #0047ff;
    --public-award-wine: var(--public-feedback-error);
    --public-award-green: var(--public-feedback-success);
    /* === External brand colors === */
    --public-kakao: #fee500;
    --public-kakao-hover: #f4dc00;
    --public-social-instagram: radial-gradient(circle at 30% 105%, #ffd600 0 24%, #ff7a00 25% 38%, #ff0169 52%, #d300c5 72%, #7638fa 92%);
    --public-social-kakao: var(--public-kakao);
    --public-social-naver: #03c75a;
    --public-social-youtube: #ff0033;
    --public-social-ink: #111111;
  }
  /* Local editorial display: Cormorant Garamond + Noto Serif KR.
   * Functional copy, prices and controls: Manrope + Pretendard. */
  /**
   * Typography tokens — Home
   * Display: Cormorant Garamond + Noto Serif KR; body/UI: Manrope + Pretendard.
   * 정본: 본 파일. 가이드: docs/02-variables/brand-guide.md
   *
   * 규칙(AGENTS.md 절대규칙 #11):
   *  - SCSS 컴포넌트에서 font-size 직접 지정 금지. var(--*-fs) 만 사용.
   *  - 페이지·뷰 마크업에서 .no-display-* / .no-heading-* / .no-body-* 유틸리티 클래스 사용.
   */
  :root {
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    /* === Font family — 정본 토큰 === */
    --font-manrope-family: "Manrope", "Pretendard Variable", "Pretendard",
                           -apple-system, BlinkMacSystemFont, "Segoe UI",
                           "Noto Sans KR", system-ui, sans-serif;
    --font-sans-family: var(--font-manrope-family);
    --font-display-family: "Cormorant Garamond", "Noto Serif KR", "Pretendard", serif;
    --font-heading-family: var(--font-display-family);
    --font-english-family: var(--font-manrope-family);
    --font-mono-family: var(--font-manrope-family);
    --font-oswald-family: var(--font-manrope-family); /* deprecated compatibility alias */
    /* Letter-spacing */
    --tracking-display: -0.015em;
    --tracking-heading: -0.01em;
    --tracking-body: 0em;
    --tracking-caps: 0.06em; /* small-caps·overline */
    /* === Legacy family alias — 기존 페이지·컴포넌트 호환 === */
    --family-primary: var(--font-sans-family);
    --family-display: var(--font-display-family);
    --family-mono: var(--font-mono-family);
    --family-pretendard: var(--font-sans-family);
    --family-hggothic: var(--font-sans-family); /* 이전 프로젝트 잔재. sans 로 흡수 */
    /* === Display (히어로/대제목) — editorial serif === */
    --display-xs-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --display-sm-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --display-md-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --display-lg-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --display-xl-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --display-xs-lh: 1.12;
    --display-sm-lh: 1.08;
    --display-md-lh: 1.04;
    --display-lg-lh: 1.00;
    --display-xl-lh: 0.98;
    --display-xs-fw: var(--font-weight-regular);
    --display-sm-fw: var(--font-weight-regular);
    --display-md-fw: var(--font-weight-regular);
    --display-lg-fw: var(--font-weight-regular);
    --display-xl-fw: var(--font-weight-regular);
    /* === Heading (섹션 타이틀) — editorial serif / compact sans === */
    --heading-2xs-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem);
    --heading-xs-fs: clamp(2rem, 0.2588996764vw + 1.9029126214rem, 2.4rem);
    --heading-sm-fs: clamp(2.4rem, 0.5177993528vw + 2.2058252427rem, 3.2rem);
    --heading-md-fs: clamp(2.4rem, 0.5177993528vw + 2.2058252427rem, 3.2rem);
    --heading-bl-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --heading-lg-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --heading-xl-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --heading-2xs-lh: 1.42;
    --heading-xs-lh: 1.36;
    --heading-sm-lh: 1.32;
    --heading-md-lh: 1.28;
    --heading-bl-lh: 1.24;
    --heading-lg-lh: 1.20;
    --heading-xl-lh: 1.12;
    --heading-2xs-fw: 500;
    --heading-xs-fw: var(--font-weight-medium);
    --heading-sm-fw: var(--font-weight-medium);
    --heading-md-fw: var(--font-weight-medium);
    --heading-bl-fw: var(--font-weight-medium);
    --heading-lg-fw: var(--font-weight-medium);
    --heading-xl-fw: var(--font-weight-medium);
    /* === Body — Manrope (한글: Pretendard) === */
    --body-xs-fs: clamp(1.2rem, 0.1294498382vw + 1.1514563107rem, 1.4rem);
    --body-sm-fs: clamp(1.6rem, 0.1294498382vw + 1.5514563107rem, 1.8rem);
    --body-md-fs: clamp(1.6rem, 0.1294498382vw + 1.5514563107rem, 1.8rem); /* 기본 본문·설명글 default */
    --body-lg-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem); /* 강조·라벨 */
    --body-xl-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem);
    --body-card-desc-fs: 1.4rem;
    --body-xs-lh: 1.55;
    --body-sm-lh: 1.6;
    --body-md-lh: 1.65;
    --body-lg-lh: 1.6;
    --body-xl-lh: 1.55;
    --body-card-desc-lh: 1.55;
    --body-xs-fw: var(--font-weight-regular);
    --body-sm-fw: var(--font-weight-regular);
    --body-md-fw: var(--font-weight-regular);
    --body-lg-fw: var(--font-weight-regular);
    --body-xl-fw: var(--font-weight-regular);
    --body-card-desc-fw: var(--font-weight-regular);
    /* === Semantic public hierarchy aliases === */
    --subhero-title-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --subhero-title-lh: 1.08;
    --subhero-title-fw: var(--font-weight-regular);
    --section-title-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --section-title-lh: 1.14;
    --section-title-fw: var(--font-weight-regular);
    --middle-title-lg-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --middle-title-lg-lh: 1.1;
    --middle-title-lg-fw: var(--font-weight-regular);
    --middle-title-md-fs: clamp(2.4rem, 0.5177993528vw + 2.2058252427rem, 3.2rem);
    --middle-title-md-lh: 1.18;
    --middle-title-md-fw: var(--font-weight-medium);
    --list-title-fs: clamp(2rem, 0.2588996764vw + 1.9029126214rem, 2.4rem);
    --list-title-lh: 1.32;
    --list-title-fw: var(--font-weight-medium);
    --subtitle-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem);
    --subtitle-lh: 1.6;
    --subtitle-fw: var(--font-weight-regular);
    /* === Overline / eyebrow (섹션 소문구 라벨) — Manrope Medium, 캡스 === */
    --overline-fs: clamp(1.8rem, 0.3883495146vw + 1.654368932rem, 2.4rem);
    --overline-lh: 1.4;
    --overline-fw: var(--font-weight-medium);
    /* === Mono (캡션·다이어그램 라벨·overline) === */
    --mono-xs-fs: clamp(1.1rem, 0.0647249191vw + 1.0757281553rem, 1.2rem);
    --mono-sm-fs: clamp(1.2rem, 0.1294498382vw + 1.1514563107rem, 1.4rem);
    /* === Decorative (Marquee Whisper / I3 — Manrope, 매우 큼) === */
    --deco-marquee-fs: clamp(9.6rem, 5.9546925566vw + 7.3669902913rem, 18.8rem);
    /* Decorative wordmark (WHO WE ARE §signature — Manrope, 뷰포트 폭 채우는 초대형).
     * scale(1) 에서 긴 디스플레이 문구가 컨테이너 폭에 맞고, JS 가 scale 확대→축소. */
    --deco-wordmark-fs: clamp(6.4rem, 10.0970873786vw + 2.613592233rem, 22rem);
    --deco-wordmark-fw: var(--font-weight-medium);
    --deco-wordmark-lh: 0.8;
  }
  @media (max-width: 767px) {
    :root {
      --body-sm-fs: 1.6rem;
      --body-md-fs: 1.6rem;
    }
  }
  /**
   * Motion tokens — Home
   * 정본: 본 파일. JS는 resources/ts/home/global/MotionTokens.ts 동일 값.
   * 사용: SCSS `transition: transform var(--dur-base) var(--ease-out-quart);`
   *       JS   `gsap.to(el, { duration: 0.88, ease: 'expo.out' })` ← MotionTokens.ts 참조
   *
   * 가이드 문서: docs/00-overview/goals.md "차분함 80% : 임팩트 20%"
   *             workspace/guides/02-스타일-가이드.md §8
   */
  :root {
    /* === Duration === */
    --dur-instant: 100ms; /* hover state 토글, focus ring */
    --dur-fast: 200ms; /* 버튼 press, chip toggle */
    --dur-base: 320ms; /* 카드 hover, 색 전환 */
    --dur-slow: 560ms; /* 모달·드로어 진입 */
    --dur-slower: 880ms; /* Hero Display reveal (I1) */
    --dur-epic: 1200ms; /* Image mask reveal, scroll-pinned 단계 */
    /* === Easing ===
     * 1) out-quart  : 기본 진입 (Unseen Studio·기본값)
     * 2) out-expo   : 강한 감속 (Hero Display·시그니처 모먼트)
     * 3) in-out     : 양방향 (드로어·tab 전환)
     * 4) spring     : 미세 바운스 (버튼 한정 — 페이지 본문 금지)
     * 5) linear     : 마키·무한 스크롤
     */
    --ease-out-quart: cubic-bezier(0.22, 1, 0.36, 1);
    --ease-out-expo: cubic-bezier(0.16, 1, 0.30, 1);
    --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --ease-linear: linear;
    /* === Stagger === */
    --stagger-base: 60ms; /* I1 Type Mask Reveal 단어 간격 */
    --stagger-fast: 30ms; /* I2 Char Stagger 글자 간격 */
    --stagger-slow: 120ms; /* 리스트 카드 진입 */
    /* === Translate offsets (reveal 초기값) === */
    --reveal-offset-sm: 16px; /* body·메타 */
    --reveal-offset-md: 40px; /* heading */
    --reveal-offset-lg: 80px; /* hero display */
  }
  /* prefers-reduced-motion 가드 — 즉시 최종 상태로 */
  @media (prefers-reduced-motion: reduce) {
    :root {
      --dur-instant: 0ms;
      --dur-fast: 0ms;
      --dur-base: 0ms;
      --dur-slow: 0ms;
      --dur-slower: 0ms;
      --dur-epic: 0ms;
      --stagger-base: 0ms;
      --stagger-fast: 0ms;
      --stagger-slow: 0ms;
      --reveal-offset-sm: 0px;
      --reveal-offset-md: 0px;
      --reveal-offset-lg: 0px;
    }
  }
  :root {
    --gutter: 2rem;
    --header-height: 9.8rem;
    --header-z-index: 9999;
    --drawer-z-index: 999;
    --tran-15: 0.15s ease;
    --tran-3: 0.3s ease;
    --family-base: var(--family-hggothic);
  }
  @media (max-width: 768px) {
    :root {
      --header-height: 4.8rem;
    }
  }
  :root {
    --public-location-top-gap: clamp(8rem, 3.1067961165vw + 6.8349514563rem, 12.8rem);
    --public-cart-toast-max: 44rem;
    --public-cart-toast-min-height: 8.8rem;
    --public-cart-toast-padding-block: 2rem;
    --public-cart-toast-padding-inline: 3.2rem;
    --public-event-card-inset: 2.4rem;
    --public-focus-width: .2rem;
    --public-focus-offset: .3rem;
    --public-header-height: 14rem;
    --public-header-content-height: 10rem;
    --public-shell-max: 160rem;
    --public-shell-gutter: clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
    --public-header-gutter: clamp(1.6rem, 1.0355987055vw + 1.2116504854rem, 3.2rem);
    --public-header-max: 132rem;
    --public-detail-max: 94rem;
    --public-control-sm: 4.4rem;
    --public-control-md: 5.2rem;
    --public-control-lg: 5.6rem;
    --public-filter-tab-mobile-height: 3.6rem;
    --public-button-font-size: clamp(1.4rem, .9vw, 1.5rem);
    --public-button-frame-radius: 0;
    --public-action-radius: 3rem;
    --public-action-end-width: 2.2rem;
    --public-action-duration: 350ms;
    --public-link-line-width: 2.2rem;
    --public-link-line-hover-width: 3.8rem;
    --public-link-line-gap: 1.8rem;
    --public-treatment-body-font-size: 1.6rem;
    --public-header-action-width: clamp(3.2rem, 0.2588996764vw + 3.1029126214rem, 3.6rem);
    --public-header-icon-size: clamp(1.6rem, 0.1294498382vw + 1.5514563107rem, 1.8rem);
    --public-header-action-size: var(--public-control-sm);
    --public-header-appointment-width: 22rem;
    --public-header-notify-size: 1.2rem;
    --public-header-notify-font-size: .8rem;
    --public-icon-sm: 1.8rem;
    --public-icon-md: 2.2rem;
    --public-icon-lg: 2.4rem;
    --public-treatment-pictogram-frame-sm: 9.6rem;
    --public-treatment-pictogram-frame-md: 13.2rem;
    --public-treatment-pictogram-frame-lg: 16rem;
    --public-header-action-shadow: 0 .6rem 1.6rem rgba(77, 56, 45, .12);
    --public-card-row: 7.6rem;
    --public-space-2xs: .8rem;
    --public-space-xs: 1.2rem;
    --public-space-sm: 1.6rem;
    --public-space-md: 2rem;
    --public-space-lg: 2.5rem;
    --public-space-xl: 3rem;
    --public-space-2xl: 4rem;
    --public-space-3xl: 5rem;
    --public-space-section: 5.5rem;
    --public-space-page: 6.5rem;
    --public-radius-sm: 0;
    --public-radius-md: 0;
    --public-radius-pill: 999px;
    --public-check-size: 2.4rem;
    --public-cart-max: 81.2rem;
    --public-cart-panel-padding: 3rem;
    --public-cart-row-min-height: 18.9rem;
    --public-cart-page-bottom: 11.8rem;
    --public-footer-mobile-safe-space: 3.2rem;
    --public-home-title-family: var(--font-display-family);
    --public-home-title-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --public-home-title-fw: var(--font-weight-regular);
    --public-home-title-lh: 1.12;
    --public-home-lead-fs: clamp(1.4rem, 0.2588996764vw + 1.3029126214rem, 1.8rem);
    --public-study-media-ratio: 316 / 231;
    --public-nav-fs: 1.8rem;
    --public-drawer-root-fs: 4.8rem;
    --public-search-max-width: 64rem;
    --public-search-height: 4.8rem;
    --public-search-submit-width: clamp(8rem, 0.5177993528vw + 7.8058252427rem, 8.8rem);
    --public-search-gap: clamp(1rem, 0.3883495146vw + 0.854368932rem, 1.6rem);
    --public-search-input-padding-inline: var(--public-space-xs);
    --public-search-icon-slot: clamp(4.4rem, 0.2588996764vw + 4.3029126214rem, 4.8rem);
    --public-search-icon-size: var(--public-icon-md);
    --public-auth-panel-max: 44rem;
    --public-auth-mark-size: 6.4rem;
    --public-social-icon-size: 2rem;
    --public-duration: .35s;
    --public-ease: cubic-bezier(.22, .8, .25, 1);
    --public-z-header: 90;
    --public-z-async-directory: 110;
    --public-z-drawer: 120;
    --public-z-cursor: 21000;
  }
  @media (max-width: 1023px) {
    :root {
      --public-header-max: 100%;
      --public-header-height: 12.8rem;
      --public-header-content-height: 8.8rem;
      --public-control-sm: 4.4rem;
      --public-header-appointment-width: 18rem;
    }
  }
  @media (max-width: 767px) {
    :root {
      --public-header-height: 8.4rem;
      --public-header-content-height: 5.6rem;
      --public-header-action-size: 4rem;
    }
  }
  html:has(.public-header--without-award) {
    --public-header-height: var(--public-header-content-height);
  }
  .public-header.site-header {
    --public-header-fill-duration: .56s;
  }
  .public-about-showcase {
    --public-about-showcase-wave: 0;
  }
  .public-history__track {
    --history-line-top: 56rem;
    --history-line-bottom: 16rem;
    --history-line-gap-1-start: 0px;
    --history-line-gap-1-end: 0px;
    --history-line-gap-2-start: 0px;
    --history-line-gap-2-end: 0px;
    --history-line-gap-3-start: 0px;
    --history-line-gap-3-end: 0px;
  }
  .public-history__outro-title {
    --history-outro-fill: 100%;
  }
  .public-home ~ .no-floating-cta {
    --fcta-size: 4.8rem;
    --fcta-gap-edge: max(2rem, calc((100vw - 164rem) / 2));
    --fcta-btn-gap: .6rem;
    --fcta-radius: var(--public-radius-pill);
    --fcta-shadow: none;
    --fcta-shadow-hover: none;
  }
  .public-practice-page ~ .no-floating-cta {
    --fcta-size: 5.2rem;
    --fcta-gap-edge: 3rem;
    --fcta-gap-bottom: 3rem;
    --fcta-btn-gap: .8rem;
    --fcta-radius: 0;
    --fcta-shadow: none;
    --fcta-shadow-hover: none;
  }
  .public-event-page ~ .no-floating-cta {
    --fcta-size: 5.2rem;
    --fcta-gap-edge: 3rem;
    --fcta-gap-bottom: 3rem;
    --fcta-btn-gap: .8rem;
    --fcta-radius: 0;
    --fcta-shadow: none;
    --fcta-shadow-hover: none;
  }
  .public-recruit__steps {
    --recruit-step-marker: 6rem;
    --recruit-step-gap: 7.2rem;
  }
  @media (max-width: 1279px) and (min-width: 768px) {
    .public-recruit__steps {
      --recruit-step-marker: 6.2rem;
      --recruit-step-gap: 7.6rem;
    }
  }
  @media (max-width: 767px) {
    .public-recruit__steps {
      --recruit-step-gap: 5rem;
    }
  }
  :root {
    /* === Section spacing (섹션 상·하단 패딩) === */
    --section-xs: clamp(2.4rem, 1.5533980583vw + 1.8174757282rem, 4.8rem);
    --section-sm: clamp(3.2rem, 2.071197411vw + 2.4233009709rem, 6.4rem);
    --section-md: clamp(4.8rem, 3.1067961165vw + 3.6349514563rem, 9.6rem);
    --section-lg: clamp(6.4rem, 4.142394822vw + 4.8466019417rem, 12.8rem);
    --section-xl: clamp(8rem, 10.355987055vw + 4.1165048544rem, 24rem);
    /* === Border Radius (유동 반경) === */
    --radius-xs: clamp(0.2rem, 0.1294498382vw + 0.1514563107rem, 0.4rem);
    --radius-sm: clamp(0.4rem, 0.2588996764vw + 0.3029126214rem, 0.8rem);
    --radius-md: clamp(0.8rem, 0.5177993528vw + 0.6058252427rem, 1.6rem);
    --radius-lg: clamp(1.2rem, 0.7766990291vw + 0.9087378641rem, 2.4rem);
    --radius-xl: clamp(1.6rem, 1.0355987055vw + 1.2116504854rem, 3.2rem);
    --radius-round: 9999px;
    /* === Spacing (마진·패딩 기본 단위, fluid 적용) === */
    --spacing-xxs: clamp(0.2rem, 0.1294498382vw + 0.1514563107rem, 0.4rem);
    --spacing-xs: clamp(0.4rem, 0.2588996764vw + 0.3029126214rem, 0.8rem);
    --spacing-sm: clamp(0.6rem, 0.3883495146vw + 0.454368932rem, 1.2rem);
    --spacing-md: clamp(0.8rem, 0.5177993528vw + 0.6058252427rem, 1.6rem);
    --spacing-lg: clamp(1.2rem, 0.7766990291vw + 0.9087378641rem, 2.4rem);
    --spacing-xl: clamp(1.6rem, 1.0355987055vw + 1.2116504854rem, 3.2rem);
    --spacing-2xl: clamp(2.4rem, 1.5533980583vw + 1.8174757282rem, 4.8rem);
    --spacing-3xl: clamp(3.2rem, 2.071197411vw + 2.4233009709rem, 6.4rem);
    --spacing-4xl: clamp(4rem, 2.5889967638vw + 3.0291262136rem, 8rem);
    --spacing-5xl: clamp(6.4rem, 4.142394822vw + 4.8466019417rem, 12.8rem);
    --spacing-6xl: clamp(8rem, 10.355987055vw + 4.1165048544rem, 24rem);
  }
  .no-btn {
    --btn-min-height: clamp(5.2rem, 0.2588996764vw + 5.1029126214rem, 5.6rem);
    --btn-radius: 5.5rem;
    --btn-text-color: #fff;
    --btn-icon-bg: var(--clr-primary-500);
    --btn-blur: 0.7rem;
    --btn-target-width: 5.6rem;
    --btn-width-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --btn-hover-peak: 1.085;
    --btn-hover-sub-peak: 1.022;
    --btn-hover-pop-duration: 0.56s;
    --btn-hover-out-duration: 0.38s;
    --btn-hover-out-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --btn-icon-size: clamp(3.2rem, 0.2588996764vw + 3.1029126214rem, 3.6rem);
    position: fixed;
    left: 50%;
    bottom: 3.2rem;
    z-index: 9999;
    width: var(--btn-min-height);
    min-width: var(--btn-min-height);
    height: var(--btn-min-height);
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0 clamp(5.4rem, 0.6472491909vw + 5.1572815534rem, 6.4rem) 0 clamp(2rem, 0.2588996764vw + 1.9029126214rem, 2.4rem);
    border-radius: var(--btn-radius);
    color: var(--btn-text-color);
    white-space: nowrap;
    overflow: hidden;
    text-decoration: none;
    cursor: pointer;
    touch-action: manipulation;
    opacity: 0;
    will-change: width, transform, opacity;
    backface-visibility: hidden;
    transform: translateX(-50%);
    border: 1px solid rgba(255, 255, 255, 0.1);
  }
  .no-btn::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: var(--btn-min-height);
    height: var(--btn-min-height);
    border-radius: var(--btn-radius);
    transform: translate(-50%, -50%);
    background-color: rgba(0, 0, 0, 0.92);
    -webkit-backdrop-filter: blur(var(--btn-blur));
    backdrop-filter: blur(var(--btn-blur));
    transition: width 0.44s var(--btn-width-ease);
    will-change: width;
    z-index: -1;
  }
  .no-btn::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 7.2rem;
    height: 7.2rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    filter: blur(1rem);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -50%) translateY(3.8rem) scale(0.88);
    will-change: transform, opacity;
  }
  .no-btn .txt {
    display: inline-block;
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    font-size: var(--heading-sm-fs);
    font-weight: 700;
    line-height: 1;
    transform: translate3d(-0.9rem, 0, 0);
    transition: max-width 0.24s var(--btn-width-ease), opacity 0.16s ease, transform 0.24s var(--btn-width-ease);
    will-change: max-width, opacity, transform;
  }
  .no-btn .icon {
    position: absolute;
    left: 50%;
    top: 49%;
    width: var(--btn-icon-size);
    height: var(--btn-icon-size);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--btn-icon-bg);
    color: #fff;
    transform: translate(-50%, -50%) scale(1);
    transition: left 0.44s var(--btn-width-ease), transform 0.44s var(--btn-width-ease), background-color 0.3s ease;
    will-change: left, transform;
  }
  .no-btn .icon svg {
    width: 100%;
    height: 100%;
    display: block;
    fill: currentColor;
  }
  .no-btn:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 4px;
  }
  .no-btn.activated {
    opacity: 1;
  }
  .no-btn.activated::after {
    animation: btn-intro-ghost 0.82s both;
  }
  .no-btn.activated:not(.is-intro-done) {
    animation: btn-rise-bounce 0.82s both;
  }
  .no-btn.activated.is-intro-done {
    transform: translateX(-50%) translate3d(0, 0, 0) scale(1);
    transition: transform var(--btn-hover-out-duration) var(--btn-hover-out-ease);
    animation: none;
  }
  .no-btn.activated.is-intro-done:hover, .no-btn.activated.is-intro-done:active {
    animation: no-btn-hover-bounce var(--btn-hover-pop-duration) both;
    transition: none;
    background-color: #000;
  }
  @media (prefers-reduced-motion: reduce) {
    .no-btn.activated.is-intro-done:hover, .no-btn.activated.is-intro-done:active {
      animation: none;
      transform: translateX(-50%) translate3d(0, 0, 0) scale(1.03);
      transition: transform 0.2s ease;
    }
  }
  .no-btn.is-expanding {
    width: var(--btn-target-width);
  }
  .no-btn.is-expanding::before {
    width: var(--btn-target-width);
  }
  .no-btn.is-expanding .icon {
    left: calc(100% - 1.2rem - var(--btn-icon-size) / 2);
    transform: translate(-50%, -50%) scale(1);
  }
  .no-btn.is-text-visible .txt {
    max-width: 24rem;
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  .no-btn:not(.activated) {
    pointer-events: none;
    opacity: 0;
    transform: translateX(-50%) translate3d(0, 3.8rem, 0) scale(0.84);
  }
  .no-btn:not(.activated)::after {
    opacity: 0;
    transform: translate(-50%, -50%) translateY(3.8rem) scale(0.88);
    animation: none;
  }
  .no-btn:not(.is-expanding) {
    width: var(--btn-min-height);
  }
  .no-btn:not(.is-expanding)::before {
    width: var(--btn-min-height);
  }
  .no-btn:not(.is-expanding) .icon {
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
  }
  .no-btn:not(.is-text-visible) .txt {
    max-width: 0;
    opacity: 0;
    transform: translate3d(-0.9rem, 0, 0);
  }
  @keyframes btn-rise-bounce {
    0% {
      opacity: 0;
      transform: translateX(-50%) translate3d(0, 4.2rem, 0) scale(0.84);
      animation-timing-function: cubic-bezier(0.22, 0.88, 0.3, 1);
    }
    27% {
      opacity: 1;
      transform: translateX(-50%) translate3d(0, -2.7rem, 0) scale(1);
      animation-timing-function: cubic-bezier(0.34, 0, 0.2, 1);
    }
    50% {
      opacity: 1;
      transform: translateX(-50%) translate3d(0, 0.62rem, 0) scale(0.996);
      animation-timing-function: cubic-bezier(0.28, 0.82, 0.36, 1);
    }
    67% {
      opacity: 1;
      transform: translateX(-50%) translate3d(0, -0.2rem, 0) scale(1);
      animation-timing-function: cubic-bezier(0.34, 0, 0.24, 1);
    }
    82% {
      opacity: 1;
      transform: translateX(-50%) translate3d(0, 0.08rem, 0) scale(1);
      animation-timing-function: linear;
    }
    100% {
      opacity: 1;
      transform: translateX(-50%) translate3d(0, 0, 0) scale(1);
    }
  }
  @keyframes btn-intro-ghost {
    0% {
      opacity: 0;
      transform: translate(-50%, -50%) translateY(4.2rem) scale(0.88);
      animation-timing-function: cubic-bezier(0.22, 0.88, 0.3, 1);
    }
    27% {
      opacity: 0.48;
      transform: translate(-50%, -50%) translateY(-2.35rem) scale(1.1);
      animation-timing-function: cubic-bezier(0.34, 0, 0.2, 1);
    }
    50% {
      opacity: 0.22;
      transform: translate(-50%, -50%) translateY(0.54rem) scale(1.04);
      animation-timing-function: cubic-bezier(0.28, 0.82, 0.36, 1);
    }
    67% {
      opacity: 0.1;
      transform: translate(-50%, -50%) translateY(-0.14rem) scale(1.015);
    }
    82% {
      opacity: 0.04;
      transform: translate(-50%, -50%) translateY(0.04rem) scale(1.005);
    }
    100% {
      opacity: 0;
      transform: translate(-50%, -50%) translateY(0) scale(1);
    }
  }
  @keyframes no-btn-hover-bounce {
    0% {
      transform: translateX(-50%) translate3d(0, 0, 0) scale(1);
      animation-timing-function: cubic-bezier(0.33, 0, 0.2, 1);
    }
    28% {
      transform: translateX(-50%) translate3d(0, 0, 0) scale(var(--btn-hover-peak));
      animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
    }
    46% {
      transform: translateX(-50%) translate3d(0, 0, 0) scale(1);
      animation-timing-function: cubic-bezier(0.25, 0, 0.25, 1);
    }
    66% {
      transform: translateX(-50%) translate3d(0, 0, 0) scale(var(--btn-hover-sub-peak));
      animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
    }
    100% {
      transform: translateX(-50%) translate3d(0, 0, 0) scale(1);
    }
  }
  .no-form-radio__title {
    display: block;
    font-weight: 500;
    font-size: var(--body-md-fs);
    margin-bottom: 0.8rem;
  }
  .no-form-radio__list {
    display: flex;
    flex-wrap: nowrap;
    gap: 1.2rem;
  }
  @media (max-width: 1024px) {
    .no-form-radio__list {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
    }
  }
  @media (max-width: 1024px) {
    .no-form-radio__list {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .no-form-radio__item {
    flex: 1;
  }
  .no-form-radio__item input {
    display: none;
  }
  .no-form-radio__item input:checked + .no-form-radio__label {
    color: var(--clr-primary-main);
    border-color: var(--clr-primary-main);
    outline: 1px solid var(--clr-primary-main);
  }
  .no-form-radio__label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.2rem;
    background: var(--clr-base-white);
    border: 1px solid var(--clr-gray-300);
    width: 100%;
    font-size: var(--body-sm-fs);
  }
  .no-form-checkbox__inner {
    display: inline-flex;
    align-items: center;
    gap: 1.2rem;
  }
  .no-form-checkbox input {
    display: none;
  }
  .no-form-checkbox input:checked + .no-form-checkbox__box {
    border-color: var(--clr-primary-main);
    background: var(--clr-primary-main);
  }
  .no-form-checkbox input:checked + .no-form-checkbox__box i {
    visibility: visible;
    opacity: 1;
  }
  .no-form-checkbox__box {
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 0.4rem;
    border: 1px solid var(--clr-gray-300);
    display: flex;
    align-items: center;
    background: var(--clr-base-white);
  }
  .no-form-checkbox__box i {
    color: var(--clr-base-white);
    visibility: hidden;
    opacity: 0;
    font-size: clamp(1.2rem, 0.1294498382vw + 1.1514563107rem, 1.4rem);
  }
  .no-form-checkbox__label {
    font-size: var(--body-md-fs);
  }
  .no-form-checkbox__label a {
    color: var(--clr-primary-700);
    text-decoration: underline;
  }
  .no-form-checkbox__policy-btn {
    background: transparent;
    border: 0;
    padding: 0;
    color: var(--clr-primary-700);
    text-decoration: underline;
    cursor: pointer;
    font-size: inherit;
    font-family: inherit;
  }
  .no-form-checkbox__policy-btn:hover {
    color: var(--clr-primary-900, var(--clr-primary-700));
  }
  .no-form-group.--full {
    width: 100%;
  }
  .no-form-group.--base {
    width: calc(33.33% - 2.1333rem);
  }
  @media (max-width: 1024px) {
    .no-form-group.--base {
      width: calc(50% - 1.6rem);
    }
  }
  @media (max-width: 768px) {
    .no-form-group.--base {
      width: 100%;
    }
  }
  .no-form-group__label {
    margin-bottom: 0.8rem;
    font-weight: 500;
    display: inline-block;
    font-size: var(--body-md-fs);
  }
  .no-form-control {
    border: 1px solid var(--clr-gray-300);
    border-radius: var(--radius-sm);
    overflow: hidden;
    position: relative;
  }
  .no-form-control__button {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    border-radius: 0%;
  }
  .no-form-control.--textarea {
    height: clamp(16rem, 2.5889967638vw + 15.0291262136rem, 20rem);
  }
  .no-form-control.--base {
    max-width: 40rem;
  }
  .no-form-control:focus-within {
    border-color: var(--clr-primary-main);
  }
  .no-form-control__textarea {
    width: 100%;
    padding: 2rem;
    height: 100%;
  }
  .no-form-control--search {
    display: inline-block;
  }
  .no-form-control--search label {
    display: inline-flex;
    align-items: center;
    background: var(--clr-base-white);
  }
  .no-form-control--search button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 1.2rem;
  }
  .no-form-control--search button i {
    color: var(--clr-primary-main);
    font-weight: 500;
    font-size: 2rem;
  }
  .no-form-control__input {
    width: 100%;
    height: 4.4rem;
    padding: 0 2rem;
  }
  .no-form-control__input:read-only {
    background: var(--clr-gray-100);
  }
  .no-form-control__input--search {
    max-width: 25.5rem;
    width: 100%;
  }
  .no-form-control__input--search::-webkit-search-decoration, .no-form-control__input--search::-webkit-search-cancel-button, .no-form-control__input--search::-webkit-search-results-button, .no-form-control__input--search::-webkit-search-results-decoration {
    display: none;
  }
  .no-form-select {
    max-width: 15rem;
    width: 100%;
    position: relative;
    overflow: hidden;
  }
  .no-form-select__input {
    -webkit-appearance: none;
    border: 1px solid var(--clr-gray-300);
    border-radius: var(--radius-sm);
    overflow: hidden;
    width: 100%;
    height: 4.4rem;
    padding: 0 1.2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .no-form-select__icon {
    position: absolute;
    pointer-events: none;
    right: 1.2rem;
    top: 50%;
    height: 100%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
  }
  .no-form-file__inner {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    background: var(--clr-base-white);
    border: 1px solid var(--clr-gray-300);
    border-radius: var(--radius-sm);
    min-height: 4.4rem;
    padding: 0.6rem 2rem;
    transition: border-color 0.2s ease, outline-color 0.2s ease;
    position: relative;
    overflow: hidden;
  }
  .no-form-file:focus-within .no-form-file__inner {
    border-color: var(--clr-primary-main);
    outline: 1px solid var(--clr-primary-main);
  }
  .no-form-file__label {
    font-size: var(--body-xs-fs);
  }
  .no-form-file__input {
    width: 100%;
    height: 3.2rem;
    padding: 0 1.2rem 0 1.2rem;
    border: 0;
    background: transparent;
    font-size: var(--body-md-fs);
    color: var(--clr-gray-900);
    cursor: pointer;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .no-form-file__input::file-selector-button {
    margin-right: 1.2rem;
    height: 3.2rem;
    padding: 0 1.2rem;
    border-radius: 0.6rem;
    border: 1px solid var(--clr-primary-main);
    background: var(--clr-primary-main);
    color: var(--clr-base-white);
    font-size: var(--body-sm-fs);
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.2s ease, transform 0.1s ease;
  }
  .no-form-file__input:hover::file-selector-button {
    opacity: 0.9;
  }
  .no-form-file__input:active::file-selector-button {
    transform: translateY(1px);
  }
  .no-form-file__input::-webkit-file-upload-button {
    visibility: hidden;
  }
  .no-form-file__meta {
    margin-left: auto;
    color: var(--clr-gray-500);
    font-size: var(--body-xs-fs);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 60%;
  }
  @media (max-width: 768px) {
    .no-form-file__meta {
      max-width: 100%;
    }
  }
  .no-form-file.--drop {
    position: relative;
  }
  .no-form-file.--drop .no-form-file__inner {
    justify-content: center;
    gap: 0.8rem;
    border-style: dashed;
    border-color: var(--clr-gray-300);
    background: var(--clr-gray-50);
    min-height: 10rem;
    text-align: center;
  }
  .no-form-file.--drop .no-form-file__input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
  }
  .no-form-file.--drop.is-dragover .no-form-file__inner {
    border-color: var(--clr-primary-main);
    outline: 1px solid var(--clr-primary-main);
    background: rgba(0, 0, 0, 0.02);
  }
  .form__success-msg {
    color: #1a7f4b;
    font-size: inherit;
    margin-bottom: 0.75rem;
  }
  .no-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: clamp(0.8rem, 0.2588996764vw + 0.7029126214rem, 1.2rem);
    font-size: var(--body-md-fs);
    user-select: none;
  }
  @media (max-width: 768px) {
    .no-pagination {
      gap: 0.8rem;
    }
  }
  .no-pagination__numbers {
    display: flex;
    align-items: center;
    gap: 0.25rem;
  }
  .no-pagination__dots {
    padding: 0 0.25rem;
    color: var(--clr-gray-500);
    font-weight: 500;
    pointer-events: none;
  }
  .no-pagination__link {
    --size: clamp(3.2rem, 0.5177993528vw + 3.0058252427rem, 4rem);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--size);
    height: var(--size);
    padding: 0 0.8rem;
    border: 1px solid var(--clr-gray-300);
    border-radius: 0.6rem;
    background: var(--clr-base-white);
    color: var(--clr-base-black);
    line-height: 1;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
  }
  .no-pagination__link:hover {
    background: var(--clr-gray-100);
    border-color: var(--clr-gray-400);
  }
  .no-pagination__link:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--clr-primary-rgb, 33, 150, 243), 0.25);
  }
  .no-pagination__link.--disabled, .no-pagination__link[aria-disabled=true] {
    color: var(--clr-gray-400);
    border-color: var(--clr-gray-200);
    background: var(--clr-gray-50);
    pointer-events: none;
    opacity: 0.7;
  }
  .no-pagination {
    /* 숫자 버튼 */
  }
  .no-pagination__link--num {
    width: var(--size);
    padding: 0;
    font-weight: 500;
  }
  .no-pagination__link--num[aria-current=page], .no-pagination__link--num.is-active {
    background: var(--clr-primary-main);
    border-color: var(--clr-primary-main);
    color: var(--clr-base-white);
  }
  .no-pagination__link--num.--ghost {
    background: var(--clr-base-white);
    color: var(--clr-gray-700);
  }
  .no-pagination__link--arrow {
    width: var(--size);
    color: var(--clr-base-black);
    border-color: transparent;
    background: transparent;
  }
  .no-pagination__link--arrow i {
    font-size: clamp(1.4rem, 0.2588996764vw + 1.3029126214rem, 1.8rem);
    line-height: 1;
  }
  .no-pagination__link--arrow:hover {
    background: var(--clr-gray-100);
    border-color: var(--clr-gray-300);
  }
  .public-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    margin-top: var(--public-space-page);
    color: var(--public-brand-ink);
    font-family: var(--font-sans-family);
    font-variant-numeric: tabular-nums;
  }
  .public-pagination__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3.6rem;
    min-height: 4.4rem;
    padding: 0;
    color: inherit;
    background: transparent;
    border: 0;
    font-size: 1.4rem;
    font-weight: var(--font-weight-regular);
    line-height: 1.4;
    text-decoration: none;
    opacity: 0.55;
    transition: opacity var(--public-duration) var(--public-ease);
  }
  .public-pagination__item--number {
    width: 3.6rem;
  }
  .public-pagination__item--control {
    font-size: 1.6rem;
  }
  .public-pagination__item--control i {
    line-height: 1;
  }
  .public-pagination__item--ellipsis {
    min-width: 1.6rem;
    pointer-events: none;
  }
  .public-pagination__item:hover, .public-pagination__item:focus-visible {
    opacity: 1;
  }
  .public-pagination__item:focus-visible {
    outline: var(--public-focus-width) solid currentColor;
    outline-offset: -0.3rem;
  }
  .public-pagination__item.is-active {
    font-size: 1.7rem;
    font-weight: var(--font-weight-medium);
    opacity: 1;
  }
  .public-pagination__item.is-disabled {
    cursor: not-allowed;
    opacity: 0.25;
  }
  @media (max-width: 768px) {
    .public-pagination__item--control {
      font-size: 1.4rem;
    }
  }
  @media (max-width: 480px) {
    .public-pagination {
      gap: 0.2rem;
    }
    .public-pagination__item {
      min-width: 2.8rem;
    }
    .public-pagination__item--number {
      width: 2.8rem;
    }
    .public-pagination__item--ellipsis {
      min-width: 1.6rem;
    }
    .public-pagination__item--edge {
      display: none;
    }
  }
  .no-prevnext {
    border-top: 1px solid var(--clr-base-black);
  }
  .no-prevnext__block {
    width: 100%;
    text-align: left;
    padding: 2.4rem;
    padding-left: 0;
    border-bottom: 1px solid var(--clr-gray-100);
  }
  @media (max-width: 768px) {
    .no-prevnext__block {
      padding: 1.8rem 2.4rem 1.8rem 0;
      font-size: var(--body-xs-fs);
      line-height: 1.6rem;
    }
  }
  .no-prevnext__link {
    padding-left: 9.4rem;
    position: relative;
    display: inline-block;
  }
  @media (max-width: 768px) {
    .no-prevnext__link {
      padding-left: 4.6rem;
    }
  }
  .no-prevnext__label {
    color: var(--clr-gray-600);
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
    font-size: var(--body-md-fs);
  }
  @media (max-width: 768px) {
    .no-prevnext__label {
      font-size: var(--body-xs-fs);
    }
  }
  .no-prevnext__title {
    font-size: var(--body-md-fs);
  }
  @media (max-width: 768px) {
    .no-prevnext__title {
      font-size: var(--body-xs-fs);
    }
  }
  .no-table__self {
    border-top: 2px solid var(--clr-gray-900);
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
  }
  .no-table__self th, .no-table__self td {
    border-bottom: 1px solid var(--clr-gray-200);
    color: var(--clr-gray-600);
  }
  @media (max-width: 768px) {
    .no-table__self th, .no-table__self td {
      text-align: left;
      display: block;
      padding: 0;
      border-bottom: 0;
    }
  }
  .no-table__self th, .no-table__self td {
    padding: 2rem 1rem;
    font-size: var(--body-md-fs);
  }
  .no-table__self thead {
    font-weight: 600;
  }
  @media (max-width: 768px) {
    .no-table__self thead {
      display: none;
    }
  }
  .no-table__self thead th {
    border-bottom: 1px solid var(--clr-gray-900);
    text-align: center;
  }
  @media (max-width: 768px) {
    .no-table__self tbody tr {
      display: flex;
      flex-wrap: wrap;
      border-bottom: 1px solid var(--clr-gray-200);
      padding: 1.6rem 0;
    }
  }
  @media (max-width: 768px) {
    .no-table__self tbody td {
      padding: 0;
    }
  }
  @media (max-width: 768px) {
    .no-table .no-table__attr {
      display: inline-block;
      color: var(--clr-gray-400);
    }
    .no-table .no-table__attr:last-child span {
      padding-right: 0;
      margin-right: 0;
    }
    .no-table .no-table__attr:last-child span::after {
      content: none;
    }
    .no-table .no-table__attr span {
      font-size: var(--body-xs-fs);
      position: relative;
      padding-right: 0.8rem;
      margin-right: 0.8rem;
      line-height: 1;
    }
    .no-table .no-table__attr span::after {
      position: absolute;
      content: "";
      top: 50%;
      right: 0;
      height: 1rem;
      width: 0.1rem;
      background: var(--clr-gray-600);
      transform: translateY(-40%);
    }
    .no-table .no-table__attr span::before {
      content: attr(data-label);
      color: var(--clr-gray-600);
      display: inline-block;
      padding-right: 0.4rem;
    }
  }
  .no-table .no-table__pin {
    color: var(--clr-primary-main);
  }
  .no-table .no-table__title {
    font-weight: 600;
    width: 100%;
  }
  .no-table .no-table__link {
    font-weight: inherit;
    text-overflow: ellipsis;
    overflow: hidden;
    display: block;
  }
  .no-table .no-table__link:hover {
    text-decoration: underline;
    color: var(--clr-primary-main);
  }
  .no-table .no-table__link-text {
    white-space: nowrap;
  }
  .no-floating-container {
    display: grid;
    grid-template-columns: 220px 1fr;
    column-gap: clamp(24px, 3vw, 48px);
    align-items: start;
  }
  @media (max-width: 768px) {
    .no-floating-container {
      grid-template-columns: 1fr;
      column-gap: auto;
    }
  }
  .no-floating-menu {
    width: 16rem;
    padding-left: 2rem;
    will-change: transform;
  }
  @media (max-width: 768px) {
    .no-floating-menu {
      display: none;
    }
  }
  .no-floating-menu__nav {
    display: flex;
    flex-direction: column;
    gap: clamp(0.8rem, 0.2588996764vw + 0.7029126214rem, 1.2rem);
  }
  .no-floating-menu__link {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    font-weight: 500;
    color: var(--clr-gray-400);
  }
  .no-floating-menu__link:hover {
    color: var(--clr-base-black);
  }
  .no-floating-menu__link.--active {
    color: var(--clr-primary-main);
  }
  .no-floating-menu__link.--active::before {
    opacity: 1;
    visibility: visible;
  }
  .no-floating-menu__link::before {
    content: "";
    width: 0.6rem;
    height: 0.6rem;
    background: var(--clr-primary-main);
    opacity: 0;
    visibility: hidden;
  }
  .no-floating-cta {
    --fcta-size: var(--public-control-md, 5.2rem);
    --fcta-gap-edge: var(--public-space-2xl, 4rem);
    --fcta-gap-bottom: var(--public-space-2xl, 4rem);
    --fcta-btn-gap: var(--public-space-xs, 1.2rem);
    --fcta-radius: var(--public-radius-pill, 999px);
    --fcta-shadow: 0 1.2rem 3rem color-mix(in srgb, var(--public-navy-deep, #000000) 18%, transparent);
    --fcta-shadow-hover: 0 1.6rem 3.6rem color-mix(in srgb, var(--public-navy-deep, #000000) 24%, transparent);
    --fc-system: var(--public-navy, #10283f);
    --fc-tel: var(--public-blue, #2fb7cf);
    --fc-tel-hover: var(--public-navy, #10283f);
    --fc-kakao: #fee500;
    --fc-kakao-ink: #3a1d1d;
    --fc-instagram: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    --fc-youtube: #ff0000;
    --fc-facebook: #1877f2;
    --fc-twitter: #000000;
    --fc-linkedin: #0a66c2;
    --fc-tiktok: #000000;
    --fc-naverblog: #03c75a;
    position: fixed;
    inset-inline-end: calc(var(--fcta-gap-edge) + env(safe-area-inset-right));
    inset-block-end: calc(var(--fcta-gap-bottom) + var(--quick-bar-h, 0px) + env(safe-area-inset-bottom));
    z-index: 999;
    display: flex;
    flex-direction: column;
    gap: var(--fcta-btn-gap);
    pointer-events: auto;
  }
  .no-floating-cta__btn {
    width: var(--fcta-size);
    height: var(--fcta-size);
    border-radius: var(--fcta-radius);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(1.8rem, 0.2588996764vw + 1.7029126214rem, 2.2rem);
    border: 1px solid color-mix(in srgb, var(--public-white, #ffffff) 22%, transparent);
    cursor: pointer;
    background: var(--fc-system);
    color: var(--public-white, #ffffff);
    box-shadow: var(--fcta-shadow);
    transition: background var(--public-duration, 0.35s) var(--public-ease, ease), color var(--public-duration, 0.35s) var(--public-ease, ease), border-color var(--public-duration, 0.35s) var(--public-ease, ease), filter var(--public-duration, 0.35s) var(--public-ease, ease), transform var(--public-duration, 0.35s) var(--public-ease, ease), box-shadow var(--public-duration, 0.35s) var(--public-ease, ease);
  }
  .no-floating-cta__btn svg {
    width: 55%;
    height: 55%;
    fill: currentColor;
  }
  .no-floating-cta__btn img {
    width: 55%;
    height: 55%;
    object-fit: contain;
  }
  .no-floating-cta__btn:hover {
    border-color: color-mix(in srgb, var(--public-white, #ffffff) 34%, transparent);
    filter: brightness(1.04);
    transform: translateY(-0.2rem);
    box-shadow: var(--fcta-shadow-hover);
  }
  .no-floating-cta__btn:active {
    transform: translateY(0) scale(0.96);
  }
  .no-floating-cta__btn:focus-visible {
    outline: 2px solid var(--public-focus, #8de7f4);
    outline-offset: 0.3rem;
  }
  .no-floating-cta__btn--tel {
    background: var(--fc-tel);
  }
  .no-floating-cta__btn--tel:hover, .no-floating-cta__btn--tel:focus-visible {
    background: var(--fc-tel-hover);
    filter: none;
  }
  .no-floating-cta__btn--kakao {
    background: var(--fc-kakao);
    color: var(--fc-kakao-ink);
  }
  .no-floating-cta__btn--instagram {
    background: var(--fc-instagram);
  }
  .no-floating-cta__btn--youtube {
    background: var(--fc-youtube);
  }
  .no-floating-cta__btn--facebook {
    background: var(--fc-facebook);
  }
  .no-floating-cta__btn--twitter {
    background: var(--fc-twitter);
  }
  .no-floating-cta__btn--linkedin {
    background: var(--fc-linkedin);
  }
  .no-floating-cta__btn--tiktok {
    background: var(--fc-tiktok);
  }
  .no-floating-cta__btn--naverblog {
    background: var(--fc-naverblog);
  }
  .no-floating-cta__btn--top {
    max-block-size: 0;
    margin-block-start: calc(-1 * var(--fcta-btn-gap));
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transform: scale(0);
    transform-origin: center;
    visibility: hidden;
    transition: opacity 0.28s ease, transform 0.28s ease, max-block-size 0.28s ease, margin-block-start 0.28s ease, visibility 0s linear 0.28s, background var(--public-duration, 0.35s) var(--public-ease, ease), color var(--public-duration, 0.35s) var(--public-ease, ease), filter var(--public-duration, 0.35s) var(--public-ease, ease), box-shadow var(--public-duration, 0.35s) var(--public-ease, ease);
  }
  .no-floating-cta__btn--top.is-visible {
    max-block-size: var(--fcta-size);
    margin-block-start: 0;
    opacity: 1;
    pointer-events: auto;
    transform: scale(1);
    visibility: visible;
    transition: opacity 0.28s ease, transform 0.28s ease, max-block-size 0.28s ease, margin-block-start 0.28s ease, visibility 0s linear 0s, background var(--public-duration, 0.35s) var(--public-ease, ease), color var(--public-duration, 0.35s) var(--public-ease, ease), filter var(--public-duration, 0.35s) var(--public-ease, ease), box-shadow var(--public-duration, 0.35s) var(--public-ease, ease);
  }
  .no-floating-cta__btn--top.is-visible:hover {
    transform: translateY(-0.2rem) scale(1);
  }
  .no-floating-cta__btn--top.is-visible:active {
    transform: translateY(0) scale(0.96);
  }
  .no-floating-cta__custom-icon {
    display: block;
    filter: none;
  }
  @media (max-width: 768px) {
    .no-floating-cta {
      --fcta-size: var(--public-control-sm, 4.4rem);
      --fcta-gap-edge: var(--public-space-sm, 1.6rem);
      --fcta-gap-bottom: var(--public-space-sm, 1.6rem);
      --fcta-btn-gap: var(--public-space-2xs, 0.8rem);
      --fcta-radius: var(--public-radius-pill, 999px);
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .no-floating-cta {
      transition: none;
    }
    .no-floating-cta__btn {
      transition: none;
    }
    .no-floating-cta__btn--top {
      transition: none;
    }
  }
  .no-gototop {
    --go-to-top-size: 4.4rem;
    --go-to-top-edge: var(--public-space-lg, 2.4rem);
    --go-to-top-background: color-mix(in srgb, var(--public-surface-subtle) 94%, transparent);
    --go-to-top-background-hover: color-mix(in srgb, var(--public-brand-accent-soft) 52%, var(--public-surface-subtle));
    --go-to-top-shadow: 0 .8rem 2.4rem color-mix(in srgb, var(--public-brand-ink) 8%, transparent);
    --go-to-top-shadow-hover: 0 1rem 2.8rem color-mix(in srgb, var(--public-brand-ink) 12%, transparent);
    position: fixed;
    inset-inline-end: calc(var(--go-to-top-edge) + env(safe-area-inset-right));
    inset-block-end: calc(var(--go-to-top-edge) + var(--quick-bar-h, 0px) + env(safe-area-inset-bottom));
    z-index: 999;
    pointer-events: none;
  }
  .no-gototop__btn {
    position: relative;
    isolation: isolate;
    border: 0;
    background: transparent;
    border-radius: var(--public-action-radius);
    text-decoration: none;
  }
  .no-gototop__btn::before, .no-gototop__btn::after {
    position: absolute;
    inset-block: 0;
    box-sizing: border-box;
    width: var(--public-action-end-width);
    border: 1px solid currentColor;
    content: "";
    pointer-events: none;
    transition: width var(--public-action-duration) var(--public-ease);
  }
  .no-gototop__btn::before {
    inset-inline-start: 0;
    border-inline-end: 0;
    border-radius: var(--public-action-radius) 0 0 var(--public-action-radius);
  }
  .no-gototop__btn::after {
    inset-inline-end: 0;
    border-inline-start: 0;
    border-radius: 0 var(--public-action-radius) var(--public-action-radius) 0;
  }
  .no-gototop__btn:hover::before, .no-gototop__btn:hover::after, .no-gototop__btn:focus-visible::before, .no-gototop__btn:focus-visible::after, .no-gototop__btn.is-frame-completing::before, .no-gototop__btn.is-frame-completing::after, .no-gototop__btn[aria-expanded=true]::before, .no-gototop__btn[aria-expanded=true]::after {
    width: calc(50% + 1px);
  }
  @media (max-width: 1023px), (hover: none), (pointer: coarse) {
    .no-gototop__btn::before, .no-gototop__btn::after {
      width: calc(50% + 1px);
    }
  }
  .no-gototop__btn:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
  }
  @media (prefers-reduced-motion: reduce) {
    .no-gototop__btn::before, .no-gototop__btn::after {
      transition: none;
    }
  }
  .no-gototop__btn {
    --public-action-end-width: 1.4rem;
    --public-action-duration: var(--dur-base, 320ms);
    width: var(--go-to-top-size);
    height: var(--go-to-top-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--go-to-top-background);
    color: var(--public-brand-ink);
    box-shadow: var(--go-to-top-shadow);
    font-size: var(--public-icon-sm, 1.8rem);
    opacity: 0;
    pointer-events: none;
    transform: scale(0.72);
    visibility: hidden;
    cursor: pointer;
    backdrop-filter: blur(1rem);
    transition: opacity var(--dur-base, 320ms) var(--ease-out-quart, ease), transform var(--dur-base, 320ms) var(--ease-out-quart, ease), visibility 0s linear var(--dur-base, 320ms), background-color var(--dur-base, 320ms) var(--ease-out-quart, ease), color var(--dur-base, 320ms) var(--ease-out-quart, ease), box-shadow var(--dur-base, 320ms) var(--ease-out-quart, ease);
  }
  .no-gototop__btn.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: scale(1);
    visibility: visible;
    transition-delay: 0s;
  }
  .is-drawer-open .no-gototop__btn {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
  }
  @media (hover: hover) {
    .no-gototop__btn.is-visible:hover {
      background-color: var(--go-to-top-background-hover);
      color: var(--public-brand-accent);
      box-shadow: var(--go-to-top-shadow-hover);
      transform: translateY(-0.1rem);
    }
  }
  .no-gototop__btn.is-visible:active {
    transform: translateY(0) scale(0.98);
  }
  .no-gototop__btn:focus-visible {
    outline: var(--public-focus-width, 0.2rem) solid var(--public-focus);
    outline-offset: var(--public-focus-offset, 0.3rem);
  }
  @media (max-width: 768px) {
    .no-gototop {
      --go-to-top-size: max(var(--public-control-sm, 4.4rem), 4.4rem);
      --go-to-top-edge: var(--public-space-sm, 1.6rem);
    }
    .no-gototop__btn {
      --public-action-end-width: 1rem;
      padding: 0.4rem;
      background-clip: content-box;
      box-shadow: none;
      font-size: 1.4rem;
    }
    .no-gototop__btn:hover {
      box-shadow: none;
    }
    .no-gototop__btn::before, .no-gototop__btn::after {
      inset-block: 0.4rem;
      width: calc(50% - 0.3rem);
    }
    .no-gototop__btn::before {
      inset-inline-start: 0.4rem;
    }
    .no-gototop__btn::after {
      inset-inline-end: 0.4rem;
    }
    .no-gototop__btn:hover::before, .no-gototop__btn:hover::after, .no-gototop__btn:focus-visible::before, .no-gototop__btn:focus-visible::after {
      width: calc(50% - 0.3rem);
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .no-gototop__btn {
      transition: none;
    }
  }
  .no-gototop__btn {
    -webkit-tap-highlight-color: transparent;
  }
  .no-quick-contact {
    display: none;
    position: fixed;
    inset-inline: 0;
    inset-block-end: 0;
    z-index: 997;
    background: var(--clr-primary-950);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 -0.4rem 2.4rem rgba(0, 0, 0, 0.35);
  }
  .no-quick-contact__mobile-trigger, .no-quick-contact__sheet-head {
    display: none;
  }
  .no-quick-contact__inner {
    display: flex;
    align-items: center;
    gap: clamp(1.6rem, 1.5533980583vw + 1.0174757282rem, 4rem);
    padding-block: clamp(1.2rem, 0.3883495146vw + 1.054368932rem, 1.8rem);
  }
  @media (max-width: 768px) {
    .no-quick-contact__inner {
      align-items: stretch;
      gap: 1.2rem;
      padding-block: 1.2rem;
    }
  }
  .no-quick-contact__brand {
    flex: 0 0 auto;
  }
  @media (max-width: 768px) {
    .no-quick-contact__brand {
      display: none;
    }
  }
  .no-quick-contact__logo {
    display: block;
    height: clamp(3rem, 0.9061488673vw + 2.6601941748rem, 4.4rem);
    width: auto;
    max-width: 18rem;
    object-fit: contain;
  }
  .no-quick-contact__form {
    flex: 1 1 auto;
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: clamp(1.2rem, 0.7766990291vw + 0.9087378641rem, 2.4rem);
  }
  .no-quick-contact__field {
    flex: 1 1 12rem;
    min-width: 9rem;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
  }
  .no-quick-contact__field--grow {
    flex: 1.6 1 18rem;
  }
  @media (max-width: 768px) {
    .no-quick-contact__field {
      flex: 1 1 100%;
      min-width: 0;
    }
  }
  .no-quick-contact__label {
    color: rgba(255, 255, 255, 0.9);
    font-weight: 600;
  }
  .no-quick-contact__req {
    color: var(--clr-accent-300);
  }
  .no-quick-contact__input {
    padding: var(--spacing-sm) 0;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.28);
    background: transparent;
    color: var(--clr-base-white);
    width: 100%;
  }
  .no-quick-contact__input::placeholder {
    color: rgba(255, 255, 255, 0.4);
  }
  .no-quick-contact__input:focus {
    outline: none;
    border-bottom-color: var(--clr-accent-500);
  }
  .no-quick-contact__submit {
    flex: 0 0 auto;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: var(--spacing-xs);
  }
  @media (max-width: 768px) {
    .no-quick-contact__submit {
      flex: 1 1 100%;
      align-items: stretch;
    }
  }
  .no-quick-contact__consent {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    white-space: nowrap;
    color: rgba(255, 255, 255, 0.6);
  }
  .no-quick-contact__consent a {
    color: var(--clr-accent-300);
    text-decoration: underline;
    white-space: nowrap;
  }
  @media (max-width: 768px) {
    .no-quick-contact__consent {
      justify-content: center;
      white-space: normal;
    }
  }
  .no-quick-contact__consent-box {
    flex: 0 0 auto;
    width: 1.6rem;
    height: 1.6rem;
    accent-color: var(--clr-accent-500);
  }
  .no-quick-contact__actions {
    flex: 0 0 auto;
  }
  .no-quick-contact__actions .ui-cta {
    min-width: 17rem;
    justify-content: space-between;
  }
  @media (max-width: 768px) {
    .no-quick-contact__actions {
      align-self: stretch;
    }
    .no-quick-contact__actions .ui-cta {
      min-width: 0;
      width: 100%;
    }
  }
  .no-quick-contact__hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
  }
  @media (max-width: 768px) {
    .no-quick-contact {
      display: block;
      background: transparent;
      border-top: 0;
      box-shadow: none;
      pointer-events: none;
    }
    .no-quick-contact.is-open {
      pointer-events: auto;
    }
    .no-quick-contact.is-open .no-quick-contact__mobile-trigger {
      opacity: 0;
      transform: translateY(100%);
      visibility: hidden;
    }
    .no-quick-contact.is-open .no-quick-contact__inner {
      opacity: 1;
      transform: translateY(0);
      visibility: visible;
    }
    .no-quick-contact__mobile-trigger {
      position: absolute;
      inset-inline: var(--spacing-md);
      inset-block-end: calc(var(--spacing-md) + env(safe-area-inset-bottom));
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: var(--spacing-md);
      min-height: 5.6rem;
      padding: 0 var(--spacing-lg);
      border: 1px solid rgba(255, 255, 255, 0.18);
      border-radius: var(--radius-sm);
      background: var(--clr-accent-500);
      color: var(--clr-base-white);
      box-shadow: 0 -0.4rem 2.4rem rgba(0, 0, 0, 0.26);
      pointer-events: auto;
      transition: opacity 220ms ease, transform 220ms ease, visibility 220ms ease;
    }
    .no-quick-contact__mobile-trigger svg,
    .no-quick-contact__mobile-trigger i {
      flex: 0 0 auto;
    }
    .no-quick-contact__inner {
      position: absolute;
      inset-inline: 0;
      inset-block-end: 0;
      display: block;
      max-height: calc(100dvh - 7.2rem);
      padding: var(--spacing-lg) var(--spacing-md) calc(var(--spacing-lg) + env(safe-area-inset-bottom));
      overflow-y: auto;
      background: var(--clr-primary-950);
      border-top: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: var(--radius-lg) var(--radius-lg) 0 0;
      box-shadow: 0 -0.8rem 3.2rem rgba(0, 0, 0, 0.42);
      opacity: 0;
      transform: translateY(calc(100% + var(--spacing-md)));
      transition: opacity 240ms ease, transform 240ms ease, visibility 240ms ease;
      visibility: hidden;
      pointer-events: auto;
    }
    .no-quick-contact__sheet-head {
      position: sticky;
      top: 0;
      z-index: 1;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: var(--spacing-md);
      margin: calc(var(--spacing-lg) * -1) calc(var(--spacing-md) * -1) var(--spacing-md);
      padding: var(--spacing-md);
      background: var(--clr-primary-950);
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    .no-quick-contact__sheet-title {
      color: var(--clr-base-white);
    }
    .no-quick-contact__close {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 4rem;
      height: 4rem;
      border: 1px solid rgba(255, 255, 255, 0.18);
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.08);
      color: var(--clr-base-white);
    }
  }
  .__root {
    padding-block-end: 0;
  }
  @media (max-width: 768px) {
    .__root {
      padding-block-end: var(--quick-bar-h, 0px);
    }
  }
  .no-captcha {
    display: flex;
    flex-direction: column;
  }
  @media (max-width: 768px) {
    .no-captcha {
      width: 100%;
    }
  }
  @media (max-width: 768px) {
    .no-captcha .no-form-control {
      width: 100%;
    }
  }
  @media (max-width: 768px) {
    .no-captcha .no-form-control label {
      width: 100%;
    }
  }
  .no-captcha .no-form-control__input {
    height: 4.8rem;
    width: 20rem;
  }
  @media (max-width: 768px) {
    .no-captcha .no-form-control__input {
      width: 100%;
    }
  }
  .no-captcha__label {
    display: block;
    margin-bottom: 0.8rem;
    font-size: var(--body-md-fs);
  }
  .no-captcha__container {
    display: flex;
    align-items: center;
    gap: 0.8rem;
  }
  @media (max-width: 768px) {
    .no-captcha__container {
      flex-direction: column;
      width: 100%;
      align-items: flex-start;
    }
  }
  .no-captcha__screen {
    display: flex;
    align-items: center;
    border: 1px solid var(--clr-gray-300);
    border-radius: 0.6rem;
    overflow: hidden;
    height: 4.8rem;
  }
  .no-captcha__image {
    display: flex;
    align-items: center;
    height: 100%;
    border-right: 1px solid var(--clr-gray-300);
  }
  .no-captcha__control {
    display: flex;
    flex-direction: column;
  }
  .no-captcha__control button {
    display: flex;
    align-items: center;
    width: 2.4rem;
    height: 2.4rem;
    border-bottom: 1px solid var(--clr-gray-300);
    background: var(--clr-base-white);
  }
  .no-captcha__control button:hover {
    background: var(--clr-gray-50);
  }
  .no-captcha__control button:last-child {
    border-bottom: 0;
  }
  .no-captcha__control button i {
    font-size: 1.1rem;
  }
  .no-marquee-section {
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    gap: 5rem;
  }
  .no-marquee-section.--top {
    padding-top: clamp(6.4rem, 4.142394822vw + 4.8466019417rem, 12.8rem);
  }
  .no-marquee-section.--bottom {
    padding-bottom: clamp(6.4rem, 4.142394822vw + 4.8466019417rem, 12.8rem);
  }
  .no-marquee-section.--y {
    padding: clamp(6.4rem, 4.142394822vw + 4.8466019417rem, 12.8rem) 0;
  }
  .no-marquee {
    padding: 1vw;
    white-space: nowrap;
  }
  .no-marquee__inner {
    display: flex;
    gap: 2rem;
  }
  .no-marquee__content {
    color: rgba(0, 164, 175, 0.15);
    font-size: var(--deco-marquee-fs);
  }
  /**
   * marquee-whisper
   *  • Marquee Whisper (.marquee-whisper) — CSS animation 기반 가로 흐름 텍스트
   *  • awards-wall 등 다중 페이지 재사용 부품 (sections 에서 keyframe 재사용)
   *
   * 모션 토큰: var(--dur-*) · var(--ease-*) 참조 (절대 하드코딩 금지)
   * 클래스명 .marquee-whisper · keyframe ui-marquee-whisper 는 TS·뷰가 의존 → 불변.
   */
  .marquee-whisper {
    position: relative;
    width: 100%;
    overflow: hidden;
    pointer-events: auto;
  }
  .marquee-whisper__track {
    display: flex;
    flex-wrap: nowrap;
    width: max-content;
    will-change: transform;
  }
  .marquee-whisper__set {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    padding-right: clamp(4rem, 2.5889967638vw + 3.0291262136rem, 8rem);
    font-family: var(--font-display-family);
    font-size: var(--deco-marquee-fs);
    font-weight: 500;
    line-height: 1;
    letter-spacing: var(--tracking-display);
    color: rgba(255, 255, 255, 0.1);
    white-space: nowrap;
    user-select: none;
  }
  .marquee-whisper {
    /* --solid : 밝은 배경용 솔리드 디스플레이 마키.
     * 폰트 패밀리는 마크업의 .no-manrope 유틸에서 상속(#17 준수) — 여기선 색/굵기/케이스만. */
  }
  .marquee-whisper--solid .marquee-whisper__set {
    font-family: inherit;
    font-weight: 700;
    color: var(--clr-base-black);
    text-transform: uppercase;
  }
  /* track 의 keyframe — JS 가 animationName 으로 'ui-marquee-whisper' 적용 */
  @keyframes ui-marquee-whisper {
    0% {
      transform: translate3d(0, 0, 0);
    }
    100% {
      transform: translate3d(-50%, 0, 0);
    } /* track 안에 2 세트가 있어 -50% 가 1 세트 분량 */
  }
  .profile-sidebar {
    width: 100%;
  }
  .profile-sidebar__inner {
    position: relative;
  }
  .profile-sidebar__nav {
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  .profile-sidebar__list {
    display: flex;
    flex-direction: column;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .profile-sidebar__item {
    border-bottom: 1px solid var(--clr-gray-200);
  }
  .profile-sidebar__item:last-child {
    border-bottom: none;
  }
  .profile-sidebar__link, .profile-sidebar__logout-btn {
    display: flex;
    align-items: center;
    gap: clamp(1.4rem, 0.3883495146vw + 1.254368932rem, 2rem);
    width: 100%;
    padding: clamp(1.6rem, 0.3883495146vw + 1.454368932rem, 2.2rem) clamp(1.8rem, 0.5177993528vw + 1.6058252427rem, 2.6rem);
    font-size: var(--body-md-fs, clamp(0.9375rem, 1.2vw, 1.0625rem));
    line-height: var(--body-md-lh, 1.5);
    color: var(--clr-text-primary);
    text-decoration: none;
    background: transparent;
    border: none;
    cursor: pointer;
    transition: color 0.2s ease, background-color 0.2s ease;
    text-align: left;
  }
  .profile-sidebar__link:hover {
    color: var(--clr-primary-main);
    background: var(--clr-gray-50);
  }
  .profile-sidebar__link:focus-visible {
    outline: 2px solid var(--clr-primary-main);
    outline-offset: 2px;
  }
  .profile-sidebar__item.--active .profile-sidebar__link {
    font-weight: 600;
    color: var(--clr-common-on-background);
    background: var(--clr-gray-50);
  }
  .profile-sidebar__icon {
    flex-shrink: 0;
    width: 1.35em;
    font-size: 1.15em;
    color: inherit;
  }
  .profile-sidebar__text {
    flex: 1;
  }
  .profile-sidebar__option {
    margin-top: clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
    padding-top: clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
    border-top: 1px solid var(--clr-gray-200);
  }
  .profile-sidebar__logout-form {
    margin: 0;
    padding: 0;
  }
  .profile-sidebar__logout-btn {
    font-family: inherit;
    display: flex;
    align-items: center;
    gap: clamp(1.4rem, 0.3883495146vw + 1.254368932rem, 2rem);
    width: 100%;
    padding: clamp(1.2rem, 0.2588996764vw + 1.1029126214rem, 1.6rem) 0;
    font-size: var(--body-md-fs, clamp(0.9375rem, 1.2vw, 1.0625rem));
    line-height: var(--body-md-lh, 1.5);
    color: var(--clr-text-secondary, #6b7280);
    background: transparent;
    border: none;
    cursor: pointer;
    transition: color 0.2s ease;
    text-align: left;
  }
  .profile-sidebar__logout-btn:hover {
    color: var(--clr-text-primary);
  }
  .profile-sidebar__logout-btn:focus-visible {
    outline: 2px solid var(--clr-primary-main);
    outline-offset: 2px;
  }
  .comm-sidebar {
    width: 100%;
  }
  .comm-sidebar__inner {
    position: relative;
  }
  .comm-sidebar__nav {
    width: 100%;
  }
  .comm-sidebar__list {
    display: flex;
    flex-direction: column;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .comm-sidebar__item {
    border-bottom: none;
    border-top: 1px solid var(--clr-gray-300, #ccc);
  }
  .comm-sidebar__item:first-child {
    border-top: none;
  }
  .comm-sidebar__link {
    display: flex;
    align-items: center;
    gap: clamp(1.2rem, 0.2588996764vw + 1.1029126214rem, 1.6rem);
    width: 100%;
    padding: clamp(1.4rem, 0.2588996764vw + 1.3029126214rem, 1.8rem) clamp(1.6rem, 0.3883495146vw + 1.454368932rem, 2.2rem);
    font-size: var(--body-md-fs, 0.9375rem);
    line-height: var(--body-md-lh, 1.5);
    color: var(--clr-text-desc, #999999);
    text-decoration: none;
    background: transparent;
    transition: color 0.2s ease, background-color 0.2s ease, font-weight 0.2s ease;
    position: relative;
  }
  .comm-sidebar__link:hover {
    color: var(--clr-primary-main);
    background: var(--clr-gray-50);
  }
  .comm-sidebar__link:focus-visible {
    outline: 2px solid var(--clr-primary-main);
    outline-offset: 2px;
  }
  .comm-sidebar__item.--active .comm-sidebar__link {
    font-weight: 600;
    color: var(--clr-text-primary, #000000);
    background: transparent;
  }
  .comm-sidebar__item.--active .comm-sidebar__link:hover {
    background: transparent !important;
    color: var(--clr-text-primary, #000000) !important;
  }
  .comm-sidebar__icon {
    flex-shrink: 0;
    width: 1.25em;
    font-size: 1.1em;
    color: inherit;
  }
  .comm-sidebar__text {
    flex: 1;
  }
  .comm-sidebar__chevron {
    flex-shrink: 0;
    font-size: 0.875em;
    color: inherit;
    transition: transform 0.2s ease, color 0.2s ease;
    margin-left: auto;
    transform: rotate(0deg);
  }
  .comm-sidebar__item.--expanded .comm-sidebar__chevron {
    transform: rotate(180deg);
  }
  .comm-sidebar__sub {
    padding-left: clamp(1.4rem, 0.3883495146vw + 1.254368932rem, 2rem);
    background: transparent;
    display: none;
  }
  .comm-sidebar__item.--expanded .comm-sidebar__sub {
    display: block;
  }
  .comm-sidebar__item.--active .comm-sidebar__sub {
    background: transparent;
  }
  .comm-sidebar__sub-list {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .comm-sidebar__sub-item {
    border-bottom: none;
  }
  .comm-sidebar__sub-link {
    display: flex;
    align-items: center;
    width: 100%;
    padding: clamp(1rem, 0.2588996764vw + 0.9029126214rem, 1.4rem) clamp(1.8rem, 0.3883495146vw + 1.654368932rem, 2.4rem);
    font-size: var(--body-sm-fs, 0.9375rem);
    line-height: var(--body-sm-lh, 1.5);
    color: var(--clr-text-desc, #999999);
    text-decoration: none;
    background: transparent;
    transition: color 0.2s ease, background-color 0.2s ease, font-weight 0.2s ease;
  }
  .comm-sidebar__sub-link:hover {
    color: var(--clr-primary-main);
    background: var(--clr-base-white);
  }
  .comm-sidebar__sub-link:focus-visible {
    outline: 2px solid var(--clr-primary-main);
    outline-offset: 2px;
  }
  .comm-sidebar__sub-item.--active .comm-sidebar__sub-link {
    font-weight: 600;
    color: var(--clr-text-primary, #000000);
    background: var(--clr-gray-50);
  }
  .comm-sidebar__sub-item.--active .comm-sidebar__sub-link:hover {
    background: var(--clr-gray-50);
    color: var(--clr-text-primary, #000000);
  }
  .comm-sidebar__sub-text {
    flex: 1;
  }
  .no-auto-cover {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    width: 100%;
    background-color: var(--clr-gray-100, #f1f1f1);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
  }
  .no-auto-cover__img, .no-auto-cover__video {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .no-auto-cover--1x1 {
    aspect-ratio: 1/1;
  }
  .no-auto-cover--4x3 {
    aspect-ratio: 4/3;
  }
  .no-auto-cover--16x9 {
    aspect-ratio: 16/9;
  }
  .no-auto-cover--3x4 {
    aspect-ratio: 3/4;
  }
  .no-auto-cover--21x9 {
    aspect-ratio: 21/9;
  }
  body:not(.admin) .app-modal-backdrop {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(36, 24, 32, 0.46);
    z-index: 20000;
    padding: var(--public-space-md);
    backdrop-filter: blur(0.5rem);
  }
  body:not(.admin) .app-modal-box {
    width: min(48rem, 100% - 3.2rem);
    background: var(--public-surface-subtle);
    border: 1px solid var(--public-line);
    border-top: 0.2rem solid var(--public-blue);
    border-radius: var(--public-radius-md);
    box-shadow: 0 2.4rem 5rem rgba(36, 24, 32, 0.18);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    animation: app-modal-appear var(--public-duration) var(--public-ease);
  }
  @keyframes app-modal-appear {
    from {
      opacity: 0;
      transform: scale(0.92) translateY(0.8rem);
    }
    to {
      opacity: 1;
      transform: scale(1) translateY(0);
    }
  }
  body:not(.admin) .app-modal-header {
    display: flex;
    align-items: center;
    gap: var(--public-space-xs);
    padding: var(--public-space-md) var(--public-space-lg);
    border-bottom: 1px solid var(--public-line);
  }
  body:not(.admin) .app-modal-title {
    flex: 1;
    margin: 0;
    color: var(--public-ink);
  }
  body:not(.admin) .app-modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--public-control-sm);
    height: var(--public-control-sm);
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: var(--public-icon-sm);
    color: var(--public-muted);
    border-radius: 50%;
    padding: 0;
    flex-shrink: 0;
    transition: color var(--tran-15), background-color var(--tran-15);
  }
  body:not(.admin) .app-modal-close:hover, body:not(.admin) .app-modal-close:focus-visible {
    color: var(--public-ink);
    background: var(--public-blue-soft);
  }
  body:not(.admin) .app-modal-backdrop .app-modal-box--wide {
    max-width: 102.4rem;
    width: min(102.4rem, 100% - 3.2rem);
    max-height: 92vh;
    display: flex;
    flex-direction: column;
  }
  body:not(.admin) .app-modal-backdrop .app-modal-box--wide .app-modal-body--scroll {
    flex: 1;
    max-height: none;
  }
  body:not(.admin) .app-modal-backdrop .app-modal-box--md {
    max-width: 76.8rem;
    width: min(76.8rem, 100% - 3.2rem);
  }
  body:not(.admin) .app-modal-body {
    padding: var(--public-space-lg);
    color: var(--public-ink);
    line-height: 1.7;
    white-space: pre-line;
  }
  body:not(.admin) .app-modal-body--scroll {
    max-height: 78vh;
    overflow-y: auto;
    white-space: normal;
    overscroll-behavior: contain;
  }
  body:not(.admin) .app-modal-message {
    display: grid;
    grid-template-columns: var(--public-check-size) minmax(0, 1fr);
    gap: var(--public-space-sm);
    align-items: start;
    white-space: normal;
  }
  body:not(.admin) .app-modal-message__icon {
    display: inline-grid;
    width: var(--public-check-size);
    height: var(--public-check-size);
    place-items: center;
    color: var(--public-blue);
    background: var(--public-blue-soft);
    border-radius: 50%;
    font-size: var(--public-icon-sm);
  }
  body:not(.admin) .app-modal-message__content {
    min-width: 0;
  }
  body:not(.admin) .app-modal-message__text, body:not(.admin) .app-modal-message__detail {
    margin: 0;
    overflow-wrap: anywhere;
  }
  body:not(.admin) .app-modal-message__text + .app-modal-message__text, body:not(.admin) .app-modal-message__text + .app-modal-message__detail, body:not(.admin) .app-modal-message__detail + .app-modal-message__detail {
    margin-top: var(--public-space-xs);
  }
  body:not(.admin) .app-modal-message__detail {
    padding-top: var(--public-space-xs);
    border-top: 1px solid var(--public-line);
  }
  body:not(.admin) .app-modal-message__label {
    color: var(--public-ink);
    font-weight: 700;
  }
  body:not(.admin) .app-modal-message__value {
    color: var(--public-muted);
  }
  body:not(.admin) .app-modal-message--success .app-modal-message__icon {
    color: var(--public-feedback-success);
    background: var(--public-feedback-success-soft);
  }
  body:not(.admin) .app-modal-message--warning .app-modal-message__icon {
    color: var(--public-feedback-warning);
    background: var(--public-feedback-warning-soft);
  }
  body:not(.admin) .app-modal-message--danger .app-modal-message__icon {
    color: var(--public-feedback-error);
    background: var(--public-feedback-error-soft);
  }
  .app-modal-prose [class*=no-section-] {
    padding-top: 0;
    padding-bottom: 0;
  }
  .app-modal-prose [class*=no-container-] {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .app-modal-prose .no-heading-lg {
    font-size: var(--heading-sm-fs);
    line-height: var(--heading-sm-lh);
  }
  .app-modal-prose .no-heading-sm {
    font-size: var(--heading-xs-fs);
    line-height: var(--heading-xs-lh);
  }
  .app-modal-prose .sec-long-text-2col__grid {
    grid-template-columns: 1fr;
  }
  body:not(.admin) .app-modal-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--public-space-2xs);
    padding: var(--public-space-sm) var(--public-space-lg);
    border-top: 1px solid var(--public-line);
  }
  body:not(.admin) .app-modal-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 10rem;
    min-height: var(--public-control-sm);
    padding-inline: var(--public-space-sm);
    border-radius: var(--public-radius-md);
    border: 1px solid var(--public-line-strong);
    background: var(--public-white);
    color: var(--public-ink);
    cursor: pointer;
    font-family: inherit;
    transition: background-color var(--tran-15), border-color var(--tran-15), color var(--tran-15);
  }
  body:not(.admin) .app-modal-btn:hover, body:not(.admin) .app-modal-btn:focus-visible {
    border-color: var(--public-blue);
    color: var(--public-blue);
    background: var(--public-blue-soft);
  }
  body:not(.admin) .app-modal-btn--primary {
    background: var(--public-ink);
    border-color: var(--public-ink);
    color: var(--public-white);
  }
  body:not(.admin) .app-modal-btn--primary:hover, body:not(.admin) .app-modal-btn--primary:focus-visible {
    background: var(--public-blue);
    border-color: var(--public-blue);
    color: var(--public-white);
  }
  body:not(.admin) .app-modal-btn--success {
    background: var(--public-feedback-success);
    border-color: var(--public-feedback-success);
    color: var(--public-white);
  }
  body:not(.admin) .app-modal-btn--warning {
    background: var(--public-feedback-warning);
    border-color: var(--public-feedback-warning);
    color: var(--public-white);
  }
  body:not(.admin) .app-modal-btn--danger {
    background: var(--public-feedback-error);
    border-color: var(--public-feedback-error);
    color: var(--public-white);
  }
  body:not(.admin) .app-modal-backdrop--monochrome {
    background: rgba(0, 0, 0, 0.52);
    backdrop-filter: none;
  }
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome {
    background: var(--public-white);
    border: 1px solid var(--public-line);
    border-radius: 0;
    box-shadow: 0 2.4rem 5rem rgba(0, 0, 0, 0.18);
  }
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-header,
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-body,
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-footer {
    background: var(--public-white);
  }
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-message__icon {
    color: var(--public-ink);
    background: var(--public-white);
    border: 1px solid var(--public-ink);
  }
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-close:hover,
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-close:focus-visible,
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-btn:hover,
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-btn:focus-visible {
    border-color: var(--public-ink);
    background: var(--public-surface);
    color: var(--public-ink);
  }
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-btn--primary,
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-btn--success,
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-btn--warning,
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-btn--danger,
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-btn--primary:hover,
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-btn--success:hover,
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-btn--warning:hover,
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-btn--danger:hover,
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-btn--primary:focus-visible,
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-btn--success:focus-visible,
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-btn--warning:focus-visible,
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome .app-modal-btn--danger:focus-visible {
    border-color: var(--public-ink);
    background: var(--public-ink);
    color: var(--public-white);
  }
  body:not(.admin) .app-modal-backdrop--monochrome .app-modal-box--monochrome :focus-visible {
    outline-color: var(--public-ink);
  }
  .site-popups {
    display: contents;
  }
  .site-popup-layer {
    position: fixed;
    inset: 0;
    z-index: 19000;
    pointer-events: none;
  }
  .site-popup-slot {
    pointer-events: none;
  }
  @keyframes site-popup-page-in {
    from {
      opacity: 0;
      transform: translateY(0.8rem);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  .site-popup {
    pointer-events: auto;
    position: relative;
    width: 32rem;
    max-width: calc(100vw - 3.2rem);
    background: var(--clr-base-white);
    border-radius: clamp(1.2rem, 0.2588996764vw + 1.1029126214rem, 1.6rem);
    box-shadow: 0 1.6rem 4rem rgba(0, 0, 0, 0.22), 0 0.4rem 1rem rgba(0, 0, 0, 0.1);
    overflow: hidden;
  }
  .site-popup--anim {
    opacity: 0;
    transition: opacity var(--popup-dur, 300ms) var(--popup-delay, 0ms) ease, transform var(--popup-dur, 300ms) var(--popup-delay, 0ms) ease;
  }
  .site-popup--anim-scale {
    transform: scale(0.92);
  }
  .site-popup--anim-slide-up {
    transform: translateY(2rem);
  }
  .site-popup--anim-slide-down {
    transform: translateY(-2rem);
  }
  .site-popup--anim-slide-left {
    transform: translateX(2rem);
  }
  .site-popup--anim-slide-right {
    transform: translateX(-2rem);
  }
  .site-popup.is-visible {
    opacity: 1;
    transform: none;
  }
  .site-popup.is-leaving {
    opacity: 0;
    transform: scale(0.98);
  }
  .site-popup__handle {
    display: none;
  }
  .site-popup__close {
    position: absolute;
    top: clamp(0.6rem, 0.2588996764vw + 0.5029126214rem, 1rem);
    right: clamp(0.6rem, 0.2588996764vw + 0.5029126214rem, 1rem);
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.6rem;
    height: 3.6rem;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.45);
    color: var(--clr-base-white);
    cursor: pointer;
    line-height: 1;
    font-size: var(--heading-xs-fs);
    transition: background var(--tran-3, 0.3s);
  }
  .site-popup__close:hover {
    background: rgba(0, 0, 0, 0.68);
  }
  .site-popup__picture, .site-popup__media {
    display: block;
    line-height: 0;
  }
  .site-popup__picture img, .site-popup__media img {
    display: block;
    width: 100%;
    height: auto;
  }
  .site-popup__media--link {
    cursor: pointer;
  }
  .site-popup__text {
    padding: clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
  }
  .site-popup__subtitle {
    margin: 0 0 clamp(0.4rem, 0.1294498382vw + 0.3514563107rem, 0.6rem);
    color: var(--clr-accent-500);
  }
  .site-popup__title {
    margin: 0 0 clamp(0.6rem, 0.1294498382vw + 0.5514563107rem, 0.8rem);
    color: var(--clr-primary-900);
  }
  .site-popup__desc {
    margin: 0 0 clamp(1.2rem, 0.2588996764vw + 1.1029126214rem, 1.6rem);
    color: var(--clr-text-base);
  }
  .site-popup__cta {
    margin-top: clamp(0.4rem, 0.2588996764vw + 0.3029126214rem, 0.8rem);
  }
  .site-popup__today {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: clamp(1rem, 0.1294498382vw + 0.9514563107rem, 1.2rem) clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    color: rgba(0, 0, 0, 0.55);
    cursor: pointer;
  }
  .site-popup--image-only {
    background: transparent;
    box-shadow: none;
    overflow: visible;
  }
  .site-popup--split .site-popup__split {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  @media (max-width: 640px) {
    .site-popup--split .site-popup__split {
      grid-template-columns: 1fr;
    }
  }
  .site-popup--split .site-popup__split-media {
    line-height: 0;
  }
  .site-popup--split .site-popup__split-media img {
    height: 100%;
    object-fit: cover;
  }
  .site-popup--split .site-popup__split-text {
    padding: clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
  }
  .site-popup--full-modal {
    width: min(56rem, 100vw - 3.2rem);
    max-height: 92vh;
    overflow: auto;
    overscroll-behavior: contain;
  }
  .site-popup--safe-area {
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
  .site-popup--campaign-card {
    width: min(56rem, 100vw - 3.2rem);
    border: 1px solid var(--public-line);
    border-radius: var(--public-radius-md);
    background: var(--public-white);
    box-shadow: 0 var(--public-space-sm) var(--public-space-3xl) color-mix(in srgb, var(--public-ink) 18%, transparent);
  }
  .site-popup--campaign-card > .site-popup__close {
    top: var(--public-space-xs);
    right: var(--public-space-xs);
    width: var(--public-control-sm);
    height: var(--public-control-sm);
    border-radius: var(--public-radius-pill);
    background: transparent;
    color: var(--public-muted);
    font-size: var(--public-button-font-size);
    transition: color var(--public-duration) var(--public-ease), background-color var(--public-duration) var(--public-ease);
  }
  .site-popup--campaign-card > .site-popup__close:hover, .site-popup--campaign-card > .site-popup__close:focus-visible {
    color: var(--public-ink);
    background: transparent;
  }
  .site-popup--campaign-card > .site-popup__close:focus-visible {
    outline: var(--public-focus-width) solid var(--public-focus);
    outline-offset: var(--public-focus-offset);
  }
  .site-popup--campaign-card > .site-popup__today {
    min-height: var(--public-control-sm);
    gap: var(--public-space-2xs);
    padding: 0 var(--public-space-2xl);
    border-color: var(--public-line);
    color: var(--public-muted);
  }
  .site-popup--campaign-card > .site-popup__today input {
    width: 1.5rem;
    height: 1.5rem;
    margin: 0;
    accent-color: var(--public-ink);
  }
  .site-popup__campaign-body {
    padding: var(--public-space-2xl) var(--public-space-2xl) var(--public-space-xl);
    text-align: left;
  }
  .site-popup__campaign-kicker {
    margin: 0;
    color: var(--public-blue);
    text-transform: uppercase;
  }
  .site-popup__campaign-title {
    max-width: 18ch;
    margin: var(--public-space-xs) 0 0;
    color: var(--public-ink);
  }
  .site-popup__campaign-description {
    max-width: 44rem;
    margin: var(--public-space-sm) 0 0;
    color: var(--public-muted);
  }
  .site-popup__campaign-description > * {
    margin: 0;
  }
  .site-popup__campaign-description > * + * {
    margin-top: var(--public-space-2xs);
  }
  .site-popup__campaign-body > .site-popup__cta.public-button {
    --public-button-min-height: var(--public-control-sm);
    --public-button-padding-inline: var(--public-space-sm);
    margin-top: var(--public-space-md);
    font-size: var(--public-button-font-size);
  }
  .site-popup-backdrop {
    position: fixed;
    inset: 0;
    z-index: 20000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
    background: rgba(0, 0, 0, 0.5);
    pointer-events: auto;
    opacity: 0;
    transition: opacity var(--popup-dur, 300ms) ease;
  }
  .site-popup-backdrop.is-visible {
    opacity: 1;
  }
  .site-popup-backdrop--campaign {
    z-index: 19000;
    box-sizing: border-box;
    padding: max(clamp(1.2rem, 0.7766990291vw + 0.9087378641rem, 2.4rem), env(safe-area-inset-top, 0)) max(clamp(1.2rem, 0.7766990291vw + 0.9087378641rem, 2.4rem), env(safe-area-inset-right, 0)) max(clamp(1.2rem, 0.7766990291vw + 0.9087378641rem, 2.4rem), env(safe-area-inset-bottom, 0)) max(clamp(1.2rem, 0.7766990291vw + 0.9087378641rem, 2.4rem), env(safe-area-inset-left, 0));
    background: color-mix(in srgb, var(--public-ink) 56%, transparent);
    overscroll-behavior: contain;
    overflow: auto;
  }
  body.popup-modal-open {
    overflow: hidden;
  }
  body.popup-campaign-open {
    overflow: hidden;
  }
  .site-popup-slider.site-popup {
    width: min(40rem, 100vw - 4.8rem, max(18rem, 58.44vh - 5.2rem));
    width: min(40rem, 100vw - 4.8rem, max(18rem, 58.44dvh - 5.2rem));
    max-width: 40rem;
    max-height: calc(100vh - 4.8rem);
    max-height: calc(100dvh - 4.8rem);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--clr-primary-400) 52%, transparent);
    border-radius: clamp(1.2rem, 0.2588996764vw + 1.1029126214rem, 1.6rem);
    background: var(--clr-gray-50);
    box-shadow: 0 2.4rem 7rem color-mix(in srgb, var(--clr-primary-950) 32%, transparent);
  }
  .site-popup-slider__track {
    position: relative;
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    touch-action: pan-y;
    scrollbar-width: thin;
  }
  .site-popup-slider__slide {
    display: none;
    border-radius: 0;
    box-shadow: none;
  }
  .site-popup-slider__slide.is-active {
    display: block;
    animation: site-popup-page-in 0.22s ease-out;
  }
  .site-popup-slider__controls {
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
  }
  .site-popup-slider__nav {
    position: absolute;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.6rem;
    height: 3.6rem;
    margin-top: -1.8rem;
    border: 0;
    border-radius: 50%;
    background: color-mix(in srgb, var(--clr-base-white) 88%, transparent);
    box-shadow: 0 0.4rem 1.4rem color-mix(in srgb, var(--clr-primary-950) 16%, transparent);
    color: var(--clr-text-base);
    cursor: pointer;
    font-size: var(--heading-xs-fs);
    line-height: 1;
    pointer-events: auto;
  }
  .site-popup-slider__nav:hover, .site-popup-slider__nav:focus-visible {
    background: var(--clr-base-white);
  }
  .site-popup-slider__nav:disabled {
    cursor: default;
    opacity: 0;
    pointer-events: none;
  }
  .site-popup-slider__nav--prev {
    left: var(--spacing-sm);
  }
  .site-popup-slider__nav--next {
    right: var(--spacing-sm);
  }
  .site-popup-slider__status {
    position: absolute;
    top: var(--spacing-sm);
    left: var(--spacing-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 4.8rem;
    min-height: 3.2rem;
    padding-inline: var(--spacing-sm);
    border: 1px solid color-mix(in srgb, var(--clr-primary-400) 52%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--clr-base-white) 88%, transparent);
    color: var(--clr-text-sub);
    text-align: center;
    pointer-events: none;
  }
  .site-popup-slider__status[hidden] {
    display: none;
  }
  .site-popup-slider__close-all {
    position: absolute;
    top: var(--spacing-sm);
    right: var(--spacing-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.6rem;
    height: 3.6rem;
    border: 0;
    border-radius: 50%;
    background: color-mix(in srgb, var(--clr-base-white) 92%, transparent);
    box-shadow: 0 0.4rem 1.4rem color-mix(in srgb, var(--clr-primary-950) 16%, transparent);
    color: var(--clr-text-base);
    cursor: pointer;
    font-size: var(--heading-xs-fs);
    line-height: 1;
    pointer-events: auto;
  }
  .site-popup-slider__close-all:hover, .site-popup-slider__close-all:focus-visible {
    background: var(--clr-base-white);
  }
  .site-popup-slider--campaign.site-popup {
    width: min(56rem, 100vw - 3.2rem);
    max-width: 56rem;
    max-height: calc(100dvh - 3.2rem);
    border: 1px solid var(--public-line);
    border-radius: var(--public-radius-md);
    background: var(--public-white);
    box-shadow: 0 var(--public-space-sm) var(--public-space-3xl) color-mix(in srgb, var(--public-ink) 18%, transparent);
  }
  .site-popup-slider--campaign .site-popup-slider__track {
    overflow: hidden;
    scrollbar-width: none;
  }
  .site-popup-slider--campaign .site-popup-slider__slide.site-popup--campaign-card {
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .site-popup-slider--campaign .site-popup-slider__controls {
    position: static;
    display: flex;
    align-items: center;
    min-height: var(--public-control-sm);
    gap: calc(var(--public-space-2xs) * 0.5);
    padding: 0 var(--public-space-xs) 0 var(--public-space-2xl);
    border-top: 1px solid var(--public-line);
    pointer-events: auto;
  }
  .site-popup-slider--campaign .site-popup-slider__hide {
    flex: 1 1 auto;
    min-width: 0;
    min-height: var(--public-control-sm);
    margin-right: auto;
    padding: 0;
    border: 0;
    color: var(--public-muted);
  }
  .site-popup-slider--campaign .site-popup-slider__hide input {
    flex: 0 0 auto;
    width: 1.5rem;
    height: 1.5rem;
    margin: 0;
    accent-color: var(--public-ink);
  }
  .site-popup-slider--campaign .site-popup-slider__hide span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .site-popup-slider--campaign .site-popup-slider__nav, .site-popup-slider--campaign .site-popup-slider__close-all {
    width: var(--public-control-sm);
    height: var(--public-control-sm);
    border-radius: var(--public-radius-pill);
    background: transparent;
    box-shadow: none;
    color: var(--public-muted);
    font-size: var(--public-button-font-size);
    transition: color var(--public-duration) var(--public-ease), background-color var(--public-duration) var(--public-ease);
  }
  .site-popup-slider--campaign .site-popup-slider__nav:hover, .site-popup-slider--campaign .site-popup-slider__nav:focus-visible, .site-popup-slider--campaign .site-popup-slider__close-all:hover, .site-popup-slider--campaign .site-popup-slider__close-all:focus-visible {
    color: var(--public-ink);
    background: transparent;
  }
  .site-popup-slider--campaign .site-popup-slider__nav:focus-visible, .site-popup-slider--campaign .site-popup-slider__close-all:focus-visible {
    outline: var(--public-focus-width) solid var(--public-focus);
    outline-offset: var(--public-focus-offset);
  }
  .site-popup-slider--campaign .site-popup-slider__nav {
    position: static;
    flex: 0 0 auto;
    margin: 0;
  }
  .site-popup-slider--campaign .site-popup-slider__status {
    position: static;
    min-width: 4.2rem;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--public-muted);
  }
  .site-popup-slider--campaign .site-popup-slider__close-all {
    top: var(--public-space-xs);
    right: var(--public-space-xs);
  }
  @media (max-width: 767px) {
    .site-popup-backdrop--campaign {
      padding: max(1.2rem, env(safe-area-inset-top, 0)) max(1.2rem, env(safe-area-inset-right, 0)) max(1.2rem, env(safe-area-inset-bottom, 0)) max(1.2rem, env(safe-area-inset-left, 0));
    }
    .site-popup-slider.site-popup {
      width: min(100vw - 2.4rem, max(18rem, 58.44vh - 4.8rem));
      width: min(100vw - 2.4rem, max(18rem, 58.44dvh - 4.8rem));
      max-height: calc(100vh - 2.4rem);
      max-height: calc(100dvh - 2.4rem);
    }
    .site-popup-slider--campaign.site-popup {
      width: calc(100vw - 2.4rem);
      max-width: 56rem;
      max-height: calc(100dvh - 2.4rem);
    }
    .site-popup--campaign-card {
      width: calc(100vw - 3.2rem);
    }
    .site-popup--campaign-card .site-popup__campaign-body {
      padding: var(--public-space-xl) var(--public-space-lg) var(--public-space-lg);
    }
    .site-popup--campaign-card > .site-popup__today {
      padding-inline: var(--public-space-lg);
    }
    .site-popup--campaign-card > .site-popup__close {
      top: var(--public-space-2xs);
      right: var(--public-space-2xs);
    }
    .site-popup-slider__nav--prev {
      left: var(--spacing-xs);
    }
    .site-popup-slider__nav--next {
      right: var(--spacing-xs);
    }
    .site-popup-slider__status {
      top: var(--spacing-xs);
      left: var(--spacing-xs);
    }
    .site-popup-slider__close-all {
      top: var(--spacing-xs);
      right: var(--spacing-xs);
    }
    .site-popup-slider--campaign .site-popup-slider__controls {
      padding-left: var(--public-space-lg);
    }
    .site-popup-slider--campaign .site-popup-slider__nav,
    .site-popup-slider--campaign .site-popup-slider__status {
      position: static;
    }
    .site-popup-slider--campaign .site-popup-slider__close-all {
      top: var(--public-space-2xs);
      right: var(--public-space-2xs);
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .site-popup--anim,
    .site-popup-backdrop {
      transition: none !important;
    }
  }
  .join-privacy-consent {
    color: var(--clr-base-black);
  }
  .join-privacy-consent__intro {
    color: var(--clr-text-secondary);
  }
  .join-privacy-consent__list {
    list-style: none;
    padding: 0;
    margin: var(--spacing-lg) 0 0;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
  }
  .join-privacy-consent__item {
    padding: var(--spacing-lg);
    border: 1px solid var(--clr-gray-200);
    border-radius: var(--radius-md);
    background: var(--clr-bg-section);
  }
  .join-privacy-consent__item-body {
    color: var(--clr-text-secondary);
  }
  .join-privacy-consent__footer {
    color: var(--clr-text-secondary);
  }
  .password-input__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .password-input__icon > span {
    display: inline-flex;
  }
  .password-input__icon > span[hidden] {
    display: none;
  }
  .lang-switcher {
    position: relative;
    align-self: center;
  }
  .lang-switcher__btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    height: 3.2rem;
    padding: 0 1.2rem;
    color: #fff;
    border-radius: 0.6rem;
    border: 1.5px solid rgba(255, 255, 255, 0.25);
    transition: background-color 0.2s ease, border-color 0.2s ease;
  }
  .lang-switcher__btn:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.5);
  }
  .lang-switcher__btn i {
    font-size: 0.9rem;
    transition: transform 0.2s ease;
  }
  .lang-switcher__current {
    font-size: var(--body-xs-fs);
    font-weight: 700;
    letter-spacing: 0.06em;
  }
  .lang-switcher__dropdown {
    position: absolute;
    top: calc(100% + 0.8rem);
    right: 0;
    min-width: 16rem;
    background: #fff;
    border: 1px solid var(--clr-ui-border);
    border-radius: 1rem;
    padding: 0.6rem;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-0.6rem);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
    z-index: 300;
  }
  .lang-switcher__dropdown li form {
    display: contents;
  }
  .lang-switcher__item {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    width: 100%;
    padding: 0.8rem 1.2rem;
    border-radius: 0.6rem;
    color: var(--clr-text-sub);
    font-size: var(--body-sm-fs);
    font-weight: 500;
    text-align: left;
    transition: background-color 0.15s ease, color 0.15s ease;
  }
  .lang-switcher__item:hover {
    background-color: var(--clr-bg-section);
    color: var(--clr-text-base);
  }
  .lang-switcher__item.is-active {
    background-color: var(--clr-primary-50);
    color: var(--clr-primary-700);
    font-weight: 700;
  }
  .lang-switcher.is-open .lang-switcher__btn {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.5);
  }
  .lang-switcher.is-open .lang-switcher__btn i {
    transform: rotate(180deg);
  }
  .lang-switcher.is-open .lang-switcher__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  @media (max-width: 768px) {
    .lang-switcher {
      display: none;
    }
  }
  /* 다크 네이비 드로어 (2026-06-29 시안 — 푸터와 동일 브랜드 톤).
   * 배경 = var(--clr-primary-900) 딥 인디고 남색 · 글자 = 화이트 · 포인트 = 골드(accent-300).
   * 대메뉴 타이포 위계(크기/굵기)는 마크업의 .no-display-xs + .no-manrope 유틸이 부여(절대 규칙 #17).
   * 본 파일은 레이아웃(flex·grid·transition)과 다크 배경용 색상만 담당. */
  .site-drawer {
    position: fixed;
    inset: 0;
    z-index: calc(var(--header-z-index) + 10);
    width: 100%;
    height: 100svh;
    background: var(--clr-primary-900);
    color: var(--clr-base-white);
    overflow-y: auto;
    overscroll-behavior: contain;
    transform: translateY(-100%);
    transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
  }
  .site-drawer[data-state=open] {
    transform: translateY(0);
    pointer-events: auto;
  }
  .site-drawer__inner {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 0 2rem 2.4rem;
  }
  .site-drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 6rem;
    flex-shrink: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    margin-bottom: 0.8rem;
  }
  .site-drawer__logo {
    display: inline-flex;
    align-items: center;
    height: 3.2rem;
  }
  .site-drawer__logo img {
    display: block;
    height: 100%;
    width: auto;
    object-fit: contain;
  }
  .site-drawer__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 0.6rem;
    color: var(--clr-base-white);
    transition: background-color 0.18s ease, color 0.18s ease;
  }
  .site-drawer__close i {
    font-size: 1.8rem;
  }
  .site-drawer__close:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--clr-accent-300);
  }
  .site-drawer__nav {
    list-style: none;
    flex: 1;
  }
  .site-drawer__nav-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }
  .site-drawer__nav-item.is-active > .site-drawer__nav-row > .site-drawer__nav-label {
    color: var(--clr-accent-300);
  }
  .site-drawer__nav-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .site-drawer__nav-label {
    flex: 1;
    display: block;
    padding: 1.4rem 0;
    color: var(--clr-base-white);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    transition: color 0.18s;
  }
  .site-drawer__nav-label:hover {
    color: var(--clr-accent-300);
  }
  .site-drawer__nav-label:focus-visible {
    outline: 2px solid var(--clr-accent-300);
    outline-offset: -2px;
    border-radius: 0.2rem;
  }
  .site-drawer__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 0.4rem;
    color: rgba(255, 255, 255, 0.7);
    transition: background-color 0.18s ease, color 0.18s ease;
    flex-shrink: 0;
  }
  .site-drawer__toggle i {
    font-size: 1.4rem;
    transition: transform 0.22s ease;
  }
  .site-drawer__toggle:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--clr-accent-300);
  }
  .site-drawer__sub {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.24s ease;
    overflow: hidden;
  }
  .site-drawer__sub > .site-drawer__sub-list {
    overflow: hidden;
    min-height: 0;
  }
  .site-drawer__nav-item.is-expanded > .site-drawer__nav-row > .site-drawer__toggle {
    color: var(--clr-accent-300);
  }
  .site-drawer__nav-item.is-expanded > .site-drawer__nav-row > .site-drawer__toggle i {
    transform: rotate(180deg);
  }
  .site-drawer__nav-item.is-expanded > .site-drawer__sub {
    grid-template-rows: 1fr;
  }
  .site-drawer__nav-item.is-expanded > .site-drawer__sub > .site-drawer__sub-list {
    padding: 0.4rem 0 1.2rem;
  }
  .site-drawer__sub-list {
    padding: 0;
  }
  .site-drawer__sub-link {
    display: block;
    padding: 0.6rem 0 0.6rem 1.4rem;
    color: rgba(255, 255, 255, 0.62);
    text-decoration: none;
    border-left: 2px solid rgba(255, 255, 255, 0.16);
    transition: color 0.18s, border-color 0.18s;
  }
  .site-drawer__sub-link:hover {
    color: var(--clr-accent-300);
    border-left-color: rgba(255, 255, 255, 0.45);
  }
  .site-drawer__sub-link.is-current {
    color: var(--clr-accent-300);
    border-left-color: var(--clr-accent-300);
    font-weight: 700;
  }
  .site-drawer__nav-item--cta {
    border-bottom: 0;
    margin-top: 1.6rem;
  }
  .site-drawer__cta.ui-cta {
    display: flex;
    width: 100%;
    justify-content: space-between;
  }
  .site-drawer__footer {
    margin-top: 1.6rem;
    padding-top: 1.6rem;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    flex-shrink: 0;
  }
  .site-drawer__lang {
    display: flex;
    gap: 0.8rem;
    flex-wrap: wrap;
  }
  .site-drawer__lang form {
    display: contents;
  }
  .site-drawer__lang-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.8rem;
    padding: 0.6rem 1.2rem;
    border-radius: 2rem;
    border: 1.5px solid rgba(255, 255, 255, 0.3);
    font-size: var(--body-sm-fs);
    font-weight: 600;
    letter-spacing: 0.05em;
    color: rgba(255, 255, 255, 0.8);
    transition: border-color 0.18s ease, color 0.18s ease, background-color 0.18s ease;
  }
  .site-drawer__lang-btn:hover {
    border-color: var(--clr-accent-300);
    color: var(--clr-accent-300);
  }
  .site-drawer__lang-btn.is-active {
    border-color: var(--clr-accent-300);
    color: var(--clr-primary-900);
    background-color: var(--clr-accent-300);
    font-weight: 700;
  }
  .is-drawer-open {
    overflow: hidden;
  }
  .site-search {
    position: fixed;
    inset: 0;
    z-index: calc(var(--public-z-header) - 1);
    pointer-events: none;
    opacity: 0;
    transition: opacity var(--dur-base, 240ms) var(--ease-out-quart, ease);
  }
  .site-search[data-state=open] {
    pointer-events: auto;
    opacity: 1;
  }
  .site-search__backdrop {
    position: absolute;
    inset: 0;
    background: color-mix(in srgb, var(--public-navy-deep) 74%, transparent);
  }
  .site-search__panel {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: var(--public-header-height) var(--public-shell-gutter);
  }
  .site-search[data-mode=inline] .site-search__panel {
    display: none;
  }
  .site-search__panel-inner {
    position: relative;
    width: min(64rem, 100vw - 4rem);
    margin-inline: auto;
  }
  html.is-search-open {
    overflow: hidden;
  }
  html.is-search-open .public-search-form[data-search-active=true] {
    z-index: calc(var(--public-z-header) + 1);
  }
  html.is-search-open .public-home-hero__content:has(.public-search-form[data-search-active=true]) {
    opacity: 1;
    transform: none;
    transition-property: none;
  }
  @media (max-width: 767px) {
    .site-search__panel {
      padding-inline: 2rem;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .site-search {
      transition: none;
    }
  }
  @media (prefers-reduced-transparency: reduce) {
    .site-search__backdrop {
      background: color-mix(in srgb, var(--public-navy-deep) 94%, transparent);
    }
  }
  /* Site-specific components */
  /* ===================================================
     Badge / Tag component
     Usage: <span class="ui-badge ui-badge--research">Research</span>
     =================================================== */
  .ui-badge {
    display: inline-flex;
    align-self: baseline;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 1rem 0.5rem;
    border-radius: var(--radius-round);
    font-size: var(--body-xs-fs);
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    background: var(--clr-primary-50);
    color: var(--clr-primary-900);
    /* --- filled variants --- */
  }
  .ui-badge--primary {
    background: var(--clr-primary-900);
    color: #fff;
  }
  .ui-badge--blue {
    background: var(--clr-primary-400);
    color: #fff;
  }
  .ui-badge--research {
    background: #e8f4fb;
    color: #004a82;
  }
  .ui-badge--announcement {
    background: #fef3c7;
    color: #92400e;
  }
  .ui-badge--partnership {
    background: #ede9fe;
    color: #5b21b6;
  }
  .ui-badge--press {
    background: #fce7f3;
    color: #9d174d;
  }
  .ui-badge--award {
    background: #fef9c3;
    color: #713f12;
  }
  .ui-badge--event {
    background: #dcfce7;
    color: #14532d;
  }
  .ui-badge {
    /* --- outline variant --- */
  }
  .ui-badge--outline {
    background: transparent;
    border: 1px solid var(--clr-primary-400);
    color: var(--clr-primary-900);
  }
  .ui-badge--outline-white {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.5);
    color: #fff;
  }
  .ui-badge {
    /* --- size modifier --- */
  }
  .ui-badge--sm {
    font-size: var(--body-xs-fs);
    padding: 0.2rem 0.8rem;
  }
  .ui-badge--lg {
    font-size: var(--body-xs-fs);
    padding: 0.5rem 1.4rem;
  }
  .ui-badge {
    /* --- priority badges (Usage Procedures table) --- */
  }
  .ui-badge--high {
    background: #004a82;
    color: #fff;
  }
  .ui-badge--standard {
    background: #e5e7eb;
    color: #374151;
  }
  .ui-badge--case {
    background: #f3f4f6;
    color: #6b7280;
    border: 1px solid #d1d5db;
  }
  /* ===================================================
     Tabs component
     Usage: <ul class="ui-tabs"><li class="ui-tabs__item is-active">…</li></ul>
     =================================================== */
  .ui-tabs {
    display: flex;
    align-items: center;
    gap: 0;
    border-bottom: 1px solid var(--clr-gray-200);
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .ui-tabs::-webkit-scrollbar {
    display: none;
  }
  .ui-tabs__item {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 1.2rem 1.8rem;
    font-size: var(--body-sm-fs);
    font-weight: 500;
    color: var(--clr-gray-500);
    white-space: nowrap;
    cursor: pointer;
    border: 0;
    background: transparent;
    transition: color 0.2s ease;
    text-decoration: none;
  }
  .ui-tabs__item::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--clr-primary-900);
    transform: scaleX(0);
    transition: transform 0.2s ease;
  }
  .ui-tabs__item:hover {
    color: var(--clr-primary-900);
  }
  .ui-tabs__item.is-active {
    color: var(--clr-primary-900);
    font-weight: 600;
  }
  .ui-tabs__item.is-active::after {
    transform: scaleX(1);
  }
  @media (max-width: 544px) {
    .ui-tabs__item {
      padding: 1rem 1.2rem;
      font-size: var(--body-xs-fs);
    }
  }
  .ui-tabs {
    /* pill variant (News category tabs) */
  }
  .ui-tabs--pill {
    gap: 0.8rem;
    border-bottom: 0;
    flex-wrap: wrap;
  }
  .ui-tabs--pill .ui-tabs__item {
    padding: 0.7rem 1.6rem;
    border-radius: var(--radius-round);
    border: 1px solid var(--clr-gray-300);
    color: var(--clr-gray-600);
  }
  .ui-tabs--pill .ui-tabs__item::after {
    display: none;
  }
  .ui-tabs--pill .ui-tabs__item:hover {
    border-color: var(--clr-primary-900);
    color: var(--clr-primary-900);
  }
  .ui-tabs--pill .ui-tabs__item.is-active {
    background: var(--clr-primary-900);
    border-color: var(--clr-primary-900);
    color: #fff;
  }
  .ui-tabs {
    /* view-toggle variant (List / Calendar) */
  }
  .ui-tabs--toggle {
    gap: 0.4rem;
    border-bottom: 0;
  }
  .ui-tabs--toggle .ui-tabs__item {
    padding: 0.8rem 1.4rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--clr-gray-300);
    color: var(--clr-gray-600);
  }
  .ui-tabs--toggle .ui-tabs__item::after {
    display: none;
  }
  .ui-tabs--toggle .ui-tabs__item.is-active {
    background: var(--clr-primary-900);
    border-color: var(--clr-primary-900);
    color: #fff;
  }
  .ui-tabs {
    /* ===================================================
       Swiper 모드 (UiTabsSwiper / data-tabs-swiper)
       — 탭이 넘칠 때 드래그·스와이프 + 좌우 화살표로 스크롤.
       화살표는 `.ui-tabs-rail` 이 양옆 별도 칸에 배치(항목과 겹치지 않음).
       =================================================== */
  }
  .ui-tabs.swiper {
    overflow: hidden; /* overflow-x: auto 를 swiper 모드에서 대체 */
  }
  .ui-tabs .swiper-wrapper {
    display: flex;
    align-items: center;
  }
  .ui-tabs {
    /* 슬라이드 = 평면 `<a class="ui-tabs__item">` 또는 `<li>` 래퍼 둘 다 지원 */
  }
  .ui-tabs .swiper-slide {
    width: auto; /* slidesPerView: 'auto' */
    flex-shrink: 0;
    list-style: none;
  }
  /* ===================================================
     Tabs rail — swiper 모드의 바깥 셸 (UiTabsSwiper 가 런타임 생성)
     레이아웃: 가운데 `.ui-tabs`(스크롤 viewport) 풀폭 + 화살표는 absolute 로
     컨테이너 거터(gutter) 영역으로 빼냄 → 탭 항목과 물리적으로 겹치지 않음.
     rail 은 컨테이너(no-container-*, gutter 2rem) 안에 있고, 화살표만 음수
     offset 으로 거터(=컨테이너 가장자리 바깥 여백)에 떠 있는다.
     =================================================== */
  .ui-tabs-rail {
    position: relative;
    /* 가운데 swiper viewport — rail 풀폭 차지, 잘림 허용(내부 swiper 가 스크롤) */
  }
  .ui-tabs-rail .ui-tabs.swiper {
    width: 100%;
    min-width: 0;
  }
  .ui-tabs-rail {
    /* prev / next 화살표 버튼 (rail BEM 자식 — 컴포넌트 정본, 규칙 #17 토큰 참조 허용)
       absolute 로 탭 스트립 좌/우 끝 바깥(거터)에 배치. top/bottom 0 + flex center
       로 탭 글자와 수직 중앙 정렬(탭 border-bottom 1px 까지 box 높이 공유). */
  }
  .ui-tabs-rail__arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--gutter); /* 거터 폭(2rem=20px)과 동일 — viewport 밖 클리핑 방지 */
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    transition: opacity 0.2s ease;
  }
  .ui-tabs-rail__arrow::after {
    content: "";
    display: block;
    width: 0.7rem;
    height: 0.7rem;
    border-right: 2px solid var(--clr-gray-700);
    border-bottom: 2px solid var(--clr-gray-700);
  }
  .ui-tabs-rail__arrow:hover::after {
    border-color: var(--clr-primary-900);
  }
  .ui-tabs-rail__arrow {
    /* 거터로 빼냄: 탭 스트립 좌/우 끝 바깥(=거터 영역)에 폭 == gutter 로 flush 배치.
       arrow 폭(var(--gutter)) == 컨테이너 거터 폭이라 viewport 밖 클리핑 0. */
  }
  .ui-tabs-rail__arrow--prev {
    right: 100%;
  }
  .ui-tabs-rail__arrow--prev::after {
    transform: rotate(135deg) translate(2px, -2px);
  }
  .ui-tabs-rail__arrow--next {
    left: 100%;
  }
  .ui-tabs-rail__arrow--next::after {
    transform: rotate(-45deg) translate(-2px, 2px);
  }
  .ui-tabs-rail__arrow {
    /* watchOverflow — 넘침 없으면(데스크톱 등) 화살표 숨김 */
  }
  .ui-tabs-rail__arrow.swiper-button-disabled {
    opacity: 0;
    pointer-events: none;
  }
  /* ===================================================
     Section layout helpers
     Provides consistent section padding, backgrounds,
     page-header (centered hero layout), and feature grids.
     =================================================== */
  /* ── Page-level header (centered hero — two-column)
   *  컴포넌트 SCSS 는 utility 가 표현 못 하는 layout/color 만 정의:
   *  text-align, max-width, margin-inline, justify-content, color.
   *  타이포 위계(size/weight/family/line-height) 와 spacing(padding/margin)
   *  은 모두 HTML 유틸 클래스(`no-display-*`, `no-section-*`, `no-mg-*-b`) 가
   *  담당 — Rule #17 컴포넌트 예외 안에서 위계·spacing 직접지정 0건.
   *  사용: components.comm.page-header partial. */
  .ui-page-header {
    text-align: center;
    background: var(--clr-background-primary);
  }
  .ui-page-header__breadcrumb {
    justify-content: center;
    color: var(--clr-primary-500);
  }
  .ui-page-header__breadcrumb a {
    color: inherit;
  }
  .ui-page-header__breadcrumb a:hover, .ui-page-header__breadcrumb a:focus-visible {
    color: var(--clr-primary-700);
  }
  .ui-page-header__breadcrumb span:not(.ui-breadcrumb__sep) {
    color: var(--clr-text-secondary);
  }
  .ui-page-header__title {
    color: var(--clr-text-primary);
  }
  .ui-page-header__desc {
    max-width: 68ch;
    margin-inline: auto;
    color: var(--clr-text-secondary);
  }
  .ui-page-header {
    /* split variant — 좌: 텍스트, 우: 이미지 (스타일) */
  }
  .ui-page-header--split {
    text-align: left;
  }
  .ui-page-header--split .ui-page-header__breadcrumb {
    justify-content: flex-start;
  }
  .ui-page-header--split .ui-page-header__desc {
    margin-inline: 0;
    max-width: 60ch;
  }
  .ui-page-header__grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: var(--spacing-4xl);
    align-items: center;
  }
  @media (max-width: 768px) {
    .ui-page-header__grid {
      grid-template-columns: 1fr;
      gap: var(--spacing-2xl);
    }
  }
  .ui-page-header__copy { /* 타이포는 유틸 클래스 담당 */ }
  .ui-page-header__figure {
    margin: 0;
  }
  @media (max-width: 768px) {
    .ui-page-header__figure {
      order: -1;
    }
  }
  .ui-page-header__img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: var(--radius-md);
    display: block;
  }
  .ui-page-header__caption {
    display: block;
    color: var(--clr-text-tertiary);
  }
  .ui-page-header--insight {
    position: relative;
    overflow: hidden;
    padding-top: calc(var(--header-height) + var(--section-xl));
    text-align: center;
    background-color: var(--clr-primary-900);
    background-image: linear-gradient(180deg, rgba(22, 22, 47, 0.78), rgba(22, 22, 47, 0.84)), radial-gradient(circle at 50% 20%, rgba(197, 145, 65, 0.32), transparent 34%), url("/assets/images/main/clients-partners-bg.jpg");
    background-size: cover;
    background-position: center;
  }
  .ui-page-header--insight::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px), linear-gradient(0deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
    background-size: var(--spacing-3xl) var(--spacing-3xl);
    mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.65) 26%, rgba(0, 0, 0, 0.45) 100%);
  }
  .ui-page-header--insight::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(22, 22, 47, 0.18), rgba(22, 22, 47, 0.74));
  }
  .ui-page-header--insight > .no-container-xl {
    position: relative;
    z-index: 1;
  }
  .ui-page-header--insight .ui-page-header__breadcrumb {
    justify-content: center;
    color: var(--clr-accent-300);
  }
  .ui-page-header--insight .ui-page-header__breadcrumb a {
    color: var(--clr-accent-300);
  }
  .ui-page-header--insight .ui-page-header__breadcrumb a:hover, .ui-page-header--insight .ui-page-header__breadcrumb a:focus-visible {
    color: var(--clr-accent-500);
  }
  .ui-page-header--insight .ui-page-header__breadcrumb span:not(.ui-breadcrumb__sep) {
    color: var(--clr-base-white);
  }
  .ui-page-header--insight .ui-page-header__breadcrumb .ui-breadcrumb__sep {
    background-color: var(--clr-accent-500);
    opacity: 0.9;
  }
  .ui-page-header--insight .ui-page-header__title {
    color: var(--clr-base-white);
  }
  .ui-page-header--insight .ui-page-header__desc {
    margin-inline: auto;
    max-width: 68ch;
    color: rgba(255, 255, 255, 0.86);
  }
  .ui-page-header--insight .ui-page-header__grid {
    display: block;
  }
  .ui-page-header--insight .ui-page-header__copy {
    max-width: 82rem;
    margin-inline: auto;
  }
  .ui-page-header--insight .ui-page-header__figure {
    display: none;
  }
  /* ── Generic section wrapper ── */
  .ui-section {
    padding: var(--section-lg) 0;
  }
  .ui-section--sm {
    padding: var(--section-md) 0;
  }
  .ui-section--lg {
    padding: var(--section-xl) 0;
  }
  .ui-section {
    /* background variants */
  }
  .ui-section--light {
    background: var(--clr-background-page);
  }
  .ui-section--navy {
    background: var(--clr-primary-900);
    color: #fff;
  }
  .ui-section--navy .ui-section__title,
  .ui-section--navy .ui-section__label {
    color: #fff;
  }
  .ui-section--navy .ui-section__desc {
    color: rgba(255, 255, 255, 0.75);
  }
  .ui-section--white {
    background: #fff;
  }
  .ui-section__label {
    display: block;
    font-size: var(--body-xs-fs);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--clr-primary-400);
    margin-bottom: clamp(1rem, 0.3883495146vw + 0.854368932rem, 1.6rem);
  }
  .ui-section__title {
    font-size: var(--heading-lg-fs);
    font-weight: 700;
    line-height: 1.25;
    color: var(--clr-gray-900);
    margin-bottom: clamp(1.2rem, 0.5177993528vw + 1.0058252427rem, 2rem);
  }
  .ui-section__desc {
    font-size: var(--body-lg-fs);
    line-height: 1.7;
    color: var(--clr-text-secondary);
    max-width: 68ch;
  }
  .ui-section {
    /* centered header variant */
  }
  .ui-section__head--center {
    text-align: center;
  }
  .ui-section__head--center .ui-section__desc {
    margin: 0 auto;
  }
  /* ── Feature grid (2-4 columns) ── */
  .ui-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
  }
  .ui-feature-grid--3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .ui-feature-grid--2 {
    grid-template-columns: repeat(2, 1fr);
  }
  @media (max-width: 1024px) {
    .ui-feature-grid {
      grid-template-columns: repeat(2, 1fr);
    }
    .ui-feature-grid--3 {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (max-width: 544px) {
    .ui-feature-grid {
      grid-template-columns: 1fr;
    }
    .ui-feature-grid--2 {
      grid-template-columns: 1fr;
    }
  }
  /* ── Feature card (icon / number + title + body) ── */
  .ui-feature-card {
    padding: clamp(2.4rem, 0.7766990291vw + 2.1087378641rem, 3.6rem) clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
    border-radius: var(--radius-md);
    background: #fff;
    border: 1px solid var(--clr-gray-200);
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  }
  .ui-feature-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px -16px rgba(15, 23, 42, 0.18);
    border-color: var(--clr-gray-300, var(--clr-gray-200));
  }
  .ui-feature-card__number {
    font-size: var(--heading-lg-fs);
    font-weight: 700;
    color: var(--clr-primary-400);
    line-height: 1;
    margin-bottom: clamp(1.2rem, 0.5177993528vw + 1.0058252427rem, 2rem);
    display: block;
  }
  .ui-feature-card__label {
    font-size: var(--body-xs-fs);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--clr-gray-400);
    margin-bottom: 0.6rem;
    display: block;
  }
  .ui-feature-card__title {
    font-size: var(--heading-sm-fs);
    font-weight: 600;
    color: var(--clr-gray-900);
    margin-bottom: clamp(1rem, 0.3883495146vw + 0.854368932rem, 1.6rem);
    line-height: 1.35;
  }
  .ui-feature-card__body {
    font-size: var(--body-sm-fs);
    line-height: 1.7;
    color: var(--clr-text-secondary);
  }
  .ui-feature-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: clamp(1.2rem, 0.5177993528vw + 1.0058252427rem, 2rem);
    font-size: var(--body-sm-fs);
    font-weight: 600;
    color: var(--clr-primary-400);
    text-decoration: none;
    transition: gap 0.2s ease;
  }
  .ui-feature-card__link:hover {
    gap: 0.8rem;
  }
  .ui-feature-card {
    /* navy filled variant */
  }
  .ui-feature-card--navy {
    background: var(--clr-primary-900);
    border-color: var(--clr-primary-900);
  }
  .ui-feature-card--navy:hover {
    border-color: var(--clr-primary-900);
    box-shadow: 0 14px 32px -16px rgba(15, 23, 42, 0.4);
  }
  .ui-feature-card--navy .ui-feature-card__number,
  .ui-feature-card--navy .ui-feature-card__title {
    color: #fff;
  }
  .ui-feature-card--navy .ui-feature-card__label,
  .ui-feature-card--navy .ui-feature-card__body {
    color: rgba(255, 255, 255, 0.65);
  }
  .ui-feature-card--navy .ui-feature-card__link {
    color: var(--clr-primary-400);
  }
  /* ── Divider ── */
  .ui-divider {
    width: 100%;
    height: 1px;
    background: var(--clr-gray-200);
    margin: var(--section-sm) 0;
  }
  .ui-divider--navy {
    background: rgba(255, 255, 255, 0.15);
  }
  /* section-head — 섹션 공통 헤더 (eyebrow + 2단 제목/카피)
   *
   * 구조: row1 = eyebrow(좌측 라벨) / row2 = [제목 | 카피] 2단.
   * eyebrow 가 별도 상단 행이라 우측 카피 상단이 제목(h2) 상단과 정렬된다.
   * 타이포 위계·spacing 은 HTML 유틸/토큰이 담당 — 본 SCSS 는 layout/color 만
   * (#17 컴포넌트 예외 범위: 위계·spacing 직접 지정 0건).
   */
  .section-head {
    display: grid;
  }
  .section-head__eyebrow {
    color: var(--eyebrow-color, var(--clr-accent-700));
    font-size: var(--overline-fs);
    font-weight: var(--overline-fw);
    line-height: var(--overline-lh);
    letter-spacing: var(--tracking-caps);
    text-transform: uppercase;
    /* 색상 prop(eyebrowColor) — 토큰 화이트리스트 → modifier 로만 (인라인 style 금지 #5).
     * 요소 자신에 --eyebrow-color 를 세팅 → on-dark 가 root 에 내린 값보다 우선. */
  }
  .section-head__eyebrow--accent-300 {
    --eyebrow-color: var(--clr-accent-300);
  }
  .section-head__eyebrow--accent-500 {
    --eyebrow-color: var(--clr-accent-500);
  }
  .section-head__eyebrow--accent-700 {
    --eyebrow-color: var(--clr-accent-700);
  }
  .section-head__eyebrow--primary {
    --eyebrow-color: var(--clr-primary-900);
  }
  .section-head__eyebrow--white {
    --eyebrow-color: var(--clr-base-white);
  }
  .section-head__eyebrow--muted {
    --eyebrow-color: var(--clr-text-sub);
  }
  .section-head__main {
    display: grid;
    /* 좌(제목) : 우(카피) 균등 2단. minmax(0,1fr) 로 콘텐츠 overflow 방지.
     * 우측 카피가 절반 폭을 확보 → 한글 어절 줄바꿈이 자연스럽고 중앙 빈 공간 제거. */
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--spacing-4xl);
    margin-top: var(--spacing-lg);
    align-items: start;
  }
  @media (max-width: 768px) {
    .section-head__main {
      grid-template-columns: 1fr;
    }
  }
  .section-head--align-end .section-head__main {
    align-items: end;
  }
  .section-head__copy {
    display: grid;
    color: var(--clr-text-sub);
    /* 마지막 줄 고아·짧은 꼬리 방지 (줄바꿈 다듬기, 타이포 위계와 무관) */
  }
  .section-head__copy p {
    text-wrap: pretty;
  }
  .section-head__copy {
    /* 본문 강조(bodyHighlight) — <strong> 으로 위계 부여 */
  }
  .section-head__copy strong {
    font-weight: 700;
    color: var(--clr-text-base);
  }
  .section-head__copy {
    /* CTA 는 래퍼 div(.no-pd-lg--t)로 상단 간격만 부여 — 좌측 정렬은 .ui-cta(inline-flex) 자연 정렬.
     * 카피 내부 간격은 gap 제거됨 → 각 요소가 유틸/마진으로 개별 제어(#17-B). */
  }
  .section-head {
    /* 제목 강조 박스 — 색/배경/간격만 (글꼴 위계는 제목 유틸 상속) */
  }
  .section-head__mark {
    background: var(--clr-primary-900);
    color: var(--clr-base-white);
    padding: 0 var(--spacing-xs);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
  }
  .section-head {
    /* 다크 배경 위 색 보정 */
  }
  .section-head--on-dark {
    /* eyebrow 기본색(다크). eyebrowColor prop 이 있으면 요소 레벨에서 덮어씀. */
    --eyebrow-color: var(--clr-accent-300);
  }
  .section-head--on-dark .section-head__title {
    color: var(--clr-base-white);
  }
  .section-head--on-dark .section-head__copy {
    color: rgba(255, 255, 255, 0.74);
  }
  .section-head--on-dark .section-head__copy strong {
    color: var(--clr-base-white);
  }
  .section-head--on-dark {
    /* 강조 박스: 다크 위에서는 크림 박스 + 네이비 글자로 반전 */
  }
  .section-head--on-dark .section-head__mark {
    background: var(--clr-bg-page);
    color: var(--clr-primary-900);
  }
  /* section-background — 섹션 배경 텍스처/이미지 오버레이 (공통 컴포넌트)
   *
   * 구조: <section> 직계 자식 <div class="section-background"> > <img>.
   * z-index:-1 로 "배경 위·콘텐츠 아래"에 깔려 본문 가독성은 그대로 유지.
   * mix-blend-mode 로 섹션 배경색과 합성하고, 강도는 opacity 로 조절.
   *
   * ── 호스트 요건 (필수) ──────────────────────────────
   * 부모 <section> 에 아래 둘이 반드시 있어야 정상 동작:
   *   position: relative;   // absolute inset:0 의 기준 컨테이너
   *   isolation: isolate;   // mix-blend 합성을 이 섹션 내부로 한정 (뒤 섹션과 안 섞이게)
   *
   * ── 섹션별 조정 ─────────────────────────────────────
   * 호스트에서 CSS 변수만 덮어쓰면 됨 (별도 SCSS 변형 만들지 말 것):
   *   --section-bg-opacity : 합성 강도 (기본 0.6)
   *   --section-bg-blend   : 합성 모드 (기본 overlay)
   */
  .section-background {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    mix-blend-mode: var(--section-bg-blend, overlay);
    opacity: var(--section-bg-opacity, 0.6);
  }
  .section-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  /* ===================================================
     Card components
     Variants: base / --person / --publication / --event
     =================================================== */
  /* ── Base card (News, Activities) ── */
  .ui-card {
    display: flex;
    flex-direction: column;
    border-radius: var(--radius-md);
    background: var(--clr-background-card);
    border: 1px solid var(--clr-gray-200);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
  }
  .ui-card:hover .ui-card__img {
    transform: scale(1.04);
  }
  .ui-card:hover .ui-card__title {
    color: var(--clr-primary-400);
  }
  .ui-card__img {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16/9;
    background: var(--clr-gray-100);
    flex-shrink: 0;
    transition: transform 0.4s ease;
  }
  .ui-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .ui-card__body {
    display: flex;
    flex-direction: column;
    gap: clamp(0.8rem, 0.2588996764vw + 0.7029126214rem, 1.2rem);
    padding: clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
    flex: 1;
  }
  .ui-card__meta {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    flex-wrap: wrap;
  }
  .ui-card__category {
    font-size: var(--body-xs-fs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--clr-primary-400);
  }
  .ui-card__date {
    font-size: var(--body-xs-fs);
    color: var(--clr-gray-400);
  }
  .ui-card__title {
    font-size: var(--heading-sm-fs);
    font-weight: 600;
    line-height: 1.4;
    color: var(--clr-gray-900);
    transition: color 0.25s ease;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 3;
  }
  .ui-card__excerpt {
    font-size: var(--body-sm-fs);
    line-height: 1.65;
    color: var(--clr-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 3;
  }
  .ui-card__author {
    font-size: var(--body-xs-fs);
    color: var(--clr-gray-400);
    margin-top: auto;
  }
  .ui-card {
    /* flat variant (상세 페이지 Latest news — 박스 없이 이미지 flush + 아래 텍스트) */
  }
  .ui-card--flat {
    border: none;
    border-radius: 0;
    background: transparent;
    overflow: visible;
  }
  .ui-card--flat .ui-card__img {
    border-radius: 0;
  }
  .ui-card--flat .ui-card__body {
    padding-inline: 0;
    padding-bottom: 0;
    padding-top: var(--spacing-md);
  }
  .ui-card {
    /* horizontal list-row variant (Events list, Activities list) */
  }
  .ui-card--row {
    flex-direction: row;
    align-items: flex-start;
    gap: clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
    border-radius: var(--radius-sm);
    padding: clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
    border: 1px solid var(--clr-gray-200);
    background: #fff;
  }
  .ui-card--row:hover .ui-card__img {
    transform: scale(1.04);
  }
  .ui-card--row:hover .ui-card__title {
    color: var(--clr-primary-400);
  }
  .ui-card--row .ui-card__img {
    aspect-ratio: auto;
    width: clamp(8rem, 2.5889967638vw + 7.0291262136rem, 12rem);
    height: clamp(8rem, 2.5889967638vw + 7.0291262136rem, 12rem);
    flex-shrink: 0;
    border-radius: var(--radius-sm);
  }
  .ui-card--row .ui-card__body {
    padding: 0;
    gap: clamp(0.6rem, 0.2588996764vw + 0.5029126214rem, 1rem);
  }
  /* ── Person card (People page — 2-col grid, 좌측 3:4 풀하이트 이미지) ── */
  .ui-card--person {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    border-radius: var(--radius-md);
    background: #fff;
    border: 1px solid var(--clr-gray-200);
    overflow: hidden;
    height: 100%;
    cursor: pointer;
    transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.12s ease;
  }
  .ui-card--person:hover {
    box-shadow: 0 6px 24px rgba(0, 74, 130, 0.12);
    border-color: var(--clr-primary-200, #b3d4ed);
  }
  .ui-card--person:active {
    transform: scale(0.985);
    box-shadow: 0 2px 8px rgba(0, 74, 130, 0.08);
  }
  .ui-card--person .ui-card__thumb {
    flex: 0 0 clamp(16rem, 2.5889967638vw + 15.0291262136rem, 20rem);
    align-self: stretch;
    overflow: hidden;
    background: var(--clr-gray-100);
  }
  .ui-card--person .ui-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .ui-card--person {
    /* 사진 없는 인물 — 이름 기반 색조 그라데이션 + 이니셜 텍스트 */
  }
  .ui-card--person .ui-card__thumb--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, hsl(calc(207deg + var(--ph-hue, 0deg)), 55%, 90%), hsl(calc(207deg + var(--ph-hue, 0deg)), 55%, 82%));
  }
  .ui-card--person .ui-card__thumb-initial {
    font-size: clamp(3.2rem, 0.7766990291vw + 2.9087378641rem, 4.4rem);
    font-weight: 700;
    line-height: 1;
    color: hsl(calc(207deg + var(--ph-hue, 0deg)), 45%, 32%);
    letter-spacing: -0.02em;
    user-select: none;
  }
  .ui-card--person .ui-card__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: clamp(2rem, 0.5177993528vw + 1.8058252427rem, 2.8rem);
  }
  .ui-card--person .ui-card__name {
    font-size: var(--heading-xs-fs);
    font-weight: 700;
    color: var(--clr-gray-900);
    line-height: 1.3;
  }
  .ui-card--person .ui-card__name button {
    all: unset;
    cursor: pointer;
    display: block;
  }
  .ui-card--person .ui-card__role {
    font-size: var(--body-sm-fs);
    font-weight: 700;
    color: var(--clr-primary-500, var(--clr-primary-400));
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-top: 0.5rem;
  }
  .ui-card--person .ui-card__affiliation {
    font-size: var(--body-xs-fs);
    color: var(--clr-text-secondary);
    line-height: 1.5;
    margin-top: 0.6rem;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 2;
  }
  .ui-card--person .ui-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    list-style: none;
    padding: 0;
    margin-top: 1rem;
  }
  .ui-card--person .ui-card__tag {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    border: 1px solid var(--clr-gray-300);
    background: var(--clr-gray-100);
    color: var(--clr-gray-700);
    font-size: var(--body-xs-fs);
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: border-color 0.2s, background 0.2s, color 0.2s;
  }
  .ui-card--person .ui-card__tag:hover {
    border-color: var(--clr-primary-400);
    color: var(--clr-primary-700, var(--clr-primary-900));
  }
  .ui-card--person .ui-card__tag--leader {
    border-color: var(--clr-primary-400);
    background: var(--clr-primary-50, #e6f2fa);
    color: var(--clr-primary-700, var(--clr-primary-900));
  }
  .ui-card--person .ui-card__tag-leader-mark {
    color: var(--clr-primary-400);
    font-size: 0.9em;
    line-height: 1;
  }
  .ui-card--person .ui-card__email {
    font-size: var(--body-xs-fs);
    color: var(--clr-primary-400);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 1rem;
  }
  .ui-card--person .ui-card__email:hover {
    text-decoration: underline;
  }
  .ui-card--person .ui-card__links {
    display: flex;
    gap: 0.8rem;
    margin-top: 1rem;
  }
  .ui-card--person .ui-card__links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 50%;
    border: 1px solid var(--clr-gray-300);
    color: var(--clr-gray-500);
    font-size: var(--body-sm-fs);
    transition: border-color 0.2s, color 0.2s;
  }
  .ui-card--person .ui-card__links a:hover {
    border-color: var(--clr-primary-400);
    color: var(--clr-primary-400);
  }
  @media (max-width: 544px) {
    .ui-card--person {
      flex-direction: column;
    }
    .ui-card--person .ui-card__thumb {
      flex: 0 0 auto;
      width: 100%;
      height: auto;
      aspect-ratio: 4/3;
      max-height: 28rem;
    }
  }
  /* ── Publication card (Publications page — list) ── */
  .ui-card--publication {
    padding: clamp(2rem, 0.5177993528vw + 1.8058252427rem, 2.8rem) clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
    border: 1px solid var(--clr-gray-200);
    border-radius: var(--radius-md);
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: clamp(0.8rem, 0.3883495146vw + 0.654368932rem, 1.4rem);
    transition: border-color var(--dur-base) var(--ease-out-quart), box-shadow var(--dur-base) var(--ease-out-quart);
  }
  .ui-card--publication:hover {
    border-color: var(--clr-primary-400);
    box-shadow: 0 4px 16px rgba(15, 76, 129, 0.06);
  }
  .ui-card--publication .ui-card__pub-meta {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    flex-wrap: wrap;
  }
  .ui-card--publication .ui-card__pub-journal {
    font-size: var(--body-xs-fs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--clr-primary-400);
  }
  .ui-card--publication .ui-card__pub-date {
    font-size: var(--body-xs-fs);
    color: var(--clr-gray-400);
  }
  .ui-card--publication .ui-card__pub-title {
    font-size: var(--heading-xs-fs);
    font-weight: 600;
    line-height: 1.45;
    color: var(--clr-gray-900);
    text-decoration: none;
  }
  .ui-card--publication .ui-card__pub-title:hover {
    color: var(--clr-primary-400);
  }
  .ui-card--publication .ui-card__pub-authors {
    font-size: var(--body-xs-fs);
    color: var(--clr-text-secondary);
    line-height: 1.5;
  }
  .ui-card--publication .ui-card__pub-venue {
    font-size: var(--body-xs-fs);
    color: var(--clr-gray-400);
    font-style: italic;
  }
  .ui-card--publication .ui-card__pub-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
  }
  .ui-card--publication .ui-card__pub-doi {
    font-size: var(--body-xs-fs);
    color: var(--clr-primary-400);
    text-decoration: none;
  }
  .ui-card--publication .ui-card__pub-doi:hover {
    text-decoration: underline;
  }
  /* ── Event card (Events page — date-block + info) ── */
  .ui-card--event {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
    padding: clamp(2rem, 0.5177993528vw + 1.8058252427rem, 2.8rem);
    border-radius: var(--radius-md);
    background: #fff;
    border: 1px solid var(--clr-gray-200);
    transition: box-shadow 0.25s ease;
  }
  .ui-card--event:hover {
    box-shadow: 0 4px 16px rgba(0, 74, 130, 0.1);
  }
  .ui-card--event .ui-card__date-block {
    flex-shrink: 0;
    width: clamp(5.6rem, 1.0355987055vw + 5.2116504854rem, 7.2rem);
    border-radius: var(--radius-sm);
    background: var(--clr-primary-900);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.8rem 0.6rem;
    text-align: center;
  }
  .ui-card--event .ui-card__date-block .month {
    font-size: var(--body-xs-fs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.75;
  }
  .ui-card--event .ui-card__date-block .day {
    font-size: var(--heading-md-fs);
    font-weight: 700;
    line-height: 1;
  }
  .ui-card--event .ui-card__date-block .year {
    font-size: var(--body-xs-fs);
    opacity: 0.6;
  }
  .ui-card--event .ui-card__date-block .type {
    font-size: var(--body-xs-fs);
    font-weight: 700;
    text-transform: uppercase;
    margin-top: 0.4rem;
    opacity: 0.75;
  }
  .ui-card--event .ui-card__event-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(0.6rem, 0.2588996764vw + 0.5029126214rem, 1rem);
  }
  .ui-card--event .ui-card__event-type-badge {
    /* badge handled by .ui-badge */
  }
  .ui-card--event .ui-card__event-title {
    font-size: var(--heading-sm-fs);
    font-weight: 600;
    line-height: 1.35;
    color: var(--clr-gray-900);
  }
  .ui-card--event .ui-card__event-detail {
    font-size: var(--body-xs-fs);
    color: var(--clr-text-secondary);
    display: flex;
    align-items: center;
    gap: 0.6rem;
  }
  .ui-card--event .ui-card__event-detail i {
    font-size: 1.4rem;
    color: var(--clr-primary-400);
    flex-shrink: 0;
  }
  .ui-card--event .ui-card__event-actions {
    display: flex;
    gap: 0.8rem;
    margin-top: clamp(0.8rem, 0.2588996764vw + 0.7029126214rem, 1.2rem);
    flex-wrap: wrap;
  }
  .ui-card--event {
    /* 선택적 썸네일 — date-block 다음, 본문 앞. 요소가 있을 때만 렌더된다. */
  }
  .ui-card--event .ui-card__thumb {
    flex-shrink: 0;
    width: clamp(12rem, 3.8834951456vw + 10.5436893204rem, 18rem);
    aspect-ratio: 4/3;
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: var(--clr-gray-100);
  }
  .ui-card--event .ui-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  @media (max-width: 544px) {
    .ui-card--event {
      flex-direction: column;
    }
    .ui-card--event .ui-card__thumb {
      width: 100%;
      aspect-ratio: 16/9;
    }
  }
  /* ── Event card — compact (제목 + 시간 중심, 패딩 축소) ── */
  .ui-card--event.ui-card--compact {
    padding: clamp(1.2rem, 0.2588996764vw + 1.1029126214rem, 1.6rem);
    gap: clamp(1.2rem, 0.3883495146vw + 1.054368932rem, 1.8rem);
  }
  .ui-card--event.ui-card--compact .ui-card__date-block {
    width: clamp(4.8rem, 0.7766990291vw + 4.5087378641rem, 6rem);
    padding: 0.6rem 0.5rem;
  }
  /* ── Year-group separator (Publications grouped by year) ── */
  .ui-year-group {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
  }
  .ui-year-group + .ui-year-group {
    margin-top: var(--spacing-3xl);
  }
  .ui-year-group__heading {
    font-size: var(--heading-md-fs);
    font-weight: 700;
    color: var(--clr-gray-900);
    margin-bottom: clamp(0.4rem, 0.2588996764vw + 0.3029126214rem, 0.8rem);
    padding-bottom: clamp(0.8rem, 0.2588996764vw + 0.7029126214rem, 1.2rem);
    border-bottom: 2px solid var(--clr-primary-900);
  }
  /* ===================================================
     event-card-wide — 가로형 이벤트 카드
     좌측 큰 이미지(날짜 오버레이) + 우측 일시·제목·설명·CTA
     규칙: layout/position/color(토큰)만. 타이포 위계·spacing 은 마크업 .no-* 유틸. (#17)
     =================================================== */
  .event-card-wide {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
    padding-bottom: clamp(2rem, 0.5177993528vw + 1.8058252427rem, 2.8rem);
    border-bottom: 1px solid var(--clr-gray-200);
    /* ── 좌측 미디어 (이미지 + 날짜 오버레이 + 종료 라벨) ── */
  }
  .event-card-wide__media {
    position: relative;
    flex-shrink: 0;
    width: clamp(42rem, 14.2394822006vw + 36.6601941748rem, 64rem);
    overflow: hidden;
    border-radius: var(--radius-sm);
  }
  .event-card-wide__img {
    display: block;
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover;
    background: var(--clr-gray-100);
    transition: transform 0.3s ease, filter 0.3s ease;
  }
  .event-card-wide__date {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.8rem 1.2rem;
    background: var(--clr-primary-900);
    color: #fff;
    border-bottom-right-radius: var(--radius-sm);
    text-align: center;
  }
  .event-card-wide__date-top {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.8;
  }
  .event-card-wide__date-bottom {
    line-height: 1;
  }
  .event-card-wide__status {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0.6rem 1.2rem;
    background: var(--clr-primary-900);
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-align: center;
  }
  .event-card-wide {
    /* ── 우측 본문 ── */
  }
  .event-card-wide__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .event-card-wide__datetime {
    color: var(--clr-primary-400);
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
  .event-card-wide__title {
    color: var(--clr-gray-900);
    transition: color 0.25s ease;
  }
  .event-card-wide__excerpt {
    color: var(--clr-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 2;
  }
  .event-card-wide:hover .event-card-wide__img {
    transform: scale(1.04);
  }
  .event-card-wide:hover .event-card-wide__title {
    color: var(--clr-primary-400);
  }
  .event-card-wide {
    /* ── 종료된 행사: 어둡게 처리 ── */
  }
  .event-card-wide--concluded .event-card-wide__img {
    filter: grayscale(0.8);
    opacity: 0.6;
  }
  .event-card-wide--concluded .event-card-wide__title,
  .event-card-wide--concluded .event-card-wide__datetime,
  .event-card-wide--concluded .event-card-wide__excerpt {
    color: var(--clr-text-secondary);
  }
  .event-card-wide--concluded:hover .event-card-wide__img {
    transform: none;
  }
  .event-card-wide--concluded:hover .event-card-wide__title {
    color: var(--clr-text-secondary);
  }
  .event-card-wide {
    /* ── 반응형: sm 이하 세로 전환 ── */
  }
  @media (max-width: 544px) {
    .event-card-wide {
      flex-direction: column;
      gap: clamp(1.2rem, 0.2588996764vw + 1.1029126214rem, 1.6rem);
    }
    .event-card-wide .event-card-wide__media {
      width: 100%;
    }
  }
  /* ===================================================
     Keyword chip — clickable keyword/tag pill.
     Publications list cards + detail meta(keywords row).
     Links to ?tag_id={id} (keyword filter).
     =================================================== */
  .ui-card__pub-tags,
  .ui-keyword-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .ui-keyword-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.3rem 0.9rem;
    border-radius: 999px;
    border: 1px solid var(--clr-gray-300);
    background: var(--clr-gray-100);
    color: var(--clr-gray-700);
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: border-color 0.2s, background 0.2s, color 0.2s;
  }
  .ui-keyword-chip:hover, .ui-keyword-chip:focus-visible {
    border-color: var(--clr-primary-400);
    background: var(--clr-primary-50, #e6f2fa);
    color: var(--clr-primary-700, var(--clr-primary-900));
  }
  /* ===================================================
     Publication detail meta — labeled definition rows.
     Used by components/publication-detail-meta.php (Publications detail).
     Typography hierarchy comes from no-* utilities in markup;
     here only layout + token-based spacing/color (#17 component exception).
     =================================================== */
  .ui-pub-meta {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
  }
  .ui-pub-meta__row {
    display: grid;
    grid-template-columns: minmax(12rem, 16rem) 1fr;
    gap: clamp(0.8rem, 1.0355987055vw + 0.4116504854rem, 2.4rem);
    align-items: start;
    padding-bottom: var(--spacing-md);
    border-bottom: 1px solid var(--clr-gray-200);
  }
  .ui-pub-meta__row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }
  @media (max-width: 544px) {
    .ui-pub-meta__row {
      grid-template-columns: 1fr;
      gap: 0.4rem;
    }
  }
  .ui-pub-meta {
    /* Abstract spans wider line-height — block row. */
  }
  .ui-pub-meta__row--block .ui-pub-meta__value {
    line-height: 1.7;
  }
  .ui-pub-meta__label {
    margin: 0;
    font-weight: 700;
    color: var(--clr-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
  .ui-pub-meta__value {
    margin: 0;
    color: var(--clr-gray-900);
    word-break: break-word;
  }
  .ui-pub-meta__value a {
    color: var(--clr-primary-400);
    text-decoration: none;
  }
  .ui-pub-meta__value a:hover, .ui-pub-meta__value a:focus-visible {
    text-decoration: underline;
  }
  .ui-pub-meta__abstract p {
    margin: 0 0 0.8rem;
  }
  .ui-pub-meta__abstract p:last-child {
    margin-bottom: 0;
  }
  /**
   * ui-cta — 표준 CTA
   *
   * variant:
   *  --primary   : 흰색 pill 버튼 (배경 무관하게 항상 white, navy 텍스트)
   *  --filled    : 채워진 navy pill (강조 CTA / submit)
   *  --accent    : 골드 채움 + 우측 박스형 화살표 (헤더 Contact 등 1차 CTA)
   *  --boxed-navy: --accent 와 형태(박스+화살표) 100% 동일, 화이트 채움 + 네이비 (2차 CTA)
   *  --ghost     : 텍스트+화살표 심플 링크 (좌측 작대기 없음)
   *  --secondary : primary 와 동일 (마크업 호환용)
   *
   * 형태(geometry)와 색(skin) 분리: 박스형 화살표 형태는 `--accent, --boxed-navy` 공통 블록 1곳에
   * 정의 → 형태를 바꾸면 모든 boxed CTA 동시 반영. 색은 각 variant 가 입힌다. (#17-C / SOLID)
   *
   * 모션:
   *  - 공통: hover 시 화살표 6px 우측 slide, color transition
   *  - 토큰: var(--dur-base) var(--ease-out-quart)
   * 가이드: docs/03-constants/components.md §3.3
   */
  .ui-cta {
    /* 베이스 reset & 공통 */
    display: inline-flex;
    align-items: center;
    gap: clamp(0.8rem, 0.2588996764vw + 0.7029126214rem, 1.2rem);
    font-family: var(--font-sans-family);
    font-size: var(--body-md-fs);
    font-weight: 600;
    line-height: 1;
    letter-spacing: var(--tracking-heading);
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color var(--dur-base) var(--ease-out-quart), color var(--dur-base) var(--ease-out-quart), border-color var(--dur-base) var(--ease-out-quart), box-shadow var(--dur-base) var(--ease-out-quart), transform var(--dur-fast) var(--ease-out-quart);
  }
  .ui-cta__label {
    display: inline-block;
    line-height: 1;
  }
  .ui-cta {
    /* 화살표 — hover 시 우측 6px slide. 라벨 baseline 과 수평 정렬 보장. */
  }
  .ui-cta__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 1;
    font-size: 1em;
    transition: transform var(--dur-base) var(--ease-out-quart);
    /* 인라인 svg 또는 fontawesome 둘 다 지원 */
  }
  .ui-cta__icon svg, .ui-cta__icon i {
    display: block;
    width: 1em;
    height: 1em;
    line-height: 1;
    font-size: inherit;
    vertical-align: middle;
  }
  .ui-cta:hover .ui-cta__icon, .ui-cta:focus-visible .ui-cta__icon {
    transform: translateX(6px);
  }
  .ui-cta {
    /* 브랜드 이미지 아이콘(예: 네이버지도 svg) — 화살표가 아니므로 hover 슬라이드 없음, 고정 크기 2rem(=20px) */
  }
  .ui-cta__icon--img img {
    display: block;
    width: 2rem;
    height: 2rem;
  }
  .ui-cta:hover .ui-cta__icon--img, .ui-cta:focus-visible .ui-cta__icon--img {
    transform: none;
  }
  .ui-cta {
    /* --icon-left : 브랜드 마크를 라벨 좌측에 (네이버지도 등). DOM 순서로 좌측 배치됨.
       우측 화살표 전용 hover 슬라이드(translateX)는 좌측 아이콘에 어울리지 않으므로 비활성. */
  }
  .ui-cta--icon-left:hover .ui-cta__icon, .ui-cta--icon-left:focus-visible .ui-cta__icon {
    transform: none;
  }
  .ui-cta {
    /* press 시 살짝 눌림 (모든 variant 공통) */
  }
  .ui-cta:active {
    transform: scale(0.98);
  }
  .ui-cta {
    /* 접근성: 키보드 포커스 링 */
  }
  .ui-cta:focus-visible {
    outline: 2px solid var(--clr-accent-500);
    outline-offset: 3px;
  }
  .ui-cta {
    /* ───────────────────────────────
     *  --primary : 흰색 pill (배경 무관하게 항상 white)
     * ─────────────────────────────── */
  }
  .ui-cta--primary {
    padding: clamp(1.4rem, 0.2588996764vw + 1.3029126214rem, 1.8rem) clamp(2.2rem, 0.5177993528vw + 2.0058252427rem, 3rem);
    background: var(--clr-base-white);
    color: var(--clr-primary-900);
    border: 1px solid var(--clr-ui-border);
    border-radius: 999px;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
    /* mouse-click focus 는 hover 스타일 적용 안 함 */
  }
  .ui-cta--primary:focus:not(:focus-visible) {
    background: var(--clr-base-white);
    border-color: var(--clr-ui-border);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
  }
  .ui-cta--primary:hover, .ui-cta--primary:focus-visible {
    background: var(--clr-primary-50);
    border-color: var(--clr-primary-50);
    box-shadow: 0 6px 18px rgba(15, 76, 129, 0.12);
  }
  .ui-cta {
    /* ───────────────────────────────
     *  --filled : 채워진 navy pill (검색 submit, 강조 CTA)
     *  배경: primary-900 / 텍스트: 흰색
     * ─────────────────────────────── */
  }
  .ui-cta--filled {
    padding: clamp(1.4rem, 0.2588996764vw + 1.3029126214rem, 1.8rem) clamp(2.2rem, 0.5177993528vw + 2.0058252427rem, 3rem);
    background: var(--clr-primary-900);
    color: var(--clr-base-white);
    border: 1px solid var(--clr-primary-900);
    border-radius: 999px;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
  }
  .ui-cta--filled:hover, .ui-cta--filled:focus-visible {
    background: var(--clr-primary-700);
    border-color: var(--clr-primary-700);
    box-shadow: 0 6px 18px rgba(15, 76, 129, 0.24);
  }
  .ui-cta {
    /* ───────────────────────────────
     *  Boxed CTA — 공통 형태(geometry). 라벨 + 좌측 구분선으로 분리된 우측 화살표 칸.
     *  색은 각 색 variant(--accent 골드 / --boxed-navy 화이트+네이비)가 입힌다.
     *  ⚠ 형태를 바꾸려면 이 블록 한 곳만 수정 → 모든 boxed CTA 동시 반영. (#17-C / SOLID)
     * ─────────────────────────────── */
  }
  .ui-cta--accent, .ui-cta--boxed-navy {
    /* 세로 패딩은 라벨에 둔다 → 화살표 칸(.__icon)이 stretch 로 버튼 "전체 높이"를
       채워 완전한 박스 영역구분이 된다(레퍼런스 시안). 버튼엔 좌측 패딩만. */
    padding: 0 0 0 clamp(2rem, 0.5177993528vw + 1.8058252427rem, 2.8rem);
    border-radius: var(--radius-xs);
    gap: 0;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
  }
  .ui-cta--accent .ui-cta__label, .ui-cta--boxed-navy .ui-cta__label {
    padding: clamp(1.2rem, 0.2588996764vw + 1.1029126214rem, 1.6rem) clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem) clamp(1.2rem, 0.2588996764vw + 1.1029126214rem, 1.6rem) 0;
  }
  .ui-cta--accent .ui-cta__icon, .ui-cta--boxed-navy .ui-cta__icon {
    align-self: stretch;
    display: inline-flex;
    align-items: center;
    padding: 0 clamp(1.2rem, 0.2588996764vw + 1.1029126214rem, 1.6rem);
    border-left: 1px solid rgba(255, 255, 255, 0.35);
    /* 우측 모서리만 버튼 곡률에 맞춤 → 박스 fill 이 둥근 모서리 밖으로 안 삐져나옴 */
    border-radius: 0 var(--radius-xs) var(--radius-xs) 0;
  }
  .ui-cta--accent, .ui-cta--boxed-navy {
    /* 화살표가 우측 구분 칸(끝선 flush)이라 base 의 hover 6px slide 는 칸을
       버튼 밖으로 밀어냄 → boxed CTA 에서만 비활성. */
  }
  .ui-cta--accent:hover .ui-cta__icon, .ui-cta--accent:focus-visible .ui-cta__icon, .ui-cta--boxed-navy:hover .ui-cta__icon, .ui-cta--boxed-navy:focus-visible .ui-cta__icon {
    transform: none;
  }
  .ui-cta {
    /* --accent : 골드 채움 skin (배경 accent-500 / 텍스트 흰색) — 1차 CTA */
  }
  .ui-cta--accent {
    background: var(--clr-accent-500);
    color: var(--clr-base-white);
    border: 1px solid var(--clr-accent-500);
    /* 화살표 칸을 밝은 골드로 채워 영역구분(레퍼런스 시안의 박스) */
  }
  .ui-cta--accent .ui-cta__icon {
    background: rgba(255, 255, 255, 0.15);
  }
  .ui-cta--accent:hover, .ui-cta--accent:focus-visible {
    background: var(--clr-accent-700);
    border-color: var(--clr-accent-700);
  }
  .ui-cta {
    /* --boxed-navy : 화이트 채움 + 네이비 skin (형태는 --accent 와 동일, 색만 다름) — 2차 CTA.
       구분선은 네이비, hover 시 네이비 채움으로 반전(텍스트·구분선 흰색). */
  }
  .ui-cta--boxed-navy {
    background: var(--clr-base-white);
    color: var(--clr-primary-900);
    border: 1px solid var(--clr-primary-900);
    /* 화살표 칸을 연한 네이비로 채워 영역구분(흰 배경 위 박스). 구분선도 네이비. */
  }
  .ui-cta--boxed-navy .ui-cta__icon {
    border-left-color: rgba(36, 36, 79, 0.22); /* primary-900(#24244f) 구분선 */
    background: rgba(36, 36, 79, 0.06);
  }
  .ui-cta--boxed-navy:hover, .ui-cta--boxed-navy:focus-visible {
    background: var(--clr-primary-900);
    color: var(--clr-base-white);
    border-color: var(--clr-primary-900);
    /* hover = 네이비 채움 반전 → 화살표 칸은 밝은 칸으로 (accent 와 동일 톤) */
  }
  .ui-cta--boxed-navy:hover .ui-cta__icon, .ui-cta--boxed-navy:focus-visible .ui-cta__icon {
    border-left-color: rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.15);
  }
  .ui-cta {
    /* ───────────────────────────────
     *  --secondary : primary 와 동일 (마크업 호환 유지)
     * ─────────────────────────────── */
  }
  .ui-cta--secondary {
    padding: clamp(1.3rem, 0.2588996764vw + 1.2029126214rem, 1.7rem) clamp(2rem, 0.5177993528vw + 1.8058252427rem, 2.8rem);
    background: var(--clr-base-white);
    color: var(--clr-primary-900);
    border: 1px solid var(--clr-ui-border);
    border-radius: 999px;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
    /* mouse-click focus 는 hover 스타일 적용 안 함 */
  }
  .ui-cta--secondary:focus:not(:focus-visible) {
    background: var(--clr-base-white);
    border-color: var(--clr-ui-border);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
  }
  .ui-cta--secondary:hover, .ui-cta--secondary:focus-visible {
    background: var(--clr-primary-50);
    border-color: var(--clr-primary-50);
    box-shadow: 0 6px 18px rgba(15, 76, 129, 0.12);
  }
  .ui-cta {
    /* ───────────────────────────────
     *  --ghost : 텍스트+화살표 (심플 링크 스타일)
     *  hover 변화 = (1) 라벨 navy→accent teal (2) 화살표 6px slide
     * ─────────────────────────────── */
  }
  .ui-cta--ghost {
    padding: 0;
    background: transparent;
    color: var(--clr-primary-900);
    border: 0;
    font-size: var(--body-sm-fs);
    border-radius: 0;
  }
  .ui-cta--ghost:hover, .ui-cta--ghost:focus-visible {
    color: var(--clr-accent-500);
  }
  .ui-cta {
    /* ───────────────────────────────
     *  --outline : 외곽선 라운드-렉트 버튼 (배경 투명 + 1px 보더 + 우측 화살표)
     *  hover = 채움 반전(보더색 배경 / 텍스트 흰색). on-dark 와 조합 가능.
     * ─────────────────────────────── */
  }
  .ui-cta--outline {
    padding: clamp(1rem, 0.1941747573vw + 0.927184466rem, 1.3rem) clamp(1.8rem, 0.3883495146vw + 1.654368932rem, 2.4rem);
    background: transparent;
    color: var(--clr-primary-900);
    border: 1px solid var(--clr-ui-border);
    border-radius: var(--radius-sm);
  }
  .ui-cta--outline:hover, .ui-cta--outline:focus-visible {
    background: var(--clr-primary-900);
    border-color: var(--clr-primary-900);
    color: var(--clr-base-white);
  }
  .ui-cta {
    /* ───────────────────────────────
     *  --on-dark : 다크 배경 위 (Primary/Secondary/Ghost 모두 호환)
     *  사용: <a class="ui-cta ui-cta--ghost ui-cta--on-dark">
     * ─────────────────────────────── */
  }
  .ui-cta--on-dark.ui-cta--primary {
    /* 흰 pill 유지, border만 반투명 흰색으로 */
    border-color: rgba(255, 255, 255, 0.4);
  }
  .ui-cta--on-dark.ui-cta--primary:hover, .ui-cta--on-dark.ui-cta--primary:focus-visible {
    background: var(--clr-primary-50);
    border-color: var(--clr-primary-50);
  }
  .ui-cta--on-dark.ui-cta--secondary {
    /* primary 와 동일하게 처리 */
    border-color: rgba(255, 255, 255, 0.4);
  }
  .ui-cta--on-dark.ui-cta--secondary:hover, .ui-cta--on-dark.ui-cta--secondary:focus-visible {
    background: var(--clr-primary-50);
    border-color: var(--clr-primary-50);
  }
  .ui-cta--on-dark.ui-cta--ghost {
    color: var(--clr-base-white);
  }
  .ui-cta--on-dark.ui-cta--ghost:hover, .ui-cta--on-dark.ui-cta--ghost:focus-visible {
    color: var(--clr-accent-500);
  }
  .ui-cta--on-dark.ui-cta--outline {
    color: var(--clr-base-white);
    border-color: rgba(255, 255, 255, 0.5);
  }
  .ui-cta--on-dark.ui-cta--outline:hover, .ui-cta--on-dark.ui-cta--outline:focus-visible {
    background: var(--clr-base-white);
    border-color: var(--clr-base-white);
    color: var(--clr-primary-900);
  }
  .ui-cta {
    /* ───────────────────────────────
     *  Sizes
     * ─────────────────────────────── */
  }
  .ui-cta--sm {
    font-size: var(--body-sm-fs);
  }
  .ui-cta--sm.ui-cta--primary, .ui-cta--sm.ui-cta--secondary, .ui-cta--sm.ui-cta--filled, .ui-cta--sm.ui-cta--outline {
    padding: clamp(1rem, 0.1294498382vw + 0.9514563107rem, 1.2rem) clamp(1.6rem, 0.2588996764vw + 1.5029126214rem, 2rem);
  }
  .ui-cta--sm {
    /* boxed CTA(accent·boxed-navy) — 세로패딩은 라벨로(화살표 칸 full-height 유지) + 축소 (헤더 Contact 등) */
  }
  .ui-cta--sm.ui-cta--accent, .ui-cta--sm.ui-cta--boxed-navy {
    padding: 0 0 0 clamp(1.4rem, 0.2588996764vw + 1.3029126214rem, 1.8rem);
  }
  .ui-cta--sm.ui-cta--accent .ui-cta__label, .ui-cta--sm.ui-cta--boxed-navy .ui-cta__label {
    padding: clamp(0.8rem, 0.1294498382vw + 0.7514563107rem, 1rem) clamp(1rem, 0.2588996764vw + 0.9029126214rem, 1.4rem) clamp(0.8rem, 0.1294498382vw + 0.7514563107rem, 1rem) 0;
  }
  .ui-cta--sm.ui-cta--accent .ui-cta__icon, .ui-cta--sm.ui-cta--boxed-navy .ui-cta__icon {
    padding: 0 clamp(0.8rem, 0.2588996764vw + 0.7029126214rem, 1.2rem);
  }
  .ui-cta--lg {
    font-size: var(--body-lg-fs);
  }
  .ui-cta--lg.ui-cta--primary, .ui-cta--lg.ui-cta--secondary, .ui-cta--lg.ui-cta--filled {
    padding: clamp(1.6rem, 0.3883495146vw + 1.454368932rem, 2.2rem) clamp(2.8rem, 0.7766990291vw + 2.5087378641rem, 4rem);
  }
  /* prefers-reduced-motion 가드 — _motion.scss 가 duration을 0 으로 만들지만
   * transform hover까지 끄려면 직접 차단 */
  @media (prefers-reduced-motion: reduce) {
    .ui-cta:hover .ui-cta__icon,
    .ui-cta:focus-visible .ui-cta__icon {
      transform: none;
    }
  }
  /* ===================================================
     Filter / Search bar components
     - .ui-filter-bar  : top bar (keyword search + sort)
     - .ui-filter-sidebar : Publications left-side filter panel
     =================================================== */
  /* ── Top filter bar (News, Activities) ── */
  .ui-filter-bar {
    display: flex;
    align-items: center;
    gap: clamp(1.2rem, 0.5177993528vw + 1.0058252427rem, 2rem);
    flex-wrap: wrap;
    margin-bottom: clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
  }
  .ui-filter-bar__search {
    position: relative;
    flex: 1;
    min-width: 22rem;
  }
  .ui-filter-bar__search .icon {
    position: absolute;
    left: 1.6rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--clr-gray-400);
    font-size: 1.6rem;
    pointer-events: none;
  }
  .ui-filter-bar__search input {
    width: 100%;
    height: clamp(4.4rem, 0.5177993528vw + 4.2058252427rem, 5.2rem);
    border: 1px solid var(--clr-gray-300);
    border-radius: var(--radius-round);
    padding: 0 1.6rem 0 4.4rem;
    font-size: var(--body-md-fs);
    color: var(--clr-gray-900);
    background: #fff;
    outline: none;
    transition: border-color 0.2s ease;
  }
  .ui-filter-bar__search input::placeholder {
    color: var(--clr-gray-400);
  }
  .ui-filter-bar__search input:focus {
    border-color: var(--clr-primary-400);
    box-shadow: 0 0 0 3px rgba(46, 167, 224, 0.12);
  }
  .ui-filter-bar__sort {
    display: flex;
    align-items: center;
    gap: clamp(0.8rem, 0.2588996764vw + 0.7029126214rem, 1.2rem);
  }
  .ui-filter-bar__sort-label {
    font-size: var(--body-sm-fs);
    color: var(--clr-gray-500);
    white-space: nowrap;
  }
  .ui-filter-bar__select {
    height: clamp(4rem, 0.5177993528vw + 3.8058252427rem, 4.8rem);
    padding: 0 3.2rem 0 1.2rem;
    border: 1px solid var(--clr-gray-300);
    border-radius: var(--radius-sm);
    font-size: var(--body-sm-fs);
    color: var(--clr-gray-900);
    background: #fff;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1.6rem;
    cursor: pointer;
    outline: none;
    transition: border-color 0.2s;
  }
  .ui-filter-bar__select:focus {
    border-color: var(--clr-primary-400);
  }
  .ui-filter-bar__count {
    font-size: var(--body-sm-fs);
    color: var(--clr-gray-500);
    white-space: nowrap;
    margin-left: auto;
  }
  @media (max-width: 544px) {
    .ui-filter-bar {
      flex-direction: column;
      align-items: stretch;
    }
    .ui-filter-bar__search {
      min-width: 0;
    }
    .ui-filter-bar__sort {
      justify-content: space-between;
    }
    .ui-filter-bar__count {
      margin-left: 0;
    }
  }
  /* ── Mobile filter trigger (lg↓ 에서만 노출) ── */
  .ui-filter-trigger {
    display: none;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-lg);
    border: 1px solid var(--clr-gray-300);
    border-radius: var(--radius-round);
    background: #fff;
    color: var(--clr-primary-900);
    font-size: var(--body-sm-fs);
    font-weight: 600;
    cursor: pointer;
    transition: border-color var(--dur-fast) var(--ease-out-quart);
  }
  .ui-filter-trigger:hover {
    border-color: var(--clr-primary-400);
  }
  @media (max-width: 1024px) {
    .ui-filter-trigger {
      display: inline-flex;
    }
  }
  /* ── Sidebar filter (News, Publications) ── */
  .ui-filter-sidebar {
    align-self: flex-start;
    position: sticky;
    top: clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
    width: clamp(20rem, 4.142394822vw + 18.4466019417rem, 26.4rem);
    min-width: clamp(20rem, 4.142394822vw + 18.4466019417rem, 26.4rem);
    contain: layout style;
  }
  .ui-filter-sidebar__backdrop, .ui-filter-sidebar__sheet-head {
    display: none;
  }
  .ui-filter-sidebar__panel {
    display: flex;
    flex-direction: column;
  }
  .ui-filter-sidebar__form {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2xl);
  }
  .ui-filter-sidebar__group {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
  }
  .ui-filter-sidebar__group-label {
    font-size: var(--body-xs-fs);
    font-weight: 700;
    letter-spacing: var(--tracking-caps);
    text-transform: uppercase;
    color: var(--clr-gray-400);
    margin-bottom: var(--spacing-sm);
  }
  .ui-filter-sidebar__option {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    cursor: pointer;
    font-size: var(--body-sm-fs);
    line-height: 1.4;
    color: var(--clr-gray-700);
    padding: var(--spacing-xs) 0 var(--spacing-xs) var(--spacing-md);
    border-left: 2px solid transparent;
    transition: color var(--dur-fast) var(--ease-out-quart), border-color var(--dur-fast) var(--ease-out-quart);
  }
  .ui-filter-sidebar__option input[type=checkbox],
  .ui-filter-sidebar__option input[type=radio] {
    appearance: none;
    width: 1.5rem;
    height: 1.5rem;
    flex-shrink: 0;
    margin: 0;
    border: 1.5px solid var(--clr-gray-300);
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
    transition: border-color var(--dur-fast) var(--ease-out-quart), box-shadow var(--dur-fast) var(--ease-out-quart);
  }
  .ui-filter-sidebar__option input[type=checkbox]:checked,
  .ui-filter-sidebar__option input[type=radio]:checked {
    border-color: var(--clr-primary-900);
    box-shadow: inset 0 0 0 4px var(--clr-primary-900);
  }
  .ui-filter-sidebar__option input[type=checkbox]:focus-visible,
  .ui-filter-sidebar__option input[type=radio]:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(46, 167, 224, 0.18);
    border-color: var(--clr-primary-400);
  }
  .ui-filter-sidebar__option input[type=checkbox]:focus-visible:checked,
  .ui-filter-sidebar__option input[type=radio]:focus-visible:checked {
    box-shadow: inset 0 0 0 4px var(--clr-primary-900), 0 0 0 3px rgba(46, 167, 224, 0.18);
  }
  .ui-filter-sidebar__option input[type=checkbox] {
    border-radius: var(--radius-xs);
  }
  .ui-filter-sidebar__option:hover {
    color: var(--clr-primary-900);
  }
  .ui-filter-sidebar__option.is-active {
    color: var(--clr-primary-900);
    font-weight: 600;
    border-left-color: var(--clr-accent-500);
  }
  .ui-filter-sidebar__clear {
    margin-top: var(--spacing-sm);
    font-size: var(--body-xs-fs);
    color: var(--clr-gray-400);
    cursor: pointer;
    border: 0;
    background: transparent;
    padding: 0;
    align-self: flex-start;
    text-decoration: underline;
    text-underline-offset: 0.3rem;
    transition: color var(--dur-fast) var(--ease-out-quart);
  }
  .ui-filter-sidebar__clear:hover {
    color: var(--clr-primary-900);
  }
  @media (max-width: 1024px) {
    .ui-filter-sidebar {
      position: static;
      width: auto;
      min-width: 0;
    }
    .ui-filter-sidebar[data-filter-sidebar]:not(.is-open) {
      display: none;
    }
    .ui-filter-sidebar[data-filter-sidebar].is-open {
      display: block;
      position: fixed;
      inset: 0;
      z-index: 1000;
    }
    .ui-filter-sidebar .ui-filter-sidebar__backdrop {
      display: block;
      position: fixed;
      inset: 0;
      background: rgba(15, 23, 42, 0.45);
    }
    .ui-filter-sidebar .ui-filter-sidebar__panel {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      max-height: 85vh;
      overflow-y: auto;
      background: #fff;
      border-radius: var(--radius-lg) var(--radius-lg) 0 0;
      padding: var(--spacing-lg) var(--spacing-xl) var(--spacing-2xl);
      box-shadow: 0 -8px 32px rgba(15, 23, 42, 0.18);
      animation: ui-filter-sheet-up var(--dur-base) var(--ease-out-quart);
    }
    .ui-filter-sidebar .ui-filter-sidebar__sheet-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-bottom: var(--spacing-md);
      margin-bottom: var(--spacing-md);
      border-bottom: 1px solid var(--clr-gray-200);
    }
    .ui-filter-sidebar .ui-filter-sidebar__sheet-title {
      font-size: var(--body-md-fs);
      font-weight: 700;
      color: var(--clr-primary-900);
    }
    .ui-filter-sidebar .ui-filter-sidebar__sheet-close {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 3.2rem;
      height: 3.2rem;
      border: 0;
      background: transparent;
      color: var(--clr-gray-500);
      font-size: 1.6rem;
      cursor: pointer;
    }
    .ui-filter-sidebar .ui-filter-sidebar__sheet-close:hover {
      color: var(--clr-primary-900);
    }
  }
  @keyframes ui-filter-sheet-up {
    from {
      transform: translateY(100%);
    }
    to {
      transform: translateY(0);
    }
  }
  /* ── Layout wrapper for sidebar + content ── */
  .ui-filter-layout {
    display: flex;
    align-items: flex-start;
    gap: clamp(3.2rem, 1.5533980583vw + 2.6174757282rem, 5.6rem);
  }
  .ui-filter-layout__content {
    flex: 1;
    min-width: 0;
  }
  @media (max-width: 1024px) {
    .ui-filter-layout {
      flex-direction: column;
    }
    .ui-filter-layout .ui-filter-sidebar {
      width: 100%;
      min-width: 0;
    }
  }
  /* ===================================================
     Search input — 돋보기 아이콘 + 커스텀 클리어(×) 버튼
     - 브라우저 기본 search 클리어 UI 제거(appearance + ::-webkit-search-cancel-button)
     - × 버튼은 값 있을 때만 노출(TS: SearchInput.ts 가 [hidden] 토글)
     =================================================== */
  .ui-search-input {
    position: relative;
    width: 100%;
  }
  .ui-search-input__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;
  }
  .ui-search-input__field {
    width: 100%;
    height: clamp(4rem, 0.3883495146vw + 3.854368932rem, 4.6rem);
    padding: 0 3.4rem 0 3.6rem;
    border: 0;
    border-bottom: 1px solid var(--clr-gray-300);
    border-radius: 0;
    font-size: var(--body-sm-fs);
    color: var(--clr-gray-900);
    background: transparent;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    transition: border-color var(--dur-fast) var(--ease-out-quart);
  }
  .ui-search-input__field::placeholder {
    color: var(--clr-gray-400);
  }
  .ui-search-input__field:focus {
    border-bottom-color: var(--clr-primary-900);
  }
  .ui-search-input__field::-webkit-search-cancel-button, .ui-search-input__field::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
  }
  .ui-search-input__icon {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    color: var(--clr-gray-400);
    font-size: 1.4rem;
    pointer-events: none;
    transition: color var(--dur-fast) var(--ease-out-quart);
  }
  .ui-search-input__field:focus ~ .ui-search-input__icon {
    color: var(--clr-primary-900);
  }
  .ui-search-input__clear {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--clr-gray-400);
    font-size: 1.3rem;
    cursor: pointer;
    transition: color var(--dur-fast) var(--ease-out-quart);
  }
  .ui-search-input__clear[hidden] {
    display: none;
  }
  .ui-search-input__clear:hover {
    color: var(--clr-primary-900);
  }
  .ui-search-input__clear:focus-visible {
    outline: 2px solid var(--clr-primary-400);
    outline-offset: 2px;
    border-radius: 50%;
  }
  .ui-search-input {
    /* ── --bare 변형 ──
       필(pill) 바 같은 외부 컨테이너 안에 끼워 넣을 때: 컴포넌트 자체 underline·
       focus 라인을 제거하고(외부 컨테이너가 테두리·포커스 ring 담당) 좌측 돋보기·
       우측 커스텀 ×·네이티브 × 제거는 기본형 그대로 상속. */
  }
  .ui-search-input--bare .ui-search-input__field {
    border-bottom: 0;
  }
  .ui-search-input--bare .ui-search-input__field:focus {
    border-bottom-color: transparent;
  }
  /* ===================================================
     Search result row — reusable hit component
     View: resources/views/home/components/search-result-item.php
     Used on: pages/search/index.php
     Rule #17 — typography from no-* utilities only. This file = layout.
     =================================================== */
  .ui-search-hit {
    list-style: none;
    display: block;
    border-bottom: 1px solid var(--clr-gray-200);
  }
  .ui-search-hit:last-child {
    border-bottom: 0;
  }
  .ui-search-hit__link {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: clamp(1.2rem, 0.5177993528vw + 1.0058252427rem, 2rem);
    padding: clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem) clamp(0.8rem, 0.5177993528vw + 0.6058252427rem, 1.6rem);
    color: inherit;
    text-decoration: none;
    transition: background var(--dur-base) var(--ease-out-quart), padding-left var(--dur-base) var(--ease-out-quart);
  }
  .ui-search-hit__link:hover {
    background: var(--clr-gray-50);
    padding-left: clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
  }
  @media (hover: none) and (pointer: coarse) {
    .ui-search-hit__link:hover {
      padding-left: clamp(0.8rem, 0.5177993528vw + 0.6058252427rem, 1.6rem);
    }
  }
  .ui-search-hit__body {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
  }
  .ui-search-hit__head {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    flex-wrap: wrap;
  }
  @media (max-width: 544px) {
    .ui-search-hit__head {
      gap: 0.6rem;
    }
  }
  .ui-search-hit__meta {
    color: var(--clr-gray-500);
  }
  .ui-search-hit__title {
    color: var(--clr-gray-900);
    margin: 0;
    transition: color var(--dur-base) var(--ease-out-quart);
  }
  .ui-search-hit__link:hover .ui-search-hit__title {
    color: var(--clr-primary-900);
  }
  .ui-search-hit__snippet {
    color: var(--clr-gray-600);
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .ui-search-hit__thumb {
    flex-shrink: 0;
    width: 7.2rem;
    height: 7.2rem;
    object-fit: cover;
    border-radius: var(--radius-sm);
    border: 1px solid var(--clr-gray-100);
    align-self: center;
  }
  @media (max-width: 544px) {
    .ui-search-hit__thumb {
      width: 5.6rem;
      height: 5.6rem;
    }
  }
  /* ===================================================
     Steps component
     Usage Procedures — numbered vertical steps
     =================================================== */
  .ui-steps {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    /* vertical connector line */
  }
  .ui-steps::before {
    content: "";
    position: absolute;
    left: clamp(1.9rem, 0.2588996764vw + 1.8029126214rem, 2.3rem);
    top: clamp(3.6rem, 0.5177993528vw + 3.4058252427rem, 4.4rem);
    bottom: clamp(3.6rem, 0.5177993528vw + 3.4058252427rem, 4.4rem);
    width: 2px;
    background: var(--clr-gray-200);
    z-index: 0;
  }
  @media (max-width: 544px) {
    .ui-steps::before {
      left: clamp(1.6rem, 0.2588996764vw + 1.5029126214rem, 2rem);
    }
  }
  .ui-steps__item {
    display: flex;
    gap: clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
    padding: clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem) 0;
    position: relative;
    z-index: 1;
  }
  .ui-steps__item:last-child {
    padding-bottom: 0;
  }
  .ui-steps__number {
    flex-shrink: 0;
    width: clamp(4rem, 0.5177993528vw + 3.8058252427rem, 4.8rem);
    height: clamp(4rem, 0.5177993528vw + 3.8058252427rem, 4.8rem);
    border-radius: 50%;
    background: var(--clr-primary-900);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--body-md-fs);
    font-weight: 700;
    line-height: 1;
    position: relative;
    z-index: 2;
  }
  @media (max-width: 544px) {
    .ui-steps__number {
      width: clamp(3.2rem, 0.5177993528vw + 3.0058252427rem, 4rem);
      height: clamp(3.2rem, 0.5177993528vw + 3.0058252427rem, 4rem);
    }
  }
  .ui-steps__content {
    flex: 1;
    padding-top: clamp(0.8rem, 0.2588996764vw + 0.7029126214rem, 1.2rem);
    padding-bottom: clamp(2rem, 0.5177993528vw + 1.8058252427rem, 2.8rem);
  }
  .ui-steps__label {
    font-size: var(--body-xs-fs);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--clr-primary-400);
    margin-bottom: 0.4rem;
    display: block;
  }
  .ui-steps__title {
    font-size: var(--heading-sm-fs);
    font-weight: 700;
    color: var(--clr-gray-900);
    line-height: 1.3;
    margin-bottom: clamp(0.8rem, 0.2588996764vw + 0.7029126214rem, 1.2rem);
  }
  .ui-steps__desc {
    font-size: var(--body-sm-fs);
    line-height: 1.7;
    color: var(--clr-text-secondary);
  }
  .ui-steps__note {
    margin-top: clamp(0.8rem, 0.2588996764vw + 0.7029126214rem, 1.2rem);
    padding: clamp(1rem, 0.2588996764vw + 0.9029126214rem, 1.4rem) clamp(1.4rem, 0.2588996764vw + 1.3029126214rem, 1.8rem);
    border-left: 3px solid var(--clr-primary-400);
    background: var(--clr-primary-50);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    font-size: var(--body-xs-fs);
    color: var(--clr-primary-900);
    line-height: 1.6;
  }
  /* ── How-to-register (numbered circles inline) ── */
  .ui-steps--inline {
    flex-direction: row;
    align-items: flex-start;
  }
  .ui-steps--inline::before {
    top: clamp(1.8rem, 0.2588996764vw + 1.7029126214rem, 2.2rem);
    left: clamp(4rem, 0.5177993528vw + 3.8058252427rem, 4.8rem);
    right: clamp(4rem, 0.5177993528vw + 3.8058252427rem, 4.8rem);
    bottom: auto;
    width: auto;
    height: 2px;
  }
  @media (max-width: 768px) {
    .ui-steps--inline::before {
      display: none;
    }
  }
  .ui-steps--inline .ui-steps__item {
    flex: 1;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0;
    gap: clamp(1.2rem, 0.2588996764vw + 1.1029126214rem, 1.6rem);
  }
  @media (max-width: 768px) {
    .ui-steps--inline .ui-steps__item {
      flex-direction: row;
      text-align: left;
      padding: clamp(1.6rem, 0.2588996764vw + 1.5029126214rem, 2rem) 0;
    }
  }
  .ui-steps--inline .ui-steps__content {
    padding: 0;
  }
  @media (max-width: 768px) {
    .ui-steps--inline {
      flex-direction: column;
    }
  }
  /* ===================================================
     Table component
     Usage Procedures — User Fee Schedule & Guidelines
     =================================================== */
  .ui-table-wrap {
    width: 100%;
    overflow-x: auto;
    border-radius: var(--radius-md);
    border: 1px solid var(--clr-gray-200);
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--clr-gray-300) transparent;
  }
  .ui-table-wrap::-webkit-scrollbar {
    height: 0.6rem;
  }
  .ui-table-wrap::-webkit-scrollbar-track {
    background: transparent;
  }
  .ui-table-wrap::-webkit-scrollbar-thumb {
    background: var(--clr-gray-300);
    border-radius: 999px;
  }
  .ui-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--body-sm-fs);
  }
  .ui-table thead {
    background: var(--clr-primary-900);
    color: #fff;
  }
  .ui-table thead th {
    padding: clamp(1.2rem, 0.2588996764vw + 1.1029126214rem, 1.6rem) clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
    text-align: left;
    font-weight: 700;
    font-size: var(--body-xs-fs);
    letter-spacing: 0.04em;
    white-space: nowrap;
  }
  .ui-table thead th:first-child {
    border-radius: var(--radius-sm) 0 0 0;
  }
  .ui-table thead th:last-child {
    border-radius: 0 var(--radius-sm) 0 0;
  }
  .ui-table tbody tr {
    border-bottom: 1px solid var(--clr-gray-200);
    transition: background 0.15s ease;
  }
  .ui-table tbody tr:last-child {
    border-bottom: 0;
  }
  .ui-table tbody tr:hover {
    background: var(--clr-primary-50);
  }
  .ui-table tbody td {
    padding: clamp(1.2rem, 0.2588996764vw + 1.1029126214rem, 1.6rem) clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
    color: var(--clr-gray-700);
    vertical-align: middle;
    line-height: 1.55;
  }
  .ui-table {
    /* user type column */
  }
  .ui-table__user-type {
    font-weight: 600;
    color: var(--clr-gray-900);
    white-space: nowrap;
  }
  .ui-table__user-sub {
    font-size: var(--body-xs-fs);
    color: var(--clr-gray-400);
    font-weight: 400;
    display: block;
    margin-top: 0.2rem;
  }
  .ui-table {
    /* rate cells */
  }
  .ui-table__rate {
    font-weight: 600;
    color: var(--clr-primary-900);
  }
  .ui-table__rate--discounted {
    color: var(--clr-status-success);
  }
  .ui-table__rate--standard {
    color: var(--clr-gray-700);
  }
  .ui-table__rate--premium {
    color: var(--clr-primary-900);
  }
  .ui-table {
    /* priority badge column */
  }
  .ui-table__priority {
    white-space: nowrap;
  }
  .ui-table {
    /* footnote */
  }
  .ui-table__note {
    font-size: var(--body-xs-fs);
    color: var(--clr-gray-400);
    font-style: italic;
    margin-top: clamp(0.8rem, 0.2588996764vw + 0.7029126214rem, 1.2rem);
  }
  /* ── Info cards grid (Guidelines for External Users) ── */
  .ui-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(1.6rem, 0.7766990291vw + 1.3087378641rem, 2.8rem);
  }
  @media (max-width: 768px) {
    .ui-info-grid {
      grid-template-columns: 1fr;
    }
  }
  .ui-info-card {
    padding: clamp(2rem, 0.5177993528vw + 1.8058252427rem, 2.8rem) clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
    border-radius: var(--radius-md);
    background: var(--clr-background-page);
    border-left: 4px solid var(--clr-primary-400);
  }
  .ui-info-card__label {
    font-size: var(--body-xs-fs);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--clr-primary-400);
    margin-bottom: 0.6rem;
    display: block;
  }
  .ui-info-card__title {
    font-size: var(--heading-xs-fs);
    font-weight: 700;
    color: var(--clr-gray-900);
    margin-bottom: clamp(1rem, 0.2588996764vw + 0.9029126214rem, 1.4rem);
    line-height: 1.3;
  }
  .ui-info-card__body {
    font-size: var(--body-sm-fs);
    line-height: 1.7;
    color: var(--clr-text-secondary);
  }
  /* ===================================================
     Calendar component
     Month grid + event chips + legend
     =================================================== */
  /* ── Controls row (List / Calendar toggle + Today + Nav + Export) ── */
  .ui-cal-controls {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 0.3883495146vw + 0.854368932rem, 1.6rem);
    flex-wrap: wrap;
    margin-bottom: clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
  }
  .ui-cal-controls__view {
    display: flex;
    align-items: center;
    gap: 0.4rem;
  }
  .ui-cal-controls__nav {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-left: auto;
  }
  @media (max-width: 544px) {
    .ui-cal-controls__nav {
      margin-left: 0;
    }
  }
  .ui-cal-controls__month {
    font-size: var(--heading-md-fs);
    font-weight: 700;
    color: var(--clr-primary-900);
    min-width: clamp(16rem, 3.8834951456vw + 14.5436893204rem, 22rem);
    text-align: center;
  }
  .ui-cal-controls__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(3.2rem, 0.5177993528vw + 3.0058252427rem, 4rem);
    height: clamp(3.2rem, 0.5177993528vw + 3.0058252427rem, 4rem);
    border-radius: 50%;
    border: 1px solid var(--clr-gray-300);
    background: #fff;
    color: var(--clr-gray-600);
    font-size: var(--body-md-fs);
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s, color 0.2s;
  }
  .ui-cal-controls__btn:hover {
    border-color: var(--clr-primary-900);
    color: var(--clr-primary-900);
  }
  .ui-cal-controls__today {
    padding: 0 1.4rem;
    height: clamp(3.2rem, 0.5177993528vw + 3.0058252427rem, 4rem);
    border-radius: var(--radius-sm);
    border: 1px solid var(--clr-gray-300);
    background: #fff;
    font-size: var(--body-sm-fs);
    font-weight: 600;
    color: var(--clr-gray-700);
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s;
  }
  .ui-cal-controls__today:hover {
    border-color: var(--clr-primary-900);
    color: var(--clr-primary-900);
  }
  .ui-cal-controls__export {
    margin-left: auto;
    padding: 0 1.4rem;
    height: clamp(3.2rem, 0.5177993528vw + 3.0058252427rem, 4rem);
    border-radius: var(--radius-sm);
    border: 1px solid var(--clr-gray-300);
    background: #fff;
    font-size: var(--body-xs-fs);
    color: var(--clr-gray-600);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    transition: border-color 0.2s, color 0.2s;
  }
  .ui-cal-controls__export:hover {
    border-color: var(--clr-primary-400);
    color: var(--clr-primary-400);
  }
  @media (max-width: 544px) {
    .ui-cal-controls__export {
      margin-left: 0;
    }
  }
  /* ── Legend ── */
  .ui-cal-legend {
    display: flex;
    align-items: center;
    gap: clamp(1.2rem, 0.5177993528vw + 1.0058252427rem, 2rem);
    flex-wrap: wrap;
    margin-bottom: clamp(1.2rem, 0.5177993528vw + 1.0058252427rem, 2rem);
  }
  .ui-cal-legend__item {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: var(--body-xs-fs);
    color: var(--clr-gray-600);
  }
  .ui-cal-legend__dot {
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    flex-shrink: 0;
  }
  .ui-cal-legend__dot--seminar {
    background: var(--clr-chip-seminar);
  }
  .ui-cal-legend__dot--workshop {
    background: var(--clr-chip-workshop);
  }
  .ui-cal-legend__dot--symposium {
    background: var(--clr-chip-symposium);
  }
  .ui-cal-legend__dot--education {
    background: var(--clr-chip-education);
  }
  .ui-cal-legend__dot--special {
    background: var(--clr-chip-special);
  }
  /* ── Calendar grid ── */
  .ui-calendar {
    border: 1px solid var(--clr-gray-200);
    border-radius: var(--radius-md);
    overflow: hidden;
    /* day-of-week header */
  }
  .ui-calendar__header {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    background: var(--clr-primary-900);
    color: #fff;
  }
  .ui-calendar__dow {
    padding: clamp(1rem, 0.2588996764vw + 0.9029126214rem, 1.4rem) clamp(0.4rem, 0.2588996764vw + 0.3029126214rem, 0.8rem);
    text-align: center;
    font-size: var(--body-xs-fs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }
  @media (max-width: 544px) {
    .ui-calendar__dow {
      font-size: var(--body-xs-fs);
      padding: 0.8rem 0.2rem;
    }
  }
  .ui-calendar {
    /* weeks */
  }
  .ui-calendar__body {
    display: flex;
    flex-direction: column;
    background: var(--clr-gray-200);
    gap: 1px;
  }
  .ui-calendar__week {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 1px;
  }
  .ui-calendar__day {
    background: #fff;
    min-height: clamp(8rem, 2.5889967638vw + 7.0291262136rem, 12rem);
    padding: clamp(0.6rem, 0.2588996764vw + 0.5029126214rem, 1rem);
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }
  .ui-calendar__day--outside {
    background: var(--clr-gray-50);
  }
  .ui-calendar__day--today .ui-calendar__day-num {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 50%;
    background: var(--clr-primary-400);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  @media (max-width: 768px) {
    .ui-calendar__day {
      min-height: clamp(6rem, 1.2944983819vw + 5.5145631068rem, 8rem);
      padding: clamp(0.4rem, 0.1294498382vw + 0.3514563107rem, 0.6rem);
    }
  }
  @media (max-width: 544px) {
    .ui-calendar__day {
      min-height: 5rem;
    }
  }
  .ui-calendar__day-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
  }
  .ui-calendar__day-num {
    font-size: var(--body-xs-fs);
    font-weight: 600;
    color: var(--clr-gray-700);
    line-height: 1;
    flex-shrink: 0;
  }
  @media (max-width: 768px) {
    .ui-calendar__day-num {
      font-size: var(--body-xs-fs);
    }
  }
  .ui-calendar__add {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 50%;
    border: 1px dashed var(--clr-gray-300);
    color: var(--clr-gray-400);
    background: transparent;
    font-size: var(--body-xs-fs);
    text-decoration: none;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
  }
  .ui-calendar__add:hover, .ui-calendar__add:focus-visible {
    border-color: var(--clr-primary-400);
    color: var(--clr-primary-400);
    background: #fff;
    outline: none;
  }
  .ui-calendar__chips {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    overflow: hidden;
  }
  .ui-calendar {
    /* ── Event chip ── */
  }
  .ui-calendar__chip {
    display: block;
    padding: 0.2rem 0.6rem;
    border-radius: var(--radius-xs);
    font-size: var(--body-xs-fs);
    font-weight: 600;
    line-height: 1.4;
    color: #fff;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-decoration: none;
    transition: opacity 0.15s ease;
  }
  .ui-calendar__chip:hover {
    opacity: 0.85;
  }
  .ui-calendar__chip--seminar {
    background: var(--clr-chip-seminar);
  }
  .ui-calendar__chip--workshop {
    background: var(--clr-chip-workshop);
  }
  .ui-calendar__chip--symposium {
    background: var(--clr-chip-symposium);
  }
  .ui-calendar__chip--education {
    background: var(--clr-chip-education);
  }
  .ui-calendar__chip--special {
    background: var(--clr-chip-special);
  }
  @media (max-width: 768px) {
    .ui-calendar__chip {
      display: none;
    }
    .ui-calendar__chip:first-child {
      display: block;
    }
  }
  .ui-calendar {
    /* ── Footnote ── */
  }
  .ui-calendar__footnote {
    padding: clamp(1rem, 0.2588996764vw + 0.9029126214rem, 1.4rem) clamp(1.2rem, 0.5177993528vw + 1.0058252427rem, 2rem);
    font-size: var(--body-xs-fs);
    color: var(--clr-gray-400);
    border-top: 1px solid var(--clr-gray-200);
    background: var(--clr-gray-50);
  }
  .ui-calendar__footnote a {
    color: var(--clr-primary-400);
    text-decoration: none;
  }
  .ui-calendar__footnote a:hover {
    text-decoration: underline;
  }
  /* ===================================================
     Placeholder
     Gray box used as image / map / video stand-in
     in temporary scaffolding before real assets land.
     =================================================== */
  .ui-placeholder {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--clr-gray-200);
    border-radius: var(--radius-sm);
    color: var(--clr-gray-400);
    font-size: var(--body-xs-fs);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    overflow: hidden;
  }
  .ui-placeholder::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(135deg, transparent calc(50% - 1px), var(--clr-gray-300) calc(50% - 1px), var(--clr-gray-300) calc(50% + 1px), transparent calc(50% + 1px)), linear-gradient(45deg, transparent calc(50% - 1px), var(--clr-gray-300) calc(50% - 1px), var(--clr-gray-300) calc(50% + 1px), transparent calc(50% + 1px));
    opacity: 0.4;
    pointer-events: none;
  }
  .ui-placeholder__label {
    position: relative;
    z-index: 1;
    max-width: 80%;
    text-align: center;
    overflow-wrap: break-word;
    word-break: break-word;
    line-height: 1.4;
  }
  .ui-placeholder--16x9 {
    aspect-ratio: 16/9;
    width: 100%;
  }
  .ui-placeholder--4x3 {
    aspect-ratio: 4/3;
    width: 100%;
  }
  .ui-placeholder--1x1 {
    aspect-ratio: 1/1;
    width: 100%;
  }
  .ui-placeholder--portrait {
    aspect-ratio: 3/4;
    width: 100%;
  }
  .ui-placeholder--map {
    aspect-ratio: 16/7;
    width: 100%;
  }
  /* ===================================================
     Breadcrumb
     페이지 헤더 안의 경로 네비게이션.
     타이포 위계(size/weight/line-height)와 spacing 은
     HTML 유틸 클래스(`no-body-sm`, `no-mg-lg--b`)가 담당하고,
     이 컴포넌트는 정렬·간격·색·자간·대문자 같은
     시각 디테일만 정의한다.
     =================================================== */
  .ui-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.8rem;
    color: var(--clr-gray-500);
    text-transform: uppercase;
    letter-spacing: var(--tracking-caps, 0.06em);
  }
  .ui-breadcrumb a {
    color: var(--clr-primary-500);
    text-decoration: none;
    text-decoration-color: transparent;
    transition: color var(--dur-base, 0.2s), text-decoration-color var(--dur-base, 0.2s);
  }
  .ui-breadcrumb a:hover, .ui-breadcrumb a:focus-visible {
    text-decoration: underline;
    text-decoration-color: var(--clr-primary-500);
    text-underline-offset: 3px;
  }
  .ui-breadcrumb span {
    color: var(--clr-gray-400);
  }
  .ui-breadcrumb__sep {
    display: inline-block;
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 50%;
    background-color: var(--clr-primary-500);
    opacity: 0.6;
    vertical-align: middle;
    margin-bottom: 0.1rem;
  }
  .ui-share-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: 0.8rem 1.6rem;
    border: 1px solid var(--clr-gray-300);
    border-radius: var(--radius-round);
    background: var(--clr-base-white);
    color: var(--clr-text-primary);
    cursor: pointer;
    transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
  }
  .ui-share-btn i {
    font-size: 1.4rem;
  }
  .ui-share-btn:hover {
    border-color: var(--clr-primary-400);
    color: var(--clr-primary-400);
  }
  .ui-share-modal {
    display: flex;
    flex-direction: column;
  }
  .ui-share-modal__nets-label {
    margin-bottom: var(--spacing-md);
    color: var(--clr-text-secondary);
    text-align: center;
  }
  .ui-share-modal__nets {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--spacing-lg);
  }
  .ui-share-modal__net {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-xs);
    color: var(--clr-text-secondary);
  }
  .ui-share-modal__net:hover .ui-share-modal__net-icon {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  }
  .ui-share-modal__net-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(4.8rem, 0.5177993528vw + 4.6058252427rem, 5.6rem);
    height: clamp(4.8rem, 0.5177993528vw + 4.6058252427rem, 5.6rem);
    border-radius: var(--radius-round);
    background: var(--clr-gray-100);
    color: var(--clr-text-primary);
    font-size: clamp(1.8rem, 0.2588996764vw + 1.7029126214rem, 2.2rem);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .ui-share-modal__net-label {
    color: var(--clr-text-secondary);
  }
  .ui-share-modal__net--x .ui-share-modal__net-icon {
    background: #000;
    color: #fff;
  }
  .ui-share-modal__net--fb .ui-share-modal__net-icon {
    background: #1877f2;
    color: #fff;
  }
  .ui-share-modal__net--in .ui-share-modal__net-icon {
    background: #0a66c2;
    color: #fff;
  }
  .ui-share-modal__net--mail .ui-share-modal__net-icon {
    background: var(--clr-primary-700);
    color: var(--clr-base-white);
  }
  .ui-share-modal__divider {
    height: 1px;
    margin: var(--spacing-lg) 0;
    background: var(--clr-gray-200);
  }
  .ui-share-modal__label {
    display: block;
    margin-bottom: var(--spacing-xs);
    color: var(--clr-text-secondary);
  }
  .ui-share-modal__copy-row {
    display: flex;
    gap: var(--spacing-sm);
  }
  @media (max-width: 768px) {
    .ui-share-modal__copy-row {
      flex-direction: column;
    }
  }
  .ui-share-modal__input {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0.9rem 1.6rem;
    border: 1px solid var(--clr-gray-300);
    border-radius: var(--radius-round);
    background: var(--clr-gray-50);
    color: var(--clr-text-secondary);
  }
  .ui-share-modal__copy-btn {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-xs);
    padding: 0.9rem 2rem;
    border: 1px solid var(--clr-gray-300);
    border-radius: var(--radius-round);
    background: var(--clr-base-white);
    color: var(--clr-text-primary);
    white-space: nowrap;
    cursor: pointer;
    transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
  }
  .ui-share-modal__copy-btn:hover {
    border-color: var(--clr-primary-500);
    color: var(--clr-primary-500);
    background: var(--clr-gray-50);
  }
  /**
   * ui-toast — 공개 KEY 클리닉 피드백 표면.
   *
   * Toast.ts 는 admin/public 모두 같은 DOM을 만들므로, 공개 범위만 명시해 admin의
   * 상태 토큰을 보존한다. 타입 위계는 TS가 부여하는 no-body-sm 유틸이 담당한다.
   */
  body:not(.admin) .ui-toast-container {
    position: fixed;
    left: 0;
    right: 0;
    bottom: var(--public-space-lg);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--public-space-2xs);
    pointer-events: none;
    z-index: 30000;
  }
  body:not(.admin) .ui-toast {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(100vw - var(--public-shell-gutter) * 2, var(--public-cart-toast-max));
    min-height: var(--public-cart-toast-min-height);
    gap: var(--public-space-md);
    padding: var(--public-cart-toast-padding-block) var(--public-cart-toast-padding-inline);
    border: 0;
    border-radius: 0;
    background: var(--public-navy-deep);
    color: var(--public-white);
    box-shadow: none;
    pointer-events: auto;
    animation: ui-toast-in var(--public-duration) var(--public-ease);
  }
  body:not(.admin) .ui-toast__icon {
    display: none;
  }
  body:not(.admin) .ui-toast__msg {
    display: block;
    overflow: visible;
    color: inherit;
    white-space: nowrap;
  }
  body:not(.admin) .ui-toast__action {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--public-cart-toast-action);
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    margin: 0;
    padding: 0;
    white-space: nowrap;
  }
  body:not(.admin) .ui-toast__action:hover, body:not(.admin) .ui-toast__action:focus-visible {
    text-decoration: underline;
  }
  body:not(.admin) .ui-toast.is-leaving {
    opacity: 0;
    transform: translateY(8px);
    transition: opacity var(--tran-15), transform var(--tran-15);
  }
  @media (max-width: 767px) {
    body:not(.admin) .ui-toast {
      min-height: auto;
      gap: var(--public-space-md);
      padding: var(--public-space-md);
    }
  }
  @keyframes ui-toast-in {
    from {
      opacity: 0;
      transform: translateY(var(--public-space-xs));
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  /* ===================================================
     Empty State (미니멀 톤)
     목록 0건 등 빈 상태를 중앙 정렬 + 라인 아이콘으로 표시.
     타이포 위계는 no-body-* 유틸로만 부여 (절대규칙 #17-A).
     spacing 은 토큰만 사용 (절대규칙 #17-B).
     =================================================== */
  .empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: var(--spacing-sm);
    padding-block: var(--section-md);
    padding-inline: var(--spacing-lg);
    color: var(--clr-text-sub);
    list-style: none;
  }
  .empty-state__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--spacing-3xl);
    height: var(--spacing-3xl);
    margin-bottom: var(--spacing-xs);
    color: var(--clr-text-aux);
    opacity: 0.85;
  }
  .empty-state__icon svg {
    width: 100%;
    height: 100%;
    display: block;
  }
  .empty-state__message {
    color: var(--clr-text-base);
    margin: 0;
  }
  .empty-state__eyebrow {
    margin: 0;
  }
  .empty-state__description {
    color: var(--clr-text-aux);
    margin: 0;
    max-width: 42ch;
  }
  .empty-state--compact {
    padding-block: var(--section-xs);
    gap: var(--spacing-xs);
  }
  .empty-state--compact .empty-state__icon {
    width: var(--spacing-2xl);
    height: var(--spacing-2xl);
    margin-bottom: 0;
  }
  .empty-state--editorial {
    display: grid;
    grid-template-areas: "icon eyebrow" "icon message" "icon description";
    grid-template-columns: clamp(7.2rem, 2.071197411vw + 6.4233009709rem, 10.4rem) minmax(0, 1fr);
    min-height: clamp(22rem, 3.8834951456vw + 20.5436893204rem, 28rem);
    padding: var(--public-space-2xl);
    column-gap: var(--public-space-xl);
    row-gap: var(--public-space-2xs);
    align-content: center;
    align-items: start;
    justify-items: start;
    color: var(--public-ink);
    text-align: left;
    background: var(--public-white);
    border-block: 1px solid var(--public-ink);
  }
  .empty-state--editorial .empty-state__icon {
    grid-area: icon;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    margin: 0;
    align-self: center;
    color: var(--public-ink);
    background: var(--public-white);
    border: 1px solid var(--public-ink);
  }
  .empty-state--editorial .empty-state__eyebrow {
    grid-area: eyebrow;
    color: var(--public-ink);
  }
  .empty-state--editorial .empty-state__message {
    grid-area: message;
    color: var(--public-ink);
  }
  .empty-state--editorial .empty-state__description {
    grid-area: description;
    max-width: 52ch;
    color: var(--public-ink);
  }
  @media (max-width: 767px) {
    .empty-state--editorial {
      grid-template-areas: "icon" "eyebrow" "message" "description";
      grid-template-columns: minmax(0, 1fr);
      justify-items: center;
      padding: var(--public-space-xl) var(--public-space-sm);
      text-align: center;
    }
    .empty-state--editorial .empty-state__icon {
      width: var(--public-space-page);
    }
  }
  .public-member-reservation-card {
    display: grid;
    min-height: 32rem;
    grid-template-rows: auto 1fr auto;
    border: 1px solid var(--public-line);
    background: var(--public-white);
    color: var(--public-ink);
    transition: border-color var(--public-duration) var(--public-ease);
  }
  .public-member-reservation-card:hover {
    border-color: var(--public-line-strong);
  }
  .public-member-reservation-card__head, .public-member-reservation-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--public-space-sm);
    padding: var(--public-space-md);
  }
  .public-member-reservation-card__head {
    border-bottom: 1px solid var(--public-line);
  }
  .public-member-reservation-card__number, .public-member-reservation-card__time, .public-member-reservation-card__items, .public-member-reservation-card__summary, .public-member-reservation-card__foot span {
    color: var(--public-muted);
  }
  .public-member-reservation-card__status {
    display: inline-flex;
    align-items: center;
    min-height: var(--public-space-lg);
    padding-inline: var(--public-space-xs);
    border: 1px solid var(--public-line);
    background: var(--public-surface);
  }
  .public-member-reservation-card--confirmed .public-member-reservation-card__status {
    border-color: var(--public-line-strong);
    background: var(--public-ink);
    color: var(--public-white);
  }
  .public-member-reservation-card--cancelled, .public-member-reservation-card--no_show {
    color: var(--public-muted);
  }
  .public-member-reservation-card__body {
    padding: var(--public-space-xl) var(--public-space-md);
  }
  .public-member-reservation-card__date {
    margin: 0;
  }
  .public-member-reservation-card__time {
    margin-top: var(--public-space-2xs);
  }
  .public-member-reservation-card__title {
    margin-top: var(--public-space-2xl);
  }
  .public-member-reservation-card__items {
    display: grid;
    gap: var(--public-space-2xs);
    margin: var(--public-space-sm) 0 0;
    padding: 0;
    list-style: none;
  }
  .public-member-reservation-card__items li {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .public-member-reservation-card__summary {
    margin-top: var(--public-space-sm);
  }
  .public-member-reservation-card__foot {
    border-top: 1px solid var(--public-line);
  }
  .public-member-reservation-card__foot strong {
    color: var(--public-ink);
  }
  @media (max-width: 767px) {
    .public-member-reservation-card {
      min-height: 28rem;
    }
  }
  .public-member-auth__section-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--public-space-sm);
  }
  .public-member-auth__view-switch {
    display: inline-flex;
    padding: var(--public-space-2xs);
    border: 1px solid var(--public-line);
    background: var(--public-white);
  }
  .public-member-auth__view-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--public-space-xs);
    min-height: var(--public-control-sm);
    padding-inline: var(--public-space-sm);
    border: 0;
    background: transparent;
    color: var(--public-muted);
    cursor: pointer;
  }
  .public-member-auth__view-button:hover, .public-member-auth__view-button:focus-visible {
    background: var(--public-surface);
    color: var(--public-ink);
  }
  .public-member-auth__view-button.is-active {
    background: var(--public-ink);
    color: var(--public-white);
  }
  .public-member-auth__view-button:focus-visible {
    outline: 2px solid var(--public-ink);
    outline-offset: 2px;
  }
  .public-member-auth__reservation-view[hidden] {
    display: none;
  }
  .public-member-reservation-card {
    position: relative;
    min-height: 29rem;
  }
  .public-member-reservation-card__open {
    position: absolute;
    z-index: 1;
    inset: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
  }
  .public-member-reservation-card__open:focus-visible {
    outline: 2px solid var(--public-ink);
    outline-offset: 3px;
  }
  .public-member-reservation-card__body {
    display: flex;
    flex-direction: column;
  }
  .public-member-reservation-card__title {
    margin: 0;
  }
  .public-member-reservation-card__type, .public-member-reservation-card__label, .public-member-reservation-card__price small {
    color: var(--public-muted);
  }
  .public-member-reservation-card__schedule {
    display: grid;
    gap: var(--public-space-2xs);
    margin-top: auto;
    padding-top: var(--public-space-xl);
  }
  .public-member-reservation-card__datetime {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--public-space-sm);
  }
  .public-member-reservation-card__datetime strong {
    font: inherit;
    white-space: nowrap;
  }
  .public-member-reservation-card__price {
    display: grid;
    justify-items: end;
    gap: var(--public-space-2xs);
    text-align: right;
  }
  .public-member-reservation-card__price strong {
    color: var(--public-ink);
  }
  .public-member-reservation-detail {
    display: grid;
    gap: var(--public-space-xl);
  }
  .public-member-reservation-detail__schedule {
    display: grid;
    gap: var(--public-space-xs);
    padding-bottom: var(--public-space-lg);
    border-bottom: 1px solid var(--public-line);
  }
  .public-member-reservation-detail__schedule > span, .public-member-reservation-detail__meta dt, .public-member-reservation-detail__items > p {
    color: var(--public-muted);
  }
  .public-member-reservation-detail__meta {
    display: grid;
    margin: 0;
  }
  .public-member-reservation-detail__meta > div {
    display: grid;
    grid-template-columns: minmax(10rem, 0.45fr) minmax(0, 1fr);
    gap: var(--public-space-md);
    padding-block: var(--public-space-sm);
    border-bottom: 1px solid var(--public-line);
  }
  .public-member-reservation-detail__meta dd {
    margin: 0;
    overflow-wrap: anywhere;
  }
  .public-member-reservation-detail__items {
    display: grid;
    gap: var(--public-space-sm);
  }
  .public-member-reservation-detail__items ul {
    display: grid;
    gap: var(--public-space-xs);
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .public-member-reservation-detail__items li {
    padding-bottom: var(--public-space-xs);
    border-bottom: 1px solid var(--public-line);
  }
  .public-member-reservation-detail__notice {
    padding-block: var(--public-space-md);
    border-block: 1px solid var(--public-line);
    color: var(--public-muted);
  }
  .public-member-reservation-calendar {
    border-top: 1px solid var(--public-line-strong);
  }
  .public-member-reservation-calendar__canvas {
    min-height: 54rem;
    padding-top: var(--public-space-lg);
  }
  .public-member-reservation-calendar .fc {
    color: var(--public-ink);
  }
  .public-member-reservation-calendar .fc .fc-toolbar {
    gap: var(--public-space-md);
    margin-bottom: var(--public-space-lg);
  }
  .public-member-reservation-calendar .fc .fc-toolbar-title {
    font-size: var(--heading-2xs-fs);
    font-weight: var(--heading-2xs-fw);
    line-height: var(--heading-2xs-lh);
  }
  .public-member-reservation-calendar .fc .fc-button-primary {
    min-height: var(--public-control-sm);
    padding-inline: var(--public-space-sm);
    border: 1px solid var(--public-line);
    border-radius: var(--public-radius-sm);
    background: var(--public-white);
    color: var(--public-ink);
    box-shadow: none;
  }
  .public-member-reservation-calendar .fc .fc-button-primary:hover,
  .public-member-reservation-calendar .fc .fc-button-primary:focus-visible,
  .public-member-reservation-calendar .fc .fc-button-primary:not(:disabled).fc-button-active {
    border-color: var(--public-line-strong);
    background: var(--public-surface);
    color: var(--public-ink);
    box-shadow: none;
  }
  .public-member-reservation-calendar .fc-theme-standard th,
  .public-member-reservation-calendar .fc-theme-standard td,
  .public-member-reservation-calendar .fc-theme-standard .fc-scrollgrid {
    border-color: var(--public-line);
  }
  .public-member-reservation-calendar .fc .fc-col-header-cell-cushion,
  .public-member-reservation-calendar .fc .fc-daygrid-day-number {
    color: var(--public-ink);
    text-decoration: none;
  }
  .public-member-reservation-calendar .fc .fc-daygrid-day-number {
    padding: var(--public-space-xs);
  }
  .public-member-reservation-calendar .fc .fc-day-today {
    background: var(--public-surface);
  }
  .public-member-reservation-calendar .fc .fc-daygrid-event {
    margin: var(--public-space-2xs);
    border: 1px solid var(--public-line);
    border-left: 3px solid var(--public-ink);
    border-radius: var(--public-radius-sm);
    background: var(--public-white);
    color: var(--public-ink);
    cursor: pointer;
  }
  .public-member-reservation-calendar .fc .fc-daygrid-event:focus-visible {
    outline: 2px solid var(--public-ink);
    outline-offset: 2px;
  }
  .public-member-reservation-calendar .fc .public-member-reservation-event--confirmed {
    border-left-color: var(--public-ink);
  }
  .public-member-reservation-calendar .fc .public-member-reservation-event--cancelled,
  .public-member-reservation-calendar .fc .public-member-reservation-event--no_show {
    opacity: 0.58;
  }
  .public-member-reservation-calendar__event {
    display: grid;
    gap: var(--public-space-2xs);
    min-width: 0;
    padding: var(--public-space-2xs) var(--public-space-xs);
  }
  .public-member-reservation-calendar__event-time {
    color: var(--public-muted);
  }
  .public-member-reservation-calendar__event-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .public-member-reservation-calendar .fc .fc-more-link {
    color: var(--public-ink);
  }
  .public-member-reservation-calendar .fc-theme-standard .fc-list,
  .public-member-reservation-calendar .fc-theme-standard .fc-list-day-cushion,
  .public-member-reservation-calendar .fc-theme-standard .fc-list-table td {
    border-color: var(--public-line);
  }
  .public-member-reservation-calendar .fc .fc-list-day-cushion {
    background: var(--public-surface);
  }
  .public-member-reservation-calendar .fc .fc-list-event:hover td {
    background: var(--public-surface);
  }
  body:not(.admin) .app-modal-backdrop--member-reservation {
    background: rgba(0, 0, 0, 0.52);
    backdrop-filter: none;
  }
  body:not(.admin) .app-modal-backdrop--member-reservation .app-modal-box--member-reservation {
    border: 1px solid var(--public-line);
    border-radius: 0;
    background: var(--public-white);
    box-shadow: 0 2.4rem 5rem rgba(0, 0, 0, 0.18);
  }
  body:not(.admin) .app-modal-backdrop--member-reservation .app-modal-box--member-reservation :focus-visible {
    outline-color: var(--public-ink);
  }
  body:not(.admin) .app-modal-backdrop--member-reservation .app-modal-box--member-reservation .app-modal-header,
  body:not(.admin) .app-modal-backdrop--member-reservation .app-modal-box--member-reservation .app-modal-body,
  body:not(.admin) .app-modal-backdrop--member-reservation .app-modal-box--member-reservation .app-modal-footer {
    background: var(--public-white);
  }
  body:not(.admin) .app-modal-backdrop--member-reservation .app-modal-box--member-reservation .app-modal-close:hover,
  body:not(.admin) .app-modal-backdrop--member-reservation .app-modal-box--member-reservation .app-modal-close:focus-visible {
    background: var(--public-surface);
    color: var(--public-ink);
  }
  body:not(.admin) .app-modal-backdrop--member-reservation .app-modal-box--member-reservation .app-modal-btn--primary,
  body:not(.admin) .app-modal-backdrop--member-reservation .app-modal-box--member-reservation .app-modal-btn--primary:hover,
  body:not(.admin) .app-modal-backdrop--member-reservation .app-modal-box--member-reservation .app-modal-btn--primary:focus-visible {
    border-color: var(--public-ink);
    background: var(--public-ink);
    color: var(--public-white);
  }
  @media (max-width: 767px) {
    .public-member-auth__section-actions {
      align-items: stretch;
      flex-direction: column-reverse;
    }
    .public-member-auth__view-switch, .public-member-auth__section-actions > .public-button {
      width: 100%;
    }
    .public-member-auth__view-button {
      flex: 1 1 50%;
    }
    .public-member-reservation-card {
      min-height: 26rem;
    }
    .public-member-reservation-detail__meta > div {
      grid-template-columns: 1fr;
      gap: var(--public-space-2xs);
    }
    .public-member-reservation-calendar__canvas {
      min-height: 46rem;
    }
    .public-member-reservation-calendar .fc .fc-toolbar {
      align-items: flex-start;
      flex-wrap: wrap;
    }
  }
  /* ===================================================
     newsletter-form — Footer 뉴스레터 구독 form (지시서 §3.6)
     - 이메일 input + Subscribe 버튼. 위계/폰트는 마크업 .no-* 유틸 담당(rule #17).
     - newsletter-footer-band 섹션의 form 패턴을 단독 컴포넌트로 추출(rule #19).
     - spacing/색은 토큰만(rule #10·#17 §B).
     =================================================== */
  .newsletter-form {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    max-width: 42rem;
  }
  .newsletter-form__label {
    color: var(--clr-text-secondary);
    text-transform: uppercase;
    letter-spacing: var(--tracking-caps);
  }
  .newsletter-form__row {
    display: flex;
    gap: var(--spacing-sm);
    align-items: stretch;
  }
  .newsletter-form__input {
    flex: 1;
    padding: var(--spacing-sm) var(--spacing-md);
    border: 1px solid var(--clr-gray-300);
    background: var(--clr-base-white);
    color: var(--clr-text-primary);
  }
  .newsletter-form__input::placeholder {
    color: var(--clr-text-secondary);
  }
  .newsletter-form__input:focus {
    outline: 0;
    border-color: var(--clr-primary-700);
  }
  .newsletter-form__btn {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-sm) var(--spacing-lg);
    border: 0;
    background: var(--clr-primary-700);
    color: var(--clr-base-white);
    cursor: pointer;
    flex-shrink: 0;
    transition: background var(--dur-fast) var(--ease-out-quart);
  }
  .newsletter-form__btn:hover {
    background: var(--clr-primary-hover);
  }
  .newsletter-form__btn:focus-visible {
    outline: 2px solid var(--clr-primary-accent);
    outline-offset: 2px;
  }
  .newsletter-form__btn-icon {
    display: inline-flex;
    transition: transform var(--dur-base) var(--ease-out-quart);
  }
  .newsletter-form__btn:hover .newsletter-form__btn-icon {
    transform: translateX(3px);
  }
  .newsletter-form {
    /* 다크 배경 위 사용 시(현재 Footer 는 라이트라 미사용, 향후 확장 대비) */
  }
  .newsletter-form--on-dark .newsletter-form__label {
    color: rgba(255, 255, 255, 0.7);
  }
  .newsletter-form--on-dark .newsletter-form__input {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.25);
    color: #fff;
  }
  .newsletter-form--on-dark .newsletter-form__input::placeholder {
    color: rgba(255, 255, 255, 0.5);
  }
  /* Reservation page components */
  /**
   * rsv-eq-item — 장비 목록 1행 컴포넌트.
   * 타이포 위계는 HTML .no-* 유틸로만(규칙 #17-A). 여기선 레이아웃·색·상태만.
   */
  .rsv-eq-item {
    display: flex;
    gap: var(--spacing-sm);
    padding: clamp(1.2rem, 0.2588996764vw + 1.1029126214rem, 1.6rem) clamp(1.4rem, 0.3883495146vw + 1.254368932rem, 2rem);
    border-bottom: 1px solid var(--clr-gray-200);
    background: transparent;
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--tran-15);
  }
  .rsv-eq-item:hover {
    background: var(--clr-gray-50);
  }
  .rsv-eq-item.is-active {
    background: var(--clr-primary-50);
    border-left: 3px solid var(--clr-primary-700);
  }
  .rsv-eq-item__thumb {
    flex-shrink: 0;
    width: 6.4rem;
    height: 6.4rem;
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: var(--clr-gray-100);
  }
  .rsv-eq-item__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .rsv-eq-item__thumb-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    background: var(--clr-gray-200);
  }
  .rsv-eq-item__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
  }
  .rsv-eq-item__name {
    display: block;
    color: var(--clr-text-base);
  }
  .is-active .rsv-eq-item__name {
    color: var(--clr-primary-900);
  }
  .rsv-eq-item__sub {
    display: block;
    color: var(--clr-primary-700);
  }
  .rsv-eq-item__contact, .rsv-eq-item__phone {
    display: block;
    color: var(--clr-text-sub);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  /**
   * rsv-notices — 예약 페이지 우측 Notices 박스.
   * 타이포 위계는 HTML .no-* 유틸로만(규칙 #17-A). 여기선 레이아웃·색·상태만.
   */
  .rsv-notices {
    border: 1px solid var(--clr-gray-200);
    border-radius: var(--radius-md);
    background: #fff;
    overflow: hidden;
  }
  .rsv-notices__tabs {
    display: flex;
    border-bottom: 1px solid var(--clr-gray-200);
  }
  .rsv-notices__tab {
    flex: 1;
    padding: clamp(1rem, 0.2588996764vw + 0.9029126214rem, 1.4rem) clamp(1.2rem, 0.2588996764vw + 1.1029126214rem, 1.6rem);
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    color: var(--clr-text-sub);
    cursor: pointer;
    text-align: center;
    transition: color var(--tran-15), border-color var(--tran-15);
  }
  .rsv-notices__tab:hover {
    color: var(--clr-text-base);
  }
  .rsv-notices__tab.is-active {
    color: var(--clr-primary-900);
    border-bottom-color: var(--clr-primary-700);
  }
  .rsv-notices__list {
    list-style: none;
    padding: clamp(1.2rem, 0.2588996764vw + 1.1029126214rem, 1.6rem) clamp(1.4rem, 0.3883495146vw + 1.254368932rem, 2rem);
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(1.2rem, 0.3883495146vw + 1.054368932rem, 1.8rem);
  }
  .rsv-notices__item {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
  }
  .rsv-notices__tag {
    display: block;
    color: var(--clr-primary-700);
  }
  .rsv-notices__body {
    display: none;
  }
  .rsv-notices__pager {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--spacing-xs);
    padding: clamp(0.8rem, 0.2588996764vw + 0.7029126214rem, 1.2rem) clamp(1.4rem, 0.3883495146vw + 1.254368932rem, 2rem);
    border-top: 1px solid var(--clr-gray-200);
  }
  .rsv-notices__pager-count {
    color: var(--clr-text-sub);
    margin-right: auto;
  }
  .rsv-notices__pager-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.8rem;
    height: 2.8rem;
    border: 1px solid var(--clr-gray-300);
    border-radius: var(--radius-xs);
    background: #fff;
    color: var(--clr-text-base);
    cursor: pointer;
    transition: background-color var(--tran-15), border-color var(--tran-15);
  }
  .rsv-notices__pager-btn:hover {
    background: var(--clr-gray-50);
    border-color: var(--clr-gray-400);
  }
  /**
   * rsv-cal — 예약 월간 스케줄 달력 컴포넌트.
   * board-calendar와 완전 독립(BEM: rsv-cal).
   * 타이포 위계는 HTML .no-* 유틸로만(규칙 #17-A). 여기선 레이아웃·색·상태만.
   */
  .rsv-cal__head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: clamp(1.2rem, 0.5177993528vw + 1.0058252427rem, 2rem);
    margin-bottom: clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
  }
  @media (max-width: 768px) {
    .rsv-cal__head {
      flex-direction: column;
      align-items: flex-start;
    }
  }
  .rsv-cal__view-toggle {
    display: inline-flex;
    border: 1px solid var(--clr-gray-300);
    border-radius: var(--radius-sm);
    overflow: hidden;
  }
  .rsv-cal__view-btn {
    padding: clamp(0.8rem, 0.2588996764vw + 0.7029126214rem, 1.2rem) clamp(1.4rem, 0.2588996764vw + 1.3029126214rem, 1.8rem);
    background: #fff;
    border: 0;
    color: var(--clr-text-sub);
    cursor: pointer;
    transition: background-color var(--tran-15), color var(--tran-15);
  }
  .rsv-cal__view-btn + .rsv-cal__view-btn {
    border-left: 1px solid var(--clr-gray-300);
  }
  .rsv-cal__view-btn.is-active {
    background: var(--clr-primary-900);
    color: #fff;
  }
  .rsv-cal__view-btn:not(.is-active):hover {
    background: var(--clr-gray-50);
    color: var(--clr-text-base);
  }
  .rsv-cal__nav {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-md);
    margin-left: auto;
  }
  @media (max-width: 768px) {
    .rsv-cal__nav {
      margin-left: 0;
    }
  }
  .rsv-cal__nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.2rem;
    height: 3.2rem;
    border: 1px solid var(--clr-gray-300);
    border-radius: var(--radius-xs);
    background: #fff;
    color: var(--clr-text-base);
    text-decoration: none;
    transition: background-color var(--tran-15);
  }
  .rsv-cal__nav-btn:hover {
    background: var(--clr-gray-50);
  }
  .rsv-cal__month {
    color: var(--clr-text-base);
    min-width: 9rem;
    text-align: center;
  }
  .rsv-cal__legend {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-md);
    flex-wrap: wrap;
  }
  .rsv-cal__legend-item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--clr-text-sub);
  }
  .rsv-cal__chip {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border-radius: var(--radius-xs);
    flex-shrink: 0;
  }
  .rsv-cal__chip--pending {
    background: var(--clr-gray-300);
  }
  .rsv-cal__chip--approved {
    background: var(--clr-primary-700);
  }
  .rsv-cal__chip--completed {
    background: #15803d;
  }
  .rsv-cal__grid {
    border: 1px solid var(--clr-gray-200);
    border-radius: var(--radius-md);
    overflow: hidden;
  }
  .rsv-cal__weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    background: var(--clr-primary-900);
  }
  .rsv-cal__weekday {
    padding: clamp(0.8rem, 0.2588996764vw + 0.7029126214rem, 1.2rem) clamp(0.4rem, 0.2588996764vw + 0.3029126214rem, 0.8rem);
    color: rgba(255, 255, 255, 0.85);
    text-align: center;
  }
  .rsv-cal__week {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    border-bottom: 1px solid var(--clr-gray-200);
  }
  .rsv-cal__week:last-child {
    border-bottom: 0;
  }
  .rsv-cal__cell {
    min-height: clamp(8rem, 2.5889967638vw + 7.0291262136rem, 12rem);
    border-right: 1px solid var(--clr-gray-200);
    padding: clamp(0.4rem, 0.2588996764vw + 0.3029126214rem, 0.8rem) clamp(0.4rem, 0.1294498382vw + 0.3514563107rem, 0.6rem);
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    background: #fff;
  }
  .rsv-cal__cell:last-child {
    border-right: 0;
  }
  .rsv-cal__cell--empty {
    background: var(--clr-gray-50);
  }
  .rsv-cal__cell--today {
    background: var(--clr-primary-50);
  }
  .rsv-cal__day-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    color: var(--clr-text-sub);
    align-self: flex-start;
  }
  .rsv-cal__day-num--today {
    background: var(--clr-primary-700);
    color: #fff;
    border-radius: 50%;
  }
  .rsv-cal__slot {
    display: block;
    width: 100%;
    padding: 0.2rem 0.4rem;
    border: 0;
    border-radius: var(--radius-xs);
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    transition: opacity var(--tran-15);
  }
  .rsv-cal__slot:hover {
    opacity: 0.8;
  }
  .rsv-cal__slot--pending {
    background: var(--clr-gray-200);
    color: var(--clr-text-sub);
  }
  .rsv-cal__slot--approved {
    background: var(--clr-primary-700);
    color: #fff;
  }
  .rsv-cal__slot--completed {
    background: #15803d;
    color: #fff;
  }
  .rsv-cal__footnote {
    margin-top: var(--spacing-sm);
    color: var(--clr-text-sub);
  }
  /* Third-party wrappers */
  :root {
    --iti-hover-color: rgba(0, 0, 0, 0.05);
    --iti-border-color: #ccc;
    --iti-dropdown-bg: white;
    --iti-icon-color: #555;
    --iti-spacer-horizontal: 8px;
    --iti-flag-height: 12px;
    --iti-flag-width: 16px;
    --iti-globe-height: 16px;
    --iti-search-clear-icon-height: 13px;
    --iti-border-width: 1px;
    --iti-arrow-height: 4px;
    --iti-arrow-width: calc((var(--iti-arrow-height) / 2) * 3);
    --iti-triangle-border: calc(var(--iti-arrow-width) / 2);
    --iti-arrow-padding: 6px;
    --iti-flag-sprite-width: 3904px;
    --iti-flag-sprite-height: 12px;
    --iti-mobile-popup-margin: 30px;
  }
  .iti {
    position: relative;
    display: inline-block;
  }
  .iti * {
    box-sizing: border-box;
  }
  .iti__a11y-text {
    width: 1px;
    height: 1px;
    clip: rect(1px, 1px, 1px, 1px);
    overflow: hidden;
    position: absolute;
  }
  .iti input.iti__tel-input,
  .iti input.iti__tel-input[type=text],
  .iti input.iti__tel-input[type=tel] {
    position: relative;
    z-index: 0;
    margin: 0 !important;
  }
  .iti__country-container {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    padding: var(--iti-border-width);
  }
  .iti__selected-country {
    z-index: 1;
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
    background: none;
    border: 0;
    margin: 0;
    padding: 0;
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    border-radius: 0;
    font-weight: inherit;
    line-height: inherit;
    text-decoration: none;
  }
  .iti__selected-country-primary {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 var(--iti-arrow-padding) 0 var(--iti-spacer-horizontal);
  }
  .iti__arrow {
    margin-left: var(--iti-arrow-padding);
    width: 0;
    height: 0;
    border-left: var(--iti-triangle-border) solid transparent;
    border-right: var(--iti-triangle-border) solid transparent;
    border-top: var(--iti-arrow-height) solid var(--iti-icon-color);
  }
  .iti__arrow--up {
    border-top: none;
    border-bottom: var(--iti-arrow-height) solid var(--iti-icon-color);
  }
  .iti__dropdown-content {
    border-radius: 3px;
    background-color: var(--iti-dropdown-bg);
  }
  .iti--inline-dropdown .iti__dropdown-content {
    border: var(--iti-border-width) solid var(--iti-border-color);
    box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
  }
  .iti--inline-dropdown:not(.iti--container) .iti__dropdown-content {
    position: absolute;
    z-index: 2;
    left: 0;
  }
  .iti__search-input {
    width: 100%;
    border-width: 0;
    border-radius: 3px;
    padding-left: 30px;
    padding-right: 28px;
  }
  [dir=rtl] .iti__search-input {
    padding-left: inherit;
    padding-right: 30px;
    background-position: right 8px center;
  }
  .iti__search-input::-webkit-search-cancel-button {
    appearance: none;
  }
  .iti__search-input, .iti__country {
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .iti__search-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--iti-border-color);
  }
  .iti__search-icon {
    position: absolute;
    left: 8px;
    display: flex;
    pointer-events: none;
  }
  [dir=rtl] .iti__search-icon {
    left: auto;
    right: 8px;
  }
  .iti__search-icon-svg {
    width: var(--iti-globe-height);
    height: var(--iti-globe-height);
    display: block;
    stroke: var(--iti-icon-color);
    fill: none;
    stroke-width: 3;
  }
  .iti__search-clear {
    position: absolute;
    right: 4px;
    background: transparent;
    border: 0;
    border-radius: 3px;
    cursor: pointer;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease;
  }
  .iti__search-clear .iti__search-clear-x {
    stroke-width: 2;
  }
  .iti__search-clear .iti__search-clear-bg {
    fill: var(--iti-icon-color);
  }
  .iti__search-clear-svg {
    width: var(--iti-search-clear-icon-height);
    height: var(--iti-search-clear-icon-height);
    display: block;
  }
  [dir=rtl] .iti__search-clear {
    right: auto;
    left: 4px;
  }
  .iti__search-clear:hover, .iti__search-clear:focus-visible {
    background: var(--iti-hover-color);
    outline: none;
  }
  .iti__no-results {
    text-align: center;
    padding: 30px 0;
  }
  .iti__country-list {
    list-style: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
  .iti--inline-dropdown .iti__country-list {
    max-height: 185px;
  }
  .iti--flexible-dropdown-width .iti__country-list {
    white-space: nowrap;
  }
  @media (max-width: 500px) {
    .iti--flexible-dropdown-width .iti__country-list {
      white-space: normal;
    }
  }
  .iti__country {
    display: flex;
    align-items: center;
    padding-left: var(--iti-spacer-horizontal);
    padding-right: var(--iti-spacer-horizontal);
    outline: none;
  }
  .iti__country-name {
    flex-grow: 1;
  }
  .iti__country-check {
    margin: 0 1px 0 var(--iti-spacer-horizontal);
    display: flex;
    align-items: center;
    color: var(--iti-icon-color);
  }
  .iti__country-check-svg {
    width: var(--iti-search-clear-icon-height);
    height: var(--iti-search-clear-icon-height);
    display: block;
  }
  .iti__country.iti__highlight {
    background-color: var(--iti-hover-color);
  }
  .iti__country-list .iti__flag {
    margin-right: var(--iti-spacer-horizontal);
  }
  [dir=rtl] .iti__country-list .iti__flag {
    margin-right: 0;
    margin-left: var(--iti-spacer-horizontal);
  }
  .iti__country-list .iti__flag {
    flex-shrink: 0;
  }
  .iti--allow-dropdown .iti__country-container:has(+ input[disabled]) button.iti__selected-country,
  .iti--allow-dropdown .iti__country-container:has(+ input[readonly]) button.iti__selected-country {
    cursor: not-allowed;
  }
  .iti--allow-dropdown .iti__country-container:has(+ input[disabled]) button.iti__selected-country .iti__arrow,
  .iti--allow-dropdown .iti__country-container:has(+ input[readonly]) button.iti__selected-country .iti__arrow {
    visibility: hidden;
  }
  .iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country-primary:hover,
  .iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country:has(+ .iti__dropdown-content:hover) .iti__selected-country-primary {
    background-color: var(--iti-hover-color);
  }
  .iti .iti__selected-dial-code {
    margin-left: 4px;
  }
  .iti--container {
    position: fixed;
    top: -1000px;
    left: -1000px;
    z-index: 1060;
  }
  .iti--container:hover {
    cursor: pointer;
  }
  .iti__hide {
    display: none;
  }
  .iti__v-hide {
    visibility: hidden;
  }
  .iti--fullscreen-popup.iti--container {
    background-color: rgba(0, 0, 0, 0.5);
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    position: fixed;
    padding: var(--iti-mobile-popup-margin);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }
  .iti--fullscreen-popup .iti__dropdown-content {
    display: flex;
    flex-direction: column;
    max-height: 100%;
    position: relative;
  }
  .iti--fullscreen-popup .iti__country,
  .iti--fullscreen-popup .iti__search-input {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .iti--fullscreen-popup .iti__country {
    padding-left: 10px;
    padding-right: 10px;
    line-height: 1.5em;
  }
  .iti__flag {
    --iti-flag-offset: 100px;
    height: var(--iti-flag-height);
    width: var(--iti-flag-width);
    border-radius: 1px;
    box-shadow: 0px 0px 1px 0px #888;
    background-image: image-set(var(--iti-path-flags-1x) 1x, var(--iti-path-flags-2x) 2x);
    background-repeat: no-repeat;
    background-position: var(--iti-flag-offset) 0;
    background-size: var(--iti-flag-sprite-width) var(--iti-flag-sprite-height);
  }
  .iti__loading {
    position: relative;
    background: none;
    box-shadow: none;
  }
  .iti__loading::after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: var(--iti-flag-height);
    height: var(--iti-flag-height);
    box-sizing: border-box;
    border: 2px solid var(--iti-icon-color);
    border-right-color: transparent;
    border-radius: 50%;
    animation: iti-spinner 1s linear infinite;
  }
  @keyframes iti-spinner {
    to {
      transform: rotate(360deg);
    }
  }
  .iti__ac {
    --iti-flag-offset: 0px;
  }
  .iti__ad {
    --iti-flag-offset: -16px;
  }
  .iti__ae {
    --iti-flag-offset: -32px;
  }
  .iti__af {
    --iti-flag-offset: -48px;
  }
  .iti__ag {
    --iti-flag-offset: -64px;
  }
  .iti__ai {
    --iti-flag-offset: -80px;
  }
  .iti__al {
    --iti-flag-offset: -96px;
  }
  .iti__am {
    --iti-flag-offset: -112px;
  }
  .iti__ao {
    --iti-flag-offset: -128px;
  }
  .iti__ar {
    --iti-flag-offset: -144px;
  }
  .iti__as {
    --iti-flag-offset: -160px;
  }
  .iti__at {
    --iti-flag-offset: -176px;
  }
  .iti__au {
    --iti-flag-offset: -192px;
  }
  .iti__aw {
    --iti-flag-offset: -208px;
  }
  .iti__ax {
    --iti-flag-offset: -224px;
  }
  .iti__az {
    --iti-flag-offset: -240px;
  }
  .iti__ba {
    --iti-flag-offset: -256px;
  }
  .iti__bb {
    --iti-flag-offset: -272px;
  }
  .iti__bd {
    --iti-flag-offset: -288px;
  }
  .iti__be {
    --iti-flag-offset: -304px;
  }
  .iti__bf {
    --iti-flag-offset: -320px;
  }
  .iti__bg {
    --iti-flag-offset: -336px;
  }
  .iti__bh {
    --iti-flag-offset: -352px;
  }
  .iti__bi {
    --iti-flag-offset: -368px;
  }
  .iti__bj {
    --iti-flag-offset: -384px;
  }
  .iti__bl {
    --iti-flag-offset: -400px;
  }
  .iti__bm {
    --iti-flag-offset: -416px;
  }
  .iti__bn {
    --iti-flag-offset: -432px;
  }
  .iti__bo {
    --iti-flag-offset: -448px;
  }
  .iti__bq {
    --iti-flag-offset: -464px;
  }
  .iti__br {
    --iti-flag-offset: -480px;
  }
  .iti__bs {
    --iti-flag-offset: -496px;
  }
  .iti__bt {
    --iti-flag-offset: -512px;
  }
  .iti__bw {
    --iti-flag-offset: -528px;
  }
  .iti__by {
    --iti-flag-offset: -544px;
  }
  .iti__bz {
    --iti-flag-offset: -560px;
  }
  .iti__ca {
    --iti-flag-offset: -576px;
  }
  .iti__cc {
    --iti-flag-offset: -592px;
  }
  .iti__cd {
    --iti-flag-offset: -608px;
  }
  .iti__cf {
    --iti-flag-offset: -624px;
  }
  .iti__cg {
    --iti-flag-offset: -640px;
  }
  .iti__ch {
    --iti-flag-offset: -656px;
  }
  .iti__ci {
    --iti-flag-offset: -672px;
  }
  .iti__ck {
    --iti-flag-offset: -688px;
  }
  .iti__cl {
    --iti-flag-offset: -704px;
  }
  .iti__cm {
    --iti-flag-offset: -720px;
  }
  .iti__cn {
    --iti-flag-offset: -736px;
  }
  .iti__co {
    --iti-flag-offset: -752px;
  }
  .iti__cr {
    --iti-flag-offset: -768px;
  }
  .iti__cu {
    --iti-flag-offset: -784px;
  }
  .iti__cv {
    --iti-flag-offset: -800px;
  }
  .iti__cw {
    --iti-flag-offset: -816px;
  }
  .iti__cx {
    --iti-flag-offset: -832px;
  }
  .iti__cy {
    --iti-flag-offset: -848px;
  }
  .iti__cz {
    --iti-flag-offset: -864px;
  }
  .iti__de {
    --iti-flag-offset: -880px;
  }
  .iti__dj {
    --iti-flag-offset: -896px;
  }
  .iti__dk {
    --iti-flag-offset: -912px;
  }
  .iti__dm {
    --iti-flag-offset: -928px;
  }
  .iti__do {
    --iti-flag-offset: -944px;
  }
  .iti__dz {
    --iti-flag-offset: -960px;
  }
  .iti__ec {
    --iti-flag-offset: -976px;
  }
  .iti__ee {
    --iti-flag-offset: -992px;
  }
  .iti__eg {
    --iti-flag-offset: -1008px;
  }
  .iti__eh {
    --iti-flag-offset: -1024px;
  }
  .iti__er {
    --iti-flag-offset: -1040px;
  }
  .iti__es {
    --iti-flag-offset: -1056px;
  }
  .iti__et {
    --iti-flag-offset: -1072px;
  }
  .iti__fi {
    --iti-flag-offset: -1088px;
  }
  .iti__fj {
    --iti-flag-offset: -1104px;
  }
  .iti__fk {
    --iti-flag-offset: -1120px;
  }
  .iti__fm {
    --iti-flag-offset: -1136px;
  }
  .iti__fo {
    --iti-flag-offset: -1152px;
  }
  .iti__fr {
    --iti-flag-offset: -1168px;
  }
  .iti__ga {
    --iti-flag-offset: -1184px;
  }
  .iti__gb {
    --iti-flag-offset: -1200px;
  }
  .iti__gd {
    --iti-flag-offset: -1216px;
  }
  .iti__ge {
    --iti-flag-offset: -1232px;
  }
  .iti__gf {
    --iti-flag-offset: -1248px;
  }
  .iti__gg {
    --iti-flag-offset: -1264px;
  }
  .iti__gh {
    --iti-flag-offset: -1280px;
  }
  .iti__gi {
    --iti-flag-offset: -1296px;
  }
  .iti__gl {
    --iti-flag-offset: -1312px;
  }
  .iti__gm {
    --iti-flag-offset: -1328px;
  }
  .iti__gn {
    --iti-flag-offset: -1344px;
  }
  .iti__gp {
    --iti-flag-offset: -1360px;
  }
  .iti__gq {
    --iti-flag-offset: -1376px;
  }
  .iti__gr {
    --iti-flag-offset: -1392px;
  }
  .iti__gt {
    --iti-flag-offset: -1408px;
  }
  .iti__gu {
    --iti-flag-offset: -1424px;
  }
  .iti__gw {
    --iti-flag-offset: -1440px;
  }
  .iti__gy {
    --iti-flag-offset: -1456px;
  }
  .iti__hk {
    --iti-flag-offset: -1472px;
  }
  .iti__hn {
    --iti-flag-offset: -1488px;
  }
  .iti__hr {
    --iti-flag-offset: -1504px;
  }
  .iti__ht {
    --iti-flag-offset: -1520px;
  }
  .iti__hu {
    --iti-flag-offset: -1536px;
  }
  .iti__id {
    --iti-flag-offset: -1552px;
  }
  .iti__ie {
    --iti-flag-offset: -1568px;
  }
  .iti__il {
    --iti-flag-offset: -1584px;
  }
  .iti__im {
    --iti-flag-offset: -1600px;
  }
  .iti__in {
    --iti-flag-offset: -1616px;
  }
  .iti__io {
    --iti-flag-offset: -1632px;
  }
  .iti__iq {
    --iti-flag-offset: -1648px;
  }
  .iti__ir {
    --iti-flag-offset: -1664px;
  }
  .iti__is {
    --iti-flag-offset: -1680px;
  }
  .iti__it {
    --iti-flag-offset: -1696px;
  }
  .iti__je {
    --iti-flag-offset: -1712px;
  }
  .iti__jm {
    --iti-flag-offset: -1728px;
  }
  .iti__jo {
    --iti-flag-offset: -1744px;
  }
  .iti__jp {
    --iti-flag-offset: -1760px;
  }
  .iti__ke {
    --iti-flag-offset: -1776px;
  }
  .iti__kg {
    --iti-flag-offset: -1792px;
  }
  .iti__kh {
    --iti-flag-offset: -1808px;
  }
  .iti__ki {
    --iti-flag-offset: -1824px;
  }
  .iti__km {
    --iti-flag-offset: -1840px;
  }
  .iti__kn {
    --iti-flag-offset: -1856px;
  }
  .iti__kp {
    --iti-flag-offset: -1872px;
  }
  .iti__kr {
    --iti-flag-offset: -1888px;
  }
  .iti__kw {
    --iti-flag-offset: -1904px;
  }
  .iti__ky {
    --iti-flag-offset: -1920px;
  }
  .iti__kz {
    --iti-flag-offset: -1936px;
  }
  .iti__la {
    --iti-flag-offset: -1952px;
  }
  .iti__lb {
    --iti-flag-offset: -1968px;
  }
  .iti__lc {
    --iti-flag-offset: -1984px;
  }
  .iti__li {
    --iti-flag-offset: -2000px;
  }
  .iti__lk {
    --iti-flag-offset: -2016px;
  }
  .iti__lr {
    --iti-flag-offset: -2032px;
  }
  .iti__ls {
    --iti-flag-offset: -2048px;
  }
  .iti__lt {
    --iti-flag-offset: -2064px;
  }
  .iti__lu {
    --iti-flag-offset: -2080px;
  }
  .iti__lv {
    --iti-flag-offset: -2096px;
  }
  .iti__ly {
    --iti-flag-offset: -2112px;
  }
  .iti__ma {
    --iti-flag-offset: -2128px;
  }
  .iti__mc {
    --iti-flag-offset: -2144px;
  }
  .iti__md {
    --iti-flag-offset: -2160px;
  }
  .iti__me {
    --iti-flag-offset: -2176px;
  }
  .iti__mf {
    --iti-flag-offset: -2192px;
  }
  .iti__mg {
    --iti-flag-offset: -2208px;
  }
  .iti__mh {
    --iti-flag-offset: -2224px;
  }
  .iti__mk {
    --iti-flag-offset: -2240px;
  }
  .iti__ml {
    --iti-flag-offset: -2256px;
  }
  .iti__mm {
    --iti-flag-offset: -2272px;
  }
  .iti__mn {
    --iti-flag-offset: -2288px;
  }
  .iti__mo {
    --iti-flag-offset: -2304px;
  }
  .iti__mp {
    --iti-flag-offset: -2320px;
  }
  .iti__mq {
    --iti-flag-offset: -2336px;
  }
  .iti__mr {
    --iti-flag-offset: -2352px;
  }
  .iti__ms {
    --iti-flag-offset: -2368px;
  }
  .iti__mt {
    --iti-flag-offset: -2384px;
  }
  .iti__mu {
    --iti-flag-offset: -2400px;
  }
  .iti__mv {
    --iti-flag-offset: -2416px;
  }
  .iti__mw {
    --iti-flag-offset: -2432px;
  }
  .iti__mx {
    --iti-flag-offset: -2448px;
  }
  .iti__my {
    --iti-flag-offset: -2464px;
  }
  .iti__mz {
    --iti-flag-offset: -2480px;
  }
  .iti__na {
    --iti-flag-offset: -2496px;
  }
  .iti__nc {
    --iti-flag-offset: -2512px;
  }
  .iti__ne {
    --iti-flag-offset: -2528px;
  }
  .iti__nf {
    --iti-flag-offset: -2544px;
  }
  .iti__ng {
    --iti-flag-offset: -2560px;
  }
  .iti__ni {
    --iti-flag-offset: -2576px;
  }
  .iti__nl {
    --iti-flag-offset: -2592px;
  }
  .iti__no {
    --iti-flag-offset: -2608px;
  }
  .iti__np {
    --iti-flag-offset: -2624px;
  }
  .iti__nr {
    --iti-flag-offset: -2640px;
  }
  .iti__nu {
    --iti-flag-offset: -2656px;
  }
  .iti__nz {
    --iti-flag-offset: -2672px;
  }
  .iti__om {
    --iti-flag-offset: -2688px;
  }
  .iti__pa {
    --iti-flag-offset: -2704px;
  }
  .iti__pe {
    --iti-flag-offset: -2720px;
  }
  .iti__pf {
    --iti-flag-offset: -2736px;
  }
  .iti__pg {
    --iti-flag-offset: -2752px;
  }
  .iti__ph {
    --iti-flag-offset: -2768px;
  }
  .iti__pk {
    --iti-flag-offset: -2784px;
  }
  .iti__pl {
    --iti-flag-offset: -2800px;
  }
  .iti__pm {
    --iti-flag-offset: -2816px;
  }
  .iti__pr {
    --iti-flag-offset: -2832px;
  }
  .iti__ps {
    --iti-flag-offset: -2848px;
  }
  .iti__pt {
    --iti-flag-offset: -2864px;
  }
  .iti__pw {
    --iti-flag-offset: -2880px;
  }
  .iti__py {
    --iti-flag-offset: -2896px;
  }
  .iti__qa {
    --iti-flag-offset: -2912px;
  }
  .iti__re {
    --iti-flag-offset: -2928px;
  }
  .iti__ro {
    --iti-flag-offset: -2944px;
  }
  .iti__rs {
    --iti-flag-offset: -2960px;
  }
  .iti__ru {
    --iti-flag-offset: -2976px;
  }
  .iti__rw {
    --iti-flag-offset: -2992px;
  }
  .iti__sa {
    --iti-flag-offset: -3008px;
  }
  .iti__sb {
    --iti-flag-offset: -3024px;
  }
  .iti__sc {
    --iti-flag-offset: -3040px;
  }
  .iti__sd {
    --iti-flag-offset: -3056px;
  }
  .iti__se {
    --iti-flag-offset: -3072px;
  }
  .iti__sg {
    --iti-flag-offset: -3088px;
  }
  .iti__sh {
    --iti-flag-offset: -3104px;
  }
  .iti__si {
    --iti-flag-offset: -3120px;
  }
  .iti__sj {
    --iti-flag-offset: -3136px;
  }
  .iti__sk {
    --iti-flag-offset: -3152px;
  }
  .iti__sl {
    --iti-flag-offset: -3168px;
  }
  .iti__sm {
    --iti-flag-offset: -3184px;
  }
  .iti__sn {
    --iti-flag-offset: -3200px;
  }
  .iti__so {
    --iti-flag-offset: -3216px;
  }
  .iti__sr {
    --iti-flag-offset: -3232px;
  }
  .iti__ss {
    --iti-flag-offset: -3248px;
  }
  .iti__st {
    --iti-flag-offset: -3264px;
  }
  .iti__sv {
    --iti-flag-offset: -3280px;
  }
  .iti__sx {
    --iti-flag-offset: -3296px;
  }
  .iti__sy {
    --iti-flag-offset: -3312px;
  }
  .iti__sz {
    --iti-flag-offset: -3328px;
  }
  .iti__tc {
    --iti-flag-offset: -3344px;
  }
  .iti__td {
    --iti-flag-offset: -3360px;
  }
  .iti__tg {
    --iti-flag-offset: -3376px;
  }
  .iti__th {
    --iti-flag-offset: -3392px;
  }
  .iti__tj {
    --iti-flag-offset: -3408px;
  }
  .iti__tk {
    --iti-flag-offset: -3424px;
  }
  .iti__tl {
    --iti-flag-offset: -3440px;
  }
  .iti__tm {
    --iti-flag-offset: -3456px;
  }
  .iti__tn {
    --iti-flag-offset: -3472px;
  }
  .iti__to {
    --iti-flag-offset: -3488px;
  }
  .iti__tr {
    --iti-flag-offset: -3504px;
  }
  .iti__tt {
    --iti-flag-offset: -3520px;
  }
  .iti__tv {
    --iti-flag-offset: -3536px;
  }
  .iti__tw {
    --iti-flag-offset: -3552px;
  }
  .iti__tz {
    --iti-flag-offset: -3568px;
  }
  .iti__ua {
    --iti-flag-offset: -3584px;
  }
  .iti__ug {
    --iti-flag-offset: -3600px;
  }
  .iti__us {
    --iti-flag-offset: -3616px;
  }
  .iti__uy {
    --iti-flag-offset: -3632px;
  }
  .iti__uz {
    --iti-flag-offset: -3648px;
  }
  .iti__va {
    --iti-flag-offset: -3664px;
  }
  .iti__vc {
    --iti-flag-offset: -3680px;
  }
  .iti__ve {
    --iti-flag-offset: -3696px;
  }
  .iti__vg {
    --iti-flag-offset: -3712px;
  }
  .iti__vi {
    --iti-flag-offset: -3728px;
  }
  .iti__vn {
    --iti-flag-offset: -3744px;
  }
  .iti__vu {
    --iti-flag-offset: -3760px;
  }
  .iti__wf {
    --iti-flag-offset: -3776px;
  }
  .iti__ws {
    --iti-flag-offset: -3792px;
  }
  .iti__xk {
    --iti-flag-offset: -3808px;
  }
  .iti__ye {
    --iti-flag-offset: -3824px;
  }
  .iti__yt {
    --iti-flag-offset: -3840px;
  }
  .iti__za {
    --iti-flag-offset: -3856px;
  }
  .iti__zm {
    --iti-flag-offset: -3872px;
  }
  .iti__zw {
    --iti-flag-offset: -3888px;
  }
  .iti__globe {
    background: none;
    box-shadow: none;
    height: var(--iti-globe-height);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
  }
  .iti__globe .iti__globe-svg {
    width: 100%;
    height: 100%;
    fill: var(--iti-icon-color);
  }
  @supports (-webkit-appearance: none) and (not (background: -webkit-canvas(foo))) {
    .iti__tel-input:focus {
      outline-offset: 1px;
    }
  }
  :root {
    --iti-path-flags-1x: url('/assets/images/intl-tel-input/flags.webp');
    --iti-path-flags-2x: url('/assets/images/intl-tel-input/flags@2x.webp');
  }
  .sec-join-intl-phone {
    position: relative;
    overflow: visible;
  }
  .sec-join-intl-phone .iti {
    width: 100%;
    display: block;
    overflow: visible;
  }
  .sec-join-intl-phone .iti__selected-country {
    padding: 0 var(--spacing-sm) 0 0;
    background: transparent;
    border: 0;
    color: var(--clr-text-primary);
    gap: var(--spacing-xs);
    transition: color 0.15s ease;
  }
  .sec-join-intl-phone .iti__selected-country:hover:not(:disabled) {
    color: var(--clr-primary-700);
  }
  .sec-join-intl-phone .iti__selected-country:focus {
    outline: 0;
  }
  .sec-join-intl-phone__input {
    padding: var(--spacing-sm) 0;
    border: 0;
    border-bottom: 1px solid var(--clr-gray-300);
    background: transparent;
    color: var(--clr-text-primary);
    width: 100%;
  }
  .sec-join-intl-phone__input:focus {
    outline: 0;
    border-bottom-color: var(--clr-primary-700);
  }
  .sec-join-intl-phone .iti--allow-dropdown input,
  .sec-join-intl-phone .iti--separate-dial-code input {
    border: 0;
    border-bottom: 1px solid var(--clr-gray-300);
    background: transparent;
    padding-top: var(--spacing-sm);
    padding-bottom: var(--spacing-sm);
  }
  .sec-join-intl-phone .iti--allow-dropdown input:focus,
  .sec-join-intl-phone .iti--separate-dial-code input:focus {
    border-bottom-color: var(--clr-primary-700);
    outline: 0;
  }
  .sec-join-intl-phone .iti__dropdown-content {
    border: 1px solid var(--clr-gray-200);
    border-radius: var(--radius-sm);
    background: var(--clr-base-white);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    color: var(--clr-text-base);
    z-index: 9999;
    min-width: 28rem;
    max-width: min(40rem, 90vw);
    max-height: 30rem;
    overflow: hidden;
  }
  .sec-join-intl-phone .iti__dropdown-content:not(.iti__hide) {
    display: flex;
    flex-direction: column;
  }
  .sec-join-intl-phone .iti__country-list {
    overflow-y: auto;
    flex: 1 1 auto;
  }
  .sec-join-intl-phone .iti__country {
    color: var(--clr-text-base);
  }
  .sec-join-intl-phone .iti__country.iti__highlight, .sec-join-intl-phone .iti__country:hover {
    background: var(--clr-bg-section);
  }
  .sec-join-intl-phone .iti__dial-code {
    color: var(--clr-text-sub);
  }
  .sec-join-intl-phone .iti__search-input {
    border-bottom: 1px solid var(--clr-gray-200);
    color: var(--clr-text-base);
    background: var(--clr-base-white);
    font-family: inherit;
  }
  .sec-join-intl-phone .iti__search-input::placeholder {
    color: var(--clr-text-aux);
  }
}
@layer layouts {
  :root {
    /* === semantic === */
    --clr-primary-hover: var(--clr-primary-700);
    --clr-primary-accent: var(--clr-accent-500);
    --clr-common-background: var(--clr-base-white);
    --clr-common-on-background: var(--clr-base-black);
    --clr-text-primary: var(--clr-text-base);
    --clr-text-secondary: var(--clr-text-sub);
    --clr-text-tertiary: var(--clr-text-aux);
    --clr-background-paper: var(--clr-bg-page);
    --clr-background-primary: var(--clr-bg-section);
    --clr-background-secondary: var(--clr-bg-line);
    --clr-background-philo: var(--clr-bg-section);
  }
  :root {
    --clr-primary-950: #352820;
    --clr-primary-900: #352820;
    --clr-primary-700: #826c5b;
    --clr-primary-500: #c4ae9b;
    --clr-primary-400: #d8cbb8;
    --clr-primary-50: #d8cbb8;
    --clr-primary-main: var(--clr-primary-500);
    --clr-secondary-900: #826c5b;
    --clr-accent-300: #d8cbb8;
    --clr-accent-500: #826c5b;
    --clr-accent-700: #352820;
    --clr-text-base: #352820;
    --clr-text-sub: #352820;
    --clr-text-aux: #826c5b;
    --clr-gray-50: #f6f1ea;
    --clr-gray-100: #f6f1ea;
    --clr-gray-200: #efe5da;
    --clr-gray-300: #d8cbb8;
    --clr-gray-400: #c4ae9b;
    --clr-gray-500: #826c5b;
    --clr-gray-600: #826c5b;
    --clr-gray-700: #352820;
    --clr-gray-800: #352820;
    --clr-gray-900: #352820;
    /* === base === */
    --clr-base-white: #ffffff;
    --clr-base-black: #000000;
    /* === 60% — Background / Base === */
    --clr-bg-page: #efe5da;
    --clr-bg-section: #f6f1ea;
    --clr-bg-line: #d8cbb8;
    /* gradient shorthand */
    --clr-primary-gradient: 90deg, #352820, #826c5b;
    /* === UI (Border / Hover) === */
    --clr-ui-border: #d8cbb8;
    --clr-ui-hover-bg: #efe5da;
    /* === Semantic status === */
    --clr-status-success: #16a34a;
    --clr-status-warning: #d97706;
    --clr-status-error: #dc2626;
    --clr-status-info: var(--clr-primary-500);
    /* === Event category chips === */
    --clr-chip-seminar: #352820;
    --clr-chip-workshop: #826c5b;
    --clr-chip-symposium: #c4ae9b;
    --clr-chip-education: #16a34a;
    --clr-chip-special: #dc2626;
  }
  :root {
    /* === Brand palette === */
    --public-brand-ink: var(--clr-primary-950);
    --public-brand-dark: var(--clr-primary-900);
    --public-brand-accent: var(--clr-accent-500);
    --public-brand-accent-soft: var(--clr-accent-300);
    --public-brand-surface: var(--clr-bg-page);
    --public-brand-surface-strong: var(--clr-primary-50);
    --public-brand-line: var(--clr-primary-400);
    /* === Public semantic aliases === */
    --public-navy: var(--public-brand-dark);
    --public-navy-deep: var(--public-brand-ink);
    --public-blue: var(--public-brand-accent);
    --public-blue-soft: var(--public-brand-surface-strong);
    --public-ink: var(--public-brand-ink);
    --public-muted: var(--clr-text-sub);
    --public-muted-soft: var(--clr-text-aux);
    --color-text-muted: color-mix(in srgb, var(--public-muted-soft) 80%, var(--public-ink));
    --public-line: var(--clr-ui-border);
    --public-line-strong: var(--public-brand-line);
    --public-surface: var(--public-brand-surface);
    --public-surface-subtle: var(--clr-bg-section);
    --public-white: var(--clr-bg-section);
    --color-background-dropdown-light: color-mix(in srgb, var(--public-white) 94%, var(--public-brand-ink));
    --color-background-dropdown-dark: color-mix(in srgb, var(--public-brand-dark) 95%, var(--public-white));
    --public-header-black: var(--clr-base-black);
    --public-header-white: var(--clr-base-white);
    --public-overlay: rgba(0, 0, 0, .29);
    --public-focus: var(--public-brand-accent);
    --public-page-transition-backdrop: color-mix(in srgb, var(--public-brand-ink) 16%, #000);
    --public-cart-toast-action: var(--public-blue);
    --public-search-placeholder-color: var(--public-muted);
    /* === Feedback states === */
    --public-feedback-success: #2f6c55;
    --public-feedback-success-soft: #edf6ef;
    --public-feedback-warning: #9a6d2c;
    --public-feedback-warning-soft: #faf2e3;
    --public-feedback-error: #a83f58;
    --public-feedback-error-soft: #fff0f4;
    --public-auth-success: var(--public-feedback-success);
    --public-auth-error: var(--public-feedback-error);
    /* === Transit and award colors === */
    --public-transit-subway-1: #d93f5c;
    --public-transit-subway-2: #00aa80;
    --public-transit-bus-trunk: #1478c9;
    --public-transit-bus-feeder: #d59d00;
    --public-transit-bus-express: #d43d47;
    --public-transit-line-1: #e72f70;
    --public-transit-line-2: var(--public-transit-subway-2);
    --public-award-black: #1e1e1e;
    --public-award-plum: var(--public-brand-dark);
    --public-award-blue: #0047ff;
    --public-award-wine: var(--public-feedback-error);
    --public-award-green: var(--public-feedback-success);
    /* === External brand colors === */
    --public-kakao: #fee500;
    --public-kakao-hover: #f4dc00;
    --public-social-instagram: radial-gradient(circle at 30% 105%, #ffd600 0 24%, #ff7a00 25% 38%, #ff0169 52%, #d300c5 72%, #7638fa 92%);
    --public-social-kakao: var(--public-kakao);
    --public-social-naver: #03c75a;
    --public-social-youtube: #ff0033;
    --public-social-ink: #111111;
  }
  /* Local editorial display: Cormorant Garamond + Noto Serif KR.
   * Functional copy, prices and controls: Manrope + Pretendard. */
  /**
   * Typography tokens — Home
   * Display: Cormorant Garamond + Noto Serif KR; body/UI: Manrope + Pretendard.
   * 정본: 본 파일. 가이드: docs/02-variables/brand-guide.md
   *
   * 규칙(AGENTS.md 절대규칙 #11):
   *  - SCSS 컴포넌트에서 font-size 직접 지정 금지. var(--*-fs) 만 사용.
   *  - 페이지·뷰 마크업에서 .no-display-* / .no-heading-* / .no-body-* 유틸리티 클래스 사용.
   */
  :root {
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    /* === Font family — 정본 토큰 === */
    --font-manrope-family: "Manrope", "Pretendard Variable", "Pretendard",
                           -apple-system, BlinkMacSystemFont, "Segoe UI",
                           "Noto Sans KR", system-ui, sans-serif;
    --font-sans-family: var(--font-manrope-family);
    --font-display-family: "Cormorant Garamond", "Noto Serif KR", "Pretendard", serif;
    --font-heading-family: var(--font-display-family);
    --font-english-family: var(--font-manrope-family);
    --font-mono-family: var(--font-manrope-family);
    --font-oswald-family: var(--font-manrope-family); /* deprecated compatibility alias */
    /* Letter-spacing */
    --tracking-display: -0.015em;
    --tracking-heading: -0.01em;
    --tracking-body: 0em;
    --tracking-caps: 0.06em; /* small-caps·overline */
    /* === Legacy family alias — 기존 페이지·컴포넌트 호환 === */
    --family-primary: var(--font-sans-family);
    --family-display: var(--font-display-family);
    --family-mono: var(--font-mono-family);
    --family-pretendard: var(--font-sans-family);
    --family-hggothic: var(--font-sans-family); /* 이전 프로젝트 잔재. sans 로 흡수 */
    /* === Display (히어로/대제목) — editorial serif === */
    --display-xs-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --display-sm-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --display-md-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --display-lg-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --display-xl-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --display-xs-lh: 1.12;
    --display-sm-lh: 1.08;
    --display-md-lh: 1.04;
    --display-lg-lh: 1.00;
    --display-xl-lh: 0.98;
    --display-xs-fw: var(--font-weight-regular);
    --display-sm-fw: var(--font-weight-regular);
    --display-md-fw: var(--font-weight-regular);
    --display-lg-fw: var(--font-weight-regular);
    --display-xl-fw: var(--font-weight-regular);
    /* === Heading (섹션 타이틀) — editorial serif / compact sans === */
    --heading-2xs-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem);
    --heading-xs-fs: clamp(2rem, 0.2588996764vw + 1.9029126214rem, 2.4rem);
    --heading-sm-fs: clamp(2.4rem, 0.5177993528vw + 2.2058252427rem, 3.2rem);
    --heading-md-fs: clamp(2.4rem, 0.5177993528vw + 2.2058252427rem, 3.2rem);
    --heading-bl-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --heading-lg-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --heading-xl-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --heading-2xs-lh: 1.42;
    --heading-xs-lh: 1.36;
    --heading-sm-lh: 1.32;
    --heading-md-lh: 1.28;
    --heading-bl-lh: 1.24;
    --heading-lg-lh: 1.20;
    --heading-xl-lh: 1.12;
    --heading-2xs-fw: 500;
    --heading-xs-fw: var(--font-weight-medium);
    --heading-sm-fw: var(--font-weight-medium);
    --heading-md-fw: var(--font-weight-medium);
    --heading-bl-fw: var(--font-weight-medium);
    --heading-lg-fw: var(--font-weight-medium);
    --heading-xl-fw: var(--font-weight-medium);
    /* === Body — Manrope (한글: Pretendard) === */
    --body-xs-fs: clamp(1.2rem, 0.1294498382vw + 1.1514563107rem, 1.4rem);
    --body-sm-fs: clamp(1.6rem, 0.1294498382vw + 1.5514563107rem, 1.8rem);
    --body-md-fs: clamp(1.6rem, 0.1294498382vw + 1.5514563107rem, 1.8rem); /* 기본 본문·설명글 default */
    --body-lg-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem); /* 강조·라벨 */
    --body-xl-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem);
    --body-card-desc-fs: 1.4rem;
    --body-xs-lh: 1.55;
    --body-sm-lh: 1.6;
    --body-md-lh: 1.65;
    --body-lg-lh: 1.6;
    --body-xl-lh: 1.55;
    --body-card-desc-lh: 1.55;
    --body-xs-fw: var(--font-weight-regular);
    --body-sm-fw: var(--font-weight-regular);
    --body-md-fw: var(--font-weight-regular);
    --body-lg-fw: var(--font-weight-regular);
    --body-xl-fw: var(--font-weight-regular);
    --body-card-desc-fw: var(--font-weight-regular);
    /* === Semantic public hierarchy aliases === */
    --subhero-title-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --subhero-title-lh: 1.08;
    --subhero-title-fw: var(--font-weight-regular);
    --section-title-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --section-title-lh: 1.14;
    --section-title-fw: var(--font-weight-regular);
    --middle-title-lg-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --middle-title-lg-lh: 1.1;
    --middle-title-lg-fw: var(--font-weight-regular);
    --middle-title-md-fs: clamp(2.4rem, 0.5177993528vw + 2.2058252427rem, 3.2rem);
    --middle-title-md-lh: 1.18;
    --middle-title-md-fw: var(--font-weight-medium);
    --list-title-fs: clamp(2rem, 0.2588996764vw + 1.9029126214rem, 2.4rem);
    --list-title-lh: 1.32;
    --list-title-fw: var(--font-weight-medium);
    --subtitle-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem);
    --subtitle-lh: 1.6;
    --subtitle-fw: var(--font-weight-regular);
    /* === Overline / eyebrow (섹션 소문구 라벨) — Manrope Medium, 캡스 === */
    --overline-fs: clamp(1.8rem, 0.3883495146vw + 1.654368932rem, 2.4rem);
    --overline-lh: 1.4;
    --overline-fw: var(--font-weight-medium);
    /* === Mono (캡션·다이어그램 라벨·overline) === */
    --mono-xs-fs: clamp(1.1rem, 0.0647249191vw + 1.0757281553rem, 1.2rem);
    --mono-sm-fs: clamp(1.2rem, 0.1294498382vw + 1.1514563107rem, 1.4rem);
    /* === Decorative (Marquee Whisper / I3 — Manrope, 매우 큼) === */
    --deco-marquee-fs: clamp(9.6rem, 5.9546925566vw + 7.3669902913rem, 18.8rem);
    /* Decorative wordmark (WHO WE ARE §signature — Manrope, 뷰포트 폭 채우는 초대형).
     * scale(1) 에서 긴 디스플레이 문구가 컨테이너 폭에 맞고, JS 가 scale 확대→축소. */
    --deco-wordmark-fs: clamp(6.4rem, 10.0970873786vw + 2.613592233rem, 22rem);
    --deco-wordmark-fw: var(--font-weight-medium);
    --deco-wordmark-lh: 0.8;
  }
  @media (max-width: 767px) {
    :root {
      --body-sm-fs: 1.6rem;
      --body-md-fs: 1.6rem;
    }
  }
  /**
   * Motion tokens — Home
   * 정본: 본 파일. JS는 resources/ts/home/global/MotionTokens.ts 동일 값.
   * 사용: SCSS `transition: transform var(--dur-base) var(--ease-out-quart);`
   *       JS   `gsap.to(el, { duration: 0.88, ease: 'expo.out' })` ← MotionTokens.ts 참조
   *
   * 가이드 문서: docs/00-overview/goals.md "차분함 80% : 임팩트 20%"
   *             workspace/guides/02-스타일-가이드.md §8
   */
  :root {
    /* === Duration === */
    --dur-instant: 100ms; /* hover state 토글, focus ring */
    --dur-fast: 200ms; /* 버튼 press, chip toggle */
    --dur-base: 320ms; /* 카드 hover, 색 전환 */
    --dur-slow: 560ms; /* 모달·드로어 진입 */
    --dur-slower: 880ms; /* Hero Display reveal (I1) */
    --dur-epic: 1200ms; /* Image mask reveal, scroll-pinned 단계 */
    /* === Easing ===
     * 1) out-quart  : 기본 진입 (Unseen Studio·기본값)
     * 2) out-expo   : 강한 감속 (Hero Display·시그니처 모먼트)
     * 3) in-out     : 양방향 (드로어·tab 전환)
     * 4) spring     : 미세 바운스 (버튼 한정 — 페이지 본문 금지)
     * 5) linear     : 마키·무한 스크롤
     */
    --ease-out-quart: cubic-bezier(0.22, 1, 0.36, 1);
    --ease-out-expo: cubic-bezier(0.16, 1, 0.30, 1);
    --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --ease-linear: linear;
    /* === Stagger === */
    --stagger-base: 60ms; /* I1 Type Mask Reveal 단어 간격 */
    --stagger-fast: 30ms; /* I2 Char Stagger 글자 간격 */
    --stagger-slow: 120ms; /* 리스트 카드 진입 */
    /* === Translate offsets (reveal 초기값) === */
    --reveal-offset-sm: 16px; /* body·메타 */
    --reveal-offset-md: 40px; /* heading */
    --reveal-offset-lg: 80px; /* hero display */
  }
  /* prefers-reduced-motion 가드 — 즉시 최종 상태로 */
  @media (prefers-reduced-motion: reduce) {
    :root {
      --dur-instant: 0ms;
      --dur-fast: 0ms;
      --dur-base: 0ms;
      --dur-slow: 0ms;
      --dur-slower: 0ms;
      --dur-epic: 0ms;
      --stagger-base: 0ms;
      --stagger-fast: 0ms;
      --stagger-slow: 0ms;
      --reveal-offset-sm: 0px;
      --reveal-offset-md: 0px;
      --reveal-offset-lg: 0px;
    }
  }
  :root {
    --gutter: 2rem;
    --header-height: 9.8rem;
    --header-z-index: 9999;
    --drawer-z-index: 999;
    --tran-15: 0.15s ease;
    --tran-3: 0.3s ease;
    --family-base: var(--family-hggothic);
  }
  @media (max-width: 768px) {
    :root {
      --header-height: 4.8rem;
    }
  }
  :root {
    --public-location-top-gap: clamp(8rem, 3.1067961165vw + 6.8349514563rem, 12.8rem);
    --public-cart-toast-max: 44rem;
    --public-cart-toast-min-height: 8.8rem;
    --public-cart-toast-padding-block: 2rem;
    --public-cart-toast-padding-inline: 3.2rem;
    --public-event-card-inset: 2.4rem;
    --public-focus-width: .2rem;
    --public-focus-offset: .3rem;
    --public-header-height: 14rem;
    --public-header-content-height: 10rem;
    --public-shell-max: 160rem;
    --public-shell-gutter: clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
    --public-header-gutter: clamp(1.6rem, 1.0355987055vw + 1.2116504854rem, 3.2rem);
    --public-header-max: 132rem;
    --public-detail-max: 94rem;
    --public-control-sm: 4.4rem;
    --public-control-md: 5.2rem;
    --public-control-lg: 5.6rem;
    --public-filter-tab-mobile-height: 3.6rem;
    --public-button-font-size: clamp(1.4rem, .9vw, 1.5rem);
    --public-button-frame-radius: 0;
    --public-action-radius: 3rem;
    --public-action-end-width: 2.2rem;
    --public-action-duration: 350ms;
    --public-link-line-width: 2.2rem;
    --public-link-line-hover-width: 3.8rem;
    --public-link-line-gap: 1.8rem;
    --public-treatment-body-font-size: 1.6rem;
    --public-header-action-width: clamp(3.2rem, 0.2588996764vw + 3.1029126214rem, 3.6rem);
    --public-header-icon-size: clamp(1.6rem, 0.1294498382vw + 1.5514563107rem, 1.8rem);
    --public-header-action-size: var(--public-control-sm);
    --public-header-appointment-width: 22rem;
    --public-header-notify-size: 1.2rem;
    --public-header-notify-font-size: .8rem;
    --public-icon-sm: 1.8rem;
    --public-icon-md: 2.2rem;
    --public-icon-lg: 2.4rem;
    --public-treatment-pictogram-frame-sm: 9.6rem;
    --public-treatment-pictogram-frame-md: 13.2rem;
    --public-treatment-pictogram-frame-lg: 16rem;
    --public-header-action-shadow: 0 .6rem 1.6rem rgba(77, 56, 45, .12);
    --public-card-row: 7.6rem;
    --public-space-2xs: .8rem;
    --public-space-xs: 1.2rem;
    --public-space-sm: 1.6rem;
    --public-space-md: 2rem;
    --public-space-lg: 2.5rem;
    --public-space-xl: 3rem;
    --public-space-2xl: 4rem;
    --public-space-3xl: 5rem;
    --public-space-section: 5.5rem;
    --public-space-page: 6.5rem;
    --public-radius-sm: 0;
    --public-radius-md: 0;
    --public-radius-pill: 999px;
    --public-check-size: 2.4rem;
    --public-cart-max: 81.2rem;
    --public-cart-panel-padding: 3rem;
    --public-cart-row-min-height: 18.9rem;
    --public-cart-page-bottom: 11.8rem;
    --public-footer-mobile-safe-space: 3.2rem;
    --public-home-title-family: var(--font-display-family);
    --public-home-title-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --public-home-title-fw: var(--font-weight-regular);
    --public-home-title-lh: 1.12;
    --public-home-lead-fs: clamp(1.4rem, 0.2588996764vw + 1.3029126214rem, 1.8rem);
    --public-study-media-ratio: 316 / 231;
    --public-nav-fs: 1.8rem;
    --public-drawer-root-fs: 4.8rem;
    --public-search-max-width: 64rem;
    --public-search-height: 4.8rem;
    --public-search-submit-width: clamp(8rem, 0.5177993528vw + 7.8058252427rem, 8.8rem);
    --public-search-gap: clamp(1rem, 0.3883495146vw + 0.854368932rem, 1.6rem);
    --public-search-input-padding-inline: var(--public-space-xs);
    --public-search-icon-slot: clamp(4.4rem, 0.2588996764vw + 4.3029126214rem, 4.8rem);
    --public-search-icon-size: var(--public-icon-md);
    --public-auth-panel-max: 44rem;
    --public-auth-mark-size: 6.4rem;
    --public-social-icon-size: 2rem;
    --public-duration: .35s;
    --public-ease: cubic-bezier(.22, .8, .25, 1);
    --public-z-header: 90;
    --public-z-async-directory: 110;
    --public-z-drawer: 120;
    --public-z-cursor: 21000;
  }
  @media (max-width: 1023px) {
    :root {
      --public-header-max: 100%;
      --public-header-height: 12.8rem;
      --public-header-content-height: 8.8rem;
      --public-control-sm: 4.4rem;
      --public-header-appointment-width: 18rem;
    }
  }
  @media (max-width: 767px) {
    :root {
      --public-header-height: 8.4rem;
      --public-header-content-height: 5.6rem;
      --public-header-action-size: 4rem;
    }
  }
  html:has(.public-header--without-award) {
    --public-header-height: var(--public-header-content-height);
  }
  .public-header.site-header {
    --public-header-fill-duration: .56s;
  }
  .public-about-showcase {
    --public-about-showcase-wave: 0;
  }
  .public-history__track {
    --history-line-top: 56rem;
    --history-line-bottom: 16rem;
    --history-line-gap-1-start: 0px;
    --history-line-gap-1-end: 0px;
    --history-line-gap-2-start: 0px;
    --history-line-gap-2-end: 0px;
    --history-line-gap-3-start: 0px;
    --history-line-gap-3-end: 0px;
  }
  .public-history__outro-title {
    --history-outro-fill: 100%;
  }
  .public-home ~ .no-floating-cta {
    --fcta-size: 4.8rem;
    --fcta-gap-edge: max(2rem, calc((100vw - 164rem) / 2));
    --fcta-btn-gap: .6rem;
    --fcta-radius: var(--public-radius-pill);
    --fcta-shadow: none;
    --fcta-shadow-hover: none;
  }
  .public-practice-page ~ .no-floating-cta {
    --fcta-size: 5.2rem;
    --fcta-gap-edge: 3rem;
    --fcta-gap-bottom: 3rem;
    --fcta-btn-gap: .8rem;
    --fcta-radius: 0;
    --fcta-shadow: none;
    --fcta-shadow-hover: none;
  }
  .public-event-page ~ .no-floating-cta {
    --fcta-size: 5.2rem;
    --fcta-gap-edge: 3rem;
    --fcta-gap-bottom: 3rem;
    --fcta-btn-gap: .8rem;
    --fcta-radius: 0;
    --fcta-shadow: none;
    --fcta-shadow-hover: none;
  }
  .public-recruit__steps {
    --recruit-step-marker: 6rem;
    --recruit-step-gap: 7.2rem;
  }
  @media (max-width: 1279px) and (min-width: 768px) {
    .public-recruit__steps {
      --recruit-step-marker: 6.2rem;
      --recruit-step-gap: 7.6rem;
    }
  }
  @media (max-width: 767px) {
    .public-recruit__steps {
      --recruit-step-gap: 5rem;
    }
  }
  :root {
    /* === Section spacing (섹션 상·하단 패딩) === */
    --section-xs: clamp(2.4rem, 1.5533980583vw + 1.8174757282rem, 4.8rem);
    --section-sm: clamp(3.2rem, 2.071197411vw + 2.4233009709rem, 6.4rem);
    --section-md: clamp(4.8rem, 3.1067961165vw + 3.6349514563rem, 9.6rem);
    --section-lg: clamp(6.4rem, 4.142394822vw + 4.8466019417rem, 12.8rem);
    --section-xl: clamp(8rem, 10.355987055vw + 4.1165048544rem, 24rem);
    /* === Border Radius (유동 반경) === */
    --radius-xs: clamp(0.2rem, 0.1294498382vw + 0.1514563107rem, 0.4rem);
    --radius-sm: clamp(0.4rem, 0.2588996764vw + 0.3029126214rem, 0.8rem);
    --radius-md: clamp(0.8rem, 0.5177993528vw + 0.6058252427rem, 1.6rem);
    --radius-lg: clamp(1.2rem, 0.7766990291vw + 0.9087378641rem, 2.4rem);
    --radius-xl: clamp(1.6rem, 1.0355987055vw + 1.2116504854rem, 3.2rem);
    --radius-round: 9999px;
    /* === Spacing (마진·패딩 기본 단위, fluid 적용) === */
    --spacing-xxs: clamp(0.2rem, 0.1294498382vw + 0.1514563107rem, 0.4rem);
    --spacing-xs: clamp(0.4rem, 0.2588996764vw + 0.3029126214rem, 0.8rem);
    --spacing-sm: clamp(0.6rem, 0.3883495146vw + 0.454368932rem, 1.2rem);
    --spacing-md: clamp(0.8rem, 0.5177993528vw + 0.6058252427rem, 1.6rem);
    --spacing-lg: clamp(1.2rem, 0.7766990291vw + 0.9087378641rem, 2.4rem);
    --spacing-xl: clamp(1.6rem, 1.0355987055vw + 1.2116504854rem, 3.2rem);
    --spacing-2xl: clamp(2.4rem, 1.5533980583vw + 1.8174757282rem, 4.8rem);
    --spacing-3xl: clamp(3.2rem, 2.071197411vw + 2.4233009709rem, 6.4rem);
    --spacing-4xl: clamp(4rem, 2.5889967638vw + 3.0291262136rem, 8rem);
    --spacing-5xl: clamp(6.4rem, 4.142394822vw + 4.8466019417rem, 12.8rem);
    --spacing-6xl: clamp(8rem, 10.355987055vw + 4.1165048544rem, 24rem);
  }
  /* 다크 네이비 2단 푸터 (2026-06-29 시안).
   * 배경 = .no-bg--brand 유틸(var(--clr-primary-900)). 타이포 위계 = HTML no-* 유틸.
   * 본 파일은 레이아웃(flex·gap)과 다크 배경용 색상만 담당(절대 규칙 #17). */
  .site-footer {
    color: var(--clr-base-white);
  }
  .site-footer__inner {
    padding-top: clamp(4.8rem, 2.5889967638vw + 3.8291262136rem, 8.8rem);
    padding-bottom: clamp(4.8rem, 2.5889967638vw + 3.8291262136rem, 8.8rem);
  }
  .site-footer__main {
    display: flex;
    justify-content: space-between;
    gap: clamp(4rem, 5.1779935275vw + 2.0582524272rem, 12rem);
  }
  @media (max-width: 1024px) {
    .site-footer__main {
      flex-direction: column;
      gap: clamp(4rem, 1.0355987055vw + 3.6116504854rem, 5.6rem);
    }
  }
  .site-footer__brand {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: clamp(4.8rem, 2.5889967638vw + 3.8291262136rem, 8.8rem);
    min-width: 0;
  }
  @media (max-width: 1024px) {
    .site-footer__brand {
      justify-content: flex-start;
      gap: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    }
  }
  .site-footer__brand-head {
    display: flex;
    flex-direction: column;
    gap: clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
  }
  .site-footer__tagline {
    margin: 0;
  }
  .site-footer__company {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
  .site-footer__info-line {
    color: rgba(255, 255, 255, 0.56);
  }
  .site-footer__info-line span {
    display: inline;
  }
  .site-footer__sep {
    color: rgba(255, 255, 255, 0.26);
    margin: 0 0.4rem;
  }
  .site-footer__brand-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2.4rem;
    flex-wrap: wrap;
  }
  @media (max-width: 544px) {
    .site-footer__brand-foot {
      gap: 1.6rem;
    }
  }
  .site-footer__logo {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    text-decoration: none;
  }
  .site-footer__logo img {
    height: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    width: auto;
    object-fit: contain;
  }
  .site-footer__socials {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .site-footer__socials a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.62);
    font-size: 2rem;
    transition: color 0.18s ease;
  }
  .site-footer__socials a:hover {
    color: var(--clr-accent-300);
  }
  .site-footer__socials svg {
    width: 2.2rem;
    height: 2.2rem;
    fill: currentColor;
  }
  .site-footer__socials[hidden] {
    display: none;
  }
  .site-footer__aside {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: clamp(4.8rem, 2.5889967638vw + 3.8291262136rem, 8.8rem);
    flex-shrink: 0;
  }
  @media (max-width: 1024px) {
    .site-footer__aside {
      justify-content: flex-start;
      gap: 2.8rem;
    }
  }
  .site-footer__nav-list {
    display: flex;
    flex-direction: column;
    gap: clamp(1.2rem, 0.2588996764vw + 1.1029126214rem, 1.6rem);
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .site-footer__nav-link {
    color: var(--clr-base-white);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
    transition: color 0.18s ease;
  }
  .site-footer__nav-link:hover, .site-footer__nav-link.is-active {
    color: var(--clr-accent-300);
  }
  .site-footer span.site-footer__nav-link {
    cursor: default;
  }
  .site-footer__meta {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
  }
  .site-footer__copy {
    margin: 0;
    color: rgba(255, 255, 255, 0.45);
  }
  .site-footer__legal {
    display: flex;
    align-items: center;
    gap: clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .site-footer__legal a {
    color: rgba(255, 255, 255, 0.56);
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.18s ease;
  }
  .site-footer__legal a:hover {
    color: var(--clr-base-white);
  }
  @media (max-width: 544px) {
    .site-footer__legal {
      flex-wrap: wrap;
      gap: 0.8rem 2rem;
    }
  }
  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--header-z-index);
    width: 100%;
    pointer-events: none;
  }
  .site-header__bar {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 10rem;
    pointer-events: auto;
    display: flex;
    align-items: stretch;
    background: var(--clr-base-white);
    border-bottom: 1px solid var(--clr-ui-border);
  }
  @media (max-width: 1024px) {
    .site-header__bar {
      height: 8rem;
    }
  }
  @media (max-width: 768px) {
    .site-header__bar {
      height: 6rem;
    }
  }
  .site-header__bar-inner {
    flex: 1 1 0;
    min-width: 0;
    max-width: 1640px;
    margin: 0 auto;
    padding: 0 clamp(2.4rem, 2.3300970874vw + 1.5262135922rem, 6rem);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: stretch;
    gap: clamp(1.6rem, 2.071197411vw + 0.8233009709rem, 4.8rem);
  }
  @media (max-width: 1640px) {
    .site-header__bar-inner {
      padding: 0 var(--spacing-lg);
    }
  }
  @media (max-width: 1024px) {
    .site-header__bar-inner {
      gap: var(--spacing-md);
      padding: 0 var(--spacing-md);
    }
  }
  @media (max-width: 768px) {
    .site-header__bar-inner {
      grid-template-columns: 1fr auto;
      padding: 0 var(--spacing-md);
    }
  }
  @media (max-width: 544px) {
    .site-header__bar-inner {
      padding: 0 var(--spacing-sm);
    }
  }
  .site-header__logo {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    height: 100%;
  }
  .site-header__logo img {
    display: block;
    width: auto;
    height: auto;
    max-height: 6rem; /* (= 60px) 10rem 바 안 여백 확보 */
    max-width: 18rem;
    object-fit: contain;
  }
  @media (max-width: 1024px) {
    .site-header__logo img {
      max-height: 5rem;
    }
  }
  @media (max-width: 768px) {
    .site-header__logo img {
      max-height: 4rem;
    }
  }
  @media (max-width: 544px) {
    .site-header__logo img {
      max-height: 3.6rem;
    }
  }
  .site-header nav {
    min-width: 0;
  }
  .site-header nav .cms-menu__link {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
  }
  .site-header nav .cms-menu__list--depth-0 {
    display: flex;
    align-items: stretch;
    justify-content: center;
  }
  .site-header nav .cms-menu__list--depth-0 > .cms-menu__item {
    display: flex;
    align-items: center;
  }
  .site-header nav .cms-menu__list--depth-0 > .cms-menu__item.is-dropdown-open .site-header__dropdown, .site-header nav .cms-menu__list--depth-0 > .cms-menu__item:focus-within .site-header__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  .site-header nav .cms-menu__list--depth-0 > .cms-menu__item.is-dropdown-open > .cms-menu__link, .site-header nav .cms-menu__list--depth-0 > .cms-menu__item:focus-within > .cms-menu__link {
    color: var(--clr-text-sub);
  }
  .site-header nav .cms-menu__list--depth-0 > .cms-menu__item > .cms-menu__link {
    position: relative;
    min-height: 10rem;
    padding: 0 clamp(1.4rem, 0.7766990291vw + 1.1087378641rem, 2.6rem);
    font-size: var(--body-md-fs);
    font-weight: 700;
    color: var(--clr-text-base);
    transition: color 0.2s;
  }
  .site-header nav .cms-menu__list--depth-0 > .cms-menu__item > .cms-menu__link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0.2rem;
    background: var(--clr-accent-500);
    opacity: 0;
    transition: opacity 0.2s;
  }
  .site-header nav .cms-menu__list--depth-0 > .cms-menu__item > .cms-menu__link.is-active {
    color: var(--clr-accent-700);
  }
  .site-header nav .cms-menu__list--depth-0 > .cms-menu__item > .cms-menu__link.is-active::after {
    background: var(--clr-accent-500);
    opacity: 1;
  }
  @media (max-width: 1024px) {
    .site-header nav .cms-menu__list--depth-0 > .cms-menu__item > .cms-menu__link {
      min-height: 8rem;
      padding: 0 var(--spacing-sm);
      font-size: var(--body-xs-fs);
    }
  }
  .site-header nav .cms-menu__list--depth-0 > .cms-menu__item:hover > .cms-menu__link {
    color: var(--clr-accent-700);
  }
  .site-header nav .cms-menu__list--depth-0 > .cms-menu__item:hover > .cms-menu__link::after {
    opacity: 1;
  }
  .site-header nav .cms-menu__item {
    position: relative;
  }
  .site-header nav .cms-menu__list--depth-1 {
    position: absolute;
    top: 100%;
    left: 50%;
    min-width: 22rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 1rem;
    background: var(--clr-base-white);
    border: 1px solid var(--clr-ui-border);
    border-radius: 1.2rem;
    box-shadow: 0 1.8rem 4.4rem rgba(17, 18, 26, 0.16);
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(-0.6rem);
    transition: opacity 0.22s var(--ease-out-quart), visibility 0.22s ease, transform 0.22s var(--ease-out-quart);
    z-index: 200;
  }
  .site-header nav .cms-menu__list--depth-1 .cms-menu__link {
    display: block;
    min-height: 0;
    padding: 1rem 1.4rem;
    border-radius: 0.8rem;
    font-weight: 600;
    color: var(--clr-text-sub);
    white-space: nowrap;
    transition: background-color 0.16s ease, color 0.16s ease;
  }
  .site-header nav .cms-menu__list--depth-1 .cms-menu__link:hover {
    background: var(--clr-ui-hover-bg);
    color: var(--clr-accent-700);
  }
  .site-header nav .cms-menu__item--has-children:hover > .cms-menu__list--depth-1, .site-header nav .cms-menu__item--has-children:focus-within > .cms-menu__list--depth-1 {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
  }
  @media (max-width: 768px) {
    .site-header nav {
      display: none;
    }
  }
  .site-header__dropdown {
    position: fixed;
    top: 10rem;
    left: 0;
    right: 0;
    z-index: 200;
    width: 100%;
    background: #fff;
    border-top: 2px solid var(--clr-primary-900);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-0.6rem);
    transition: opacity 0.22s ease, visibility 0.22s ease, transform 0.22s ease;
  }
  .site-header__dropdown--mega {
    top: 10rem;
  }
  @media (max-width: 1024px) {
    .site-header__dropdown {
      top: 8rem;
    }
  }
  @media (max-width: 768px) {
    .site-header__dropdown {
      top: 6rem;
    }
  }
  .site-header__dropdown-inner {
    max-width: 1640px;
    margin: 0 auto;
    padding: 3.2rem clamp(2.4rem, 2.3300970874vw + 1.5262135922rem, 6rem) 3.6rem;
  }
  .site-header__dropdown-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.2rem 2.4rem;
    align-items: start;
  }
  .site-header__dropdown-grid--col-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .site-header__dropdown-grid--col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .site-header__dropdown-item {
    display: flex;
    flex-direction: column;
  }
  .site-header__dropdown-item-head {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 1.6rem;
    border-radius: 0.6rem;
    background: var(--clr-bg-section);
    border: 1px solid transparent;
    text-decoration: none;
    white-space: normal;
    transition: background-color 0.18s ease, border-color 0.18s ease;
  }
  .site-header__dropdown-item-head:hover {
    background: var(--clr-primary-50);
    border-color: var(--clr-primary-500);
  }
  .site-header__dropdown-item-head:hover .site-header__dropdown-item-title {
    color: var(--clr-primary-700);
  }
  .site-header__dropdown-item-title {
    display: block;
    font-weight: 700;
    font-size: var(--body-sm-fs);
    line-height: 1.4;
    color: var(--clr-text-base);
    transition: color 0.18s;
  }
  .site-header__dropdown-item-desc {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: var(--body-xs-fs);
    color: var(--clr-text-sub);
    line-height: 1.55;
    margin: 0;
  }
  .site-header__dropdown--research .site-header__dropdown-inner {
    padding-top: 3.2rem;
    padding-bottom: 3.6rem;
  }
  .site-header__dropdown-research-layout {
    display: grid;
    grid-template-columns: 1fr 36rem;
    gap: 0 3rem;
    align-items: start;
  }
  @media (max-width: 1320px) {
    .site-header__dropdown-research-layout {
      grid-template-columns: 1fr;
      gap: 2.4rem 0;
    }
  }
  .site-header__dropdown-section-label {
    display: block;
    color: var(--clr-text-aux);
    text-transform: uppercase;
    text-align: left;
    letter-spacing: 0.08em;
    margin-bottom: 1.2rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid var(--clr-ui-border);
  }
  .site-header__dropdown-research-main {
    min-width: 0;
  }
  .site-header__dropdown-research-side {
    min-width: 0;
    padding-left: 2.4rem;
    border-left: 1px solid var(--clr-ui-border);
  }
  .site-header__dropdown-research-side a {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
    padding: 0.9rem 0;
    color: var(--clr-text-base);
    border-bottom: 1px solid var(--clr-bg-line);
    white-space: normal;
    text-align: left;
    text-decoration: none;
    transition: color 0.18s;
    word-break: break-word;
    overflow-wrap: break-word;
  }
  .site-header__dropdown-research-side a:last-child {
    border-bottom: none;
  }
  .site-header__dropdown-research-side a:hover {
    color: var(--clr-primary-700);
  }
  .site-header__dropdown-research-side a:hover .site-header__dropdown-item-title {
    color: var(--clr-primary-700);
  }
  .site-header__dropdown-research-side a span {
    display: block;
    color: var(--clr-text-sub);
    text-align: left;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
  }
  @media (max-width: 1320px) {
    .site-header__dropdown-research-side {
      padding-left: 0;
      border-left: none;
      border-top: 1px solid var(--clr-ui-border);
      padding-top: 2.4rem;
    }
  }
  .site-header__actions {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    gap: clamp(0.8rem, 0.5177993528vw + 0.6058252427rem, 1.6rem);
  }
  @media (max-width: 768px) {
    .site-header__actions {
      gap: 0;
    }
  }
  .site-header__cta {
    flex-shrink: 0;
  }
  @media (max-width: 768px) {
    .site-header__cta {
      display: none;
    }
  }
  .site-header__menu-toggle {
    width: 4.8rem;
    height: 4.8rem;
    color: var(--clr-text-base);
    display: none;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease, color 0.2s ease;
  }
  .site-header__menu-toggle i {
    font-size: 2.2rem;
  }
  .site-header__menu-toggle:hover {
    background-color: rgba(17, 18, 26, 0.06);
  }
  @media (max-width: 768px) {
    .site-header__menu-toggle {
      display: flex;
      width: 5.6rem;
      height: 5.6rem;
    }
    .site-header__menu-toggle i {
      font-size: 1.6rem;
    }
  }
  @media (max-width: 544px) {
    .site-header__menu-toggle {
      width: 4.8rem;
      height: 4.8rem;
    }
  }
  .page-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--clr-primary-900) 0%, var(--clr-primary-700) 100%);
    min-height: clamp(20rem, 6.4724919094vw + 17.572815534rem, 30rem);
    display: flex;
    align-items: flex-end;
  }
  .page-hero__bg {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
  }
  .page-hero .no-container-xl {
    position: relative;
    z-index: 1;
    width: 100%;
    padding-top: calc(var(--header-height) + clamp(4rem, 1.2944983819vw + 3.5145631068rem, 6rem));
    padding-bottom: clamp(4rem, 1.0355987055vw + 3.6116504854rem, 5.6rem);
  }
  .page-hero__breadcrumb {
    margin-bottom: clamp(1.2rem, 0.3883495146vw + 1.054368932rem, 1.8rem);
  }
  .page-hero__breadcrumb ol {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .page-hero__breadcrumb li {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: var(--body-xs-fs);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
  }
  .page-hero__breadcrumb li::after {
    content: "/";
    color: rgba(255, 255, 255, 0.3);
    font-weight: 400;
  }
  .page-hero__breadcrumb li:last-child::after {
    content: none;
  }
  .page-hero__breadcrumb li[aria-current=page] {
    color: rgba(255, 255, 255, 0.9);
  }
  .page-hero__breadcrumb a {
    color: inherit;
    transition: color 0.2s ease;
  }
  .page-hero__breadcrumb a:hover {
    color: rgba(255, 255, 255, 0.85);
  }
  .page-hero__title {
    color: var(--clr-base-white, #fff);
    font-weight: 700;
    line-height: 1.15;
  }
  .page-hero__desc {
    margin-top: clamp(1.2rem, 0.3883495146vw + 1.054368932rem, 1.8rem);
    max-width: 64ch;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.65;
  }
  @media (max-width: 544px) {
    .page-hero {
      min-height: clamp(16rem, 2.5889967638vw + 15.0291262136rem, 20rem);
    }
    .page-hero__desc {
      display: none;
    }
  }
  .no-sub-visual {
    position: relative;
    overflow: hidden;
    background: url("../images/sub-visual-bg.jpg") center/cover no-repeat;
    height: clamp(32rem, 7.7669902913vw + 29.0873786408rem, 44rem);
  }
  .no-sub-visual .no-container-xl {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    height: 100%;
    padding-bottom: 3.2rem;
  }
  @media (max-width: 544px) {
    .no-sub-visual .no-container-xl {
      flex-direction: column-reverse;
      align-items: flex-start;
      justify-content: flex-start;
      gap: 2rem;
    }
  }
  .no-sub-visual .meta {
    display: inline-flex;
    align-items: center;
    gap: clamp(1rem, 0.5177993528vw + 0.8058252427rem, 1.8rem);
    margin-bottom: clamp(2rem, 0.6472491909vw + 1.7572815534rem, 3rem);
  }
  @media (max-width: 544px) {
    .no-sub-visual .meta {
      flex-wrap: wrap;
      gap: 0.8rem 1.2rem;
      margin-bottom: 1.6rem;
    }
  }
  .no-sub-visual .meta .line {
    width: clamp(1.6rem, 1.0355987055vw + 1.2116504854rem, 3.2rem);
    height: 1px;
    background: rgba(255, 255, 255, 0.5);
  }
  .no-sub-visual h2 {
    font-size: var(--display-xl-fs);
  }
  @media (max-width: 544px) {
    .no-sub-visual h2 {
      font-size: var(--display-xs-fs);
    }
  }
  .no-sub-visual h2 .word,
  .no-sub-visual h2 .space {
    display: inline-block;
  }
  .no-sub-visual h2 .word {
    overflow: hidden;
    vertical-align: top;
  }
  .no-sub-visual h2 .char {
    display: inline-block;
    will-change: transform, opacity;
  }
  .js .no-sub-visual h2 {
    visibility: hidden;
  }
  .js .no-sub-visual h2[data-split-done="1"] {
    visibility: visible;
  }
  .js .no-sub-visual h2 .char {
    opacity: 0;
    transform: translateY(105%);
  }
  .no-sub-visual--contact h2 .space {
    width: clamp(1.5rem, 0.9708737864vw + 1.1359223301rem, 3rem);
  }
  .no-sub-visual .metric {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
    text-align: right;
  }
  @media (max-width: 768px) {
    .no-sub-visual .metric {
      margin-left: auto;
      flex-direction: column-reverse;
    }
  }
  .no-sub-visual .metric .count {
    color: var(--clr-secondary-500);
  }
  .no-sub-visual .metric .copy {
    text-align: right;
    font-size: var(--body-xs-fs);
  }
  .no-sub-visual .metric .copy br {
    display: block !important;
  }
  .no-sub-visual__marquee {
    position: relative;
    z-index: 1;
    overflow: hidden;
    width: 100%;
  }
  .no-sub-visual__marquee-track {
    display: flex;
    align-items: center;
    width: max-content;
    height: 100%;
    animation: sub-visual-marquee 200s linear infinite;
  }
  .no-sub-visual__marquee--reverse .no-sub-visual__marquee-track {
    animation-direction: reverse;
  }
  .no-sub-visual__marquee-group {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
  }
  .no-sub-visual__marquee-group img {
    display: block;
    width: auto;
    flex: 0 0 auto;
    height: clamp(5.5rem, 0.6472491909vw + 5.2572815534rem, 6.5rem);
  }
  @keyframes sub-visual-marquee {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-50%);
    }
  }
  .no-sub-nav {
    width: 100%;
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
    position: relative;
  }
  .no-sub-nav.swiper {
    overflow: hidden;
  }
  .no-sub-nav__list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(3rem, 0.6472491909vw + 2.7572815534rem, 4rem);
    min-height: 4rem;
  }
  .no-sub-nav__list.swiper-wrapper {
    gap: 0;
    justify-content: flex-start;
  }
  .no-sub-nav__item.swiper-slide {
    width: auto;
    padding: 0 clamp(1.4rem, 0.3883495146vw + 1.254368932rem, 2rem);
  }
  .no-sub-nav__item.swiper-slide:first-child {
    padding-left: clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
  }
  .no-sub-nav__item.swiper-slide:last-child {
    padding-right: clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
  }
  .no-sub-nav__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.8rem;
    height: 100%;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: opacity 0.2s ease;
  }
  .no-sub-nav__arrow::after {
    content: "";
    display: block;
    width: 0.7rem;
    height: 0.7rem;
    border-right: 2px solid var(--clr-gray-700);
    border-bottom: 2px solid var(--clr-gray-700);
  }
  .no-sub-nav__arrow--prev {
    left: 0;
    background: linear-gradient(to right, var(--clr-base-white) 60%, transparent);
  }
  .no-sub-nav__arrow--prev::after {
    transform: rotate(135deg) translate(2px, -2px);
  }
  .no-sub-nav__arrow--next {
    right: 0;
    background: linear-gradient(to left, var(--clr-base-white) 60%, transparent);
  }
  .no-sub-nav__arrow--next::after {
    transform: rotate(-45deg) translate(-2px, 2px);
  }
  .no-sub-nav__arrow.swiper-button-disabled {
    opacity: 0;
    pointer-events: none;
  }
  .no-sub-nav__item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .no-sub-nav__item.is-active .no-sub-nav__link {
    color: var(--clr-primary-500);
  }
  .no-sub-nav__item.is-active::after {
    transform: scaleX(1);
  }
  .no-sub-nav__item::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -0.1rem;
    height: 0.2rem;
    background: var(--clr-primary-500);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.2s ease;
  }
  .no-sub-nav__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 4rem;
    color: var(--clr-text-primary);
    font-size: var(--body-sm-fs);
    font-weight: 700;
    transition: color 0.2s ease;
  }
  .no-sub-nav__link:hover {
    color: var(--clr-primary-500);
  }
  .no-board__total {
    font-weight: 600;
  }
  .no-board__total em {
    color: var(--clr-primary-main);
  }
  .no-board__filter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
  }
  @media (max-width: 544px) {
    .no-board__filter {
      align-items: flex-start;
      flex-direction: column;
    }
  }
  .no-board__search {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    flex: 1;
    justify-content: flex-end;
  }
  @media (max-width: 544px) {
    .no-board__search {
      flex-direction: column;
      width: 100%;
    }
    .no-board__search .no-form-control--search {
      width: 100%;
    }
    .no-board__search .no-form-control--search label {
      width: 100%;
    }
    .no-board__search .no-form-control__input--search {
      max-width: 100%;
    }
    .no-board__search .no-form-select {
      max-width: 100%;
    }
  }
  .no-board-detail__headline {
    margin-bottom: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
  }
  .no-board-detail__head {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.8rem;
    align-items: center;
    border-top: 2px solid var(--clr-base-black);
    padding: clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
    border-bottom: 1px solid var(--clr-gray-100);
  }
  @media (max-width: 768px) {
    .no-board-detail__head {
      flex-direction: column;
      align-items: flex-start;
      padding: 2.4rem 0;
    }
  }
  .no-board-detail__admin {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2.4rem;
    color: var(--clr-primary-main);
    font-weight: 600;
  }
  .no-board-detail__admin i {
    font-size: clamp(1.6rem, 0.2588996764vw + 1.5029126214rem, 2rem);
  }
  .no-board-detail__date {
    font-size: var(--body-xs-fs);
    color: var(--clr-gray-500);
  }
  .no-board-detail__body {
    padding: clamp(1.8rem, 1.1650485437vw + 1.3631067961rem, 3.6rem) clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
  }
  .no-board-detail__body.--comment {
    background: var(--clr-primary-50);
    border: 1px solid var(--clr-primary-main);
    margin-bottom: 2rem;
  }
  @media (max-width: 768px) {
    .no-board-detail__body {
      padding: 2.4rem 0;
    }
  }
  .no-board-detail__action {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    margin-top: 3.6rem;
  }
  @media (max-width: 768px) {
    .no-board-detail__action {
      margin-top: 2.4rem;
    }
  }
  .no-locked__container {
    max-width: 560px;
    margin-inline: auto;
    text-align: center;
  }
  .no-locked__logo {
    margin-bottom: clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
  }
  .no-locked__logo img {
    display: block;
    margin: 0 auto;
    width: 18rem;
  }
  .no-locked__title {
    margin-bottom: clamp(1.6rem, 0.2588996764vw + 1.5029126214rem, 2rem);
  }
  .no-locked__desc {
    color: var(--clr-gray-600);
    line-height: 1.6;
    margin-bottom: clamp(2rem, 0.5177993528vw + 1.8058252427rem, 2.8rem);
    font-size: var(--body-sm-fs);
  }
  .no-locked__desc strong {
    display: block;
    color: var(--clr-base-black);
    margin-bottom: 0.4rem;
  }
  .no-locked__form {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
  }
  .no-locked__field {
    width: 100%;
  }
  .no-locked__submit {
    width: 100%;
    height: 48px;
    border-radius: var(--radius-lg, 12px);
    font-weight: 700;
  }
  .no-locked__back {
    display: inline-block;
    margin-top: 0.6rem;
    text-decoration: underline;
    color: var(--clr-primary-main);
    font-weight: 600;
  }
  .no-locked__back:hover {
    text-decoration: none;
  }
  /* 접근성 전용 텍스트 유틸 (이미 쓰고 있으면 생략 가능) */
  .sr-only {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .board-qa {
    list-style: none;
    padding: 0;
    margin: 0;
    border-top: 2px solid var(--clr-base-black);
  }
  .board-qa__item {
    border-bottom: 1px solid var(--clr-gray-200);
  }
  .board-qa__details[open] .board-qa__toggle::after {
    content: "−";
  }
  .board-qa__summary {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 0.2588996764vw + 0.9029126214rem, 1.4rem);
    padding: clamp(1.6rem, 0.3883495146vw + 1.454368932rem, 2.2rem) 0;
    cursor: pointer;
    list-style: none;
    user-select: none;
  }
  .board-qa__summary::-webkit-details-marker {
    display: none;
  }
  @media (max-width: 544px) {
    .board-qa__summary {
      flex-wrap: wrap;
      gap: 0.8rem;
    }
  }
  .board-qa__q-mark, .board-qa__a-mark {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(2.4rem, 0.3883495146vw + 2.254368932rem, 3rem);
    height: clamp(2.4rem, 0.3883495146vw + 2.254368932rem, 3rem);
    border-radius: 50%;
    font-size: var(--body-xs-fs);
    font-weight: 700;
    line-height: 1;
  }
  .board-qa__q-mark {
    background: var(--clr-primary-main);
    color: #fff;
  }
  .board-qa__a-mark {
    background: var(--clr-primary-50);
    color: var(--clr-primary-main);
    border: 1.5px solid var(--clr-primary-main);
  }
  .board-qa__title {
    flex: 1;
    font-size: var(--body-md-fs);
    font-weight: 600;
    color: var(--clr-text-primary);
    line-height: 1.5;
  }
  .board-qa__badge {
    flex-shrink: 0;
    font-size: var(--body-xs-fs);
    font-weight: 600;
    color: var(--clr-primary-main);
    background: var(--clr-primary-50);
    border: 1px solid var(--clr-primary-main);
    border-radius: 9999px;
    padding: 0.2rem clamp(0.6rem, 0.2588996764vw + 0.5029126214rem, 1rem);
    line-height: 1.4;
    white-space: nowrap;
  }
  .board-qa__meta {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-shrink: 0;
  }
  .board-qa__date {
    font-size: var(--body-xs-fs);
    color: var(--clr-gray-500);
    white-space: nowrap;
  }
  .board-qa__toggle {
    flex-shrink: 0;
    font-size: clamp(1.8rem, 0.2588996764vw + 1.7029126214rem, 2.2rem);
    color: var(--clr-gray-400);
    line-height: 1;
    margin-left: auto;
  }
  .board-qa__toggle::after {
    content: "+";
  }
  .board-qa__body {
    padding: 0 0 clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem) clamp(3.4rem, 0.6472491909vw + 3.1572815534rem, 4.4rem);
  }
  @media (max-width: 544px) {
    .board-qa__body {
      padding-left: 0;
    }
  }
  .board-qa__content {
    color: var(--clr-text-secondary);
    line-height: 1.75;
    margin-bottom: clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
  }
  .board-qa__content:last-child {
    margin-bottom: 0;
  }
  .board-qa__answer {
    display: flex;
    gap: clamp(1.2rem, 0.2588996764vw + 1.1029126214rem, 1.6rem);
    align-items: flex-start;
    background: var(--clr-primary-50);
    border: 1px solid rgba(15, 76, 129, 0.15);
    border-radius: 0.8rem;
    padding: clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem);
    margin-top: clamp(1.2rem, 0.5177993528vw + 1.0058252427rem, 2rem);
  }
  .board-qa__answer-content {
    flex: 1;
    color: var(--clr-text-primary);
    line-height: 1.75;
  }
  html, body {
    overflow-x: clip;
  }
  .public-site {
    color: var(--public-ink);
    background: var(--public-white);
  }
  .public-header.site-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 90;
    height: 12rem;
    color: var(--public-navy);
    background: var(--public-white);
    border-bottom: 1px solid color-mix(in srgb, var(--public-navy) 10%, transparent);
    pointer-events: auto;
    transition: color var(--dur-base) var(--ease-out-quart), background-color var(--dur-base) var(--ease-out-quart), border-color var(--dur-base) var(--ease-out-quart);
  }
  .public-header.site-header[data-header-mode=overlay]:not(.is-scrolled) {
    color: var(--public-white);
    background: transparent;
    border-color: color-mix(in srgb, var(--public-white) 30%, transparent);
  }
  .public-header.site-header[data-header-mode=overlay]:not(.is-scrolled) .public-logo__image--black {
    opacity: 0;
  }
  .public-header.site-header[data-header-mode=overlay]:not(.is-scrolled) .public-logo__image--white {
    opacity: 1;
  }
  .public-header.site-header .public-header__inner {
    height: 100%;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
  }
  .public-header.site-header .public-header__menu {
    justify-self: start;
    width: 5rem;
    height: 5rem;
    padding: 1.4rem 1rem;
    display: grid;
    align-content: center;
    gap: 0.7rem;
    color: inherit;
    border: 0;
    background: transparent;
    cursor: pointer;
  }
  .public-header.site-header .public-header__menu, .public-header.site-header .public-header__right, .public-header.site-header .public-logo {
    pointer-events: auto;
  }
  .public-header.site-header .public-header__menu span {
    display: block;
    width: 2.8rem;
    height: 1px;
    background: currentColor;
  }
  .public-header.site-header .public-header__right {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 2.4rem;
  }
  .public-header.site-header .public-header__search {
    color: inherit;
    font-size: 1.8rem;
  }
  .public-header.site-header .public-header__locale {
    color: inherit;
    letter-spacing: 0.08em;
  }
  .public-drawer.site-drawer {
    position: fixed;
    inset: 0;
    z-index: 120;
    pointer-events: none;
    visibility: hidden;
    background: color-mix(in srgb, var(--public-navy-deep) 72%, transparent);
    transition: visibility 0.35s, background 0.35s;
  }
  .public-drawer.site-drawer[data-state=open] {
    pointer-events: auto;
    visibility: visible;
  }
  .public-drawer.site-drawer .public-drawer__panel {
    width: min(68rem, 100%);
    height: 100%;
    margin: 0;
    padding: 3.2rem 6rem 4rem;
    background: var(--public-white);
    transform: translateX(-102%);
    transition: transform 0.45s cubic-bezier(0.22, 0.8, 0.25, 1);
    overflow-y: auto;
  }
  .public-drawer.site-drawer[data-state=open] .public-drawer__panel {
    transform: translateX(0);
  }
  .public-drawer.site-drawer .public-drawer__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .public-drawer.site-drawer .public-drawer__locales {
    display: flex;
    gap: 1.6rem;
  }
  .public-drawer.site-drawer .public-drawer__locales form {
    margin: 0;
  }
  .public-drawer.site-drawer .public-drawer__locales button {
    padding: 0.5rem 0;
    color: var(--public-muted);
    background: none;
    border: 0;
    font-size: 1.3rem;
    font-weight: 700;
    cursor: pointer;
  }
  .public-drawer.site-drawer .public-drawer__locales button.is-active {
    color: var(--public-blue);
    border-bottom: 1px solid currentColor;
  }
  .public-drawer.site-drawer .public-drawer__close {
    display: grid;
    place-items: center;
    width: 5.2rem;
    height: 5.2rem;
    color: var(--public-white);
    background: var(--public-navy);
    border: 0;
    border-radius: 50%;
    font-size: 2rem;
    cursor: pointer;
  }
  .public-drawer.site-drawer .public-drawer__body {
    padding-top: 4rem;
  }
  .public-drawer.site-drawer .public-drawer__nav {
    margin-top: 6rem;
    padding: 0;
    list-style: none;
  }
  .public-drawer.site-drawer .site-drawer__nav-item {
    border-bottom: 1px solid var(--public-line);
  }
  .public-drawer.site-drawer .public-drawer__root {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .public-drawer.site-drawer .site-drawer__nav-label {
    display: block;
    flex: 1;
    padding: 2.1rem 0;
    color: var(--public-ink);
    font-size: 2.9rem;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
  }
  .public-drawer.site-drawer .site-drawer__toggle {
    width: 4.4rem;
    height: 4.4rem;
    color: var(--public-navy);
    background: none;
    border: 0;
    cursor: pointer;
  }
  .public-drawer.site-drawer .site-drawer__sub-list {
    max-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    list-style: none;
    transition: max-height 0.35s ease, padding 0.35s ease;
  }
  .public-drawer.site-drawer .site-drawer__nav-item.is-expanded .site-drawer__sub-list {
    max-height: 60rem;
    padding: 0.2rem 0 2rem;
  }
  .public-drawer.site-drawer .site-drawer__nav-item.is-expanded .site-drawer__toggle i {
    transform: rotate(45deg);
  }
  .public-drawer.site-drawer .site-drawer__sub-link {
    display: block;
    padding: 0.8rem 0;
    color: var(--public-muted);
    font-size: 1.6rem;
    text-decoration: none;
  }
  .public-drawer.site-drawer .site-drawer__sub-link:hover, .public-drawer.site-drawer .site-drawer__sub-link:focus-visible {
    color: var(--public-blue);
  }
  .public-drawer.site-drawer .public-drawer__foot {
    display: flex;
    gap: 2rem;
    padding-top: 4rem;
  }
  .public-drawer.site-drawer .public-drawer__foot a {
    color: var(--public-muted);
    text-decoration: none;
  }
  @media (max-width: 767px) {
    .public-header.site-header {
      height: 8.8rem;
    }
    .public-header.site-header .public-header__search {
      display: none;
    }
    .public-drawer.site-drawer .public-drawer__panel {
      padding: 2rem 2.4rem 3rem;
    }
    .public-drawer.site-drawer .site-drawer__nav-label {
      font-size: 2.2rem;
    }
  }
}
@layer pages {
  :root {
    /* === semantic === */
    --clr-primary-hover: var(--clr-primary-700);
    --clr-primary-accent: var(--clr-accent-500);
    --clr-common-background: var(--clr-base-white);
    --clr-common-on-background: var(--clr-base-black);
    --clr-text-primary: var(--clr-text-base);
    --clr-text-secondary: var(--clr-text-sub);
    --clr-text-tertiary: var(--clr-text-aux);
    --clr-background-paper: var(--clr-bg-page);
    --clr-background-primary: var(--clr-bg-section);
    --clr-background-secondary: var(--clr-bg-line);
    --clr-background-philo: var(--clr-bg-section);
  }
  :root {
    --clr-primary-950: #352820;
    --clr-primary-900: #352820;
    --clr-primary-700: #826c5b;
    --clr-primary-500: #c4ae9b;
    --clr-primary-400: #d8cbb8;
    --clr-primary-50: #d8cbb8;
    --clr-primary-main: var(--clr-primary-500);
    --clr-secondary-900: #826c5b;
    --clr-accent-300: #d8cbb8;
    --clr-accent-500: #826c5b;
    --clr-accent-700: #352820;
    --clr-text-base: #352820;
    --clr-text-sub: #352820;
    --clr-text-aux: #826c5b;
    --clr-gray-50: #f6f1ea;
    --clr-gray-100: #f6f1ea;
    --clr-gray-200: #efe5da;
    --clr-gray-300: #d8cbb8;
    --clr-gray-400: #c4ae9b;
    --clr-gray-500: #826c5b;
    --clr-gray-600: #826c5b;
    --clr-gray-700: #352820;
    --clr-gray-800: #352820;
    --clr-gray-900: #352820;
    /* === base === */
    --clr-base-white: #ffffff;
    --clr-base-black: #000000;
    /* === 60% — Background / Base === */
    --clr-bg-page: #efe5da;
    --clr-bg-section: #f6f1ea;
    --clr-bg-line: #d8cbb8;
    /* gradient shorthand */
    --clr-primary-gradient: 90deg, #352820, #826c5b;
    /* === UI (Border / Hover) === */
    --clr-ui-border: #d8cbb8;
    --clr-ui-hover-bg: #efe5da;
    /* === Semantic status === */
    --clr-status-success: #16a34a;
    --clr-status-warning: #d97706;
    --clr-status-error: #dc2626;
    --clr-status-info: var(--clr-primary-500);
    /* === Event category chips === */
    --clr-chip-seminar: #352820;
    --clr-chip-workshop: #826c5b;
    --clr-chip-symposium: #c4ae9b;
    --clr-chip-education: #16a34a;
    --clr-chip-special: #dc2626;
  }
  :root {
    /* === Brand palette === */
    --public-brand-ink: var(--clr-primary-950);
    --public-brand-dark: var(--clr-primary-900);
    --public-brand-accent: var(--clr-accent-500);
    --public-brand-accent-soft: var(--clr-accent-300);
    --public-brand-surface: var(--clr-bg-page);
    --public-brand-surface-strong: var(--clr-primary-50);
    --public-brand-line: var(--clr-primary-400);
    /* === Public semantic aliases === */
    --public-navy: var(--public-brand-dark);
    --public-navy-deep: var(--public-brand-ink);
    --public-blue: var(--public-brand-accent);
    --public-blue-soft: var(--public-brand-surface-strong);
    --public-ink: var(--public-brand-ink);
    --public-muted: var(--clr-text-sub);
    --public-muted-soft: var(--clr-text-aux);
    --color-text-muted: color-mix(in srgb, var(--public-muted-soft) 80%, var(--public-ink));
    --public-line: var(--clr-ui-border);
    --public-line-strong: var(--public-brand-line);
    --public-surface: var(--public-brand-surface);
    --public-surface-subtle: var(--clr-bg-section);
    --public-white: var(--clr-bg-section);
    --color-background-dropdown-light: color-mix(in srgb, var(--public-white) 94%, var(--public-brand-ink));
    --color-background-dropdown-dark: color-mix(in srgb, var(--public-brand-dark) 95%, var(--public-white));
    --public-header-black: var(--clr-base-black);
    --public-header-white: var(--clr-base-white);
    --public-overlay: rgba(0, 0, 0, .29);
    --public-focus: var(--public-brand-accent);
    --public-page-transition-backdrop: color-mix(in srgb, var(--public-brand-ink) 16%, #000);
    --public-cart-toast-action: var(--public-blue);
    --public-search-placeholder-color: var(--public-muted);
    /* === Feedback states === */
    --public-feedback-success: #2f6c55;
    --public-feedback-success-soft: #edf6ef;
    --public-feedback-warning: #9a6d2c;
    --public-feedback-warning-soft: #faf2e3;
    --public-feedback-error: #a83f58;
    --public-feedback-error-soft: #fff0f4;
    --public-auth-success: var(--public-feedback-success);
    --public-auth-error: var(--public-feedback-error);
    /* === Transit and award colors === */
    --public-transit-subway-1: #d93f5c;
    --public-transit-subway-2: #00aa80;
    --public-transit-bus-trunk: #1478c9;
    --public-transit-bus-feeder: #d59d00;
    --public-transit-bus-express: #d43d47;
    --public-transit-line-1: #e72f70;
    --public-transit-line-2: var(--public-transit-subway-2);
    --public-award-black: #1e1e1e;
    --public-award-plum: var(--public-brand-dark);
    --public-award-blue: #0047ff;
    --public-award-wine: var(--public-feedback-error);
    --public-award-green: var(--public-feedback-success);
    /* === External brand colors === */
    --public-kakao: #fee500;
    --public-kakao-hover: #f4dc00;
    --public-social-instagram: radial-gradient(circle at 30% 105%, #ffd600 0 24%, #ff7a00 25% 38%, #ff0169 52%, #d300c5 72%, #7638fa 92%);
    --public-social-kakao: var(--public-kakao);
    --public-social-naver: #03c75a;
    --public-social-youtube: #ff0033;
    --public-social-ink: #111111;
  }
  /* Local editorial display: Cormorant Garamond + Noto Serif KR.
   * Functional copy, prices and controls: Manrope + Pretendard. */
  /**
   * Typography tokens — Home
   * Display: Cormorant Garamond + Noto Serif KR; body/UI: Manrope + Pretendard.
   * 정본: 본 파일. 가이드: docs/02-variables/brand-guide.md
   *
   * 규칙(AGENTS.md 절대규칙 #11):
   *  - SCSS 컴포넌트에서 font-size 직접 지정 금지. var(--*-fs) 만 사용.
   *  - 페이지·뷰 마크업에서 .no-display-* / .no-heading-* / .no-body-* 유틸리티 클래스 사용.
   */
  :root {
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    /* === Font family — 정본 토큰 === */
    --font-manrope-family: "Manrope", "Pretendard Variable", "Pretendard",
                           -apple-system, BlinkMacSystemFont, "Segoe UI",
                           "Noto Sans KR", system-ui, sans-serif;
    --font-sans-family: var(--font-manrope-family);
    --font-display-family: "Cormorant Garamond", "Noto Serif KR", "Pretendard", serif;
    --font-heading-family: var(--font-display-family);
    --font-english-family: var(--font-manrope-family);
    --font-mono-family: var(--font-manrope-family);
    --font-oswald-family: var(--font-manrope-family); /* deprecated compatibility alias */
    /* Letter-spacing */
    --tracking-display: -0.015em;
    --tracking-heading: -0.01em;
    --tracking-body: 0em;
    --tracking-caps: 0.06em; /* small-caps·overline */
    /* === Legacy family alias — 기존 페이지·컴포넌트 호환 === */
    --family-primary: var(--font-sans-family);
    --family-display: var(--font-display-family);
    --family-mono: var(--font-mono-family);
    --family-pretendard: var(--font-sans-family);
    --family-hggothic: var(--font-sans-family); /* 이전 프로젝트 잔재. sans 로 흡수 */
    /* === Display (히어로/대제목) — editorial serif === */
    --display-xs-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --display-sm-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --display-md-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --display-lg-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --display-xl-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --display-xs-lh: 1.12;
    --display-sm-lh: 1.08;
    --display-md-lh: 1.04;
    --display-lg-lh: 1.00;
    --display-xl-lh: 0.98;
    --display-xs-fw: var(--font-weight-regular);
    --display-sm-fw: var(--font-weight-regular);
    --display-md-fw: var(--font-weight-regular);
    --display-lg-fw: var(--font-weight-regular);
    --display-xl-fw: var(--font-weight-regular);
    /* === Heading (섹션 타이틀) — editorial serif / compact sans === */
    --heading-2xs-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem);
    --heading-xs-fs: clamp(2rem, 0.2588996764vw + 1.9029126214rem, 2.4rem);
    --heading-sm-fs: clamp(2.4rem, 0.5177993528vw + 2.2058252427rem, 3.2rem);
    --heading-md-fs: clamp(2.4rem, 0.5177993528vw + 2.2058252427rem, 3.2rem);
    --heading-bl-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --heading-lg-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --heading-xl-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --heading-2xs-lh: 1.42;
    --heading-xs-lh: 1.36;
    --heading-sm-lh: 1.32;
    --heading-md-lh: 1.28;
    --heading-bl-lh: 1.24;
    --heading-lg-lh: 1.20;
    --heading-xl-lh: 1.12;
    --heading-2xs-fw: 500;
    --heading-xs-fw: var(--font-weight-medium);
    --heading-sm-fw: var(--font-weight-medium);
    --heading-md-fw: var(--font-weight-medium);
    --heading-bl-fw: var(--font-weight-medium);
    --heading-lg-fw: var(--font-weight-medium);
    --heading-xl-fw: var(--font-weight-medium);
    /* === Body — Manrope (한글: Pretendard) === */
    --body-xs-fs: clamp(1.2rem, 0.1294498382vw + 1.1514563107rem, 1.4rem);
    --body-sm-fs: clamp(1.6rem, 0.1294498382vw + 1.5514563107rem, 1.8rem);
    --body-md-fs: clamp(1.6rem, 0.1294498382vw + 1.5514563107rem, 1.8rem); /* 기본 본문·설명글 default */
    --body-lg-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem); /* 강조·라벨 */
    --body-xl-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem);
    --body-card-desc-fs: 1.4rem;
    --body-xs-lh: 1.55;
    --body-sm-lh: 1.6;
    --body-md-lh: 1.65;
    --body-lg-lh: 1.6;
    --body-xl-lh: 1.55;
    --body-card-desc-lh: 1.55;
    --body-xs-fw: var(--font-weight-regular);
    --body-sm-fw: var(--font-weight-regular);
    --body-md-fw: var(--font-weight-regular);
    --body-lg-fw: var(--font-weight-regular);
    --body-xl-fw: var(--font-weight-regular);
    --body-card-desc-fw: var(--font-weight-regular);
    /* === Semantic public hierarchy aliases === */
    --subhero-title-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --subhero-title-lh: 1.08;
    --subhero-title-fw: var(--font-weight-regular);
    --section-title-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --section-title-lh: 1.14;
    --section-title-fw: var(--font-weight-regular);
    --middle-title-lg-fs: clamp(3.2rem, 1.0355987055vw + 2.8116504854rem, 4.8rem);
    --middle-title-lg-lh: 1.1;
    --middle-title-lg-fw: var(--font-weight-regular);
    --middle-title-md-fs: clamp(2.4rem, 0.5177993528vw + 2.2058252427rem, 3.2rem);
    --middle-title-md-lh: 1.18;
    --middle-title-md-fw: var(--font-weight-medium);
    --list-title-fs: clamp(2rem, 0.2588996764vw + 1.9029126214rem, 2.4rem);
    --list-title-lh: 1.32;
    --list-title-fw: var(--font-weight-medium);
    --subtitle-fs: clamp(1.8rem, 0.1294498382vw + 1.7514563107rem, 2rem);
    --subtitle-lh: 1.6;
    --subtitle-fw: var(--font-weight-regular);
    /* === Overline / eyebrow (섹션 소문구 라벨) — Manrope Medium, 캡스 === */
    --overline-fs: clamp(1.8rem, 0.3883495146vw + 1.654368932rem, 2.4rem);
    --overline-lh: 1.4;
    --overline-fw: var(--font-weight-medium);
    /* === Mono (캡션·다이어그램 라벨·overline) === */
    --mono-xs-fs: clamp(1.1rem, 0.0647249191vw + 1.0757281553rem, 1.2rem);
    --mono-sm-fs: clamp(1.2rem, 0.1294498382vw + 1.1514563107rem, 1.4rem);
    /* === Decorative (Marquee Whisper / I3 — Manrope, 매우 큼) === */
    --deco-marquee-fs: clamp(9.6rem, 5.9546925566vw + 7.3669902913rem, 18.8rem);
    /* Decorative wordmark (WHO WE ARE §signature — Manrope, 뷰포트 폭 채우는 초대형).
     * scale(1) 에서 긴 디스플레이 문구가 컨테이너 폭에 맞고, JS 가 scale 확대→축소. */
    --deco-wordmark-fs: clamp(6.4rem, 10.0970873786vw + 2.613592233rem, 22rem);
    --deco-wordmark-fw: var(--font-weight-medium);
    --deco-wordmark-lh: 0.8;
  }
  @media (max-width: 767px) {
    :root {
      --body-sm-fs: 1.6rem;
      --body-md-fs: 1.6rem;
    }
  }
  /**
   * Motion tokens — Home
   * 정본: 본 파일. JS는 resources/ts/home/global/MotionTokens.ts 동일 값.
   * 사용: SCSS `transition: transform var(--dur-base) var(--ease-out-quart);`
   *       JS   `gsap.to(el, { duration: 0.88, ease: 'expo.out' })` ← MotionTokens.ts 참조
   *
   * 가이드 문서: docs/00-overview/goals.md "차분함 80% : 임팩트 20%"
   *             workspace/guides/02-스타일-가이드.md §8
   */
  :root {
    /* === Duration === */
    --dur-instant: 100ms; /* hover state 토글, focus ring */
    --dur-fast: 200ms; /* 버튼 press, chip toggle */
    --dur-base: 320ms; /* 카드 hover, 색 전환 */
    --dur-slow: 560ms; /* 모달·드로어 진입 */
    --dur-slower: 880ms; /* Hero Display reveal (I1) */
    --dur-epic: 1200ms; /* Image mask reveal, scroll-pinned 단계 */
    /* === Easing ===
     * 1) out-quart  : 기본 진입 (Unseen Studio·기본값)
     * 2) out-expo   : 강한 감속 (Hero Display·시그니처 모먼트)
     * 3) in-out     : 양방향 (드로어·tab 전환)
     * 4) spring     : 미세 바운스 (버튼 한정 — 페이지 본문 금지)
     * 5) linear     : 마키·무한 스크롤
     */
    --ease-out-quart: cubic-bezier(0.22, 1, 0.36, 1);
    --ease-out-expo: cubic-bezier(0.16, 1, 0.30, 1);
    --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --ease-linear: linear;
    /* === Stagger === */
    --stagger-base: 60ms; /* I1 Type Mask Reveal 단어 간격 */
    --stagger-fast: 30ms; /* I2 Char Stagger 글자 간격 */
    --stagger-slow: 120ms; /* 리스트 카드 진입 */
    /* === Translate offsets (reveal 초기값) === */
    --reveal-offset-sm: 16px; /* body·메타 */
    --reveal-offset-md: 40px; /* heading */
    --reveal-offset-lg: 80px; /* hero display */
  }
  /* prefers-reduced-motion 가드 — 즉시 최종 상태로 */
  @media (prefers-reduced-motion: reduce) {
    :root {
      --dur-instant: 0ms;
      --dur-fast: 0ms;
      --dur-base: 0ms;
      --dur-slow: 0ms;
      --dur-slower: 0ms;
      --dur-epic: 0ms;
      --stagger-base: 0ms;
      --stagger-fast: 0ms;
      --stagger-slow: 0ms;
      --reveal-offset-sm: 0px;
      --reveal-offset-md: 0px;
      --reveal-offset-lg: 0px;
    }
  }
  :root {
    --gutter: 2rem;
    --header-height: 9.8rem;
    --header-z-index: 9999;
    --drawer-z-index: 999;
    --tran-15: 0.15s ease;
    --tran-3: 0.3s ease;
    --family-base: var(--family-hggothic);
  }
  @media (max-width: 768px) {
    :root {
      --header-height: 4.8rem;
    }
  }
  :root {
    --public-location-top-gap: clamp(8rem, 3.1067961165vw + 6.8349514563rem, 12.8rem);
    --public-cart-toast-max: 44rem;
    --public-cart-toast-min-height: 8.8rem;
    --public-cart-toast-padding-block: 2rem;
    --public-cart-toast-padding-inline: 3.2rem;
    --public-event-card-inset: 2.4rem;
    --public-focus-width: .2rem;
    --public-focus-offset: .3rem;
    --public-header-height: 14rem;
    --public-header-content-height: 10rem;
    --public-shell-max: 160rem;
    --public-shell-gutter: clamp(2rem, 0.7766990291vw + 1.7087378641rem, 3.2rem);
    --public-header-gutter: clamp(1.6rem, 1.0355987055vw + 1.2116504854rem, 3.2rem);
    --public-header-max: 132rem;
    --public-detail-max: 94rem;
    --public-control-sm: 4.4rem;
    --public-control-md: 5.2rem;
    --public-control-lg: 5.6rem;
    --public-filter-tab-mobile-height: 3.6rem;
    --public-button-font-size: clamp(1.4rem, .9vw, 1.5rem);
    --public-button-frame-radius: 0;
    --public-action-radius: 3rem;
    --public-action-end-width: 2.2rem;
    --public-action-duration: 350ms;
    --public-link-line-width: 2.2rem;
    --public-link-line-hover-width: 3.8rem;
    --public-link-line-gap: 1.8rem;
    --public-treatment-body-font-size: 1.6rem;
    --public-header-action-width: clamp(3.2rem, 0.2588996764vw + 3.1029126214rem, 3.6rem);
    --public-header-icon-size: clamp(1.6rem, 0.1294498382vw + 1.5514563107rem, 1.8rem);
    --public-header-action-size: var(--public-control-sm);
    --public-header-appointment-width: 22rem;
    --public-header-notify-size: 1.2rem;
    --public-header-notify-font-size: .8rem;
    --public-icon-sm: 1.8rem;
    --public-icon-md: 2.2rem;
    --public-icon-lg: 2.4rem;
    --public-treatment-pictogram-frame-sm: 9.6rem;
    --public-treatment-pictogram-frame-md: 13.2rem;
    --public-treatment-pictogram-frame-lg: 16rem;
    --public-header-action-shadow: 0 .6rem 1.6rem rgba(77, 56, 45, .12);
    --public-card-row: 7.6rem;
    --public-space-2xs: .8rem;
    --public-space-xs: 1.2rem;
    --public-space-sm: 1.6rem;
    --public-space-md: 2rem;
    --public-space-lg: 2.5rem;
    --public-space-xl: 3rem;
    --public-space-2xl: 4rem;
    --public-space-3xl: 5rem;
    --public-space-section: 5.5rem;
    --public-space-page: 6.5rem;
    --public-radius-sm: 0;
    --public-radius-md: 0;
    --public-radius-pill: 999px;
    --public-check-size: 2.4rem;
    --public-cart-max: 81.2rem;
    --public-cart-panel-padding: 3rem;
    --public-cart-row-min-height: 18.9rem;
    --public-cart-page-bottom: 11.8rem;
    --public-footer-mobile-safe-space: 3.2rem;
    --public-home-title-family: var(--font-display-family);
    --public-home-title-fs: clamp(4.8rem, 1.0355987055vw + 4.4116504854rem, 6.4rem);
    --public-home-title-fw: var(--font-weight-regular);
    --public-home-title-lh: 1.12;
    --public-home-lead-fs: clamp(1.4rem, 0.2588996764vw + 1.3029126214rem, 1.8rem);
    --public-study-media-ratio: 316 / 231;
    --public-nav-fs: 1.8rem;
    --public-drawer-root-fs: 4.8rem;
    --public-search-max-width: 64rem;
    --public-search-height: 4.8rem;
    --public-search-submit-width: clamp(8rem, 0.5177993528vw + 7.8058252427rem, 8.8rem);
    --public-search-gap: clamp(1rem, 0.3883495146vw + 0.854368932rem, 1.6rem);
    --public-search-input-padding-inline: var(--public-space-xs);
    --public-search-icon-slot: clamp(4.4rem, 0.2588996764vw + 4.3029126214rem, 4.8rem);
    --public-search-icon-size: var(--public-icon-md);
    --public-auth-panel-max: 44rem;
    --public-auth-mark-size: 6.4rem;
    --public-social-icon-size: 2rem;
    --public-duration: .35s;
    --public-ease: cubic-bezier(.22, .8, .25, 1);
    --public-z-header: 90;
    --public-z-async-directory: 110;
    --public-z-drawer: 120;
    --public-z-cursor: 21000;
  }
  @media (max-width: 1023px) {
    :root {
      --public-header-max: 100%;
      --public-header-height: 12.8rem;
      --public-header-content-height: 8.8rem;
      --public-control-sm: 4.4rem;
      --public-header-appointment-width: 18rem;
    }
  }
  @media (max-width: 767px) {
    :root {
      --public-header-height: 8.4rem;
      --public-header-content-height: 5.6rem;
      --public-header-action-size: 4rem;
    }
  }
  html:has(.public-header--without-award) {
    --public-header-height: var(--public-header-content-height);
  }
  .public-header.site-header {
    --public-header-fill-duration: .56s;
  }
  .public-about-showcase {
    --public-about-showcase-wave: 0;
  }
  .public-history__track {
    --history-line-top: 56rem;
    --history-line-bottom: 16rem;
    --history-line-gap-1-start: 0px;
    --history-line-gap-1-end: 0px;
    --history-line-gap-2-start: 0px;
    --history-line-gap-2-end: 0px;
    --history-line-gap-3-start: 0px;
    --history-line-gap-3-end: 0px;
  }
  .public-history__outro-title {
    --history-outro-fill: 100%;
  }
  .public-home ~ .no-floating-cta {
    --fcta-size: 4.8rem;
    --fcta-gap-edge: max(2rem, calc((100vw - 164rem) / 2));
    --fcta-btn-gap: .6rem;
    --fcta-radius: var(--public-radius-pill);
    --fcta-shadow: none;
    --fcta-shadow-hover: none;
  }
  .public-practice-page ~ .no-floating-cta {
    --fcta-size: 5.2rem;
    --fcta-gap-edge: 3rem;
    --fcta-gap-bottom: 3rem;
    --fcta-btn-gap: .8rem;
    --fcta-radius: 0;
    --fcta-shadow: none;
    --fcta-shadow-hover: none;
  }
  .public-event-page ~ .no-floating-cta {
    --fcta-size: 5.2rem;
    --fcta-gap-edge: 3rem;
    --fcta-gap-bottom: 3rem;
    --fcta-btn-gap: .8rem;
    --fcta-radius: 0;
    --fcta-shadow: none;
    --fcta-shadow-hover: none;
  }
  .public-recruit__steps {
    --recruit-step-marker: 6rem;
    --recruit-step-gap: 7.2rem;
  }
  @media (max-width: 1279px) and (min-width: 768px) {
    .public-recruit__steps {
      --recruit-step-marker: 6.2rem;
      --recruit-step-gap: 7.6rem;
    }
  }
  @media (max-width: 767px) {
    .public-recruit__steps {
      --recruit-step-gap: 5rem;
    }
  }
  :root {
    /* === Section spacing (섹션 상·하단 패딩) === */
    --section-xs: clamp(2.4rem, 1.5533980583vw + 1.8174757282rem, 4.8rem);
    --section-sm: clamp(3.2rem, 2.071197411vw + 2.4233009709rem, 6.4rem);
    --section-md: clamp(4.8rem, 3.1067961165vw + 3.6349514563rem, 9.6rem);
    --section-lg: clamp(6.4rem, 4.142394822vw + 4.8466019417rem, 12.8rem);
    --section-xl: clamp(8rem, 10.355987055vw + 4.1165048544rem, 24rem);
    /* === Border Radius (유동 반경) === */
    --radius-xs: clamp(0.2rem, 0.1294498382vw + 0.1514563107rem, 0.4rem);
    --radius-sm: clamp(0.4rem, 0.2588996764vw + 0.3029126214rem, 0.8rem);
    --radius-md: clamp(0.8rem, 0.5177993528vw + 0.6058252427rem, 1.6rem);
    --radius-lg: clamp(1.2rem, 0.7766990291vw + 0.9087378641rem, 2.4rem);
    --radius-xl: clamp(1.6rem, 1.0355987055vw + 1.2116504854rem, 3.2rem);
    --radius-round: 9999px;
    /* === Spacing (마진·패딩 기본 단위, fluid 적용) === */
    --spacing-xxs: clamp(0.2rem, 0.1294498382vw + 0.1514563107rem, 0.4rem);
    --spacing-xs: clamp(0.4rem, 0.2588996764vw + 0.3029126214rem, 0.8rem);
    --spacing-sm: clamp(0.6rem, 0.3883495146vw + 0.454368932rem, 1.2rem);
    --spacing-md: clamp(0.8rem, 0.5177993528vw + 0.6058252427rem, 1.6rem);
    --spacing-lg: clamp(1.2rem, 0.7766990291vw + 0.9087378641rem, 2.4rem);
    --spacing-xl: clamp(1.6rem, 1.0355987055vw + 1.2116504854rem, 3.2rem);
    --spacing-2xl: clamp(2.4rem, 1.5533980583vw + 1.8174757282rem, 4.8rem);
    --spacing-3xl: clamp(3.2rem, 2.071197411vw + 2.4233009709rem, 6.4rem);
    --spacing-4xl: clamp(4rem, 2.5889967638vw + 3.0291262136rem, 8rem);
    --spacing-5xl: clamp(6.4rem, 4.142394822vw + 4.8466019417rem, 12.8rem);
    --spacing-6xl: clamp(8rem, 10.355987055vw + 4.1165048544rem, 24rem);
  }
  .public-site {
    color: var(--public-ink);
    background: var(--public-white);
  }
  .public-site :where(h1, h2) {
    font-family: var(--font-display-family);
    font-weight: var(--font-weight-regular);
  }
  .public-site :is(p, figcaption) br:has(+ br),
  .public-site :is(p, figcaption) br + br {
    display: initial;
  }
  .public-site :focus-visible {
    outline: 2px solid var(--public-focus);
    outline-offset: 0.4rem;
  }
  .public-form-field__checkbox-mark, .public-form-field__radio-mark {
    display: inline-grid;
    flex: 0 0 var(--public-check-size);
    width: var(--public-check-size);
    height: var(--public-check-size);
    place-items: center;
    border: 1px solid var(--public-line);
    background: var(--public-white);
    transition: border-color var(--public-duration) var(--public-ease), background var(--public-duration) var(--public-ease);
  }
  .public-form-field__radio-mark {
    border-radius: 50%;
  }
  .public-form-field__checkbox-mark::after, .public-form-field__radio-mark::after {
    content: "";
    opacity: 0;
    transform: scale(0.5);
    transition: opacity var(--public-duration) var(--public-ease), transform var(--public-duration) var(--public-ease);
  }
  .public-form-field__checkbox-mark::after {
    width: 0.8rem;
    height: 1.2rem;
    margin-top: -0.2rem;
    border: solid var(--public-white);
    border-width: 0 0.2rem 0.2rem 0;
    transform: rotate(45deg) scale(0.5);
  }
  .public-form-field__radio-mark::after {
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: var(--public-white);
  }
  .public-form-field__message {
    color: var(--public-muted);
  }
  input:checked + .public-form-field__checkbox-mark, input:checked + .public-form-field__radio-mark {
    border-color: var(--public-blue);
    background: var(--public-blue);
  }
  input:checked + .public-form-field__checkbox-mark::after {
    opacity: 1;
    transform: rotate(45deg) scale(1);
  }
  input:checked + .public-form-field__radio-mark::after {
    opacity: 1;
    transform: scale(1);
  }
  input:focus-visible + .public-form-field__checkbox-mark, input:focus-visible + .public-form-field__radio-mark {
    outline: 2px solid var(--public-focus);
    outline-offset: 0.3rem;
  }
  .has-error .public-form-field__message {
    color: var(--public-feedback-error);
  }
  .has-error input,
  .has-error select,
  .has-error textarea {
    border-color: var(--public-feedback-error);
  }
  .is-disabled {
    cursor: not-allowed;
    opacity: 0.5;
  }
  .public-intl-phone-field {
    display: grid;
    gap: var(--public-space-xs);
    min-width: 0;
  }
  .public-intl-phone {
    position: relative;
    min-width: 0;
    overflow: visible;
  }
  .public-intl-phone .iti {
    display: block;
    width: 100%;
    overflow: visible;
  }
  .public-intl-phone .iti__selected-country {
    padding-inline: var(--public-space-sm);
    color: var(--public-ink);
    border: 0;
    background: transparent;
  }
  .public-intl-phone .iti__selected-country:hover:not(:disabled),
  .public-intl-phone .iti__selected-country:focus-visible {
    color: var(--public-ink);
    background: var(--public-surface);
  }
  .public-intl-phone .iti__dropdown-content {
    z-index: 20;
    width: min(40rem, 100vw - var(--public-shell-gutter) * 2);
    max-height: 32rem;
    overflow: hidden;
    color: var(--public-ink);
    border: 1px solid var(--public-line);
    border-radius: 0;
    background: var(--public-white);
  }
  .public-intl-phone .iti__dropdown-content:not(.iti__hide) {
    display: flex;
    flex-direction: column;
  }
  .public-intl-phone .iti__country-list {
    flex: 1 1 auto;
    overflow-y: auto;
  }
  .public-intl-phone .iti__country.iti__highlight,
  .public-intl-phone .iti__country:hover {
    background: var(--public-surface);
  }
  .public-intl-phone .iti__dial-code {
    color: var(--public-muted);
  }
  .public-intl-phone .iti__search-input {
    color: var(--public-ink);
    border: 0;
    border-bottom: 1px solid var(--public-line);
    border-radius: 0;
    background: var(--public-white);
    font-family: inherit;
  }
  .public-shell {
    width: min(100% - var(--public-shell-gutter) * 2, var(--public-shell-max));
    margin-inline: auto;
  }
  .public-kicker {
    color: var(--public-blue);
    text-transform: uppercase;
  }
  .public-button {
    position: relative;
    isolation: isolate;
    border: 0;
    background: transparent;
    border-radius: var(--public-action-radius);
    text-decoration: none;
  }
  .public-button::before, .public-button::after {
    position: absolute;
    inset-block: 0;
    box-sizing: border-box;
    width: var(--public-action-end-width);
    border: 1px solid currentColor;
    content: "";
    pointer-events: none;
    transition: width var(--public-action-duration) var(--public-ease);
  }
  .public-button::before {
    inset-inline-start: 0;
    border-inline-end: 0;
    border-radius: var(--public-action-radius) 0 0 var(--public-action-radius);
  }
  .public-button::after {
    inset-inline-end: 0;
    border-inline-start: 0;
    border-radius: 0 var(--public-action-radius) var(--public-action-radius) 0;
  }
  .public-button:hover::before, .public-button:hover::after, .public-button:focus-visible::before, .public-button:focus-visible::after, .public-button.is-frame-completing::before, .public-button.is-frame-completing::after, .public-button[aria-expanded=true]::before, .public-button[aria-expanded=true]::after {
    width: calc(50% + 1px);
  }
  @media (max-width: 1023px), (hover: none), (pointer: coarse) {
    .public-button::before, .public-button::after {
      width: calc(50% + 1px);
    }
  }
  .public-button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
  }
  @media (prefers-reduced-motion: reduce) {
    .public-button::before, .public-button::after {
      transition: none;
    }
  }
  .public-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--public-button-min-height, 4.8rem);
    min-width: 18rem;
    padding: 1rem var(--public-button-padding-inline, 2rem);
    color: inherit;
    font-family: var(--font-sans-family);
    font-size: var(--public-button-font-size);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.015em;
    line-height: 1.5;
    cursor: pointer;
  }
  .public-button:hover, .public-button:focus-visible {
    color: inherit;
    background: transparent;
  }
  .public-button[disabled], .public-button[aria-disabled=true] {
    cursor: not-allowed;
    opacity: 0.45;
    pointer-events: none;
  }
  .public-button--sm {
    min-height: var(--public-button-min-height, var(--public-control-sm));
  }
  .public-button--lg {
    min-height: var(--public-control-md);
  }
  .public-button--text, .public-button--ghost {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: var(--public-control-sm);
    padding-inline-start: calc(var(--public-link-line-hover-width) + var(--public-link-line-gap));
    border: 0;
    border-radius: 0;
    background: transparent;
    text-decoration: none;
  }
  .public-button--text::before, .public-button--ghost::before {
    position: absolute;
    inset-inline-start: 0;
    top: 50%;
    width: var(--public-link-line-width);
    height: 1px;
    border: 0;
    border-radius: 0;
    background: currentColor;
    content: "";
    pointer-events: none;
    transition: width var(--public-action-duration) var(--public-ease);
  }
  .public-button--text::after, .public-button--ghost::after {
    content: none;
  }
  .public-button--text:hover::before, .public-button--text:focus-visible::before, .public-button--ghost:hover::before, .public-button--ghost:focus-visible::before {
    width: var(--public-link-line-hover-width);
  }
  .public-button--text:focus-visible, .public-button--ghost:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
  }
  @media (prefers-reduced-motion: reduce) {
    .public-button--text::before, .public-button--ghost::before {
      transition: none;
    }
  }
  .public-button--text, .public-button--ghost {
    justify-content: flex-start;
    min-width: 0;
    padding-block: 0.4rem;
    padding-inline-end: 0;
  }
  .public-button--fit-content {
    min-width: 0;
    width: fit-content;
    max-width: 100%;
  }
  .public-button--icon {
    --public-action-end-width: var(--public-space-xs);
    width: var(--public-control-md);
    min-width: var(--public-control-md);
    min-height: var(--public-control-md);
    height: var(--public-control-md);
    padding: 0;
  }
  .public-button--icon.public-button--sm {
    width: var(--public-control-sm);
    min-width: var(--public-control-sm);
    min-height: var(--public-control-sm);
    height: var(--public-control-sm);
  }
  .public-button--danger, .public-button--danger:hover, .public-button--danger:focus-visible {
    color: var(--clr-status-error);
  }
  .public-button__content, .public-button__icon, .public-button__label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .public-button__icon {
    flex-shrink: 0;
    font-size: var(--public-icon-sm);
    line-height: 1;
  }
  .public-button__icon i {
    --fa-width: 1em;
    width: 1em;
    text-align: center;
    letter-spacing: 0;
  }
  .public-button__icon + .public-button__label, .public-button__label + .public-button__icon {
    margin-left: var(--public-space-2xs);
  }
  .public-button__loader {
    width: var(--public-space-sm);
    height: var(--public-space-sm);
    margin-left: var(--public-space-2xs);
    border: 1px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: public-button-spin var(--dur-slow) linear infinite;
  }
  .public-site .public-button {
    font-size: var(--public-button-font-size);
  }
  [data-public-load-more-controls][hidden] {
    display: none !important;
  }
  .public-filter-tabs[hidden] {
    display: none;
  }
  .public-filter-tabs--line {
    display: flex;
    align-items: end;
    gap: var(--public-space-xl);
    margin: 0;
    padding: 0;
    overflow-x: auto;
    border-bottom: 1px solid var(--public-line);
    scrollbar-width: none;
  }
  .public-filter-tabs--line::-webkit-scrollbar {
    display: none;
  }
  .public-filter-tabs--line a {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    min-height: var(--public-control-md);
    padding: var(--public-space-xs) 0;
    color: var(--public-muted);
    text-decoration: none;
    transition: color var(--public-duration) var(--public-ease);
  }
  .public-filter-tabs--line a::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: var(--clr-primary-500);
    content: "";
    opacity: 0;
    transform: scaleX(0.35);
    transition: opacity var(--public-duration) var(--public-ease), transform var(--public-duration) var(--public-ease);
  }
  .public-filter-tabs--line a:hover, .public-filter-tabs--line a:focus-visible, .public-filter-tabs--line a.is-active {
    color: var(--public-navy-deep);
  }
  .public-filter-tabs--line a:hover::after, .public-filter-tabs--line a.is-active::after {
    opacity: 1;
    transform: scaleX(1);
  }
  .public-filter-tabs--line a:focus-visible {
    outline: 2px solid var(--clr-primary-500);
    outline-offset: -2px;
  }
  .public-filter-tabs--block {
    display: grid;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
  }
  .public-filter-tabs--block a {
    display: grid;
    place-items: center;
    min-height: var(--public-control-md);
    padding: var(--spacing-sm) var(--spacing-md);
    color: var(--public-ink);
    background: var(--public-surface-subtle);
    text-align: center;
    text-decoration: none;
    border-radius: 0.2rem 1.6rem 0.2rem 0.2rem;
    transition: color var(--public-duration) var(--public-ease), background var(--public-duration) var(--public-ease), box-shadow var(--public-duration) var(--public-ease);
  }
  .public-filter-tabs--block a:hover, .public-filter-tabs--block a:focus-visible {
    color: var(--public-navy);
    background: var(--public-surface);
    outline: none;
  }
  .public-filter-tabs--block a.is-active {
    color: var(--public-white);
    background: var(--public-blue);
  }
  .public-filter-tabs--wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--public-space-2xs);
    margin: 0;
    padding: 0;
    overflow: visible;
  }
  .public-filter-tabs--wrap a {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-height: var(--public-filter-tab-mobile-height);
    padding: calc(var(--public-space-2xs) * 0.5) var(--public-space-sm);
    color: var(--public-muted);
    background: color-mix(in srgb, var(--public-white) 72%, transparent);
    border: 1px solid var(--public-line);
    border-radius: 0.2rem 1.6rem 0.2rem 0.2rem;
    text-decoration: none;
    transition: color var(--public-duration) var(--public-ease), background var(--public-duration) var(--public-ease), border-color var(--public-duration) var(--public-ease);
  }
  .public-filter-tabs--wrap a:hover, .public-filter-tabs--wrap a:focus-visible {
    color: var(--public-brand-dark);
    border-color: var(--public-line-strong);
    background: var(--public-surface-subtle);
  }
  .public-filter-tabs--wrap a.is-active {
    color: var(--public-brand-ink);
    background: color-mix(in srgb, var(--public-brand-accent-soft) 78%, var(--public-white));
    border-color: color-mix(in srgb, var(--public-brand-accent) 34%, var(--public-line));
  }
  .public-filter-tabs--wrap a[aria-disabled=true], .public-filter-tabs--wrap a.is-disabled {
    color: var(--public-muted-soft);
    background: var(--public-surface-subtle);
    border-color: var(--public-line);
    cursor: not-allowed;
    opacity: 0.72;
    pointer-events: none;
  }
  @media (max-width: 767px) {
    .public-filter-tabs--line {
      gap: var(--public-space-lg);
    }
    .public-filter-tabs--line a {
      min-height: var(--public-control-sm);
    }
    .public-filter-tabs--wrap:not(.public-filter-tabs--static) {
      min-width: 0;
      flex-wrap: nowrap;
      justify-content: flex-start;
      gap: calc(var(--public-space-2xs) * 0.5);
      overflow-x: auto;
      overflow-y: hidden;
      overscroll-behavior-x: contain;
      overscroll-behavior-inline: contain;
      touch-action: pan-x;
      scroll-snap-type: x proximity;
      scrollbar-width: none;
      -webkit-overflow-scrolling: touch;
    }
    .public-filter-tabs--wrap:not(.public-filter-tabs--static)::-webkit-scrollbar {
      display: none;
    }
    .public-filter-tabs--wrap:not(.public-filter-tabs--static) a {
      scroll-snap-align: start;
    }
    .public-filter-tabs--wrap.public-filter-tabs--static {
      justify-content: flex-start;
      flex-wrap: wrap;
      overflow: visible;
      touch-action: auto;
    }
    .public-filter-tabs--wrap a {
      min-height: var(--public-filter-tab-mobile-height);
      padding: calc(var(--public-space-2xs) * 0.25) var(--public-space-sm);
    }
  }
  .public-sticky-section-nav {
    position: sticky;
    z-index: 4;
    top: var(--public-header-height);
    border-bottom: 1px solid var(--public-line-strong);
    background: color-mix(in srgb, var(--public-brand-surface) 94%, transparent);
    -webkit-backdrop-filter: blur(1.2rem);
    backdrop-filter: blur(1.2rem);
  }
  .public-sticky-section-nav__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    padding-block: var(--public-space-xs);
  }
  .public-sticky-section-nav__items {
    display: flex;
    min-width: 0;
    justify-content: flex-start;
    gap: var(--public-space-sm);
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
  }
  .public-sticky-section-nav__items::-webkit-scrollbar {
    display: none;
  }
  .public-sticky-section-nav__item {
    display: inline-flex;
    flex: 0 0 auto;
    min-height: var(--public-control-sm);
    align-items: center;
    justify-content: center;
    padding: 0.8rem 0.4rem;
    color: var(--color-text-muted);
    border: 0;
    background: transparent;
    font-weight: var(--font-weight-regular);
    scroll-snap-align: start;
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--public-duration) var(--public-ease), opacity var(--public-duration) var(--public-ease);
  }
  .public-sticky-section-nav__item:hover, .public-sticky-section-nav__item:focus-visible {
    color: var(--public-brand-dark);
    opacity: 1;
  }
  .public-sticky-section-nav__item.is-active {
    color: var(--public-brand-ink);
    font-weight: var(--font-weight-semibold);
  }
  .public-sticky-section-nav__control {
    display: none;
    width: var(--public-control-sm);
    height: var(--public-control-sm);
    align-items: center;
    justify-content: center;
    padding: 0;
    color: var(--public-brand-ink);
    border: 0;
    background: transparent;
  }
  .public-sticky-section-nav__control:focus-visible {
    outline: 1px solid currentcolor;
    outline-offset: -0.4rem;
  }
  .public-sticky-section-nav__control:disabled {
    color: var(--public-muted-soft);
  }
  @media (max-width: 767px) {
    .public-sticky-section-nav__inner {
      padding-left: env(safe-area-inset-left);
      padding-right: env(safe-area-inset-right);
    }
    .public-sticky-section-nav.is-overflowing .public-sticky-section-nav__inner {
      grid-template-columns: var(--public-control-sm) minmax(0, 1fr) var(--public-control-sm);
    }
    .public-sticky-section-nav.is-overflowing .public-sticky-section-nav__control {
      display: inline-flex;
    }
  }
  @keyframes public-button-spin {
    to {
      transform: rotate(1turn);
    }
  }
  .public-text-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: var(--public-control-sm);
    padding-inline-start: calc(var(--public-link-line-hover-width) + var(--public-link-line-gap));
    border: 0;
    border-radius: 0;
    background: transparent;
    text-decoration: none;
  }
  .public-text-link::before {
    position: absolute;
    inset-inline-start: 0;
    top: 50%;
    width: var(--public-link-line-width);
    height: 1px;
    border: 0;
    border-radius: 0;
    background: currentColor;
    content: "";
    pointer-events: none;
    transition: width var(--public-action-duration) var(--public-ease);
  }
  .public-text-link::after {
    content: none;
  }
  .public-text-link:hover::before, .public-text-link:focus-visible::before {
    width: var(--public-link-line-hover-width);
  }
  .public-text-link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
  }
  @media (prefers-reduced-motion: reduce) {
    .public-text-link::before {
      transition: none;
    }
  }
  .public-text-link {
    gap: 1.2rem;
    color: inherit;
  }
  .public-cursor {
    --public-cursor-size: 3.6rem;
    --public-cursor-label-size: 7.2rem;
    --public-cursor-tone: var(--public-white);
    --public-cursor-keyline: var(--public-ink);
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--public-z-cursor);
    display: none;
    width: 0;
    height: 0;
    pointer-events: none;
    opacity: 0;
    mix-blend-mode: normal;
    transition: opacity var(--dur-fast) var(--ease-out-quart);
  }
  .public-cursor.is-enabled {
    display: block;
  }
  .public-cursor.is-visible {
    opacity: 1;
  }
  .public-cursor__dot, .public-cursor__ring {
    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    will-change: transform;
  }
  .public-cursor__dot::before {
    content: "";
    position: absolute;
    top: -0.4rem;
    left: -0.4rem;
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    background: var(--public-cursor-tone);
    box-shadow: 0 0 0 1px var(--public-cursor-keyline);
    transition: opacity var(--dur-instant) var(--ease-out-quart), transform var(--dur-fast) var(--ease-out-quart);
  }
  .public-cursor__ring-shape {
    position: absolute;
    top: calc(var(--public-cursor-size) / -2);
    left: calc(var(--public-cursor-size) / -2);
    width: var(--public-cursor-size);
    height: var(--public-cursor-size);
    border: 2px solid var(--public-cursor-tone);
    border-radius: 50%;
    box-shadow: 0 0 0 1px var(--public-cursor-keyline);
    transition: top var(--dur-base) var(--ease-out-expo), left var(--dur-base) var(--ease-out-expo), width var(--dur-base) var(--ease-out-expo), height var(--dur-base) var(--ease-out-expo), border-color var(--dur-fast) var(--ease-out-quart), background-color var(--dur-fast) var(--ease-out-quart), transform var(--dur-instant) var(--ease-out-quart);
  }
  .public-cursor__label {
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    place-items: center;
    width: var(--public-cursor-label-size);
    height: var(--public-cursor-label-size);
    color: var(--public-cursor-tone);
    text-align: center;
    text-shadow: 0 1px 2px var(--public-cursor-keyline);
    letter-spacing: 0.08em;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.84);
    transition: opacity var(--dur-instant) var(--ease-out-quart), transform var(--dur-base) var(--ease-out-expo);
  }
  .public-cursor__underline {
    position: fixed;
    top: 0;
    left: 0;
    height: 1px;
    background: currentColor;
    opacity: 0;
    transform: scaleX(0);
    transform-origin: center;
    transition: opacity var(--dur-instant) var(--ease-out-quart), transform var(--dur-base) var(--ease-out-expo);
  }
  .public-cursor[data-cursor-state=view], .public-cursor[data-cursor-state=listen], .public-cursor[data-cursor-state=reserve], .public-cursor[data-cursor-state=drag] {
    --public-cursor-size: var(--public-cursor-label-size);
  }
  .public-cursor[data-cursor-state=view] .public-cursor__label, .public-cursor[data-cursor-state=listen] .public-cursor__label, .public-cursor[data-cursor-state=reserve] .public-cursor__label, .public-cursor[data-cursor-state=drag] .public-cursor__label {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  .public-cursor[data-cursor-state=view] .public-cursor__dot::before, .public-cursor[data-cursor-state=listen] .public-cursor__dot::before, .public-cursor[data-cursor-state=reserve] .public-cursor__dot::before, .public-cursor[data-cursor-state=drag] .public-cursor__dot::before {
    opacity: 0;
    transform: scale(0.5);
  }
  .public-cursor[data-cursor-state=view] .public-cursor__ring-shape, .public-cursor[data-cursor-state=listen] .public-cursor__ring-shape, .public-cursor[data-cursor-state=reserve] .public-cursor__ring-shape, .public-cursor[data-cursor-state=drag] .public-cursor__ring-shape {
    border-color: var(--public-brand-dark);
    background: var(--public-brand-dark);
  }
  .public-cursor[data-cursor-state=link] {
    --public-cursor-size: 4.8rem;
  }
  .public-cursor[data-cursor-state=link] .public-cursor__underline {
    opacity: 1;
    transform: scaleX(1);
  }
  .public-cursor.is-pressed .public-cursor__dot::before {
    transform: scale(0.72);
  }
  .public-cursor.is-pressed .public-cursor__ring-shape {
    transform: scale(0.9);
  }
  .public-cursor.is-native-target {
    opacity: 0;
  }
  .public-cursor.is-optical-target {
    opacity: 0;
  }
  .public-cursor-showcase {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--public-space-sm);
  }
  .public-cursor-showcase__item {
    display: grid;
    place-items: center;
    gap: var(--public-space-sm);
    min-height: 14rem;
    padding: var(--public-space-md);
    color: var(--public-white);
    background: var(--public-navy-deep);
  }
  .public-cursor-showcase__cursor {
    position: relative;
    display: grid;
    place-items: center;
    width: 7.2rem;
    height: 7.2rem;
  }
  .public-cursor-showcase__dot {
    position: absolute;
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 1px var(--public-ink);
  }
  .public-cursor-showcase__ring {
    display: grid;
    place-items: center;
    width: 3.6rem;
    height: 3.6rem;
    border: 2px solid currentColor;
    border-radius: 50%;
    box-shadow: 0 0 0 1px var(--public-ink);
    text-shadow: 0 1px 2px var(--public-ink);
  }
  .public-cursor-showcase .public-cursor-showcase__cursor:not(.public-cursor-showcase__cursor--default) .public-cursor-showcase__ring {
    width: 7.2rem;
    height: 7.2rem;
  }
  .public-cursor-showcase .public-cursor-showcase__cursor:not(.public-cursor-showcase__cursor--default) .public-cursor-showcase__dot {
    opacity: 0.65;
  }
  @media (min-width: 768px) and (hover: hover) and (pointer: fine) {
    html.has-public-cursor,
    html.has-public-cursor * {
      cursor: none !important;
    }
    html.has-public-cursor input,
    html.has-public-cursor textarea,
    html.has-public-cursor select,
    html.has-public-cursor [contenteditable=true],
    html.has-public-cursor iframe,
    html.has-public-cursor video[controls] {
      cursor: auto !important;
    }
    html.has-public-cursor [data-cursor=hidden],
    html.has-public-cursor [data-cursor=hidden] * {
      cursor: auto !important;
    }
    html.has-public-cursor [data-cursor=hidden] a[href],
    html.has-public-cursor [data-cursor=hidden] button,
    html.has-public-cursor [data-cursor=hidden] [role=button],
    html.has-public-cursor [data-cursor=hidden] [role=slider],
    html.has-public-cursor [data-cursor=hidden] [role=tab] {
      cursor: pointer !important;
    }
    html.has-public-cursor dialog[data-cursor=hidden]::backdrop {
      cursor: default;
    }
  }
  @media (max-width: 767px) {
    .public-cursor {
      display: none !important;
    }
  }
  @media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
    .public-cursor {
      display: none !important;
    }
  }
  @media (max-width: 767px) {
    .public-cursor-showcase {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .public-map-link {
    display: inline-flex;
    align-items: center;
    gap: var(--public-space-2xs);
    width: fit-content;
    min-height: 3.2rem;
    padding-bottom: 0.5rem;
    color: var(--public-ink);
    text-decoration: none;
  }
  .public-map-link__label {
    position: relative;
  }
  .public-map-link__label::before, .public-map-link__label::after {
    position: absolute;
    right: 0;
    bottom: -0.5rem;
    left: 0;
    height: 1px;
    background: currentColor;
    content: "";
    pointer-events: none;
  }
  .public-map-link__label::before {
    transform: scaleX(1);
    transform-origin: right center;
  }
  .public-map-link__label::after {
    transform: scaleX(0);
    transform-origin: left center;
  }
  .public-map-link__icon {
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    object-fit: contain;
  }
  .public-map-link:hover, .public-map-link:focus-visible {
    color: var(--public-blue);
  }
  .public-map-link:hover .public-map-link__label::before, .public-map-link:focus-visible .public-map-link__label::before {
    animation: public-map-link-underline-exit calc(var(--public-duration) + var(--public-duration)) var(--public-ease) both;
  }
  .public-map-link:hover .public-map-link__label::after, .public-map-link:focus-visible .public-map-link__label::after {
    animation: public-map-link-underline-enter calc(var(--public-duration) + var(--public-duration)) var(--public-ease) both;
  }
  .public-map-link:focus-visible {
    outline: 2px solid var(--public-focus);
    outline-offset: 0.3rem;
  }
  @media (prefers-reduced-motion: reduce) {
    .public-map-link:hover .public-map-link__label::before, .public-map-link:hover .public-map-link__label::after, .public-map-link:focus-visible .public-map-link__label::before, .public-map-link:focus-visible .public-map-link__label::after {
      animation: none;
    }
  }
  @keyframes public-map-link-underline-exit {
    0% {
      transform: scaleX(1);
    }
    46%, 100% {
      transform: scaleX(0);
    }
  }
  @keyframes public-map-link-underline-enter {
    0%, 42% {
      transform: scaleX(0);
    }
    100% {
      transform: scaleX(1);
    }
  }
  .public-logo {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--public-space-2xs);
    color: inherit;
    text-align: center;
    text-decoration: none;
  }
  .public-logo__asset {
    position: relative;
    display: block;
    width: 12rem;
    height: 8rem;
  }
  .public-logo__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
  }
  .public-logo--adaptive .public-logo__image {
    position: absolute;
    inset: 0;
    transition: opacity var(--public-duration) var(--public-ease);
  }
  .public-logo--adaptive .public-logo__image--black {
    opacity: 1;
  }
  .public-logo--adaptive .public-logo__image--white {
    opacity: 0;
  }
  .public-logo__short-name {
    font-size: var(--heading-sm-fs);
    font-weight: var(--list-title-fw);
    letter-spacing: 0.08em;
  }
  .public-logo__wordmark {
    font-size: var(--body-xs-fs);
    font-weight: var(--list-title-fw);
    letter-spacing: 0;
  }
  .public-logo--white, .public-logo--light {
    color: var(--public-white);
  }
  @media (max-width: 1023px) {
    .public-logo__asset {
      width: 10.2rem;
      height: 6.8rem;
    }
  }
  @media (max-width: 767px) {
    .public-logo__asset {
      width: 9rem;
      height: 5.6rem;
    }
  }
  .public-brand-mark {
    display: block;
    width: auto;
    height: 100%;
    overflow: visible;
    color: inherit;
  }
  .public-brand-mark__art path {
    fill: currentColor;
    stroke: none;
  }
  .public-brand-mark__reveal {
    transform-box: fill-box;
    transform-origin: center top;
  }
  .public-thumbnail-placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    overflow: hidden;
    color: var(--public-white);
    background: var(--clr-base-black);
  }
  .public-thumbnail-placeholder .public-logo {
    position: static;
    justify-content: center;
    width: min(18rem, 68%);
    color: var(--public-white);
  }
  .public-thumbnail-placeholder .public-logo__asset {
    width: 100%;
  }
  .public-thumbnail-placeholder .public-logo__image {
    object-position: center;
  }
  .public-thumbnail-placeholder .public-logo__lines {
    display: none;
  }
  .public-treatment-pictogram {
    display: block;
    width: var(--public-treatment-pictogram-frame);
    height: var(--public-treatment-pictogram-frame);
    flex: 0 0 var(--public-treatment-pictogram-frame);
    overflow: visible;
  }
  .public-treatment-pictogram--sm {
    --public-treatment-pictogram-frame: var(--public-treatment-pictogram-frame-sm);
  }
  .public-treatment-pictogram--md {
    --public-treatment-pictogram-frame: var(--public-treatment-pictogram-frame-md);
  }
  .public-treatment-pictogram--lg {
    --public-treatment-pictogram-frame: var(--public-treatment-pictogram-frame-lg);
  }
  .public-treatment-pictogram img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .public-header.site-header {
    --public-header-award-height: 4rem;
  }
  .public-header.site-header.public-header--without-award {
    --public-header-award-height: 0rem;
  }
  html.is-public-page-hero-immersed .public-header.site-header.public-header--home:not(.is-scrolled) {
    color: var(--public-header-theme-color);
    background-color: transparent;
    box-shadow: none;
  }
  html.is-public-page-hero-immersed .public-header.site-header.public-header--home:not(.is-scrolled) .public-logo__image--black, .public-header.site-header[data-header-variant=white]:not(.is-scrolled) .public-logo__image--black {
    opacity: 0;
  }
  html.is-public-page-hero-immersed .public-header.site-header.public-header--home:not(.is-scrolled) .public-logo__image--white, .public-header.site-header[data-header-variant=white]:not(.is-scrolled) .public-logo__image--white {
    opacity: 1;
  }
  .public-header.site-header {
    --public-header-theme-color: var(--clr-primary-main);
    --public-header-scroll-color: var(--clr-primary-main);
    --public-header-scroll-surface: color-mix(in srgb, var(--public-white) 86%, transparent);
    --public-header-dropdown-surface: var(--color-background-dropdown-light);
    --public-header-dropdown-color: var(--public-brand-ink);
    position: fixed;
    inset: 0 0 auto;
    z-index: var(--public-z-header);
    height: auto;
    color: var(--public-header-theme-color);
    background-color: var(--public-header-white);
    border-bottom: 0;
    box-shadow: none !important;
    pointer-events: auto;
    transition: color var(--public-header-fill-duration) var(--public-ease), background-color var(--public-header-fill-duration) var(--public-ease), backdrop-filter var(--public-header-fill-duration) var(--public-ease);
  }
  .public-header.site-header.public-header--home {
    --public-header-theme-color: var(--clr-base-white);
    --public-header-scroll-color: var(--clr-base-white);
    --public-header-scroll-surface: color-mix(in srgb, var(--public-brand-ink) 82%, transparent);
    --public-header-dropdown-surface: var(--color-background-dropdown-dark);
    --public-header-dropdown-color: var(--public-brand-surface);
  }
  .public-header.site-header[data-header-variant=white] {
    --public-header-theme-color: var(--clr-base-white);
    --public-header-scroll-color: var(--clr-base-white);
    --public-header-scroll-surface: color-mix(in srgb, var(--public-brand-ink) 82%, transparent);
    --public-header-dropdown-surface: var(--color-background-dropdown-dark);
    --public-header-dropdown-color: var(--public-brand-surface);
    color: var(--public-header-theme-color);
    background-color: var(--public-header-scroll-surface);
    -webkit-backdrop-filter: blur(1.2rem);
    backdrop-filter: blur(1.2rem);
  }
  .public-header.site-header[data-header-variant=black][data-header-mode=solid] {
    --public-header-theme-color: var(--public-brand-ink);
    --public-header-scroll-color: var(--public-brand-ink);
    --public-header-scroll-surface: #f6f1ea;
    background-color: var(--public-header-scroll-surface);
  }
  .public-header.site-header[data-header-mode=overlay]:not(.is-scrolled) {
    background-color: transparent;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .public-header.site-header.is-scrolled {
    color: var(--public-header-scroll-color);
    background-color: var(--public-header-scroll-surface);
    -webkit-backdrop-filter: blur(1.2rem);
    backdrop-filter: blur(1.2rem);
  }
  .public-header.site-header[data-header-variant=white].is-scrolled .public-logo__image--black {
    opacity: 0;
  }
  .public-header.site-header[data-header-variant=white].is-scrolled .public-logo__image--white {
    opacity: 1;
  }
  .public-header__award {
    display: block;
    height: var(--public-header-award-height);
    min-height: var(--public-header-award-height);
    color: var(--public-white);
    background: var(--public-award-black);
    overflow: hidden;
  }
  .public-header__award-swiper, .public-header__award-swiper > .swiper-wrapper, .public-header__award-slide {
    width: 100%;
    height: 100%;
  }
  .public-header__award-slide {
    display: grid;
    place-items: center;
    color: var(--public-white);
    background: var(--public-award-black);
  }
  .public-header__award-link {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    padding-inline: var(--public-header-gutter);
    color: inherit;
    text-align: center;
  }
  .public-header__award-link:focus-visible {
    outline: 1px solid var(--public-white);
    outline-offset: -2px;
  }
  .public-header__award-slide > .public-header__award-message {
    padding-inline: var(--public-header-gutter);
    text-align: center;
  }
  .public-header__award-message {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .public-header__award-slide--plum {
    background: var(--public-award-plum);
  }
  .public-header__award-slide--blue {
    background: var(--public-award-blue);
  }
  .public-header__award-slide--wine {
    background: var(--public-award-wine);
  }
  .public-header__award-slide--green {
    background: var(--public-award-green);
  }
  .public-header.site-header .public-header__inner {
    height: var(--public-header-content-height);
    display: grid;
    grid-template-areas: "nav logo actions";
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: var(--public-space-2xl);
  }
  .public-header.site-header .public-header__menu, .public-header.site-header .public-header__menu-toggle {
    display: none;
  }
  .public-header.site-header .public-logo {
    grid-area: logo;
    justify-self: center;
  }
  .public-header.site-header .public-header__actions {
    grid-area: actions;
    justify-self: end;
    display: flex;
    align-items: center;
    gap: var(--public-space-2xs);
  }
  .public-header__action {
    display: flex;
    align-items: center;
  }
  .public-header__official-site-item {
    display: flex;
    align-items: center;
  }
  .public-header__official-site {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 9.6rem;
    min-height: 3.2rem;
    gap: var(--public-space-2xs);
    padding-inline: var(--public-space-sm);
    color: inherit;
    border: 1px solid currentColor;
    border-radius: var(--public-radius-pill);
    background: transparent;
    transition: color var(--public-duration) var(--public-ease), background-color var(--public-duration) var(--public-ease);
  }
  .public-header__official-site:hover, .public-header__official-site:focus-visible {
    color: var(--clr-primary-500);
  }
  .public-header__official-site:focus-visible {
    outline: 1px solid currentColor;
    outline-offset: 2px;
  }
  .public-header__official-site-icon {
    display: grid;
    width: var(--body-xs-fs);
    height: var(--body-xs-fs);
    place-items: center;
    font-size: var(--body-xs-fs);
    line-height: 1;
  }
  .public-header__nav {
    grid-area: nav;
    justify-self: start;
    height: 100%;
  }
  .public-header__nav > ul {
    display: flex;
    align-items: center;
    height: 100%;
    gap: clamp(var(--public-space-md), 2.6vw, var(--public-space-3xl));
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .public-header__nav li {
    position: relative;
  }
  .public-header__nav a {
    color: inherit;
    white-space: nowrap;
  }
  .public-header__nav > ul > li > a {
    position: relative;
    display: flex;
    align-items: center;
    min-height: var(--public-header-content-height);
    outline: 0;
    font-family: var(--font-sans-family);
    font-size: var(--body-xs-fs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.025em;
  }
  .public-header__nav > ul > li > a > span {
    color: inherit;
    opacity: 0.76;
    transition: opacity 180ms var(--public-ease);
  }
  .public-header__nav > ul > li > a > span:hover, .public-header__nav > ul > li > a > span:focus-visible, .public-header__nav > ul > li > a > span[aria-current=page], .public-header__nav > ul > li > a > span.is-current {
    opacity: 1;
  }
  @media (prefers-reduced-motion: reduce) {
    .public-header__nav > ul > li > a > span {
      transition: none;
    }
  }
  .public-header__nav > ul > li.is-active > a > span, .public-header__nav > ul > li.is-dropdown-open > a > span, .public-header__nav > ul > li:hover > a > span, .public-header__nav > ul > li:focus-within > a > span {
    opacity: 1;
  }
  .public-header__nav > ul > li > a:focus-visible > span {
    outline: 2px solid currentColor;
    outline-offset: 5px;
  }
  .public-header__sub {
    position: absolute;
    top: 100%;
    left: 50%;
    width: max-content;
    min-width: 24rem;
    max-width: min(28rem, 100vw - var(--public-header-gutter) * 2);
    padding: var(--public-space-2xs);
    color: var(--public-header-dropdown-color);
    background: var(--public-header-dropdown-surface);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, -0.4rem);
    transition: opacity 220ms var(--public-ease), visibility 220ms var(--public-ease), transform 220ms var(--public-ease);
  }
  .public-header__nav > ul > li:hover > .public-header__sub, .public-header__nav > ul > li:focus-within > .public-header__sub, .public-header__nav > ul > li.is-dropdown-open > .public-header__sub {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
  }
  .public-header__sub a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 4.4rem;
    padding: 0.8rem var(--public-space-xs) 1rem;
    color: inherit;
    background: transparent;
    font-size: 1.4rem;
    line-height: 1.4;
    opacity: 0.66;
    white-space: normal;
    transition: opacity 220ms var(--public-ease);
  }
  .public-header__sub a::after {
    position: absolute;
    bottom: 0.7rem;
    left: 50%;
    transform: translateX(-50%);
    width: 1.6rem;
    height: 1px;
    background: currentColor;
    content: "";
    opacity: 0;
  }
  .public-header__sub a:hover, .public-header__sub a:focus-visible, .public-header__sub a.is-current, .public-header__sub a[aria-current=page] {
    opacity: 1;
  }
  .public-header__sub a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: -2px;
  }
  .public-header__sub a.is-current, .public-header__sub a[aria-current=page] {
    font-weight: var(--font-weight-medium);
  }
  .public-header__sub a.is-current::after, .public-header__sub a[aria-current=page]::after {
    opacity: 1;
  }
  @media (prefers-reduced-motion: reduce) {
    .public-header__sub a {
      transition: none;
    }
  }
  .public-header__action-btn {
    display: grid;
    width: var(--public-header-action-width);
    height: var(--public-control-sm);
    place-items: center;
    margin: 0;
    padding: 0;
    color: inherit;
    border: 0;
    border-radius: var(--public-radius-pill);
    background: transparent;
    cursor: pointer;
    position: relative;
    box-shadow: none;
    transition: color var(--public-duration) var(--public-ease);
  }
  .public-header__appointment {
    width: auto;
    min-height: var(--public-control-sm);
    padding-inline: 2rem;
    color: inherit;
    white-space: nowrap;
  }
  .public-header.site-header .public-header__action-btn:not(.public-language-switcher__toggle):hover, .public-header.site-header .public-header__action-btn:not(.public-language-switcher__toggle):focus-visible {
    color: var(--clr-primary-500);
  }
  .public-header.site-header .public-header__action-btn:not(.public-language-switcher__toggle):hover .public-header__action-icon, .public-header.site-header .public-header__action-btn:not(.public-language-switcher__toggle):focus-visible .public-header__action-icon {
    color: var(--clr-primary-500);
  }
  .public-header.site-header .public-language-switcher__toggle:hover, .public-header.site-header .public-language-switcher__toggle:focus-visible, .public-header.site-header .public-language-switcher[data-lang-switcher].is-open .public-language-switcher__toggle {
    color: inherit;
  }
  .public-header__action-icon {
    display: grid;
    width: var(--public-header-icon-size);
    height: var(--public-header-icon-size);
    place-items: center;
    font-size: var(--public-header-icon-size);
    line-height: 1;
  }
  .public-header__action-btn--cart .public-header__notify {
    top: 0.2rem;
    right: -0.2rem;
  }
  .public-header__notify {
    position: absolute;
    top: 0.3rem;
    right: 0.1rem;
    display: grid;
    min-width: var(--public-header-notify-size);
    height: var(--public-header-notify-size);
    place-items: center;
    color: var(--public-white);
    background: #d94f7e;
    border-radius: var(--public-radius-pill);
    font-size: var(--public-header-notify-font-size);
    line-height: 1;
  }
  .public-header.site-header .public-header__search-icon {
    grid-area: 1/1;
  }
  .public-header.site-header .public-header__action-btn:focus-visible {
    background: transparent;
  }
  @media (max-width: 1720px) {
    .public-header__nav > ul > li:first-child > .public-header__sub {
      left: 0;
      transform: translateY(-0.4rem);
    }
    .public-header__nav > ul > li:first-child:hover > .public-header__sub, .public-header__nav > ul > li:first-child:focus-within > .public-header__sub, .public-header__nav > ul > li:first-child.is-dropdown-open > .public-header__sub {
      transform: translateY(0);
    }
  }
  @media (max-width: 1023px) {
    .public-header.site-header .public-header__inner {
      grid-template-areas: "menu logo actions";
      grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
      gap: var(--public-space-lg);
    }
    .public-header.site-header .public-header__menu-toggle {
      grid-area: menu;
      justify-self: start;
      display: grid;
      width: var(--public-header-action-size);
      height: var(--public-header-action-size);
      place-content: center;
      gap: var(--public-space-2xs);
      color: inherit;
      border: 0;
      background: transparent;
    }
    .public-header.site-header .public-header__menu-toggle span {
      display: block;
      width: 2rem;
      height: 1px;
      background: currentColor;
    }
    .public-header.site-header .public-header__menu-toggle:focus-visible {
      background: transparent;
      outline: 0;
    }
    .public-header.site-header .public-header__nav {
      display: none;
    }
  }
  @media (max-width: 767px) {
    .public-header.site-header {
      --public-header-award-height: 2.8rem;
      border-bottom: 1px solid transparent;
    }
    .public-header.site-header[data-header-variant=black] {
      border-bottom-color: color-mix(in srgb, currentColor 25%, transparent);
    }
    .public-header__award {
      height: var(--public-header-award-height);
      min-height: var(--public-header-award-height);
    }
    .public-header.site-header .public-header__inner {
      height: calc(var(--public-header-content-height) - 1px);
      gap: var(--public-space-xs);
    }
    .public-header.site-header .public-logo__asset {
      width: 6.8rem;
      height: 4.4rem;
    }
    .public-header.site-header .public-header__actions {
      gap: 0;
    }
    .public-header__appointment {
      display: none;
    }
  }
  .public-language-switcher {
    position: relative;
    margin: 0;
  }
  .public-language-switcher__toggle {
    position: relative;
    isolation: isolate;
    border: 0;
    background: transparent;
    border-radius: var(--public-action-radius);
    text-decoration: none;
  }
  .public-language-switcher__toggle::before, .public-language-switcher__toggle::after {
    position: absolute;
    inset-block: 0;
    box-sizing: border-box;
    width: var(--public-action-end-width);
    border: 1px solid currentColor;
    content: "";
    pointer-events: none;
    transition: width var(--public-action-duration) var(--public-ease);
  }
  .public-language-switcher__toggle::before {
    inset-inline-start: 0;
    border-inline-end: 0;
    border-radius: var(--public-action-radius) 0 0 var(--public-action-radius);
  }
  .public-language-switcher__toggle::after {
    inset-inline-end: 0;
    border-inline-start: 0;
    border-radius: 0 var(--public-action-radius) var(--public-action-radius) 0;
  }
  .public-language-switcher__toggle:hover::before, .public-language-switcher__toggle:hover::after, .public-language-switcher__toggle:focus-visible::before, .public-language-switcher__toggle:focus-visible::after, .public-language-switcher__toggle.is-frame-completing::before, .public-language-switcher__toggle.is-frame-completing::after, .public-language-switcher__toggle[aria-expanded=true]::before, .public-language-switcher__toggle[aria-expanded=true]::after {
    width: calc(50% + 1px);
  }
  @media (max-width: 1023px), (hover: none), (pointer: coarse) {
    .public-language-switcher__toggle::before, .public-language-switcher__toggle::after {
      width: calc(50% + 1px);
    }
  }
  .public-language-switcher__toggle:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
  }
  @media (prefers-reduced-motion: reduce) {
    .public-language-switcher__toggle::before, .public-language-switcher__toggle::after {
      transition: none;
    }
  }
  .public-language-switcher__toggle {
    width: auto;
    min-width: 7.8rem;
    height: var(--public-control-sm);
    padding-inline: 1.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    color: inherit;
    font-family: var(--font-sans-family);
    font-weight: var(--font-weight-medium);
  }
  .public-language-switcher__current {
    font-size: 1.2rem;
    letter-spacing: 0.04em;
  }
  .public-language-switcher__dropdown {
    position: absolute;
    top: calc(100% + (var(--public-header-content-height) - var(--public-control-sm)) / 2);
    left: 50%;
    transform: translateX(-50%);
    display: grid;
    min-width: 12rem;
    padding: var(--public-space-2xs);
    color: var(--public-header-dropdown-color);
    border: 0;
    border-radius: 0;
    background: var(--public-header-dropdown-surface);
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--public-duration) var(--public-ease), visibility var(--public-duration) var(--public-ease);
  }
  .public-language-switcher form {
    margin: 0;
  }
  .public-language-switcher__item {
    position: relative;
    width: 100%;
    min-height: 4.4rem;
    margin: 0;
    padding: 0.8rem var(--public-space-xs) 1rem;
    border: 0;
    border-radius: 0;
    color: inherit;
    background: transparent;
    text-align: center;
    font-family: inherit;
    font-size: 1.4rem;
    line-height: 1.4;
    cursor: pointer;
    opacity: 0.66;
    transition: opacity var(--public-duration) var(--public-ease);
  }
  .public-language-switcher__item::after {
    position: absolute;
    bottom: 0.7rem;
    left: 50%;
    transform: translateX(-50%);
    width: 1.6rem;
    height: 1px;
    background: currentColor;
    content: "";
    opacity: 0;
  }
  .public-language-switcher__item:hover, .public-language-switcher__item:focus-visible {
    opacity: 1;
  }
  .public-language-switcher__item:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: -2px;
  }
  .public-language-switcher__item.is-active {
    opacity: 1;
    font-weight: var(--font-weight-medium);
  }
  .public-language-switcher__item.is-active::after {
    opacity: 1;
  }
  .public-language-switcher--drawer {
    display: flex;
    align-items: center;
    gap: var(--public-space-xs);
    color: var(--public-brand-surface-strong);
  }
  .public-language-switcher--drawer button {
    color: color-mix(in srgb, var(--public-brand-surface-strong) 58%, transparent);
  }
  .public-language-switcher--drawer button:hover, .public-language-switcher--drawer button:focus-visible, .public-language-switcher--drawer button.is-active {
    color: var(--public-brand-surface-strong);
    outline: 0;
  }
  .public-language-switcher[data-lang-switcher].is-open .public-language-switcher__dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  @media (prefers-reduced-motion: reduce) {
    .public-language-switcher__item {
      transition: none;
    }
  }
  @media (max-width: 767px) {
    .public-language-switcher {
      margin-left: 0;
    }
    .public-language-switcher__toggle {
      min-width: 6.4rem;
      padding-inline: 0.8rem;
      gap: 0.6rem;
    }
    .public-language-switcher__toggle::before, .public-language-switcher__toggle::after {
      inset-block: 0.5rem;
    }
    .public-language-switcher__toggle .public-header__action-icon {
      width: 1.4rem;
      height: 1.4rem;
      font-size: 1.4rem;
    }
    .public-language-switcher__dropdown {
      left: auto;
      right: 0;
      transform: none;
      min-width: 12rem;
    }
  }
  .public-drawer.site-drawer {
    --public-header-dropdown-color: var(--public-brand-ink);
    --public-header-dropdown-surface: var(--color-background-dropdown-light);
    position: fixed;
    inset: 0;
    z-index: var(--public-z-drawer);
    width: 100%;
    height: 100svh;
    height: 100dvh;
    color: var(--public-brand-surface-strong);
    background: color-mix(in srgb, var(--public-brand-ink) 0%, transparent);
    visibility: hidden;
    overflow: hidden;
    pointer-events: none;
    transform: none;
    transition: background-color var(--public-duration) var(--public-ease), visibility var(--public-duration);
  }
  .public-drawer.site-drawer[data-state=opening], .public-drawer.site-drawer[data-state=open], .public-drawer.site-drawer[data-state=closing] {
    background: color-mix(in srgb, var(--public-brand-ink) 54%, transparent);
    visibility: visible;
    transform: none;
  }
  .public-drawer.site-drawer[data-state=opening], .public-drawer.site-drawer[data-state=open] {
    pointer-events: auto;
  }
  .public-drawer.site-drawer .public-drawer__panel {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    color: var(--public-brand-surface-strong);
    background: var(--public-brand-ink);
    overflow-y: auto;
    overscroll-behavior: contain;
    clip-path: inset(0 0 100% 0);
    transform: none;
    transition: none;
  }
  .public-drawer.site-drawer[data-state=opening] .public-drawer__panel, .public-drawer.site-drawer[data-state=open] .public-drawer__panel, .public-drawer.site-drawer[data-state=closing] .public-drawer__panel {
    clip-path: inset(0 0 0% 0);
  }
  .public-drawer.site-drawer .public-drawer__head {
    display: grid;
    flex: 0 0 auto;
    grid-template-areas: "close brand actions";
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    height: var(--public-header-content-height);
    margin: 0;
    padding-inline: var(--gutter);
    border-bottom: 0;
    user-select: none;
  }
  .public-drawer__brand {
    display: flex;
    grid-area: brand;
    align-items: center;
    justify-self: center;
  }
  .public-drawer__actions {
    grid-area: actions;
    justify-self: end;
    color: var(--public-brand-surface-strong);
  }
  .public-drawer__actions .public-language-switcher__dropdown {
    left: auto;
    right: 0;
    transform: none;
  }
  .public-drawer__nav-text {
    position: relative;
    display: block;
    overflow: hidden;
  }
  .public-drawer__nav-copy {
    display: block;
    transition: transform var(--public-duration) var(--public-ease);
  }
  .public-drawer__nav-copy + .public-drawer__nav-copy {
    position: absolute;
    inset: 0;
    transform: translateY(110%);
  }
  .public-drawer__nav-icon {
    position: relative;
    display: grid;
    flex: 0 0 2.4rem;
    width: 2.4rem;
    height: 2.4rem;
    place-items: center;
  }
  .public-drawer__nav-icon::before {
    width: 0.9rem;
    height: 0.9rem;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: transparent;
    content: "";
    transition: background-color var(--public-duration) var(--public-ease);
  }
  .public-drawer.site-drawer .public-drawer__close {
    position: relative;
    grid-area: close;
    justify-self: start;
    display: grid;
    width: var(--public-header-action-size);
    height: var(--public-header-action-size);
    padding: 0;
    color: var(--public-brand-surface-strong);
    background: transparent;
    border: 0;
    border-radius: 0;
    place-content: center;
    user-select: none;
  }
  .public-drawer.site-drawer .public-drawer__close:hover, .public-drawer.site-drawer .public-drawer__close:focus-visible {
    background: transparent;
  }
  .public-drawer.site-drawer .public-drawer__close:focus-visible {
    outline: 0;
  }
  .public-drawer.site-drawer .public-drawer__close > svg {
    display: block;
    width: 2rem;
    height: 2rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1;
    pointer-events: none;
  }
  .public-drawer.site-drawer .public-drawer__body {
    flex: 0 0 auto;
    padding: 7.2rem 5.5rem 4rem 8rem;
  }
  .public-drawer.site-drawer .public-drawer__nav {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .public-drawer.site-drawer .site-drawer__nav-item {
    margin: 0;
    border: 0;
  }
  .public-drawer.site-drawer .site-drawer__nav-item + .site-drawer__nav-item {
    margin-top: var(--public-space-xl);
  }
  .public-drawer.site-drawer .site-drawer__nav-label {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    color: var(--public-brand-surface-strong);
    background: none;
    border: 0;
    text-align: left;
    text-decoration: none;
    text-transform: uppercase;
    font-family: var(--font-display-family);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.01em;
    outline: 0;
    overflow: hidden;
    opacity: 0.76;
    transition: opacity var(--public-duration) var(--public-ease);
  }
  .public-drawer.site-drawer .site-drawer__nav-label--korean {
    font-family: var(--font-sans-family);
  }
  .public-drawer.site-drawer button.site-drawer__nav-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--public-space-md);
  }
  .public-drawer.site-drawer .site-drawer__nav-item.is-expanded > button.site-drawer__nav-label .public-drawer__nav-icon::before {
    background: currentColor;
  }
  .public-drawer.site-drawer .site-drawer__nav-label::after {
    display: none;
  }
  .public-drawer.site-drawer .site-drawer__sub {
    display: block;
    width: min(37.9rem, 100%);
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height var(--public-duration) var(--public-ease), opacity var(--public-duration) var(--public-ease);
  }
  .public-drawer.site-drawer .site-drawer__sub-list {
    display: grid;
    gap: var(--public-space-2xs);
    min-height: 0;
    margin: 0;
    padding: var(--public-space-sm) 0 0;
    overflow: hidden;
    list-style: none;
  }
  .public-drawer.site-drawer .site-drawer__nav-item.is-expanded > .site-drawer__sub {
    max-height: var(--drawer-sub-height, 0);
    opacity: 1;
  }
  .public-drawer.site-drawer .site-drawer__sub-link {
    color: inherit;
    opacity: 0.76;
    transition: opacity 180ms var(--public-ease);
  }
  .public-drawer.site-drawer .site-drawer__sub-link:hover, .public-drawer.site-drawer .site-drawer__sub-link:focus-visible, .public-drawer.site-drawer .site-drawer__sub-link[aria-current=page], .public-drawer.site-drawer .site-drawer__sub-link.is-current {
    opacity: 1;
  }
  @media (prefers-reduced-motion: reduce) {
    .public-drawer.site-drawer .site-drawer__sub-link {
      transition: none;
    }
  }
  .public-drawer.site-drawer .site-drawer__sub-link {
    width: 100%;
    min-height: var(--public-control-sm);
    padding-inline: 0;
    padding-inline-start: 0.1rem;
    padding-block: var(--public-space-xs);
    border-left: 0;
  }
  .public-drawer.site-drawer .site-drawer__nav-label:hover, .public-drawer.site-drawer .site-drawer__nav-label:focus-visible, .public-drawer.site-drawer .site-drawer__sub-link:hover, .public-drawer.site-drawer .site-drawer__sub-link:focus-visible {
    background: transparent;
    opacity: 1;
  }
  .public-drawer.site-drawer .site-drawer__sub-link.is-current {
    background: transparent;
    opacity: 1;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.22em;
  }
  .public-drawer.site-drawer .site-drawer__nav-label:hover, .public-drawer.site-drawer .site-drawer__nav-label:focus-visible {
    opacity: 1;
  }
  .public-drawer.site-drawer .site-drawer__nav-label:focus-visible .public-drawer__nav-copy:first-child, .public-drawer.site-drawer .site-drawer__sub-link:focus-visible {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
  }
  .public-drawer.site-drawer .site-drawer__nav-item.is-current-branch > .site-drawer__nav-label, .public-drawer.site-drawer .site-drawer__nav-item.is-expanded > .site-drawer__nav-label {
    opacity: 1;
  }
  @media (max-width: 767px) {
    .public-drawer.site-drawer {
      background: transparent;
    }
    .public-drawer.site-drawer[data-state=opening], .public-drawer.site-drawer[data-state=open] {
      background: transparent;
    }
    .public-drawer.site-drawer .public-drawer__panel {
      min-height: 100svh;
      padding: 0 0 1.8rem;
      clip-path: inset(0 0 100% 0);
      transform: none;
    }
    .public-drawer.site-drawer[data-state=opening] .public-drawer__panel, .public-drawer.site-drawer[data-state=open] .public-drawer__panel, .public-drawer.site-drawer[data-state=closing] .public-drawer__panel {
      clip-path: inset(0 0 0% 0);
    }
    .public-drawer.site-drawer .public-drawer__head {
      height: var(--public-header-content-height);
      padding-inline: var(--gutter);
    }
    .public-drawer .public-drawer__brand .public-logo {
      justify-content: center;
    }
    .public-drawer .public-drawer__brand .public-logo__asset {
      width: 6.8rem;
      height: 4.4rem;
    }
    .public-drawer.site-drawer .public-drawer__close {
      margin: 0;
    }
    .public-drawer.site-drawer .public-drawer__body {
      display: flex;
      flex: 1 0 auto;
      align-items: flex-start;
      padding: clamp(4rem, 9svh, 6.4rem) var(--public-header-gutter) 3.2rem;
    }
    .public-drawer.site-drawer .site-drawer__nav-item + .site-drawer__nav-item {
      margin-top: 0.6rem;
    }
    .public-drawer.site-drawer .site-drawer__nav-label {
      min-height: 3.8rem;
      color: var(--public-brand-surface-strong);
      font-size: clamp(2.6rem, 7.8vw, 3.1rem);
      font-weight: var(--font-weight-regular);
      line-height: 1.05;
      letter-spacing: -0.03em;
    }
    .public-drawer.site-drawer .site-drawer__nav-label--korean {
      font-size: clamp(2.15rem, 6.4vw, 2.6rem);
      line-height: 1.15;
      letter-spacing: -0.055em;
    }
    .public-drawer.site-drawer button.site-drawer__nav-label {
      gap: var(--public-space-sm);
    }
    .public-drawer.site-drawer .site-drawer__sub {
      width: 100%;
    }
    .public-drawer.site-drawer .site-drawer__sub-list {
      gap: 0;
      padding-top: 1.2rem;
    }
    .public-drawer.site-drawer .site-drawer__sub-link {
      min-height: 3.6rem;
      padding-block: 0.7rem;
      font-size: 1.4rem;
      line-height: 1.35;
    }
    .public-drawer.site-drawer .site-drawer__nav-label:hover, .public-drawer.site-drawer .site-drawer__nav-label:focus-visible, .public-drawer.site-drawer .site-drawer__sub-link:hover, .public-drawer.site-drawer .site-drawer__sub-link:focus-visible, .public-drawer.site-drawer .site-drawer__sub-link.is-current {
      background: transparent;
    }
    .public-drawer.site-drawer .site-drawer__nav-label:focus-visible, .public-drawer.site-drawer .site-drawer__sub-link:focus-visible {
      outline: 0;
    }
    .public-drawer.site-drawer .site-drawer__sub-link.is-current {
      text-decoration: underline;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .public-drawer.site-drawer .site-drawer__sub, .public-drawer.site-drawer .site-drawer__sub-list, .public-drawer.site-drawer .site-drawer__sub-link, .public-drawer.site-drawer .public-drawer__nav-copy, .public-drawer.site-drawer .public-drawer__nav-icon::before, .public-drawer.site-drawer .site-drawer__nav-label::after, .public-drawer.site-drawer .site-drawer__sub-link::before, .public-drawer.site-drawer .site-drawer__sub-link::after {
      transition: none;
    }
  }
  .public-search-form {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--public-search-submit-width);
    align-items: stretch;
    min-width: 0;
    width: 100%;
    max-width: var(--public-search-max-width);
    margin-inline: auto;
    gap: var(--public-search-gap);
    border: 0;
    background: transparent;
  }
  .public-search-form__field {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    min-width: 0;
    height: var(--public-search-height);
    border: 1px solid var(--public-ink);
    background: var(--public-white);
    transition: border-color var(--public-duration) var(--public-ease);
  }
  .public-search-form__icon {
    flex: 0 0 var(--public-search-icon-slot);
    display: grid;
    place-items: center;
    color: var(--public-ink);
    font-size: var(--public-search-icon-size);
  }
  .public-search-form input {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0 var(--public-search-input-padding-inline);
    color: var(--public-ink);
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    appearance: none;
    background: transparent;
    font-size: var(--body-sm-fs);
  }
  .public-search-form input::-webkit-search-cancel-button, .public-search-form input::-webkit-search-decoration, .public-search-form input::-webkit-search-results-button, .public-search-form input::-webkit-search-results-decoration {
    display: none;
    appearance: none;
  }
  .public-search-form input::placeholder {
    color: var(--public-search-placeholder-color);
  }
  .public-search-form .public-search-form__clear, .public-search-form .public-search-form__submit {
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    cursor: pointer;
    transition: color var(--public-duration) var(--public-ease), background var(--public-duration) var(--public-ease);
  }
  .public-search-form .public-search-form__clear {
    flex: 0 0 var(--public-control-sm);
    color: var(--public-muted);
    background: transparent;
    font-size: var(--body-md-fs);
  }
  .public-search-form .public-search-form__clear[hidden] {
    display: none;
  }
  .public-search-form .public-search-form__submit {
    min-height: var(--public-search-height);
    min-width: 0;
    position: relative;
    isolation: isolate;
    border: 0;
    background: transparent;
    border-radius: var(--public-action-radius);
    text-decoration: none;
  }
  .public-search-form .public-search-form__submit::before, .public-search-form .public-search-form__submit::after {
    position: absolute;
    inset-block: 0;
    box-sizing: border-box;
    width: var(--public-action-end-width);
    border: 1px solid currentColor;
    content: "";
    pointer-events: none;
    transition: width var(--public-action-duration) var(--public-ease);
  }
  .public-search-form .public-search-form__submit::before {
    inset-inline-start: 0;
    border-inline-end: 0;
    border-radius: var(--public-action-radius) 0 0 var(--public-action-radius);
  }
  .public-search-form .public-search-form__submit::after {
    inset-inline-end: 0;
    border-inline-start: 0;
    border-radius: 0 var(--public-action-radius) var(--public-action-radius) 0;
  }
  .public-search-form .public-search-form__submit:hover::before, .public-search-form .public-search-form__submit:hover::after, .public-search-form .public-search-form__submit:focus-visible::before, .public-search-form .public-search-form__submit:focus-visible::after, .public-search-form .public-search-form__submit.is-frame-completing::before, .public-search-form .public-search-form__submit.is-frame-completing::after, .public-search-form .public-search-form__submit[aria-expanded=true]::before, .public-search-form .public-search-form__submit[aria-expanded=true]::after {
    width: calc(50% + 1px);
  }
  @media (max-width: 1023px), (hover: none), (pointer: coarse) {
    .public-search-form .public-search-form__submit::before, .public-search-form .public-search-form__submit::after {
      width: calc(50% + 1px);
    }
  }
  .public-search-form .public-search-form__submit:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
  }
  @media (prefers-reduced-motion: reduce) {
    .public-search-form .public-search-form__submit::before, .public-search-form .public-search-form__submit::after {
      transition: none;
    }
  }
  .public-search-form .public-search-form__submit {
    font-weight: var(--font-weight-medium);
    color: var(--public-ink);
    background: transparent;
    font-size: var(--body-md-fs);
  }
  .public-search-form__submit-label {
    color: inherit;
  }
  .public-search-form .public-search-form__clear:hover, .public-search-form .public-search-form__clear:focus-visible {
    color: var(--public-blue);
    outline: 0;
  }
  .public-search-form:focus-within .public-search-form__field {
    border-color: var(--public-blue);
    box-shadow: none;
  }
  .public-search-form--theme-dark .public-search-form__submit {
    color: var(--public-white);
  }
  @media (max-width: 767px) {
    .public-search-form {
      gap: var(--public-search-gap);
    }
  }
  @media (max-width: 359px) {
    .public-search-form {
      grid-template-columns: minmax(0, 1fr);
    }
  }
  @media (prefers-reduced-transparency: reduce) {
    .public-search-form__field {
      transition: none;
    }
  }
  .public-select {
    display: grid;
    gap: var(--public-space-xs);
    min-width: 0;
  }
  .public-select__label {
    color: var(--public-ink);
  }
  .public-select__native {
    width: 100%;
    min-height: var(--public-control-sm);
    padding-inline: var(--public-space-xs);
    color: var(--public-ink);
    background: var(--public-white);
    border: 1px solid var(--public-line-strong);
    border-radius: 0;
  }
  .public-select--md .public-select__native, .public-select--md .public-select__trigger {
    min-height: var(--public-control-md);
    padding-inline: var(--public-space-md);
  }
  .public-select__control {
    position: relative;
    min-width: 0;
  }
  .public-select__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--public-space-xs);
    width: 100%;
    min-height: var(--public-control-sm);
    padding-inline: var(--public-space-xs);
    color: var(--public-ink);
    background: var(--public-white);
    border: 1px solid var(--public-line-strong);
    border-radius: 0.2rem 1.2rem 0.2rem 0.2rem;
    font-size: var(--body-sm-fs);
    font-weight: var(--font-weight-medium);
    line-height: var(--body-sm-lh);
    text-align: left;
    transition: color var(--public-duration) var(--public-ease), background var(--public-duration) var(--public-ease), border-color var(--public-duration) var(--public-ease);
  }
  .public-select__trigger:hover:not(:disabled), .public-select__trigger.cs-trigger--open, .public-select__trigger[aria-expanded=true] {
    color: var(--public-white);
    background: var(--public-navy-deep);
    border-color: var(--public-navy-deep);
  }
  .public-select__trigger:focus-visible {
    outline: var(--public-focus-width) solid var(--public-focus);
    outline-offset: var(--public-focus-offset);
  }
  .public-select__trigger:disabled {
    color: var(--public-muted);
    background: var(--public-surface);
    border-color: var(--public-line);
    cursor: not-allowed;
  }
  .public-select__trigger--monochrome:hover:not(:disabled), .public-select__trigger--monochrome.cs-trigger--open, .public-select__trigger--monochrome[aria-expanded=true] {
    color: var(--clr-base-white);
    background: var(--clr-base-black);
    border-color: var(--clr-base-black);
  }
  .public-select__trigger .cs-trigger__value {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .public-select__trigger .cs-trigger__arrow {
    display: inline-flex;
    flex: 0 0 auto;
    transition: transform var(--public-duration) var(--public-ease);
  }
  .public-select__trigger.cs-trigger--open .cs-trigger__arrow, .public-select__trigger[aria-expanded=true] .cs-trigger__arrow {
    transform: rotate(180deg);
  }
  .public-select__dropdown {
    overflow: hidden;
    color: var(--public-ink);
    background: var(--public-white);
    border: 1px solid var(--public-line-strong);
    border-radius: 0;
    box-shadow: 0 var(--public-space-xs) var(--public-space-xl) color-mix(in srgb, var(--public-navy-deep) 14%, transparent);
  }
  .public-select__dropdown .cs-list {
    max-height: 28rem;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .public-select__dropdown .cs-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--public-space-xs);
    min-height: var(--public-control-sm);
    padding-inline: var(--public-space-xs);
    cursor: pointer;
    transition: color var(--public-duration) var(--public-ease), background var(--public-duration) var(--public-ease);
  }
  .public-select__dropdown .cs-option + .cs-option {
    border-top: 1px solid var(--public-line);
  }
  .public-select__dropdown .cs-option:hover,
  .public-select__dropdown .cs-option--active {
    color: var(--public-white);
    background: var(--public-navy-deep);
  }
  .public-select__dropdown .cs-option--selected {
    color: var(--public-navy-deep);
    background: var(--public-surface-subtle);
  }
  .public-select__dropdown .cs-option--selected:hover,
  .public-select__dropdown .cs-option--selected.cs-option--active {
    color: var(--public-white);
    background: var(--public-navy-deep);
  }
  .public-select__dropdown .cs-option--disabled {
    color: var(--public-muted);
    background: var(--public-surface);
    cursor: not-allowed;
  }
  .public-select__dropdown .cs-dropdown__search {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: var(--public-space-xs);
    padding: var(--public-space-xs);
    border-bottom: 1px solid var(--public-line);
  }
  .public-select__dropdown .cs-dropdown__search-input {
    width: 100%;
    min-height: var(--public-control-sm);
    color: var(--public-ink);
    background: var(--public-white);
    border-bottom: 1px solid var(--public-line-strong);
  }
  .public-select__dropdown .cs-dropdown__search-input:focus {
    border-bottom-color: var(--public-focus);
  }
  .public-select__dropdown--monochrome .cs-option:hover,
  .public-select__dropdown--monochrome .cs-option--active,
  .public-select__dropdown--monochrome .cs-option--selected:hover,
  .public-select__dropdown--monochrome .cs-option--selected.cs-option--active {
    color: var(--clr-base-white);
    background: var(--clr-base-black);
  }
  .public-select__dropdown--monochrome .cs-option--selected {
    color: var(--clr-base-white);
    background: var(--clr-base-black);
  }
  .flatpickr-calendar {
    background: transparent;
    opacity: 0;
    display: none;
    text-align: center;
    visibility: hidden;
    padding: 0;
    -webkit-animation: none;
    animation: none;
    direction: ltr;
    border: 0;
    font-size: 14px;
    line-height: 24px;
    border-radius: 5px;
    position: absolute;
    width: 307.875px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    background: #fff;
    -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);
    box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);
  }
  .flatpickr-calendar.open,
  .flatpickr-calendar.inline {
    opacity: 1;
    max-height: 640px;
    visibility: visible;
  }
  .flatpickr-calendar.open {
    display: inline-block;
    z-index: 99999;
  }
  .flatpickr-calendar.animate.open {
    -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
    animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
  }
  .flatpickr-calendar.inline {
    display: block;
    position: relative;
    top: 2px;
  }
  .flatpickr-calendar.static {
    position: absolute;
    top: calc(100% + 2px);
  }
  .flatpickr-calendar.static.open {
    z-index: 999;
    display: block;
  }
  .flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
  }
  .flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
    -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
    box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
  }
  .flatpickr-calendar .hasWeeks .dayContainer,
  .flatpickr-calendar .hasTime .dayContainer {
    border-bottom: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
  .flatpickr-calendar .hasWeeks .dayContainer {
    border-left: 0;
  }
  .flatpickr-calendar.hasTime .flatpickr-time {
    height: 40px;
    border-top: 1px solid #e6e6e6;
  }
  .flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
    height: auto;
  }
  .flatpickr-calendar:before,
  .flatpickr-calendar:after {
    position: absolute;
    display: block;
    pointer-events: none;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    left: 22px;
  }
  .flatpickr-calendar.rightMost:before,
  .flatpickr-calendar.arrowRight:before,
  .flatpickr-calendar.rightMost:after,
  .flatpickr-calendar.arrowRight:after {
    left: auto;
    right: 22px;
  }
  .flatpickr-calendar.arrowCenter:before,
  .flatpickr-calendar.arrowCenter:after {
    left: 50%;
    right: 50%;
  }
  .flatpickr-calendar:before {
    border-width: 5px;
    margin: 0 -5px;
  }
  .flatpickr-calendar:after {
    border-width: 4px;
    margin: 0 -4px;
  }
  .flatpickr-calendar.arrowTop:before,
  .flatpickr-calendar.arrowTop:after {
    bottom: 100%;
  }
  .flatpickr-calendar.arrowTop:before {
    border-bottom-color: #e6e6e6;
  }
  .flatpickr-calendar.arrowTop:after {
    border-bottom-color: #fff;
  }
  .flatpickr-calendar.arrowBottom:before,
  .flatpickr-calendar.arrowBottom:after {
    top: 100%;
  }
  .flatpickr-calendar.arrowBottom:before {
    border-top-color: #e6e6e6;
  }
  .flatpickr-calendar.arrowBottom:after {
    border-top-color: #fff;
  }
  .flatpickr-calendar:focus {
    outline: 0;
  }
  .flatpickr-wrapper {
    position: relative;
    display: inline-block;
  }
  .flatpickr-months {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .flatpickr-months .flatpickr-month {
    background: transparent;
    color: rgba(0, 0, 0, 0.9);
    fill: rgba(0, 0, 0, 0.9);
    height: 34px;
    line-height: 1;
    text-align: center;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    overflow: hidden;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
  .flatpickr-months .flatpickr-prev-month,
  .flatpickr-months .flatpickr-next-month {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    text-decoration: none;
    cursor: pointer;
    position: absolute;
    top: 0;
    height: 34px;
    padding: 10px;
    z-index: 3;
    color: rgba(0, 0, 0, 0.9);
    fill: rgba(0, 0, 0, 0.9);
  }
  .flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
  .flatpickr-months .flatpickr-next-month.flatpickr-disabled {
    display: none;
  }
  .flatpickr-months .flatpickr-prev-month i,
  .flatpickr-months .flatpickr-next-month i {
    position: relative;
  }
  .flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
  .flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
    /*
          /*rtl:begin:ignore*/
    /*
          */
    left: 0;
    /*
          /*rtl:end:ignore*/
    /*
          */
  }
  /*
        /*rtl:begin:ignore*/
  /*
        /*rtl:end:ignore*/
  .flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
  .flatpickr-months .flatpickr-next-month.flatpickr-next-month {
    /*
          /*rtl:begin:ignore*/
    /*
          */
    right: 0;
    /*
          /*rtl:end:ignore*/
    /*
          */
  }
  /*
        /*rtl:begin:ignore*/
  /*
        /*rtl:end:ignore*/
  .flatpickr-months .flatpickr-prev-month:hover,
  .flatpickr-months .flatpickr-next-month:hover {
    color: #959ea9;
  }
  .flatpickr-months .flatpickr-prev-month:hover svg,
  .flatpickr-months .flatpickr-next-month:hover svg {
    fill: #f64747;
  }
  .flatpickr-months .flatpickr-prev-month svg,
  .flatpickr-months .flatpickr-next-month svg {
    width: 14px;
    height: 14px;
  }
  .flatpickr-months .flatpickr-prev-month svg path,
  .flatpickr-months .flatpickr-next-month svg path {
    -webkit-transition: fill 0.1s;
    transition: fill 0.1s;
    fill: inherit;
  }
  .numInputWrapper {
    position: relative;
    height: auto;
  }
  .numInputWrapper input,
  .numInputWrapper span {
    display: inline-block;
  }
  .numInputWrapper input {
    width: 100%;
  }
  .numInputWrapper input::-ms-clear {
    display: none;
  }
  .numInputWrapper input::-webkit-outer-spin-button,
  .numInputWrapper input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
  }
  .numInputWrapper span {
    position: absolute;
    right: 0;
    width: 14px;
    padding: 0 4px 0 2px;
    height: 50%;
    line-height: 50%;
    opacity: 0;
    cursor: pointer;
    border: 1px solid rgba(57, 57, 57, 0.15);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .numInputWrapper span:hover {
    background: rgba(0, 0, 0, 0.1);
  }
  .numInputWrapper span:active {
    background: rgba(0, 0, 0, 0.2);
  }
  .numInputWrapper span:after {
    display: block;
    content: "";
    position: absolute;
  }
  .numInputWrapper span.arrowUp {
    top: 0;
    border-bottom: 0;
  }
  .numInputWrapper span.arrowUp:after {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-bottom: 4px solid rgba(57, 57, 57, 0.6);
    top: 26%;
  }
  .numInputWrapper span.arrowDown {
    top: 50%;
  }
  .numInputWrapper span.arrowDown:after {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid rgba(57, 57, 57, 0.6);
    top: 40%;
  }
  .numInputWrapper span svg {
    width: inherit;
    height: auto;
  }
  .numInputWrapper span svg path {
    fill: rgba(0, 0, 0, 0.5);
  }
  .numInputWrapper:hover {
    background: rgba(0, 0, 0, 0.05);
  }
  .numInputWrapper:hover span {
    opacity: 1;
  }
  .flatpickr-current-month {
    font-size: 135%;
    line-height: inherit;
    font-weight: 300;
    color: inherit;
    position: absolute;
    width: 75%;
    left: 12.5%;
    padding: 7.48px 0 0 0;
    line-height: 1;
    height: 34px;
    display: inline-block;
    text-align: center;
    -webkit-transform: translate3d(0px, 0px, 0px);
    transform: translate3d(0px, 0px, 0px);
  }
  .flatpickr-current-month span.cur-month {
    font-family: inherit;
    font-weight: 700;
    color: inherit;
    display: inline-block;
    margin-left: 0.5ch;
    padding: 0;
  }
  .flatpickr-current-month span.cur-month:hover {
    background: rgba(0, 0, 0, 0.05);
  }
  .flatpickr-current-month .numInputWrapper {
    width: 6ch;
    width: 7ch\0 ;
    display: inline-block;
  }
  .flatpickr-current-month .numInputWrapper span.arrowUp:after {
    border-bottom-color: rgba(0, 0, 0, 0.9);
  }
  .flatpickr-current-month .numInputWrapper span.arrowDown:after {
    border-top-color: rgba(0, 0, 0, 0.9);
  }
  .flatpickr-current-month input.cur-year {
    background: transparent;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    cursor: text;
    padding: 0 0 0 0.5ch;
    margin: 0;
    display: inline-block;
    font-size: inherit;
    font-family: inherit;
    font-weight: 300;
    line-height: inherit;
    height: auto;
    border: 0;
    border-radius: 0;
    vertical-align: initial;
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
  }
  .flatpickr-current-month input.cur-year:focus {
    outline: 0;
  }
  .flatpickr-current-month input.cur-year[disabled],
  .flatpickr-current-month input.cur-year[disabled]:hover {
    font-size: 100%;
    color: rgba(0, 0, 0, 0.5);
    background: transparent;
    pointer-events: none;
  }
  .flatpickr-current-month .flatpickr-monthDropdown-months {
    appearance: menulist;
    background: transparent;
    border: none;
    border-radius: 0;
    box-sizing: border-box;
    color: inherit;
    cursor: pointer;
    font-size: inherit;
    font-family: inherit;
    font-weight: 300;
    height: auto;
    line-height: inherit;
    margin: -1px 0 0 0;
    outline: none;
    padding: 0 0 0 0.5ch;
    position: relative;
    vertical-align: initial;
    -webkit-box-sizing: border-box;
    -webkit-appearance: menulist;
    -moz-appearance: menulist;
    width: auto;
  }
  .flatpickr-current-month .flatpickr-monthDropdown-months:focus,
  .flatpickr-current-month .flatpickr-monthDropdown-months:active {
    outline: none;
  }
  .flatpickr-current-month .flatpickr-monthDropdown-months:hover {
    background: rgba(0, 0, 0, 0.05);
  }
  .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
    background-color: transparent;
    outline: none;
    padding: 0;
  }
  .flatpickr-weekdays {
    background: transparent;
    text-align: center;
    overflow: hidden;
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 28px;
  }
  .flatpickr-weekdays .flatpickr-weekdaycontainer {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
  span.flatpickr-weekday {
    cursor: default;
    font-size: 90%;
    background: transparent;
    color: rgba(0, 0, 0, 0.54);
    line-height: 1;
    margin: 0;
    text-align: center;
    display: block;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-weight: bolder;
  }
  .dayContainer,
  .flatpickr-weeks {
    padding: 1px 0 0 0;
  }
  .flatpickr-days {
    position: relative;
    overflow: hidden;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 307.875px;
  }
  .flatpickr-days:focus {
    outline: 0;
  }
  .dayContainer {
    padding: 0;
    outline: 0;
    text-align: left;
    width: 307.875px;
    min-width: 307.875px;
    max-width: 307.875px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    -webkit-transform: translate3d(0px, 0px, 0px);
    transform: translate3d(0px, 0px, 0px);
    opacity: 1;
  }
  .dayContainer + .dayContainer {
    -webkit-box-shadow: -1px 0 0 #e6e6e6;
    box-shadow: -1px 0 0 #e6e6e6;
  }
  .flatpickr-day {
    background: none;
    border: 1px solid transparent;
    border-radius: 150px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #393939;
    cursor: pointer;
    font-weight: 400;
    width: 14.2857143%;
    -webkit-flex-basis: 14.2857143%;
    -ms-flex-preferred-size: 14.2857143%;
    flex-basis: 14.2857143%;
    max-width: 39px;
    height: 39px;
    line-height: 39px;
    margin: 0;
    display: inline-block;
    position: relative;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
  }
  .flatpickr-day.inRange,
  .flatpickr-day.prevMonthDay.inRange,
  .flatpickr-day.nextMonthDay.inRange,
  .flatpickr-day.today.inRange,
  .flatpickr-day.prevMonthDay.today.inRange,
  .flatpickr-day.nextMonthDay.today.inRange,
  .flatpickr-day:hover,
  .flatpickr-day.prevMonthDay:hover,
  .flatpickr-day.nextMonthDay:hover,
  .flatpickr-day:focus,
  .flatpickr-day.prevMonthDay:focus,
  .flatpickr-day.nextMonthDay:focus {
    cursor: pointer;
    outline: 0;
    background: #e6e6e6;
    border-color: #e6e6e6;
  }
  .flatpickr-day.today {
    border-color: #959ea9;
  }
  .flatpickr-day.today:hover,
  .flatpickr-day.today:focus {
    border-color: #959ea9;
    background: #959ea9;
    color: #fff;
  }
  .flatpickr-day.selected,
  .flatpickr-day.startRange,
  .flatpickr-day.endRange,
  .flatpickr-day.selected.inRange,
  .flatpickr-day.startRange.inRange,
  .flatpickr-day.endRange.inRange,
  .flatpickr-day.selected:focus,
  .flatpickr-day.startRange:focus,
  .flatpickr-day.endRange:focus,
  .flatpickr-day.selected:hover,
  .flatpickr-day.startRange:hover,
  .flatpickr-day.endRange:hover,
  .flatpickr-day.selected.prevMonthDay,
  .flatpickr-day.startRange.prevMonthDay,
  .flatpickr-day.endRange.prevMonthDay,
  .flatpickr-day.selected.nextMonthDay,
  .flatpickr-day.startRange.nextMonthDay,
  .flatpickr-day.endRange.nextMonthDay {
    background: #569ff7;
    -webkit-box-shadow: none;
    box-shadow: none;
    color: #fff;
    border-color: #569ff7;
  }
  .flatpickr-day.selected.startRange,
  .flatpickr-day.startRange.startRange,
  .flatpickr-day.endRange.startRange {
    border-radius: 50px 0 0 50px;
  }
  .flatpickr-day.selected.endRange,
  .flatpickr-day.startRange.endRange,
  .flatpickr-day.endRange.endRange {
    border-radius: 0 50px 50px 0;
  }
  .flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
  .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
  .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
    -webkit-box-shadow: -10px 0 0 #569ff7;
    box-shadow: -10px 0 0 #569ff7;
  }
  .flatpickr-day.selected.startRange.endRange,
  .flatpickr-day.startRange.startRange.endRange,
  .flatpickr-day.endRange.startRange.endRange {
    border-radius: 50px;
  }
  .flatpickr-day.inRange {
    border-radius: 0;
    -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
    box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
  }
  .flatpickr-day.flatpickr-disabled,
  .flatpickr-day.flatpickr-disabled:hover,
  .flatpickr-day.prevMonthDay,
  .flatpickr-day.nextMonthDay,
  .flatpickr-day.notAllowed,
  .flatpickr-day.notAllowed.prevMonthDay,
  .flatpickr-day.notAllowed.nextMonthDay {
    color: rgba(57, 57, 57, 0.3);
    background: transparent;
    border-color: transparent;
    cursor: default;
  }
  .flatpickr-day.flatpickr-disabled,
  .flatpickr-day.flatpickr-disabled:hover {
    cursor: not-allowed;
    color: rgba(57, 57, 57, 0.1);
  }
  .flatpickr-day.week.selected {
    border-radius: 0;
    -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
    box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
  }
  .flatpickr-day.hidden {
    visibility: hidden;
  }
  .rangeMode .flatpickr-day {
    margin-top: 1px;
  }
  .flatpickr-weekwrapper {
    float: left;
  }
  .flatpickr-weekwrapper .flatpickr-weeks {
    padding: 0 12px;
    -webkit-box-shadow: 1px 0 0 #e6e6e6;
    box-shadow: 1px 0 0 #e6e6e6;
  }
  .flatpickr-weekwrapper .flatpickr-weekday {
    float: none;
    width: 100%;
    line-height: 28px;
  }
  .flatpickr-weekwrapper span.flatpickr-day,
  .flatpickr-weekwrapper span.flatpickr-day:hover {
    display: block;
    width: 100%;
    max-width: none;
    color: rgba(57, 57, 57, 0.3);
    background: transparent;
    cursor: default;
    border: none;
  }
  .flatpickr-innerContainer {
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
  }
  .flatpickr-rContainer {
    display: inline-block;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .flatpickr-time {
    text-align: center;
    outline: 0;
    display: block;
    height: 0;
    line-height: 40px;
    max-height: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .flatpickr-time:after {
    content: "";
    display: table;
    clear: both;
  }
  .flatpickr-time .numInputWrapper {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: 40%;
    height: 40px;
    float: left;
  }
  .flatpickr-time .numInputWrapper span.arrowUp:after {
    border-bottom-color: #393939;
  }
  .flatpickr-time .numInputWrapper span.arrowDown:after {
    border-top-color: #393939;
  }
  .flatpickr-time.hasSeconds .numInputWrapper {
    width: 26%;
  }
  .flatpickr-time.time24hr .numInputWrapper {
    width: 49%;
  }
  .flatpickr-time input {
    background: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 0;
    border-radius: 0;
    text-align: center;
    margin: 0;
    padding: 0;
    height: inherit;
    line-height: inherit;
    color: #393939;
    font-size: 14px;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
  }
  .flatpickr-time input.flatpickr-hour {
    font-weight: bold;
  }
  .flatpickr-time input.flatpickr-minute,
  .flatpickr-time input.flatpickr-second {
    font-weight: 400;
  }
  .flatpickr-time input:focus {
    outline: 0;
    border: 0;
  }
  .flatpickr-time .flatpickr-time-separator,
  .flatpickr-time .flatpickr-am-pm {
    height: inherit;
    float: left;
    line-height: inherit;
    color: #393939;
    font-weight: bold;
    width: 2%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    align-self: center;
  }
  .flatpickr-time .flatpickr-am-pm {
    outline: 0;
    width: 18%;
    cursor: pointer;
    text-align: center;
    font-weight: 400;
  }
  .flatpickr-time input:hover,
  .flatpickr-time .flatpickr-am-pm:hover,
  .flatpickr-time input:focus,
  .flatpickr-time .flatpickr-am-pm:focus {
    background: #eee;
  }
  .flatpickr-input[readonly] {
    cursor: pointer;
  }
  @-webkit-keyframes fpFadeInDown {
    from {
      opacity: 0;
      -webkit-transform: translate3d(0, -20px, 0);
      transform: translate3d(0, -20px, 0);
    }
    to {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
  }
  @keyframes fpFadeInDown {
    from {
      opacity: 0;
      -webkit-transform: translate3d(0, -20px, 0);
      transform: translate3d(0, -20px, 0);
    }
    to {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
  }
  .public-date-picker {
    display: grid;
    gap: var(--public-space-xs);
    min-width: 0;
    color: var(--public-ink);
  }
  .public-date-picker__label {
    color: var(--public-muted);
  }
  .public-date-picker__control {
    position: relative;
    display: block;
    min-width: 0;
  }
  .public-date-picker__input {
    appearance: none;
    width: 100%;
    min-height: var(--public-control-md);
    padding-inline: var(--public-space-md) calc(var(--public-space-md) + var(--public-control-sm));
    color: var(--public-ink);
    background: var(--public-white);
    border: 1px solid var(--public-line);
    border-radius: 0.2rem 1.2rem 0.2rem 0.2rem;
    transition: border-color var(--public-duration) var(--public-ease), box-shadow var(--public-duration) var(--public-ease);
  }
  .public-date-picker__input:hover:not(:disabled), .public-date-picker__input:focus-visible, .public-date-picker__input.active {
    border-color: var(--public-ink);
    box-shadow: 0 0 0 1px var(--public-ink);
    outline: 0;
  }
  .public-date-picker__input:disabled {
    color: var(--public-muted);
    background: var(--public-surface-subtle);
    cursor: not-allowed;
  }
  .public-date-picker__icon {
    position: absolute;
    top: 50%;
    right: var(--public-space-md);
    display: inline-grid;
    width: var(--public-control-sm);
    height: var(--public-control-sm);
    place-items: center;
    color: var(--public-ink);
    pointer-events: none;
    transform: translateY(-50%);
  }
  .flatpickr-calendar.public-date-picker__calendar {
    color: var(--public-ink);
    background: var(--public-white);
    border: 1px solid var(--public-line-strong);
    border-radius: 0;
    box-shadow: 0 var(--public-space-xs) var(--public-space-xl) color-mix(in srgb, var(--public-ink) 14%, transparent);
    font-family: var(--font-sans-family);
  }
  .flatpickr-calendar.public-date-picker__calendar .flatpickr-months,
  .flatpickr-calendar.public-date-picker__calendar .flatpickr-weekdays {
    color: var(--public-ink);
    background: var(--public-white);
  }
  .flatpickr-calendar.public-date-picker__calendar .flatpickr-day {
    color: var(--public-ink);
    border-radius: 50%;
  }
  .flatpickr-calendar.public-date-picker__calendar .flatpickr-day:not(.flatpickr-disabled):hover,
  .flatpickr-calendar.public-date-picker__calendar .flatpickr-day:not(.flatpickr-disabled):focus,
  .flatpickr-calendar.public-date-picker__calendar .flatpickr-day.today:not(.flatpickr-disabled) {
    color: var(--public-ink);
    background: var(--public-surface-subtle);
    border-color: var(--public-ink);
  }
  .flatpickr-calendar.public-date-picker__calendar .flatpickr-day.selected,
  .flatpickr-calendar.public-date-picker__calendar .flatpickr-day.selected:hover,
  .flatpickr-calendar.public-date-picker__calendar .flatpickr-day.selected:focus {
    color: var(--public-white);
    background: var(--public-ink);
    border-color: var(--public-ink);
  }
  .flatpickr-calendar.public-date-picker__calendar .flatpickr-day.flatpickr-disabled,
  .flatpickr-calendar.public-date-picker__calendar .flatpickr-day.flatpickr-disabled:hover,
  .flatpickr-calendar.public-date-picker__calendar .flatpickr-day.flatpickr-disabled:focus {
    color: var(--public-muted);
    background: var(--public-surface);
    border-color: transparent;
    cursor: not-allowed;
    opacity: 0.48;
  }
  .flatpickr-calendar.public-date-picker__calendar[data-disabled-dates-loading=true] .dayContainer {
    pointer-events: none;
    opacity: 0.48;
  }
  .public-async-directory-loader,
  .public-async-directory-error {
    position: fixed;
    z-index: var(--public-z-async-directory);
    inset: 0;
    place-items: center;
    padding: var(--spacing-xl);
    background: color-mix(in srgb, var(--public-white) 86%, transparent);
    backdrop-filter: blur(0.4rem);
  }
  .public-async-directory-loader:not([hidden]),
  .public-async-directory-error:not([hidden]) {
    display: grid;
  }
  .public-async-directory-loader[hidden],
  .public-async-directory-error[hidden] {
    display: none;
  }
  .public-async-directory-loader {
    align-content: center;
    gap: var(--spacing-md);
    color: var(--public-navy);
    text-align: center;
  }
  .public-async-directory-loader__spinner {
    width: 3.6rem;
    height: 3.6rem;
    border: 0.3rem solid var(--public-blue-soft);
    border-top-color: var(--public-blue);
    border-radius: 50%;
    animation: public-async-directory-spin 0.8s linear infinite;
  }
  @media (prefers-reduced-motion: reduce) {
    .public-async-directory-loader__spinner {
      animation: none;
    }
  }
  .public-async-directory-error__card {
    display: grid;
    justify-items: center;
    gap: var(--spacing-lg);
    width: min(42rem, 100%);
    padding: var(--spacing-xl);
    color: var(--public-navy);
    border: 1px solid var(--public-line);
    background: var(--public-white);
    text-align: center;
  }
  .public-async-directory-error__retry {
    min-height: var(--public-control-sm);
    padding-inline: var(--spacing-lg);
    color: var(--public-white);
    border: 0;
    background: var(--public-navy);
    cursor: pointer;
  }
  @keyframes public-async-directory-spin {
    to {
      transform: rotate(1turn);
    }
  }
  .public-page-hero {
    position: relative;
    width: 100%;
    margin: 0;
    background: var(--public-white);
    isolation: isolate;
  }
  .public-page-hero__stage {
    position: relative;
    width: 100%;
    height: 100svh;
    min-height: 100svh;
    margin: 0;
    overflow: clip;
    background: var(--public-white);
  }
  .public-page-hero__copy {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: grid;
    grid-template-columns: minmax(10rem, 1fr) auto minmax(18rem, 1fr);
    column-gap: clamp(1.6rem, 3vw, 6rem);
    align-items: center;
    width: 100%;
    max-width: none;
    min-height: 100%;
    margin: 0;
    padding: calc(var(--public-header-height) + var(--public-space-2xl)) var(--public-header-gutter) var(--public-space-2xl);
    text-align: left;
    pointer-events: none;
  }
  .public-page-hero__title {
    justify-self: center;
    margin: 0;
    color: var(--public-white);
    white-space: nowrap;
  }
  .public-page-hero__description {
    justify-self: end;
    max-width: clamp(18rem, 18vw, 32rem);
    margin: 0;
    color: rgba(255, 255, 255, 0.92);
  }
  .public-page-hero__copy .public-kicker {
    justify-self: start;
    color: var(--public-white);
    text-transform: none;
  }
  .public-page-hero__media {
    position: absolute;
    z-index: 1;
    inset: 0;
    margin: 0;
    overflow: hidden;
    border-radius: 0;
    background: var(--public-navy-deep);
    contain: paint;
    backface-visibility: hidden;
    transform: translateZ(0);
    transform-origin: center top;
  }
  .public-page-hero__shade {
    position: absolute;
    inset: 0;
    background: var(--public-navy-deep);
    opacity: 0.52;
    pointer-events: none;
  }
  .public-page-hero__scroll-cue {
    position: absolute;
    right: var(--public-header-gutter);
    bottom: var(--public-space-2xl);
    z-index: 3;
    display: grid;
    place-items: center;
    width: clamp(6.4rem, 6vw, 8.7rem);
    aspect-ratio: 1;
    opacity: 1;
    pointer-events: none;
    transform: translateZ(0);
  }
  .public-page-hero__scroll-label, .public-page-hero__scroll-arrow {
    display: block;
    grid-area: 1/1;
    width: 100%;
    height: 100%;
    object-fit: contain;
    user-select: none;
  }
  .public-page-hero__scroll-label {
    animation: public-page-hero-scroll-spin 12s linear infinite;
  }
  .public-page-hero__scroll-arrow {
    width: 55.2%;
    height: 55.2%;
  }
  .public-page-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    backface-visibility: hidden;
    transform: translateZ(0) scale(1.2);
    transform-origin: center center;
  }
  .public-page-hero.is-interactive .public-page-hero__copy, .public-page-hero.is-interactive .public-page-hero__media img {
    will-change: transform;
  }
  .public-page-hero.is-interactive .public-page-hero__media {
    will-change: clip-path, left, width;
  }
  .public-page-hero.is-interactive .public-page-hero__shade {
    will-change: opacity;
  }
  .public-page-hero.is-interactive .public-page-hero__scroll-cue {
    will-change: opacity;
  }
  @media (max-width: 767px) {
    .public-page-hero__stage {
      height: max(64rem, 100svh);
      min-height: 100svh;
      overflow: clip;
    }
    .public-page-hero__copy {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      min-height: 100%;
      padding: calc(var(--public-header-height) + var(--public-space-xl)) var(--public-space-md) var(--public-space-2xl);
      text-align: center;
    }
    .public-page-hero__title {
      justify-self: auto;
      margin-top: var(--public-space-sm);
      white-space: normal;
    }
    .public-page-hero__description {
      justify-self: auto;
      max-width: 72rem;
      margin-top: var(--public-space-sm);
    }
    .public-page-hero__media {
      position: absolute;
      inset: 0;
      width: auto;
      height: auto;
      border-radius: 0;
    }
    .public-page-hero__media img {
      transform: none;
    }
    .public-page-hero__scroll-cue {
      right: var(--public-space-md);
      bottom: var(--public-space-xl);
      width: clamp(5.6rem, 18vw, 7.2rem);
    }
    .public-page-hero {
      padding-top: var(--public-header-height);
    }
    .public-page-hero__copy {
      padding-block: 5rem 4rem;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .public-page-hero__scroll-label {
      animation: none;
    }
  }
  @keyframes public-page-hero-scroll-spin {
    to {
      transform: rotate(360deg);
    }
  }
  .public-simple-subhero {
    padding-top: calc(var(--public-header-height, 8.8rem) + var(--public-space-2xl));
    padding-bottom: var(--public-space-2xl);
    background: var(--public-white);
    border-bottom: 1px solid var(--public-line);
  }
  .public-simple-subhero__title {
    margin: 0;
    color: var(--public-ink);
    letter-spacing: 0;
  }
  @media (max-width: 544px) {
    .public-simple-subhero {
      padding-top: calc(var(--public-header-height, 8.8rem) + var(--public-space-xl));
      padding-bottom: var(--public-space-xl);
    }
  }
  .public-professional-card--search-result .public-professional-card__photo {
    height: 35rem;
    background: #f4f5f7;
  }
  .public-professional-card--search-result .public-professional-card__body {
    padding-top: 1.8rem;
  }
  .public-professional-card--search-result .public-professional-card__identity {
    display: flex;
    align-items: baseline;
    gap: 0.9rem;
  }
  .public-professional-card--search-result .public-professional-card__name {
    flex: 0 0 auto;
  }
  .public-professional-card--search-result .public-professional-card__role {
    overflow: hidden;
    color: #6f777d;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .public-professional-card--search-result .public-professional-card__area {
    margin-top: 1.3rem;
    color: var(--public-navy);
  }
  .public-professional-card--search-result .public-professional-card__arrow {
    display: none;
  }
  .public-professional-card {
    min-width: 0;
  }
  .public-professional-card[id] {
    scroll-margin-top: calc(var(--public-header-height) + var(--public-space-lg));
  }
  .public-professional-card__link {
    position: relative;
    display: block;
    color: var(--public-ink);
    text-decoration: none;
  }
  .public-professional-card__photo {
    display: grid;
    place-items: center;
    aspect-ratio: 4/5;
    overflow: hidden;
    background: linear-gradient(145deg, var(--public-blue-soft), var(--public-surface));
  }
  .public-professional-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .public-professional-card__photo span {
    color: var(--public-blue);
  }
  .public-professional-card__photo .public-professional-card__fallback {
    width: 100%;
    height: 100%;
    background-image: url("/assets/images/professional/fallback-portraits.png");
    background-repeat: no-repeat;
    background-size: 600% 400%;
  }
  .public-professional-card__fallback--0 {
    background-position: 0 0;
  }
  .public-professional-card__fallback--1 {
    background-position: 20% 0;
  }
  .public-professional-card__fallback--2 {
    background-position: 40% 0;
  }
  .public-professional-card__fallback--3 {
    background-position: 60% 0;
  }
  .public-professional-card__fallback--4 {
    background-position: 80% 0;
  }
  .public-professional-card__fallback--5 {
    background-position: 100% 0;
  }
  .public-professional-card__fallback--6 {
    background-position: 0 33.333%;
  }
  .public-professional-card__fallback--7 {
    background-position: 20% 33.333%;
  }
  .public-professional-card__fallback--8 {
    background-position: 40% 33.333%;
  }
  .public-professional-card__fallback--9 {
    background-position: 60% 33.333%;
  }
  .public-professional-card__fallback--10 {
    background-position: 80% 33.333%;
  }
  .public-professional-card__fallback--11 {
    background-position: 100% 33.333%;
  }
  .public-professional-card__fallback--12 {
    background-position: 0 66.666%;
  }
  .public-professional-card__fallback--13 {
    background-position: 20% 66.666%;
  }
  .public-professional-card__fallback--14 {
    background-position: 40% 66.666%;
  }
  .public-professional-card__fallback--15 {
    background-position: 60% 66.666%;
  }
  .public-professional-card__fallback--16 {
    background-position: 80% 66.666%;
  }
  .public-professional-card__fallback--17 {
    background-position: 100% 66.666%;
  }
  .public-professional-card__fallback--18 {
    background-position: 0 100%;
  }
  .public-professional-card__fallback--19 {
    background-position: 20% 100%;
  }
  .public-professional-card__fallback--20 {
    background-position: 40% 100%;
  }
  .public-professional-card__fallback--21 {
    background-position: 60% 100%;
  }
  .public-professional-card__fallback--22 {
    background-position: 80% 100%;
  }
  .public-professional-card__fallback--23 {
    background-position: 100% 100%;
  }
  .public-professional-card__body {
    position: relative;
    padding: 2.4rem 4rem 0 0;
  }
  .public-professional-card__identity {
    display: grid;
    min-width: 0;
    gap: var(--public-space-2xs);
  }
  .public-professional-card__role {
    margin: 0;
    color: var(--public-blue);
    text-transform: uppercase;
    overflow-wrap: anywhere;
  }
  .public-professional-card__name {
    margin: 0;
  }
  .public-professional-card__area {
    margin-top: 1rem;
    color: var(--public-muted);
  }
  .public-professional-card__profile {
    display: grid;
    width: 100%;
    gap: var(--public-space-lg);
    margin-top: var(--public-space-xl);
    padding-top: var(--public-space-lg);
    border-top: 1px solid var(--public-line);
  }
  .public-professional-card__profile-intro {
    margin: 0;
    color: var(--public-muted);
  }
  .public-professional-card__profile-section {
    display: grid;
    gap: var(--public-space-sm);
  }
  .public-professional-card__profile-section + .public-professional-card__profile-section {
    padding-top: var(--public-space-lg);
    border-top: 1px solid var(--public-line);
  }
  .public-professional-card__profile-section h3, .public-professional-card__profile-section h4, .public-professional-card__profile-section h5 {
    margin: 0;
    color: var(--public-ink);
  }
  .public-professional-card__profile-list {
    display: grid;
    gap: var(--public-space-xs);
    margin: 0;
    padding: 0;
    color: var(--public-muted);
    list-style: none;
  }
  .public-professional-card__profile-list li {
    position: relative;
    padding-left: var(--public-space-sm);
  }
  .public-professional-card__profile-list li::before {
    content: "";
    position: absolute;
    top: 0.72em;
    left: 0;
    width: 0.3rem;
    height: 0.3rem;
    border-radius: 50%;
    background: currentColor;
  }
  .public-professional-card__profile-prose {
    color: var(--public-muted);
  }
  .public-professional-card__profile-prose > :first-child {
    margin-top: 0;
  }
  .public-professional-card__profile-prose > :last-child {
    margin-bottom: 0;
  }
  .public-professional-card__profile-prose ul, .public-professional-card__profile-prose ol {
    display: grid;
    gap: var(--public-space-xs);
    margin-block: 0;
    padding-left: var(--public-space-lg);
  }
  .public-professional-card__arrow {
    position: absolute;
    top: 2.8rem;
    right: 0;
    font-size: var(--body-lg-fs);
  }
  .public-professional-card--compact .public-professional-card__photo {
    aspect-ratio: 22/25;
  }
  .public-professional-card--compact .public-professional-card__body {
    padding: 2rem 0 0;
  }
  .public-professional-card--compact .public-professional-card__role, .public-professional-card--compact .public-professional-card__area, .public-professional-card--compact .public-professional-card__arrow {
    display: none;
  }
  .public-professional-card--compact .public-professional-card__name {
    margin: 0;
  }
  .public-professional-card--directory .public-professional-card__photo {
    aspect-ratio: auto;
    height: 35rem;
    border-radius: 0.7rem;
  }
  .public-professional-card--directory .public-professional-card__body {
    min-height: 15rem;
    padding: 2rem 0 0;
  }
  .public-professional-card--directory .public-professional-card__role {
    color: #747e85;
    text-transform: none;
  }
  .public-professional-card--directory .public-professional-card__area {
    margin: 1.4rem 0 0;
    color: #747e85;
  }
  .public-professional-card--directory .public-professional-card__contact {
    margin-top: 1.2rem;
  }
  .public-professional-card--directory .public-professional-card__contact p {
    display: flex;
    gap: var(--public-space-2xs);
    min-width: 0;
    margin: 0.5rem 0 0;
    color: #747e85;
  }
  .public-professional-card--directory .public-professional-card__contact b {
    display: inline-block;
    flex: 0 0 2rem;
    color: #1688bb;
  }
  .public-professional-card--directory .public-professional-card__contact span {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .public-professional-card--directory .public-professional-card__arrow {
    display: none;
  }
  .public-professional-card--directory .public-professional-card__link.is-static {
    cursor: default;
  }
  .public-professional-card--editorial .public-professional-card__photo {
    aspect-ratio: 4/5;
    background: var(--public-surface);
  }
  .public-professional-card--editorial .public-professional-card__body {
    padding: var(--public-space-lg) 0 0;
  }
  .public-professional-card--editorial .public-professional-card__role {
    color: var(--public-blue);
    text-transform: none;
  }
  .public-professional-card--editorial .public-professional-card__area {
    margin-top: var(--public-space-xs);
    color: var(--public-muted);
  }
  .public-professional-card--editorial .public-professional-card__arrow {
    display: none;
  }
  .public-professional-card--featured {
    display: block;
    background: transparent;
  }
  .public-professional-card--featured .public-professional-card__link {
    display: block;
    min-height: 0;
  }
  .public-professional-card--featured .public-professional-card__hero {
    display: grid;
    grid-template-columns: 12.5% 25% minmax(0, 1fr);
    align-items: start;
    gap: 6.25%;
  }
  .public-professional-card--featured .public-professional-card__featured-label {
    margin: 0;
    color: var(--public-muted);
  }
  .public-professional-card--featured .public-professional-card__photo {
    align-self: start;
    aspect-ratio: 4/5;
    background: var(--public-surface);
  }
  .public-professional-card--featured .public-professional-card__photo img {
    object-position: center top;
  }
  .public-professional-card--featured .public-professional-card__body {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 0;
    padding: 0;
    background: transparent;
  }
  .public-professional-card--featured .public-professional-card__identity {
    gap: var(--public-space-sm);
  }
  .public-professional-card--featured .public-professional-card__name {
    color: var(--public-ink);
  }
  .public-professional-card--featured .public-professional-card__role {
    color: var(--clr-accent-500);
    text-transform: none;
  }
  .public-professional-card--featured .public-professional-card__specialties {
    display: flex;
    flex-wrap: wrap;
    gap: var(--public-space-xs);
    margin-top: var(--public-space-md);
  }
  .public-professional-card--featured .public-professional-card__specialty {
    padding: var(--public-space-2xs) var(--public-space-sm);
    border: 1px solid var(--public-line);
    color: var(--public-muted);
    background: var(--public-white);
  }
  .public-professional-card--featured .public-professional-card__body > .public-professional-card__profile-prose {
    max-width: 64rem;
    margin-top: var(--spacing-xl);
    color: var(--public-ink);
  }
  .public-professional-card--featured .public-professional-card__body > .public-professional-card__profile-prose p {
    margin: 0;
  }
  .public-professional-card--featured .public-professional-card__body > .public-professional-card__profile-prose p + p {
    margin-top: var(--spacing-lg);
  }
  .public-professional-card--featured .public-professional-card__profile {
    display: block;
    width: 81.25%;
    margin: var(--spacing-2xl) 0 0 auto;
    padding: 0;
    border-top: 0;
    background: transparent;
  }
  .public-professional-card--featured .public-professional-card__profile-intro, .public-professional-card--featured .public-professional-card__profile > .public-professional-card__profile-prose {
    margin-bottom: var(--spacing-3xl);
  }
  .public-professional-card--featured .public-professional-card__accordion-item {
    border-top: 1px solid var(--public-line);
    background: transparent;
  }
  .public-professional-card--featured .public-professional-card__accordion-item:last-child {
    border-bottom: 1px solid var(--public-line);
  }
  .public-professional-card--featured .public-professional-card__accordion-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 4.8rem;
    gap: var(--public-space-sm);
    padding: var(--spacing-md);
    color: var(--public-ink);
    cursor: pointer;
    list-style: none;
  }
  .public-professional-card--featured .public-professional-card__accordion-trigger::-webkit-details-marker {
    display: none;
  }
  .public-professional-card--featured .public-professional-card__accordion-trigger::marker {
    content: "";
  }
  .public-professional-card--featured .public-professional-card__accordion-trigger:focus-visible {
    outline: 2px solid var(--clr-accent-500);
    outline-offset: var(--public-space-2xs);
  }
  .public-professional-card--featured .public-professional-card__accordion-item[open] .public-professional-card__accordion-title {
    color: var(--clr-accent-500);
  }
  .public-professional-card--featured .public-professional-card__accordion-icon {
    position: relative;
    flex: 0 0 1.8rem;
    width: 1.8rem;
    height: 1.8rem;
  }
  .public-professional-card--featured .public-professional-card__accordion-icon::before, .public-professional-card--featured .public-professional-card__accordion-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.4rem;
    height: 0.2rem;
    background: currentColor;
    transform: translate(-50%, -50%);
    transition: transform var(--public-duration-fast) var(--public-ease-standard);
  }
  .public-professional-card--featured .public-professional-card__accordion-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
  }
  .public-professional-card--featured .public-professional-card__accordion-item[open] .public-professional-card__accordion-icon {
    color: var(--clr-accent-500);
  }
  .public-professional-card--featured .public-professional-card__accordion-item[open] .public-professional-card__accordion-icon::after {
    transform: translate(-50%, -50%) rotate(0);
  }
  .public-professional-card--featured .public-professional-card__accordion-panel {
    padding: var(--spacing-xs) var(--spacing-md) var(--spacing-lg);
  }
  .public-professional-card--featured .public-professional-card__arrow {
    display: none;
  }
  @media (max-width: 991px) {
    .public-professional-card--featured .public-professional-card__hero {
      grid-template-columns: 12% 27% minmax(0, 1fr);
      gap: 4%;
    }
    .public-professional-card--featured .public-professional-card__profile {
      width: 84%;
    }
  }
  @media (max-width: 767px) {
    .public-professional-card--featured .public-professional-card__hero {
      grid-template-columns: 1fr;
      gap: var(--spacing-2xl);
    }
    .public-professional-card--featured .public-professional-card__photo {
      aspect-ratio: 4/5;
    }
    .public-professional-card--featured .public-professional-card__body {
      min-height: 0;
    }
    .public-professional-card--featured .public-professional-card__profile {
      width: 100%;
      margin-top: var(--spacing-xl);
      padding: 0;
    }
    .public-professional-card--featured .public-professional-card__accordion-trigger {
      min-height: 4.8rem;
      padding: var(--spacing-md);
    }
    .public-professional-card--featured .public-professional-card__accordion-panel {
      padding: var(--spacing-xs) var(--spacing-md) var(--spacing-lg);
    }
    .public-professional-card--featured .public-professional-card__name {
      font-size: var(--heading-lg-fs);
    }
    .public-professional-card--search-result .public-professional-card__identity {
      display: block;
    }
    .public-professional-card--search-result .public-professional-card__role {
      margin-top: 0.5rem;
    }
  }
  @media (max-width: 1024px) {
    .public-professional-card--search-result .public-professional-card__photo {
      height: auto;
      aspect-ratio: 0.89;
    }
  }
  .public-cart-action {
    position: relative;
    isolation: isolate;
    border: 0;
    background: transparent;
    border-radius: var(--public-action-radius);
    text-decoration: none;
  }
  .public-cart-action::before, .public-cart-action::after {
    position: absolute;
    inset-block: 0;
    box-sizing: border-box;
    width: var(--public-action-end-width);
    border: 1px solid currentColor;
    content: "";
    pointer-events: none;
    transition: width var(--public-action-duration) var(--public-ease);
  }
  .public-cart-action::before {
    inset-inline-start: 0;
    border-inline-end: 0;
    border-radius: var(--public-action-radius) 0 0 var(--public-action-radius);
  }
  .public-cart-action::after {
    inset-inline-end: 0;
    border-inline-start: 0;
    border-radius: 0 var(--public-action-radius) var(--public-action-radius) 0;
  }
  .public-cart-action:hover::before, .public-cart-action:hover::after, .public-cart-action:focus-visible::before, .public-cart-action:focus-visible::after, .public-cart-action.is-frame-completing::before, .public-cart-action.is-frame-completing::after, .public-cart-action[aria-expanded=true]::before, .public-cart-action[aria-expanded=true]::after {
    width: calc(50% + 1px);
  }
  @media (max-width: 1023px), (hover: none), (pointer: coarse) {
    .public-cart-action::before, .public-cart-action::after {
      width: calc(50% + 1px);
    }
  }
  .public-cart-action:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
  }
  @media (prefers-reduced-motion: reduce) {
    .public-cart-action::before, .public-cart-action::after {
      transition: none;
    }
  }
  .public-cart-action {
    display: inline-grid;
    width: var(--public-check-size);
    height: var(--public-check-size);
    padding: 0;
    place-items: center;
    flex: 0 0 var(--public-check-size);
    background: transparent;
    color: var(--public-ink);
    cursor: pointer;
    text-decoration: none;
    transition: color var(--public-duration) var(--public-ease);
  }
  .public-cart-action i {
    display: block;
    font-size: var(--public-icon-sm);
    line-height: 1;
  }
  .public-cart-action:hover, .public-cart-action.is-hover-preview {
    color: var(--public-blue);
  }
  .public-cart-action:focus-visible, .public-cart-action.is-focus-preview {
    color: var(--public-ink);
    outline: var(--public-focus-width) solid var(--public-focus);
    outline-offset: var(--public-focus-offset);
  }
  .public-cart-action[aria-busy=true], .public-cart-action.is-loading-preview, .public-cart-action:disabled, .public-cart-action[aria-disabled=true], .public-cart-action.is-disabled-preview {
    color: var(--public-ink-muted);
    cursor: wait;
    opacity: 0.64;
  }
  .public-cart-action:disabled, .public-cart-action[aria-disabled=true], .public-cart-action.is-disabled-preview {
    cursor: not-allowed;
  }
  .public-cart-action.is-added-preview {
    color: var(--public-ink);
  }
  @media (prefers-reduced-motion: reduce) {
    .public-cart-action {
      transition: none;
    }
  }
  .public-treatment-card {
    min-height: 100%;
    color: var(--public-ink);
    background: var(--public-surface);
    border: 0;
    border-radius: 0;
  }
  .public-treatment-card--default, .public-treatment-card--event, .public-treatment-card--dark {
    display: flex;
    flex-direction: column;
  }
  .public-treatment-card--default .public-treatment-card__body, .public-treatment-card--event .public-treatment-card__body, .public-treatment-card--dark .public-treatment-card__body {
    flex: 1 1 auto;
  }
  .public-treatment-card__media {
    display: block;
    aspect-ratio: 16/9;
    overflow: hidden;
    background: var(--public-surface);
  }
  .public-treatment-card__media img {
    width: 100%;
  }
  .public-treatment-card__body {
    display: flex;
    min-width: 0;
    min-height: 30rem;
    flex-direction: column;
    padding: var(--public-space-md);
  }
  @media (max-width: 1024px) {
    .public-treatment-card__body {
      min-height: 25rem;
    }
  }
  @media (max-width: 768px) {
    .public-treatment-card__body {
      min-height: 20rem;
    }
  }
  .public-treatment-card__top {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: var(--public-space-xs);
    min-height: 2.2rem;
  }
  .public-treatment-card__badge {
    display: inline-flex;
    align-items: center;
    min-height: 2.2rem;
    padding-inline: var(--public-space-xs);
    color: var(--public-white);
    background: var(--public-blue);
  }
  .public-treatment-card__check-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: var(--public-check-size);
    height: var(--public-check-size);
    cursor: pointer;
  }
  .public-treatment-card__check-input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
    padding: 0;
  }
  .public-treatment-card__check {
    display: grid;
    width: var(--public-check-size);
    height: var(--public-check-size);
    place-items: center;
    color: var(--public-white);
    background: var(--public-blue);
    border-radius: 0;
    border: 1px solid transparent;
    transition: background var(--public-duration) var(--public-ease), color var(--public-duration) var(--public-ease), border-color var(--public-duration) var(--public-ease), box-shadow var(--public-duration) var(--public-ease);
  }
  .public-treatment-card__check-wrapper:hover .public-treatment-card__check, .public-treatment-card__check-wrapper:focus-within .public-treatment-card__check {
    border-color: var(--public-blue);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--public-blue) 15%, transparent);
  }
  .public-treatment-card__check::after {
    content: "✓";
    font-size: var(--body-xs-fs);
    font-weight: var(--font-weight-medium);
    line-height: 1;
  }
  .public-treatment-card__check-input:focus-visible + .public-treatment-card__check, .public-treatment-card__check-input:focus + .public-treatment-card__check {
    outline: 2px solid var(--public-focus);
    outline-offset: 1px;
  }
  .public-treatment-card:not(.is-selected) .public-treatment-card__check, .public-treatment-card--cart .public-treatment-card__check {
    color: transparent;
    background: var(--public-white);
    border: 1px solid var(--public-line);
  }
  .public-treatment-card--cart .public-treatment-card__check-input:checked + .public-treatment-card__check, .public-treatment-card__check-input:checked + .public-treatment-card__check {
    color: var(--public-white);
    background: var(--public-blue);
    border-color: var(--public-blue);
  }
  .public-treatment-card__title {
    min-width: 0;
    margin-top: var(--public-space-sm);
    color: inherit;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .public-treatment-card__title a {
    color: inherit;
  }
  .public-treatment-card__desc {
    min-width: 0;
    margin-top: var(--public-space-xs);
    color: var(--public-muted);
  }
  .public-treatment-card__price {
    display: grid;
    min-width: 0;
    grid-template-columns: max-content max-content minmax(0, 1fr);
    align-items: baseline;
    gap: 0.8rem;
    margin-top: auto;
    padding-top: var(--public-space-md);
  }
  .public-treatment-card__footer {
    display: flex;
    min-width: 0;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--public-space-md);
    margin-top: auto;
    padding-top: var(--public-space-md);
  }
  .public-treatment-card__footer .public-treatment-card__price {
    flex: 1 1 auto;
    margin-top: 0;
    padding-top: 0;
  }
  .public-treatment-card__vat {
    grid-column: 1;
  }
  .public-treatment-card__price del {
    grid-column: 2/-1;
  }
  .public-treatment-card__discount {
    grid-column: 1;
    grid-row: 2;
  }
  .public-treatment-card__amount {
    grid-column: 2/-1;
    grid-row: 2;
  }
  .public-treatment-card__vat, .public-treatment-card__price del {
    color: var(--public-muted);
  }
  .public-treatment-card__discount {
    color: var(--public-blue);
  }
  .public-treatment-card__amount {
    color: inherit;
  }
  .public-treatment-card--event .public-treatment-card__amount, .public-treatment-card--dark .public-treatment-card__amount {
    grid-column: 1/-1;
    grid-row: auto;
  }
  .public-treatment-card__cta {
    display: inline-flex;
    align-items: center;
    align-self: flex-end;
    margin-top: auto;
    color: inherit;
  }
  .public-treatment-card__cta--more .public-button__icon {
    display: none;
  }
  .public-treatment-card__footer .public-treatment-card__cta {
    flex: 0 0 auto;
    align-self: flex-end;
    margin-top: 0;
  }
  .public-treatment-card__footer > form {
    flex: 0 0 auto;
    align-self: flex-end;
  }
  .public-treatment-card__cta--selection {
    min-width: 10.4rem;
    min-height: var(--public-control-md);
    justify-content: center;
    padding-inline: var(--public-space-md);
    color: var(--public-white);
    background: var(--public-navy-deep);
    border: 1px solid var(--public-navy-deep);
    cursor: pointer;
    transition: color var(--public-duration) var(--public-ease), background-color var(--public-duration) var(--public-ease), border-color var(--public-duration) var(--public-ease);
  }
  .public-treatment-card__cta--selection:hover, .public-treatment-card__cta--selection:focus-visible {
    color: var(--public-white);
    background: var(--public-blue);
    border-color: var(--public-blue);
  }
  .public-treatment-card__cta--selection[aria-busy=true] {
    gap: var(--public-space-2xs);
    cursor: progress;
    opacity: 0.76;
  }
  .public-treatment-card__cta--selection[aria-busy=true]::after {
    content: "";
    width: var(--public-space-sm);
    height: var(--public-space-sm);
    border: 1px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: public-button-spin var(--dur-slow) linear infinite;
  }
  .public-treatment-card--event .public-treatment-card__body {
    min-height: 25rem;
  }
  .public-treatment-card--dark {
    color: var(--public-white);
    background: var(--public-white);
  }
  .public-treatment-card--dark .public-treatment-card__body {
    color: var(--public-ink);
  }
  .public-treatment-card--media .public-treatment-card__body {
    min-height: 11rem;
    padding-inline: 0;
  }
  .public-treatment-card--media .public-treatment-card__media {
    position: relative;
    overflow: hidden;
    height: 0;
    padding-bottom: 56.25%;
  }
  .public-treatment-card--media .public-treatment-card__media img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .public-treatment-card--media {
    border-color: transparent;
    background: var(--public-white);
  }
  .public-treatment-card--full-link {
    display: block;
    color: var(--public-ink);
    text-decoration: none;
  }
  .public-treatment-card--full-link:hover {
    color: var(--public-ink);
  }
  .public-treatment-card--full-link:focus-visible {
    outline: 2px solid var(--public-focus);
    outline-offset: 2px;
  }
  .public-treatment-card--cart {
    border: 0;
    margin-inline: 0;
    background: var(--public-white);
  }
  .public-treatment-card--cart .public-treatment-card__body {
    min-height: 0;
    padding: 0;
  }
  .public-treatment-card--cart .public-treatment-card__top {
    min-height: 0;
  }
  .public-treatment-card--cart .public-treatment-card__badge {
    min-height: 0;
    padding-inline: 0;
    color: var(--public-blue);
    background: transparent;
  }
  .public-treatment-card--cart .public-treatment-card__body .public-treatment-card__price {
    margin-top: auto;
    padding-top: 0;
  }
  .public-treatment-card--cart .public-treatment-card__title {
    margin-top: var(--public-space-md);
  }
  .public-treatment-card--cart .public-treatment-card__price {
    gap: var(--public-space-2xs);
  }
  .public-treatment-card--cart .public-treatment-card__desc {
    max-width: 76rem;
    margin-top: var(--public-space-xs);
  }
  .public-treatment-card--guide-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-height: 16rem;
    color: var(--public-ink);
    background: var(--public-surface);
    border: 0;
    text-decoration: none;
  }
  .public-treatment-card__body--guide-list {
    display: grid;
    min-height: 16rem;
  }
  .public-treatment-card__guide-copy {
    min-width: 0;
  }
  .public-treatment-card__guide-label {
    display: block;
    color: var(--public-blue);
  }
  .public-treatment-card__guide-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--public-space-md);
    margin-bottom: var(--public-space-xs);
  }
  .public-treatment-card__guide-meta .public-treatment-card__deadline {
    color: var(--public-blue);
  }
  .public-treatment-card__guide-title {
    margin: 0;
    color: inherit;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .public-treatment-card__guide-desc, .public-treatment-card__guide-summary {
    max-width: 52rem;
    margin: 0;
    color: var(--public-muted);
  }
  .public-treatment-card__guide-desc.no-mg-md--t {
    margin-top: var(--public-space-xs);
  }
  .public-treatment-card__guide-summary {
    color: var(--public-muted-soft);
  }
  .public-treatment-card__guide-footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--public-space-md);
    margin-top: auto;
  }
  .public-treatment-card__guide-footer.no-pd-lg--t {
    padding-top: var(--public-space-sm);
  }
  .public-treatment-card__guide-price {
    color: var(--public-ink);
  }
  .public-treatment-card__guide-pricing {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--public-space-2xs);
  }
  .public-treatment-card__guide-price-line {
    display: inline-flex;
    min-width: 0;
    align-items: baseline;
    gap: var(--public-space-2xs);
    white-space: nowrap;
  }
  .public-treatment-card__guide-vat, .public-treatment-card__guide-regular {
    color: var(--public-muted);
  }
  .public-treatment-card__guide-discount {
    color: var(--public-blue);
  }
  .public-treatment-card__guide-footer form {
    flex: 0 0 auto;
    margin-inline-start: auto;
  }
  .public-treatment-card__guide-link {
    display: inline-flex;
    padding-bottom: var(--public-space-xs);
    color: var(--public-ink);
    background: transparent;
    border-bottom: 1px solid currentColor;
  }
  .public-treatment-card__guide-link-label {
    display: inline-flex;
    align-items: center;
  }
  .public-treatment-card__guide-link-icon {
    display: none;
    align-items: center;
    justify-content: center;
  }
  .public-treatment-card__guide-link-icon i {
    font-size: var(--public-icon-sm);
    line-height: 1;
  }
  .public-treatment-card__guide-link:hover, .public-treatment-card__guide-link:focus-visible {
    color: var(--public-ink);
  }
  .public-treatment-card__guide-link--cart {
    min-height: var(--public-control-sm);
    padding: 0 var(--public-space-sm);
    color: var(--public-white);
    background: var(--public-navy-deep);
    border: 1px solid var(--public-navy-deep);
    cursor: pointer;
  }
  .public-treatment-card__guide-link--cart:hover, .public-treatment-card__guide-link--cart:focus-visible {
    color: var(--public-white);
    background: var(--public-blue);
    border-color: var(--public-blue);
  }
  .public-treatment-card--guide-list:hover {
    color: var(--public-ink);
    background: var(--public-surface);
  }
  .public-treatment-card--guide-list:focus-visible {
    outline: 2px solid var(--public-focus);
    outline-offset: 2px;
  }
  @media (max-width: 768px) {
    .public-treatment-card {
      --heading-2xs-fs: 1.4rem;
      --body-md-fs: 1.3rem;
      --body-card-desc-fs: 1.2rem;
      --body-xs-fs: 1.1rem;
    }
    .public-treatment-card__body {
      padding: var(--public-space-xs);
    }
    .public-treatment-card__top {
      gap: var(--public-space-2xs);
    }
    .public-treatment-card__badge {
      min-height: 2rem;
      padding-inline: var(--public-space-2xs);
    }
    .public-treatment-card__title {
      margin-top: var(--public-space-xs);
    }
    .public-treatment-card__desc {
      margin-top: var(--public-space-2xs);
    }
    .public-treatment-card__footer {
      gap: var(--public-space-xs);
      padding-top: var(--public-space-xs);
    }
    .public-treatment-card__footer .public-treatment-card__price {
      min-width: 0;
      grid-template-columns: minmax(0, 1fr) max-content;
      column-gap: calc(var(--public-space-2xs) * 0.5);
    }
    .public-treatment-card--default .public-treatment-card__footer > form, .public-treatment-card--default .public-treatment-card__footer > .public-cart-action {
      flex: 0 0 var(--public-check-size);
      width: var(--public-check-size);
      min-width: var(--public-check-size);
    }
    .public-treatment-card__vat, .public-treatment-card__price del, .public-treatment-card__discount, .public-treatment-card__amount {
      min-width: 0;
      white-space: nowrap;
    }
    .public-treatment-card--guide-list, .public-treatment-card__body--guide-list {
      min-height: 16rem;
    }
    .public-treatment-card--guide-list {
      grid-template-columns: minmax(0, 1fr);
    }
    .public-treatment-card__guide-footer {
      align-items: flex-start;
      flex-direction: row;
      gap: var(--public-space-xs);
    }
    .public-treatment-card__guide-footer form {
      margin-inline-start: auto;
    }
    .public-treatment-card__guide-link--cart {
      padding-inline: var(--public-space-xs);
    }
    .public-treatment-card__cta--more {
      width: var(--public-check-size);
      min-width: var(--public-check-size);
      min-height: var(--public-check-size);
      padding: 0;
      border: 0;
    }
    .public-treatment-card__cta--more .public-button__icon {
      display: inline-flex;
      margin: 0;
    }
    .public-treatment-card__cta--more .public-button__label {
      display: none;
    }
    .public-treatment-card__cta--more .public-button__icon i {
      font-size: var(--public-icon-sm);
      line-height: 1;
    }
    .public-treatment-card__guide-link:not(.public-treatment-card__guide-link--cart) {
      width: var(--public-check-size);
      height: var(--public-check-size);
      align-items: center;
      justify-content: center;
      padding: 0;
      border-bottom: 0;
    }
    .public-treatment-card__guide-link:not(.public-treatment-card__guide-link--cart) .public-treatment-card__guide-link-label {
      display: none;
    }
    .public-treatment-card__guide-link:not(.public-treatment-card__guide-link--cart) .public-treatment-card__guide-link-icon {
      display: inline-flex;
    }
  }
  /*
   * Desktop footer reveal: opaque page content passes over a pinned footer.
   * Mobile keeps the footer in normal flow to avoid sticky-layer bleed while scrolling.
   */
  .public-page-layer:is([data-barba-namespace=newyoung-home],
  [data-barba-namespace=newyoung-page]) {
    isolation: isolate;
  }
  .public-page-layer:is([data-barba-namespace=newyoung-home],
  [data-barba-namespace=newyoung-page]) > main {
    position: relative;
    z-index: 1;
  }
  .public-page-layer:is([data-barba-namespace=newyoung-home],
  [data-barba-namespace=newyoung-page]) > .public-footer.site-footer {
    position: relative;
    z-index: 0;
  }
  @media (min-width: 1024px) {
    .public-page-layer:is([data-barba-namespace=newyoung-home],
    [data-barba-namespace=newyoung-page]) > .public-footer.site-footer {
      position: sticky;
      bottom: 0;
    }
  }
  /* NEWYOUNG shared footer: supplied 4-column reference composition. */
  .public-footer.site-footer {
    --public-footer-foreground: var(--clr-accent-300);
    --public-footer-muted: color-mix(in srgb, var(--clr-accent-300) 68%, transparent);
    --public-footer-heading: var(--clr-primary-500);
    --public-footer-line: color-mix(in srgb, var(--clr-accent-300) 28%, transparent);
    --public-footer-font-size: clamp(1.2rem, 0.1294498382vw + 1.1514563107rem, 1.4rem);
    padding: 0;
    color: var(--public-footer-muted);
    background: var(--clr-primary-950);
    border-top: 0;
  }
  .public-footer.site-footer .public-footer__company, .public-footer.site-footer .public-footer__heading, .public-footer.site-footer .public-footer__details, .public-footer.site-footer .public-footer__copyright, .public-footer.site-footer .public-footer__legal, .public-footer.site-footer .public-footer__legal a {
    font-size: var(--public-footer-font-size);
  }
  .public-footer.site-footer .public-footer__inner {
    width: 100%;
  }
  .public-footer.site-footer .public-footer__main {
    display: grid;
    grid-template-columns: minmax(0, 1.75fr) minmax(24rem, 1fr) minmax(28rem, 1.1fr) auto;
    align-items: start;
    gap: clamp(3.2rem, 2.071197411vw + 2.4233009709rem, 6.4rem);
    min-height: 25rem;
    padding-top: 5.6rem;
    padding-bottom: 3.2rem;
  }
  .public-footer.site-footer .public-footer__identity, .public-footer.site-footer .public-footer__hours, .public-footer.site-footer .public-footer__contact {
    min-width: 0;
  }
  .public-footer.site-footer .public-logo {
    color: var(--public-footer-foreground);
  }
  .public-footer.site-footer .public-footer__identity .public-logo__asset {
    width: 14rem;
    height: 5.2rem;
  }
  .public-footer.site-footer .public-footer__company {
    display: grid;
    gap: 0.4rem;
    margin-top: 2rem;
  }
  .public-footer.site-footer .public-footer__company-line {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.3rem 1.2rem;
    margin: 0;
  }
  .public-footer.site-footer .public-footer__company-field {
    display: inline-flex;
    min-width: 0;
    gap: 0.4rem;
  }
  .public-footer.site-footer .public-footer__company-name, .public-footer.site-footer .public-footer__company-label {
    flex: 0 0 auto;
  }
  .public-footer.site-footer .public-footer__company-value {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .public-footer.site-footer .public-footer__heading {
    margin: 0.4rem 0 2.4rem;
    color: var(--public-footer-heading);
    font-weight: var(--font-weight-regular);
  }
  .public-footer.site-footer .public-footer__details {
    display: grid;
    gap: 1.2rem;
    margin: 0;
  }
  .public-footer.site-footer .public-footer__detail {
    display: grid;
    grid-template-columns: 8.8rem minmax(0, 1fr);
    align-items: baseline;
    gap: 1.4rem;
  }
  .public-footer.site-footer .public-footer__detail dt, .public-footer.site-footer .public-footer__detail dd, .public-footer.site-footer .public-footer__detail a {
    margin: 0;
    overflow-wrap: anywhere;
    font-size: var(--public-footer-font-size);
    line-height: inherit;
  }
  .public-footer.site-footer .public-footer__detail dt {
    color: var(--public-footer-foreground);
  }
  .public-footer.site-footer a {
    color: inherit;
    text-decoration: none;
  }
  .public-footer.site-footer .public-footer__socials {
    justify-self: end;
    padding-top: 0.8rem;
  }
  .public-footer.site-footer .public-footer__socials ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .public-footer.site-footer .public-footer__social {
    display: grid;
    width: 4.4rem;
    height: 4.4rem;
    border: 1px solid var(--public-footer-line);
    border-radius: 50%;
    place-items: center;
    color: var(--public-footer-foreground);
    transition: color var(--dur-base) var(--ease-out-quart), opacity var(--dur-base) var(--ease-out-quart);
  }
  .public-footer.site-footer .public-footer__social:hover, .public-footer.site-footer .public-footer__social:focus-visible {
    color: var(--clr-primary-400);
    opacity: 0.72;
  }
  .public-footer.site-footer .public-footer__social:focus-visible, .public-footer.site-footer .public-footer__legal a:focus-visible {
    outline: 1px solid currentColor;
    outline-offset: 0.4rem;
  }
  .public-footer.site-footer .public-footer__social svg, .public-footer.site-footer .public-footer__social i, .public-footer.site-footer .public-footer__social-custom-icon {
    display: block;
    width: 2.2rem;
    height: 2.2rem;
  }
  .public-footer.site-footer .public-footer__social svg {
    overflow: visible;
    fill: currentColor;
    color: inherit;
  }
  .public-footer.site-footer .public-footer__social svg [fill]:not([fill=none]) {
    fill: currentColor;
  }
  .public-footer.site-footer .public-footer__social svg [stroke]:not([stroke=none]) {
    stroke: currentColor;
  }
  .public-footer.site-footer .public-footer__social i {
    color: inherit;
    font-size: var(--public-social-icon-size);
    line-height: 2.2rem;
    text-align: center;
  }
  .public-footer.site-footer .public-footer__social-custom-icon {
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(91%) sepia(9%) saturate(708%) hue-rotate(345deg) brightness(102%) contrast(84%);
  }
  .public-footer.site-footer .public-footer__bottom {
    display: flex;
    min-height: 8.2rem;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    border-top: 1px solid var(--public-footer-line);
  }
  .public-footer.site-footer .public-footer__copyright {
    margin: 0;
  }
  .public-footer.site-footer .public-footer__legal ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .public-footer.site-footer .public-footer__legal li {
    white-space: nowrap;
  }
  .public-footer.site-footer .public-footer__legal li + li {
    position: relative;
    margin-left: 1.4rem;
    padding-left: 1.4rem;
  }
  .public-footer.site-footer .public-footer__legal li + li::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    height: 0.8rem;
    background: var(--public-footer-line);
    content: "";
    transform: translateY(-50%);
  }
  .public-footer.site-footer .public-footer__legal a:hover, .public-footer.site-footer .public-footer__legal a:focus-visible {
    color: var(--public-footer-foreground);
    text-decoration: underline;
    text-underline-offset: 0.5rem;
  }
  @media (max-width: 1640px) {
    .public-footer.site-footer .public-footer__main {
      grid-template-columns: minmax(0, 1.5fr) minmax(21rem, 0.9fr) minmax(25rem, 1fr) auto;
      gap: 3.2rem 4.8rem;
    }
  }
  @media (max-width: 1320px) {
    .public-footer.site-footer .public-footer__main {
      grid-template-columns: minmax(32rem, 0.9fr) minmax(0, 1.1fr);
      grid-template-areas: "identity hours" "identity contact" "identity socials";
      gap: 3rem 5rem;
      min-height: 0;
      padding: 4.8rem 0 4rem;
    }
    .public-footer.site-footer .public-footer__identity {
      grid-area: identity;
    }
    .public-footer.site-footer .public-footer__hours {
      grid-area: hours;
    }
    .public-footer.site-footer .public-footer__contact {
      grid-area: contact;
    }
    .public-footer.site-footer .public-footer__socials {
      grid-area: socials;
      justify-self: end;
      padding-top: 0;
    }
  }
  @media (max-width: 1024px) {
    .public-footer.site-footer .public-footer__main {
      grid-template-columns: minmax(28rem, 0.9fr) minmax(0, 1.1fr);
      gap: 2.8rem 4rem;
      padding: 4.2rem 0 3.8rem;
    }
    .public-footer.site-footer .public-footer__detail {
      grid-template-columns: 7.6rem minmax(0, 1fr);
      gap: 1.4rem;
    }
    .public-footer.site-footer .public-footer__heading {
      margin-bottom: 2rem;
    }
  }
  @media (max-width: 768px) {
    .public-footer.site-footer .public-footer__main {
      grid-template-columns: minmax(0, 1fr);
      grid-template-areas: none;
      gap: 3rem;
      padding: 4rem 0 3.2rem;
    }
    .public-footer.site-footer .public-footer__identity, .public-footer.site-footer .public-footer__hours, .public-footer.site-footer .public-footer__contact, .public-footer.site-footer .public-footer__socials {
      grid-area: auto;
    }
    .public-footer.site-footer .public-footer__identity .public-logo__asset {
      width: 13.2rem;
      height: 4.8rem;
    }
    .public-footer.site-footer .public-footer__company {
      margin-top: 1.8rem;
    }
    .public-footer.site-footer .public-footer__company-field {
      flex-wrap: wrap;
    }
    .public-footer.site-footer .public-footer__heading {
      margin-bottom: 1.8rem;
    }
    .public-footer.site-footer .public-footer__socials ul {
      flex-wrap: wrap;
    }
    .public-footer.site-footer .public-footer__socials {
      justify-self: start;
    }
    .public-footer.site-footer .public-footer__bottom {
      min-height: 0;
      flex-direction: column;
      align-items: flex-start;
      gap: 1.4rem;
      padding: 2.2rem 0 calc(var(--public-footer-mobile-safe-space) + env(safe-area-inset-bottom));
    }
    .public-footer.site-footer .public-footer__legal ul {
      flex-wrap: wrap;
      justify-content: flex-start;
      gap: 1rem 0;
    }
  }
  @media (max-width: 544px) {
    .public-footer.site-footer .public-footer__main {
      gap: 2.8rem;
      padding: 3.6rem 0 3rem;
    }
    .public-footer.site-footer .public-footer__identity .public-logo__asset {
      width: 12.4rem;
      height: 4.6rem;
    }
    .public-footer.site-footer .public-footer__company-line, .public-footer.site-footer .public-footer__company-field {
      align-items: flex-start;
    }
    .public-footer.site-footer .public-footer__bottom {
      padding-top: 2rem;
    }
  }
  @media (max-width: 450px) {
    .public-footer.site-footer .public-footer__detail {
      grid-template-columns: 7.2rem minmax(0, 1fr);
      gap: 1.2rem;
    }
    .public-footer.site-footer .public-footer__legal li + li {
      margin-left: 1rem;
      padding-left: 1rem;
    }
    .public-footer.site-footer .public-footer__legal li + li::before {
      height: 0.7rem;
    }
  }
  .public-home-hero {
    position: relative;
    height: 100svh;
    min-height: clamp(64rem, 5.1779935275vw + 62.0582524272rem, 72rem);
    color: var(--public-white);
    overflow: hidden;
  }
  .public-home-hero__image, .public-home-hero__fallback, .public-home-hero__shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
  .public-home-hero__image, .public-home-hero__fallback img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .public-home-hero__fallback {
    display: block;
  }
  .public-home-hero__fallback--only .public-home-hero__image {
    position: static;
  }
  .public-home-hero video.public-home-hero__image {
    z-index: 0;
    filter: saturate(0.9) contrast(1.02);
  }
  .public-home-hero__shade {
    background: linear-gradient(180deg, rgba(4, 22, 40, 0.08) 0%, rgba(4, 22, 40, 0.18) 48%, rgba(2, 15, 31, 0.42) 100%), radial-gradient(circle at 50% 48%, rgba(0, 0, 0, 0.02) 0%, rgba(0, 14, 31, 0.2) 74%, rgba(0, 12, 28, 0.34) 100%);
  }
  .public-home-hero__content {
    position: absolute;
    z-index: auto;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-block: 0;
    text-align: center;
  }
  .public-home-hero__title {
    margin: 0;
    color: var(--public-white);
    white-space: nowrap;
  }
  .public-home-hero__lead {
    max-width: none;
    color: var(--public-white);
  }
  .public-home-hero__search {
    width: min(64rem, 100vw - 4rem);
  }
  @media (prefers-reduced-motion: reduce) {
    .public-home-hero video.public-home-hero__image {
      display: none;
    }
  }
  @media (max-width: 767px) {
    .public-home-hero__title {
      white-space: normal;
    }
    .public-home-hero__lead {
      max-width: 30rem;
      margin-top: 2.4rem;
    }
    .public-home-hero__search {
      margin-top: 5rem;
    }
  }
  .public-key-home {
    color: var(--public-ink);
    background: var(--public-white);
    padding-top: var(--public-header-height);
  }
  @media (max-width: 767px) {
    .public-key-home > section {
      overflow: hidden;
    }
    .public-key-home .swiper {
      overflow: visible;
    }
  }
  .public-key-hero {
    position: relative;
    height: 84rem;
    min-height: 84rem;
    overflow: hidden;
    background: var(--public-surface);
  }
  .public-key-hero__swiper {
    position: absolute;
    inset: 0;
    z-index: 0;
    height: 100%;
  }
  .public-key-hero__slide {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
  }
  .public-key-hero__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
  .public-key-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .public-key-hero__shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.2);
    pointer-events: none;
  }
  .public-key-hero__copy {
    position: relative;
    z-index: 2;
    display: flex;
    width: 100%;
    height: 100%;
    min-height: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--public-white);
    text-align: center;
  }
  .public-key-hero__copy-inner {
    position: relative;
    top: calc(var(--public-space-md) * 3);
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
  }
  .public-key-hero__title {
    max-width: 100%;
    color: inherit;
    white-space: nowrap;
  }
  .public-key-hero__lead {
    color: inherit;
  }
  .public-key-hero__actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--public-space-sm);
  }
  .public-key-hero__pagination {
    position: absolute;
    bottom: clamp(1.6rem, 0.5177993528vw + 1.4058252427rem, 2.4rem) !important;
    left: 50%;
    z-index: 3;
    display: flex;
    width: auto;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    transform: translateX(-50%);
  }
  .public-key-hero__pagination .swiper-pagination-bullet {
    width: clamp(0.6rem, 0.3883495146vw + 0.454368932rem, 1.2rem);
    height: clamp(0.6rem, 0.3883495146vw + 0.454368932rem, 1.2rem);
    margin: 0;
    background: var(--public-white);
    opacity: 0.56;
  }
  .public-key-hero__pagination .swiper-pagination-bullet-active {
    opacity: 1;
  }
  .public-key-hero__pagination .swiper-pagination-bullet:only-child {
    display: block !important;
  }
  .public-key-hero__pagination.swiper-pagination {
    left: 50%;
    width: auto;
  }
  @media (max-width: 767px) {
    .public-key-hero {
      height: clamp(46rem, 120vw, 52rem);
      min-height: 46rem;
    }
    .public-key-hero__title {
      white-space: normal;
    }
  }
  .public-key-section__head {
    display: grid;
    gap: var(--public-space-xs);
  }
  .public-key-section__head--row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--public-space-3xl);
  }
  .public-key-section__title {
    color: var(--public-blue);
  }
  .public-key-section__desc {
    color: var(--public-muted);
  }
  @media (max-width: 767px) {
    .public-key-section__head--row {
      align-items: flex-start;
      gap: var(--public-space-md);
    }
  }
  .public-key-search {
    color: var(--public-white);
    background: var(--public-navy-deep);
  }
  .public-key-search__head {
    display: flex;
    justify-content: space-between;
    gap: 1.6rem;
    align-items: center;
  }
  .public-key-search__title {
    color: inherit;
  }
  .public-key-search__tabs {
    margin: var(--public-space-xl) 0 0;
  }
  .public-key-search__tabs.public-filter-tabs--wrap {
    justify-content: flex-start;
  }
  .public-key-search__tabs.public-filter-tabs--wrap a {
    color: color-mix(in srgb, var(--public-white) 72%, transparent);
    border-color: color-mix(in srgb, var(--public-white) 34%, transparent);
    background: transparent;
  }
  .public-key-search__tabs.public-filter-tabs--wrap a:hover, .public-key-search__tabs.public-filter-tabs--wrap a:focus-visible {
    color: var(--public-white);
    border-color: color-mix(in srgb, var(--public-white) 58%, transparent);
    background: color-mix(in srgb, var(--public-white) 8%, transparent);
  }
  .public-key-search__tabs.public-filter-tabs--wrap a.is-active {
    color: var(--public-brand-ink);
    border-color: var(--public-brand-accent-soft);
    background: var(--public-brand-accent-soft);
  }
  .public-key-search__results {
    min-width: 0;
  }
  .public-key-search__footer {
    display: flex;
    justify-content: flex-start;
  }
  .public-key-search__all.public-button {
    color: var(--public-white);
    border-color: currentColor;
  }
  @media (max-width: 767px) {
    .public-key-search__tabs {
      margin-top: var(--public-space-md);
    }
    .public-key-search__tabs.public-filter-tabs--wrap {
      min-width: 0;
      flex-wrap: nowrap;
      justify-content: flex-start;
      overflow-x: auto;
      overflow-y: hidden;
      overscroll-behavior-x: contain;
      overscroll-behavior-inline: contain;
      scroll-snap-type: x proximity;
      scrollbar-width: none;
      -webkit-overflow-scrolling: touch;
    }
    .public-key-search__tabs.public-filter-tabs--wrap::-webkit-scrollbar {
      display: none;
    }
    .public-key-search__tabs.public-filter-tabs--wrap a {
      scroll-snap-align: center;
    }
    .public-key-search__tabs.public-filter-tabs--wrap a:first-child {
      margin-inline-start: auto;
    }
    .public-key-search__tabs.public-filter-tabs--wrap a:last-child {
      margin-inline-end: auto;
    }
    .public-key-search__footer {
      justify-content: flex-start;
    }
  }
  .public-key-info__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--public-space-3xl);
  }
  .public-key-info__hours p {
    color: var(--public-muted);
  }
  .public-key-info__contact, .public-key-info__hours {
    flex: 1 1 0;
    min-width: 0;
  }
  .public-key-info__inner {
    gap: var(--public-space-sm);
  }
  .public-key-info__contact-list {
    display: grid;
    width: min(34rem, 100%);
    gap: var(--public-space-2xs);
  }
  .public-key-info__contact-row {
    display: grid;
    grid-template-columns: 12rem minmax(0, 1fr);
    align-items: center;
    gap: var(--public-space-sm);
  }
  .public-key-info__action.public-button {
    width: 100%;
    min-height: 4.4rem;
    padding-inline: var(--public-space-xs);
  }
  .public-key-info__hours dl {
    display: grid;
    gap: var(--public-space-sm);
  }
  .public-key-info__hours div {
    display: grid;
    grid-template-columns: 8rem minmax(0, 1fr);
    gap: var(--public-space-xl);
  }
  .public-key-info__hours dt {
    color: var(--public-ink);
  }
  .public-key-info__hours dd {
    color: var(--public-muted);
  }
  @media (min-width: 1024px) {
    html body .public-key-info__inner.no-container-xl {
      align-items: flex-start;
    }
  }
  @media (max-width: 1023px) {
    .public-key-info__inner {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      align-items: start;
      gap: var(--public-space-sm);
    }
  }
  @media (max-width: 767px) {
    .public-key-info__inner {
      grid-template-columns: 1fr;
      gap: var(--public-space-xl);
    }
    .public-key-info__contact-list {
      width: 100%;
    }
    .public-key-info__contact-row {
      grid-template-columns: 7.8rem minmax(0, 1fr);
      gap: var(--public-space-2xs);
    }
    .public-key-info__action.public-button {
      min-height: 4rem;
      padding-inline: 0;
    }
    .public-key-info__hours dl {
      gap: var(--public-space-xs);
    }
    .public-key-info__hours div {
      grid-template-columns: 4rem minmax(0, 1fr);
      gap: var(--public-space-2xs);
    }
    .public-key-info__hours dd {
      white-space: nowrap;
    }
  }
  .public-key-map__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--public-space-3xl);
  }
  .public-key-map__inner {
    gap: var(--public-space-sm);
  }
  .public-key-map {
    border-top: 0;
  }
  .public-key-map__copy, .public-key-map__canvas {
    flex: 1 1 0;
  }
  .public-key-map__route-list {
    display: grid;
    gap: var(--public-space-xs);
    margin-bottom: 0;
    padding: 0;
    color: var(--public-muted);
    list-style: none;
  }
  .public-key-map__route {
    display: flex;
    align-items: center;
    gap: var(--public-space-2xs);
  }
  .public-key-map__route-badge {
    display: inline-grid;
    flex: 0 0 2rem;
    width: 2rem;
    height: 2rem;
    place-items: center;
    color: var(--public-white);
    border-radius: var(--public-radius-pill);
    font-size: 1.2rem;
    font-weight: var(--font-weight-medium);
    line-height: 1;
  }
  .public-key-map__route-badge--line-1 {
    background: var(--public-transit-line-1);
  }
  .public-key-map__route-badge--line-2 {
    background: var(--public-transit-line-2);
  }
  .public-key-map__links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--public-space-md);
  }
  .public-key-map__canvas {
    position: relative;
    height: 37rem;
    min-height: 37rem;
    overflow: hidden;
    background: linear-gradient(90deg, rgba(217, 95, 147, 0.18) 1px, transparent 1px), linear-gradient(0deg, rgba(217, 95, 147, 0.18) 1px, transparent 1px), var(--public-surface-subtle);
    background-size: 4.8rem 4.8rem;
  }
  .public-key-map__map-canvas {
    width: 100%;
    height: 100%;
    min-height: inherit;
  }
  .public-key-map__canvas .public-location__map-status {
    width: 100%;
    height: 100%;
  }
  .public-key-map__canvas .store-map-pin--active, .public-key-map__canvas .store-map-pin--active .store-map-pin__art {
    transform: none;
  }
  .public-key-map__canvas .store-map-pin {
    position: relative;
    display: block;
    max-width: 15.2rem;
    max-height: 7.5rem;
    overflow: visible;
    pointer-events: none;
    transform-origin: center bottom;
  }
  .public-key-map__canvas .store-map-pin__art, .public-key-map__canvas .store-map-pin__image {
    display: block;
    width: 100%;
    height: 100%;
  }
  .public-key-map__canvas .store-map-pin__image {
    object-fit: contain;
    object-position: center bottom;
  }
  .public-key-map__pin {
    position: absolute;
    top: 48%;
    left: 50%;
    padding: var(--public-space-xs) var(--public-space-md);
    color: var(--public-white);
    background: var(--public-navy-deep);
    transform: translate(-50%, -50%);
  }
  @media (min-width: 1024px) {
    html body .public-key-map.no-section-md {
      padding-top: 5.3rem;
      padding-bottom: 7.4rem;
    }
    html body .public-key-map__inner.no-container-xl {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      align-items: start;
      gap: var(--public-space-sm);
      padding-top: 8.1rem;
      border-top: 1px solid var(--public-line);
    }
  }
  @media (max-width: 1023px) {
    .public-key-map__inner {
      display: grid;
      grid-template-columns: 1fr;
    }
  }
  .public-key-study__copy p {
    color: var(--public-muted);
  }
  .public-key-study {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--public-space-sm);
    align-items: start;
  }
  .public-key-study__rail {
    grid-column: span 3;
    min-width: 0;
  }
  .public-key-study__swiper {
    overflow: hidden;
  }
  .public-key-study__item {
    height: auto;
  }
  .public-key-study__item img {
    display: block;
    width: 100%;
    aspect-ratio: var(--public-study-media-ratio);
    background: var(--public-surface);
  }
  .public-key-study__link {
    display: block;
    color: inherit;
  }
  .public-key-study__link:focus-visible {
    outline: 0.2rem solid var(--public-rose);
    outline-offset: 0.4rem;
  }
  .public-key-study__title {
    display: -webkit-box;
    min-height: 4.8rem;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
  .public-key-study__progress.swiper-scrollbar {
    width: 100%;
    height: 0.4rem;
    position: relative;
    inset: auto;
  }
  @media (max-width: 1023px) {
    .public-key-study {
      display: grid;
      grid-template-columns: 1fr;
    }
    .public-key-study__rail {
      grid-column: auto;
    }
  }
  .public-key-card-carousel {
    overflow: hidden;
  }
  .public-key-card-carousel__slide {
    width: 30rem;
    height: auto;
  }
  .public-key-card-carousel__slide > .public-treatment-card {
    min-height: 100%;
  }
  @media (max-width: 768px) {
    .public-key-card-carousel__slide {
      width: 20rem;
    }
  }
  .public-key-progress {
    width: 65%;
    height: 0.4rem;
    position: relative;
    inset: auto;
    flex-shrink: 0;
    touch-action: none;
    background: var(--public-line);
  }
  .public-key-progress .swiper-scrollbar-drag {
    height: 100%;
    background: var(--public-blue);
    border-radius: 0;
  }
  .public-key-progress--dark {
    background: rgba(255, 255, 255, 0.28);
  }
  .public-key-carousel-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--public-space-xl);
  }
  .public-key-carousel-controls__arrows {
    display: flex;
    align-items: center;
    gap: 0.8rem;
  }
  .public-key-carousel-controls__arrows button {
    display: grid;
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    place-items: center;
    color: inherit;
    background: transparent;
    border: 0;
    cursor: pointer;
  }
  .public-key-carousel-controls__arrows button:focus-visible {
    outline: 0.2rem solid var(--public-blue);
    outline-offset: 0.2rem;
  }
  .public-key-carousel-controls__arrows button:disabled, .public-key-carousel-controls__arrows button.swiper-button-disabled {
    cursor: default;
    opacity: 0.3;
  }
  .public-key-carousel-controls__arrows button.swiper-button-lock {
    display: none;
  }
  .public-key-carousel-controls__arrows i {
    font-size: 1.6rem;
  }
  .public-key-feature {
    overflow: hidden;
    background: var(--public-white);
  }
  .public-key-feature__carousel {
    overflow: visible;
  }
  .public-key-feature__carousel--desktop {
    display: none;
  }
  .public-key-feature__card {
    display: flex;
    height: auto;
    align-items: stretch;
    flex-direction: column;
    text-align: left;
  }
  .public-key-feature__media {
    display: grid;
    width: 100%;
    aspect-ratio: 3/4;
    place-items: center;
    overflow: hidden;
    color: var(--public-muted);
    background: linear-gradient(135deg, var(--public-surface-subtle), var(--public-surface));
  }
  .public-key-feature__image, .public-key-feature__desktop-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .public-key-feature__title, .public-key-feature__title-lead, .public-key-feature__title-tail {
    display: block;
  }
  .public-key-feature__title {
    color: var(--public-ink);
  }
  .public-key-feature__title-tail, .public-key-feature__description, .public-key-feature__footnotes {
    color: var(--public-muted);
  }
  .public-key-feature__description {
    min-height: 2rem;
  }
  .public-key-feature__points {
    display: grid;
    width: 100%;
  }
  .public-key-feature__point {
    display: grid;
    width: 100%;
    min-height: var(--public-control-lg);
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--public-space-sm);
    padding-block: var(--public-space-sm);
    color: var(--public-ink);
    background: var(--public-white);
    border-top: 1px solid var(--public-line-strong);
    border-radius: 0;
    text-align: left;
  }
  .public-key-feature__point:last-child {
    border-bottom: 1px solid var(--public-line-strong);
  }
  .public-key-feature__point-main {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: var(--public-space-2xs);
  }
  .public-key-feature__point-label, .public-key-feature__point-value, .public-key-feature__point-period, .public-key-feature__desktop-point-label, .public-key-feature__desktop-point-value, .public-key-feature__desktop-point-period {
    display: block;
    max-width: 100%;
    word-break: keep-all;
  }
  .public-key-feature__point-period, .public-key-feature__desktop-point-period {
    margin-top: calc(var(--public-space-2xs) * 0.5);
    opacity: 0.72;
  }
  .public-key-feature__point-period {
    margin-top: 0;
    color: var(--public-muted);
    opacity: 1;
    text-align: right;
  }
  .public-key-feature__point + .public-key-feature__point {
    margin-inline-start: 0;
  }
  .public-key-feature__point--accent {
    color: var(--public-ink);
    background: var(--public-white);
  }
  .public-key-feature__footnotes {
    display: grid;
  }
  .public-key-feature__pagination {
    display: none;
  }
  .public-key-feature__desktop-pagination .swiper-pagination-bullet, .public-key-feature__pagination .swiper-pagination-bullet {
    width: 100%;
    height: 0.2rem;
    box-sizing: border-box;
    margin: 0;
    border: 0.1rem solid var(--public-ink);
    border-radius: 0;
    background: var(--public-white);
    opacity: 1;
    transition: background-color var(--public-duration) var(--public-ease);
  }
  .public-key-feature__desktop-pagination .swiper-pagination-bullet-active, .public-key-feature__pagination .swiper-pagination-bullet-active {
    width: 100%;
    background: var(--public-ink);
  }
  @media (min-width: 1024px) {
    .public-key-feature__carousel--mobile {
      display: none;
    }
    .public-key-feature__carousel--desktop {
      display: block;
      overflow: hidden;
      padding-bottom: var(--public-space-3xl);
    }
    .public-key-feature__desktop-slide {
      display: grid;
      height: auto;
      grid-template-columns: minmax(0, 12fr) minmax(0, 13fr);
      align-items: center;
      gap: var(--public-space-3xl);
    }
    .public-key-feature__desktop-media {
      display: grid;
      width: 100%;
      aspect-ratio: 1;
      place-items: center;
      overflow: hidden;
      color: var(--public-muted);
      background: linear-gradient(135deg, var(--public-line), var(--public-surface));
    }
    .public-key-feature__desktop-content {
      display: flex;
      min-width: 0;
      align-items: flex-start;
      flex-direction: column;
      justify-content: flex-start;
      padding-top: var(--public-space-page);
    }
    .public-key-feature__desktop-title, .public-key-feature__desktop-title-lead, .public-key-feature__desktop-title-tail {
      display: block;
    }
    .public-key-feature__desktop-title {
      color: var(--public-ink);
    }
    .public-key-feature__desktop-title-tail {
      color: var(--public-muted);
    }
    .public-key-feature__desktop-description {
      color: var(--public-ink);
    }
    .public-key-feature__desktop-points {
      display: flex;
      align-items: center;
      width: 100%;
    }
    .public-key-feature__desktop-point {
      display: flex;
      width: 18rem;
      aspect-ratio: 1;
      align-items: center;
      flex-direction: column;
      justify-content: center;
      padding: var(--public-space-sm);
      color: var(--public-white);
      background: var(--public-muted-soft);
      border-radius: 50%;
      text-align: center;
    }
    .public-key-feature__desktop-point + .public-key-feature__desktop-point {
      margin-inline-start: calc(var(--public-space-xl) * -1);
    }
    .public-key-feature__desktop-point--accent {
      position: relative;
      z-index: 1;
      color: var(--public-white);
      background: var(--public-blue);
    }
    .public-key-feature__desktop-pagination {
      position: absolute;
      bottom: 0;
      left: 0;
      display: grid;
      width: 100%;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      align-items: center;
      gap: var(--public-space-2xs);
    }
  }
  @media (max-width: 767px) {
    .public-key-feature.no-section-md {
      padding-block: var(--public-space-xl);
    }
    .public-key-feature__carousel.swiper {
      overflow: hidden;
      padding-bottom: var(--public-space-lg);
    }
    .public-key-feature__image {
      object-position: center top;
    }
    .public-key-feature__pagination {
      position: absolute;
      bottom: 0;
      left: 0;
      display: grid;
      width: 100%;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      align-items: center;
      gap: var(--public-space-2xs);
    }
  }
  .public-home ~ .no-floating-cta .no-floating-cta__btn--tel {
    display: none;
  }
  .public-home ~ .no-floating-cta .no-floating-cta__btn--instagram {
    order: 1;
  }
  .public-home ~ .no-floating-cta .no-floating-cta__btn--youtube {
    order: 2;
  }
  .public-home ~ .no-floating-cta .no-floating-cta__btn--naverblog {
    order: 3;
  }
  .public-home ~ .no-floating-cta .no-floating-cta__btn--kakao {
    order: 4;
  }
  .public-home ~ .no-floating-cta .no-floating-cta__btn--top {
    order: 5;
  }
  @media (max-width: 767px) {
    .public-home ~ .no-floating-cta {
      display: none;
    }
  }
  .treatment-catalog, .clinic-editorial {
    --color-background-primary: #f6f1ea;
    --color-background-secondary: #d8cbb8;
    --color-background-card: #ebe3d7;
    --color-text-primary: #352820;
    --color-text-secondary: #76685c;
    --color-border-default: #d8cbb8;
    --public-brand-surface: var(--color-background-primary);
    --public-surface-subtle: var(--color-background-secondary);
    --public-brand-surface-strong: #efe5da;
    --public-ink: var(--color-text-primary);
    --public-muted: var(--color-text-secondary);
    --public-line: var(--color-border-default);
  }
  .treatment-catalog__note {
    border: 1px solid var(--public-line);
    border-radius: 0.6rem;
    padding: 2.4rem;
    margin-top: 3.2rem;
    font-size: 1.4rem;
    color: var(--public-muted);
  }
  .treatment-catalog__note h3 {
    font-size: 1.6rem;
    color: var(--public-ink);
    margin-bottom: 1rem;
    font-weight: var(--font-weight-medium);
  }
  .treatment-catalog__note[hidden] {
    display: none;
  }
  .is-treatment-dialog-open {
    overflow: hidden;
  }
  .treatment-catalog {
    --color-text-body: #1e211e;
    --catalog-table-padding: 2.4rem;
    --catalog-table-font-size: 1.7rem;
    --catalog-table-heading-size: 1.8rem;
  }
  .treatment-catalog__hero, .treatment-catalog__directory {
    width: min(85.42%, 164rem);
    margin-inline: auto;
  }
  .treatment-catalog__hero {
    padding-top: 18.8rem;
    padding-bottom: 8rem;
  }
  .treatment-catalog__hero h1 {
    font-family: var(--font-display-family);
    font-size: clamp(3.2rem, 2.5vw, 4.8rem);
    font-weight: var(--font-weight-medium);
    line-height: 1.35;
  }
  .treatment-catalog__hero p {
    margin-top: 1.6rem;
    color: var(--public-muted);
    font-size: 1.8rem;
  }
  .treatment-catalog__directory {
    padding-bottom: 20rem;
    min-height: 135rem;
  }
  .treatment-catalog__directory > h2 {
    font-family: var(--font-heading-family);
    font-size: 3.2rem;
    font-weight: var(--font-weight-regular);
    margin-bottom: 2rem;
  }
  .treatment-catalog__layout {
    display: grid;
    grid-template-columns: 23.6rem minmax(0, 122.6rem);
    gap: 4rem;
  }
  .treatment-catalog__search, .treatment-catalog__toolbar {
    height: 6.8rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    border-bottom: 2px solid var(--public-ink);
  }
  .treatment-catalog__search input {
    width: 100%;
    min-width: 0;
    background: transparent;
    border: 0;
    padding: 0.8rem 0;
    font-size: 1.5rem;
    color: inherit;
  }
  .treatment-catalog__search:focus-within {
    border-color: var(--public-focus);
    box-shadow: 0 1px 0 var(--public-focus);
  }
  .treatment-catalog__actions {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    min-width: 0;
  }
  .treatment-catalog__sort {
    position: relative;
    min-width: 0;
    font-size: 1.5rem;
  }
  .treatment-catalog__sort-trigger {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1.2rem;
    min-height: 4.4rem;
    padding: 0.6rem 0.4rem;
    color: var(--public-muted);
    font: inherit;
  }
  .treatment-catalog__sort-trigger span {
    text-align: right;
  }
  .treatment-catalog__sort-trigger i {
    flex: 0 0 auto;
    font-size: 1rem;
    transition: transform 0.2s ease;
  }
  .treatment-catalog__sort-trigger:hover, .treatment-catalog__sort-trigger[aria-expanded=true] {
    color: var(--public-ink);
  }
  .treatment-catalog__sort-trigger[aria-expanded=true] i {
    transform: rotate(180deg);
  }
  .treatment-catalog__sort-menu {
    position: absolute;
    top: calc(100% + 0.4rem);
    right: 0;
    z-index: 20;
    width: max-content;
    min-width: 17rem;
    max-width: min(28rem, 100vw - 4rem);
    padding: 0.6rem;
    border: 1px solid var(--public-line);
    border-radius: 0.4rem;
    background: var(--public-brand-surface);
    box-shadow: 0 0.8rem 2.4rem rgba(40, 30, 20, 0.08);
  }
  .treatment-catalog__sort-menu[hidden] {
    display: none;
  }
  .treatment-catalog__sort-menu button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    width: 100%;
    min-height: 4.4rem;
    padding: 0.8rem 1.2rem;
    color: var(--public-muted);
    font: inherit;
    text-align: left;
    border-radius: 0.2rem;
  }
  .treatment-catalog__sort-menu button:hover, .treatment-catalog__sort-menu button:focus-visible {
    background: var(--public-brand-surface-strong);
    color: var(--public-ink);
    outline-offset: -2px;
  }
  .treatment-catalog__sort-menu [aria-checked=true] {
    color: var(--public-ink);
  }
  .treatment-catalog__sort-menu i {
    font-size: 1.2rem;
    visibility: hidden;
  }
  .treatment-catalog__sort-menu [aria-checked=true] i {
    visibility: visible;
  }
  .treatment-catalog__category-scrollbar {
    display: none;
  }
  .treatment-catalog__categories {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
    padding-top: 2.4rem;
  }
  .treatment-catalog__categories button, .treatment-catalog__categories a {
    min-height: var(--public-control-sm);
    padding: 0.8rem 0.4rem;
    text-align: left;
    font-size: 1.7rem;
    font-weight: var(--font-weight-regular);
    color: var(--color-text-muted);
    transition: color var(--public-duration) var(--public-ease);
  }
  .treatment-catalog__categories button:hover, .treatment-catalog__categories button:focus-visible, .treatment-catalog__categories a:hover, .treatment-catalog__categories a:focus-visible, .treatment-catalog__categories [aria-pressed=true] {
    color: var(--public-ink);
  }
  .treatment-catalog__categories [aria-pressed=true] {
    font-weight: var(--font-weight-semibold);
  }
  .treatment-catalog__toolbar {
    justify-content: space-between;
    color: var(--public-muted);
    font-size: 1.8rem;
  }
  .treatment-catalog__views {
    display: flex;
    gap: 0.8rem;
    padding: 0.6rem;
  }
  .treatment-catalog__views button {
    position: relative;
    isolation: isolate;
    border: 0;
    background: transparent;
    border-radius: var(--public-action-radius);
    text-decoration: none;
  }
  .treatment-catalog__views button::before, .treatment-catalog__views button::after {
    position: absolute;
    inset-block: 0;
    box-sizing: border-box;
    width: var(--public-action-end-width);
    border: 1px solid currentColor;
    content: "";
    pointer-events: none;
    transition: width var(--public-action-duration) var(--public-ease);
  }
  .treatment-catalog__views button::before {
    inset-inline-start: 0;
    border-inline-end: 0;
    border-radius: var(--public-action-radius) 0 0 var(--public-action-radius);
  }
  .treatment-catalog__views button::after {
    inset-inline-end: 0;
    border-inline-start: 0;
    border-radius: 0 var(--public-action-radius) var(--public-action-radius) 0;
  }
  .treatment-catalog__views button:hover::before, .treatment-catalog__views button:hover::after, .treatment-catalog__views button:focus-visible::before, .treatment-catalog__views button:focus-visible::after, .treatment-catalog__views button.is-frame-completing::before, .treatment-catalog__views button.is-frame-completing::after, .treatment-catalog__views button[aria-expanded=true]::before, .treatment-catalog__views button[aria-expanded=true]::after {
    width: calc(50% + 1px);
  }
  @media (max-width: 1023px), (hover: none), (pointer: coarse) {
    .treatment-catalog__views button::before, .treatment-catalog__views button::after {
      width: calc(50% + 1px);
    }
  }
  .treatment-catalog__views button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
  }
  @media (prefers-reduced-motion: reduce) {
    .treatment-catalog__views button::before, .treatment-catalog__views button::after {
      transition: none;
    }
  }
  .treatment-catalog__views button {
    --public-action-end-width: 1rem;
    width: 4.4rem;
    height: 4.4rem;
    font-size: 2rem;
    color: var(--public-ink);
  }
  .treatment-catalog__views [aria-pressed=true] {
    color: var(--public-ink);
  }
  .treatment-catalog__views [aria-pressed=true]::before, .treatment-catalog__views [aria-pressed=true]::after {
    width: calc(50% + 1px);
  }
  @media (max-width: 1023px) {
    .treatment-catalog__views [aria-pressed=false]::before, .treatment-catalog__views [aria-pressed=false]::after {
      content: none;
    }
  }
  .treatment-catalog__items {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2.4rem;
    padding-top: 2.4rem;
  }
  .treatment-catalog__item {
    min-width: 0;
    scroll-margin-top: 14rem;
  }
  .treatment-catalog__item[hidden], .treatment-catalog__empty[hidden] {
    display: none;
  }
  .treatment-catalog__card {
    display: flex;
    width: 100%;
    height: 100%;
    min-height: 31.4rem;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    padding: 2.8rem;
    border-radius: 0.6rem;
    background: var(--color-background-card);
    color: var(--public-ink);
    gap: 1.4rem;
    outline: 1px solid transparent;
    outline-offset: -1px;
    transition: outline-color 0.25s ease;
  }
  @media (hover: hover) {
    .treatment-catalog__card:hover {
      outline-color: var(--public-ink);
    }
  }
  .treatment-catalog__card h3 {
    font-size: 2.2rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.65;
    overflow-wrap: anywhere;
  }
  .treatment-catalog__icon {
    width: 8.8rem;
    height: 8.8rem;
    object-fit: contain;
    margin: 1.2rem 0 1.6rem;
  }
  .treatment-catalog__preview {
    font-size: 1.4rem;
    color: var(--public-muted);
    white-space: pre-line;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .treatment-catalog__preview--description {
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
  }
  .treatment-catalog__price {
    font-size: 1.8rem;
    margin-top: auto;
    font-family: var(--font-en, "Manrope"), sans-serif;
  }
  .treatment-catalog__list-options, .treatment-catalog__list-heading, .treatment-catalog__list-price-label {
    display: none;
  }
  .treatment-catalog__notice {
    font-size: 1.4rem;
    color: var(--public-muted);
    margin-top: 4rem;
    line-height: 1.65;
    white-space: pre-line;
  }
  .treatment-catalog__empty {
    padding: 8rem 0;
    text-align: center;
  }
  .treatment-catalog__list-heading, .treatment-catalog__dialog thead {
    border-block: 2px solid var(--public-ink);
    color: var(--public-muted);
    font-size: var(--catalog-table-heading-size);
    font-weight: var(--font-weight-medium);
  }
  .treatment-catalog__list-options > div, .treatment-catalog__dialog td {
    color: var(--color-text-body);
    font-size: var(--catalog-table-font-size);
    line-height: 1.65;
  }
  .treatment-catalog[data-view=list] .treatment-catalog__toolbar {
    border-bottom: 0;
  }
  .treatment-catalog[data-view=list] .treatment-catalog__items {
    display: block;
    padding: 0;
  }
  .treatment-catalog[data-view=list] .treatment-catalog__list-heading {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: var(--catalog-table-padding);
    line-height: 1.65;
  }
  .treatment-catalog[data-view=list] .treatment-catalog__list-heading > :last-child {
    text-align: right;
  }
  .treatment-catalog[data-view=list] .treatment-catalog__card {
    display: none;
  }
  .treatment-catalog[data-view=list] .treatment-catalog__list-options {
    display: block;
  }
  .treatment-catalog[data-view=list] .treatment-catalog__list-options > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    padding: var(--catalog-table-padding);
  }
  .treatment-catalog[data-view=list] .treatment-catalog__list-options > div > button {
    text-align: left;
    padding-right: 1.6rem;
    font: inherit;
    color: inherit;
    overflow-wrap: anywhere;
  }
  .treatment-catalog[data-view=list] .treatment-catalog__list-options > div > button:hover {
    text-decoration: underline;
    text-underline-offset: 0.3em;
  }
  .treatment-catalog[data-view=list] .treatment-catalog__list-options > div > span {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .treatment-catalog[data-view=list] .treatment-catalog__list-options > div > :last-child {
    text-align: right;
    font-variant-numeric: tabular-nums;
  }
  .treatment-catalog small {
    display: block;
    color: var(--public-muted);
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .treatment-catalog__dialog {
    position: fixed;
    inset: 0;
    margin: auto;
    width: min(76rem, 100% - 3.2rem);
    max-height: calc(100dvh - 4rem);
    border: 1px solid var(--public-line);
    border-radius: 0.8rem;
    padding: 4.8rem;
    overflow: auto;
    background: var(--public-brand-surface);
    color: var(--public-ink);
  }
  .treatment-catalog__dialog::backdrop {
    background: rgba(25, 20, 16, 0.58);
    opacity: 0;
    transition: opacity 0.2s ease-in;
  }
  .treatment-catalog__dialog.is-visible::backdrop {
    opacity: 1;
    transition-duration: 0.32s;
    transition-timing-function: ease-out;
  }
  .treatment-catalog__dialog h2 {
    font-size: 4rem;
    font-weight: var(--font-weight-regular);
    margin: 0.8rem 3rem 2rem 0;
  }
  .treatment-catalog__dialog p {
    font-size: 1.6rem;
    line-height: 1.65;
  }
  .treatment-catalog__dialog table {
    width: 100%;
    margin-top: 3.2rem;
    border-collapse: collapse;
  }
  .treatment-catalog__dialog th, .treatment-catalog__dialog td {
    padding: var(--catalog-table-padding);
    text-align: left;
    vertical-align: top;
    line-height: 1.65;
  }
  .treatment-catalog__dialog th:last-child, .treatment-catalog__dialog td:last-child {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
  }
  .treatment-catalog__close {
    position: relative;
    isolation: isolate;
    border: 0;
    background: transparent;
    border-radius: var(--public-action-radius);
    text-decoration: none;
  }
  .treatment-catalog__close::before, .treatment-catalog__close::after {
    position: absolute;
    inset-block: 0;
    box-sizing: border-box;
    width: var(--public-action-end-width);
    border: 1px solid currentColor;
    content: "";
    pointer-events: none;
    transition: width var(--public-action-duration) var(--public-ease);
  }
  .treatment-catalog__close::before {
    inset-inline-start: 0;
    border-inline-end: 0;
    border-radius: var(--public-action-radius) 0 0 var(--public-action-radius);
  }
  .treatment-catalog__close::after {
    inset-inline-end: 0;
    border-inline-start: 0;
    border-radius: 0 var(--public-action-radius) var(--public-action-radius) 0;
  }
  .treatment-catalog__close:hover::before, .treatment-catalog__close:hover::after, .treatment-catalog__close:focus-visible::before, .treatment-catalog__close:focus-visible::after, .treatment-catalog__close.is-frame-completing::before, .treatment-catalog__close.is-frame-completing::after, .treatment-catalog__close[aria-expanded=true]::before, .treatment-catalog__close[aria-expanded=true]::after {
    width: calc(50% + 1px);
  }
  @media (max-width: 1023px), (hover: none), (pointer: coarse) {
    .treatment-catalog__close::before, .treatment-catalog__close::after {
      width: calc(50% + 1px);
    }
  }
  .treatment-catalog__close:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
  }
  @media (prefers-reduced-motion: reduce) {
    .treatment-catalog__close::before, .treatment-catalog__close::after {
      transition: none;
    }
  }
  .treatment-catalog__close {
    position: absolute;
    top: 2rem;
    right: 2rem;
    width: 4.8rem;
    height: 4.8rem;
    display: grid;
    place-items: center;
    font-size: 3rem;
    line-height: 1;
    color: var(--public-ink);
  }
  .treatment-catalog__dialog:lang(ja), .treatment-catalog__dialog:lang(zh) {
    word-break: normal;
    overflow-wrap: anywhere;
  }
  .treatment-catalog__dialog-category, .treatment-catalog__members {
    color: var(--public-muted);
  }
  .treatment-catalog :is(button, a):focus-visible {
    outline: 2px solid var(--public-focus);
    outline-offset: 4px;
  }
  .treatment-catalog__search input:focus-visible {
    outline: none;
  }
  @media (prefers-reduced-motion: reduce) {
    .treatment-catalog__card, .treatment-catalog__dialog::backdrop, .treatment-catalog__sort-trigger i {
      transition: none;
    }
  }
  .clinic-editorial h1, .clinic-editorial h2:not(:where(.newyoung-home__reservation-title)), .clinic-editorial h3 {
    font-weight: var(--font-weight-regular);
  }
  .clinic-editorial h1, .clinic-editorial h2:not(:where(.newyoung-home__reservation-title)) {
    font-family: var(--font-display-family);
    letter-spacing: -0.025em;
  }
  .clinic-editorial h2:not(:where(.newyoung-home__reservation-title)) {
    font-size: clamp(3rem, 3.33vw, 6.4rem);
    line-height: 1.35;
  }
  .clinic-editorial h3 {
    font-size: 2.4rem;
    margin-bottom: 1.6rem;
    font-weight: var(--font-weight-medium);
  }
  .clinic-editorial p:not(:where(.newyoung-home__reservation-copy)), .clinic-editorial figcaption {
    font-size: var(--body-md-fs);
    line-height: var(--body-md-lh);
  }
  .clinic-editorial img {
    display: block;
    width: 100%;
    object-fit: cover;
  }
  .clinic-editorial__chapter {
    padding: 9rem 2rem;
    text-align: center;
    font-family: var(--font-display-family);
    font-size: clamp(3.6rem, 4.27vw, 8.2rem);
  }
  .clinic-editorial__number {
    display: block;
    font-family: "Manrope", sans-serif;
    font-size: 2.4rem;
    color: var(--public-brand-accent);
    margin-bottom: 2rem;
  }
  .clinic-editorial__cover {
    position: relative;
    min-height: 56.25vw;
    color: var(--public-brand-surface);
    display: grid;
    align-items: center;
  }
  .clinic-editorial__cover > img {
    position: absolute;
    inset: 0;
    height: 100%;
  }
  .clinic-editorial__cover > div {
    position: relative;
    z-index: 1;
    padding: 8rem 7.3%;
  }
  .clinic-editorial__cover p {
    margin-top: 2.4rem;
    font-size: clamp(1.6rem, 1.25vw, 2.4rem);
  }
  .clinic-story {
    --color-border-default: #c4ae9b;
    background: var(--public-brand-surface);
  }
  .clinic-story__copy-mobile {
    display: none;
  }
  .clinic-story p, .clinic-story figcaption {
    word-break: keep-all;
    overflow-wrap: break-word;
  }
  .clinic-story h2 {
    font-family: var(--font-display-family);
  }
  .clinic-story h3 {
    margin-bottom: 2.4rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.65;
  }
  .clinic-story h2.clinic-editorial__chapter {
    font-size: clamp(3.6rem, 4.27vw, 8.2rem);
    line-height: 1.65;
    padding: 4.53vw 2rem 3.85vw;
    font-weight: var(--font-weight-medium);
  }
  .clinic-story__media {
    position: relative;
    overflow: hidden;
    isolation: isolate;
  }
  .clinic-story__media > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .clinic-story__opening {
    display: grid;
    grid-template-columns: 63% 27.72%;
    column-gap: 9.28%;
    row-gap: 9.9vw;
    align-items: start;
    padding: 15.3125vw 8.23% 9.7vw 10.05%;
    background: var(--public-brand-surface-strong);
  }
  .clinic-story__opening-main {
    aspect-ratio: 988/664;
  }
  .clinic-story__opening-copy {
    align-self: center;
  }
  .clinic-story__opening-copy h1 {
    font-size: clamp(2.8rem, 2.5vw, 4.8rem);
    line-height: 1.65;
    margin-bottom: 2.4rem;
  }
  .clinic-story__opening-copy p {
    font-size: var(--body-md-fs);
  }
  .clinic-story__opening-balance {
    grid-column: 2;
    grid-row: 2;
    width: 113.56%;
    margin-left: -21.38%;
  }
  .clinic-story__opening-balance .clinic-story__media {
    aspect-ratio: 494/333;
  }
  .clinic-story__opening-care {
    grid-column: 1;
    grid-row: 2;
    margin: 9.74vw 0 0 5.16%;
    width: 67.41%;
  }
  .clinic-story__opening-care .clinic-story__media {
    aspect-ratio: 666/443;
  }
  .clinic-story figcaption {
    padding-top: 3.2rem;
    font-size: var(--body-md-fs);
  }
  .clinic-story__private {
    text-align: center;
  }
  .clinic-story__private > .clinic-story__media {
    position: absolute;
    inset: 0;
  }
  .clinic-story__private > div {
    width: 100%;
    max-width: 110rem;
    margin: auto;
    padding-inline: 2.4rem;
  }
  .clinic-story__private h2 {
    line-height: 1.65;
    font-weight: var(--font-weight-medium);
  }
  .clinic-story__private p {
    margin-top: 4.8rem;
  }
  .clinic-story__philosophy {
    padding-bottom: 6.67vw;
  }
  .clinic-story__philosophy-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 30.5vw;
    border-top: 1px solid var(--public-line);
  }
  .clinic-story__philosophy-row figure, .clinic-story__philosophy-row > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .clinic-story__philosophy-row figure {
    border-right: 1px solid var(--public-line);
  }
  .clinic-story__philosophy-row .clinic-story__media {
    width: 55.83%;
    margin-left: 29.375%;
    aspect-ratio: 536/336;
  }
  .clinic-story__philosophy-row > div {
    min-width: 0;
    padding: 6rem 5% 6rem 13.54%;
  }
  .clinic-story__philosophy-row p {
    font-size: var(--body-md-fs);
  }
  .clinic-story__philosophy-row:nth-of-type(1) p {
    max-width: 54.5rem;
  }
  .clinic-story__philosophy-row:nth-of-type(even) figure {
    order: 2;
    border-right: 0;
    border-left: 1px solid var(--public-line);
  }
  .clinic-story__philosophy-row:nth-of-type(even) .clinic-story__media {
    margin-left: 13.54%;
  }
  .clinic-story__philosophy-row:nth-of-type(even) > div {
    padding-left: 28.44%;
    padding-right: 10%;
  }
  .clinic-story__philosophy-row:last-child {
    border-bottom: 1px solid var(--public-line);
  }
  .clinic-story__confidence {
    background: var(--public-surface-subtle);
    padding-bottom: 6.94vw;
  }
  .clinic-story__confidence h2.clinic-editorial__chapter {
    border-bottom: 1px solid var(--public-brand-accent);
    padding-top: 5.83vw;
    padding-bottom: 3.33vw;
    font-weight: var(--font-weight-regular);
  }
  .clinic-story__confidence-row {
    display: grid;
    grid-template-columns: 35.33% minmax(0, 1fr);
    align-items: center;
    gap: 15.43%;
    width: 79%;
    margin-left: 14.48%;
    min-height: 30.73vw;
  }
  .clinic-story__confidence-row h3 {
    font-size: clamp(2.2rem, 1.458vw, 2.8rem);
  }
  .clinic-story__confidence-row > div:last-child {
    padding-block: 3.2rem;
  }
  .clinic-story__confidence-row .clinic-editorial__number {
    margin-bottom: 2.7rem;
  }
  .clinic-story__confidence-art {
    aspect-ratio: 1;
  }
  .clinic-story__confidence-art svg {
    max-width: 100%;
    height: auto;
  }
  .clinic-story__care {
    display: grid;
    grid-template-columns: 36% 64%;
    min-height: 56.25vw;
    background: var(--public-ink);
    color: var(--public-brand-surface);
  }
  .clinic-story__care > div {
    padding: 6rem 4.6% 6rem 20.25%;
    align-self: center;
  }
  .clinic-story__care h2 {
    font-family: var(--font-heading-family);
    font-size: clamp(3rem, 2.5vw, 4.8rem);
    margin-bottom: 4.8rem;
  }
  .clinic-story__care p {
    font-size: var(--body-md-fs);
    line-height: var(--body-md-lh);
  }
  .clinic-story__care > .clinic-story__media {
    min-height: 100%;
  }
  .clinic-story__care > .clinic-story__media > img {
    position: absolute;
    inset: 0;
  }
  @media (min-width: 768px) and (max-width: 1200px) {
    .clinic-story__opening {
      column-gap: 6%;
      grid-template-columns: 58% 36%;
      padding: 18rem 6% 10rem;
    }
    .clinic-story__opening-balance {
      width: 100%;
      margin-left: 0;
    }
    .clinic-story__opening-care {
      width: 88%;
      margin-left: 0;
    }
    .clinic-story__philosophy-row .clinic-story__media {
      width: 76%;
      margin-left: 12%;
    }
    .clinic-story__philosophy-row > div, .clinic-story__philosophy-row:nth-of-type(even) > div {
      padding: 4.8rem 8%;
    }
    .clinic-story__philosophy-row:nth-of-type(even) .clinic-story__media {
      margin-left: 12%;
    }
    .clinic-story__confidence-row {
      width: 88%;
      margin-inline: auto;
      gap: 8%;
      grid-template-columns: 34% minmax(0, 1fr);
    }
    .clinic-story__care {
      grid-template-columns: 42% 58%;
    }
    .clinic-story__care > div {
      padding: 6rem 8%;
    }
  }
  @media (max-width: 1200px) {
    .treatment-catalog__layout {
      grid-template-columns: 20rem minmax(0, 1fr);
      gap: 2.4rem;
    }
    .treatment-catalog__items {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .treatment-catalog__card {
      padding: 2rem;
    }
  }
  @media (max-width: 767px) {
    .treatment-catalog {
      --catalog-table-padding: 1.6rem .8rem;
      --catalog-table-font-size: 1.4rem;
      --catalog-table-heading-size: 1.4rem;
    }
    .treatment-catalog__hero, .treatment-catalog__directory {
      width: calc(100% - 4rem);
    }
    .treatment-catalog__hero {
      padding-top: 13rem;
      padding-bottom: 4rem;
    }
    .treatment-catalog__hero p {
      font-size: 1.6rem;
    }
    .treatment-catalog__directory {
      min-height: 0;
      padding-bottom: 8rem;
    }
    .treatment-catalog__directory > h2 {
      font-size: 2.4rem;
    }
    .treatment-catalog__layout {
      display: block;
    }
    .treatment-catalog__category-scroll {
      position: relative;
      min-width: 0;
      margin: 0;
      overflow: visible;
    }
    .treatment-catalog__category-scroll.swiper-initialized .treatment-catalog__categories {
      overflow: visible;
      gap: 0;
    }
    .treatment-catalog__category-scroll.swiper-initialized .treatment-catalog__category-scrollbar {
      display: block;
    }
    .treatment-catalog__category-scroll.swiper-initialized .treatment-catalog__category-scrollbar.swiper-scrollbar-lock {
      display: none;
    }
    .treatment-catalog__category-scrollbar {
      position: relative;
      width: 100%;
      height: 6px;
      border: 1px solid var(--public-muted);
      border-radius: 3px;
      background: transparent;
      overflow: hidden;
      touch-action: none;
    }
    .treatment-catalog__category-scrollbar-drag {
      position: relative;
      height: 100%;
      max-width: 100%;
      background: var(--public-muted);
      border-radius: 2px;
    }
    .treatment-catalog__categories {
      flex-direction: row;
      overflow-x: auto;
      padding: 1.6rem 0;
      gap: 0.8rem;
    }
    .treatment-catalog__categories button, .treatment-catalog__categories a {
      flex: 0 0 auto;
      width: auto;
      font-size: 1.5rem;
      white-space: nowrap;
    }
    .treatment-catalog__categories::-webkit-scrollbar {
      height: 3px;
      background: transparent;
    }
    .treatment-catalog__categories::-webkit-scrollbar-track {
      background: transparent;
    }
    .treatment-catalog__categories::-webkit-scrollbar-thumb {
      background: color-mix(in srgb, var(--color-text-secondary) 30%, transparent);
      border-radius: 3px;
    }
    .treatment-catalog__categories::-webkit-scrollbar-thumb:hover {
      background: color-mix(in srgb, var(--color-text-secondary) 55%, transparent);
    }
    @supports not selector(::-webkit-scrollbar) {
      .treatment-catalog__categories {
        scrollbar-width: thin;
        scrollbar-color: color-mix(in srgb, var(--color-text-secondary) 30%, transparent) transparent;
      }
    }
    .treatment-catalog__toolbar {
      font-size: 1.5rem;
    }
    .treatment-catalog__toolbar > p {
      flex-shrink: 0;
    }
    .treatment-catalog__actions {
      gap: 0.6rem;
    }
    .treatment-catalog__sort {
      font-size: 1.4rem;
    }
    .treatment-catalog__sort-trigger {
      gap: 0.8rem;
    }
    .treatment-catalog__items {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.2rem;
    }
    .treatment-catalog__card {
      padding: 1.6rem;
      min-height: 27rem;
    }
    .treatment-catalog__card h3 {
      font-size: 1.8rem;
    }
    .treatment-catalog__icon {
      width: 7rem;
      height: 7rem;
    }
    .treatment-catalog__price {
      font-size: 1.6rem;
    }
    .treatment-catalog[data-view=list] .treatment-catalog__toolbar {
      border-bottom: 2px solid var(--public-ink);
    }
    .treatment-catalog[data-view=list] .treatment-catalog__list-heading {
      display: none;
    }
    .treatment-catalog[data-view=list] .treatment-catalog__items {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: var(--public-space-xs);
      padding-top: var(--public-space-xs);
    }
    .treatment-catalog[data-view=list] .treatment-catalog__list-options {
      display: grid;
      gap: var(--public-space-xs);
    }
    .treatment-catalog[data-view=list] .treatment-catalog__list-options > div {
      display: grid;
      gap: var(--public-space-2xs);
      min-width: 0;
      padding: var(--public-space-sm);
      border: 1px solid var(--public-line);
      border-radius: var(--public-radius-sm);
      grid-template-columns: minmax(0, 1fr);
      color: var(--public-muted);
    }
    .treatment-catalog[data-view=list] .treatment-catalog__list-options > div > button {
      padding-right: 0;
      color: var(--public-ink);
      font-weight: var(--list-title-fw);
    }
    .treatment-catalog[data-view=list] .treatment-catalog__list-options > div > :last-child {
      text-align: left;
    }
    .treatment-catalog[data-view=list] .treatment-catalog__list-price-label {
      display: inline;
      margin-right: var(--public-space-2xs);
    }
    .treatment-catalog__dialog {
      padding: 2.4rem;
    }
    .treatment-catalog__dialog h2 {
      font-size: 2.8rem;
    }
    .treatment-catalog__close {
      top: 1rem;
      right: 1rem;
    }
    .clinic-editorial h3 {
      font-size: 2.2rem;
    }
    .clinic-editorial__cover {
      min-height: 85svh;
    }
    .clinic-editorial__cover > div {
      padding: 8rem 2.4rem;
    }
    .clinic-editorial__chapter {
      padding: 6rem 2rem;
    }
    .clinic-story h2.clinic-editorial__chapter {
      padding: 6rem 2.4rem;
      font-size: clamp(3rem, 7.5vw, 4.8rem);
    }
    .clinic-story p br, .clinic-story figcaption br {
      display: initial;
    }
    .clinic-story__copy-desktop {
      display: none;
    }
    .clinic-story__copy-mobile {
      display: inline;
    }
    .clinic-story__copy-line {
      display: block;
      text-wrap: balance;
    }
    .clinic-story__opening {
      display: flex;
      flex-direction: column;
      padding: 13rem 2.4rem 6rem;
      gap: 3.2rem;
    }
    .clinic-story__opening-main {
      width: 100%;
    }
    .clinic-story__opening-copy {
      order: -1;
      align-self: start;
    }
    .clinic-story__opening-balance {
      width: 78%;
      margin: 2rem 0 0 auto;
    }
    .clinic-story__opening-care {
      width: 90%;
      margin: 2rem 0 0;
    }
    .clinic-story__philosophy-row {
      display: flex;
      flex-direction: column;
      padding: 3.2rem 2.4rem;
      gap: 2.4rem;
    }
    .clinic-story__philosophy-row figure, .clinic-story__philosophy-row > div {
      padding: 0;
      border: 0;
    }
    .clinic-story__philosophy-row .clinic-story__media {
      width: 100%;
      margin: 0;
    }
    .clinic-story__philosophy-row:nth-of-type(even) figure {
      order: 0;
      border: 0;
    }
    .clinic-story__philosophy-row:nth-of-type(even) > div {
      padding: 0;
    }
    .clinic-story__philosophy-row:nth-of-type(even) .clinic-story__media {
      margin: 0;
    }
    .clinic-story__confidence-row {
      width: calc(100% - 4.8rem);
      margin-inline: auto;
      grid-template-columns: minmax(0, 1fr);
      gap: 2rem;
      padding-bottom: 5rem;
    }
    .clinic-story__confidence-row > div:last-child {
      padding: 0;
    }
    .clinic-story__confidence-art {
      width: min(100%, 32rem);
      margin: auto;
    }
    .clinic-story__care {
      grid-template-columns: minmax(0, 1fr);
    }
    .clinic-story__care > div {
      padding: 6rem 2.4rem;
    }
    .clinic-story__care > .clinic-story__media {
      min-height: 0;
      aspect-ratio: 1.2;
    }
  }
  @media (prefers-reduced-motion: no-preference) {
    .clinic-space__hero:not(.is-hero-ready) > :is(.clinic-space__media, .clinic-space__hero-copy) {
      visibility: hidden;
      animation: newyoung-motion-content-fallback 1ms linear 1500ms forwards;
    }
    .clinic-space__hero.is-hero-loading > :is(.clinic-space__media, .clinic-space__hero-copy) {
      animation: none;
    }
    .is-page-motion-fallback .clinic-space__hero > :is(.clinic-space__media, .clinic-space__hero-copy) {
      visibility: visible;
      animation: none;
    }
    [data-barba=container].is-page-motion-pending .clinic-reset__hero-content,
    [data-barba=container].is-page-motion-pending [data-anim=type-mask]:not(.is-text-reveal-ready),
    [data-barba=container].is-page-motion-pending :is([data-page-transition-content], .public-footer) :is(h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    li,
    blockquote,
    figcaption,
    dt,
    dd,
    address,
    span,
    strong,
    em,
    small,
    time,
    a):not([data-no-text-reveal],
    [data-no-text-reveal] *,
    .sr-only,
    [aria-hidden=true],
    [aria-hidden=true] *,
    [hidden],
    [hidden] *):not(.is-text-reveal-ready) {
      visibility: hidden;
      animation: newyoung-motion-content-fallback 1ms linear 1500ms forwards;
    }
  }
  .public-site.newyoung-wechat {
    --color-text-primary: var(--public-brand-surface);
    --color-text-secondary: var(--public-brand-accent-soft);
    --color-border-default: color-mix(
        in srgb,
        var(--public-brand-accent-soft) 28%,
        transparent
    );
    min-height: 100svh;
    color: var(--color-text-primary);
    background: var(--public-brand-ink);
  }
  .public-site.newyoung-wechat .newyoung-wechat__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 36rem);
    align-items: center;
    gap: clamp(4rem, 8vw, 14rem);
    width: min(112rem, 100% - var(--public-shell-gutter) * 2);
    min-height: 100svh;
    margin-inline: auto;
    padding-block: calc(var(--public-header-height) + 7.2rem) 8rem;
  }
  .public-site.newyoung-wechat .newyoung-wechat__eyebrow {
    margin: 0 0 3.2rem;
    color: var(--color-text-secondary);
    font-family: var(--public-home-title-family);
    font-size: 1.2rem;
    letter-spacing: 0.24em;
  }
  .public-site.newyoung-wechat .newyoung-wechat__title {
    margin: 0;
    font-size: clamp(3.2rem, 3.6vw, 5.6rem);
    font-weight: var(--font-weight-regular);
    line-height: 1.35;
    letter-spacing: -0.035em;
    word-break: keep-all;
    text-wrap: balance;
  }
  .public-site.newyoung-wechat .newyoung-wechat__description {
    max-width: 36rem;
    margin: 3.2rem 0 0;
    padding-top: 3.2rem;
    border-top: 1px solid var(--color-border-default);
    color: var(--color-text-secondary);
    font-size: 1.6rem;
    line-height: 1.9;
    word-break: keep-all;
  }
  .public-site.newyoung-wechat .newyoung-wechat__back {
    display: inline-flex;
    align-items: center;
    gap: 1.2rem;
    min-height: 4.4rem;
    margin-top: 4rem;
    color: var(--color-text-secondary);
    font-size: 1.3rem;
    text-decoration: none;
  }
  .public-site.newyoung-wechat .newyoung-wechat__back:hover {
    color: var(--color-text-primary);
    text-decoration: underline;
    text-underline-offset: 0.5rem;
  }
  .public-site.newyoung-wechat .newyoung-wechat__contact {
    min-width: 0;
  }
  .public-site.newyoung-wechat .newyoung-wechat__qr {
    margin: 0;
  }
  .public-site.newyoung-wechat .newyoung-wechat__qr figcaption {
    margin-top: 2.4rem;
    color: var(--color-text-secondary);
    font-size: 1.3rem;
    line-height: 1.8;
    word-break: keep-all;
  }
  .public-site.newyoung-wechat .newyoung-wechat__image {
    padding: 1.2rem;
    border: 1px solid var(--color-border-default);
  }
  .public-site.newyoung-wechat .newyoung-wechat__image img {
    display: block;
    width: 100%;
    height: auto;
  }
  .public-site.newyoung-wechat .newyoung-wechat__download {
    position: relative;
    isolation: isolate;
    border: 0;
    background: transparent;
    border-radius: var(--public-action-radius);
    text-decoration: none;
  }
  .public-site.newyoung-wechat .newyoung-wechat__download::before, .public-site.newyoung-wechat .newyoung-wechat__download::after {
    position: absolute;
    inset-block: 0;
    box-sizing: border-box;
    width: var(--public-action-end-width);
    border: 1px solid currentColor;
    content: "";
    pointer-events: none;
    transition: width var(--public-action-duration) var(--public-ease);
  }
  .public-site.newyoung-wechat .newyoung-wechat__download::before {
    inset-inline-start: 0;
    border-inline-end: 0;
    border-radius: var(--public-action-radius) 0 0 var(--public-action-radius);
  }
  .public-site.newyoung-wechat .newyoung-wechat__download::after {
    inset-inline-end: 0;
    border-inline-start: 0;
    border-radius: 0 var(--public-action-radius) var(--public-action-radius) 0;
  }
  .public-site.newyoung-wechat .newyoung-wechat__download:hover::before, .public-site.newyoung-wechat .newyoung-wechat__download:hover::after, .public-site.newyoung-wechat .newyoung-wechat__download:focus-visible::before, .public-site.newyoung-wechat .newyoung-wechat__download:focus-visible::after, .public-site.newyoung-wechat .newyoung-wechat__download.is-frame-completing::before, .public-site.newyoung-wechat .newyoung-wechat__download.is-frame-completing::after, .public-site.newyoung-wechat .newyoung-wechat__download[aria-expanded=true]::before, .public-site.newyoung-wechat .newyoung-wechat__download[aria-expanded=true]::after {
    width: calc(50% + 1px);
  }
  @media (max-width: 1023px), (hover: none), (pointer: coarse) {
    .public-site.newyoung-wechat .newyoung-wechat__download::before, .public-site.newyoung-wechat .newyoung-wechat__download::after {
      width: calc(50% + 1px);
    }
  }
  .public-site.newyoung-wechat .newyoung-wechat__download:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
  }
  @media (prefers-reduced-motion: reduce) {
    .public-site.newyoung-wechat .newyoung-wechat__download::before, .public-site.newyoung-wechat .newyoung-wechat__download::after {
      transition: none;
    }
  }
  .public-site.newyoung-wechat .newyoung-wechat__download {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
    min-height: var(--public-control-lg);
    margin-top: 2.4rem;
    padding: 1.6rem 2.6rem;
    color: var(--public-brand-ink);
    font-size: var(--public-button-font-size);
    font-weight: var(--font-weight-medium);
  }
  @media (max-width: 767px) {
    .public-site.newyoung-wechat .newyoung-wechat__inner {
      grid-template-columns: minmax(0, 1fr);
      gap: 4rem;
      max-width: 44rem;
      padding-block: calc(var(--public-header-height) + 4.8rem) 6.4rem;
    }
    .public-site.newyoung-wechat .newyoung-wechat__eyebrow {
      margin-bottom: 2rem;
    }
    .public-site.newyoung-wechat .newyoung-wechat__description {
      max-width: none;
      margin-top: 2.4rem;
      padding-top: 2.4rem;
    }
    .public-site.newyoung-wechat .newyoung-wechat__back {
      margin-top: 1.6rem;
    }
  }
  .newyoung-appointment {
    --public-sticky-section-nav-height: calc(
        var(--public-filter-tab-mobile-height) + (var(--public-space-xs) * 2)
    );
    color: var(--public-ink);
    background: var(--public-brand-surface);
  }
  .newyoung-appointment br {
    display: initial;
  }
  .newyoung-appointment__intro {
    padding: calc(var(--public-header-height) + var(--public-space-2xl)) max(4rem, var(--public-shell-gutter)) var(--public-space-2xl);
  }
  .newyoung-appointment__intro-inner {
    display: block;
  }
  .newyoung-appointment__title, .newyoung-appointment__section-heading h2 {
    margin: 0;
    font-family: var(--public-home-title-family);
    font-weight: var(--font-weight-regular);
    letter-spacing: 0.03em;
  }
  .newyoung-appointment__title {
    flex: 0 0 auto;
    font-size: clamp(3.2rem, 2.5vw, 4rem);
    line-height: 1.1;
  }
  .newyoung-appointment__content {
    width: min(104rem, 100% - var(--public-shell-gutter) * 2);
    margin-inline: auto;
    padding-block: var(--section-sm) var(--section-md);
  }
  .newyoung-appointment__section {
    border-top: 1px solid var(--public-line-strong);
    scroll-margin-top: calc(var(--public-header-height) + var(--public-sticky-section-nav-height) + var(--public-space-xl));
  }
  .newyoung-appointment__section:first-of-type {
    border-top: none;
  }
  .newyoung-appointment__section.no-section-md {
    padding-top: var(--public-space-2xl);
  }
  .newyoung-appointment__section-heading {
    display: grid;
    gap: var(--public-space-md);
    margin-bottom: var(--public-space-2xl);
  }
  .newyoung-appointment__section-heading h2 {
    font-size: 2rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.35;
  }
  .newyoung-appointment__section-heading p {
    max-width: 100%;
    color: var(--public-muted);
    font-size: var(--body-md-fs);
    line-height: 1.7;
    text-wrap: pretty;
  }
  .newyoung-appointment__section-heading--location p {
    max-width: 62rem;
    color: var(--public-ink);
  }
  .newyoung-appointment__subsection, .newyoung-appointment__detail {
    display: grid;
    gap: var(--public-space-md);
  }
  .newyoung-appointment__subsection h3, .newyoung-appointment__detail h3 {
    margin: 0;
    font-size: var(--body-md-fs);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }
  .newyoung-appointment__channel-list {
    border-top: 1px solid var(--public-line);
  }
  .newyoung-appointment__channel-row {
    display: grid;
    grid-template-columns: minmax(18rem, 0.34fr) minmax(0, 1fr);
    min-height: 7.2rem;
    align-items: center;
    border-bottom: 1px solid var(--public-line);
    color: inherit;
  }
  .newyoung-appointment__channel-row:last-of-type {
    border-bottom: none;
  }
  .newyoung-appointment__channel-row strong {
    min-width: 0;
    padding: var(--public-space-md) var(--public-space-xl);
    align-self: stretch;
    display: flex;
    align-items: center;
    gap: var(--public-space-xs);
  }
  .newyoung-appointment__channel-icon {
    flex: none;
    width: 1.8rem;
    font-size: 1.6rem;
    text-align: center;
    height: 1.8rem;
    object-fit: contain;
  }
  .newyoung-appointment__channel-icon--naver {
    width: 2.4rem;
    height: 2.4rem;
    margin-inline: -0.3rem;
  }
  .newyoung-appointment__channel-row small {
    display: block;
    margin-top: 0.4rem;
    color: var(--public-muted);
    font-size: 1.2rem;
    font-weight: var(--font-weight-regular);
  }
  .newyoung-appointment__messenger-links a {
    display: inline-block;
    margin-right: 0.8rem;
    padding-block: 0.4rem;
    text-decoration: underline;
    text-underline-offset: 0.3rem;
  }
  .newyoung-appointment__messenger-links a:focus-visible {
    outline: 2px solid var(--public-ink);
    outline-offset: 3px;
  }
  .newyoung-appointment__channel-pending {
    color: var(--public-muted);
    font-size: var(--body-sm-fs);
  }
  .newyoung-appointment__social-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 var(--public-space-2xl);
  }
  .newyoung-appointment__social-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: var(--public-control-sm);
    padding-inline-start: calc(var(--public-link-line-hover-width) + var(--public-link-line-gap));
    border: 0;
    border-radius: 0;
    background: transparent;
    text-decoration: none;
  }
  .newyoung-appointment__social-link::before {
    position: absolute;
    inset-inline-start: 0;
    top: 50%;
    width: var(--public-link-line-width);
    height: 1px;
    border: 0;
    border-radius: 0;
    background: currentColor;
    content: "";
    pointer-events: none;
    transition: width var(--public-action-duration) var(--public-ease);
  }
  .newyoung-appointment__social-link::after {
    content: none;
  }
  .newyoung-appointment__social-link:hover::before, .newyoung-appointment__social-link:focus-visible::before {
    width: var(--public-link-line-hover-width);
  }
  .newyoung-appointment__social-link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
  }
  @media (prefers-reduced-motion: reduce) {
    .newyoung-appointment__social-link::before {
      transition: none;
    }
  }
  .newyoung-appointment__social-link {
    gap: var(--public-space-md);
    min-height: 7.2rem;
    padding-block: var(--public-space-md);
    color: var(--public-ink);
    line-height: 1.5;
  }
  .newyoung-appointment__channel-link {
    justify-self: end;
    margin: var(--public-space-md) var(--public-space-xl);
    color: var(--public-ink);
    transition: color var(--public-duration) var(--public-ease);
  }
  .newyoung-appointment__channel-link:lang(ja), .newyoung-appointment__channel-link:lang(zh) {
    min-width: 0;
    word-break: normal;
    overflow-wrap: anywhere;
  }
  .newyoung-appointment__channel-link:hover, .newyoung-appointment__channel-link:focus-visible {
    color: var(--public-muted);
  }
  .newyoung-appointment__map-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--public-space-lg);
  }
  .newyoung-appointment__map-actions a {
    color: var(--public-ink);
    text-underline-offset: 0.4rem;
  }
  .newyoung-appointment__map-actions a:hover, .newyoung-appointment__map-actions a:focus-visible {
    color: var(--public-muted);
  }
  @media (hover: none) and (pointer: coarse) {
    .newyoung-appointment__channel-link[href]::before, .newyoung-appointment__social-link::before, .newyoung-appointment__map-actions a::before {
      width: 0.8rem;
      transition-duration: 280ms;
    }
    .newyoung-appointment__channel-link[href]:hover::before, .newyoung-appointment__social-link:hover::before, .newyoung-appointment__map-actions a:hover::before {
      width: 0.8rem;
    }
    .newyoung-appointment__channel-link[href].is-opening::before, .newyoung-appointment__social-link.is-opening::before, .newyoung-appointment__map-actions a.is-opening::before {
      width: var(--public-link-line-hover-width);
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .newyoung-appointment__channel-link[href]::before, .newyoung-appointment__social-link::before, .newyoung-appointment__map-actions a::before {
      transition: none;
    }
  }
  .newyoung-appointment__map {
    width: 100%;
    margin: 0;
    border: 1px solid var(--public-line);
    border-radius: 0.8rem;
    overflow: hidden;
  }
  .newyoung-appointment__map img {
    display: block;
    width: 100%;
    height: auto;
  }
  .newyoung-appointment__detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--public-space-2xl);
    margin-top: var(--section-sm);
  }
  .newyoung-appointment__detail {
    align-content: start;
    padding-top: var(--public-space-xl);
    border-top: 1px solid var(--public-line);
    scroll-margin-top: calc(var(--public-header-height) + var(--public-sticky-section-nav-height) + var(--public-space-xl));
  }
  .newyoung-appointment__hours {
    display: grid;
    gap: var(--public-space-xs);
  }
  .newyoung-appointment__hours > div {
    display: grid;
    grid-template-columns: minmax(10rem, 0.42fr) minmax(0, 1fr);
    gap: var(--public-space-md);
  }
  .newyoung-appointment__hours dd, .newyoung-appointment__parking-copy {
    color: var(--public-muted);
  }
  .newyoung-appointment__parking-copy {
    display: grid;
    gap: var(--public-space-lg);
    line-height: 1.7;
  }
  .newyoung-appointment__parking-copy p {
    text-wrap: pretty;
  }
  .newyoung-appointment__parking-copy strong {
    color: var(--public-ink);
    font-weight: var(--font-weight-medium);
  }
  .newyoung-appointment__parking-sign {
    display: inline-block;
    white-space: nowrap;
  }
  .newyoung-appointment__parking-logo {
    display: inline-flex;
    vertical-align: middle;
    margin-inline: 0.5rem;
  }
  .newyoung-appointment__parking-logo .public-logo {
    width: 4.8rem;
    min-width: 0;
    height: auto;
  }
  .newyoung-appointment__parking-logo .public-logo__asset,
  .newyoung-appointment__parking-logo .public-logo__image {
    width: 100%;
    height: auto;
  }
  .newyoung-appointment__contact-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--public-space-2xl) var(--public-space-xl);
  }
  .newyoung-appointment__contact-list > div {
    display: grid;
    align-content: start;
    gap: var(--public-space-sm);
  }
  .newyoung-appointment__contact-list dt {
    font-size: var(--body-xs-fs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.04em;
  }
  .newyoung-appointment__contact-list dd, .newyoung-appointment__contact-list a {
    color: var(--public-muted);
    line-height: 1.6;
    overflow-wrap: anywhere;
  }
  .newyoung-appointment__contact-list a:hover, .newyoung-appointment__contact-list a:focus-visible {
    color: var(--public-ink);
  }
  @media (max-width: 1023px) {
    .newyoung-appointment__contact-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px) {
    .newyoung-appointment__intro {
      padding: calc(var(--public-header-height) + var(--public-space-2xl) + 1.2rem) var(--public-shell-gutter) var(--public-space-xl);
    }
    .newyoung-appointment__title {
      font-size: 2.8rem;
    }
    .newyoung-appointment__content {
      width: calc(100% - var(--public-shell-gutter) * 2);
      padding-block: var(--public-space-3xl);
    }
    .newyoung-appointment__section.no-section-md {
      padding-bottom: var(--section-sm);
    }
    .newyoung-appointment__section-heading {
      gap: var(--public-space-sm);
      margin-bottom: var(--public-space-xl);
    }
    .newyoung-appointment__section-heading h2 {
      font-size: 2rem;
    }
    .newyoung-appointment__channel-row {
      grid-template-columns: minmax(0, 1fr) max-content;
      min-height: 8.8rem;
    }
    .newyoung-appointment__channel-row strong {
      padding: var(--public-space-md) var(--public-space-sm);
      white-space: normal;
    }
    .newyoung-appointment__channel-link {
      margin: var(--public-space-md) var(--public-space-sm);
      max-width: 14rem;
      white-space: normal;
      text-align: right;
    }
    .newyoung-appointment__social-list {
      grid-template-columns: minmax(0, 1fr);
    }
    .newyoung-appointment__detail-grid {
      grid-template-columns: minmax(0, 1fr);
      margin-top: var(--public-space-3xl);
    }
    .newyoung-appointment__contact-list {
      grid-template-columns: minmax(0, 1fr);
    }
    .newyoung-appointment__contact-list > div {
      grid-template-columns: minmax(9rem, 0.34fr) minmax(0, 1fr);
      align-items: baseline;
      gap: var(--public-space-md);
    }
  }
  [data-barba=container].is-page-motion-pending [data-newyoung-intro] {
    animation: newyoung-motion-intro-fallback 1ms linear 1500ms forwards;
  }
  @media (max-width: 767px) {
    main.newyoung-page {
      --display-md-fs: clamp(3.2rem, 9.2vw, 3.6rem);
      --display-lg-fs: clamp(3.2rem, 9.2vw, 3.6rem);
      --display-xl-fs: clamp(3.2rem, 9.2vw, 3.6rem);
      --heading-lg-fs: clamp(2.8rem, 8.2vw, 3.2rem);
      --heading-xl-fs: clamp(3.2rem, 9.2vw, 3.6rem);
      --subhero-title-fs: clamp(3.2rem, 9.2vw, 3.6rem);
      --section-title-fs: clamp(2.8rem, 8.2vw, 3.2rem);
      --middle-title-lg-fs: clamp(2.8rem, 8.2vw, 3.2rem);
    }
  }
  @keyframes newyoung-motion-content-fallback {
    to {
      visibility: visible;
      opacity: 1;
      transform: none;
    }
  }
  @keyframes newyoung-motion-intro-fallback {
    to {
      visibility: hidden;
      opacity: 0;
      pointer-events: none;
    }
  }
  .ny-reveal-copy {
    opacity: 0;
  }
  .ny-reveal-copy.is-text-reveal-complete {
    opacity: 1;
  }
  @media (prefers-reduced-motion: reduce) {
    .ny-reveal-copy,
    [data-anim=type-mask] {
      opacity: 1;
      visibility: visible;
      filter: none;
    }
  }
  .newyoung-site {
    color: var(--public-ink);
    background: var(--public-white);
  }
  .newyoung-site__hero, .newyoung-site__page-hero {
    display: grid;
    align-items: end;
    min-height: clamp(46rem, 60vw, 76rem);
    padding-top: var(--public-header-height);
    background: linear-gradient(135deg, var(--public-surface-subtle), var(--public-white) 58%, var(--public-blue-soft));
  }
  .newyoung-site__hero-inner, .newyoung-site__page-hero .newyoung-site__inner {
    width: 100%;
    padding-bottom: var(--section-lg);
  }
  .newyoung-site__eyebrow {
    color: var(--public-blue);
  }
  .newyoung-site__hero-title, .newyoung-site__page-title {
    margin-top: var(--public-space-sm);
    max-width: 14ch;
  }
  .newyoung-site__hero-lead, .newyoung-site__page-lead {
    display: block;
    margin-top: var(--public-space-md);
    max-width: 46rem;
  }
  .newyoung-site__hero-description, .newyoung-site__section-copy {
    margin-top: var(--public-space-md);
    max-width: 64rem;
    color: var(--public-muted);
  }
  .newyoung-site__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--public-space-xs);
    margin-top: var(--public-space-xl);
  }
  .newyoung-site__inner {
    width: 100%;
  }
  .newyoung-site__section-heading {
    display: grid;
    gap: var(--public-space-xs);
    margin-bottom: var(--public-space-2xl);
  }
  .newyoung-site__section--contrast {
    color: var(--public-white);
    background: var(--public-navy-deep);
  }
  .newyoung-site__section--contrast .newyoung-site__section-copy {
    color: var(--public-line);
  }
  .newyoung-site__section--contrast .public-button {
    margin-top: var(--public-space-xl);
  }
  .newyoung-site__section--cta {
    background: var(--public-surface);
  }
  .newyoung-site__link-grid, .newyoung-site__treatment-grid, .newyoung-site__channel-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--public-space-sm);
  }
  .newyoung-site__link-card, .newyoung-site__treatment-item, .newyoung-site__channel {
    display: grid;
    align-content: space-between;
    min-height: 20rem;
    padding: var(--public-space-xl);
    border: 1px solid var(--public-line);
    color: inherit;
    background: var(--public-white);
    text-decoration: none;
    transition: border-color var(--public-duration) var(--public-ease), background var(--public-duration) var(--public-ease);
  }
  .newyoung-site__link-card:hover, .newyoung-site__link-card:focus-visible, .newyoung-site__treatment-item:hover, .newyoung-site__treatment-item:focus-visible, .newyoung-site__channel:hover, .newyoung-site__channel:focus-visible {
    border-color: var(--public-line-strong);
    background: var(--public-surface-subtle);
    outline: none;
  }
  .newyoung-site__link-index, .newyoung-site__link-action {
    color: var(--public-muted);
  }
  .newyoung-site__link-title, .newyoung-site__treatment-label {
    margin-top: var(--public-space-2xl);
    max-width: 18ch;
  }
  .newyoung-site__link-action {
    margin-top: var(--public-space-xl);
  }
  .newyoung-site__editorial {
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    gap: var(--public-space-3xl);
  }
  .newyoung-site__prose {
    display: grid;
    gap: var(--public-space-md);
    color: var(--public-muted);
  }
  .newyoung-site__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--public-space-xl);
  }
  .newyoung-site__treatment-icon {
    width: 8rem;
  }
  .newyoung-site__pricing, .newyoung-site__book {
    display: grid;
    gap: var(--section-sm);
  }
  .newyoung-site__pricing-category, .newyoung-site__book-section {
    scroll-margin-top: calc(var(--public-header-height) + var(--public-space-xl));
    padding-top: var(--public-space-2xl);
    border-top: 1px solid var(--public-line-strong);
  }
  .newyoung-site__pricing-group {
    display: grid;
    grid-template-columns: minmax(14rem, 0.55fr) minmax(0, 1.45fr);
    gap: var(--public-space-2xl);
    padding-block: var(--public-space-xl);
    border-bottom: 1px solid var(--public-line);
  }
  .newyoung-site__price-list, .newyoung-site__hours, .newyoung-site__contact-list {
    display: grid;
  }
  .newyoung-site__price-row, .newyoung-site__hours > div, .newyoung-site__contact-list > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--public-space-lg);
    padding-block: var(--public-space-sm);
    border-bottom: 1px solid var(--public-line);
  }
  .newyoung-site__price-row dd, .newyoung-site__hours dd, .newyoung-site__contact-list dd {
    margin: 0;
    text-align: right;
  }
  .newyoung-site__channel-grid {
    margin-top: var(--public-space-xl);
  }
  .newyoung-site__channel {
    min-height: 13rem;
  }
  .newyoung-site__channel--disabled {
    color: var(--public-muted);
    background: var(--public-surface);
    cursor: not-allowed;
  }
  .newyoung-site__hours, .newyoung-site__contact-list {
    margin-top: var(--public-space-xl);
  }
  @media (max-width: 1023px) {
    .newyoung-site__link-grid, .newyoung-site__treatment-grid, .newyoung-site__channel-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px) {
    .newyoung-site__hero, .newyoung-site__page-hero {
      min-height: 52rem;
    }
    .newyoung-site__link-grid, .newyoung-site__treatment-grid, .newyoung-site__channel-grid, .newyoung-site__editorial, .newyoung-site__pricing-group {
      grid-template-columns: minmax(0, 1fr);
    }
    .newyoung-site__link-card, .newyoung-site__treatment-item {
      min-height: 16rem;
    }
    .newyoung-site__cta {
      align-items: flex-start;
      flex-direction: column;
    }
    .newyoung-site__price-row, .newyoung-site__hours > div, .newyoung-site__contact-list > div {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--public-space-2xs);
    }
    .newyoung-site__price-row dd, .newyoung-site__hours dd, .newyoung-site__contact-list dd {
      text-align: left;
    }
  }
  .newyoung-content-page {
    overflow: clip;
    color: var(--public-ink);
    background: var(--public-brand-surface);
  }
  .newyoung-content-hero {
    position: relative;
    isolation: isolate;
    display: grid;
    min-height: clamp(58rem, 68vw, 84rem);
    align-items: end;
    overflow: hidden;
    border-bottom: 1px solid var(--public-line-strong);
    background: radial-gradient(circle at 78% 24%, color-mix(in srgb, var(--public-brand-accent-soft) 58%, transparent), transparent 34%), linear-gradient(135deg, var(--public-brand-surface-strong), var(--public-brand-surface) 56%, var(--public-white));
  }
  .newyoung-content-hero.no-section-md {
    padding-top: calc(var(--public-header-height) + var(--section-sm));
  }
  .newyoung-content-hero::after {
    position: absolute;
    z-index: -1;
    right: var(--public-shell-gutter);
    bottom: var(--section-sm);
    width: min(30vw, 38rem);
    height: 1px;
    background: var(--public-line-strong);
    content: "";
  }
  .newyoung-content-hero__inner {
    display: grid;
    width: 100%;
    gap: var(--public-space-lg);
  }
  .newyoung-content-hero__breadcrumb {
    color: var(--public-muted);
  }
  .newyoung-content-hero__title {
    max-width: 15ch;
    text-wrap: balance;
  }
  .newyoung-content-hero__lead {
    max-width: 68rem;
    color: var(--public-muted);
    text-wrap: balance;
    white-space: normal;
  }
  .newyoung-content-sections {
    background: var(--public-brand-surface);
  }
  .newyoung-content-page--doctor {
    background: var(--public-brand-surface);
  }
  .newyoung-doctor-visual-hero + .newyoung-doctor-hero.no-section-md {
    padding-top: clamp(12.8rem, 8.284789644vw + 9.6932038835rem, 25.6rem);
  }
  .newyoung-doctor-hero {
    position: relative;
    isolation: isolate;
    background: var(--public-brand-surface);
  }
  .newyoung-doctor-hero.no-section-md {
    padding-block: calc(var(--public-header-height) + clamp(12.8rem, 8.284789644vw + 9.6932038835rem, 25.6rem)) clamp(12.8rem, 8.284789644vw + 9.6932038835rem, 25.6rem);
  }
  .newyoung-doctor-hero__inner {
    display: grid;
    grid-template-columns: minmax(24rem, 34rem) minmax(0, 1fr);
    align-items: start;
    gap: clamp(9.6rem, 6.213592233vw + 7.2699029126rem, 19.2rem);
  }
  .newyoung-doctor-hero__content {
    display: grid;
    gap: var(--public-space-2xl);
  }
  .newyoung-doctor-hero__copy {
    display: grid;
    max-width: 72rem;
    gap: var(--public-space-lg);
  }
  .newyoung-doctor-hero__title {
    margin: 0;
    color: var(--public-ink);
    text-wrap: balance;
  }
  .newyoung-doctor-hero__portrait {
    position: sticky;
    top: calc(var(--public-header-height) + var(--public-space-lg));
    justify-self: start;
    width: min(100%, 34rem);
    aspect-ratio: 1470/2226;
    margin: 0;
    overflow: hidden;
    background: var(--public-brand-surface-strong);
  }
  .newyoung-doctor-hero__portrait-mask {
    position: absolute;
    z-index: 1;
    inset: 0;
    transform: translateX(101%);
    background: var(--public-brand-ink);
    pointer-events: none;
  }
  .newyoung-doctor-hero__portrait img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .newyoung-doctor-sections {
    display: grid;
    gap: var(--public-space-2xl);
  }
  .newyoung-doctor-section {
    position: relative;
    isolation: isolate;
    display: grid;
    gap: var(--public-space-md);
  }
  .newyoung-doctor-section__signature-layer {
    width: 14.7rem;
    justify-self: start;
    margin-top: var(--public-space-xs);
    pointer-events: none;
  }
  .newyoung-doctor-section__signature-art {
    width: 100%;
  }
  .newyoung-doctor-section__signature-svg {
    display: block;
    width: 100%;
    height: auto;
  }
  .newyoung-doctor-section__title {
    max-width: 20ch;
    margin: 0;
    text-wrap: balance;
  }
  .newyoung-doctor-section__body {
    display: grid;
    max-width: 72rem;
    gap: var(--public-space-2xl);
  }
  .newyoung-doctor-section__paragraph {
    max-width: 72rem;
    margin: 0;
    color: var(--public-muted);
    text-wrap: pretty;
  }
  .newyoung-doctor-section__paragraph br {
    display: block;
  }
  .newyoung-doctor-section__body > .newyoung-doctor-section__paragraph:first-child {
    color: var(--public-ink);
  }
  .newyoung-doctor-section__list {
    display: grid;
    gap: var(--public-space-xs);
    margin: 0;
    color: var(--public-ink);
  }
  .newyoung-doctor-section__list li {
    padding: 0;
  }
  @media (max-width: 1024px) {
    .newyoung-doctor-hero__inner {
      grid-template-columns: minmax(22rem, 28rem) minmax(0, 1fr);
      gap: var(--public-space-2xl);
    }
  }
  @media (max-width: 767px) {
    .newyoung-doctor-hero__inner {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--public-space-xl);
    }
    .newyoung-doctor-hero__copy {
      gap: var(--public-space-lg);
    }
    .newyoung-doctor-hero__portrait {
      position: relative;
      top: auto;
      justify-self: start;
      width: min(82%, 30rem);
    }
    .newyoung-doctor-section {
      gap: var(--public-space-md);
    }
    .newyoung-doctor-section__signature-layer {
      width: 12rem;
    }
    .newyoung-doctor-section__body {
      gap: var(--public-space-sm);
    }
    .newyoung-doctor-section__list {
      gap: 0.8rem;
    }
    .newyoung-doctor-section__list li {
      padding: 0;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .newyoung-doctor-hero__portrait, .newyoung-doctor-hero__portrait img {
      opacity: 1;
      clip-path: none;
      transform: none;
    }
    .newyoung-doctor-hero__portrait-mask {
      display: none;
    }
  }
  .newyoung-space-hero {
    position: relative;
    isolation: isolate;
    display: grid;
    min-height: max(72rem, 100svh);
    overflow: hidden;
    color: var(--public-white);
    background: var(--public-brand-ink);
  }
  .newyoung-space-hero.no-section-sm {
    padding-top: calc(var(--public-header-height) + var(--public-space-xl));
  }
  .newyoung-space-hero__media, .newyoung-space-hero__shade, .newyoung-space-hero__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
  .newyoung-space-hero__media {
    z-index: -2;
    margin: 0;
    overflow: hidden;
  }
  .newyoung-space-hero__media img {
    object-fit: cover;
    object-position: center 52%;
    filter: saturate(0.76) contrast(0.98) brightness(0.88) sepia(0.08);
    transform: scale(1.015);
  }
  .newyoung-space-hero__shade {
    z-index: -1;
    background: linear-gradient(180deg, rgba(22, 14, 10, 0.62) 0%, transparent 31%), linear-gradient(90deg, rgba(18, 12, 9, 0.12) 24%, rgba(19, 12, 8, 0.76) 100%), linear-gradient(0deg, rgba(19, 12, 8, 0.46) 0%, transparent 42%);
  }
  .newyoung-space-hero__inner {
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    width: 100%;
  }
  .newyoung-space-hero__copy {
    padding-top: clamp(4.8rem, 3.1067961165vw + 3.6349514563rem, 9.6rem);
    align-self: center;
    display: grid;
    width: min(92rem, 64%);
    gap: var(--public-space-md);
    padding-right: var(--public-space-lg);
  }
  .newyoung-space-hero__title {
    max-width: none;
    margin: 0;
    color: inherit;
    font-family: var(--public-home-title-family);
    font-weight: var(--font-weight-regular);
    line-height: 1.08;
    letter-spacing: -0.045em;
    text-wrap: balance;
    white-space: nowrap;
  }
  .newyoung-space-hero__lead {
    max-width: 50rem;
    margin: 0;
    color: color-mix(in srgb, var(--public-white) 84%, transparent);
    line-height: 1.75;
  }
  .newyoung-space-feature {
    border-bottom: 1px solid var(--public-line-strong);
    background: var(--public-brand-surface);
  }
  .newyoung-space-feature__inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: center;
    gap: var(--public-space-xl);
  }
  .newyoung-space-feature__copy {
    display: grid;
    align-content: center;
    gap: var(--public-space-xl);
  }
  .newyoung-space-feature__title {
    max-width: 13ch;
    margin: 0;
    color: var(--public-brand-ink);
    text-wrap: balance;
  }
  .newyoung-space-feature__description, .newyoung-space-feature__body {
    max-width: 52rem;
    color: var(--public-muted);
  }
  .newyoung-space-feature__body {
    display: grid;
    gap: var(--public-space-md);
  }
  .newyoung-space-feature__description, .newyoung-space-feature__body p {
    margin: 0;
    text-wrap: pretty;
  }
  .newyoung-space-feature__media {
    position: relative;
    margin: 0;
    overflow: hidden;
    background: var(--public-brand-surface-strong);
  }
  .newyoung-space-feature__media::after {
    position: absolute;
    inset: 0;
    background: rgba(67, 44, 31, 0.08);
    content: "";
    mix-blend-mode: multiply;
    pointer-events: none;
  }
  .newyoung-space-feature__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.76) contrast(0.97) brightness(0.94) sepia(0.08);
    will-change: transform;
  }
  .newyoung-space-feature__media--landscape {
    aspect-ratio: 3/2;
  }
  .newyoung-space-feature__media--portrait {
    aspect-ratio: 2/3;
  }
  .newyoung-space-feature--overview .newyoung-space-feature__copy {
    grid-column: 1/-1;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: start;
  }
  .newyoung-space-feature--overview .newyoung-space-feature__title {
    grid-column: 1/span 6;
    max-width: none;
  }
  .newyoung-space-feature--overview .newyoung-space-feature__description {
    grid-column: 8/-1;
  }
  .newyoung-space-feature--overview .newyoung-space-feature__media {
    grid-column: 1/-1;
    margin-top: var(--public-space-xl);
  }
  .newyoung-space-feature--consultation .newyoung-space-feature__media {
    grid-column: 1/span 8;
  }
  .newyoung-space-feature--consultation .newyoung-space-feature__copy {
    grid-column: 9/-1;
    padding-left: var(--public-space-xl);
  }
  .newyoung-space-feature--brand {
    color: var(--public-white);
    background: var(--public-brand-ink);
  }
  .newyoung-space-feature--brand .newyoung-space-feature__inner {
    min-height: min(92rem, 100svh);
  }
  .newyoung-space-feature--brand .newyoung-space-feature__media {
    grid-column: 2/span 4;
    max-height: 72rem;
  }
  .newyoung-space-feature--brand .newyoung-space-feature__copy {
    grid-column: 7/span 5;
  }
  .newyoung-space-feature--brand .newyoung-space-feature__body {
    color: color-mix(in srgb, var(--public-white) 68%, transparent);
  }
  .newyoung-space-feature--brand .newyoung-space-feature__title {
    color: var(--public-white);
  }
  .newyoung-space-gallery {
    overflow: hidden;
    border-bottom: 1px solid var(--public-line-strong);
    color: var(--public-white);
    background: var(--public-brand-ink);
  }
  .newyoung-space-gallery__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--public-space-xl);
  }
  .newyoung-space-gallery__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: var(--public-space-xl);
  }
  .newyoung-space-gallery__heading {
    display: grid;
    max-width: 80rem;
    gap: var(--public-space-xs);
  }
  .newyoung-space-gallery__title {
    margin: 0;
    color: var(--public-white);
  }
  .newyoung-space-gallery__controls {
    display: flex;
    flex: none;
    align-items: center;
    gap: var(--public-space-md);
  }
  .newyoung-space-gallery__button {
    display: grid;
    width: 4.8rem;
    height: 4.8rem;
    padding: 0;
    border: 1px solid color-mix(in srgb, currentColor 45%, transparent);
    border-radius: 50%;
    color: var(--public-white);
    background: transparent;
    cursor: pointer;
    transition: opacity var(--public-duration) var(--public-ease);
    place-items: center;
  }
  .newyoung-space-gallery__button:hover, .newyoung-space-gallery__button:focus-visible {
    opacity: 0.58;
  }
  .newyoung-space-gallery__button:focus-visible {
    outline: 1px solid currentColor;
    outline-offset: -0.4rem;
  }
  .newyoung-space-gallery__button.swiper-button-disabled {
    cursor: default;
    opacity: 0.3;
  }
  .newyoung-space-gallery__pagination {
    position: static;
    width: auto;
    min-width: 6.6rem;
    color: color-mix(in srgb, var(--public-white) 62%, transparent);
    font-variant-numeric: tabular-nums;
    text-align: center;
  }
  .newyoung-space-gallery__stage {
    width: 100%;
    height: clamp(64rem, 78svh, 82rem);
    overflow: hidden;
    background: color-mix(in srgb, var(--public-brand-ink) 88%, var(--public-white));
  }
  .newyoung-space-gallery__slide {
    display: grid;
    grid-template-columns: minmax(24rem, 0.46fr) minmax(0, 1.54fr);
    margin: 0;
    background: color-mix(in srgb, var(--public-brand-ink) 92%, var(--public-white));
  }
  .newyoung-space-gallery__media {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: color-mix(in srgb, var(--public-brand-ink) 84%, var(--public-white));
  }
  .newyoung-space-gallery__media::after {
    position: absolute;
    inset: 0;
    background: rgba(67, 44, 31, 0.08);
    content: "";
    mix-blend-mode: multiply;
    pointer-events: none;
  }
  .newyoung-space-gallery__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.74) contrast(0.97) brightness(0.93) sepia(0.09);
  }
  .newyoung-space-gallery__caption {
    display: grid;
    align-content: end;
    margin: 0;
    padding: var(--public-space-2xl);
    gap: var(--public-space-sm);
    color: var(--public-white);
  }
  .newyoung-space-gallery__number {
    align-self: start;
    margin-bottom: auto;
    color: color-mix(in srgb, var(--public-white) 42%, transparent);
    font-family: var(--public-home-title-family);
    font-weight: var(--font-weight-regular);
  }
  .newyoung-space-gallery__label {
    color: inherit;
    font-family: var(--public-home-title-family);
    font-weight: var(--font-weight-regular);
    line-height: 1;
    letter-spacing: -0.03em;
  }
  .newyoung-space-gallery__description {
    max-width: 26rem;
    color: color-mix(in srgb, var(--public-white) 62%, transparent);
  }
  .newyoung-space-gallery__slide--portrait .newyoung-space-gallery__media img {
    object-fit: cover;
  }
  .newyoung-space-gallery--frame .newyoung-space-gallery__slide {
    grid-template-columns: minmax(0, 1fr);
  }
  .newyoung-space-gallery--rail .newyoung-space-gallery__stage {
    width: calc(100vw - max(2.4rem, (100vw - 132rem) / 2));
    height: clamp(60rem, 72svh, 76rem);
    overflow: visible;
    background: transparent;
  }
  .newyoung-space-gallery--rail .newyoung-space-gallery__slide {
    position: relative;
    display: block;
    width: clamp(72rem, 66vw, 106rem) !important;
    height: 100%;
    overflow: hidden;
  }
  .newyoung-space-gallery--rail .newyoung-space-gallery__slide--portrait {
    width: clamp(46rem, 42vw, 68rem) !important;
  }
  .newyoung-space-gallery--rail .newyoung-space-gallery__caption {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: grid;
    align-content: end;
    min-height: 0;
    padding: var(--public-space-xl);
    background: linear-gradient(180deg, transparent 48%, rgba(22, 14, 10, 0.76) 100%);
    pointer-events: none;
  }
  .newyoung-space-gallery--rail .newyoung-space-gallery__number {
    position: absolute;
    top: var(--public-space-xl);
    left: var(--public-space-xl);
    margin: 0;
  }
  .newyoung-space-gallery--rail .newyoung-space-gallery__description {
    max-width: 34rem;
  }
  .newyoung-space-gallery--rail .newyoung-space-gallery__media, .newyoung-space-gallery--rail .newyoung-space-gallery__media img {
    height: 100%;
  }
  .newyoung-space-gallery--rail .newyoung-space-gallery__media img {
    transition: transform 900ms var(--public-ease);
  }
  .newyoung-space-gallery--rail .newyoung-space-gallery__slide:hover .newyoung-space-gallery__media img {
    transform: scale(1.025);
  }
  @media (max-width: 767px) {
    .newyoung-space-gallery__inner {
      gap: var(--public-space-lg);
    }
    .newyoung-space-gallery__header {
      display: contents;
    }
    .newyoung-space-gallery__heading {
      order: 1;
      gap: var(--public-space-xs);
    }
    .newyoung-space-gallery__controls {
      order: 3;
      width: 100%;
      justify-content: center;
    }
    .newyoung-space-gallery__controls .newyoung-space-gallery__pagination.swiper-pagination-horizontal {
      width: 6.6rem;
      max-width: 6.6rem;
      flex: 0 0 6.6rem;
    }
    .newyoung-space-gallery__stage {
      order: 2;
      height: min(76rem, 90svh);
      min-height: 64rem;
    }
    .newyoung-space-gallery--rail .newyoung-space-gallery__stage {
      width: calc(100vw - 2rem);
      height: min(68rem, 82svh);
      min-height: 56rem;
    }
    .newyoung-space-gallery--rail .newyoung-space-gallery__slide, .newyoung-space-gallery--rail .newyoung-space-gallery__slide--portrait {
      width: min(82vw, 58rem) !important;
    }
    .newyoung-space-gallery--rail .newyoung-space-gallery__caption {
      padding: var(--public-space-lg);
    }
    .newyoung-space-gallery--rail .newyoung-space-gallery__number {
      top: var(--public-space-lg);
      left: var(--public-space-lg);
    }
    .newyoung-space-gallery__button {
      width: 4.4rem;
      height: 4.4rem;
      flex: 0 0 4.4rem;
    }
    .newyoung-space-gallery__slide {
      grid-template-columns: minmax(0, 1fr);
      grid-template-rows: auto minmax(0, 1fr);
    }
    .newyoung-space-gallery--frame .newyoung-space-gallery__slide {
      grid-template-rows: minmax(0, 1fr);
    }
    .newyoung-space-gallery__caption {
      min-height: 18rem;
      padding: var(--public-space-lg);
    }
    .newyoung-space-gallery__number {
      margin-bottom: 0;
    }
    .newyoung-space-gallery__media {
      min-height: 0;
    }
  }
  @media (max-width: 1024px) {
    .newyoung-space-feature--overview .newyoung-space-feature__copy {
      grid-column: 1/-1;
    }
    .newyoung-space-feature--consultation .newyoung-space-feature__media {
      grid-column: 1/span 7;
    }
    .newyoung-space-feature--consultation .newyoung-space-feature__copy {
      grid-column: 8/-1;
      padding-left: 0;
    }
    .newyoung-space-feature--brand .newyoung-space-feature__media {
      grid-column: 1/span 5;
    }
    .newyoung-space-feature--brand .newyoung-space-feature__copy {
      grid-column: 7/-1;
    }
  }
  @media (max-width: 767px) {
    .newyoung-space-hero {
      min-height: 78rem;
    }
    .newyoung-space-hero__media img {
      object-position: 38% center;
    }
    .newyoung-space-hero__shade {
      background: linear-gradient(180deg, rgba(22, 14, 10, 0.62) 0%, transparent 34%), linear-gradient(0deg, rgba(20, 12, 8, 0.78) 0%, transparent 58%);
    }
    .newyoung-space-hero.no-section-sm {
      padding-top: calc(var(--public-header-height) + var(--public-space-lg));
    }
    .newyoung-space-hero__copy {
      justify-self: stretch;
      width: 100%;
      gap: var(--public-space-md);
      padding-right: 0;
    }
    .newyoung-space-hero__title {
      max-width: 9ch;
      white-space: normal;
    }
    .newyoung-space-hero__lead {
      max-width: 34rem;
      font-size: var(--body-md-fs);
    }
    .newyoung-space-feature__inner {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--public-space-2xl);
    }
    .newyoung-space-feature__copy, .newyoung-space-feature--overview .newyoung-space-feature__copy, .newyoung-space-feature--consultation .newyoung-space-feature__copy, .newyoung-space-feature--brand .newyoung-space-feature__copy {
      grid-column: 1;
      padding-left: 0;
    }
    .newyoung-space-feature--overview .newyoung-space-feature__copy {
      grid-template-columns: minmax(0, 1fr);
    }
    .newyoung-space-feature--overview .newyoung-space-feature__title, .newyoung-space-feature--overview .newyoung-space-feature__description {
      grid-column: 1;
    }
    .newyoung-space-feature__media, .newyoung-space-feature--overview .newyoung-space-feature__media, .newyoung-space-feature--consultation .newyoung-space-feature__media, .newyoung-space-feature--brand .newyoung-space-feature__media {
      grid-column: 1;
      width: 100%;
      margin-top: 0;
    }
    .newyoung-space-feature--consultation .newyoung-space-feature__media {
      order: 2;
    }
    .newyoung-space-feature--brand .newyoung-space-feature__inner {
      min-height: 0;
    }
    .newyoung-space-feature--brand .newyoung-space-feature__media {
      width: min(82%, 40rem);
      justify-self: start;
    }
  }
  .newyoung-doctor-visual-hero {
    position: relative;
    isolation: isolate;
    display: grid;
    height: 100svh;
    min-height: 68rem;
    overflow: hidden;
    place-items: center;
    color: var(--public-white);
    background: var(--public-brand-ink);
  }
  .newyoung-doctor-visual-hero__media, .newyoung-doctor-visual-hero__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
  .newyoung-doctor-visual-hero__media {
    z-index: -2;
    overflow: hidden;
  }
  .newyoung-doctor-visual-hero__image {
    overflow: hidden;
    clip-path: inset(100% 0 0);
    opacity: 0;
    visibility: hidden;
  }
  .newyoung-doctor-visual-hero__image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .newyoung-doctor-visual-hero__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: color-mix(in srgb, var(--public-brand-ink) 45%, transparent);
  }
  .newyoung-doctor-visual-hero__image.is-active {
    clip-path: inset(0);
    opacity: 1;
    visibility: visible;
  }
  .newyoung-doctor-visual-hero__image:first-child img {
    width: 114.42%;
    height: 135.62%;
    top: -17.81%;
  }
  .newyoung-doctor-visual-hero__image:first-child::after {
    background: color-mix(in srgb, var(--public-brand-ink) 55%, transparent);
  }
  .newyoung-doctor-visual-hero__inner {
    position: relative;
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
  }
  .newyoung-doctor-visual-hero__title {
    width: 100%;
    margin: 0;
    font-family: var(--public-home-title-family);
    font-size: var(--heading-lg-fs);
    font-weight: var(--font-weight-regular);
    line-height: 1;
    letter-spacing: -0.04em;
    text-align: center;
  }
  .newyoung-doctor-visual-hero .newyoung-doctor-visual-hero__location {
    position: absolute;
    bottom: 4.9%;
    inset-inline: 0;
    display: grid;
    justify-items: center;
    height: 1.61em;
    margin: 0;
    overflow: hidden;
    font-family: "Pretendard Variable", "Pretendard", sans-serif;
    font-size: clamp(1.6rem, 1.25vw, 2.4rem);
    font-weight: var(--font-weight-regular);
    line-height: 1.61;
    text-align: center;
  }
  .newyoung-doctor-visual-hero__phrase {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
  }
  .newyoung-doctor-visual-hero__word-window {
    display: inline-grid;
    width: 9.5ch;
    height: 1.08em;
    align-items: center;
    justify-items: center;
    overflow: hidden;
  }
  .newyoung-doctor-visual-hero__word {
    grid-area: 1/1;
    opacity: 0;
    visibility: hidden;
    white-space: nowrap;
  }
  .newyoung-doctor-visual-hero__word.is-active {
    opacity: 1;
    visibility: visible;
  }
  .newyoung-doctor-visual-hero__fixed {
    white-space: nowrap;
    color: color-mix(in srgb, var(--public-white) 68%, transparent);
    font-weight: var(--font-weight-regular);
  }
  @media (max-width: 1023px) {
    .newyoung-doctor-visual-hero__phrase {
      align-items: center;
      flex-direction: column;
      gap: 0.24em;
    }
    .newyoung-doctor-visual-hero__word-window {
      width: 100%;
      height: 1.06em;
    }
    .newyoung-doctor-visual-hero__fixed {
      padding: 0;
    }
  }
  @media (max-width: 767px) {
    .newyoung-doctor-visual-hero {
      height: 100svh;
      min-height: 64rem;
    }
    .newyoung-doctor-visual-hero__title {
      line-height: 0.96;
    }
    .newyoung-doctor-visual-hero__image:first-child img {
      object-position: 30% center;
    }
    .newyoung-doctor-visual-hero__image:nth-child(2) img {
      object-position: 72% center;
    }
    .newyoung-doctor-visual-hero__image:nth-child(3) img {
      object-position: 48% center;
    }
  }
  .newyoung-story {
    --story-rule: color-mix(in srgb, var(--public-brand-ink) 18%, transparent);
    color: var(--public-ink);
    background: var(--public-brand-surface);
  }
  .newyoung-story__promise {
    padding-top: calc(var(--public-header-height) + var(--section-md));
  }
  .newyoung-story .newyoung-content-section__paragraph strong, .newyoung-story__promise-prose strong, .newyoung-story__standard-copy strong, .newyoung-story__private-copy strong, .newyoung-story__trust-copy strong {
    font-weight: var(--font-weight-medium);
  }
  .newyoung-story .newyoung-content-section__groups {
    grid-template-columns: minmax(0, 1fr);
  }
  .newyoung-story .newyoung-content-section__group,
  .newyoung-story .newyoung-content-section__group:nth-child(odd),
  .newyoung-story .newyoung-content-section__group:nth-child(even) {
    min-height: 0;
    padding-inline: 0;
    border-left: 0;
  }
  .newyoung-story__chapter-heading {
    display: grid;
    align-content: start;
    gap: var(--public-space-sm);
  }
  .newyoung-story__standard-index, .newyoung-story__trust-index {
    color: var(--public-muted);
  }
  .newyoung-story__chapter-title {
    margin: 0;
    text-wrap: balance;
  }
  .newyoung-story__promise-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(32rem, 0.78fr);
    align-items: center;
    gap: clamp(8rem, 5.1779935275vw + 6.0582524272rem, 16rem);
  }
  .newyoung-story__promise-media-shell {
    position: relative;
    width: 100%;
    aspect-ratio: 5/6;
    margin: 0;
    overflow: hidden;
    background: var(--public-brand-surface-strong);
  }
  .newyoung-story__promise-media, .newyoung-story__background-frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
  }
  .newyoung-story [data-story-media] .no-auto-cover__img {
    position: absolute;
    top: -10%;
    left: 0;
    width: 100%;
    max-width: none;
    height: 120%;
    object-fit: cover;
    transform: scale(1.1);
    transform-origin: center;
  }
  .newyoung-story__promise-content {
    display: grid;
    width: min(100%, 58rem);
    justify-self: center;
    gap: var(--public-space-xl);
  }
  .newyoung-story__promise-title {
    margin: 0;
    color: var(--public-ink);
  }
  .newyoung-story__promise-prose {
    display: grid;
    gap: var(--public-space-2xl);
  }
  .newyoung-story__promise-group {
    display: grid;
    gap: var(--public-space-md);
  }
  .newyoung-story__promise-group p {
    color: var(--public-ink);
    text-wrap: pretty;
  }
  .newyoung-story__standards {
    border-top: 1px solid var(--story-rule);
    background: var(--public-white);
  }
  .newyoung-story__standards-inner {
    display: grid;
    gap: clamp(5.6rem, 2.071197411vw + 4.8233009709rem, 8.8rem);
  }
  .newyoung-story__chapter-heading--standards {
    grid-template-columns: minmax(0, 1fr);
  }
  .newyoung-story__standard-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--story-rule);
    border-bottom: 1px solid var(--story-rule);
  }
  .newyoung-story__standard {
    display: grid;
    align-content: start;
    min-height: 0;
    padding: clamp(3.2rem, 1.5533980583vw + 2.6174757282rem, 5.6rem) clamp(2.4rem, 1.5533980583vw + 1.8174757282rem, 4.8rem);
    gap: var(--public-space-xl);
  }
  .newyoung-story__standard:first-child {
    padding-left: 0;
  }
  .newyoung-story__standard:last-child {
    padding-right: 0;
  }
  .newyoung-story__standard + .newyoung-story__standard {
    border-left: 1px solid var(--story-rule);
  }
  .newyoung-story__standard-body {
    display: grid;
    align-content: start;
    gap: var(--public-space-lg);
  }
  .newyoung-story__standard-title {
    max-width: 18ch;
    text-wrap: balance;
  }
  .newyoung-story__standard-copy {
    max-width: 62rem;
    color: var(--public-muted);
    text-wrap: pretty;
  }
  .newyoung-story__private {
    position: relative;
    isolation: isolate;
    display: grid;
    min-height: max(72rem, 100svh);
    align-items: start;
    padding-block: var(--section-lg);
    overflow: hidden;
    color: var(--public-white);
    background: var(--public-brand-ink);
  }
  .newyoung-story__private-media, .newyoung-story__private-shade, .newyoung-story__trust-media, .newyoung-story__trust-shade, .newyoung-story__premium-media, .newyoung-story__premium-shade {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }
  .newyoung-story__private-shade, .newyoung-story__trust-shade, .newyoung-story__premium-shade {
    z-index: -1;
  }
  .newyoung-story__private-shade {
    background: linear-gradient(180deg, rgba(16, 10, 7, 0.52), rgba(16, 10, 7, 0.7)), linear-gradient(90deg, rgba(16, 10, 7, 0.46), rgba(16, 10, 7, 0.18) 72%);
  }
  .newyoung-story__private-inner {
    display: grid;
    grid-template-columns: minmax(18rem, 0.34fr) minmax(0, 0.66fr);
    align-items: start;
    width: 100%;
    gap: var(--section-md);
  }
  .newyoung-story__private-heading {
    display: grid;
    align-content: start;
    gap: var(--public-space-sm);
  }
  .newyoung-story__private-title {
    margin: 0;
    text-wrap: balance;
  }
  .newyoung-story__private-copy {
    display: grid;
    max-width: 68rem;
    gap: var(--public-space-lg);
    text-wrap: pretty;
  }
  .newyoung-story__private-copy p {
    color: color-mix(in srgb, var(--public-white) 78%, transparent);
  }
  .newyoung-story__trust {
    position: relative;
    isolation: isolate;
    min-height: max(82rem, 100svh);
    overflow: hidden;
    color: var(--public-white);
    background: var(--public-brand-ink);
  }
  .newyoung-story__trust-shade {
    background: linear-gradient(90deg, rgba(245, 238, 226, 0.78) 0%, rgba(245, 238, 226, 0.46) 30%, rgba(20, 13, 9, 0.42) 58%, rgba(20, 13, 9, 0.82) 100%), linear-gradient(180deg, transparent 24%, rgba(20, 13, 9, 0.34) 100%);
  }
  .newyoung-story__trust-inner {
    display: grid;
    grid-template-columns: minmax(18rem, 0.34fr) minmax(0, 0.66fr);
    align-items: start;
    gap: clamp(5.6rem, 2.071197411vw + 4.8233009709rem, 8.8rem) var(--section-md);
  }
  .newyoung-story__chapter-heading--trust {
    align-self: start;
    color: var(--public-ink);
  }
  .newyoung-story__trust-list {
    display: grid;
    grid-column: 2;
    grid-template-columns: minmax(0, 1fr);
    border-top: 1px solid color-mix(in srgb, var(--public-white) 34%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--public-white) 34%, transparent);
  }
  .newyoung-story__trust-item {
    display: grid;
    grid-template-columns: var(--public-space-xl) minmax(15rem, 0.32fr) minmax(0, 0.68fr);
    align-content: start;
    min-height: 0;
    padding-block: clamp(2.8rem, 1.2944983819vw + 2.3145631068rem, 4.8rem);
    gap: var(--public-space-lg);
  }
  .newyoung-story__trust-item + .newyoung-story__trust-item {
    border-top: 1px solid color-mix(in srgb, var(--public-white) 24%, transparent);
  }
  .newyoung-story__trust-title {
    color: var(--public-white);
    text-wrap: balance;
  }
  .newyoung-story__trust-index {
    color: color-mix(in srgb, var(--public-white) 58%, transparent);
  }
  .newyoung-story__trust-copy {
    display: grid;
    align-content: start;
    gap: var(--public-space-md);
    color: color-mix(in srgb, var(--public-white) 72%, transparent);
    text-wrap: pretty;
  }
  .newyoung-story__premium {
    position: relative;
    isolation: isolate;
    min-height: max(72rem, 100svh);
    overflow: hidden;
    color: var(--public-white);
    background: var(--public-brand-ink);
  }
  .newyoung-story__premium-shade {
    background: linear-gradient(90deg, rgba(17, 10, 7, 0.48), rgba(17, 10, 7, 0.18) 58%, rgba(17, 10, 7, 0.5)), linear-gradient(180deg, rgba(17, 10, 7, 0.56), rgba(17, 10, 7, 0.72));
  }
  .newyoung-story__premium-inner {
    display: grid;
    grid-template-columns: minmax(18rem, 0.34fr) minmax(0, 0.66fr);
    align-items: start;
    gap: var(--section-md);
  }
  .newyoung-story__premium-list {
    display: grid;
    max-width: 72rem;
    gap: 0;
    border-top: 1px solid color-mix(in srgb, var(--public-white) 34%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--public-white) 34%, transparent);
  }
  .newyoung-story__premium-item {
    display: grid;
    padding-block: clamp(2.8rem, 1.2944983819vw + 2.3145631068rem, 4.8rem);
    gap: var(--public-space-lg);
  }
  .newyoung-story__premium-item + .newyoung-story__premium-item {
    border-top: 1px solid color-mix(in srgb, var(--public-white) 24%, transparent);
  }
  .newyoung-story__premium-item p {
    color: color-mix(in srgb, var(--public-white) 76%, transparent);
    text-wrap: pretty;
  }
  @media (max-width: 1023px) {
    .newyoung-story__private-inner, .newyoung-story__trust-inner, .newyoung-story__premium-inner {
      column-gap: var(--public-space-2xl);
    }
  }
  @media (max-width: 767px) {
    .newyoung-story__promise {
      padding-top: calc(var(--public-header-height) + var(--section-sm));
    }
    .newyoung-story__promise-inner, .newyoung-story__standards-inner, .newyoung-story__private-inner, .newyoung-story__trust-inner, .newyoung-story__premium-inner {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--section-sm);
    }
    .newyoung-story__promise-media-shell {
      width: min(86%, 52rem);
    }
    .newyoung-story__promise-content {
      width: 100%;
      justify-self: stretch;
    }
    .newyoung-story__standard-list {
      grid-template-columns: minmax(0, 1fr);
    }
    .newyoung-story__standard, .newyoung-story__standard:first-child, .newyoung-story__standard:last-child {
      padding-inline: 0;
    }
    .newyoung-story__standard + .newyoung-story__standard {
      border-top: 1px solid var(--story-rule);
      border-left: 0;
    }
    .newyoung-story__private {
      min-height: 100svh;
      padding-block: var(--section-md);
    }
    .newyoung-story__private-inner, .newyoung-story__premium-inner {
      align-content: start;
    }
    .newyoung-story__trust, .newyoung-story__premium {
      min-height: 100svh;
    }
    .newyoung-story__chapter-heading--trust {
      color: var(--public-white);
    }
    .newyoung-story__trust-shade {
      background: linear-gradient(180deg, rgba(20, 13, 9, 0.62), rgba(20, 13, 9, 0.82));
    }
    .newyoung-story__trust-list {
      grid-column: auto;
    }
    .newyoung-story__trust-item {
      grid-template-columns: var(--public-space-xl) minmax(0, 1fr);
    }
    .newyoung-story__trust-title, .newyoung-story__trust-copy {
      grid-column: 2;
    }
    .newyoung-story__premium-list {
      max-width: none;
    }
  }
  @media (max-width: 543px) {
    .newyoung-story__promise-media-shell {
      width: 100%;
    }
    .newyoung-story__trust-item {
      grid-template-columns: var(--public-space-lg) minmax(0, 1fr);
    }
  }
  .newyoung-content-section {
    border-bottom: 1px solid var(--public-line);
    background: var(--public-brand-surface);
  }
  .newyoung-content-section:nth-child(even) {
    background: var(--public-white);
  }
  .newyoung-content-section__inner {
    display: grid;
    grid-template-columns: minmax(18rem, 0.42fr) minmax(0, 1.08fr);
    grid-template-areas: "heading lead" "heading groups";
    gap: var(--public-space-2xl) var(--section-md);
  }
  .newyoung-content-section__heading {
    grid-area: heading;
    align-self: start;
    display: grid;
    gap: var(--public-space-sm);
  }
  .newyoung-content-section__index, .newyoung-content-section__group-index {
    color: var(--public-muted);
  }
  .newyoung-content-section__title {
    max-width: 16ch;
    text-wrap: balance;
  }
  .newyoung-content-section__lead {
    grid-area: lead;
    display: grid;
    gap: var(--public-space-lg);
    max-width: 78rem;
  }
  .newyoung-content-section__paragraph {
    color: var(--public-muted);
    text-wrap: pretty;
  }
  .newyoung-content-section__paragraph br {
    display: none;
  }
  .newyoung-content-section__lead > .newyoung-content-section__paragraph:first-child {
    color: var(--public-ink);
  }
  .newyoung-content-section__groups {
    grid-area: groups;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--public-line-strong);
  }
  .newyoung-content-section__group {
    display: grid;
    grid-template-columns: var(--public-space-xl) minmax(0, 1fr);
    align-content: start;
    min-height: 24rem;
    padding-block: var(--public-space-xl);
    gap: var(--public-space-md);
    border-bottom: 1px solid var(--public-line);
  }
  .newyoung-content-section__group:nth-child(odd) {
    padding-right: var(--public-space-xl);
  }
  .newyoung-content-section__group:nth-child(even) {
    padding-left: var(--public-space-xl);
    border-left: 1px solid var(--public-line);
  }
  .newyoung-content-section__group-body {
    display: grid;
    align-content: start;
    gap: var(--public-space-md);
  }
  .newyoung-content-section__item-title, .newyoung-content-section__subheading {
    text-wrap: balance;
  }
  .newyoung-content-section__subheading {
    color: var(--public-muted);
  }
  .newyoung-content-section__list {
    display: grid;
    gap: var(--public-space-xs);
    color: var(--public-muted);
  }
  .newyoung-content-section__list li {
    position: relative;
    padding-left: var(--public-space-lg);
  }
  .newyoung-content-section__list li::before {
    position: absolute;
    top: 0.82em;
    left: 0;
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background: var(--public-brand-accent);
    content: "";
  }
  .newyoung-content-section__groups--actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--public-space-sm);
    border-top: 0;
  }
  .newyoung-content-section__action {
    display: grid;
    align-content: space-between;
    min-height: 16rem;
    padding: var(--public-space-xl);
    gap: var(--public-space-xl);
    border: 1px solid var(--public-line-strong);
    color: inherit;
    background: color-mix(in srgb, var(--public-white) 74%, transparent);
    text-decoration: none;
    transition: color var(--public-duration) var(--public-ease), background var(--public-duration) var(--public-ease);
  }
  .newyoung-content-section__action span {
    color: var(--public-muted);
  }
  .newyoung-content-section__action[href]:hover, .newyoung-content-section__action[href]:focus-visible {
    color: var(--public-white);
    background: var(--public-brand-ink);
    outline: none;
  }
  .newyoung-content-section__action[href]:hover span, .newyoung-content-section__action[href]:focus-visible span {
    color: color-mix(in srgb, var(--public-white) 74%, transparent);
  }
  .newyoung-content-section__action.is-disabled {
    opacity: 0.54;
  }
  .newyoung-content-section--process .newyoung-content-section__groups {
    counter-reset: newyoung-process;
  }
  .newyoung-content-section--process .newyoung-content-section__group {
    counter-increment: newyoung-process;
  }
  .newyoung-content-section--qa .newyoung-content-section__groups {
    grid-template-columns: minmax(0, 1fr);
  }
  .newyoung-content-section--qa .newyoung-content-section__group {
    grid-template-columns: minmax(16rem, 0.45fr) minmax(0, 1fr);
    min-height: 0;
    padding-inline: 0;
    border-left: 0;
  }
  .newyoung-content-page--pricing .newyoung-content-section__groups {
    grid-template-columns: minmax(0, 1fr);
  }
  .newyoung-content-page--pricing .newyoung-content-section__group {
    grid-template-columns: var(--public-space-xl) minmax(20rem, 0.55fr) minmax(0, 1fr);
    min-height: 0;
    padding-inline: 0;
    border-left: 0;
  }
  .newyoung-content-page--pricing .newyoung-content-section__group-body {
    display: contents;
  }
  .newyoung-content-page--pricing .newyoung-content-section__item-title {
    align-self: start;
  }
  .newyoung-treatments {
    --public-sticky-section-nav-height: calc(
        var(--public-filter-tab-mobile-height) + (var(--public-space-xs) * 2)
    );
  }
  .newyoung-treatments__hero {
    padding-top: calc(var(--public-header-height) + var(--section-sm));
    padding-bottom: var(--section-sm);
    border-bottom: 1px solid var(--public-line-strong);
    background: var(--public-brand-surface);
  }
  .newyoung-treatments__hero-inner, .newyoung-treatments__section-inner {
    width: 100%;
  }
  .newyoung-treatments__hero-inner {
    display: grid;
    gap: var(--public-space-sm);
  }
  .newyoung-treatments__lead, .newyoung-treatments__section-description, .newyoung-treatments__menu-group-name, .newyoung-treatments__menu-item-name, .newyoung-treatments__package-description, .newyoung-treatments__reset-program-description, .newyoung-treatments__reset-program-note, .newyoung-treatments__reset-principle-number, .newyoung-treatments__reset-principle-description, .newyoung-treatments__reset-notice, .newyoung-treatments__process-number, .newyoung-treatments__process-description, .newyoung-treatments__price-description, .newyoung-treatments__pricing-notice {
    color: var(--public-muted);
  }
  .newyoung-treatments__menu, .newyoung-treatments__packages, .newyoung-treatments__reset, .newyoung-treatments__pricing {
    scroll-margin-top: calc(var(--public-header-height) + var(--public-sticky-section-nav-height) + var(--public-space-xl));
    border-bottom: 1px solid var(--public-line-strong);
  }
  .newyoung-treatments__menu, .newyoung-treatments__reset {
    background: var(--public-white);
  }
  .newyoung-treatments__packages, .newyoung-treatments__pricing {
    background: var(--public-brand-surface);
  }
  .newyoung-treatments__section-inner {
    display: grid;
    min-width: 0;
    gap: var(--section-sm);
  }
  .newyoung-treatments__section-heading {
    display: grid;
    max-width: 72rem;
    align-items: start;
  }
  .newyoung-treatments__section-copy {
    display: grid;
    gap: var(--public-space-sm);
  }
  .newyoung-treatments__reset .newyoung-treatments__section-heading {
    max-width: none;
  }
  .newyoung-treatments__section-copy--reset {
    grid-template-columns: minmax(24rem, 0.38fr) minmax(0, 0.62fr);
    gap: var(--public-space-2xl) var(--section-md);
  }
  .newyoung-treatments__reset-intro {
    display: grid;
    align-content: start;
    gap: var(--public-space-lg);
  }
  .newyoung-treatments__section-description {
    max-width: 72rem;
  }
  .newyoung-treatments__lead, .newyoung-treatments__section-description, .newyoung-treatments__process-description {
    text-wrap: pretty;
  }
  .newyoung-treatments__package-description, .newyoung-treatments__reset-program-description {
    text-wrap: balance;
  }
  .newyoung-treatments__section-title, .newyoung-treatments__package-title, .newyoung-treatments__reset-lead, .newyoung-treatments__reset-program-title, .newyoung-treatments__process-title, .newyoung-treatments__pricing-title {
    text-wrap: balance;
  }
  .newyoung-treatments__menu-groups, .newyoung-treatments__pricing-list {
    min-width: 0;
  }
  .newyoung-treatments__menu-hint {
    padding-bottom: var(--public-space-md);
    color: var(--public-brand-ink);
    text-align: right;
  }
  .newyoung-treatments__menu-group {
    display: grid;
    grid-template-columns: minmax(16rem, 0.34fr) minmax(0, 1fr);
    gap: var(--public-space-2xl);
    padding-block: var(--public-space-xl);
  }
  .newyoung-treatments__menu-group + .newyoung-treatments__menu-group {
    border-top: 1px solid var(--public-line);
  }
  .newyoung-treatments__menu-group-heading {
    display: grid;
    align-content: start;
    gap: var(--public-space-2xs);
  }
  .newyoung-treatments__menu-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .newyoung-treatments__menu-item {
    display: grid;
    min-width: 0;
    min-height: 15rem;
    align-content: center;
    justify-items: center;
    padding: var(--public-space-md) var(--public-space-xs);
    gap: var(--public-space-xs);
    color: inherit;
    background: transparent;
    text-align: center;
    text-decoration: none;
    transition: color var(--public-duration) var(--public-ease), opacity var(--public-duration) var(--public-ease);
  }
  .newyoung-treatments__menu-item:hover, .newyoung-treatments__menu-item:focus-visible, .newyoung-treatments__menu-item.is-active {
    color: var(--public-brand-accent);
  }
  .newyoung-treatments__menu-item:focus-visible {
    outline: 1px solid var(--public-brand-accent);
    outline-offset: -1px;
  }
  .newyoung-treatments__menu-icon, .newyoung-treatments__package-icon, .newyoung-treatments__reset-icon {
    margin: 0;
    background: transparent;
  }
  .newyoung-treatments__menu-icon {
    width: 7.2rem;
    height: 7.2rem;
  }
  .newyoung-treatments__package-icon, .newyoung-treatments__reset-icon {
    width: 9rem;
    height: 9rem;
  }
  .newyoung-treatments__reset-icon {
    width: 11rem;
    height: 11rem;
  }
  .newyoung-treatments__menu-icon .no-auto-cover__img, .newyoung-treatments__package-icon .no-auto-cover__img, .newyoung-treatments__reset-icon .no-auto-cover__img {
    object-fit: contain;
  }
  .newyoung-treatments__menu-item-title {
    max-width: 14ch;
    line-height: 1.35;
    text-wrap: balance;
    word-break: keep-all;
  }
  .newyoung-treatments__menu-item-name {
    max-width: 24ch;
    line-height: 1.4;
    text-wrap: balance;
  }
  .newyoung-treatments__package-list {
    display: grid;
    border-top: 1px solid var(--public-line-strong);
  }
  .newyoung-treatments__package-category {
    padding-block: var(--public-space-lg);
    color: var(--public-brand-ink);
    border-bottom: 1px solid var(--public-line-strong);
  }
  .newyoung-treatments__package-card + .newyoung-treatments__package-category {
    margin-top: var(--public-space-xl);
  }
  .newyoung-treatments__package-card {
    display: grid;
    grid-template-columns: 11rem minmax(0, 1fr) auto;
    min-height: 13rem;
    align-items: center;
    gap: var(--public-space-xl);
    padding: var(--public-space-lg) var(--public-space-xl);
    border-bottom: 1px solid var(--public-line);
    background: color-mix(in srgb, var(--public-white) 68%, transparent);
    color: inherit;
    text-decoration: none;
  }
  .newyoung-treatments__package-card:hover, .newyoung-treatments__package-card:focus-visible, .newyoung-treatments__package-card.is-active {
    background: color-mix(in srgb, var(--public-brand-accent) 8%, transparent);
  }
  .newyoung-treatments__package-card:focus-visible {
    outline: 1px solid var(--public-brand-accent);
    outline-offset: -1px;
  }
  .newyoung-treatments__package-copy {
    display: grid;
    gap: var(--public-space-2xs);
  }
  .newyoung-treatments__package-link {
    justify-self: end;
    color: var(--public-brand-ink);
    white-space: nowrap;
  }
  .newyoung-treatments__package-composition {
    margin-top: var(--public-space-xs);
    white-space: pre-line;
    color: var(--public-brand-ink);
    line-height: 1.8;
  }
  .newyoung-treatments__reset-lead {
    max-width: 18ch;
  }
  .newyoung-treatments__reset-principles {
    display: grid;
    grid-column: 1/-1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    border-top: 1px solid var(--public-line-strong);
    border-bottom: 1px solid var(--public-line-strong);
  }
  .newyoung-treatments__reset-principle {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 12rem;
    align-content: center;
    gap: var(--public-space-2xs) var(--public-space-xs);
    padding: var(--public-space-lg) var(--public-space-xl);
  }
  .newyoung-treatments__reset-principle + .newyoung-treatments__reset-principle {
    border-left: 1px solid var(--public-line);
  }
  .newyoung-treatments__reset-principle-description {
    grid-column: 2;
  }
  .newyoung-treatments__reset-programs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--public-line-strong);
    border-bottom: 1px solid var(--public-line-strong);
  }
  .newyoung-treatments__reset-program {
    display: grid;
    min-height: 38rem;
    align-content: start;
    justify-items: start;
    padding: var(--public-space-2xl);
    gap: var(--public-space-md);
    text-align: left;
  }
  .newyoung-treatments__reset-program + .newyoung-treatments__reset-program {
    border-left: 1px solid var(--public-line);
  }
  .newyoung-treatments__reset-program-description {
    max-width: 32rem;
  }
  .newyoung-treatments__reset-program-note {
    max-width: 34rem;
    margin-top: auto;
    padding-top: var(--public-space-sm);
    border-top: 1px solid var(--public-line);
    text-wrap: pretty;
  }
  .newyoung-treatments__process {
    display: grid;
    gap: var(--public-space-xl);
  }
  .newyoung-treatments__process-list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-top: 1px solid var(--public-line-strong);
    border-bottom: 1px solid var(--public-line-strong);
  }
  .newyoung-treatments__process-item {
    display: grid;
    min-height: 15rem;
    align-content: start;
    padding: var(--public-space-xl);
    gap: var(--public-space-sm);
  }
  .newyoung-treatments__process-item + .newyoung-treatments__process-item {
    border-left: 1px solid var(--public-line);
  }
  .newyoung-treatments__reset-notice {
    justify-self: end;
    max-width: 78rem;
    text-align: right;
  }
  .newyoung-treatments__pricing-category {
    min-width: 0;
    scroll-margin-top: calc(var(--public-header-height) + var(--public-sticky-section-nav-height) + var(--public-space-xl));
    border-top: 2px solid var(--public-brand-ink);
  }
  .newyoung-treatments__pricing-list {
    display: grid;
  }
  .newyoung-treatments__pricing-currency {
    justify-self: end;
    margin: 0 0 var(--public-space-xs);
    color: var(--public-muted);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.12em;
  }
  .newyoung-treatments__pricing-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--public-space-xs) var(--public-space-lg);
    padding: var(--public-space-sm) var(--public-space-md);
    color: var(--public-brand-ink);
    background: color-mix(in srgb, var(--public-brand-accent) 8%, transparent);
  }
  .newyoung-treatments__price-option strong {
    white-space: pre-line;
  }
  .newyoung-treatments__pricing-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2.4rem;
    align-items: center;
    gap: var(--public-space-md);
    min-height: 6.4rem;
    padding-inline: var(--public-space-md);
    color: var(--public-brand-ink);
    background: transparent;
    cursor: pointer;
    list-style: none;
    transition: color var(--public-duration) var(--public-ease);
  }
  .newyoung-treatments__pricing-summary::-webkit-details-marker {
    display: none;
  }
  .newyoung-treatments__pricing-icon {
    transition: transform var(--public-duration) var(--public-ease);
  }
  .newyoung-treatments__pricing-category[open] .newyoung-treatments__pricing-icon {
    transform: rotate(180deg);
  }
  .newyoung-treatments__pricing-summary:hover, .newyoung-treatments__pricing-summary:focus-visible, .newyoung-treatments__pricing-category.is-active > .newyoung-treatments__pricing-summary {
    color: var(--public-brand-accent);
  }
  .newyoung-treatments__pricing-body {
    min-width: 0;
    border-top: 1px solid var(--public-line);
  }
  .newyoung-treatments__price-table-wrap {
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }
  .newyoung-treatments__price-table {
    width: 100%;
    min-width: 64rem;
    border-collapse: collapse;
    table-layout: fixed;
  }
  .newyoung-treatments__price-table th, .newyoung-treatments__price-table td {
    padding: var(--public-space-sm) var(--public-space-md);
    vertical-align: top;
  }
  .newyoung-treatments__price-table thead {
    border-bottom: 1px solid var(--public-brand-ink);
  }
  .newyoung-treatments__price-table thead th {
    color: var(--public-muted);
    font-weight: var(--font-weight-medium);
    text-align: left;
    background: color-mix(in srgb, var(--public-brand-ink) 4%, transparent);
  }
  .newyoung-treatments__price-table thead th:first-child {
    width: 26%;
  }
  .newyoung-treatments__price-table thead th:last-child {
    width: 15rem;
    text-align: right;
  }
  .newyoung-treatments__price-treatment {
    font-weight: var(--font-weight-medium);
    text-align: left;
    background: color-mix(in srgb, var(--public-brand-accent) 8%, transparent);
    box-shadow: inset -1px 0 0 var(--public-line);
    transition: color var(--public-duration) var(--public-ease), box-shadow var(--public-duration) var(--public-ease);
  }
  .newyoung-treatments__price-option strong, .newyoung-treatments__price-option span {
    display: block;
  }
  .newyoung-treatments__price-option span {
    color: var(--public-muted);
  }
  .newyoung-treatments__price-option strong + span {
    margin-top: var(--public-space-2xs);
  }
  .newyoung-treatments__price-value {
    text-align: right;
    white-space: nowrap;
  }
  .newyoung-treatments__price-value span {
    display: block;
    margin-top: var(--public-space-2xs);
    color: var(--public-muted);
  }
  .newyoung-treatments__price-anchor {
    display: block;
    width: 0;
    height: 0;
    scroll-margin-top: calc(var(--public-header-height) + var(--public-sticky-section-nav-height) + var(--public-space-xl));
  }
  .newyoung-treatments__price-group + .newyoung-treatments__price-group {
    border-top: 2px solid var(--public-line-strong);
  }
  .newyoung-treatments__price-group tr + tr {
    border-top: 1px solid var(--public-line);
  }
  .newyoung-treatments__price-group.is-active .newyoung-treatments__price-treatment {
    color: var(--public-brand-accent);
    box-shadow: inset 0.3rem 0 0 currentcolor, inset -1px 0 0 var(--public-line);
  }
  .newyoung-treatments__pricing-notice {
    padding-top: var(--public-space-md);
    text-align: right;
  }
  @media (max-width: 1023px) {
    .newyoung-treatments__menu-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .newyoung-treatments__process-list {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .newyoung-treatments__process-item:nth-child(4) {
      border-left: 0;
    }
    .newyoung-treatments__process-item:nth-child(n+4) {
      border-top: 1px solid var(--public-line);
    }
  }
  @media (max-width: 767px) {
    .newyoung-treatments__hero {
      padding-top: calc(var(--public-header-height) + var(--public-space-3xl));
      padding-bottom: var(--public-space-3xl);
    }
    .newyoung-treatments__menu-group {
      grid-template-columns: minmax(0, 1fr);
    }
    .newyoung-treatments__menu-group {
      gap: var(--public-space-xl);
    }
    .newyoung-treatments__menu-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .newyoung-treatments__menu-item {
      min-height: 13rem;
      padding-inline: var(--public-space-2xs);
    }
    .newyoung-treatments__menu-icon {
      width: 6rem;
      height: 6rem;
    }
    .newyoung-treatments__package-card {
      grid-template-columns: 7.2rem minmax(0, 1fr);
      gap: var(--public-space-lg);
      padding-inline: 0;
    }
    .newyoung-treatments__package-icon {
      width: 7.2rem;
      height: 7.2rem;
    }
    .newyoung-treatments__package-link {
      grid-column: 2;
      justify-self: start;
      white-space: normal;
    }
    .newyoung-treatments__reset-programs, .newyoung-treatments__process-list, .newyoung-treatments__reset-principles {
      grid-template-columns: minmax(0, 1fr);
    }
    .newyoung-treatments__section-copy--reset {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--public-space-xl);
    }
    .newyoung-treatments__reset-principle {
      padding-inline: 0;
    }
    .newyoung-treatments__reset-principle + .newyoung-treatments__reset-principle {
      border-top: 1px solid var(--public-line);
      border-left: 0;
    }
    .newyoung-treatments__reset-program {
      min-height: 0;
      padding-inline: 0;
    }
    .newyoung-treatments__reset-program + .newyoung-treatments__reset-program, .newyoung-treatments__process-item + .newyoung-treatments__process-item {
      border-top: 1px solid var(--public-line);
      border-left: 0;
    }
    .newyoung-treatments__process-item, .newyoung-treatments__process-item:nth-child(4) {
      min-height: 0;
      padding-inline: 0;
      border-left: 0;
    }
    .newyoung-treatments__reset-notice {
      justify-self: start;
      text-align: left;
    }
    .newyoung-treatments__pricing-summary {
      grid-template-columns: minmax(0, 1fr) 2rem;
    }
    .newyoung-treatments__price-table {
      min-width: 0;
    }
    .newyoung-treatments__price-table th, .newyoung-treatments__price-table td {
      padding-inline: var(--public-space-2xs);
      overflow-wrap: anywhere;
    }
    .newyoung-treatments__price-table thead th:first-child {
      width: 26%;
    }
    .newyoung-treatments__price-table thead th:last-child {
      width: 10rem;
    }
    .newyoung-treatments__price-value {
      text-align: right;
    }
  }
  .newyoung-signature__content-visual {
    position: relative;
    isolation: isolate;
    min-height: clamp(34rem, 38vw, 58rem);
    overflow: hidden;
    border-bottom: 1px solid var(--public-line-strong);
  }
  .newyoung-signature-detail {
    position: relative;
  }
  .newyoung-signature-detail__back.public-button {
    position: fixed;
    z-index: calc(var(--public-z-header) + 1);
    top: calc(var(--public-header-height) + var(--public-space-lg));
    left: var(--public-shell-gutter);
    color: var(--public-brand-ink);
    background: var(--public-surface-subtle);
  }
  .newyoung-signature-detail__layout {
    --heading-lg-fs: var(--heading-md-fs);
    --heading-xs-fs: var(--heading-2xs-fs);
    display: grid;
    width: 100%;
    margin-inline: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
  .newyoung-signature-detail__visual-column {
    position: sticky;
    top: 0;
    height: 100svh;
    min-height: 100svh;
  }
  .newyoung-signature-detail__visual {
    position: relative;
    isolation: isolate;
    height: 100%;
    min-height: 100%;
    overflow: hidden;
    border-bottom: 0;
    background: radial-gradient(ellipse 72% 54% at 12% 12%, color-mix(in srgb, var(--public-white) 94%, transparent), transparent 68%), radial-gradient(ellipse 66% 64% at 92% 14%, color-mix(in srgb, var(--public-blue-soft) 82%, transparent), transparent 72%), linear-gradient(145deg, color-mix(in srgb, var(--public-white) 90%, var(--public-brand-accent-soft)), color-mix(in srgb, var(--public-white) 78%, var(--public-brand-surface-strong)) 48%, color-mix(in srgb, var(--public-white) 72%, var(--public-brand-accent-soft)));
  }
  .newyoung-signature-detail__visual::before, .newyoung-signature-detail__visual::after {
    position: absolute;
    z-index: 0;
    inset: -24%;
    content: "";
    pointer-events: none;
    will-change: transform;
  }
  .newyoung-signature-detail__visual::before {
    background: radial-gradient(ellipse 32% 46% at 24% 34%, color-mix(in srgb, var(--public-white) 92%, transparent), transparent 74%), radial-gradient(ellipse 40% 34% at 76% 62%, color-mix(in srgb, var(--public-brand-accent-soft) 56%, transparent), transparent 76%), radial-gradient(ellipse 30% 42% at 54% 18%, color-mix(in srgb, var(--public-blue-soft) 72%, transparent), transparent 72%);
    filter: blur(2.8rem);
    opacity: 0.92;
    transform: translate3d(-4%, -2%, 0) rotate(-5deg) scale(1.04);
  }
  .newyoung-signature-detail__visual::after {
    background: radial-gradient(ellipse 36% 48% at 28% 78%, color-mix(in srgb, var(--public-brand-accent-soft) 44%, transparent), transparent 76%), radial-gradient(ellipse 38% 38% at 78% 30%, color-mix(in srgb, var(--public-white) 86%, transparent), transparent 74%);
    filter: blur(4.8rem);
    mix-blend-mode: soft-light;
    opacity: 0.84;
    transform: translate3d(5%, 3%, 0) rotate(7deg) scale(1.08);
  }
  .newyoung-signature-detail__visual-summary {
    position: absolute;
    z-index: 2;
    top: 0;
    right: var(--public-shell-gutter);
    bottom: 0;
    left: var(--public-shell-gutter);
    display: grid;
    align-content: center;
    justify-items: center;
    gap: var(--public-space-xl);
    text-align: center;
  }
  .newyoung-signature-detail__visual-copy {
    display: grid;
    width: min(100%, 52rem);
    justify-items: center;
    gap: var(--public-space-xs);
    color: var(--public-brand-ink);
    background: transparent;
  }
  .newyoung-signature-detail__visual-lead {
    color: color-mix(in srgb, var(--public-brand-ink) 72%, transparent);
  }
  .newyoung-signature-detail__visual-title, .newyoung-signature-detail__visual-lead {
    max-width: 40ch;
    word-break: keep-all;
    overflow-wrap: break-word;
  }
  .newyoung-signature-detail__visual-title {
    max-width: 24ch;
    font-size: var(--heading-sm-fs);
    line-height: var(--heading-sm-lh);
    text-wrap: balance;
  }
  .newyoung-signature-detail__visual-lead {
    width: 100%;
    text-wrap: pretty;
  }
  .newyoung-signature-detail__visual-actions {
    display: flex;
    margin-top: var(--public-space-md);
    justify-content: center;
  }
  .newyoung-signature-detail__visual-listen.public-button {
    background: transparent;
  }
  .newyoung-signature-detail__content-column {
    min-width: 0;
    background: var(--public-brand-surface);
  }
  .newyoung-signature-detail__content-column .newyoung-content-section.no-section-md {
    padding-block: calc(var(--section-md) * 2);
  }
  .newyoung-signature-detail__content-column .newyoung-content-section__inner {
    width: calc(100% - var(--public-shell-gutter) * 2);
  }
  .newyoung-signature-detail__body {
    background: var(--public-brand-surface);
  }
  .newyoung-signature-detail__body:has(.newyoung-content-section:nth-child(even):last-child) {
    background: var(--public-white);
  }
  .newyoung-signature-detail__body .newyoung-content-section:last-child {
    border-bottom: 0;
  }
  .newyoung-signature-detail__content-column .newyoung-content-section__inner {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "heading" "lead" "groups";
    gap: var(--public-space-2xl);
  }
  .newyoung-signature-detail__content-column .newyoung-content-section__groups, .newyoung-signature-detail__content-column .newyoung-content-section__groups--actions {
    grid-template-columns: minmax(0, 1fr);
  }
  .newyoung-signature-detail__content-column .newyoung-content-section__group, .newyoung-signature-detail__content-column .newyoung-content-section__group:nth-child(odd), .newyoung-signature-detail__content-column .newyoung-content-section__group:nth-child(even), .newyoung-signature-detail__content-column .newyoung-content-section--qa .newyoung-content-section__group {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    padding-inline: 0;
    gap: 0;
    border-left: 0;
  }
  .newyoung-signature-detail__content-column .newyoung-content-section__group-index {
    display: none;
  }
  .newyoung-signature-detail__content-column :is(.newyoung-content-section__title,
  .newyoung-content-section__item-title,
  .newyoung-content-section__subheading,
  .newyoung-content-section__paragraph,
  .newyoung-content-section__list) {
    word-break: keep-all;
    overflow-wrap: break-word;
  }
  .newyoung-signature-detail__content-column .newyoung-content-section__paragraph {
    max-width: 72ch;
    text-wrap: pretty;
  }
  .newyoung-signature-detail__content-column :is(.newyoung-content-section__paragraph,
  .newyoung-content-section__item-title,
  .newyoung-content-section__subheading) strong {
    font-weight: var(--font-weight-medium);
  }
  .newyoung-signature-detail:is(.newyoung-signature-detail--tailored-botox, .newyoung-signature-detail--tailored-lifting, .newyoung-signature-detail--tailored-collagen-booster, .newyoung-signature-detail--sedation, .newyoung-signature-detail--under-eye-ultracol, .newyoung-signature-detail--sesla, .newyoung-signature-detail--ultrasound-guided-filler-removal) .newyoung-signature-detail__content-column .newyoung-content-section__paragraph br {
    display: initial;
  }
  .newyoung-signature-detail:is(.newyoung-signature-detail--tailored-botox, .newyoung-signature-detail--tailored-lifting, .newyoung-signature-detail--tailored-collagen-booster, .newyoung-signature-detail--sedation, .newyoung-signature-detail--under-eye-ultracol, .newyoung-signature-detail--sesla, .newyoung-signature-detail--ultrasound-guided-filler-removal) .newyoung-content-section__title {
    max-width: none;
    white-space: pre-line;
  }
  .newyoung-signature-detail__content-column .newyoung-content-section__group-body {
    gap: var(--public-space-sm);
  }
  .newyoung-signature-detail .newyoung-content-section__figure {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--public-space-lg);
    margin: var(--public-space-md) 0;
    padding: var(--public-space-lg);
    background: var(--public-surface-subtle);
  }
  .newyoung-signature-detail .newyoung-content-section__figure-art {
    width: min(100%, 56rem);
    margin-inline: auto;
  }
  .newyoung-signature-detail .newyoung-content-section__figure-art img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
  }
  .newyoung-signature-detail .newyoung-content-section__figure-legend {
    display: grid;
    gap: var(--public-space-lg);
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .newyoung-signature-detail .newyoung-content-section__figure-legend li {
    display: grid;
    grid-template-columns: 2.8rem minmax(0, 1fr);
    align-items: start;
    gap: var(--public-space-sm);
  }
  .newyoung-signature-detail .newyoung-content-section__figure-number {
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    place-items: center;
    border-radius: 50%;
    background: var(--public-brand-ink);
    color: var(--clr-base-white);
    font-size: 1.4rem;
    font-weight: var(--font-weight-medium);
    line-height: 1;
  }
  .newyoung-signature-detail .newyoung-content-section__figure-legend strong {
    display: block;
    color: var(--public-brand-ink);
    font-size: 2rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.55;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
  .newyoung-signature-detail .newyoung-content-section__figure-legend p {
    margin: var(--public-space-xs) 0 0;
    color: var(--public-brand-accent);
    font-size: 1.6rem;
    line-height: 1.65;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
  @media (min-width: 768px) and (max-width: 1023px), (min-width: 1920px) {
    .newyoung-signature-detail .newyoung-content-section__figure {
      grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
      align-items: center;
    }
  }
  @media (max-width: 767px) {
    .newyoung-signature-detail .newyoung-content-section__figure {
      padding: var(--public-space-sm);
    }
  }
  .newyoung-signature-detail__content-column .newyoung-content-section__group + .newyoung-content-section__group {
    border-top: 0;
  }
  .newyoung-signature-detail__list-action {
    display: flex;
    width: calc(100% - var(--public-shell-gutter) * 2);
    margin-inline: auto;
    padding-bottom: var(--section-md);
    justify-content: center;
    background: transparent;
  }
  .newyoung-signature-detail__list-link.public-button {
    width: min(100%, 18rem);
    background: transparent;
  }
  @media (min-width: 1024px) {
    .newyoung-signature-detail__content-column .newyoung-content-sections > .newyoung-content-section:first-child {
      padding-top: calc(var(--public-header-height) + var(--section-sm) * 2);
    }
  }
  @media (max-width: 1023px) {
    .newyoung-signature-detail__back.public-button {
      top: calc(var(--public-header-height) + var(--public-space-sm));
    }
    .newyoung-signature-detail__layout {
      width: 100%;
      grid-template-columns: minmax(0, 1fr);
    }
    .newyoung-signature-detail__visual-column {
      position: relative;
      height: auto;
      min-height: clamp(42rem, 72vw, 68rem);
    }
    .newyoung-signature-detail__visual {
      height: auto;
      min-height: inherit;
    }
    .newyoung-signature-detail__visual-summary {
      position: relative;
      inset: auto;
      min-height: inherit;
      padding: calc(var(--public-header-height) + var(--public-space-xl)) var(--public-shell-gutter) var(--public-space-2xl);
    }
  }
  @media (max-width: 767px) {
    .newyoung-signature-detail__content-column .newyoung-content-section__inner {
      padding-inline: 0;
    }
    .newyoung-signature-detail__content-column .newyoung-content-section.no-section-md {
      padding-block: var(--section-lg);
    }
  }
  .newyoung-signature__content-visual-media {
    position: absolute;
    z-index: -1;
    inset: 0;
    height: 100%;
    aspect-ratio: auto;
  }
  .newyoung-signature__content-visual-media .no-auto-cover__img {
    object-position: center;
  }
  .newyoung-signature-detail__visual-light {
    position: absolute;
    z-index: 1;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    mix-blend-mode: soft-light;
    opacity: 0;
    pointer-events: none;
    transition: opacity 1.4s ease;
  }
  .newyoung-signature-detail__visual.is-webgl-light-active .newyoung-signature-detail__visual-light {
    opacity: 0.78;
  }
  .newyoung-signature-detail__visual-icon {
    display: grid;
    width: clamp(16rem, 17vw, 27rem);
    height: auto;
    place-items: center;
    color: var(--public-brand-ink);
  }
  .newyoung-signature-detail__visual-icon .no-auto-cover {
    background: transparent;
  }
  .newyoung-signature-detail__visual-icon .no-auto-cover__img {
    object-fit: contain;
  }
  .newyoung-signature__route-rail {
    background: var(--public-brand-surface);
  }
  .newyoung-signature__route-rail ol {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--public-line-strong);
  }
  .newyoung-signature__route-rail li {
    border-bottom: 1px solid var(--public-line);
  }
  .newyoung-signature__route-rail li:nth-child(odd) {
    border-right: 1px solid var(--public-line);
  }
  .newyoung-signature__route-rail a {
    display: grid;
    grid-template-columns: var(--public-space-xl) minmax(0, 1fr);
    align-items: center;
    min-height: 10rem;
    padding: var(--public-space-lg);
    gap: var(--public-space-md);
    color: inherit;
    text-decoration: none;
    transition: color var(--public-duration) var(--public-ease), background var(--public-duration) var(--public-ease);
  }
  .newyoung-signature__route-rail a span {
    color: var(--public-muted);
  }
  .newyoung-signature__route-rail a:hover,
  .newyoung-signature__route-rail a:focus-visible {
    color: var(--public-white);
    background: var(--public-brand-ink);
    outline: none;
  }
  .newyoung-signature__route-rail a:hover span,
  .newyoung-signature__route-rail a:focus-visible span {
    color: color-mix(in srgb, var(--public-white) 72%, transparent);
  }
  @media (max-width: 1023px) {
    .newyoung-content-section__inner {
      grid-template-columns: minmax(14rem, 0.32fr) minmax(0, 1fr);
      column-gap: var(--public-space-2xl);
    }
    .newyoung-content-section__groups--actions {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px) {
    .newyoung-content-hero {
      min-height: 62rem;
    }
    .newyoung-content-hero.no-section-md {
      padding-bottom: var(--section-sm);
    }
    .newyoung-content-hero::after {
      width: 34vw;
      bottom: var(--public-space-2xl);
    }
    .newyoung-content-section__inner {
      grid-template-columns: minmax(0, 1fr);
      grid-template-areas: "heading" "lead" "groups";
      gap: var(--public-space-2xl);
    }
    .newyoung-content-section__title {
      max-width: 20ch;
    }
    .newyoung-content-section__groups, .newyoung-content-section__groups--actions {
      grid-template-columns: minmax(0, 1fr);
    }
    .newyoung-content-section__group, .newyoung-content-section__group:nth-child(odd), .newyoung-content-section__group:nth-child(even), .newyoung-content-section--qa .newyoung-content-section__group {
      grid-template-columns: var(--public-space-xl) minmax(0, 1fr);
      min-height: 0;
      padding-inline: 0;
      border-left: 0;
    }
    .newyoung-content-page--pricing .newyoung-content-section__group {
      grid-template-columns: var(--public-space-xl) minmax(0, 1fr);
    }
    .newyoung-content-page--pricing .newyoung-content-section__group-body {
      display: grid;
    }
    .newyoung-signature__content-visual,
    .newyoung-signature-detail__visual {
      min-height: 38rem;
    }
    .newyoung-signature-detail__visual-column,
    .newyoung-signature-detail__visual {
      min-height: 54rem;
    }
    .newyoung-signature-detail__visual-icon {
      width: min(100%, var(--public-treatment-pictogram-frame-lg));
    }
    .newyoung-signature__route-rail ol {
      grid-template-columns: minmax(0, 1fr);
    }
    .newyoung-signature__route-rail li:nth-child(odd) {
      border-right: 0;
    }
  }
  @keyframes newyoung-intro-failsafe {
    to {
      visibility: hidden;
      pointer-events: none;
    }
  }
  html:has(.newyoung-intro:not([hidden])),
  html:has(.newyoung-intro:not([hidden])) body {
    overflow: hidden;
  }
  html:has(.newyoung-intro:not([hidden])) .site-popup-layer,
  html:has(.newyoung-intro:not([hidden])) .site-popup-backdrop {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
  }
  html:has(.newyoung-intro:not([hidden])) .public-header.site-header {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
  }
  .newyoung-intro {
    position: fixed;
    z-index: 30000;
    inset: 0;
    display: grid;
    place-items: center;
    background: var(--clr-primary-900);
    pointer-events: none;
    animation: newyoung-intro-failsafe 0s linear 5s forwards;
    will-change: transform;
  }
  .newyoung-intro::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1px;
    background: color-mix(in srgb, var(--public-brand-ink) 16%, transparent);
    content: "";
  }
  .newyoung-intro[hidden] {
    display: none;
  }
  .newyoung-intro__mark {
    position: relative;
    z-index: 1;
    display: grid;
    height: clamp(12rem, 12vw, 19rem);
    place-items: center;
    color: var(--clr-gray-50);
    will-change: opacity, transform;
  }
  .newyoung-intro__mark [data-brand-mark] {
    visibility: hidden;
    opacity: 0;
  }
  .newyoung-home,
  .newyoung-signature,
  .newyoung-signature-detail__layout {
    word-break: keep-all;
    overflow-wrap: break-word;
  }
  .newyoung-home :is(h1, h2, h3, p) br,
  .newyoung-signature :is(h1, h2, h3, p) br,
  .newyoung-signature-detail__layout :is(h1, h2, h3, p) br {
    display: initial;
  }
  .newyoung-home {
    overflow: clip;
    background: var(--public-white);
  }
  .newyoung-home.is-intro-pending .newyoung-home__hero-media {
    transform: scale(1.08);
  }
  .newyoung-home.is-intro-pending .newyoung-home__hero-mark, .newyoung-home.is-intro-pending .newyoung-home__hero-title, .newyoung-home.is-intro-pending .newyoung-home__hero-description {
    opacity: 0;
    transform: translateY(2.8rem);
  }
  .newyoung-home__hero, .newyoung-home__program, .newyoung-home__private, .newyoung-home__reservation {
    position: relative;
    isolation: isolate;
    overflow: hidden;
  }
  .newyoung-home__hero {
    display: grid;
    min-height: 100svh;
    place-items: center;
    color: var(--public-header-white);
  }
  .newyoung-home__hero::before {
    position: absolute;
    z-index: 0;
    inset: -34% -42%;
    background: radial-gradient(ellipse 24% 64% at 50% 50%, color-mix(in srgb, var(--public-header-white) 22%, transparent) 0, color-mix(in srgb, var(--public-brand-accent-soft) 14%, transparent) 38%, transparent 74%);
    content: "";
    filter: blur(2.4rem);
    opacity: 0.38;
    pointer-events: none;
    transform: translate3d(-18%, -3%, 0) rotate(-4deg);
    transition: opacity 1.2s ease;
  }
  .newyoung-home__hero-light {
    position: absolute;
    z-index: 0;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    mix-blend-mode: screen;
    opacity: 0;
    pointer-events: none;
    transition: opacity 1.4s ease;
  }
  .newyoung-home__hero.is-webgl-light-active::before {
    opacity: 0.1;
  }
  .newyoung-home__hero.is-webgl-light-active .newyoung-home__hero-light {
    opacity: 0.9;
  }
  .newyoung-home__hero-media, .newyoung-home__program-media, .newyoung-home__private-media, .newyoung-home__reservation-media {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
  }
  .newyoung-home__hero-shade, .newyoung-home__private-shade {
    position: absolute;
    z-index: -1;
    inset: 0;
    background: color-mix(in srgb, var(--public-brand-ink) 36%, transparent);
    pointer-events: none;
  }
  .newyoung-home__hero-content {
    position: relative;
    z-index: 2;
    display: grid;
    justify-items: center;
    gap: clamp(2.4rem, 1.5533980583vw + 1.8174757282rem, 4.8rem);
    text-align: center;
  }
  .newyoung-home__hero-mark {
    display: grid;
    height: clamp(8rem, 8vw, 13rem);
    margin-bottom: var(--public-space-sm);
    place-items: center;
    color: var(--public-header-white);
  }
  .newyoung-home__hero-title {
    max-width: 30ch;
    font-size: clamp(3.4rem, 2.7184466019vw + 2.3805825243rem, 7.6rem);
    line-height: 1.08;
    text-wrap: balance;
    font-weight: var(--font-weight-regular);
  }
  .newyoung-home__hero-description {
    max-width: 58rem;
    color: color-mix(in srgb, var(--public-header-white) 78%, transparent);
    font-size: clamp(1.8rem, 0.2588996764vw + 1.7029126214rem, 2.2rem);
    line-height: 1.65;
    text-wrap: pretty;
  }
  .newyoung-home__about {
    display: grid;
    align-items: center;
    min-height: 100svh;
    color: var(--public-white);
    background: var(--public-brand-dark);
  }
  .newyoung-home__about-inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: var(--section-md);
  }
  .newyoung-home__about-copy, .newyoung-home__doctor-copy {
    display: grid;
    align-content: center;
    justify-items: start;
    gap: var(--public-space-xl);
  }
  .newyoung-home__about-title {
    max-width: 32ch;
    text-wrap: balance;
  }
  .newyoung-home__prose {
    display: grid;
    gap: var(--public-space-sm);
    max-width: 52rem;
  }
  .newyoung-home__prose p {
    text-wrap: pretty;
  }
  .newyoung-home__about-copy .newyoung-home__prose, .newyoung-home__safety-copy {
    color: color-mix(in srgb, var(--public-white) 72%, transparent);
  }
  .newyoung-home__about .public-button--outline, .newyoung-home__program--dark .public-button--outline {
    color: var(--public-white);
    border-color: var(--public-white);
  }
  .newyoung-home__about-art {
    justify-self: end;
    width: min(100%, 56rem);
    margin: 0;
    overflow: visible;
    color: var(--public-brand-surface);
  }
  .newyoung-home__line-art-svg, .newyoung-home__line-art-fallback {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
  }
  .newyoung-home__line-art-svg path[pathLength="1"] {
    stroke: currentColor;
    stroke-width: 0.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .newyoung-home__program-intro {
    position: relative;
    isolation: isolate;
    background: var(--public-brand-surface-strong);
  }
  .newyoung-home__program-intro > .no-section-lg {
    position: relative;
    z-index: 2;
    display: grid;
    align-items: stretch;
    min-height: 60svh;
  }
  .newyoung-home__program-intro-inner {
    display: grid;
    grid-template-columns: repeat(11, minmax(0, 1fr));
    grid-template-rows: auto 1fr auto;
    align-items: start;
    column-gap: var(--public-space-xs);
  }
  .newyoung-home__program-intro-heading {
    grid-column: 2/span 6;
    grid-row: 1;
    display: grid;
    gap: var(--public-space-sm);
  }
  .newyoung-home__program-intro-title {
    max-width: none;
    font-size: clamp(2.6rem, 1.0355987055vw + 2.2116504854rem, 4.2rem);
    line-height: 1.18;
    text-wrap: balance;
  }
  .newyoung-home__program-intro-content {
    grid-column: 7/span 4;
    grid-row: 3;
    align-self: end;
    display: grid;
    justify-items: start;
    gap: var(--public-space-xl);
  }
  .newyoung-home__program-intro-copy {
    max-width: 46rem;
    color: var(--public-muted);
    text-wrap: pretty;
  }
  .newyoung-home__programs {
    position: relative;
    isolation: isolate;
  }
  .newyoung-home__program {
    position: relative;
    width: 100%;
    height: 100svh;
    min-height: 60rem;
  }
  .newyoung-home__program-media {
    top: 0;
    height: 100%;
  }
  .newyoung-home__program-card {
    position: absolute;
    top: 50%;
    right: max(var(--public-shell-gutter), (100vw - var(--public-shell-max)) / 2);
    display: grid;
    width: min(50rem, 100% - var(--public-shell-gutter) * 2);
    padding: var(--public-space-2xl);
    gap: var(--public-space-md);
    translate: 0 -50%;
    backdrop-filter: blur(1.2rem);
  }
  .newyoung-home__program--dark .newyoung-home__program-card {
    color: var(--public-white);
    background: color-mix(in srgb, var(--public-brand-ink) 82%, transparent);
  }
  .newyoung-home__program--light .newyoung-home__program-card {
    color: var(--public-ink);
    background: color-mix(in srgb, var(--public-white) 86%, transparent);
  }
  .newyoung-home__program-copy {
    color: inherit;
    font-size: clamp(1.4rem, 0.1294498382vw + 1.3514563107rem, 1.6rem);
    opacity: 0.76;
    text-wrap: pretty;
  }
  .newyoung-home__program-copy.no-copy--desktop-breaks {
    text-wrap: balance;
  }
  .newyoung-home__program-card .public-button {
    justify-self: start;
    margin-top: var(--public-space-xs);
  }
  .newyoung-home__doctor {
    background: var(--public-brand-surface);
  }
  .newyoung-home__doctor-inner {
    display: grid;
    grid-template-columns: minmax(22rem, 0.8fr) minmax(24rem, 0.62fr) minmax(28rem, 1fr);
    align-items: center;
    gap: var(--section-sm);
  }
  .newyoung-home__doctor-heading {
    display: grid;
    gap: var(--public-space-sm);
  }
  .newyoung-home__doctor-title {
    max-width: 100%;
  }
  @media (max-width: 768px) {
    .newyoung-home__doctor-title {
      max-width: 100%;
    }
  }
  .newyoung-home__doctor-portrait {
    align-self: stretch;
    margin: 0;
    overflow: hidden;
    background: var(--public-muted-soft);
  }
  .newyoung-home__doctor-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }
  .newyoung-home__doctor-copy .newyoung-home__prose {
    color: var(--public-muted);
  }
  .newyoung-home__private {
    display: grid;
    min-height: 100vh;
    color: var(--public-white);
  }
  .newyoung-home__private-shade {
    background: linear-gradient(90deg, color-mix(in srgb, var(--public-brand-ink) 58%, transparent), color-mix(in srgb, var(--public-brand-ink) 12%, transparent) 62%, color-mix(in srgb, var(--public-brand-ink) 42%, transparent));
  }
  .newyoung-home__private-inner {
    position: relative;
    display: grid;
    grid-template-rows: auto 1fr;
    padding-inline: clamp(var(--gutter), 6.25vw, var(--section-lg));
    container-type: inline-size;
  }
  .newyoung-home__private-title, .newyoung-home__safety-title {
    display: flex;
    align-items: baseline;
    justify-content: center;
    column-gap: 0.2em;
    min-width: 0;
    text-align: center;
    white-space: nowrap;
  }
  .newyoung-home__private-title {
    font-size: clamp(2.4rem, 9vw, 14.7rem);
    font-size: clamp(2.4rem, 10.4cqw, 19.2rem);
  }
  .newyoung-home__private-copy {
    display: grid;
    align-self: start;
    gap: var(--public-space-sm);
    max-width: 42rem;
    margin-top: var(--section-lg);
    margin-left: clamp(0rem, 7.5vw, var(--section-lg));
  }
  .newyoung-home__private-copy > :last-child {
    color: color-mix(in srgb, var(--public-white) 76%, transparent);
    text-wrap: pretty;
  }
  .newyoung-home__safety {
    min-height: 100vh;
    padding-block: 0;
    color: var(--public-white);
    background: var(--public-brand-dark);
  }
  .newyoung-home__safety-inner {
    padding-inline: 0;
    container-type: inline-size;
  }
  .newyoung-home__safety-title {
    margin-bottom: var(--section-md);
    padding-top: var(--section-sm);
    padding-inline: clamp(var(--gutter), 6.25vw, var(--section-lg));
    font-size: clamp(2.4rem, 9.2vw, 15rem);
    font-size: clamp(2.4rem, 9.4cqw, 15rem);
  }
  .newyoung-home__safety-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid color-mix(in srgb, var(--public-white) 24%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--public-white) 24%, transparent);
  }
  .newyoung-home__safety-item {
    display: grid;
    align-content: start;
    padding: var(--section-md) var(--section-lg);
  }
  .newyoung-home__safety-item + .newyoung-home__safety-item {
    border-left: 1px solid color-mix(in srgb, var(--public-white) 24%, transparent);
  }
  .newyoung-home__safety-item-description {
    max-width: 48rem;
    margin-top: var(--public-space-xs);
    text-wrap: pretty;
  }
  .newyoung-home__safety-copy {
    max-width: 48rem;
    margin-top: var(--public-space-md);
    text-wrap: pretty;
  }
  .newyoung-home__safety-copy-body {
    display: block;
  }
  @media (min-width: 1024px) {
    .newyoung-home__safety-item:nth-child(2) {
      padding-inline-end: calc(var(--section-lg) - var(--public-space-xl));
    }
    .newyoung-home__safety-item:nth-child(2) .newyoung-home__safety-copy {
      max-width: none;
    }
  }
  .newyoung-home__safety-art {
    width: min(100%, 56.4rem);
    margin-top: var(--public-space-2xl);
    overflow: visible;
    color: var(--public-brand-surface);
  }
  .newyoung-home__safety-art .newyoung-home__line-art-svg {
    opacity: 0.48;
  }
  .newyoung-home__reservation {
    min-height: 64rem;
    background: var(--public-brand-surface);
  }
  .newyoung-home__reservation-media {
    opacity: 1;
  }
  .newyoung-home__reservation-content {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
    gap: var(--public-space-md);
    text-align: center;
  }
  .newyoung-home__reservation-copy {
    max-width: 58rem;
    color: var(--public-muted);
    text-wrap: pretty;
  }
  .newyoung-home__reservation-copy br {
    display: initial;
  }
  .newyoung-home__reservation-copy-mobile {
    display: none;
  }
  @media (max-width: 767px) {
    .newyoung-home__reservation-copy-desktop {
      display: none;
    }
    .newyoung-home__reservation-copy-mobile {
      display: inline;
    }
  }
  .newyoung-home__reservation-content .public-button {
    margin-top: var(--public-space-sm);
  }
  .newyoung-home__reservation-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    margin: var(--section-sm) 0 0;
    gap: 0;
    border-top: 1px solid var(--public-line-strong);
    border-bottom: 1px solid var(--public-line-strong);
    text-align: left;
  }
  .newyoung-home__reservation-detail {
    display: grid;
    align-content: start;
    min-width: 0;
    padding: clamp(4rem, 1.5533980583vw + 3.4174757282rem, 6.4rem) clamp(2.8rem, 2.8478964401vw + 1.732038835rem, 7.2rem);
    gap: var(--public-space-lg);
  }
  .newyoung-home__reservation-detail + .newyoung-home__reservation-detail {
    border-left: 1px solid var(--public-line-strong);
  }
  .newyoung-home__reservation-detail dd {
    display: grid;
    gap: var(--public-space-xs);
    margin: 0;
  }
  .newyoung-home__reservation-row {
    display: grid;
    grid-template-columns: minmax(5.6rem, 7.2rem) minmax(0, 1fr);
    align-items: baseline;
    gap: var(--public-space-sm);
  }
  .newyoung-home__reservation-label {
    font-weight: var(--font-weight-regular);
  }
  .newyoung-home__reservation-value {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .newyoung-home__reservation-detail a {
    color: inherit;
    text-decoration: none;
  }
  @media (max-width: 1023px) {
    .newyoung-home__about-inner, .newyoung-home__doctor-inner {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .newyoung-home__doctor-copy {
      grid-column: 1/-1;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: end;
    }
    .newyoung-home__doctor-copy .public-button {
      align-self: end;
    }
  }
  @media (max-width: 767px) {
    .newyoung-home__hero {
      min-height: max(68rem, 100svh);
    }
    .newyoung-home__hero-title {
      max-width: 18ch;
    }
    .newyoung-home__about-title {
      font-size: clamp(1.8rem, 6.1vw, 2.6rem);
    }
    .newyoung-home__hero-media {
      object-position: 58% center;
    }
    .newyoung-home__hero-mark {
      height: 9rem;
      margin-bottom: var(--public-space-xs);
    }
    .newyoung-home__about-inner, .newyoung-home__program-intro-inner, .newyoung-home__doctor-inner, .newyoung-home__doctor-copy, .newyoung-home__safety-grid, .newyoung-home__reservation-details, .newyoung-home__reservation-detail {
      grid-template-columns: minmax(0, 1fr);
    }
    .newyoung-home__reservation-detail {
      padding-inline: var(--public-space-xl);
    }
    .newyoung-home__reservation-detail + .newyoung-home__reservation-detail {
      border-top: 1px solid var(--public-line-strong);
      border-left: 0;
    }
    .newyoung-home__about-art {
      max-width: 48rem;
      justify-self: center;
    }
    .newyoung-home__program-intro-inner {
      grid-template-columns: minmax(0, 1fr);
      grid-template-rows: auto;
      gap: var(--public-space-2xl);
    }
    .newyoung-home__program-intro-heading, .newyoung-home__program-intro-content {
      grid-column: auto;
      grid-row: auto;
    }
    .newyoung-home__program-intro-content {
      align-self: auto;
    }
    .newyoung-home__program-intro > .no-section-lg {
      min-height: 0;
    }
    .newyoung-home__program {
      position: relative;
      height: auto;
      min-height: max(64rem, 100svh);
    }
    .newyoung-home__program-media {
      top: 0;
      height: 100%;
    }
    .newyoung-home__program-card {
      top: auto;
      right: var(--public-shell-gutter);
      bottom: var(--public-shell-gutter);
      left: var(--public-shell-gutter);
      width: auto;
      padding: var(--public-space-xl);
      translate: none;
    }
    .newyoung-home__doctor-heading, .newyoung-home__doctor-copy {
      grid-column: auto;
    }
    .newyoung-home__doctor-portrait {
      min-height: 52rem;
    }
    .newyoung-home__private {
      min-height: 0;
      padding-top: 0;
      background: var(--public-brand-dark);
    }
    .newyoung-home__private-media {
      position: relative;
      z-index: 0;
      height: auto;
      aspect-ratio: 16/9;
      object-fit: contain;
    }
    .newyoung-home__private-shade {
      display: none;
    }
    .newyoung-home__private-inner {
      padding-top: var(--public-space-xl);
    }
    .newyoung-home__private-copy {
      margin-left: 0;
    }
    .newyoung-home__safety {
      border-top: 1px solid color-mix(in srgb, var(--public-brand-line) 20%, transparent);
      background: color-mix(in srgb, var(--public-brand-dark) 80%, var(--public-brand-accent));
    }
    .newyoung-home__safety-grid {
      margin-inline: var(--gutter);
    }
    .newyoung-home__safety-item {
      padding-inline: 0;
    }
    .newyoung-home__safety-item + .newyoung-home__safety-item {
      border-top: 1px solid color-mix(in srgb, var(--public-white) 24%, transparent);
      border-left: 0;
    }
    .newyoung-home__reservation {
      min-height: 72rem;
    }
    .newyoung-home__reservation-details {
      gap: var(--public-space-xl);
    }
  }
  @media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
    html.is-newyoung-intro-complete .newyoung-home__hero-media {
      animation: home-hero-media-breathe 36s ease-in-out infinite alternate;
      will-change: transform;
    }
  }
  @keyframes home-hero-media-breathe {
    from {
      transform: scale(1);
    }
    to {
      transform: scale(1.035);
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .newyoung-home__program {
      position: relative;
      top: auto;
    }
    .newyoung-home__program-media {
      top: 0;
      height: 100%;
    }
  }
  .newyoung-signature,
  .newyoung-signature-detail {
    overflow: clip;
    color: var(--public-ink);
    background: var(--public-brand-surface);
  }
  .newyoung-signature__hero, .newyoung-signature__intro, .newyoung-signature__why {
    position: relative;
    isolation: isolate;
    overflow: hidden;
  }
  .newyoung-signature__hero {
    display: grid;
    min-height: clamp(64rem, 56.25vw, 108rem);
    place-items: center;
  }
  .newyoung-signature__hero::after {
    position: absolute;
    z-index: 0;
    inset: 0;
    background: linear-gradient(116deg, color-mix(in srgb, var(--public-brand-ink) 12%, transparent), transparent 38%, color-mix(in srgb, var(--public-white) 8%, transparent) 64%, color-mix(in srgb, var(--public-brand-ink) 10%, transparent));
    content: "";
    opacity: 0.62;
    pointer-events: none;
    transition: opacity 1.2s ease;
  }
  .newyoung-signature__hero-light {
    position: absolute;
    z-index: 1;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    mix-blend-mode: soft-light;
    opacity: 0;
    pointer-events: none;
    transition: opacity 1.5s ease;
  }
  .newyoung-signature__hero.is-webgl-light-active::after {
    opacity: 0.14;
  }
  .newyoung-signature__hero.is-webgl-light-active .newyoung-signature__hero-light {
    opacity: 0.96;
  }
  .newyoung-signature__hero-media, .newyoung-signature__intro-media, .newyoung-signature__why-media {
    position: absolute;
    z-index: -1;
    inset: 0;
    height: 100%;
    aspect-ratio: auto;
  }
  .newyoung-signature__hero-media .no-auto-cover__img, .newyoung-signature__intro-media .no-auto-cover__img, .newyoung-signature__why-media .no-auto-cover__img {
    object-position: center;
  }
  .newyoung-signature__hero-content {
    position: relative;
    z-index: 2;
    display: grid;
    justify-items: center;
    gap: var(--public-space-md);
    text-align: center;
  }
  .newyoung-signature__eyebrow {
    color: inherit;
  }
  .newyoung-signature__hero-title {
    max-width: 25ch;
    text-wrap: balance;
  }
  .newyoung-signature__hero-period, .newyoung-signature__mobile-copy {
    display: none;
  }
  .newyoung-signature__intro-title, .newyoung-signature__program-title {
    scroll-margin-top: calc(var(--public-header-height) + 2.4rem);
  }
  @media (min-width: 1024px) {
    .newyoung-signature__hero-title {
      max-width: none;
    }
  }
  @media (max-width: 1023px) {
    .newyoung-signature__hero-period {
      display: inline;
    }
    .newyoung-signature__mobile-copy {
      display: block;
    }
    .newyoung-signature__desktop-copy {
      display: none;
    }
  }
  .newyoung-signature__intro {
    display: grid;
    min-height: 100vh;
    place-items: center;
    background: var(--public-brand-surface);
  }
  .newyoung-signature__intro-inner {
    display: grid;
    justify-items: center;
    gap: var(--public-space-md);
    text-align: center;
  }
  .newyoung-signature__intro-text, .newyoung-signature__intro-copy {
    display: grid;
    justify-items: center;
  }
  .newyoung-signature__intro-text {
    font-size: var(--heading-xs-fs);
    gap: 1.5em;
  }
  .newyoung-signature__intro-title {
    max-width: 36ch;
    text-wrap: balance;
  }
  .newyoung-signature__intro-copy {
    color: var(--public-muted);
  }
  .newyoung-signature__intro-copy p {
    text-wrap: pretty;
  }
  .newyoung-signature__catalog {
    position: relative;
    background: var(--public-brand-surface-strong);
  }
  .newyoung-signature__programs {
    position: relative;
  }
  .newyoung-signature__program {
    --signature-program-overlay-opacity: 0;
    position: relative;
    isolation: isolate;
    background: var(--public-brand-surface-strong);
  }
  .newyoung-signature__program::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: var(--public-brand-ink);
    content: "";
    opacity: var(--signature-program-overlay-opacity);
    pointer-events: none;
  }
  .newyoung-signature__program-inner {
    position: relative;
    display: grid;
    width: min(100% - var(--public-shell-gutter) * 2, var(--public-shell-max));
    max-width: none;
    margin-inline: auto;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: auto 32svh auto minmax(0, 1fr);
    column-gap: var(--public-space-sm);
    row-gap: var(--section-sm);
    min-height: max(52rem, 100svh);
    padding-block: var(--section-sm);
  }
  .newyoung-signature__program-heading {
    position: relative;
    grid-column: 1/-1;
    grid-row: 1;
    display: grid;
    align-content: start;
    padding-bottom: var(--public-space-md);
  }
  .newyoung-signature__program-heading::after {
    position: absolute;
    right: calc(50% - 50vw);
    bottom: 0;
    left: calc(50% - 50vw);
    height: 1px;
    background: color-mix(in srgb, var(--public-ink) 46%, transparent);
    content: "";
  }
  .newyoung-signature__program-title {
    max-width: none;
    text-wrap: balance;
  }
  .newyoung-signature__program-copy, .newyoung-signature__program-process {
    max-width: 64rem;
  }
  .newyoung-signature__program-copy {
    grid-column: 1/span 10;
    grid-row: 2;
    max-width: none;
    align-self: start;
    color: var(--public-muted);
    columns: 2;
    column-gap: var(--public-space-sm);
  }
  .newyoung-signature__program-copy p {
    break-inside: avoid;
    text-wrap: pretty;
  }
  .newyoung-signature__program-copy--columns {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
    columns: auto;
  }
  .newyoung-signature__program-copy-column br {
    display: initial;
  }
  .newyoung-signature__program-copy-line {
    display: block;
  }
  .newyoung-signature__program-copy-column:first-child p {
    color: var(--public-ink);
    font-size: clamp(1.7rem, 1.3vw, 2rem);
    font-weight: var(--font-weight-medium);
    line-height: 1.65;
  }
  .newyoung-signature__program--tailored-collagen-booster .newyoung-signature__program-copy-column:last-child p {
    text-wrap: balance;
  }
  .newyoung-signature__program-process {
    grid-column: 5/span 6;
    grid-row: 3;
    width: 100%;
    max-width: none;
    align-self: start;
  }
  .newyoung-signature__program-process-label {
    margin-bottom: var(--public-space-xs);
  }
  .newyoung-signature__program-process-list {
    border-top: 0;
  }
  .newyoung-signature__program-process-list li {
    display: grid;
    grid-template-columns: 1.2rem minmax(0, 1fr);
    gap: var(--public-space-2xs);
    padding-block: 0.1rem;
    border-bottom: 1px solid color-mix(in srgb, var(--public-ink) 46%, transparent);
    color: var(--public-muted);
  }
  .newyoung-signature__program-process-list li::before {
    content: "•";
    color: var(--public-ink);
  }
  .newyoung-signature__program-action {
    grid-column: 11/-1;
    grid-row: 2;
    display: grid;
    align-self: start;
    align-content: start;
    justify-items: stretch;
    gap: var(--public-space-md);
  }
  .newyoung-signature__program-icon {
    display: grid;
    width: min(100%, var(--public-treatment-pictogram-frame-lg));
    min-height: var(--public-treatment-pictogram-frame-lg);
    place-items: center;
    justify-self: center;
  }
  .newyoung-signature__program-icon .no-auto-cover {
    width: 100%;
    background: transparent;
  }
  .newyoung-signature__program-icon .no-auto-cover__img {
    mix-blend-mode: normal;
    object-fit: contain;
  }
  .newyoung-signature__program-action .public-button, .newyoung-signature__program-listen.public-button {
    min-width: 0;
    --public-button-min-height: var(--public-control-lg);
    --public-button-padding-inline: var(--public-space-sm);
    white-space: nowrap;
  }
  .newyoung-signature__program-action .public-button {
    width: 100%;
  }
  .newyoung-signature__program-action .public-button__icon i, .newyoung-signature__program-listen .public-button__icon i {
    font-size: var(--public-icon-sm);
    font-weight: var(--font-weight-regular);
  }
  .newyoung-signature__program-listen {
    color: var(--public-brand-ink);
    border-color: var(--public-brand-ink);
    background: transparent;
  }
  .newyoung-signature__program-buttons {
    display: grid;
    width: 100%;
    gap: var(--public-space-xs);
  }
  @media (max-width: 1023px) {
    .newyoung-signature__program-copy {
      grid-column: 1/span 9;
    }
    .newyoung-signature__program-action {
      grid-column: 10/-1;
    }
    .newyoung-signature__program-action .public-button, .newyoung-signature__program-listen.public-button {
      --public-button-padding-inline: var(--public-space-2xs);
      font-size: 1.4rem;
    }
  }
  @media (min-width: 768px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .newyoung-signature__catalog.is-sticky-motion .newyoung-signature__programs {
      will-change: transform;
    }
    .newyoung-signature__catalog.is-sticky-motion .newyoung-signature__program {
      position: sticky;
    }
    .newyoung-signature__catalog.is-sticky-motion .newyoung-signature__program-inner {
      min-height: max(52rem, 100svh);
    }
  }
  .newyoung-signature__why {
    min-height: 68rem;
    color: var(--public-white);
  }
  .newyoung-signature__why::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(90deg, color-mix(in srgb, var(--public-brand-ink) 78%, transparent), transparent 74%);
    content: "";
  }
  .newyoung-signature__why-inner {
    display: grid;
    align-content: center;
    justify-items: start;
    min-height: inherit;
    gap: var(--public-space-md);
  }
  .newyoung-signature__why-copy {
    max-width: 44rem;
  }
  .newyoung-signature__why-copy {
    color: color-mix(in srgb, var(--public-white) 72%, transparent);
    text-wrap: pretty;
  }
  .newyoung-signature__why .public-button {
    margin-top: var(--public-space-sm);
  }
  .newyoung-signature__why .public-button--outline {
    color: var(--public-white);
    border-color: var(--public-white);
  }
  @media (max-width: 767px) {
    .newyoung-signature__hero {
      min-height: 68rem;
    }
    .newyoung-signature__hero-title {
      max-width: none;
      font-size: clamp(1.8rem, 5.8vw, 3.2rem);
      line-height: 1.45;
    }
    .newyoung-signature__hero-media .no-auto-cover__img {
      object-position: 46% center;
    }
    .newyoung-signature__program + .newyoung-signature__program {
      border-top: 2px solid color-mix(in srgb, var(--public-ink) 68%, transparent);
    }
    .newyoung-signature__program-inner {
      grid-template-columns: minmax(0, 1fr);
      grid-template-areas: "heading" "action" "copy" "process";
      grid-template-rows: auto;
      min-height: 0;
      padding-inline: 0;
      padding-block: var(--section-sm);
      gap: var(--public-space-xl);
    }
    .newyoung-signature__program-title {
      font-size: clamp(2.4rem, 6.4vw, 3.6rem);
    }
    .newyoung-signature__program-action {
      grid-column: auto;
      grid-row: auto;
      grid-area: action;
      width: min(100%, 31.6rem);
      justify-self: center;
      justify-items: stretch;
    }
    .newyoung-signature__program-copy {
      grid-column: auto;
      grid-row: auto;
      grid-area: copy;
      columns: 1;
    }
    .newyoung-signature__program-copy--columns {
      grid-template-columns: minmax(0, 1fr);
      row-gap: var(--public-space-md);
    }
    .newyoung-signature__program-copy-column:first-child p {
      font-size: clamp(1.6rem, 4.3vw, 2rem);
    }
    .newyoung-signature__program-heading {
      grid-column: auto;
      grid-row: auto;
      grid-area: heading;
    }
    .newyoung-signature__program-process {
      grid-column: auto;
      grid-row: auto;
      grid-area: process;
    }
    .newyoung-signature__program-icon {
      width: min(100%, var(--public-treatment-pictogram-frame-lg));
      min-height: var(--public-treatment-pictogram-frame-lg);
    }
    .newyoung-signature__program-action .public-button {
      width: 100%;
    }
    .newyoung-signature__program-buttons {
      width: 100%;
    }
    .newyoung-signature__why {
      min-height: 62rem;
    }
    .newyoung-signature__why-media .no-auto-cover__img {
      object-position: 64% center;
    }
    .newyoung-signature__why::after {
      background: linear-gradient(0deg, color-mix(in srgb, var(--public-brand-ink) 86%, transparent), transparent 82%);
    }
  }
  .newyoung-signature__program-icon--wide {
    width: 100%;
  }
  @media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
    .newyoung-signature-detail__visual::before {
      animation: signature-detail-gradient-drift-primary 18s ease-in-out infinite alternate;
    }
    .newyoung-signature-detail__visual::after {
      animation: signature-detail-gradient-drift-secondary 22s ease-in-out infinite alternate;
    }
  }
  @keyframes signature-detail-gradient-drift-primary {
    from {
      transform: translate3d(-4%, -2%, 0) rotate(-5deg) scale(1.04);
    }
    to {
      transform: translate3d(7%, 5%, 0) rotate(7deg) scale(1.14);
    }
  }
  @keyframes signature-detail-gradient-drift-secondary {
    from {
      transform: translate3d(5%, 3%, 0) rotate(7deg) scale(1.08);
    }
    to {
      transform: translate3d(-7%, -4%, 0) rotate(-8deg) scale(1.16);
    }
  }
  @media (prefers-reduced-motion: no-preference) {
    .newyoung-signature__hero-media {
      animation: signature-hero-media-enter 1.8s ease-out both;
    }
    .newyoung-signature__hero-content {
      animation: signature-hero-copy-enter 1.4s cubic-bezier(0.16, 1, 0.3, 1) 0.28s both;
    }
  }
  @media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
    .newyoung-signature__hero .newyoung-signature__hero-media .no-auto-cover__img {
      animation: signature-hero-image-drift 32s ease-in-out infinite alternate;
      will-change: transform;
    }
  }
  @keyframes signature-hero-media-enter {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @keyframes signature-hero-copy-enter {
    from {
      opacity: 0;
      transform: translate3d(0, 1.6rem, 0);
    }
    to {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
  }
  @keyframes signature-hero-image-drift {
    from {
      transform: translate3d(-1.1%, 0.3%, 0) scale(1.025);
    }
    to {
      transform: translate3d(1.2%, -0.8%, 0) scale(1.065);
    }
  }
  .newyoung-signature-detail__hero, .newyoung-signature-detail__overview {
    position: relative;
    isolation: isolate;
    overflow: hidden;
  }
  .newyoung-signature-detail__hero {
    display: grid;
    min-height: clamp(58rem, 48vw, 86rem);
    align-items: end;
  }
  .newyoung-signature-detail__hero-media, .newyoung-signature-detail__overview-media {
    position: absolute;
    z-index: -1;
    inset: 0;
    height: 100%;
    aspect-ratio: auto;
  }
  .newyoung-signature-detail__hero-content {
    display: grid;
    gap: var(--public-space-sm);
    padding-bottom: var(--section-md);
  }
  .newyoung-signature-detail__title {
    max-width: 20ch;
  }
  .newyoung-signature-detail__name, .newyoung-signature-detail__overview-copy {
    color: var(--public-muted);
  }
  .newyoung-signature-detail__overview {
    min-height: 62rem;
  }
  .newyoung-signature-detail__overview-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(16rem, 0.45fr);
    align-items: center;
    min-height: inherit;
    gap: var(--section-sm);
  }
  .newyoung-signature-detail__overview-heading {
    display: grid;
    gap: var(--public-space-md);
  }
  .newyoung-signature-detail__overview-title, .newyoung-signature-detail__overview-copy {
    max-width: 58rem;
  }
  .newyoung-signature-detail__icon {
    display: grid;
    width: min(100%, var(--public-treatment-pictogram-frame-lg));
    min-height: var(--public-treatment-pictogram-frame-lg);
    justify-self: center;
    place-items: center;
  }
  .newyoung-signature-detail__process {
    background: var(--public-brand-surface-strong);
  }
  .newyoung-signature-detail__process-inner, .newyoung-signature-detail__process-heading {
    display: grid;
  }
  .newyoung-signature-detail__process-inner {
    gap: var(--public-space-2xl);
  }
  .newyoung-signature-detail__process-heading {
    gap: var(--public-space-sm);
  }
  .newyoung-signature-detail__process-title {
    max-width: 28ch;
  }
  .newyoung-signature-detail__process-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--public-line-strong);
    border-bottom: 1px solid var(--public-line-strong);
  }
  .newyoung-signature-detail__process-list li {
    display: grid;
    align-content: start;
    min-height: 20rem;
    padding: var(--public-space-xl);
    gap: var(--public-space-md);
  }
  .newyoung-signature-detail__process-list li + li {
    border-left: 1px solid var(--public-line-strong);
  }
  .newyoung-signature-detail__process-list p, .newyoung-signature-detail__process-number {
    color: var(--public-muted);
  }
  .newyoung-signature-detail__process-inner .public-button {
    justify-self: start;
  }
  @media (max-width: 767px) {
    .newyoung-signature-detail__hero {
      min-height: 64rem;
    }
    .newyoung-signature-detail__hero-media .no-auto-cover__img {
      object-position: 48% center;
    }
    .newyoung-signature-detail__overview {
      min-height: 58rem;
    }
    .newyoung-signature-detail__overview-inner, .newyoung-signature-detail__process-list {
      grid-template-columns: minmax(0, 1fr);
    }
    .newyoung-signature-detail__icon {
      width: var(--public-treatment-pictogram-frame-md);
      min-height: var(--public-treatment-pictogram-frame-md);
      justify-self: start;
    }
    .newyoung-signature-detail__process-list li {
      min-height: 0;
      padding-inline: 0;
    }
    .newyoung-signature-detail__process-list li + li {
      border-top: 1px solid var(--public-line-strong);
      border-left: 0;
    }
  }
  .clinic-rail {
    background: var(--public-ink);
    color: var(--public-brand-surface);
  }
  .clinic-rail__viewport {
    height: 100svh;
    min-height: 60rem;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    scrollbar-color: var(--public-brand-accent) transparent;
  }
  .clinic-rail.is-pinned .clinic-rail__viewport {
    overflow: clip;
  }
  .clinic-rail__track {
    display: flex;
    width: max-content;
    height: 100%;
    gap: 2.4rem;
    padding: 12rem 7.3vw 4.8rem;
  }
  .clinic-rail__intro {
    width: 39vw;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 4vw;
    border-right: 1px solid rgba(246, 241, 234, 0.25);
    margin-right: 2.4rem;
  }
  .clinic-rail__intro > .clinic-space__media {
    width: 12vw;
    height: 16vw;
    max-height: 22vh;
    margin-bottom: 2rem;
    flex-shrink: 0;
  }
  .clinic-rail__intro h2 {
    font-size: clamp(3rem, 2.5vw, 4.8rem);
    margin: 2.4rem 0;
  }
  .clinic-rail__intro > span {
    font-size: 1.8rem;
  }
  .clinic-rail__photo {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 36vw;
    flex-shrink: 0;
  }
  .clinic-rail__photo .clinic-space__media {
    flex: 1;
    min-height: 0;
  }
  .clinic-rail__photo figcaption {
    font-family: "Manrope", sans-serif;
    font-size: 1.8rem;
  }
  .clinic-rail__photo:nth-of-type(n+2), .clinic-rail__photo--wide {
    width: 70vw;
  }
  .clinic-space [id] {
    scroll-margin-top: calc(var(--public-header-height) + 2.4rem);
  }
  .clinic-space p br {
    display: initial;
  }
  .clinic-space__copy-mobile {
    display: none;
  }
  .clinic-space {
    --color-background-space-dark: #050403;
    --space-background-darkness: 0%;
    --space-background-warmth: 0%;
  }
  .clinic-space.has-background-transitions {
    background: color-mix(in srgb, color-mix(in srgb, var(--public-ink), var(--color-background-space-dark) var(--space-background-darkness)), var(--public-ink) var(--space-background-warmth));
  }
  .clinic-space.has-background-transitions .clinic-space__promise, .clinic-space.has-background-transitions .clinic-space__privacy, .clinic-space.has-background-transitions .clinic-space__calm, .clinic-space.has-background-transitions .clinic-space__beyond {
    background: transparent;
  }
  .clinic-space__media {
    position: relative;
    overflow: hidden;
    min-width: 0;
  }
  .clinic-space__media > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .clinic-space__hero {
    position: relative;
    height: 100svh;
    min-height: 65rem;
    overflow: hidden;
    color: var(--public-brand-surface);
  }
  .clinic-space__hero > .clinic-space__media {
    position: absolute;
    inset: 0;
  }
  .clinic-space__hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: color-mix(in srgb, var(--public-ink) 40%, transparent);
    pointer-events: none;
  }
  .clinic-space__hero p {
    order: -1;
    align-self: flex-end;
    width: 30vw;
    margin: 0;
    font-size: clamp(1.6rem, 1.25vw, 2.4rem);
    line-height: 1.61;
  }
  .clinic-space__hero h1 {
    font-family: var(--font-display-family);
    font-size: 9.791667vw;
    white-space: nowrap;
    line-height: 1.35;
    letter-spacing: -0.02em;
    margin: 0;
  }
  .clinic-space__hero h1 span {
    white-space: nowrap;
  }
  .clinic-space__hero-copy {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: max(7.5vw, var(--public-header-height) + 2.4rem) 5.260417vw 0;
  }
  .clinic-space__arrival .clinic-rail__intro {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 12.135417vw;
    grid-template-rows: auto 1fr;
    width: 41.875vw;
    padding-right: 6.770833vw;
    margin-right: 0;
    border: 0;
  }
  .clinic-space__arrival .clinic-rail__intro::after {
    content: "";
    position: absolute;
    top: -12rem;
    bottom: -4.8rem;
    right: 2.708333vw;
    width: 1px;
    background: var(--public-brand-accent);
  }
  .clinic-space__arrival .clinic-rail__intro > span {
    grid-area: 1/1;
    align-self: start;
    font-size: clamp(1.4rem, 1.041667vw, 2rem);
  }
  .clinic-space__arrival .clinic-rail__intro > .clinic-space__media {
    grid-area: 1/2;
    width: 100%;
    height: 15.677083vw;
    max-height: none;
    margin: 0;
  }
  .clinic-space__arrival .clinic-rail__intro > .clinic-space__media img {
    object-position: 82% center;
  }
  .clinic-space__arrival .clinic-rail__copy {
    grid-column: 1/-1;
    align-self: end;
    padding-top: 3rem;
  }
  .clinic-space__arrival .clinic-rail__copy h2 {
    margin: 0 0 1.6rem;
    line-height: 1.5;
  }
  .clinic-space__arrival .clinic-rail__copy p {
    margin: 0;
    font-size: clamp(1.6rem, 1.25vw, 2.4rem);
    line-height: 1.61;
  }
  .clinic-space__arrival .clinic-rail__copy p + p {
    margin-top: 1.6rem;
    font-size: var(--body-md-fs);
    line-height: var(--body-md-lh);
  }
  @media (max-width: 1023px) {
    .clinic-space__arrival .clinic-rail__track {
      padding-top: max(3rem, var(--public-header-height) + 2.4rem);
    }
    .clinic-space__arrival .clinic-rail__intro {
      width: 75vw;
      padding-right: 4rem;
      grid-template-columns: 1fr 18rem;
    }
    .clinic-space__arrival .clinic-rail__intro::after {
      top: -3rem;
      bottom: -3rem;
      right: 1.2rem;
    }
    .clinic-space__arrival .clinic-rail__intro > .clinic-space__media {
      height: 22rem;
    }
  }
  @media (max-width: 767px) {
    .clinic-space__arrival .clinic-rail__intro {
      width: 85vw;
      grid-template-columns: 1fr 12rem;
    }
    .clinic-space__arrival .clinic-rail__intro > .clinic-space__media {
      height: 15.5rem;
    }
    .clinic-space__arrival .clinic-rail__copy {
      padding-top: 2rem;
    }
    .clinic-space__arrival .clinic-rail__copy h2 {
      font-size: 2.4rem;
    }
  }
  .clinic-space__promise {
    position: relative;
    min-height: 100svh;
    background: var(--public-ink);
    color: var(--public-brand-surface);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: max(12rem, var(--public-header-height) + 2.4rem) 2.4rem;
  }
  .clinic-space__promise p {
    max-width: 55.4rem;
    font-size: clamp(1.8rem, 1.46vw, 2.8rem);
    line-height: 1.61;
  }
  .clinic-space__promise-copy {
    display: grid;
    gap: 3rem;
  }
  .clinic-space__promise-label {
    position: absolute;
    inset-inline: 2.4rem;
    bottom: clamp(3.2rem, 6svh, 8rem);
    display: grid;
    justify-items: center;
    gap: 0.8rem;
    font-size: 1.6rem;
  }
  .clinic-space__promise-label img {
    width: auto;
  }
  .clinic-space__privacy {
    background: var(--color-background-space-dark);
  }
  .clinic-space__privacy .clinic-rail__intro {
    width: 34vw;
    text-align: center;
    border: 0;
  }
  .clinic-space__rooms {
    display: grid;
    grid-template-rows: 1fr 1fr;
    grid-auto-flow: column;
    grid-auto-columns: 36.6vw;
    gap: 2.4rem;
    height: 100%;
  }
  .clinic-space__rooms figure {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
  }
  .clinic-space__rooms .clinic-space__media {
    min-height: 0;
    flex: 1;
  }
  .clinic-space__rooms figcaption {
    font-size: 1.5rem;
  }
  .clinic-space__panel {
    width: 100vw;
    flex-shrink: 0;
    min-height: 56.25vw;
    padding: 7.2vw;
    background: var(--public-ink);
    color: var(--public-brand-surface);
    display: grid;
    grid-template-columns: 1fr 1fr 0.85fr;
    align-items: center;
    gap: 6rem;
  }
  .clinic-space__panel h2 {
    font-size: clamp(3rem, 2.5vw, 4.8rem);
  }
  .clinic-space__panel > .clinic-space__media {
    aspect-ratio: 2/3;
    height: 100%;
    max-height: 75vh;
  }
  .clinic-space__panel p {
    font-size: clamp(1.6rem, 1.25vw, 2.4rem);
  }
  .clinic-space__panel > header p {
    margin-top: 2rem;
  }
  .clinic-space__calm {
    background: var(--color-background-space-dark);
  }
  .clinic-space__calm > header {
    align-self: start;
  }
  .clinic-space__calm > p {
    align-self: end;
  }
  .clinic-space__beyond {
    background: var(--public-ink);
    color: var(--public-brand-surface);
  }
  .clinic-space__stage {
    padding: 7.2vw;
  }
  .clinic-space__stage h2 {
    font-size: clamp(3rem, 2.5vw, 4.8rem);
  }
  .clinic-space__scenes {
    display: grid;
    gap: 6rem;
    margin-top: 4rem;
  }
  .clinic-space__scene {
    display: grid;
    grid-template-columns: 1fr 0.85fr;
    align-items: center;
    gap: 6rem;
  }
  .clinic-space__scene .clinic-space__media {
    width: 100%;
    aspect-ratio: 2/3;
    max-height: 70svh;
  }
  .clinic-space__scene p {
    font-size: clamp(1.6rem, 1.25vw, 2.4rem);
  }
  .clinic-space__beyond.is-pinned .clinic-space__stage {
    display: grid;
    grid-template-columns: 1fr 1.85fr;
    align-items: center;
    gap: 6rem;
    height: 100svh;
    padding-block: max(3rem, var(--public-header-height)) 3rem;
  }
  .clinic-space__beyond.is-pinned .clinic-space__scenes {
    gap: 0;
    margin: 0;
    min-height: 0;
  }
  .clinic-space__beyond.is-pinned .clinic-space__scene {
    grid-area: 1/1;
    min-width: 0;
    min-height: 0;
  }
  .clinic-doctor :is(h2, p) br {
    display: initial;
  }
  .clinic-doctor .newyoung-doctor-visual-hero__title {
    font-size: clamp(2.8rem, 2.5vw, 4.8rem);
    line-height: 1;
  }
  .clinic-doctor .newyoung-doctor-section__title {
    font-size: 2.4rem;
  }
  .clinic-doctor .newyoung-doctor-section__paragraph {
    font-size: var(--body-md-fs);
  }
  .clinic-doctor__approach {
    background: linear-gradient(rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.35)), url("/assets/images/about/doctor-approach.png") center/cover;
  }
  @media (min-width: 1024px) and (hover: hover) and (prefers-reduced-motion: no-preference) {
    .clinic-doctor__approach {
      background-attachment: fixed;
    }
  }
  .clinic-doctor__approach > div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20%;
    padding: 18vw 14% 5vw;
    align-items: start;
  }
  .clinic-doctor__approach h2 {
    font-size: clamp(3rem, 2.5vw, 4.8rem);
  }
  .clinic-doctor__approach p {
    margin: 0;
  }
  .clinic-doctor__global h2 {
    font-size: clamp(3rem, 2.5vw, 4.8rem);
  }
  .clinic-doctor__global .clinic-rail__viewport:focus-visible {
    outline: 2px solid var(--public-brand-accent);
    outline-offset: -4px;
  }
  .clinic-doctor__global .clinic-rail__track {
    position: relative;
    gap: 8vw;
    padding-block: max(12rem, 12svh) 6svh;
  }
  .clinic-doctor__global .clinic-rail__track::before {
    content: "";
    position: absolute;
    top: 48%;
    left: 0;
    right: 0;
    border-top: 1px solid rgba(246, 241, 234, 0.2);
    pointer-events: none;
  }
  .clinic-doctor__global-intro {
    position: relative;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    width: 43vw;
    padding-right: 4vw;
  }
  .clinic-doctor__global-intro h2 {
    margin-bottom: 3rem;
  }
  .clinic-doctor__signature {
    color: color-mix(in srgb, var(--public-brand-surface) 55%, transparent);
  }
  .clinic-doctor__signature span {
    font-weight: var(--font-weight-regular);
  }
  .clinic-doctor__global-copy {
    max-width: 42rem;
    margin: auto 0 0;
    padding-top: 5rem;
  }
  .clinic-doctor__global-photos {
    position: relative;
    display: flex;
    flex-shrink: 0;
    gap: 8vw;
    align-items: center;
  }
  .clinic-doctor__global-photos img {
    flex-shrink: 0;
    min-width: 0;
    width: 48vw;
    height: auto;
    max-height: 100%;
    object-fit: contain;
  }
  .clinic-doctor__global-photos img:nth-child(3n+1) {
    width: 40vw;
  }
  .clinic-reset {
    --reset-section-space: clamp(7.2rem, 6.667vw, 12.8rem);
  }
  .clinic-reset__principles p br, .clinic-reset__journey li p br {
    display: initial;
  }
  .clinic-reset__journey > p br {
    display: none;
  }
  @media (max-width: 1023px) {
    .clinic-reset__journey > p br {
      display: initial;
    }
  }
  .clinic-reset__inner {
    width: min(71.04%, 136.4rem);
    margin: auto;
  }
  .clinic-reset__hero {
    min-height: max(100svh, 56.25vw);
    overflow: hidden;
  }
  .clinic-reset__hero .clinic-reset__water-surface {
    filter: brightness(0.75);
  }
  .clinic-reset__hero > .clinic-reset__hero-content {
    padding-top: clamp(13rem, 9.063vw, 17.4rem);
    padding-bottom: clamp(5rem, 4.167vw, 8rem);
    width: 100%;
    min-height: inherit;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
    align-content: end;
  }
  .clinic-reset__hero h1 {
    margin: 0;
    font-family: var(--font-sans-family);
    font-size: clamp(3.6rem, 5vw, 9.6rem);
    line-height: 1.1;
    letter-spacing: 0.04em;
  }
  .clinic-reset__hero h1 > span {
    display: block;
  }
  .clinic-reset__hero.has-water.is-water-moving .clinic-reset__water-surface > img {
    opacity: 0;
  }
  .clinic-reset__hero.has-water.is-water-moving canvas {
    opacity: 1;
  }
  .clinic-reset [data-reset-media] {
    overflow: hidden;
  }
  .clinic-reset__hero > .clinic-reset__hero-media {
    position: absolute;
    inset: 0;
    padding: 0;
    z-index: 0;
  }
  .clinic-reset__water-surface {
    position: absolute;
    inset: 0;
  }
  .clinic-reset__water-surface > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.25s;
  }
  .clinic-reset__water {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s;
  }
  .clinic-reset__hero-copy h2 {
    font-size: clamp(3.6rem, 3.33vw, 6.4rem);
  }
  .clinic-reset__hero-copy p {
    margin-top: clamp(2.4rem, 2.5vw, 4.8rem);
  }
  .clinic-reset__hero-copy p:first-of-type {
    font-weight: var(--font-weight-medium);
  }
  .clinic-reset__hero-copy p + p {
    font-size: clamp(1.6rem, 1.042vw, 2rem);
  }
  .clinic-reset__heading {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.4rem;
    align-items: start;
    margin-bottom: clamp(4rem, 4.167vw, 8rem);
  }
  .clinic-reset__heading h2 {
    font-size: clamp(3rem, 2.5vw, 4.8rem);
    font-weight: var(--font-weight-medium);
    line-height: 1.35;
  }
  .clinic-reset__heading p {
    font-size: clamp(1.6rem, 1.094vw, 2.1rem);
  }
  .clinic-reset__heading p + p {
    font-size: var(--body-md-fs);
    margin-top: 2rem;
  }
  .clinic-reset__intro {
    padding: var(--reset-section-space) 0;
    color: var(--public-brand-surface);
    background: var(--public-ink);
  }
  .clinic-reset__intro .clinic-reset__heading {
    align-items: center;
  }
  .clinic-reset__intro .clinic-reset__heading h2 {
    line-height: 1.65;
  }
  .clinic-reset__intro .clinic-reset__heading > div > p:first-child {
    font-size: clamp(1.6rem, 1.25vw, 2.4rem);
  }
  .clinic-reset__portrait {
    aspect-ratio: 1364/649;
  }
  .clinic-reset__portrait img {
    height: 100%;
  }
  .clinic-reset__principles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(1rem, 0.781vw, 1.5rem);
    margin-top: clamp(4rem, 4.167vw, 8rem);
  }
  .clinic-reset__principles article {
    aspect-ratio: 1;
    border: 1px solid rgba(246, 241, 234, 0.7);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 4rem;
  }
  .clinic-reset__principles article:nth-child(2) img {
    width: 80.64%;
  }
  .clinic-reset__principles article:nth-child(3) img {
    width: 94.3%;
  }
  .clinic-reset__principles h3 {
    font-size: clamp(2.2rem, 1.458vw, 2.8rem);
    font-weight: var(--font-weight-regular);
    line-height: 1.65;
  }
  .clinic-reset__principles p {
    color: var(--public-brand-accent-soft);
    font-size: var(--body-md-fs);
  }
  .clinic-reset__principle-icon {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: clamp(10rem, 8.594vw, 16.5rem);
    height: clamp(10rem, 8.594vw, 16.5rem);
    margin-bottom: 0.8rem;
  }
  .clinic-reset__principle-icon img {
    height: auto;
    object-fit: contain;
  }
  .clinic-reset__programs {
    position: relative;
    overflow: hidden;
    padding: var(--reset-section-space) 0 4rem;
    color: var(--public-brand-surface);
    background: var(--public-ink);
  }
  .clinic-reset__programs > .clinic-reset__inner {
    position: relative;
  }
  .clinic-reset__programs header h2 {
    font-weight: var(--font-weight-medium);
  }
  .clinic-reset__programs header p {
    margin-top: 2.1rem;
    font-size: clamp(1.6rem, 1.094vw, 2.1rem);
  }
  .clinic-reset__programs.is-enhanced .clinic-reset__program {
    display: grid;
  }
  .clinic-reset__programs.has-morph .clinic-reset__program > img {
    visibility: hidden;
  }
  .clinic-reset__programs.is-pinned {
    height: 100svh;
    padding: clamp(9rem, 13.33svh, 14.4rem) 0 3rem;
  }
  .clinic-reset__programs.is-pinned > .clinic-reset__inner {
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  .clinic-reset__programs.is-pinned .clinic-reset__program-selector {
    flex: 1;
    min-height: 0;
    grid-template-rows: minmax(0, 1fr) auto;
  }
  .clinic-reset__programs.is-pinned .clinic-reset__program {
    min-height: 0;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .clinic-reset__programs.is-pinned .clinic-reset__program > img, .clinic-reset__programs.is-pinned .clinic-reset__program-art {
    max-height: 37svh;
  }
  .clinic-reset__program-background {
    position: absolute;
    inset: 0;
  }
  .clinic-reset__program-background img {
    height: 100%;
  }
  .clinic-reset__program-selector {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 0;
    min-width: 0;
  }
  .clinic-reset__program-selector > input {
    top: auto;
    bottom: 2rem;
  }
  .clinic-reset__program-selector > label {
    grid-row: 2;
    cursor: pointer;
    text-align: center;
    padding: 2.4rem 1rem 1rem;
    border-top: 3px solid rgba(246, 241, 234, 0.25);
    margin: 0 1rem;
    font-size: clamp(1.4rem, 1.042vw, 2rem);
    transition: border-color 0.45s;
  }
  .clinic-reset__program-selector > input:checked + label {
    border-color: var(--public-brand-surface);
  }
  .clinic-reset__program-selector > input:focus-visible + label {
    outline: 2px solid currentColor;
    outline-offset: 4px;
  }
  .clinic-reset__program-selector > input:checked + label + article {
    display: grid;
  }
  .clinic-reset__program-art {
    width: clamp(22rem, 20.729vw, 39.8rem);
    max-width: 40%;
    aspect-ratio: 1;
    pointer-events: none;
    grid-area: 1/1/2/-1;
    align-self: center;
    justify-self: start;
    margin-left: 5.2%;
  }
  .clinic-reset__program-motion {
    width: 100%;
    height: 100%;
  }
  .clinic-reset__morph {
    display: block;
    width: 100%;
    height: 100%;
  }
  .clinic-reset__program {
    display: none;
    grid-row: 1;
    grid-column: 1/-1;
    grid-template-columns: 1fr 1fr;
    gap: 2.4rem;
    align-items: center;
    min-height: 56rem;
    padding: 7rem 0;
  }
  .clinic-reset__program > img {
    width: 100%;
    max-width: 39.8rem;
    aspect-ratio: 1;
    object-fit: contain;
    justify-self: center;
    filter: brightness(0) invert(94%) sepia(9%) saturate(230%);
  }
  .clinic-reset__program > div {
    max-width: 53.6rem;
  }
  .clinic-reset__program h3 {
    font-size: clamp(2.6rem, 1.667vw, 3.2rem);
    font-weight: var(--font-weight-medium);
    line-height: 1.65;
    margin-bottom: 2.4rem;
  }
  .clinic-reset__program p + p {
    margin-top: 1.6rem;
  }
  .clinic-reset__application {
    padding: var(--reset-section-space) 0;
    background: var(--public-surface-subtle);
  }
  .clinic-reset__application .clinic-reset__heading {
    align-items: center;
  }
  .clinic-reset__application .clinic-reset__heading h2 {
    font-size: clamp(3rem, 2.396vw, 4.6rem);
  }
  .clinic-reset__application-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.4rem;
  }
  .clinic-reset__application-grid h3 {
    font-size: clamp(2.2rem, 1.458vw, 2.8rem);
    font-weight: var(--font-weight-medium);
    line-height: 1.65;
    margin-bottom: 0.8rem;
  }
  .clinic-reset__application-grid p {
    font-size: var(--body-md-fs);
  }
  .clinic-reset__application-photo {
    aspect-ratio: 674/388;
    margin-bottom: 2.4rem;
  }
  .clinic-reset__application-photo img {
    height: 100%;
  }
  .clinic-reset__consultation {
    padding: var(--reset-section-space) 0 clamp(7.2rem, 8.724vw, 16.75rem);
    background: var(--public-brand-surface-strong);
  }
  .clinic-reset__consultation .clinic-reset__heading {
    align-items: center;
  }
  .clinic-reset__consultation .clinic-reset__heading p {
    font-size: clamp(1.6rem, 1.042vw, 2rem);
  }
  .clinic-reset__consultation-grid {
    display: grid;
    grid-template-columns: 660fr 674fr;
    gap: 1.6rem;
    align-items: center;
  }
  .clinic-reset__consultation-grid li {
    display: flex;
    gap: clamp(1.6rem, 1.25vw, 2.4rem);
    padding: clamp(2.4rem, 1.667vw, 3.2rem) 0;
    border-bottom: 1px solid color-mix(in srgb, var(--public-ink) 30%, transparent);
  }
  .clinic-reset__consultation-grid li:first-child {
    padding-top: 0;
  }
  .clinic-reset__consultation-grid li > span {
    flex: 0 0 clamp(2.8rem, 2.083vw, 4rem);
    font-size: 1.6rem;
    line-height: 3.6rem;
  }
  .clinic-reset__consultation-grid li h3 {
    font-size: clamp(2rem, 1.25vw, 2.4rem);
    font-weight: var(--font-weight-medium);
    line-height: 1.65;
    margin-bottom: 0.8rem;
  }
  .clinic-reset__consultation-grid li p {
    font-size: var(--body-md-fs);
    color: var(--public-muted);
  }
  .clinic-reset__consultation-grid ol + p {
    margin-top: clamp(2.4rem, 1.667vw, 3.2rem);
    color: var(--public-muted);
    font-size: clamp(1.4rem, 0.833vw, 1.6rem);
  }
  .clinic-reset__consultation-art {
    aspect-ratio: 674/505.5;
  }
  .clinic-reset__consultation-art svg {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
  }
  .clinic-reset__journey {
    padding: var(--reset-section-space) 7.3%;
    text-align: center;
  }
  .clinic-reset__journey > h2 {
    font-size: clamp(3rem, 2.5vw, 4.8rem);
    font-weight: var(--font-weight-medium);
  }
  .clinic-reset__journey-brand {
    font-size: 1.18em;
  }
  .clinic-reset__journey > p {
    margin-top: 2.4rem;
    color: var(--public-muted);
    font-size: clamp(1.6rem, 1.094vw, 2.1rem);
  }
  .clinic-reset__journey ol {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(2.4rem, 2.17vw, 4.166rem);
    margin: clamp(4rem, 4.167vw, 8rem) auto 0;
    max-width: 164rem;
  }
  .clinic-reset__journey li {
    position: relative;
    min-width: 0;
    padding-bottom: clamp(1.6rem, 1.59vw, 3.047rem);
  }
  .clinic-reset__journey li:nth-child(2) .clinic-reset__step-icon img, .clinic-reset__journey li:nth-child(5) .clinic-reset__step-icon img {
    width: 100%;
  }
  .clinic-reset__journey h3 {
    font-size: clamp(1.8rem, 1.25vw, 2.4rem);
    font-weight: var(--font-weight-medium);
    line-height: 1.65;
    margin: clamp(1.6rem, 1.042vw, 2rem) 0;
  }
  .clinic-reset__journey li p {
    font-size: var(--body-md-fs);
    line-height: var(--body-md-lh);
    min-height: 4.95em;
    color: var(--public-muted);
  }
  .clinic-reset__step-number {
    display: block;
    padding-bottom: 1.6rem;
    border-bottom: 1px solid var(--public-brand-accent);
    color: var(--public-muted);
    font-size: clamp(1.8rem, 1.146vw, 2.2rem);
    font-weight: var(--font-weight-medium);
    line-height: 1.65;
  }
  .clinic-reset__step-icon {
    display: grid;
    place-items: center;
    width: clamp(9rem, 6.903vw, 13.253rem);
    height: clamp(9rem, 6.903vw, 13.253rem);
    margin: 0 auto;
  }
  .clinic-reset__step-icon img {
    width: 94%;
    height: 82%;
    object-fit: contain;
  }
  .clinic-reset__step-arrow {
    position: absolute;
    left: calc(100% + 0.7rem);
    top: calc(4.9rem + clamp(9rem, 6.903vw, 13.253rem) + 2rem);
    width: clamp(1.8rem, 1.44vw, 2.766rem);
    height: 1.72rem;
    display: grid;
    place-items: center;
  }
  .clinic-reset__step-arrow img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  @media (max-width: 1023px) {
    .clinic-rail__viewport {
      height: 75svh;
      min-height: 50rem;
    }
    .clinic-rail__track {
      padding: 3rem;
    }
    .clinic-rail__intro {
      width: 65vw;
      padding-right: 3rem;
    }
    .clinic-rail__intro > .clinic-space__media {
      width: 18rem;
      height: 22rem;
    }
    .clinic-rail__photo {
      width: 65vw;
    }
    .clinic-space__panel {
      gap: 3rem;
      padding: 6rem 4%;
    }
    .clinic-reset__inner {
      width: 86%;
    }
    .clinic-reset__principles article {
      padding: 2rem;
    }
  }
  @media (max-width: 767px) {
    .clinic-space__copy-desktop {
      display: none;
    }
    .clinic-space__copy-mobile {
      display: inline;
    }
    .clinic-space__hero {
      min-height: 68rem;
    }
    .clinic-space__hero h1 {
      font-size: min(9vw, 4rem);
      white-space: normal;
      line-height: 1.2;
    }
    .clinic-space__hero p {
      order: 0;
      align-self: flex-start;
      width: 100%;
      max-width: 34rem;
      font-size: 1.6rem;
    }
    .clinic-space__hero-copy {
      justify-content: flex-end;
      gap: 2.4rem;
      padding: calc(var(--public-header-height) + 4rem) 2.4rem 4rem;
    }
    .clinic-space__panel {
      padding: 4rem 2.4rem;
      width: 88vw;
      height: 100%;
      min-height: 0;
      grid-template-columns: 1fr;
      grid-template-rows: auto minmax(0, 1fr) auto;
      gap: 2rem;
    }
    .clinic-space__panel > .clinic-space__media {
      aspect-ratio: auto;
      width: 100%;
      height: 100%;
    }
    .clinic-space__panel h2 {
      font-size: 2.8rem;
    }
    .clinic-space__panel p {
      font-size: var(--body-md-fs);
      line-height: var(--body-md-lh);
    }
    .clinic-space__calm {
      width: 100%;
      min-height: 90svh;
    }
    .clinic-space__calm > .clinic-space__media {
      height: 45vh;
    }
    .clinic-space__stage {
      padding: 6rem 2.4rem;
    }
    .clinic-space__scene {
      grid-template-columns: 1fr;
      gap: 2rem;
    }
    .clinic-space__scene .clinic-space__media {
      height: 45svh;
      aspect-ratio: auto;
    }
    .clinic-space__scene p {
      font-size: var(--body-md-fs);
      line-height: var(--body-md-lh);
    }
    .clinic-space__scene--portrait .clinic-space__media {
      height: auto;
      max-height: none;
      aspect-ratio: 2/3;
    }
    .clinic-space__arrival .clinic-rail__intro {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      grid-template-rows: auto;
      width: 100%;
      padding: 0;
    }
    .clinic-space__arrival .clinic-rail__intro::after {
      display: none;
    }
    .clinic-space__arrival .clinic-rail__intro > span,
    .clinic-space__arrival .clinic-rail__intro > .clinic-space__media,
    .clinic-space__arrival .clinic-rail__intro > .clinic-rail__copy {
      grid-area: auto;
    }
    .clinic-space__arrival .clinic-rail__intro > span {
      order: 1;
    }
    .clinic-space__arrival .clinic-rail__intro > .clinic-space__media {
      order: 2;
      width: 100%;
      height: auto;
      margin-top: 2.4rem;
      aspect-ratio: 3/2;
    }
    .clinic-space__arrival .clinic-rail__intro > .clinic-rail__copy {
      order: 3;
    }
    .clinic-space__privacy .clinic-rail__intro {
      width: 100%;
      text-align: left;
    }
    .clinic-space__rooms {
      grid-template-columns: minmax(0, 1fr);
      grid-template-rows: none;
      grid-auto-flow: row;
      grid-auto-columns: auto;
      gap: 3.2rem;
      height: auto;
    }
    .clinic-space__rooms figure {
      gap: 1.2rem;
    }
    .clinic-space__rooms .clinic-space__media {
      flex: none;
      aspect-ratio: 4/3;
    }
    .clinic-space__rooms figcaption {
      font-size: 1.2rem;
    }
    .clinic-rail__viewport {
      height: auto;
      min-height: 0;
      overflow: visible;
    }
    .clinic-rail__track {
      display: grid;
      width: auto;
      height: auto;
      gap: 4.8rem;
      padding: 6rem 2.4rem;
    }
    .clinic-rail__intro {
      width: 100%;
      margin: 0;
      padding: 0 0 4.8rem;
      border-right: 0;
      border-bottom: 1px solid rgba(246, 241, 234, 0.25);
    }
    .clinic-rail__intro h2 {
      font-size: 2.8rem;
    }
    .clinic-rail__photo, .clinic-rail__photo:nth-of-type(n+2), .clinic-rail__photo--wide {
      width: 100%;
      gap: 1.2rem;
    }
    .clinic-rail__photo .clinic-space__media, .clinic-rail__photo:nth-of-type(n+2) .clinic-space__media, .clinic-rail__photo--wide .clinic-space__media {
      flex: none;
      aspect-ratio: 4/3;
    }
    .clinic-doctor__approach > div {
      display: flex;
      flex-direction: column;
      gap: 4rem;
      padding: 8rem 2.4rem;
      background: rgba(0, 0, 0, 0.2);
    }
    .clinic-doctor__global .clinic-rail__viewport {
      min-height: 0;
    }
    .clinic-doctor__global .clinic-rail__track {
      padding: 4rem 2.4rem;
      gap: 3.2rem;
    }
    .clinic-doctor__global .clinic-rail__track::before {
      display: none;
    }
    .clinic-doctor__global-intro {
      width: 100%;
      padding-right: 0;
    }
    .clinic-doctor__global-intro h2 {
      font-size: 2.8rem;
      margin-bottom: 2rem;
    }
    .clinic-doctor__global .clinic-doctor__signature {
      font-size: 1.4rem;
    }
    .clinic-doctor__global-copy {
      padding-top: 3rem;
    }
    .clinic-doctor__global-photos {
      display: block;
      columns: 2;
      column-gap: 0.8rem;
    }
    .clinic-doctor__global-photos img,
    .clinic-doctor__global-photos img:nth-child(3n+1) {
      display: block;
      width: 100%;
      max-height: none;
      margin-bottom: 0.8rem;
      break-inside: avoid;
    }
    .clinic-reset__inner {
      width: calc(100% - 4.8rem);
    }
    .clinic-reset__hero > .clinic-reset__hero-content {
      grid-template-columns: 1fr;
      align-content: end;
      gap: 3.2rem;
      padding: max(14rem, 45svh) 2.4rem 5rem;
    }
    .clinic-reset__hero h1 {
      font-size: clamp(3.6rem, 11vw, 4.8rem);
    }
    .clinic-reset__hero-copy p + p {
      margin-top: 1.2rem;
      font-size: 1.6rem;
    }
    .clinic-reset__heading {
      grid-template-columns: 1fr;
      gap: 2.4rem;
      margin-bottom: 4rem;
    }
    .clinic-reset__heading p {
      font-size: 1.6rem;
    }
    .clinic-reset__intro, .clinic-reset__application, .clinic-reset__consultation, .clinic-reset__programs {
      padding: 6rem 0;
    }
    .clinic-reset__portrait {
      aspect-ratio: 1.1;
    }
    .clinic-reset__principles {
      grid-template-columns: 1fr;
      justify-items: center;
      margin-top: 4rem;
      gap: 2rem;
    }
    .clinic-reset__principles article {
      width: min(100%, 34rem);
    }
    .clinic-reset__program-selector {
      grid-template-columns: minmax(0, 1fr) repeat(3, auto) minmax(0, 1fr);
    }
    .clinic-reset__program-selector > label {
      position: relative;
      display: grid;
      place-items: center;
      width: 44px;
      height: 44px;
      padding: 0;
      margin: 0;
      border: 0;
      border-radius: 50%;
    }
    .clinic-reset__program-selector > label:nth-of-type(1) {
      grid-column: 2;
    }
    .clinic-reset__program-selector > label:nth-of-type(2) {
      grid-column: 3;
    }
    .clinic-reset__program-selector > label:nth-of-type(3) {
      grid-column: 4;
    }
    .clinic-reset__program-selector > label > span {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      overflow: hidden;
      clip-path: inset(50%);
      white-space: nowrap;
    }
    .clinic-reset__program-selector > label::before {
      content: "";
      width: 10px;
      height: 10px;
      border: 1px solid currentColor;
      border-radius: 50%;
      opacity: 0.5;
    }
    .clinic-reset__program-selector > input:checked + label::before {
      background: currentColor;
      opacity: 1;
    }
    .clinic-reset__programs.has-autoplay .clinic-reset__program-selector > label {
      box-sizing: content-box;
      width: 8px;
      height: 8px;
      padding: 24px 8px;
      border-radius: 0;
      background: rgba(246, 241, 234, 0.08);
      transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .clinic-reset__programs.has-autoplay .clinic-reset__program-selector > label:first-of-type {
      padding-left: 24px;
      border-radius: 999px 0 0 999px;
    }
    .clinic-reset__programs.has-autoplay .clinic-reset__program-selector > label:last-of-type {
      padding-right: 24px;
      border-radius: 0 999px 999px 0;
    }
    .clinic-reset__programs.has-autoplay .clinic-reset__program-selector > label::before {
      width: 100%;
      height: 8px;
      border: 0;
      border-radius: 999px;
      background: currentColor;
      transition: opacity 0.3s;
    }
    .clinic-reset__programs.has-autoplay .clinic-reset__program-selector > label::after {
      content: "";
      position: absolute;
      left: 8px;
      right: 8px;
      top: 24px;
      height: 8px;
      border-radius: 999px;
      background: currentColor;
      opacity: 0;
      clip-path: inset(0 calc((1 - var(--program-progress, 0)) * 100%) 0 0 round 999px);
    }
    .clinic-reset__programs.has-autoplay .clinic-reset__program-selector > label:first-of-type::after {
      left: 24px;
    }
    .clinic-reset__programs.has-autoplay .clinic-reset__program-selector > label:last-of-type::after {
      right: 24px;
    }
    .clinic-reset__programs.has-autoplay .clinic-reset__program-selector > input:checked + label {
      width: 48px;
    }
    .clinic-reset__programs.has-autoplay .clinic-reset__program-selector > input:checked + label::before {
      opacity: 0.3;
    }
    .clinic-reset__programs.has-autoplay .clinic-reset__program-selector > input:checked + label::after {
      opacity: 1;
    }
    .clinic-reset__program {
      grid-template-columns: 1fr;
      grid-template-rows: 22rem auto;
      gap: 2rem;
      padding: 4rem 0;
      min-height: 55rem;
    }
    .clinic-reset__program > img {
      max-width: 22rem;
      margin: auto;
    }
    .clinic-reset__program h3 {
      font-size: 2.6rem;
    }
    .clinic-reset__program-art {
      position: absolute;
      top: 4rem;
      left: 50%;
      transform: translateX(-50%);
      margin: 0;
      width: 22rem;
      max-width: 100%;
    }
    .clinic-reset__application-grid, .clinic-reset__consultation-grid {
      grid-template-columns: 1fr;
      gap: 4rem;
    }
    .clinic-reset__journey {
      padding: 6rem 2.4rem;
    }
    .clinic-reset__journey ol {
      grid-template-columns: 1fr;
      gap: 4rem;
      margin-top: 4rem;
    }
    .clinic-reset__journey li {
      max-width: 34rem;
      margin: auto;
      width: 100%;
    }
    .clinic-reset__journey h3 {
      font-size: 2.2rem;
    }
    .clinic-reset__journey li p {
      font-size: 1.6rem;
    }
    .clinic-reset__step-icon {
      width: 13.253rem;
      height: 13.253rem;
    }
    .clinic-reset__step-arrow {
      top: auto;
      bottom: -2.4rem;
      left: calc(50% - 1.4rem);
      transform: rotate(90deg);
      width: 2.8rem;
    }
  }
  html.is-signature-voice-open,
  html.is-signature-voice-open body {
    overflow: hidden;
  }
  .newyoung-signature-voice:lang(ja), .newyoung-signature-voice:lang(zh) {
    word-break: normal;
    overflow-wrap: anywhere;
  }
  .newyoung-signature-voice:lang(ja) .newyoung-signature-voice__section,
  .newyoung-signature-voice:lang(ja) .newyoung-signature-voice__tab-title, .newyoung-signature-voice:lang(zh) .newyoung-signature-voice__section,
  .newyoung-signature-voice:lang(zh) .newyoung-signature-voice__tab-title {
    min-width: 0;
  }
  .newyoung-signature-voice {
    --signature-voice-small-type: clamp(1.2rem, 0.1294498382vw + 1.1514563107rem, 1.4rem);
    position: fixed;
    top: 50%;
    left: 50%;
    width: min(112rem, 100vw - var(--public-shell-gutter) * 2);
    max-width: none;
    height: min(76rem, 100dvh - var(--public-space-xl) * 2);
    max-height: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--public-line) 72%, transparent);
    color: var(--public-ink);
    background: transparent;
    transform: translate(-50%, -50%);
  }
  .newyoung-signature-voice::backdrop {
    background: color-mix(in srgb, var(--public-brand-ink) 72%, transparent);
  }
  .newyoung-signature-voice__surface {
    display: grid;
    height: 100%;
    min-height: 0;
    grid-template-rows: auto auto minmax(0, 1fr);
    overflow: hidden;
    background: var(--public-white);
  }
  .newyoung-signature-voice__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: var(--public-space-2xl) var(--public-space-3xl) var(--public-space-xl);
    gap: var(--public-space-2xl);
  }
  .newyoung-signature-voice__heading {
    min-width: 0;
  }
  .newyoung-signature-voice__title {
    max-width: 82rem;
    font-family: var(--font-display-family);
    font-weight: var(--font-weight-regular);
    letter-spacing: var(--tracking-heading);
  }
  .newyoung-signature-voice__title:focus {
    outline: none;
  }
  .newyoung-signature-voice__settings-panel:focus {
    outline: none;
  }
  .newyoung-signature-voice__section-eyebrow {
    color: var(--public-brand-accent);
    letter-spacing: 0.12em;
  }
  .newyoung-signature-voice__disclaimer-label, .newyoung-signature-voice__disclaimer {
    font-size: var(--signature-voice-small-type);
    line-height: 1.6;
  }
  .newyoung-signature-voice__disclaimer {
    color: color-mix(in srgb, var(--public-muted) 76%, transparent);
  }
  .newyoung-signature-voice__close, .newyoung-signature-voice__play {
    display: inline-grid;
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    place-items: center;
    color: var(--public-ink);
    background: transparent;
    cursor: pointer;
    transition: color var(--public-duration) var(--public-ease), background var(--public-duration) var(--public-ease), border-color var(--public-duration) var(--public-ease);
  }
  .newyoung-signature-voice__close {
    width: var(--public-control-md);
    min-height: var(--public-control-md);
    height: var(--public-control-md);
    color: var(--public-muted-soft);
    transition: color var(--public-duration) var(--public-ease), opacity var(--public-duration) var(--public-ease);
  }
  .newyoung-signature-voice__close .public-button__content, .newyoung-signature-voice__close .public-button__icon {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    line-height: 1;
    font-size: var(--public-icon-lg);
  }
  .newyoung-signature-voice__close .public-button__label:empty {
    display: none;
  }
  .newyoung-signature-voice__close .public-button__icon i {
    display: block;
    line-height: 1;
  }
  .newyoung-signature-voice__play {
    width: 4.8rem;
    min-width: 4.8rem;
    min-height: 4.8rem;
    height: 4.8rem;
    border-radius: 50%;
  }
  .newyoung-signature-voice__play .public-button__icon {
    display: grid;
    width: 1em;
    height: 1em;
    place-items: center;
    line-height: 1;
  }
  .newyoung-signature-voice__play .public-button__icon i {
    display: block;
    line-height: 1;
    transform: translateX(0.06em);
  }
  .newyoung-signature-voice__close:hover, .newyoung-signature-voice__close:focus-visible {
    color: var(--public-ink);
    border-color: transparent;
    background: transparent;
    opacity: 0.72;
  }
  .newyoung-signature-voice__close:focus-visible, .newyoung-signature-voice__play:focus-visible, .newyoung-signature-voice__settings-toggle:focus-visible, .newyoung-signature-voice__speed-option:focus-visible, .newyoung-signature-voice__size-option:focus-visible, .newyoung-signature-voice__tab:focus-visible {
    outline: var(--public-focus-width) solid var(--public-focus);
    outline-offset: calc(var(--public-focus-offset) * -1);
  }
  .newyoung-signature-voice__player {
    display: grid;
    margin-inline: var(--public-space-3xl);
    padding: var(--public-space-lg) 0;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: var(--public-space-xl);
    color: var(--public-ink);
    border-top: 1px solid color-mix(in srgb, var(--public-line) 48%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--public-line) 48%, transparent);
  }
  .newyoung-signature-voice__player .newyoung-signature-voice__play {
    color: var(--public-brand-ink);
    background: transparent;
  }
  .newyoung-signature-voice__player .newyoung-signature-voice__play:not(:disabled):hover, .newyoung-signature-voice__player .newyoung-signature-voice__play:focus-visible, .newyoung-signature-voice__player .newyoung-signature-voice__play.is-playing {
    color: var(--public-brand-ink);
    background: transparent;
  }
  .newyoung-signature-voice__player .newyoung-signature-voice__play:disabled {
    color: var(--public-brand-ink);
    background: transparent;
    cursor: wait;
  }
  .newyoung-signature-voice__time {
    color: var(--public-muted-soft);
  }
  .newyoung-signature-voice__settings-toggle {
    display: grid;
    width: 4.4rem;
    min-width: 4.4rem;
    height: 4.4rem;
    min-height: 4.4rem;
    place-items: center;
    flex: 0 0 auto;
    padding: 0;
    color: var(--public-muted-soft);
    background: transparent;
    font-size: var(--public-icon-md);
    cursor: pointer;
  }
  .newyoung-signature-voice__settings-toggle:hover, .newyoung-signature-voice__settings-toggle:focus-visible, .newyoung-signature-voice__settings-toggle[aria-expanded=true] {
    color: var(--public-ink);
    background: transparent;
  }
  .newyoung-signature-voice__settings-overlay {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: flex;
    justify-content: flex-end;
    overflow: hidden;
    background: color-mix(in srgb, var(--public-brand-ink) 24%, transparent);
  }
  .newyoung-signature-voice__settings-overlay[hidden] {
    display: none;
  }
  .newyoung-signature-voice__settings-panel {
    display: grid;
    width: min(34rem, 100% - 3.2rem);
    height: 100%;
    padding: var(--public-space-2xl);
    align-content: start;
    gap: var(--public-space-2xl);
    overflow-y: auto;
    overscroll-behavior: contain;
    border-left: 1px solid var(--public-line);
    background: var(--public-white);
    animation: signature-voice-settings-enter var(--public-duration) var(--public-ease);
  }
  .newyoung-signature-voice__settings-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--public-space-sm);
    padding-bottom: var(--public-space-md);
    border-bottom: 1px solid var(--public-line);
  }
  .newyoung-signature-voice__settings-header h3 {
    font-family: var(--font-display-family);
    font-size: var(--heading-sm-fs);
    font-weight: var(--font-weight-regular);
    line-height: 1.3;
  }
  .newyoung-signature-voice__settings-group {
    display: grid;
    gap: var(--public-space-xs);
  }
  .newyoung-signature-voice__settings-group + .newyoung-signature-voice__settings-group {
    padding-top: var(--public-space-xl);
    border-top: 1px solid var(--public-line);
  }
  .newyoung-signature-voice__settings-group > span {
    color: var(--public-ink);
    font-weight: var(--font-weight-medium);
  }
  .newyoung-signature-voice__speed, .newyoung-signature-voice__text-size {
    display: flex;
    min-height: var(--public-control-sm);
    align-items: center;
    gap: var(--public-space-xs);
  }
  .newyoung-signature-voice__speed-option, .newyoung-signature-voice__size-option {
    flex: 1;
    min-width: 5.2rem;
    min-height: var(--public-control-sm);
    padding: 0.8rem var(--public-space-xs);
    border: 0;
    color: var(--color-text-muted);
    background: transparent;
    font-size: var(--body-sm-fs);
    font-weight: var(--font-weight-regular);
    cursor: pointer;
    transition: color var(--public-duration) var(--public-ease);
  }
  .newyoung-signature-voice__speed-option:hover, .newyoung-signature-voice__speed-option:focus-visible, .newyoung-signature-voice__size-option:hover, .newyoung-signature-voice__size-option:focus-visible {
    color: var(--public-ink);
  }
  .newyoung-signature-voice__speed-option.is-active, .newyoung-signature-voice__size-option.is-active {
    color: var(--public-ink);
    font-weight: var(--font-weight-semibold);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.55em;
  }
  .newyoung-signature-voice__waveform {
    --signature-voice-wave-active: var(--public-brand-dark);
    --signature-voice-wave-idle: color-mix(
        in srgb,
        var(--public-brand-accent) 28%,
        var(--public-white)
    );
    min-width: 0;
    cursor: pointer;
    touch-action: none;
  }
  .newyoung-signature-voice__waveform[aria-disabled=true] {
    opacity: 0.48;
    pointer-events: none;
    cursor: wait;
  }
  .newyoung-signature-voice__waveform:focus-visible {
    outline: var(--public-focus-width) solid var(--public-focus);
    outline-offset: var(--public-space-2xs);
  }
  .newyoung-signature-voice__waveform canvas {
    display: block;
    width: 100%;
  }
  .newyoung-signature-voice__time {
    min-width: 8.8rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    letter-spacing: 0.04em;
    text-align: right;
  }
  .newyoung-signature-voice__time[data-signature-voice-state=loading] {
    min-width: 14rem;
    color: var(--public-muted);
  }
  .newyoung-signature-voice__time[data-signature-voice-state=error] {
    min-width: 18rem;
    color: var(--public-brand-accent);
  }
  .newyoung-signature-voice__body {
    display: grid;
    min-height: 0;
    grid-template-columns: minmax(26rem, 0.37fr) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) auto;
  }
  .newyoung-signature-voice__navigator {
    display: grid;
    min-width: 0;
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr);
    padding: var(--public-space-xl) var(--public-space-xl) var(--public-space-xl) var(--public-space-3xl);
  }
  .newyoung-signature-voice__navigator-label {
    padding: 0 var(--public-space-sm) var(--public-space-lg);
    color: var(--public-brand-accent);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.12em;
  }
  .newyoung-signature-voice__tabs, .newyoung-signature-voice__content {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .newyoung-signature-voice__tabs {
    position: relative;
    min-width: 0;
    background: transparent;
  }
  .newyoung-signature-voice__tabs-wrapper {
    position: relative;
    display: grid;
    width: 100%;
    height: auto;
    align-content: start;
    gap: 0.4rem;
  }
  .newyoung-signature-voice__tab {
    position: relative;
    display: grid;
    width: 100%;
    height: auto;
    min-height: 5.6rem;
    padding: var(--public-space-xs) var(--public-space-sm);
    grid-template-columns: var(--public-space-xl) minmax(0, 1fr);
    align-items: center;
    gap: var(--public-space-sm);
    border: 0;
    color: var(--color-text-muted);
    text-align: left;
    background: transparent;
    cursor: pointer;
    transition: color var(--public-duration) var(--public-ease), background var(--public-duration) var(--public-ease);
  }
  .newyoung-signature-voice__tab:hover, .newyoung-signature-voice__tab:focus-visible {
    color: var(--public-ink);
    background: transparent;
  }
  .newyoung-signature-voice__tab.is-active {
    color: var(--public-ink);
    background: transparent;
  }
  .newyoung-signature-voice__tab-number {
    color: var(--color-text-muted);
    letter-spacing: 0.08em;
    transition: color var(--public-duration) var(--public-ease);
  }
  .newyoung-signature-voice__tab.is-active .newyoung-signature-voice__tab-number {
    color: var(--public-ink);
  }
  .newyoung-signature-voice__tab-title {
    font-size: var(--body-sm-fs);
    font-weight: var(--font-weight-regular);
    line-height: 1.5;
  }
  .newyoung-signature-voice__tab.is-active .newyoung-signature-voice__tab-title {
    font-weight: var(--font-weight-semibold);
  }
  .newyoung-signature-voice__content {
    padding: var(--public-space-2xl) var(--public-space-3xl);
    border-left: 1px solid color-mix(in srgb, var(--public-line) 34%, transparent);
    scroll-behavior: smooth;
  }
  .newyoung-signature-voice__section {
    display: grid;
    max-width: 72rem;
    margin-inline: auto;
    gap: var(--public-space-lg);
  }
  .newyoung-signature-voice__content[data-signature-voice-text-size=large] {
    font-size: var(--body-lg-fs);
  }
  .newyoung-signature-voice__section-title {
    margin-bottom: var(--public-space-sm);
  }
  .newyoung-signature-voice__section-introduction {
    padding-bottom: var(--public-space-sm);
    color: var(--public-ink);
  }
  .newyoung-signature-voice__points, .newyoung-signature-voice__steps {
    display: grid;
    padding-left: var(--public-space-xl);
    gap: var(--public-space-lg);
  }
  .newyoung-signature-voice__cue {
    color: var(--public-muted-soft);
    line-height: 1.85;
    transition: color var(--public-duration) var(--public-ease), background var(--public-duration) var(--public-ease);
  }
  .newyoung-signature-voice__section > .newyoung-signature-voice__cue:first-of-type {
    margin-bottom: var(--public-space-sm);
    color: var(--public-ink);
    font-weight: var(--font-weight-medium);
  }
  .newyoung-signature-voice__cue.is-spoken {
    color: var(--public-brand-dark);
  }
  .newyoung-signature-voice__content[data-signature-voice-highlight-mode=cue] .newyoung-signature-voice__cue.is-current {
    color: var(--public-brand-dark);
    background: color-mix(in srgb, var(--public-brand-accent-soft) 36%, transparent);
  }
  .newyoung-signature-voice__word {
    --signature-voice-word-progress: 0%;
    position: relative;
    display: inline-block;
    color: var(--public-brand-dark);
    background: linear-gradient(color-mix(in srgb, var(--public-brand-accent-soft) 64%, transparent), color-mix(in srgb, var(--public-brand-accent-soft) 64%, transparent)) left center/var(--signature-voice-word-progress) 100% no-repeat;
  }
  .newyoung-signature-voice__cue-visual {
    display: inline;
  }
  .newyoung-signature-voice__word-base {
    position: relative;
    z-index: 1;
  }
  .newyoung-signature-voice__word-space {
    white-space: pre;
  }
  .newyoung-signature-voice__footer {
    display: grid;
    grid-column: 1/-1;
    margin-inline: var(--public-space-3xl);
    padding: var(--public-space-sm) 0;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: var(--public-space-sm);
    border-top: 1px solid color-mix(in srgb, var(--public-line) 48%, transparent);
  }
  .newyoung-signature-voice__disclaimer-label {
    color: var(--public-brand-accent);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.08em;
    white-space: nowrap;
  }
  .newyoung-signature-voice__tabs, .newyoung-signature-voice__content {
    scrollbar-color: color-mix(in srgb, var(--public-brand-accent) 28%, transparent) transparent;
    scrollbar-width: thin;
  }
  .newyoung-signature-voice__tabs {
    scrollbar-width: none;
  }
  .newyoung-signature-voice__tabs::-webkit-scrollbar {
    display: none;
  }
  .newyoung-signature-voice__tabs::-webkit-scrollbar, .newyoung-signature-voice__content::-webkit-scrollbar {
    width: 0.6rem;
  }
  .newyoung-signature-voice__tabs::-webkit-scrollbar-thumb, .newyoung-signature-voice__content::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--public-brand-accent) 28%, transparent);
  }
  @media (max-width: 1023px) {
    .newyoung-signature-voice {
      width: calc(100vw - var(--public-space-md) * 2);
      height: calc(100dvh - var(--public-space-md) * 2);
    }
    .newyoung-signature-voice__header, .newyoung-signature-voice__content {
      padding-inline: var(--public-space-xl);
    }
    .newyoung-signature-voice__header {
      padding-block: var(--public-space-xl) var(--public-space-lg);
    }
    .newyoung-signature-voice__player, .newyoung-signature-voice__footer {
      margin-inline: var(--public-space-xl);
    }
    .newyoung-signature-voice__player {
      grid-template-columns: auto minmax(0, 1fr) auto auto;
      gap: var(--public-space-sm);
    }
    .newyoung-signature-voice__navigator {
      padding: var(--public-space-xl) var(--public-space-sm) var(--public-space-xl) var(--public-space-xl);
    }
    .newyoung-signature-voice__body {
      grid-template-columns: minmax(22rem, 0.3fr) minmax(0, 1fr);
    }
  }
  @media (max-width: 767px) {
    .newyoung-signature-voice {
      width: 100vw;
      height: 100dvh;
      border: 0;
    }
    .newyoung-signature-voice__header {
      padding-block: var(--public-space-md);
      gap: var(--public-space-md);
    }
    .newyoung-signature-voice__header, .newyoung-signature-voice__content, .newyoung-signature-voice__navigator {
      padding-inline: var(--public-shell-gutter);
    }
    .newyoung-signature-voice__player, .newyoung-signature-voice__footer {
      margin-inline: var(--public-shell-gutter);
    }
    .newyoung-signature-voice__player {
      grid-template-columns: auto minmax(0, 1fr) auto;
      grid-template-areas: "play time settings" "waveform waveform waveform";
      padding-block: var(--public-space-sm);
      gap: var(--public-space-xs) var(--public-space-sm);
    }
    .newyoung-signature-voice__play {
      grid-area: play;
    }
    .newyoung-signature-voice__player > .newyoung-signature-voice__settings-toggle {
      grid-area: settings;
    }
    .newyoung-signature-voice__waveform {
      grid-area: waveform;
    }
    .newyoung-signature-voice__time {
      grid-area: time;
      min-width: 0;
      font-size: var(--body-sm-fs);
      text-align: left;
    }
    .newyoung-signature-voice__time[data-signature-voice-state=loading], .newyoung-signature-voice__time[data-signature-voice-state=error] {
      min-width: 0;
      white-space: normal;
    }
    .newyoung-signature-voice__body {
      grid-template-columns: minmax(0, 1fr);
      grid-template-rows: auto minmax(0, 1fr) auto;
      overflow: hidden;
    }
    .newyoung-signature-voice__navigator {
      grid-template-rows: auto auto;
      padding-block: var(--public-space-xs);
      border-right: 0;
    }
    .newyoung-signature-voice__navigator-label {
      padding: 0 0 var(--public-space-xs);
    }
    .newyoung-signature-voice__tabs {
      overflow: hidden;
      touch-action: pan-y;
    }
    .newyoung-signature-voice__tabs-wrapper {
      display: flex;
      align-items: stretch;
      gap: 0;
      transition-property: transform;
    }
    .newyoung-signature-voice__tab {
      width: clamp(18rem, 78%, 28rem);
      min-width: 0;
      min-height: 6.4rem;
      flex: 0 0 auto;
    }
    .newyoung-signature-voice__tab.is-active {
      color: var(--public-ink);
      background: transparent;
    }
    .newyoung-signature-voice__tab-title {
      font-size: var(--body-sm-fs);
      word-break: keep-all;
      overflow-wrap: anywhere;
    }
    .newyoung-signature-voice__content {
      border-top: 1px solid color-mix(in srgb, var(--public-line) 34%, transparent);
      border-left: 0;
      overflow-y: auto;
    }
    .newyoung-signature-voice__content {
      padding-block: var(--public-space-sm);
    }
    .newyoung-signature-voice__footer {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--public-space-2xs);
    }
  }
  @media (max-width: 767px) and (max-height: 640px) {
    .newyoung-signature-voice__header, .newyoung-signature-voice__footer {
      padding-block: var(--public-space-xs);
    }
  }
  @keyframes signature-voice-settings-enter {
    from {
      transform: translateX(100%);
    }
    to {
      transform: translateX(0);
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .newyoung-signature-voice__close, .newyoung-signature-voice__play, .newyoung-signature-voice__speed-option, .newyoung-signature-voice__size-option, .newyoung-signature-voice__tab, .newyoung-signature-voice__cue, .newyoung-signature-voice__word {
      transition: none;
    }
    .newyoung-signature-voice__content {
      scroll-behavior: auto;
    }
    .newyoung-signature-voice__settings-panel {
      animation: none;
    }
  }
  .newyoung-signature-detail--tailored-botox .newyoung-content-section--process,
  .newyoung-signature-detail--tailored-lifting .newyoung-content-section--process,
  .newyoung-signature-detail--tailored-collagen-booster .newyoung-content-section--process,
  .newyoung-signature-detail--tailored-bio-volume .newyoung-content-section--process,
  .newyoung-signature-detail--sedation .newyoung-content-section--process,
  .newyoung-signature-detail--under-eye-ultracol .newyoung-content-section--process,
  .newyoung-signature-detail--sesla .newyoung-content-section--process,
  .newyoung-signature-detail--ultrasound-guided-filler-removal .newyoung-content-section--process {
    background: var(--public-surface-subtle);
  }
  .newyoung-signature-detail--tailored-botox .newyoung-content-section--process .newyoung-content-section__inner,
  .newyoung-signature-detail--tailored-lifting .newyoung-content-section--process .newyoung-content-section__inner,
  .newyoung-signature-detail--tailored-collagen-booster .newyoung-content-section--process .newyoung-content-section__inner,
  .newyoung-signature-detail--tailored-bio-volume .newyoung-content-section--process .newyoung-content-section__inner,
  .newyoung-signature-detail--sedation .newyoung-content-section--process .newyoung-content-section__inner,
  .newyoung-signature-detail--under-eye-ultracol .newyoung-content-section--process .newyoung-content-section__inner,
  .newyoung-signature-detail--sesla .newyoung-content-section--process .newyoung-content-section__inner,
  .newyoung-signature-detail--ultrasound-guided-filler-removal .newyoung-content-section--process .newyoung-content-section__inner {
    row-gap: var(--public-space-xl);
  }
  @media (max-width: 1023px) {
    .newyoung-signature-detail--tailored-botox .newyoung-signature-detail__back.public-button,
    .newyoung-signature-detail--tailored-lifting .newyoung-signature-detail__back.public-button,
    .newyoung-signature-detail--tailored-collagen-booster .newyoung-signature-detail__back.public-button,
    .newyoung-signature-detail--tailored-bio-volume .newyoung-signature-detail__back.public-button,
    .newyoung-signature-detail--sedation .newyoung-signature-detail__back.public-button,
    .newyoung-signature-detail--under-eye-ultracol .newyoung-signature-detail__back.public-button,
    .newyoung-signature-detail--sesla .newyoung-signature-detail__back.public-button,
    .newyoung-signature-detail--ultrasound-guided-filler-removal .newyoung-signature-detail__back.public-button {
      position: absolute;
    }
  }
  @media (max-width: 1023px) {
    .signature-process--tailored-botox .signature-process__step--05 .signature-process__description {
      text-wrap: wrap;
    }
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__face {
    position: relative;
    z-index: 1;
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__regions {
    z-index: 2;
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--01 .signature-process__point {
    --point-x: 330;
    --point-y: 276;
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--01 .signature-process__callout {
    top: calc(40.7143% - 10px);
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--02 .signature-process__point {
    --point-x: 330;
    --point-y: 344;
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--02 .signature-process__callout {
    top: calc(52.8571% - 10px);
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--03 .signature-process__point--1 {
    --point-x: 214;
    --point-y: 342;
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--03 .signature-process__point--2 {
    --point-x: 225;
    --point-y: 387;
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--03 .signature-process__callout:nth-child(1) {
    top: calc(52.5% - 10px);
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--03 .signature-process__callout:nth-child(2) {
    top: calc(77.6786% - 10px);
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--04 .signature-process__point {
    --point-x: 289;
    --point-y: 201;
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--04 .signature-process__callout {
    top: calc(27.3214% - 20px);
    white-space: pre-line;
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--05 .signature-process__point--1 {
    --point-x: 288;
    --point-y: 248;
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--05 .signature-process__point--2 {
    --point-x: 402;
    --point-y: 315;
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--05 .signature-process__callout:nth-child(1) {
    top: calc(35.7143% - 10px);
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--05 .signature-process__callout:nth-child(2) {
    top: calc(64.8214% - 10px);
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--06 .signature-process__point--1 {
    --point-x: 169;
    --point-y: 193;
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--06 .signature-process__point--2 {
    --point-x: 290;
    --point-y: 394;
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--06 .signature-process__callout:nth-child(1) {
    top: calc(25.1786% - 10px);
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--06 .signature-process__callout:nth-child(2) {
    top: calc(80% - 10px);
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--07 .signature-process__point--1 {
    --point-x: 219;
    --point-y: 238;
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--07 .signature-process__point--2 {
    --point-x: 319;
    --point-y: 387;
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--07 .signature-process__callout:nth-child(1) {
    top: calc(33.9286% - 10px);
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--07 .signature-process__callout:nth-child(2) {
    top: calc(77.6786% - 10px);
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--08 .signature-process__point--1 {
    --point-x: 252;
    --point-y: 379;
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--08 .signature-process__point--2 {
    --point-x: 366;
    --point-y: 400;
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--08 .signature-process__callout:nth-child(1) {
    top: calc(59.1071% - 10px);
  }
  .signature-process--ultrasound-guided-filler-removal .signature-process__step--08 .signature-process__callout:nth-child(2) {
    top: calc(80% - 10px);
  }
  .signature-process--sesla .signature-process__step--01 .signature-process__point--1 {
    --point-x: 200;
    --point-y: 348;
  }
  .signature-process--sesla .signature-process__step--01 .signature-process__point--2 {
    --point-x: 170;
    --point-y: 407;
  }
  .signature-process--sesla .signature-process__step--01 .signature-process__callout:nth-child(1) {
    top: calc(53.5714% - 10px);
  }
  .signature-process--sesla .signature-process__step--01 .signature-process__callout:nth-child(2) {
    top: calc(85.3571% - 10px);
  }
  .signature-process--sesla .signature-process__step--02 .signature-process__point--1 {
    --point-x: 277;
    --point-y: 247;
  }
  .signature-process--sesla .signature-process__step--02 .signature-process__point--2 {
    --point-x: 322;
    --point-y: 171;
  }
  .signature-process--sesla .signature-process__step--03 .signature-process__point--1 {
    --point-x: 280;
    --point-y: 485;
  }
  .signature-process--sesla .signature-process__step--03 .signature-process__point--2 {
    --point-x: 220;
    --point-y: 486;
  }
  .signature-process--sesla .signature-process__step--03 .signature-process__callout:nth-child(1) {
    top: calc(57.1429% - 10px);
  }
  .signature-process--sesla .signature-process__step--03 .signature-process__callout:nth-child(2) {
    top: calc(89.2857% - 10px);
  }
  .signature-process--sesla .signature-process__step--04 .signature-process__point--1 {
    --point-x: 347;
    --point-y: 158;
  }
  .signature-process--sesla .signature-process__step--04 .signature-process__point--2 {
    --point-x: 446;
    --point-y: 420;
  }
  .signature-process--sesla .signature-process__step--04 .signature-process__callout:nth-child(1) {
    top: calc(19.6429% - 10px);
  }
  .signature-process--sesla .signature-process__step--04 .signature-process__callout:nth-child(2) {
    top: calc(83.5714% - 10px);
  }
  .signature-process--sesla .signature-process__step--05 .signature-process__point--1 {
    --point-x: 237;
    --point-y: 229;
  }
  .signature-process--sesla .signature-process__step--05 .signature-process__point--2 {
    --point-x: 300;
    --point-y: 450;
  }
  .signature-process--sesla .signature-process__step--05 .signature-process__callout:nth-child(1) {
    top: calc(32.3214% - 10px);
  }
  .signature-process--sesla .signature-process__step--05 .signature-process__callout:nth-child(2) {
    top: calc(71.7857% - 10px);
  }
  .signature-process--sesla .signature-process__art--composite {
    left: 0;
    top: 0;
    width: 100%;
    aspect-ratio: 2;
  }
  .signature-process--under-eye-ultracol .signature-process__face {
    position: relative;
    z-index: 1;
  }
  .signature-process--under-eye-ultracol .signature-process__regions {
    z-index: 2;
  }
  .signature-process--under-eye-ultracol .signature-process__step--01 {
    --region-left: 0%;
    --region-top: 0%;
    --region-width: 100%;
  }
  .signature-process--under-eye-ultracol .signature-process__step--01 .signature-process__point--1 {
    --point-x: 340;
    --point-y: 304;
  }
  .signature-process--under-eye-ultracol .signature-process__step--01 .signature-process__callout:nth-child(1) {
    top: calc(46.0714% - 10px);
  }
  .signature-process--under-eye-ultracol .signature-process__step--01 .signature-process__point--2 {
    --point-x: 340;
    --point-y: 324;
  }
  .signature-process--under-eye-ultracol .signature-process__step--01 .signature-process__callout:nth-child(2) {
    top: calc(71.25% - 10px);
  }
  .signature-process--under-eye-ultracol .signature-process__step--02 .signature-process__point--1 {
    --point-x: 345;
    --point-y: 288;
  }
  .signature-process--under-eye-ultracol .signature-process__step--02 .signature-process__callout:nth-child(1) {
    top: calc(42.5% - 10px);
  }
  .signature-process--under-eye-ultracol .signature-process__step--02 .signature-process__point--2 {
    --point-x: 344;
    --point-y: 308;
  }
  .signature-process--under-eye-ultracol .signature-process__step--02 .signature-process__callout:nth-child(2) {
    top: calc(72.1429% - 10px);
  }
  .signature-process--under-eye-ultracol .signature-process__step--03 .signature-process__point--1 {
    --point-x: 335;
    --point-y: 271;
  }
  .signature-process--under-eye-ultracol .signature-process__step--03 .signature-process__callout:nth-child(1) {
    top: calc(39.2857% - 10px);
  }
  .signature-process--under-eye-ultracol .signature-process__step--03 .signature-process__point--2 {
    --point-x: 316;
    --point-y: 279;
  }
  .signature-process--under-eye-ultracol .signature-process__step--03 .signature-process__callout:nth-child(2) {
    top: calc(58.9286% - 10px);
  }
  .signature-process--under-eye-ultracol .signature-process__step--03 .signature-process__point--3 {
    --point-x: 335;
    --point-y: 298;
  }
  .signature-process--under-eye-ultracol .signature-process__step--03 .signature-process__callout:nth-child(3) {
    top: calc(78.5714% - 10px);
  }
  .signature-process--under-eye-ultracol .signature-process__step--04 {
    --region-left: 0%;
    --region-top: 0%;
    --region-width: 100%;
  }
  .signature-process--under-eye-ultracol .signature-process__step--04 .signature-process__point--1 {
    --point-x: 340;
    --point-y: 304;
  }
  .signature-process--under-eye-ultracol .signature-process__step--04 .signature-process__callout:nth-child(1) {
    top: calc(46.0714% - 10px);
  }
  .signature-process--under-eye-ultracol .signature-process__step--04 .signature-process__point--2 {
    --point-x: 340;
    --point-y: 324;
  }
  .signature-process--under-eye-ultracol .signature-process__step--04 .signature-process__callout:nth-child(2) {
    top: calc(71.25% - 10px);
  }
  .signature-process--under-eye-ultracol .signature-process__step--05 .signature-process__point--1 {
    --point-x: 463;
    --point-y: 304;
  }
  .signature-process--under-eye-ultracol .signature-process__step--05 .signature-process__point--2 {
    --point-x: 448;
    --point-y: 398;
  }
  .signature-process--under-eye-ultracol .signature-process__step--05 .signature-process__callout:nth-child(1) {
    top: calc(45.7143% - 10px);
  }
  .signature-process--under-eye-ultracol .signature-process__step--05 .signature-process__callout:nth-child(2) {
    top: calc(79.6429% - 10px);
  }
  .signature-process--under-eye-ultracol .signature-process__step--06 {
    --region-left: 30.67%;
    --region-top: 56.22%;
    --region-width: 38.66%;
  }
  .signature-process--under-eye-ultracol .signature-process__step--06 .signature-process__point {
    --point-x: 320;
    --point-y: 306;
  }
  .signature-process--under-eye-ultracol .signature-process__step--06 .signature-process__callout {
    top: calc(65.5357% - 10px);
  }
  .signature-process--under-eye-ultracol .signature-process__step--07 .signature-process__point--1 {
    --point-x: 471;
    --point-y: 214;
  }
  .signature-process--under-eye-ultracol .signature-process__step--07 .signature-process__point--2 {
    --point-x: 473;
    --point-y: 363;
  }
  .signature-process--under-eye-ultracol .signature-process__step--07 .signature-process__callout:nth-child(1) {
    top: calc(29.6429% - 10px);
  }
  .signature-process--under-eye-ultracol .signature-process__step--07 .signature-process__callout:nth-child(2) {
    top: calc(73.3929% - 10px);
  }
  .signature-process--under-eye-ultracol .signature-process__step--08 .signature-process__point {
    --point-x: 447;
    --point-y: 342;
  }
  .signature-process--under-eye-ultracol .signature-process__step--08 .signature-process__callout {
    top: calc(52.5% - 10px);
  }
  .signature-process--sedation .signature-process__step--01 .signature-process__point {
    --point-x: 490;
    --point-y: 321;
  }
  .signature-process--sedation .signature-process__step--01 .signature-process__callout {
    top: calc(65.8929% - 10px);
  }
  .signature-process--sedation .signature-process__step--02 .signature-process__point {
    --point-x: 350;
    --point-y: 280;
  }
  .signature-process--sedation .signature-process__step--02 .signature-process__callout {
    top: calc(50% - 20px);
    white-space: pre-line;
  }
  .signature-process--sedation .signature-process__step--03 .signature-process__point--1 {
    --point-x: 390;
    --point-y: 168;
  }
  .signature-process--sedation .signature-process__step--03 .signature-process__point--2 {
    --point-x: 390;
    --point-y: 208;
  }
  .signature-process--sedation .signature-process__step--03 .signature-process__callout:nth-child(1) {
    top: calc(21.4286% - 10px);
  }
  .signature-process--sedation .signature-process__step--03 .signature-process__callout:nth-child(2) {
    top: calc(45.7143% - 10px);
  }
  .signature-process--sedation .signature-process__step--04 .signature-process__point--1 {
    --point-x: 489;
    --point-y: 217;
  }
  .signature-process--sedation .signature-process__step--04 .signature-process__point--2 {
    --point-x: 489;
    --point-y: 339;
  }
  .signature-process--sedation .signature-process__step--04 .signature-process__callout:nth-child(1) {
    top: calc(30.1786% - 10px);
  }
  .signature-process--sedation .signature-process__step--04 .signature-process__callout:nth-child(2) {
    top: calc(69.1071% - 10px);
  }
  .signature-process--sedation .signature-process__step--05 .signature-process__point {
    --point-x: 360;
    --point-y: 174;
  }
  .signature-process--sedation .signature-process__step--05 .signature-process__callout {
    top: calc(22.5% - 10px);
  }
  .signature-process--sedation .signature-process__step--06 .signature-process__point--1 {
    --point-x: 213;
    --point-y: 115;
  }
  .signature-process--sedation .signature-process__step--06 .signature-process__point--2 {
    --point-x: 446;
    --point-y: 285;
  }
  .signature-process--sedation .signature-process__step--06 .signature-process__callout:nth-child(1) {
    top: calc(11.9643% - 10px);
  }
  .signature-process--sedation .signature-process__step--06 .signature-process__callout:nth-child(2) {
    top: calc(59.4643% - 10px);
  }
  .signature-process--sedation .signature-process__step--07 .signature-process__point {
    --point-x: 338;
    --point-y: 125;
  }
  .signature-process--sedation .signature-process__step--07 .signature-process__callout {
    top: calc(13.75% - 10px);
  }
  @media (min-width: 1024px) {
    html[lang=ko] .signature-process--under-eye-ultracol :is(.signature-process__step--06, .signature-process__step--07) .signature-process__description br,
    html[lang=ko] .signature-process--sesla .signature-process__step--04 .signature-process__description br,
    html[lang=ko] .signature-process--tailored-collagen-booster .signature-process__step--06 .signature-process__description p:nth-child(2) br,
    html[lang=ko] .newyoung-signature-detail--tailored-bio-volume .newyoung-content-section__paragraph br,
    html[lang=ko] .newyoung-signature-detail--sedation .newyoung-content-section__lead > p:first-child br {
      display: none;
    }
  }
  @media (max-width: 1023px) {
    html[lang=ko] .signature-process--sesla :is(.signature-process__step--01, .signature-process__step--05) .signature-process__description br,
    html[lang=ko] .signature-process--sedation .signature-process__step--04 .signature-process__description br {
      display: none;
    }
    html[lang=ko] .newyoung-signature-detail--sedation .newyoung-content-section__lead > p:nth-child(2) > br:is(:nth-of-type(3), :nth-of-type(6), :nth-of-type(12)) {
      display: none;
    }
  }
  .signature-process--tailored-lifting .signature-process__face {
    position: relative;
    z-index: 1;
  }
  .signature-process--tailored-lifting .signature-process__step--10 .signature-process__regions {
    z-index: 2;
  }
  .signature-process--tailored-lifting .signature-process__step--01 {
    --region-left: 58.75%;
    --region-top: 55.8128%;
    --region-width: 10.25%;
  }
  .signature-process--tailored-lifting .signature-process__step--01 :is(.signature-process__point--1, .signature-process__reference--1) {
    --point-x: 350;
    --point-y: 385;
  }
  .signature-process--tailored-lifting .signature-process__step--01 :is(.signature-process__point--2, .signature-process__reference--2) {
    --point-x: 370;
    --point-y: 312;
  }
  .signature-process--tailored-lifting .signature-process__step--01 .signature-process__callout:nth-child(1) {
    top: calc(77.67857% - 10px);
  }
  .signature-process--tailored-lifting .signature-process__step--01 .signature-process__callout:nth-child(2) {
    top: calc(47.14286% - 10px);
  }
  .signature-process--tailored-lifting .signature-process__step--02 {
    --region-left: 27.37386%;
    --region-top: 42.31168%;
    --region-width: 44.69437%;
  }
  .signature-process--tailored-lifting .signature-process__step--02 :is(.signature-process__point--1, .signature-process__reference--1) {
    --point-x: 364;
    --point-y: 308;
  }
  .signature-process--tailored-lifting .signature-process__step--02 :is(.signature-process__point--2, .signature-process__reference--2) {
    --point-x: 345;
    --point-y: 345;
  }
  .signature-process--tailored-lifting .signature-process__step--02 .signature-process__callout:nth-child(1) {
    top: calc(48.21429% - 10px);
  }
  .signature-process--tailored-lifting .signature-process__step--02 .signature-process__callout:nth-child(2) {
    top: calc(75% - 10px);
  }
  .signature-process--tailored-lifting .signature-process__step--03 {
    --region-left: 30%;
    --region-top: 56.56318%;
    --region-width: 40%;
  }
  .signature-process--tailored-lifting .signature-process__step--03 :is(.signature-process__point--1, .signature-process__reference--1) {
    --point-x: 355.60001;
    --point-y: 340;
  }
  .signature-process--tailored-lifting .signature-process__step--03 .signature-process__callout:nth-child(1) {
    top: calc(52.14286% - 10px);
  }
  .signature-process--tailored-lifting .signature-process__step--04 {
    --region-left: 36.8128%;
    --region-top: 61.06185%;
    --region-width: 26.375%;
  }
  .signature-process--tailored-lifting .signature-process__step--04 :is(.signature-process__point--1, .signature-process__reference--1) {
    --point-x: 323.20001;
    --point-y: 347.20001;
  }
  .signature-process--tailored-lifting .signature-process__step--04 :is(.signature-process__point--2, .signature-process__reference--2) {
    --point-x: 331;
    --point-y: 395;
  }
  .signature-process--tailored-lifting .signature-process__step--04 .signature-process__callout:nth-child(1) {
    top: calc(53.42857% - 10px);
  }
  .signature-process--tailored-lifting .signature-process__step--04 .signature-process__callout:nth-child(2) {
    top: calc(78.28571% - 10px);
  }
  .signature-process--tailored-lifting .signature-process__step--05 {
    --region-left: 29.5%;
    --region-top: 51.25%;
    --region-width: 40.75%;
  }
  .signature-process--tailored-lifting .signature-process__step--05 :is(.signature-process__point--1, .signature-process__reference--1) {
    --point-x: 349.60001;
    --point-y: 298;
  }
  .signature-process--tailored-lifting .signature-process__step--05 :is(.signature-process__point--2, .signature-process__reference--2) {
    --point-x: 331.60001;
    --point-y: 395.20001;
  }
  .signature-process--tailored-lifting .signature-process__step--05 .signature-process__callout:nth-child(1) {
    top: calc(44.64286% - 10px);
  }
  .signature-process--tailored-lifting .signature-process__step--05 .signature-process__callout:nth-child(2) {
    top: calc(79.14286% - 10px);
  }
  .signature-process--tailored-lifting .signature-process__step--06 {
    --region-left: 27.75%;
    --region-top: 52.75%;
    --region-width: 44.5%;
  }
  .signature-process--tailored-lifting .signature-process__step--06 :is(.signature-process__point--1, .signature-process__reference--1) {
    --point-x: 376;
    --point-y: 307.60001;
  }
  .signature-process--tailored-lifting .signature-process__step--06 :is(.signature-process__point--2, .signature-process__reference--2) {
    --point-x: 331.60001;
    --point-y: 404.79999;
  }
  .signature-process--tailored-lifting .signature-process__step--06 .signature-process__callout:nth-child(1) {
    top: calc(46.35714% - 10px);
  }
  .signature-process--tailored-lifting .signature-process__step--06 .signature-process__callout:nth-child(2) {
    top: calc(80.85714% - 10px);
  }
  .signature-process--tailored-lifting .signature-process__step--07 {
    --region-left: 34.5%;
    --region-top: 55.75%;
    --region-width: 31%;
  }
  .signature-process--tailored-lifting .signature-process__step--07 :is(.signature-process__point--1, .signature-process__reference--1) {
    --point-x: 337.60001;
    --point-y: 329.20001;
  }
  .signature-process--tailored-lifting .signature-process__step--07 .signature-process__callout:nth-child(1) {
    top: calc(50.21429% - 10px);
  }
  .signature-process--tailored-lifting .signature-process__step--08 {
    --region-left: 27.56415%;
    --region-top: 42.0613%;
    --region-width: 44.625%;
  }
  .signature-process--tailored-lifting .signature-process__step--08 :is(.signature-process__point--1, .signature-process__reference--1) {
    --point-x: 361.60001;
    --point-y: 293.20001;
  }
  .signature-process--tailored-lifting .signature-process__step--08 :is(.signature-process__point--2, .signature-process__reference--2) {
    --point-x: 353.20001;
    --point-y: 337.60001;
  }
  .signature-process--tailored-lifting .signature-process__step--08 .signature-process__callout:nth-child(1) {
    top: calc(43.78571% - 10px);
  }
  .signature-process--tailored-lifting .signature-process__step--08 .signature-process__callout:nth-child(2) {
    top: calc(68.85714% - 10px);
  }
  .signature-process--tailored-lifting .signature-process__step--09 {
    --region-left: 31.75%;
    --region-top: 52.82%;
    --region-width: 36.25021%;
  }
  .signature-process--tailored-lifting .signature-process__step--09 :is(.signature-process__point--1, .signature-process__reference--1) {
    --point-x: 343.60001;
    --point-y: 313.60001;
  }
  .signature-process--tailored-lifting .signature-process__step--09 .signature-process__callout:nth-child(1) {
    top: calc(47.42857% - 10px);
  }
  .signature-process--tailored-lifting .signature-process__step--10 {
    --region-left: 58.75%;
    --region-top: 55.83403%;
    --region-width: 24.77479%;
  }
  .signature-process--tailored-lifting .signature-process__step--10 :is(.signature-process__point--1, .signature-process__reference--1) {
    --point-x: 365.20001;
    --point-y: 325.60001;
  }
  .signature-process--tailored-lifting .signature-process__step--10 .signature-process__callout:nth-child(1) {
    top: calc(49.57143% - 10px);
  }
  .signature-process--tailored-lifting :is(.signature-process__step--01, .signature-process__step--04, .signature-process__step--05, .signature-process__step--08) {
    --region-left: 0%;
    --region-top: 0%;
    --region-width: 100%;
  }
  @media (max-width: 1023px) {
    .signature-process--tailored-lifting :is(.signature-process__step--01, .signature-process__step--03, .signature-process__step--05) .signature-process__description br {
      display: none;
    }
  }
  .signature-process--tailored-collagen-booster {
    --region-left: 0%;
    --region-top: 0%;
    --region-width: 100%;
  }
  .signature-process--tailored-collagen-booster .signature-process__regions {
    z-index: 2;
  }
  .signature-process--tailored-collagen-booster .signature-process__step--04 .signature-process__scene {
    aspect-ratio: 3;
  }
  .signature-process--tailored-collagen-booster .signature-process__art--collagen-04 {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    aspect-ratio: 3;
  }
  .signature-process--tailored-collagen-booster .signature-process__art--collagen-04 .signature-process__face, .signature-process--tailored-collagen-booster .signature-process__art--collagen-04 .signature-process__outline {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
  .signature-process--tailored-collagen-booster .signature-process__art--collagen-04 img, .signature-process--tailored-collagen-booster .signature-process__art--collagen-04 svg {
    display: block;
    width: 100%;
    height: auto;
  }
  .signature-process--tailored-collagen-booster .signature-process__step--01 .signature-process__point--1 {
    --point-x: 344;
    --point-y: 319;
  }
  .signature-process--tailored-collagen-booster .signature-process__step--01 .signature-process__point--2 {
    --point-x: 355;
    --point-y: 386;
  }
  .signature-process--tailored-collagen-booster .signature-process__step--01 .signature-process__callout:nth-child(1) {
    top: calc(48.3929% - 10px);
  }
  .signature-process--tailored-collagen-booster .signature-process__step--01 .signature-process__callout:nth-child(2) {
    top: calc(76.25% - 10px);
  }
  .signature-process--tailored-collagen-booster .signature-process__step--02 .signature-process__point--1 {
    --point-x: 357;
    --point-y: 296;
  }
  .signature-process--tailored-collagen-booster .signature-process__step--02 .signature-process__point--2 {
    --point-x: 369;
    --point-y: 355;
  }
  .signature-process--tailored-collagen-booster .signature-process__step--02 .signature-process__callout:nth-child(1) {
    top: calc(44.2857% - 10px);
  }
  .signature-process--tailored-collagen-booster .signature-process__step--02 .signature-process__callout:nth-child(2) {
    top: calc(71.9643% - 10px);
  }
  .signature-process--tailored-collagen-booster .signature-process__step--03 .signature-process__point--1 {
    --point-x: 357;
    --point-y: 297;
  }
  .signature-process--tailored-collagen-booster .signature-process__step--03 .signature-process__point--2 {
    --point-x: 351;
    --point-y: 333;
  }
  .signature-process--tailored-collagen-booster .signature-process__step--03 .signature-process__callout:nth-child(1) {
    top: calc(44.4643% - 10px);
  }
  .signature-process--tailored-collagen-booster .signature-process__step--03 .signature-process__callout:nth-child(2) {
    top: calc(68.0357% - 10px);
  }
  .signature-process--tailored-collagen-booster .signature-process__step--04 .signature-process__point--1 {
    --point-x: 335;
    --point-y: 120;
  }
  .signature-process--tailored-collagen-booster .signature-process__step--04 .signature-process__point--2 {
    --point-x: 380;
    --point-y: 300;
  }
  .signature-process--tailored-collagen-booster .signature-process__step--04 .signature-process__point--3 {
    --point-x: 447;
    --point-y: 480;
  }
  .signature-process--tailored-collagen-booster .signature-process__step--04 .signature-process__callout:nth-child(1) {
    top: calc(12.8571% - 10px);
  }
  .signature-process--tailored-collagen-booster .signature-process__step--04 .signature-process__callout:nth-child(2) {
    top: calc(45% - 10px);
  }
  .signature-process--tailored-collagen-booster .signature-process__step--04 .signature-process__callout:nth-child(3) {
    top: calc(77.1429% - 10px);
  }
  .signature-process--tailored-collagen-booster .signature-process__step--05 .signature-process__point--1 {
    --point-x: 383;
    --point-y: 245;
  }
  .signature-process--tailored-collagen-booster .signature-process__step--05 .signature-process__point--2 {
    --point-x: 232;
    --point-y: 421;
  }
  .signature-process--tailored-collagen-booster .signature-process__step--05 .signature-process__callout:nth-child(1) {
    top: calc(35.1786% - 10px);
  }
  .signature-process--tailored-collagen-booster .signature-process__step--05 .signature-process__callout:nth-child(2) {
    top: calc(83.75% - 10px);
  }
  .signature-process--tailored-collagen-booster .signature-process__step--06 .signature-process__point--1 {
    --point-x: 347;
    --point-y: 393;
  }
  .signature-process--tailored-collagen-booster .signature-process__step--06 .signature-process__callout {
    top: calc(61.6071% - 10px);
  }
  .signature-process {
    grid-area: groups;
    min-width: 0;
    color: var(--public-brand-ink);
  }
  .signature-process__step {
    scroll-margin-top: calc(var(--public-header-height) + 24px);
  }
  .signature-process__panel {
    padding-block: 28px 56px;
    background: var(--public-surface-subtle);
  }
  .signature-process__heading {
    display: flex;
    align-items: baseline;
    gap: 16px;
  }
  .signature-process__index {
    flex: none;
    color: var(--public-brand-accent);
    font-size: 13px;
    font-weight: 400;
    font-variant-numeric: tabular-nums;
  }
  .signature-process__title {
    font-size: clamp(20px, 2vw, 24px);
    line-height: 1.5;
    font-weight: 500;
    word-break: keep-all;
    overflow-wrap: break-word;
    text-wrap: balance;
  }
  .signature-process__figure {
    position: relative;
    margin: 24px 0 32px;
  }
  .signature-process__scene {
    position: relative;
    aspect-ratio: 2;
  }
  .signature-process__art {
    --art-origin-x: 40;
    --art-origin-y: 40;
    position: absolute;
    left: 3.5714%;
    top: 7.1429%;
    width: 42.8571%;
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
  }
  .signature-process--tailored-botox .signature-process__step--06 .signature-process__art {
    --art-origin-x: 10;
    left: 0.8929%;
  }
  .signature-process__face {
    display: block;
    width: 100%;
    height: auto;
  }
  .signature-process__outline {
    position: absolute;
    inset: 0;
    z-index: 3;
    opacity: 0;
    pointer-events: none;
  }
  .signature-process__outline > svg, .signature-process__connection > svg {
    display: block;
    width: 100%;
    height: auto;
  }
  .signature-process__regions {
    position: absolute;
    left: var(--region-left);
    top: var(--region-top);
    width: var(--region-width);
    height: auto;
  }
  .signature-process__art-labels {
    left: 0;
    top: 73.3333%;
    z-index: 4;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    color: var(--public-muted);
    font-size: clamp(8px, 1vw, 14px);
    line-height: 1.7;
    text-align: center;
    white-space: nowrap;
  }
  .signature-process__closing {
    grid-column: 1/-1;
    padding-block: 40px;
  }
  .signature-process__closing .signature-process__description {
    margin-top: 20px;
  }
  .signature-process__connection {
    position: absolute;
    inset: 0;
    width: 100%;
    height: auto;
  }
  .signature-process__mobile-connections {
    display: none;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
    color: var(--public-brand-accent);
  }
  .signature-process__mobile-connections > path {
    stroke-opacity: 0.65;
  }
  .signature-process__reference, .signature-process__reference-key, .signature-process__mobile-reference {
    display: none;
  }
  .signature-process__mobile-reference > circle {
    fill: var(--public-surface-subtle);
    stroke: currentColor;
    stroke-width: 1;
  }
  .signature-process__mobile-reference > text {
    fill: currentColor;
    font-size: 14px;
    font-weight: 500;
  }
  .signature-process__pointer-ripple {
    opacity: 0;
    transform-box: fill-box;
    transform-origin: center;
  }
  @media (max-width: 1023px) and (prefers-reduced-motion: no-preference) {
    .signature-process__mobile-connections.is-pointer-active .signature-process__pointer-ripple {
      animation: signature-pointer-ripple 1.5s cubic-bezier(0.2, 0.65, 0.3, 1) var(--pointer-delay, 0ms) infinite;
    }
  }
  .signature-process__point {
    position: absolute;
    width: 9px;
    height: 9px;
    margin: -4.5px 0 0 -4.5px;
    border: 1px solid var(--public-brand-accent);
    border-radius: 50%;
    pointer-events: none;
    opacity: 0;
    left: calc(var(--point-x) / 1120 * 100%);
    top: calc(var(--point-y) / 560 * 100%);
  }
  .signature-process__point--mobile-only {
    display: none;
  }
  .signature-process--tailored-botox .signature-process__step--01 .signature-process__point {
    --point-x: 330;
    --point-y: 193;
  }
  .signature-process--tailored-botox .signature-process__step--02 .signature-process__point {
    --point-x: 314;
    --point-y: 181;
  }
  .signature-process--tailored-botox .signature-process__step--03 .signature-process__point--1 {
    --point-x: 265;
    --point-y: 193;
  }
  .signature-process--tailored-botox .signature-process__step--03 .signature-process__point--2 {
    --point-x: 335;
    --point-y: 211;
  }
  .signature-process--tailored-botox .signature-process__step--04 .signature-process__point {
    --point-x: 277;
    --point-y: 190;
  }
  .signature-process--tailored-botox .signature-process__step--05 .signature-process__point {
    --point-x: 341;
    --point-y: 183;
  }
  .signature-process--tailored-botox .signature-process__step--06 .signature-process__point {
    --point-x: 306;
    --point-y: 196;
  }
  .signature-process--tailored-botox .signature-process__step--07 .signature-process__point--1 {
    --point-x: 298;
    --point-y: 171;
  }
  .signature-process--tailored-botox .signature-process__step--07 .signature-process__point--2 {
    --point-x: 353;
    --point-y: 210;
  }
  .signature-process__callouts {
    position: absolute;
    inset: 0 0 0 62.5%;
  }
  .signature-process__callout {
    position: absolute;
    top: calc(25.8929% - 11px);
    width: 100%;
    padding-left: 12px;
    color: var(--public-brand-accent);
    font-size: 13px;
    line-height: 20px;
    word-break: keep-all;
  }
  .signature-process--tailored-botox .signature-process__step--02 .signature-process__callout {
    top: calc(23.75% - 11px);
  }
  .signature-process--tailored-botox .signature-process__step--03 .signature-process__callout:nth-child(2) {
    top: calc(46.25% - 11px);
  }
  .signature-process--tailored-botox .signature-process__step--04 .signature-process__callout {
    top: calc(25.3571% - 11px);
  }
  .signature-process--tailored-botox .signature-process__step--05 .signature-process__callout {
    top: calc(24.1071% - 11px);
  }
  .signature-process--tailored-botox .signature-process__step--06 .signature-process__callout {
    top: calc(26.4286% - 11px);
  }
  .signature-process--tailored-botox .signature-process__step--07 .signature-process__callout {
    top: calc(21.9643% - 11px);
  }
  .signature-process--tailored-botox .signature-process__step--07 .signature-process__callout:nth-child(2) {
    top: calc(46.0714% - 11px);
  }
  .signature-process__description {
    width: 100%;
    font-size: var(--body-md-fs);
    line-height: var(--body-md-lh);
    word-break: keep-all;
    overflow-wrap: break-word;
    text-wrap: balance;
  }
  .signature-process__description p + p {
    margin-top: 12px;
  }
  .signature-process__caption {
    max-inline-size: 40em;
    margin-top: 20px;
    font-size: 11px;
    line-height: 1.7;
    color: var(--public-muted);
    text-wrap: pretty;
  }
  @media (min-width: 1024px) {
    .signature-process__callouts--embedded {
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip-path: inset(50%);
      white-space: nowrap;
    }
  }
  @media (min-width: 1024px) and (min-height: 800px) and (prefers-reduced-motion: no-preference) {
    .signature-process__step.is-pinned {
      min-height: 140svh;
      scroll-margin-top: calc(var(--public-header-height) + 20px - 36svh);
    }
    .signature-process__step.is-pinned .signature-process__panel {
      position: sticky;
      top: calc(var(--public-header-height) + 20px);
    }
  }
  @media (max-width: 1439px) {
    .signature-process__figure {
      width: min(100%, 420px);
      margin-inline: auto;
    }
    .signature-process__callouts {
      inset: 0 0 0 64%;
    }
    .signature-process__callout {
      padding: 0;
      font-size: 11px;
      line-height: 20px;
    }
  }
  @media (max-width: 1023px) {
    .signature-process__figure {
      display: flex;
      flex-direction: column;
      width: min(100%, 420px);
    }
    .signature-process__scene {
      width: min(100% - 48px, 340px);
      margin-inline: auto;
      aspect-ratio: 1;
    }
    .signature-process__figure:has(.signature-process__reference-key) .signature-process__scene {
      margin-inline: 0 auto;
    }
    .signature-process__art {
      position: relative;
      left: 0;
      top: 0;
      width: 100%;
    }
    .signature-process--tailored-botox .signature-process__step--06 .signature-process__art {
      left: 0;
    }
    .signature-process__connection, .signature-process__point {
      display: none;
    }
    .signature-process__mobile-connections {
      display: block;
    }
    .signature-process__callouts {
      position: static;
      display: grid;
      grid-template-columns: 1fr;
      gap: 12px;
      padding: 0;
      margin: 24px 0 0;
    }
    .signature-process__callout {
      position: static;
      display: flex;
      align-items: baseline;
      gap: 8px;
      width: 100%;
      padding: 0;
      font-size: 1.6rem;
      line-height: 1.65;
      text-align: left;
    }
    .signature-process__mobile-reference {
      display: block;
    }
    .signature-process__reference-key {
      display: inline-grid;
      place-items: center;
      flex: none;
      width: 28px;
      height: 28px;
      border: 1px solid currentColor;
      border-radius: 50%;
      font-size: 1.4rem;
      font-weight: 500;
      line-height: 1;
    }
    .signature-process__figure--composite .signature-process__art {
      aspect-ratio: 1;
    }
    .signature-process__figure--composite .signature-process__outline {
      display: none;
    }
  }
  @media (max-width: 767px) {
    .signature-process__heading {
      gap: 12px;
    }
    .signature-process__title {
      font-size: 20px;
    }
    .signature-process__figure {
      margin-block: 28px;
    }
  }
  @media (min-width: 768px) and (max-width: 1023px) {
    .signature-process {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 32px 40px;
    }
    .signature-process__step {
      min-width: 0;
    }
    .signature-process__panel {
      padding-block: 28px 36px;
    }
    .signature-process__heading {
      min-height: 60px;
      gap: 12px;
    }
    .signature-process__title {
      font-size: 20px;
    }
  }
  @keyframes signature-pointer-ripple {
    0% {
      opacity: 0.65;
      transform: scale(1);
    }
    90%, 100% {
      opacity: 0;
      transform: scale(7);
    }
  }
  .public-page-layer {
    position: relative;
    min-width: 0;
    min-height: 100svh;
  }
  [data-barba=container].is-page-transition-current {
    position: relative;
    z-index: 0;
    isolation: isolate;
    transform-origin: center var(--public-page-transition-origin-y, 50svh);
    pointer-events: none;
    will-change: transform, opacity;
  }
  [data-barba=container].is-page-transition-current > .site-header.public-header {
    position: absolute;
    inset: var(--public-page-transition-scroll-top, 0) 0 auto;
  }
  [data-barba=container].is-page-transition-next {
    position: fixed;
    z-index: calc(var(--public-z-drawer) + 31);
    inset: 0;
    width: 100%;
    height: 100svh;
    overflow: hidden;
    background: var(--public-white);
    clip-path: inset(100% 0 0 0);
    pointer-events: none;
    will-change: clip-path, transform;
    contain: paint;
    isolation: isolate;
  }
  .public-page-transition-overlay {
    position: fixed;
    z-index: calc(var(--public-z-drawer) + 30);
    inset: 0;
    visibility: hidden;
    background: var(--public-page-transition-backdrop);
    opacity: 0;
    pointer-events: none;
    will-change: opacity;
  }
  .public-page-transition-overlay.is-active {
    visibility: visible;
  }
  html.is-page-transitioning {
    cursor: progress;
  }
  html.is-page-transitioning body {
    overflow: hidden;
    background: var(--public-page-transition-backdrop);
  }
  @media (prefers-reduced-motion: reduce) {
    .public-page-transition-overlay {
      display: none;
    }
  }
  .public-cart {
    padding-top: calc(var(--public-header-height) + var(--public-space-page));
    padding-bottom: var(--public-cart-page-bottom);
    background: var(--public-surface);
  }
  .public-cart.is-public-cart-loading {
    cursor: progress;
  }
  .public-cart__inner {
    display: grid;
    gap: var(--public-space-2xl);
    width: min(100% - var(--public-shell-gutter) * 2, var(--public-cart-max));
    max-width: var(--public-cart-max);
    margin-inline: auto;
  }
  .public-cart__header {
    text-align: center;
  }
  .public-cart__panel {
    padding: 0 var(--public-cart-panel-padding) var(--public-cart-panel-padding);
    background: var(--public-white);
  }
  .public-cart__toolbar {
    display: flex;
    align-items: center;
    gap: var(--public-space-xs);
    min-height: 7.2rem;
    border-bottom: 1px solid var(--public-line);
  }
  .public-cart__master {
    display: grid;
    width: var(--public-check-size);
    height: var(--public-check-size);
    padding: 0;
    place-items: center;
    color: transparent;
    background: var(--public-white);
    border: 1px solid var(--public-line);
    border-radius: 0;
    transition: color var(--public-duration) var(--public-ease), border-color var(--public-duration) var(--public-ease), background var(--public-duration) var(--public-ease), box-shadow var(--public-duration) var(--public-ease);
  }
  .public-cart__master:hover, .public-cart__master:focus-visible {
    color: var(--public-blue);
    border-color: var(--public-blue);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--public-blue) 16%, transparent);
  }
  .public-cart__master[data-state=mixed], .public-cart__master[data-state=checked] {
    color: var(--public-white);
    background: var(--public-blue);
    border-color: var(--public-blue);
  }
  .public-cart__delete, .public-cart__row-delete {
    min-height: 4.8rem;
    padding-inline: var(--public-space-md);
    padding-block: 0;
    color: var(--public-ink);
    background: var(--public-white);
    border: 1px solid var(--public-line);
    border-radius: 0.2rem;
    font-weight: var(--font-weight-medium);
    transition: color var(--public-duration) var(--public-ease), border-color var(--public-duration) var(--public-ease), background var(--public-duration) var(--public-ease), box-shadow var(--public-duration) var(--public-ease);
  }
  .public-cart__delete {
    margin-left: auto;
  }
  .public-cart__delete:hover, .public-cart__delete:focus-visible, .public-cart__row-delete:hover, .public-cart__row-delete:focus-visible {
    color: var(--public-white);
    background: var(--public-ink);
    border-color: var(--public-ink);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--public-ink) 16%, transparent);
  }
  .public-cart__empty {
    padding-block: var(--public-space-3xl);
    border-bottom: 1px solid var(--public-line);
  }
  .public-cart__empty .empty-state {
    padding: 0;
  }
  .public-cart__row {
    display: grid;
    position: relative;
    grid-template-columns: minmax(0, 1fr);
    min-height: var(--public-cart-row-min-height);
    padding-block: var(--public-space-xs);
    border-bottom: 1px solid var(--public-line);
  }
  .public-cart__row.is-hidden {
    display: none !important;
  }
  .public-cart__row .public-treatment-card__body {
    height: 100%;
    padding-right: 10rem;
  }
  .public-cart__row-delete {
    position: absolute;
    top: var(--public-space-xl);
    right: 0;
  }
  .public-cart__quantity {
    display: flex;
    align-items: center;
    gap: var(--public-space-2xs);
    width: max-content;
    margin-top: var(--public-space-sm);
  }
  .public-cart__quantity input {
    width: 6rem;
    min-height: 3.2rem;
    padding-inline: var(--public-space-2xs);
    background: var(--public-white);
    border: 1px solid var(--public-line);
  }
  .public-cart__summary {
    margin-top: var(--public-space-2xl);
    padding-top: var(--public-space-2xl);
    border-top: 1px solid var(--public-line-strong);
  }
  .public-cart__summary dl {
    display: grid;
    gap: var(--public-space-sm);
  }
  .public-cart__summary div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--public-space-xl);
  }
  .public-cart__summary dt {
    color: var(--public-muted);
  }
  .public-cart__summary dt strong {
    margin-left: var(--public-space-2xs);
    color: var(--public-blue);
  }
  .public-cart__summary dd {
    color: var(--public-ink);
    white-space: nowrap;
  }
  .public-cart__notice {
    margin-top: var(--public-space-2xl);
    color: var(--public-muted);
  }
  .public-cart__notice .public-notice {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: var(--public-space-xl) var(--public-space-2xl);
    background: var(--public-surface);
    border: 1px solid var(--public-line);
  }
  .public-cart__notice .public-notice__mark {
    display: none;
    background: var(--public-ink);
  }
  .public-cart__notice .public-notice__list {
    list-style: disc;
  }
  .public-cart__booking-gate {
    display: grid;
    gap: var(--public-space-lg);
    margin-top: var(--public-space-2xl);
    padding-top: var(--public-space-2xl);
    border-top: 1px solid var(--public-line);
  }
  .public-cart__booking-head, .public-cart__booking-form, .public-cart__consents {
    display: grid;
  }
  .public-cart__booking-head, .public-cart__consents {
    gap: var(--public-space-xs);
  }
  .public-cart__booking-form {
    gap: var(--public-space-md);
  }
  .public-cart__booking-copy, .public-cart__policy {
    color: var(--public-muted);
  }
  .public-cart__consent {
    display: grid;
    grid-template-columns: var(--public-check-size) minmax(0, 1fr);
    align-items: start;
    gap: var(--public-space-xs);
    cursor: pointer;
  }
  .public-cart__consent input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .public-cart__consent input:checked + .public-form-field__checkbox-mark, .public-cart .public-treatment-card--cart .public-treatment-card__check-input:checked + .public-treatment-card__check {
    color: var(--public-white);
    background: var(--public-blue);
    border-color: var(--public-blue);
  }
  .public-cart .public-treatment-card--cart .public-treatment-card__check-wrapper:hover .public-treatment-card__check, .public-cart .public-treatment-card--cart .public-treatment-card__check-wrapper:focus-within .public-treatment-card__check {
    border-color: var(--public-blue);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--public-blue) 15%, transparent);
  }
  .public-cart .public-treatment-card--cart .public-treatment-card__badge, .public-cart .public-treatment-card--cart .public-treatment-card__discount {
    color: var(--public-blue);
  }
  .public-cart__policy a {
    color: inherit;
    text-underline-offset: var(--public-space-2xs);
  }
  .public-cart__actions {
    margin-top: var(--public-space-2xl);
    padding-inline-end: 0;
  }
  .public-cart__panel[aria-busy=true] {
    opacity: 0.68;
    pointer-events: none;
  }
  @media (max-width: 767px) {
    .public-cart {
      padding-top: calc(var(--public-header-height) + var(--public-space-2xl));
      padding-bottom: var(--public-space-page);
    }
    .public-cart__inner {
      gap: var(--public-space-xl);
      width: 100%;
    }
    .public-cart__panel {
      padding-inline: var(--public-space-md);
      padding-bottom: var(--public-space-xl);
    }
    .public-cart__toolbar {
      min-height: 6.4rem;
    }
    .public-cart__delete, .public-cart__row-delete {
      min-height: 4rem;
      padding-inline: var(--public-space-sm);
    }
    .public-cart__row {
      min-height: 0;
      padding-block: var(--public-space-lg) var(--public-space-xl);
    }
    .public-cart__row .public-treatment-card__body {
      padding-right: 7rem;
    }
    .public-cart__row-delete {
      top: var(--public-space-lg);
    }
    .public-cart__summary {
      margin-top: var(--public-space-xl);
      padding-top: var(--public-space-xl);
    }
    .public-cart__summary div {
      gap: var(--public-space-sm);
    }
    .public-cart__summary dt strong {
      display: block;
      margin-left: 0;
      margin-top: var(--public-space-2xs);
    }
    .public-cart__notice, .public-cart__booking-gate, .public-cart__actions {
      margin-top: var(--public-space-xl);
      padding-inline-end: 0;
    }
    .public-cart__notice .public-notice {
      padding: var(--public-space-md);
    }
  }
  .public-cart-page ~ .no-floating-cta {
    display: none;
  }
  .public-booking-steps {
    width: 100%;
    padding: var(--public-space-lg) var(--public-space-xl);
    background: var(--public-white);
    border: 0;
  }
  .public-booking-steps__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .public-booking-steps__item {
    position: relative;
    display: grid;
    justify-items: center;
    gap: var(--public-space-2xs);
    color: var(--public-muted);
  }
  .public-booking-steps__item:not(:last-child)::after {
    position: absolute;
    z-index: 0;
    top: calc(var(--public-control-sm) / 2);
    left: calc(50% + var(--public-control-sm) / 2);
    width: calc(100% - var(--public-control-sm));
    height: 1px;
    background: var(--public-line);
    content: "";
  }
  .public-booking-steps__item[data-state=complete]::after {
    background: var(--public-ink);
  }
  .public-booking-steps__marker {
    position: relative;
    z-index: 1;
    display: grid;
    width: var(--public-control-sm);
    height: var(--public-control-sm);
    place-items: center;
    color: var(--public-muted);
    background: var(--public-white);
    border: 1px solid var(--public-line);
    border-radius: 50%;
  }
  .public-booking-steps__item[data-state=complete] .public-booking-steps__marker {
    color: var(--public-white);
    background: var(--public-ink);
    border-color: var(--public-ink);
  }
  .public-booking-steps__item[data-state=current] {
    color: var(--public-ink);
  }
  .public-booking-steps__item[data-state=current] .public-booking-steps__marker {
    color: var(--public-white);
    background: var(--public-blue);
    border-color: var(--public-blue);
  }
  @media (max-width: 767px) {
    .public-booking-steps {
      padding: var(--public-space-md) var(--public-space-sm);
    }
    .public-booking-steps__label {
      text-align: center;
    }
  }
  .public-booking {
    min-height: calc(100svh - var(--public-header-height));
    padding-top: calc(var(--public-header-height) + var(--public-space-page));
    padding-bottom: var(--public-space-page);
    background: var(--public-surface);
  }
  .public-booking.no-section-xl {
    padding-top: calc(var(--public-header-height) + var(--public-space-page));
    padding-bottom: var(--public-space-page);
  }
  .public-booking__inner {
    display: grid;
    gap: var(--public-space-2xl);
  }
  .public-booking__head {
    display: grid;
    gap: var(--public-space-sm);
    text-align: center;
  }
  .public-booking .public-kicker {
    color: var(--public-ink);
  }
  .public-booking :focus-visible {
    outline-color: var(--public-ink);
  }
  .public-booking__form, .public-booking__record, .public-booking__complete {
    display: grid;
    gap: var(--public-space-xl);
    padding: var(--public-space-2xl);
    border: 0;
    background: var(--public-white);
  }
  .public-booking__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--public-space-lg);
  }
  .public-booking label {
    display: grid;
    gap: var(--public-space-xs);
    color: var(--public-ink);
  }
  .public-booking input:not([type=radio]):not([type=checkbox]), .public-booking select, .public-booking textarea {
    width: 100%;
    min-height: var(--public-control-md);
    padding: var(--public-space-sm) var(--public-space-md);
    border: 1px solid var(--public-line);
    background: var(--public-white);
    color: var(--public-ink);
  }
  .public-booking .public-date-picker__input, .public-booking .public-select__trigger {
    height: var(--public-control-md);
    min-height: var(--public-control-md);
  }
  .public-booking .public-select__trigger:hover:not(:disabled), .public-booking .public-select__trigger.cs-trigger--open, .public-booking .public-select__trigger[aria-expanded=true] {
    color: var(--public-white);
    background: var(--public-ink);
    border-color: var(--public-ink);
  }
  .public-booking .public-select__dropdown .cs-option:hover, .public-booking .public-select__dropdown .cs-option--active, .public-booking .public-select__dropdown .cs-option--selected:hover, .public-booking .public-select__dropdown .cs-option--selected.cs-option--active {
    color: var(--public-white);
    background: var(--public-ink);
  }
  .public-booking .public-select__dropdown .cs-option--selected {
    color: var(--public-ink);
    background: var(--public-surface);
  }
  .public-booking textarea {
    min-height: calc(var(--public-control-md) * 2 + var(--public-space-sm));
    resize: vertical;
  }
  .public-booking__options {
    display: flex;
    flex-wrap: wrap;
    gap: var(--public-space-sm);
    margin-top: var(--public-space-md);
  }
  .public-booking__option, .public-booking__consent {
    display: flex;
    grid-template-columns: none;
    align-items: center;
    gap: var(--public-space-xs);
  }
  .public-booking__option {
    padding: var(--public-space-sm) var(--public-space-md);
    border: 1px solid var(--public-line);
    border-radius: var(--public-button-frame-radius);
    cursor: pointer;
  }
  .public-booking__option:has(input:checked) {
    color: var(--public-white);
    border-color: var(--public-ink);
    background: var(--public-ink);
  }
  .public-booking input:checked + .public-form-field__checkbox-mark, .public-booking input:checked + .public-form-field__radio-mark {
    border-color: var(--public-ink);
    background: var(--public-ink);
  }
  .public-booking__option input, .public-booking__consent input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .public-booking__fieldset {
    display: grid;
    gap: var(--public-space-md);
    padding: 0;
    border: 0;
  }
  .public-booking__availability {
    margin: 0;
    padding: var(--public-space-md);
    border: 1px solid var(--public-line);
    background: var(--public-surface);
    color: var(--public-muted);
  }
  .public-booking__availability[data-state=available] {
    color: var(--public-ink);
  }
  .public-booking__availability[data-state=notice], .public-booking__availability[data-state=loading] {
    color: var(--public-ink);
  }
  .public-booking__availability[data-state=closed], .public-booking__availability[data-state=error] {
    color: var(--public-ink);
  }
  .public-booking__selection-summary {
    display: grid;
    gap: var(--public-space-sm);
    padding-block: var(--public-space-lg);
    border-top: 1px solid var(--public-ink);
  }
  .public-booking__selection-main {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--public-space-lg);
    margin: 0;
  }
  .public-booking__selection-label, .public-booking__selection-value, .public-booking__selection-note {
    margin: 0;
  }
  .public-booking__selection-label, .public-booking__selection-note {
    color: var(--public-muted);
  }
  .public-booking__record dl {
    display: grid;
    gap: var(--public-space-sm);
  }
  .public-booking__change-form {
    display: grid;
    gap: var(--public-space-xl);
  }
  .public-booking__record dl div {
    display: flex;
    justify-content: space-between;
    gap: var(--public-space-lg);
    padding-bottom: var(--public-space-sm);
    border-bottom: 1px solid var(--public-line);
  }
  .public-booking__complete {
    text-align: center;
    justify-items: center;
  }
  @media (max-width: 767px) {
    .public-booking {
      padding-top: calc(var(--public-header-height) + var(--section-sm));
    }
    .public-booking.no-section-xl {
      padding-top: calc(var(--public-header-height) + var(--section-sm));
    }
    .public-booking__grid {
      grid-template-columns: 1fr;
    }
    .public-booking__form, .public-booking__record, .public-booking__complete {
      padding: var(--public-space-lg);
    }
    .public-booking__selection-main {
      display: grid;
      gap: var(--public-space-xs);
    }
  }
  .public-booking-page ~ .no-floating-cta {
    display: none;
  }
  .public-booking-flow {
    color: var(--public-ink);
    background: var(--public-surface);
  }
  .public-booking-flow__inner {
    display: grid;
    gap: var(--public-space-2xl);
    width: min(100% - var(--public-shell-gutter) * 2, var(--public-cart-max));
    max-width: var(--public-cart-max);
    margin-inline: auto;
  }
  .public-booking-flow__head {
    display: grid;
    gap: var(--public-space-sm);
    text-align: center;
  }
  .public-booking-flow__head .public-kicker {
    color: var(--public-ink);
  }
  .public-booking-flow__surface {
    display: grid;
    gap: var(--public-space-xl);
    padding: var(--public-space-2xl);
    background: var(--public-white);
    border: 0;
  }
  .public-booking-flow__actions {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: var(--public-space-xs);
    width: 100%;
    padding-top: var(--public-space-md);
    border-top: 1px solid var(--public-line);
  }
  .public-booking-flow__actions > .public-button {
    width: 100%;
    justify-content: center;
  }
  .public-booking-flow__actions > .public-button--primary {
    color: var(--public-white);
    background: var(--public-ink);
    border-color: var(--public-ink);
  }
  .public-booking-flow__actions > .public-button--primary:hover, .public-booking-flow__actions > .public-button--primary:focus-visible {
    color: var(--public-white);
    background: var(--public-ink);
    border-color: var(--public-ink);
  }
  .public-booking-flow__actions > .public-button--text {
    justify-self: center;
    width: max-content;
    color: var(--public-ink);
  }
  .public-booking-flow__actions > .public-button--outline {
    width: 100%;
    color: var(--public-ink);
    background: var(--public-white);
    border-color: var(--public-ink);
  }
  .public-booking-flow__actions > .public-button--outline:hover, .public-booking-flow__actions > .public-button--outline:focus-visible {
    color: var(--public-white);
    background: var(--public-ink);
    border-color: var(--public-ink);
  }
  .public-booking-flow__actions > .public-button--text:hover, .public-booking-flow__actions > .public-button--text:focus-visible {
    color: var(--public-ink);
  }
  .public-booking-flow__actions > .public-button:hover, .public-booking-flow__actions > .public-button:focus-visible {
    transform: none;
  }
  .public-booking-flow :focus-visible {
    outline-color: var(--public-ink);
  }
  @media (max-width: 767px) {
    .public-booking-flow__inner {
      width: 100%;
      gap: var(--public-space-xl);
    }
    .public-booking-flow__surface {
      padding: var(--public-space-lg);
    }
  }
  .public-home-relational {
    background: var(--public-white);
  }
  .public-home-relational__head, .public-home-relational__section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--public-space-2xl);
  }
  .public-home-relational__head {
    padding-bottom: var(--public-space-3xl);
    border-bottom: 1px solid var(--public-line);
  }
  .public-home-relational__head h2, .public-home-relational__head p, .public-home-relational__section-head h3, .public-home-relational__section-head p {
    margin: 0;
  }
  .public-home-relational__head h2 {
    margin-top: var(--public-space-xs);
    color: var(--public-navy);
  }
  .public-home-relational__head > p {
    max-width: 44rem;
    color: var(--public-muted);
    text-align: right;
  }
  .public-home-relational__section {
    padding-top: var(--public-space-section);
  }
  .public-home-relational__section-head {
    margin-bottom: var(--public-space-xl);
  }
  .public-home-relational__section-head h3 {
    margin-top: var(--public-space-2xs);
    color: var(--public-navy);
  }
  .public-home-relational__practice-grid, .public-home-relational__people-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--public-space-md);
  }
  .public-home-relational__practice-grid .public-practice-card {
    min-height: 34rem;
  }
  .public-home-relational__people-grid .public-professional-card {
    min-width: 0;
  }
  .public-home-relational__editorial {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--public-space-3xl);
    padding-top: var(--public-space-section);
  }
  .public-home-relational__rows {
    border-bottom: 1px solid var(--public-line);
  }
  .public-home-relational__rows .public-insight-card--row, .public-home-relational__rows .public-insight-card--event {
    grid-template-columns: 10rem minmax(0, 1fr) 4.2rem;
    gap: var(--public-space-md);
    min-height: 12rem;
    padding-block: var(--public-space-lg);
  }
  .public-home-relational__rows .public-insight-card__excerpt {
    display: none;
  }
  @media (max-width: 1024px) {
    .public-home-relational__practice-grid, .public-home-relational__people-grid, .public-home-relational__editorial {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px) {
    .public-home-relational__head, .public-home-relational__section-head {
      align-items: flex-start;
    }
    .public-home-relational__head {
      flex-direction: column;
    }
    .public-home-relational__head > p {
      text-align: left;
    }
    .public-home-relational__practice-grid, .public-home-relational__people-grid, .public-home-relational__editorial {
      grid-template-columns: 1fr;
    }
    .public-home-relational__editorial {
      gap: var(--public-space-section);
    }
    .public-home-relational__rows .public-insight-card--row, .public-home-relational__rows .public-insight-card--event {
      grid-template-columns: minmax(0, 1fr) 4rem;
    }
  }
  .public-about-intro {
    overflow: hidden;
    background: var(--public-white);
  }
  .public-about-intro [data-aos=public-about-blur] {
    opacity: 0;
    filter: blur(1rem);
    transform: scale(1.07);
    transition-property: opacity, filter, transform;
    transition-duration: 1.2s;
    transition-timing-function: cubic-bezier(0.22, 0.8, 0.25, 1);
    will-change: opacity, filter, transform;
  }
  .public-about-intro [data-aos=public-about-blur].aos-animate {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
    will-change: auto;
  }
  .public-about-intro [data-aos=public-about-blur][data-aos-delay].aos-animate {
    transition-delay: 0s;
  }
  .public-about-intro [data-aos=public-about-blur][data-aos-delay="120"].aos-animate {
    transition-delay: 0.12s;
  }
  .public-about-intro [data-aos=public-about-blur][data-aos-delay="240"].aos-animate {
    transition-delay: 0.24s;
  }
  .public-about-intro [data-aos=public-about-blur][data-aos-delay="360"].aos-animate {
    transition-delay: 0.36s;
  }
  .public-about-intro [data-aos=public-about-blur][data-aos-delay="480"].aos-animate {
    transition-delay: 0.48s;
  }
  .public-about-intro [data-aos=public-about-blur][data-aos-delay="600"].aos-animate {
    transition-delay: 0.6s;
  }
  @media (prefers-reduced-motion: reduce) {
    .public-about-intro [data-aos=public-about-blur] {
      opacity: 1;
      filter: none;
      transform: none;
      transition: none;
      will-change: auto;
    }
  }
  .public-about-label {
    margin: 0;
    color: #2889b5;
  }
  .public-about-marquee {
    display: flex;
    align-items: center;
    min-height: 12rem;
    overflow: hidden;
    background: var(--public-white);
  }
  .public-about-marquee__track {
    display: flex;
    width: max-content;
    animation: public-about-marquee 24s linear infinite;
    will-change: transform;
  }
  .public-about-marquee__group {
    display: flex;
    flex: none;
    width: max-content;
  }
  .public-about-marquee__group span {
    flex: none;
    color: #9abcc0;
    white-space: nowrap;
  }
  @media (max-width: 767px) {
    .public-about-marquee {
      min-height: 8rem;
    }
    .public-about-marquee__track {
      animation-duration: 16s;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .public-about-marquee__track {
      animation-play-state: paused;
    }
  }
  @keyframes public-about-marquee {
    to {
      transform: translateX(-50%);
    }
  }
  .public-about-showcase {
    position: relative;
    width: 100%;
    max-width: none;
    height: clamp(78rem, 100svh, 112rem);
    isolation: isolate;
  }
  .public-about-showcase__wave {
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    height: 100%;
    pointer-events: none;
    opacity: calc(var(--public-about-showcase-wave) * 0.52);
    filter: blur(0.06rem);
    transform: translateX(-50%) translateZ(0);
    will-change: opacity;
  }
  .public-about-showcase__media {
    position: absolute;
    z-index: 1;
    width: 31rem;
    height: 38.2rem;
    margin: 0;
    overflow: hidden;
    border-radius: 1.6rem;
  }
  .public-about-showcase__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .public-about-showcase__media--one {
    top: 0.4rem;
    left: 21.46%;
  }
  .public-about-showcase__media--two {
    z-index: 2;
    top: 23.8rem;
    right: 5.36%;
  }
  .public-about-showcase__media--three {
    z-index: 3;
    bottom: 5rem;
    left: 3.85%;
  }
  .public-about-showcase__media--four {
    z-index: 4;
    bottom: 0.4rem;
    right: 21.51%;
  }
  .public-about-showcase__copy {
    position: absolute;
    z-index: 5;
    top: 50%;
    left: 50%;
    width: min(58rem, 100% - 4rem);
    text-align: center;
    text-shadow: 0 0 1.6rem rgba(255, 255, 255, 0.92), 0 0.2rem 2.8rem rgba(255, 255, 255, 0.86);
    transform: translate(-50%, -50%);
  }
  .public-about-showcase__copy h2 {
    margin: 4.5rem 0 0;
    color: var(--public-ink);
  }
  .public-about-showcase__copy > p:last-child {
    margin: 3.5rem 0 0;
    color: #59636b;
  }
  @media (max-width: 1199px) {
    .public-about-showcase {
      height: clamp(78rem, 100svh, 96rem);
    }
    .public-about-showcase__media {
      width: 22rem;
      height: 28rem;
    }
    .public-about-showcase__media--one {
      left: 12%;
    }
    .public-about-showcase__media--two {
      right: 3%;
    }
    .public-about-showcase__media--three {
      top: auto;
      bottom: 8rem;
    }
    .public-about-showcase__media--four {
      top: auto;
      bottom: 2rem;
      right: 14%;
    }
    .public-about-showcase__copy {
      top: 50%;
    }
  }
  @media (max-width: 767px) {
    .public-about-showcase {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.2rem;
      width: calc(100% - 4rem);
      height: auto;
      padding-block: 7rem 9rem;
    }
    .public-about-showcase__wave {
      display: none;
    }
    .public-about-showcase__copy, .public-about-showcase__media {
      position: relative;
      inset: auto;
      width: 100%;
      height: auto;
      transform: none;
    }
    .public-about-showcase__copy {
      grid-column: 1/-1;
      order: -1;
      margin-bottom: 3rem;
    }
    .public-about-showcase__copy h2 {
      margin-top: 2.4rem;
    }
    .public-about-showcase__copy > p:last-child {
      margin-top: 2.6rem;
    }
    .public-about-showcase__copy br {
      display: none;
    }
    .public-about-showcase__media {
      aspect-ratio: 4/5;
      border-radius: 1rem;
    }
    .public-about-showcase__media--one, .public-about-showcase__media--four {
      transform: translateY(2rem);
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .public-about-showcase__wave {
      display: none;
    }
  }
  .public-about-approach {
    display: grid;
    grid-template-columns: 92.3rem 1fr;
    align-items: center;
    gap: 19rem;
    min-height: 115rem;
  }
  .public-about-approach__media {
    position: relative;
    top: 11.9rem;
    width: 100%;
    height: 103.2rem;
    margin: 0;
    overflow: hidden;
    border-radius: 1.6rem;
  }
  .public-about-approach__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .public-about-approach__copy {
    position: relative;
    top: 6rem;
    padding-right: 8rem;
  }
  .public-about-approach__copy h2 {
    margin: 4.8rem 0 0;
    color: var(--public-ink);
  }
  .public-about-approach__copy > p:last-child {
    margin: 5rem 0 0;
    color: #515b63;
  }
  @media (max-width: 1199px) {
    .public-about-approach {
      grid-template-columns: 1.04fr 0.96fr;
      gap: 5rem;
    }
    .public-about-approach__media {
      top: 0;
      height: 90rem;
    }
    .public-about-approach__copy {
      top: 0;
      padding-right: 0;
    }
  }
  @media (max-width: 767px) {
    .public-about-approach {
      grid-template-columns: 1fr;
      gap: 4rem;
      min-height: 0;
      padding-block: 7rem 10rem;
    }
    .public-about-approach__media {
      height: 48rem;
    }
    .public-about-approach__copy {
      top: 0;
    }
    .public-about-approach__copy h2 {
      margin-top: 2.4rem;
    }
    .public-about-approach__copy > p:last-child {
      margin-top: 2.6rem;
    }
    .public-about-approach__copy br {
      display: none;
    }
  }
  .public-about-figures {
    display: grid;
    grid-template-columns: 1fr 2fr;
    align-items: start;
    gap: 12rem;
    min-height: 95rem;
    padding-top: 14.8rem;
  }
  .public-about-figures__header h2 {
    margin: 4.6rem 0 0;
  }
  .public-about-figures__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 6rem;
    margin: 6rem 0 0;
  }
  .public-about-figures__grid > div {
    min-height: 18rem;
    padding: 2.2rem 0 3.8rem;
    border-top: 1px solid var(--public-line);
  }
  .public-about-figures__grid dt {
    color: #59636b;
  }
  .public-about-figures__grid dd {
    margin: 3rem 0 0;
    color: var(--public-ink);
  }
  .public-about-figures__value {
    display: inline-flex;
    overflow: hidden;
    padding-block: 0.06em;
    font-variant-numeric: tabular-nums;
    white-space: pre;
  }
  .public-about-figures__value .char {
    display: inline-block;
  }
  .public-about-figures__value .char.is-digit {
    min-width: 0.58em;
    text-align: center;
  }
  @media (max-width: 1199px) {
    .public-about-figures {
      grid-template-columns: 1fr 1.7fr;
      gap: 5rem;
    }
  }
  @media (max-width: 767px) {
    .public-about-figures__header h2 {
      margin-top: 2.4rem;
    }
    .public-about-figures {
      grid-template-columns: 1fr;
      gap: 5rem;
      min-height: 0;
      padding: 8rem 0 10rem;
    }
    .public-about-figures__grid {
      gap: 0 2rem;
    }
    .public-about-figures__grid > div {
      min-height: 14rem;
    }
  }
  .public-about-reasons {
    min-height: 248.8rem;
    color: var(--public-white);
    background: linear-gradient(180deg, #0793cb 0%, #49afd1 52%, #d1ecee 100%);
  }
  .public-about-reasons__header {
    text-align: center;
  }
  .public-about-reasons__header .public-about-label {
    color: rgba(255, 255, 255, 0.92);
  }
  .public-about-reasons__header h2 {
    margin: 4.5rem 0 0;
    color: inherit;
  }
  .public-about-reasons__header > p:last-child {
    margin: 3.5rem 0 0;
    color: rgba(255, 255, 255, 0.86);
  }
  .public-about-reasons__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4.8rem;
    margin-top: 8.7rem;
  }
  @media (max-width: 1199px) {
    .public-about-reasons__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px) {
    .public-about-reasons__header h2 {
      margin-top: 2.4rem;
    }
    .public-about-reasons {
      min-height: 0;
      padding-right: 2rem;
      padding-left: 2rem;
    }
    .public-about-reasons__grid {
      grid-template-columns: 1fr;
      gap: 2rem;
      width: 100%;
      margin-top: 6rem;
    }
  }
  .public-about-reason {
    position: relative;
    height: 62rem;
    overflow: hidden;
    border-radius: 0.8rem;
  }
  .public-about-reason--right {
    top: 20rem;
  }
  .public-about-reason img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.22, 0.8, 0.25, 1);
  }
  .public-about-reason:hover img {
    transform: scale(1.035);
  }
  .public-about-reason__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 38%, rgba(4, 24, 42, 0.82));
  }
  .public-about-reason__copy {
    position: absolute;
    inset: auto 4.5rem 4.5rem;
    color: var(--public-white);
  }
  .public-about-reason__copy h3 {
    margin: 1.6rem 0 0;
    color: inherit;
  }
  .public-about-reason__copy p {
    margin: 2rem 0 0;
    color: rgba(255, 255, 255, 0.86);
  }
  @media (max-width: 767px) {
    .public-about-reason, .public-about-reason--right {
      top: auto;
      height: 44rem;
    }
    .public-about-reason__copy {
      inset: auto 2.8rem 2.8rem;
    }
  }
  .public-about-network {
    min-height: 82rem;
  }
  .public-about-network__header {
    width: 58rem;
  }
  .public-about-network__header h2 {
    margin: 3.5rem 0 0;
  }
  .public-about-network__header > p:last-child {
    margin: 3rem 0 0;
    color: #4f5961;
  }
  .public-about-network__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 7rem;
  }
  .public-about-network__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 36.4rem;
    padding: 4rem 6rem;
    border-left: 1px solid var(--public-line);
    text-align: center;
  }
  .public-about-network__item:last-child {
    border-right: 1px solid var(--public-line);
  }
  .public-about-network__icon {
    display: grid;
    width: 8rem;
    height: 8rem;
    margin-inline: auto;
    place-items: center;
  }
  .public-about-network__lord-icon {
    width: 8rem;
    height: 8rem;
    color: var(--public-blue);
  }
  .public-about-network__item > p {
    margin: 4rem 0 0;
    color: #6d757b;
  }
  .public-about-network__item h3 {
    margin: 1.4rem 0 0;
  }
  @media (max-width: 1199px) {
    .public-about-network__item {
      padding-inline: 2.5rem;
    }
  }
  @media (max-width: 767px) {
    .public-about-network__header h2 {
      margin-top: 2.4rem;
    }
    .public-about-network {
      min-height: 0;
    }
    .public-about-network__header {
      width: auto;
    }
    .public-about-network__header br {
      display: none;
    }
    .public-about-network__grid {
      grid-template-columns: 1fr;
      margin-top: 5rem;
      border-block: 0;
    }
    .public-about-network__item {
      min-height: 28rem;
      padding: 4rem;
      border-top: 1px solid var(--public-line);
      border-right: 0;
    }
    .public-about-network__item:last-child {
      border-right: 0;
      border-bottom: 1px solid var(--public-line);
    }
    .public-about-network__item > p {
      margin-top: 2.5rem;
    }
  }
  .public-about-cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 81.6rem;
    text-align: center;
  }
  .public-about-cta__headline {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    width: 100%;
    gap: 2rem 3.5rem;
  }
  .public-about-cta__headline strong {
    color: var(--public-ink);
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
  }
  .public-about-cta__phrase {
    display: block;
  }
  .public-about-cta__media {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 46/13;
    overflow: hidden;
    border-radius: 0.8rem;
  }
  .public-about-cta__headline img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .public-about-cta > p {
    margin: 5rem 0 0;
    color: #4e585f;
  }
  .public-about-cta__actions {
    display: flex;
    gap: 2rem;
    margin-top: 5rem;
  }
  .public-about-cta__actions .public-button {
    min-width: 15.2rem;
    min-height: 5.2rem;
    border-radius: 0.4rem;
    gap: 2.5rem;
  }
  .public-about-cta__actions .public-button__icon {
    order: 2;
    margin-left: var(--public-space-2xs);
  }
  .public-about-cta__actions .public-button__icon + .public-button__label {
    margin-left: 0;
  }
  @media (max-width: 767px) {
    .public-about-cta {
      min-height: 72rem;
    }
    .public-about-cta__headline {
      grid-template-columns: 1fr;
      gap: 1.5rem;
    }
    .public-about-cta__media {
      width: 28rem;
      height: 8rem;
      aspect-ratio: auto;
    }
    .public-about-cta > p {
      margin-top: 3.5rem;
    }
    .public-about-cta > p br {
      display: none;
    }
    .public-about-cta__actions {
      flex-direction: column;
      width: 100%;
      margin-top: 3.5rem;
    }
  }
  .public-history {
    position: relative;
    isolation: isolate;
    min-height: 430rem;
    color: var(--public-white);
    background: #171819;
    overflow: hidden;
  }
  .public-history__media, .public-history__shade {
    position: absolute;
    inset-inline: 0;
    z-index: -2;
    pointer-events: none;
  }
  .public-history__media {
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0.28;
    filter: saturate(0.42) brightness(0.48);
    transform: translate3d(0, 0, 0);
    will-change: transform, opacity, filter;
  }
  .public-history__media--city {
    top: 0;
    height: 150rem;
    background-image: url("/assets/images/hero/history.jpg");
    background-position: center top;
  }
  .public-history__media--structure {
    top: 116rem;
    height: 172rem;
    background-image: url("/assets/images/hero/location.jpg");
    background-position: center top;
    opacity: 0.22;
  }
  .public-history__media--people {
    top: 248rem;
    bottom: 0;
    background-image: url("/assets/images/hero/professional.jpg");
    background-position: center bottom;
    opacity: 0.2;
  }
  .public-history__shade {
    inset-block: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(23, 24, 25, 0.94) 0%, rgba(23, 24, 25, 0.89) 18%, rgba(23, 24, 25, 0.91) 39%, rgba(23, 24, 25, 0.84) 64%, rgba(23, 24, 25, 0.95) 100%), radial-gradient(circle at 50% 6%, rgba(255, 255, 255, 0.08), transparent 28%), rgba(23, 24, 25, 0.62);
    opacity: 1;
    will-change: opacity;
  }
  .public-history.is-history-lit .public-history__shade {
    opacity: 0.58;
  }
  .public-history__media.is-history-media-active {
    opacity: 0.72;
    filter: saturate(0.68) brightness(0.96);
  }
  .public-history__media--structure.is-history-media-active {
    opacity: 0.62;
  }
  .public-history__media--people.is-history-media-active {
    opacity: 0.58;
  }
  .public-history__inner {
    position: relative;
  }
  .public-history__track {
    position: relative;
    padding-top: 6rem;
  }
  .public-history__line {
    position: absolute;
    z-index: 0;
    top: var(--history-line-top);
    bottom: var(--history-line-bottom);
    left: 50%;
    width: 3px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.22);
    box-shadow: 0 0 1.4rem rgba(255, 255, 255, 0.16);
    mask-image: linear-gradient(180deg, #000 0, #000 var(--history-line-gap-1-start), transparent var(--history-line-gap-1-start), transparent var(--history-line-gap-1-end), #000 var(--history-line-gap-1-end), #000 var(--history-line-gap-2-start), transparent var(--history-line-gap-2-start), transparent var(--history-line-gap-2-end), #000 var(--history-line-gap-2-end), #000 var(--history-line-gap-3-start), transparent var(--history-line-gap-3-start), transparent var(--history-line-gap-3-end), #000 var(--history-line-gap-3-end), #000 100%);
    -webkit-mask-image: linear-gradient(180deg, #000 0, #000 var(--history-line-gap-1-start), transparent var(--history-line-gap-1-start), transparent var(--history-line-gap-1-end), #000 var(--history-line-gap-1-end), #000 var(--history-line-gap-2-start), transparent var(--history-line-gap-2-start), transparent var(--history-line-gap-2-end), #000 var(--history-line-gap-2-end), #000 var(--history-line-gap-3-start), transparent var(--history-line-gap-3-start), transparent var(--history-line-gap-3-end), #000 var(--history-line-gap-3-end), #000 100%);
    transform: translateX(-50%);
  }
  .public-history__line-fill {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, var(--public-white), var(--public-focus) 56%, var(--public-blue));
    box-shadow: 0 0 1.8rem rgba(141, 231, 244, 0.9), 0 0 3.6rem rgba(47, 183, 207, 0.52);
    transform: scaleY(0);
    transform-origin: 50% 0;
    will-change: transform;
  }
  .public-history__chapter {
    position: relative;
    z-index: 1;
  }
  .public-history__chapter + .public-history__chapter {
    margin-top: 30rem;
  }
  .public-history__intro {
    position: relative;
    display: grid;
    justify-items: center;
    width: min(100%, 80rem);
    margin-inline: auto;
    text-align: center;
    isolation: isolate;
  }
  .public-history__intro::before {
    content: none;
  }
  .public-history__eyebrow, .public-history__title, .public-history__lead {
    position: relative;
    z-index: 1;
  }
  .public-history__chapter--1 .public-history__intro {
    margin-bottom: 0;
  }
  .public-history__chapter--2 .public-history__intro, .public-history__chapter--3 .public-history__intro {
    padding-top: 1rem;
    margin-bottom: 0;
  }
  .public-history__eyebrow {
    margin: 0;
    color: var(--public-focus);
    text-shadow: 0 0 1.8rem rgba(141, 231, 244, 0.38);
  }
  .public-history__title {
    margin: 1.8rem 0 0;
    color: var(--public-white);
  }
  .public-history__lead {
    max-width: 68rem;
    margin: 2.8rem 0 0;
    color: rgba(255, 255, 255, 0.84);
  }
  .public-history .public-history__intro .public-history__lead {
    color: rgba(255, 255, 255, 0.84);
  }
  .public-history__list {
    position: relative;
    display: grid;
    gap: 24rem;
    margin: 0;
    padding: 42rem 0 0;
    list-style: none;
  }
  .public-history__event {
    position: relative;
    display: grid;
    width: 50%;
  }
  .public-history__event::before, .public-history__event::after {
    position: absolute;
    top: 2.35rem;
    box-sizing: border-box;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    transform-origin: 50% 50%;
    content: "";
  }
  .public-history__event::before {
    z-index: 2;
    background: rgba(255, 255, 255, 0.92);
    border: 2px solid rgba(255, 255, 255, 0.54);
    box-shadow: 0 0 0 rgba(255, 255, 255, 0);
    transition: background var(--public-duration) var(--public-ease), box-shadow var(--public-duration) var(--public-ease), transform var(--public-duration) var(--public-ease);
  }
  .public-history__event::after {
    z-index: 1;
    background: rgba(141, 231, 244, 0.34);
    box-shadow: 0 0 1.8rem rgba(141, 231, 244, 0.48);
    opacity: 0;
    transform: scale(1);
    pointer-events: none;
  }
  .public-history__event--left {
    justify-self: start;
    padding-right: 10.8rem;
    text-align: right;
  }
  .public-history__event--right {
    justify-self: end;
    padding-left: 10.8rem;
    text-align: left;
  }
  .public-history__event--left::before {
    right: -0.5rem;
  }
  .public-history__event--right::before {
    left: -0.5rem;
  }
  .public-history__event--left::after {
    right: -0.5rem;
  }
  .public-history__event--right::after {
    left: -0.5rem;
  }
  .public-history__event-copy {
    display: grid;
    gap: 4rem;
  }
  .public-history__year {
    display: block;
    color: rgba(255, 255, 255, 0.92);
    transition: color var(--public-duration) var(--public-ease);
  }
  .public-history__items {
    display: grid;
    gap: 2rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .public-history__item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    color: rgba(255, 255, 255, 0.76);
    transition: color var(--public-duration) var(--public-ease);
  }
  .public-history__item::before {
    flex: 0 0 auto;
    width: 0.42rem;
    height: 0.42rem;
    margin-top: 0.72em;
    background: currentColor;
    border-radius: 50%;
    content: "";
    opacity: 0.88;
  }
  .public-history__item-text {
    min-width: 0;
  }
  .public-history__event--left .public-history__item {
    justify-content: flex-end;
  }
  .public-history__event--left .public-history__item::before {
    order: 2;
  }
  .public-history__event--left .public-history__item-text {
    text-align: right;
  }
  .public-history__event--right .public-history__item-text {
    text-align: left;
  }
  .public-history__outro {
    position: relative;
    width: min(100%, 152rem);
    margin: 24rem auto 0;
    text-align: center;
  }
  .public-history__outro-title {
    margin: 0;
    color: rgba(255, 255, 255, 0.24);
    text-transform: uppercase;
    white-space: nowrap;
  }
  .public-history__outro-text {
    margin: 6.8rem 0 0;
    color: rgba(255, 255, 255, 0.88);
  }
  .public-history [data-history-reveal] {
    opacity: 0.32;
    transform: translate3d(0, 4.8rem, 0);
    filter: blur(0.8rem);
    will-change: opacity, transform, filter;
  }
  .public-history [data-history-reveal].is-history-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
  .public-history__event.is-history-active::before {
    background: var(--public-white);
    box-shadow: 0 0 0 0.42rem rgba(141, 231, 244, 0.18), 0 0 2.2rem rgba(141, 231, 244, 0.72);
    transform: scale(1.14);
  }
  .public-history__event.is-history-active::after {
    animation: public-history-ripple 1.55s var(--public-ease) infinite;
  }
  .public-history__event.is-history-active .public-history__year, .public-history__event.is-history-active .public-history__item {
    color: var(--public-white);
  }
  @media (max-width: 1024px) {
    .public-history {
      min-height: 0;
    }
    .public-history__media--city {
      height: 124rem;
    }
    .public-history__media--structure {
      top: 104rem;
      height: 136rem;
    }
    .public-history__media--people {
      top: 214rem;
    }
    .public-history__track {
      width: 100%;
    }
    .public-history__line {
      top: var(--history-line-top);
      bottom: var(--history-line-bottom);
      left: var(--gutter);
    }
    .public-history__chapter + .public-history__chapter {
      margin-top: 16rem;
    }
    .public-history__chapter--1 .public-history__intro, .public-history__chapter--2 .public-history__intro, .public-history__chapter--3 .public-history__intro {
      margin-bottom: 0;
    }
    .public-history__intro {
      width: 100%;
      padding-left: 4.4rem;
      justify-items: start;
      text-align: left;
    }
    .public-history__list {
      gap: 9rem;
      padding-top: 24rem;
    }
    .public-history__event, .public-history__event--left, .public-history__event--right {
      justify-self: stretch;
      width: 100%;
      padding-right: 0;
      padding-left: 4.4rem;
      text-align: left;
    }
    .public-history__event::before, .public-history__event::after, .public-history__event--left::before, .public-history__event--left::after, .public-history__event--right::before, .public-history__event--right::after {
      right: auto;
      left: calc(var(--gutter) - 0.5rem);
    }
    .public-history__event--left .public-history__item {
      justify-content: flex-start;
    }
    .public-history__event--left .public-history__item::before {
      order: 0;
    }
    .public-history__event--left .public-history__item-text {
      text-align: left;
    }
    .public-history__outro {
      margin-top: 15rem;
    }
    .public-history__outro-title {
      white-space: normal;
    }
  }
  @media (max-width: 544px) {
    .public-history__lead {
      margin-top: 3.6rem;
    }
    .public-history__list {
      gap: 8rem;
      padding-top: 18rem;
    }
    .public-history__event-copy {
      gap: 2.2rem;
    }
    .public-history__items {
      gap: 1.4rem;
    }
    .public-history__outro-text {
      margin-top: 4rem;
    }
  }
  @supports (background-clip: text) or (-webkit-background-clip: text) {
    .public-history__outro-title {
      color: transparent;
      background: linear-gradient(90deg, var(--public-white) 0%, var(--public-white) 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 100%);
      background-position: var(--history-outro-fill) 50%;
      background-size: 200% 100%;
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      will-change: background-position;
    }
  }
  @keyframes public-history-ripple {
    0% {
      opacity: 0.72;
      transform: scale(1);
    }
    62% {
      opacity: 0.14;
      transform: scale(5.2);
    }
    100% {
      opacity: 0;
      transform: scale(6.2);
    }
  }
  .public-location {
    display: block;
    background: var(--public-white);
  }
  .public-location a {
    color: inherit;
    text-decoration: none;
  }
  .public-location__top-offset.no-pd-5xl--t {
    padding-top: var(--public-location-top-gap);
  }
  .public-location__inner {
    display: grid;
    gap: var(--public-space-2xl);
  }
  .public-location__intro {
    display: grid;
    justify-items: center;
    max-width: 76rem;
    margin-inline: auto;
    text-align: center;
  }
  .public-location__eyebrow {
    margin: 0;
    color: var(--public-blue);
  }
  .public-location__title {
    margin: var(--public-space-md) 0 0;
    color: var(--public-navy);
  }
  .public-location__information {
    display: grid;
    grid-template-columns: minmax(28rem, 1.25fr) minmax(40rem, 1fr);
    align-items: stretch;
    border-top: 1px solid var(--public-line-strong);
    border-bottom: 1px solid var(--public-line);
  }
  .public-location__address, .public-location__contacts, .public-location__map-links {
    padding: var(--public-space-xl) var(--public-space-2xl);
  }
  .public-location__address {
    padding-left: 0;
  }
  .public-location__information-label, .public-location__contacts dt {
    color: var(--public-muted);
  }
  .public-location__address-primary {
    margin: var(--public-space-md) 0 0;
    color: var(--public-ink);
  }
  .public-location__address-detail {
    margin: var(--public-space-xs) 0 0;
    color: var(--public-muted);
  }
  .public-location__contacts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: var(--public-space-xl);
    margin: 0;
    border-left: 1px solid var(--public-line);
  }
  .public-location__contacts dd {
    margin: var(--public-space-md) 0 0;
    color: var(--public-ink);
    overflow-wrap: anywhere;
  }
  .public-location__map {
    height: clamp(36rem, 10.355987055vw + 32.1165048544rem, 52rem);
    min-height: 0;
    overflow: hidden;
    background: var(--public-surface);
  }
  .public-location__canvas, .public-location__map-status {
    width: 100%;
    height: 100%;
  }
  .public-location__map-status {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--public-muted);
  }
  .public-location__map .store-map-pin {
    position: relative;
    top: auto;
    left: auto;
    display: block;
    overflow: visible;
    color: inherit;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font-size: inherit;
    font-weight: inherit;
    pointer-events: none;
    transform-origin: center bottom;
  }
  .public-location__map .store-map-pin__art {
    position: relative;
    top: auto;
    left: auto;
    display: block;
    width: 100%;
    height: 100%;
    color: inherit;
    background: transparent;
    border: 0;
    border-radius: 0;
    font-size: inherit;
    font-weight: inherit;
    transform-origin: center bottom;
  }
  .public-location__map .store-map-pin__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    filter: none;
  }
  .public-location__map .store-map-pin {
    max-width: 15.2rem;
    max-height: 7.5rem;
  }
  .public-location__map-links {
    grid-column: 1/-1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: var(--public-space-md);
    padding-left: 0;
    padding-right: 0;
    border-top: 1px solid var(--public-line);
  }
  .public-location__gallery {
    display: grid;
    gap: var(--public-space-md);
  }
  .public-location__gallery-heading {
    display: grid;
    max-width: 68rem;
  }
  .public-location__gallery-title {
    margin: var(--public-space-xs) 0 0;
    color: var(--public-navy);
  }
  .public-location__gallery-description {
    margin: var(--public-space-xs) 0 0;
    color: var(--public-muted);
  }
  .public-location__gallery-frame {
    position: relative;
    overflow: hidden;
    background: var(--public-surface);
  }
  .public-location__gallery-stage {
    width: 100%;
    aspect-ratio: 1288/659;
  }
  .public-location__gallery-list {
    height: 100%;
  }
  .public-location__gallery-slide {
    height: 100%;
    margin: 0;
    background: var(--public-surface);
  }
  .public-location__gallery-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .public-location__gallery-control {
    position: absolute;
    top: 50%;
    z-index: 2;
    color: var(--public-white);
    background: var(--public-navy-deep);
    border-color: transparent;
    transform: translateY(-50%);
  }
  .public-location__gallery-control:hover, .public-location__gallery-control:focus-visible {
    color: var(--public-white);
    background: var(--public-blue);
    border-color: transparent;
  }
  .public-location__gallery-control[data-location-gallery-prev] {
    left: var(--public-space-md);
  }
  .public-location__gallery-control[data-location-gallery-next] {
    right: var(--public-space-md);
  }
  .public-location__gallery-count {
    position: absolute;
    right: var(--public-space-md);
    bottom: var(--public-space-md);
    z-index: 2;
    display: flex;
    gap: var(--public-space-2xs);
    margin: 0;
    padding: var(--public-space-2xs) var(--public-space-xs);
    color: var(--public-white);
    background: var(--public-navy-deep);
  }
  .public-location__gallery-thumbnails {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: var(--public-space-2xs);
  }
  .public-location__gallery-thumbnail {
    display: block;
    min-width: 0;
    padding: 0;
    overflow: hidden;
    cursor: pointer;
    background: var(--public-surface);
    border: var(--public-focus-width) solid transparent;
    opacity: 0.55;
    transition: border-color var(--public-duration) var(--public-ease), opacity var(--public-duration) var(--public-ease);
  }
  .public-location__gallery-thumbnail:hover, .public-location__gallery-thumbnail:focus-visible, .public-location__gallery-thumbnail[aria-current=true] {
    border-color: var(--public-blue);
    opacity: 1;
  }
  .public-location__gallery-thumbnail:focus-visible {
    outline: var(--public-focus-width) solid var(--public-focus);
    outline-offset: var(--public-focus-offset);
  }
  .public-location__gallery-thumbnail img {
    display: block;
    width: 100%;
    aspect-ratio: 1288/659;
    object-fit: cover;
  }
  .public-location__transit h2 {
    margin: 0;
  }
  .public-location__transit-table {
    margin-top: var(--public-space-xl);
    border-top: 1px solid var(--public-line-strong);
  }
  .public-location__transit-row {
    display: grid;
    grid-template-columns: 18rem 1fr;
    min-height: 5.8rem;
    border-bottom: 1px solid var(--public-line);
  }
  .public-location__transit-label {
    display: flex;
    align-items: center;
    gap: var(--public-space-xs);
    padding: 0 var(--public-space-lg);
    border-right: 1px solid var(--public-line);
  }
  .public-location__transit-label i {
    flex: 0 0 auto;
    width: 1.4rem;
    color: var(--public-blue);
    text-align: center;
  }
  .public-location__transit-copy {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0 var(--public-space-xl);
    color: var(--public-muted);
  }
  .public-location__transit-routes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--public-space-xs) var(--public-space-xl);
    margin: 0;
    padding: var(--public-space-md) var(--public-space-xl);
    list-style: none;
  }
  .public-location__transit-route {
    display: flex;
    align-items: flex-start;
    gap: var(--public-space-2xs);
    min-width: 0;
  }
  .public-location__transit-markers {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.4rem;
    min-width: 0.8rem;
    padding-top: 0.6rem;
  }
  .public-location__transit-marker {
    display: block;
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
  }
  .public-location__transit-marker--subway-1 {
    background: var(--public-transit-subway-1);
  }
  .public-location__transit-marker--subway-2 {
    background: var(--public-transit-subway-2);
  }
  .public-location__transit-marker--bus-trunk {
    background: var(--public-transit-bus-trunk);
  }
  .public-location__transit-marker--bus-feeder {
    background: var(--public-transit-bus-feeder);
  }
  .public-location__transit-marker--bus-express {
    background: var(--public-transit-bus-express);
  }
  .public-location__transit-route-copy {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    color: var(--public-ink);
  }
  .public-location__transit-route-copy > span {
    color: var(--public-muted);
  }
  @media (max-width: 1199px) {
    .public-location__information {
      grid-template-columns: minmax(0, 1fr) minmax(38rem, 1fr);
    }
    .public-location__map-links {
      justify-content: flex-end;
    }
  }
  @media (max-width: 767px) {
    .public-location__inner {
      gap: var(--public-space-xl);
    }
    .public-location__title {
      white-space: nowrap;
    }
    .public-location__information {
      grid-template-columns: 1fr;
    }
    .public-location__address, .public-location__contacts, .public-location__map-links {
      padding: var(--public-space-lg) 0;
    }
    .public-location__contacts {
      grid-template-columns: 1fr;
      border-top: 1px solid var(--public-line);
      border-left: 0;
    }
    .public-location__map-links {
      grid-column: auto;
      justify-content: flex-start;
      border-top: 1px solid var(--public-line);
    }
    .public-location__gallery-heading {
      max-width: none;
    }
    .public-location__gallery-control[data-location-gallery-prev] {
      left: var(--public-space-xs);
    }
    .public-location__gallery-control[data-location-gallery-next] {
      right: var(--public-space-xs);
    }
    .public-location__gallery-count {
      right: var(--public-space-xs);
      bottom: var(--public-space-xs);
    }
    .public-location__gallery-thumbnails {
      display: flex;
      gap: var(--public-space-2xs);
      padding-bottom: var(--public-space-2xs);
      overflow-x: auto;
      scroll-snap-type: x proximity;
    }
    .public-location__gallery-thumbnail {
      flex: 0 0 9.6rem;
      scroll-snap-align: start;
    }
    .public-location__transit-row {
      grid-template-columns: 1fr;
    }
    .public-location__transit-label {
      min-height: 5rem;
      border-right: 0;
    }
    .public-location__transit-copy {
      display: block;
      padding: var(--public-space-md) var(--public-space-lg);
    }
    .public-location__transit-routes {
      grid-template-columns: 1fr;
      padding: var(--public-space-md) var(--public-space-lg);
    }
  }
  .public-recruit {
    height: 196.4rem;
    color: var(--public-ink);
    background: var(--public-white);
  }
  .public-recruit__people {
    height: 78rem;
    background: #f4f9fb;
  }
  .public-recruit__eyebrow {
    margin: 0;
    color: #2889b5;
  }
  .public-recruit__people h2, .public-recruit__selection-copy h2 {
    margin: 3.2rem 0 0;
  }
  .public-recruit__lead {
    margin: 3.2rem 0 0;
    color: #5a646b;
  }
  .public-recruit__values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem;
    margin-top: 7.6rem;
  }
  .public-recruit__values article {
    padding-top: 3rem;
    border-top: 1px solid #cbd6db;
  }
  .public-recruit__values article > p, .public-recruit__steps li p {
    margin: 0;
    color: #2889b5;
  }
  .public-recruit__values h3 {
    margin: 1.8rem 0 0;
  }
  .public-recruit__values span {
    display: block;
    margin-top: 2.1rem;
    color: #5c666d;
  }
  .public-recruit__selection {
    height: 118.4rem;
  }
  .public-recruit__selection-inner {
    display: grid;
    grid-template-columns: 48rem 1fr;
    gap: 9.6rem;
  }
  .public-recruit__selection-copy > p:last-child {
    margin: 3.5rem 0 0;
    color: #5c666d;
  }
  .public-recruit__selection-content {
    width: 74.4rem;
  }
  .public-recruit__steps {
    position: relative;
    height: 51rem;
    margin: 0;
    padding: 6.8rem 7.5rem 5rem 8rem;
    background: #f7f7f7;
    border-radius: 1rem;
    list-style: none;
  }
  .public-recruit__steps li {
    position: relative;
    display: grid;
    grid-template-columns: var(--recruit-step-marker) 1fr;
    gap: 3.8rem;
  }
  .public-recruit__steps li:first-child::after {
    position: absolute;
    z-index: 0;
    top: calc(var(--recruit-step-marker) / 2);
    bottom: calc((var(--recruit-step-gap) + var(--recruit-step-marker) / 2) * -1);
    left: calc(var(--recruit-step-marker) / 2);
    width: 1px;
    background: #ced4d8;
    content: "";
    pointer-events: none;
  }
  .public-recruit__steps li + li {
    margin-top: var(--recruit-step-gap);
  }
  .public-recruit__steps li > b {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: var(--recruit-step-marker);
    height: var(--recruit-step-marker);
    color: #fff;
    background: #2889b5;
    border-radius: 50%;
    font-size: var(--subtitle-fs);
  }
  .public-recruit__steps li h3 {
    margin: 1.4rem 0 0;
  }
  .public-recruit__steps li span {
    display: block;
    margin-top: 2rem;
    color: #5c666d;
  }
  .public-recruit__apply {
    position: relative;
    display: block;
    min-height: 36.5rem;
    margin-top: 2.5rem;
    padding: 5rem 7.5rem;
    color: inherit;
    border: 1px solid #d7dcdf;
    border-radius: 1rem;
    text-decoration: none;
  }
  .public-recruit__apply > span {
    color: #697278;
  }
  .public-recruit__apply h3 {
    margin: 1.8rem 0 0;
  }
  .public-recruit__apply p {
    margin: 2.5rem 0 0;
    color: #5c666d;
  }
  .public-recruit__apply i {
    display: block;
    height: 1px;
    margin: 3rem 0 2.5rem;
    background: #d7dcdf;
  }
  .public-recruit__apply strong {
    display: block;
    margin-top: 0.8rem;
    color: #2889b5;
  }
  .public-recruit__apply b {
    position: absolute;
    right: 7.5rem;
    bottom: 5rem;
    color: #2889b5;
  }
  @media (max-width: 1279px) and (min-width: 768px) {
    .public-recruit .public-recruit__selection.no-section-lg {
      height: auto;
      padding-top: 7.6rem;
      padding-bottom: 4rem;
    }
    .public-recruit .public-recruit__selection .public-recruit__selection-inner {
      grid-template-columns: minmax(28rem, 30rem) minmax(0, 56.2rem);
      gap: 13.2rem;
      align-items: start;
    }
    .public-recruit__selection-copy > p:last-child {
      margin-top: 2.8rem;
    }
    .public-recruit__selection-content {
      width: 100%;
    }
    .public-recruit__steps {
      height: auto;
      min-height: 41.3rem;
      padding: 5.4rem 6.2rem 4.8rem 4.2rem;
      border-radius: 0.8rem;
    }
    .public-recruit__steps li {
      gap: 3.4rem;
    }
    .public-recruit__steps li h3 {
      margin-top: 1.2rem;
    }
    .public-recruit__steps li span {
      margin-top: 1.6rem;
    }
    .public-recruit__apply {
      min-height: 28.1rem;
      margin-top: 1.8rem;
      padding: 3rem 6rem 2.4rem;
      border-radius: 0.8rem;
    }
    .public-recruit__apply h3 {
      margin-top: 1rem;
    }
    .public-recruit__apply p {
      margin-top: 1.2rem;
    }
    .public-recruit__apply i {
      margin: 1.2rem 0;
    }
    .public-recruit__apply b {
      right: 6rem;
      bottom: 2.4rem;
    }
  }
  @media (max-width: 767px) {
    .public-recruit {
      height: auto;
    }
    .public-recruit__people {
      height: auto;
    }
    .public-recruit__values {
      grid-template-columns: 1fr;
      gap: 4rem;
      margin-top: 6rem;
    }
    .public-recruit__values br {
      display: none;
    }
    .public-recruit__selection {
      height: auto;
    }
    .public-recruit__selection-inner {
      display: block;
    }
    .public-recruit__selection-copy br {
      display: none;
    }
    .public-recruit__selection-content {
      width: 100%;
      margin-top: 5rem;
    }
    .public-recruit__steps {
      height: auto;
      padding: 4rem 2.5rem;
    }
    .public-recruit__steps li {
      gap: 2rem;
    }
    .public-recruit__steps li span br {
      display: none;
    }
    .public-recruit__apply {
      min-height: 0;
      padding: 4rem 2.5rem;
    }
    .public-recruit__apply p br {
      display: none;
    }
    .public-recruit__apply b {
      right: 2.5rem;
      bottom: 4rem;
    }
  }
  .public-practice-directory {
    padding-top: var(--public-header-height);
    color: var(--public-ink);
    background: var(--public-white);
  }
  .public-practice-directory__hero {
    display: grid;
    place-items: center;
    align-content: center;
    min-height: 18rem;
    gap: var(--public-space-lg);
    color: var(--public-white);
    background: var(--public-navy-deep);
  }
  .public-practice-directory__hero h1 {
    margin: 0;
    color: inherit;
  }
  .public-practice-directory__body {
    background: var(--public-white);
  }
  .public-practice-directory__tabs {
    gap: var(--public-space-xs);
    background: var(--public-white);
  }
  .public-practice-directory__results-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    border-bottom: 1px solid var(--public-line);
  }
  .public-practice-directory__results-head h2, .public-practice-directory__results-head span {
    margin: 0;
  }
  .public-practice-directory__list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--public-space-sm);
  }
  .public-practice-directory.is-treatment-directory-loading {
    cursor: progress;
  }
  @media (max-width: 767px) {
    .public-practice-directory__hero {
      gap: var(--public-space-md);
      padding-inline: var(--public-shell-gutter);
    }
    html body .public-practice-directory__categories.no-container-xl {
      padding-inline: 0;
    }
    .public-practice-directory__tabs.public-filter-tabs--wrap:not(.public-filter-tabs--static) {
      min-width: 0;
      flex-wrap: nowrap;
      column-gap: calc(var(--public-space-2xs) * 0.5);
      row-gap: 0;
      padding-block: var(--public-space-sm);
      padding-inline: var(--public-shell-gutter);
      overflow-x: auto;
      overflow-y: hidden;
      scroll-padding-inline: var(--public-shell-gutter);
      scroll-snap-type: x proximity;
      touch-action: pan-x;
      scrollbar-width: none;
      -webkit-overflow-scrolling: touch;
    }
    .public-practice-directory__tabs.public-filter-tabs--wrap:not(.public-filter-tabs--static)::-webkit-scrollbar {
      display: none;
    }
    .public-practice-directory__tabs.public-filter-tabs--wrap:not(.public-filter-tabs--static) a {
      flex: 0 0 auto;
      scroll-snap-align: start;
      padding-inline: var(--public-space-xs);
    }
    .public-practice-directory__tabs.public-filter-tabs--wrap.public-filter-tabs--static {
      min-width: 0;
      flex-wrap: wrap;
      justify-content: flex-start;
      padding-block: var(--public-space-sm);
      padding-inline: var(--public-shell-gutter);
      overflow: visible;
      touch-action: auto;
    }
    .public-practice-directory__list {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--public-space-sm);
    }
  }
  .public-practice-page ~ .public-footer.site-footer {
    background: var(--public-navy-deep);
  }
  .public-practice-page ~ .no-floating-cta .no-floating-cta__btn--tel, .public-practice-page ~ .no-floating-cta .no-floating-cta__btn--naverblog, .public-practice-page ~ .no-floating-cta .no-floating-cta__btn--top {
    display: none;
  }
  .public-practice-page ~ .no-floating-cta .no-floating-cta__btn--instagram {
    order: 1;
  }
  .public-practice-page ~ .no-floating-cta .no-floating-cta__btn--youtube {
    order: 2;
  }
  .public-practice-page ~ .no-floating-cta .no-floating-cta__btn--kakao {
    order: 3;
  }
  @media (max-width: 767px) {
    .public-practice-page ~ .no-floating-cta {
      display: none;
    }
  }
  .public-practice-detail-page {
    position: relative;
    display: grid;
    grid-template-columns: 14rem minmax(0, 1fr) 14rem;
    grid-template-rows: auto auto;
    margin-top: var(--public-header-height);
    padding-bottom: 0;
    background: var(--public-white);
  }
  .public-practice-detail-page__top {
    display: contents;
  }
  .public-practice-detail-page__back {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
  }
  .public-practice-detail-page__heading {
    grid-column: 2;
    grid-row: 1;
    text-align: center;
  }
  .public-practice-detail-page__heading h1 {
    margin: 0;
  }
  .public-practice-detail-page__index {
    position: sticky;
    top: calc(var(--public-header-height) + var(--public-space-xl));
    grid-column: 3;
    grid-row: 1/3;
    align-self: start;
    justify-self: end;
    z-index: 2;
    width: 14rem;
    height: max-content;
    transform: translateX(calc(100% + var(--public-space-xl)));
  }
  .public-practice-detail-page--structured {
    display: block;
    margin-top: var(--public-header-height);
    padding: 0;
    color: var(--public-ink);
    background: var(--public-white);
  }
  .public-practice-detail-page--structured .public-practice-detail-page__hero {
    padding-block: var(--section-sm);
    color: var(--public-white);
    background: var(--public-navy-deep);
    text-align: center;
  }
  .public-practice-detail-page--structured .public-practice-detail-page__hero-inner {
    display: grid;
    justify-items: center;
    gap: var(--public-space-md);
  }
  .public-practice-detail-page--structured .public-practice-detail-page__hero h1,
  .public-practice-detail-page--structured .public-practice-detail-page__hero p {
    margin: 0;
  }
  .public-practice-detail-page--structured .public-practice-detail-page__hero p {
    max-width: var(--public-detail-max);
    color: color-mix(in srgb, var(--public-white) 74%, transparent);
  }
  .public-practice-detail-page--structured .public-practice-detail-page__breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--public-space-xs);
    color: color-mix(in srgb, var(--public-white) 66%, transparent);
  }
  .public-practice-detail-page--structured .public-practice-detail-page__breadcrumbs a {
    color: inherit;
  }
  .public-practice-detail-page--structured .public-practice-detail-page__visual {
    margin-block: var(--section-xs);
    overflow: hidden;
    aspect-ratio: 16/7;
    border-radius: var(--public-radius-md);
  }
  .public-practice-detail-page--structured .public-practice-detail-page__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .public-practice-detail-page__content {
    grid-column: 1/-1;
    grid-row: 2;
    width: 100%;
  }
  .public-practice-detail-page__media {
    width: 100%;
    height: auto;
    aspect-ratio: 16/7;
    overflow: hidden;
    border-radius: var(--public-radius-md);
  }
  .public-practice-detail-page__intro {
    box-sizing: border-box;
    border-bottom: 1px solid var(--public-line);
  }
  .public-practice-detail-page__intro p {
    max-width: var(--public-detail-max);
    margin: 0;
    color: var(--public-muted);
  }
  .public-practice-detail-page__services {
    border-bottom: 1px solid var(--public-line);
  }
  .public-practice-detail-page__services h2 {
    margin: 0;
  }
  .public-practice-detail-page__services ol {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--public-space-sm);
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding: 0;
    align-content: start;
    list-style: none;
  }
  .public-practice-detail-page__services li {
    display: flex;
    align-items: center;
    min-height: var(--public-card-row);
    padding: 0 var(--public-space-lg);
    background: var(--public-surface-subtle);
  }
  .public-practice-detail-page__services li span {
    color: var(--public-muted-soft);
  }
  .public-practice-detail-page__services li p {
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
  }
  @media (max-width: 767px) {
    .public-practice-detail-page--structured .public-practice-detail-page__hero {
      padding-block: var(--section-xs);
    }
    .public-practice-detail-page--structured .public-practice-detail-page__visual {
      margin-inline: var(--public-space-md);
      aspect-ratio: 4/3;
    }
    .public-practice-detail-page {
      display: block;
      min-height: 0;
      margin-top: var(--public-header-height);
      padding-right: 0;
      padding-bottom: 0;
      padding-left: 0;
    }
    .public-practice-detail-page__top {
      display: block;
      width: calc(100% - var(--public-space-md) * 2);
      min-height: 0;
      margin-inline: auto;
    }
    .public-practice-detail-page__back {
      position: static;
    }
    .public-practice-detail-page__heading {
      margin-top: var(--public-space-3xl);
    }
    .public-practice-detail-page__index {
      position: sticky;
      top: calc(var(--public-header-height) + var(--public-space-xs));
      right: auto;
      z-index: 2;
      width: calc(100% - var(--public-space-md) * 2);
      margin-top: var(--public-space-xl);
      margin-inline: auto;
      overflow-x: auto;
      background: var(--public-white);
      transform: none;
    }
    .public-practice-detail-page__content {
      width: calc(100% - var(--public-space-md) * 2);
      margin-inline: auto;
    }
    .public-practice-detail-page__media {
      height: auto;
      aspect-ratio: 16/9;
      border-radius: var(--public-radius-sm);
    }
    .public-practice-detail-page__intro {
      min-height: 0;
    }
    .public-practice-detail-page__services {
      min-height: 0;
    }
    .public-practice-detail-page__services ol {
      grid-template-columns: 1fr;
      min-height: 0;
    }
  }
  @media (max-width: 1699px) and (min-width: 768px) {
    .public-practice-detail-page {
      grid-template-rows: auto auto auto;
    }
    .public-practice-detail-page__index {
      position: sticky;
      top: calc(var(--public-header-height) + var(--public-space-xs));
      grid-column: 1/-1;
      grid-row: 2;
      justify-self: stretch;
      width: 100%;
      margin-top: var(--public-space-xl);
      overflow-x: auto;
      background: var(--public-white);
      transform: none;
    }
    .public-practice-detail-page__index .public-section-index {
      display: flex;
      gap: var(--public-space-xs);
      min-width: max-content;
      padding: var(--public-space-2xs) 0;
    }
    .public-practice-detail-page__index .public-section-index::before, .public-practice-detail-page__index .public-section-index__dot {
      display: none;
    }
    .public-practice-detail-page__index .public-section-index__item {
      min-height: var(--public-control-sm);
      padding: 0 var(--public-space-sm);
      align-items: center;
      border: 1px solid var(--public-line);
      border-radius: var(--public-radius-pill);
    }
    .public-practice-detail-page__index .public-section-index__item.is-active {
      color: var(--public-white);
      background: var(--public-blue);
      border-color: var(--public-blue);
    }
    .public-practice-detail-page__content {
      grid-row: 3;
    }
  }
  .public-treatment-section {
    padding-block: var(--section-sm);
    border-bottom: 1px solid var(--public-line);
    scroll-margin-top: calc(var(--public-header-height) + var(--public-space-lg));
  }
  .public-treatment-section__title {
    margin: 0 0 var(--public-space-2xl);
    text-align: center;
  }
  .public-treatment-section__prose {
    max-width: var(--public-detail-max);
    margin-inline: auto;
    color: var(--public-muted);
    line-height: 1.9;
    text-align: center;
  }
  .public-treatment-section__prose > :first-child {
    margin-top: 0;
  }
  .public-treatment-section__prose > :last-child {
    margin-bottom: 0;
  }
  .public-treatment-section--list#treatment-section-concerns {
    background: var(--public-white);
  }
  .public-treatment-section--products {
    background: var(--public-white);
  }
  .public-treatment-section--videos {
    color: var(--public-white);
    background: var(--public-navy-deep);
    border-bottom: 0;
  }
  @media (max-width: 767px) {
    .public-treatment-section {
      padding-block: var(--section-xs);
    }
  }
  .public-treatment-actions {
    border-bottom: 1px solid var(--public-line);
    background: var(--public-white);
  }
  .public-treatment-actions__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--public-space-xl);
    padding-block: var(--section-sm);
    text-align: center;
  }
  .public-treatment-actions__copy {
    display: grid;
    justify-items: center;
    gap: var(--public-space-xs);
    max-width: var(--public-detail-max);
  }
  .public-treatment-actions__copy > span {
    color: var(--public-muted);
  }
  .public-treatment-actions__buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--public-space-sm);
  }
  .public-treatment-actions__button.public-button {
    white-space: nowrap;
  }
  .public-treatment-actions__button--cart.public-button {
    color: var(--public-white);
    background: var(--public-ink);
    border-color: var(--public-ink);
  }
  .public-treatment-actions__button--cart.public-button:hover, .public-treatment-actions__button--cart.public-button:focus-visible {
    color: var(--public-white);
    background: var(--public-ink);
    border-color: var(--public-ink);
  }
  @media (max-width: 767px) {
    .public-treatment-actions__inner {
      display: grid;
      align-items: stretch;
    }
    .public-treatment-actions__copy {
      min-width: 0;
    }
    .public-treatment-actions__buttons {
      display: grid;
      grid-template-columns: 1fr;
    }
    .public-treatment-actions__button.public-button {
      width: 100%;
    }
  }
  .public-treatment-videos__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--public-space-xl);
    margin-bottom: var(--public-space-2xl);
  }
  .public-treatment-videos__eyebrow {
    display: block;
    margin-bottom: var(--public-space-sm);
    color: color-mix(in srgb, var(--public-white) 62%, transparent);
    letter-spacing: 0.12em;
  }
  .public-treatment-videos__head .public-treatment-section__title {
    margin: 0;
    text-align: left;
  }
  .public-treatment-videos__controls {
    display: flex;
    gap: var(--public-space-sm);
  }
  .public-treatment-videos__nav {
    display: inline-grid;
    place-items: center;
    width: var(--public-space-3xl);
    height: var(--public-space-3xl);
    color: var(--public-white);
    background: transparent;
    border: 1px solid color-mix(in srgb, var(--public-white) 36%, transparent);
    border-radius: 50%;
    cursor: pointer;
    transition: color var(--public-duration) var(--public-ease), background-color var(--public-duration) var(--public-ease), border-color var(--public-duration) var(--public-ease);
  }
  .public-treatment-videos__nav:hover, .public-treatment-videos__nav:focus-visible {
    color: var(--public-navy-deep);
    background: var(--public-white);
    border-color: var(--public-white);
  }
  .public-treatment-videos__stage {
    overflow: hidden;
  }
  .public-treatment-videos__slide {
    height: auto;
  }
  .public-treatment-videos__embed {
    overflow: hidden;
    aspect-ratio: 16/9;
    border-radius: var(--public-radius-md);
    background: var(--public-ink);
  }
  .public-treatment-videos__embed iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
  }
  .public-treatment-videos__slide h3 {
    margin: var(--public-space-lg) 0 0;
  }
  .public-treatment-videos__slide p {
    margin: var(--public-space-sm) 0 0;
    color: color-mix(in srgb, var(--public-white) 68%, transparent);
  }
  .public-treatment-videos__pagination {
    display: flex;
    justify-content: center;
    gap: var(--public-space-xs);
    margin-top: var(--public-space-xl);
  }
  .public-treatment-videos__pagination .swiper-pagination-bullet {
    width: var(--public-space-sm);
    height: var(--public-space-sm);
    margin: 0;
    background: color-mix(in srgb, var(--public-white) 42%, transparent);
    opacity: 1;
  }
  .public-treatment-videos__pagination .swiper-pagination-bullet-active {
    background: var(--public-white);
  }
  @media (max-width: 767px) {
    .public-treatment-videos__head {
      align-items: flex-start;
    }
    .public-treatment-videos__controls {
      flex: 0 0 auto;
    }
  }
  .public-treatment-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--public-space-md);
    max-width: var(--public-detail-max);
    margin: 0 auto;
    padding: 0;
    list-style: none;
  }
  .public-treatment-list li {
    display: flex;
    align-items: flex-start;
    gap: var(--public-space-sm);
    padding: var(--public-space-lg);
    border: 1px solid var(--public-line);
    border-radius: 0;
    background: var(--public-white);
  }
  .public-treatment-list li > span {
    flex: 0 0 auto;
    color: var(--public-ink);
  }
  @media (max-width: 767px) {
    .public-treatment-list {
      grid-template-columns: 1fr;
    }
  }
  .public-treatment-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--public-space-md);
    max-width: var(--public-detail-max);
    margin: 0 auto;
  }
  .public-treatment-facts__item {
    padding: var(--public-space-xl) var(--public-space-md);
    border: 1px solid var(--public-line);
    border-radius: 0;
    background: var(--public-white);
    text-align: center;
  }
  .public-treatment-facts dt {
    color: var(--public-muted-soft);
  }
  .public-treatment-facts dd {
    margin: var(--public-space-xs) 0 0;
  }
  @media (max-width: 767px) {
    .public-treatment-facts {
      grid-template-columns: 1fr;
    }
  }
  .public-treatment-faq {
    max-width: var(--public-detail-max);
    margin: 0 auto;
    border-top: 1px solid var(--public-line);
  }
  .public-treatment-faq__item {
    border-bottom: 1px solid var(--public-line);
  }
  .public-treatment-faq summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--public-space-lg);
    padding-block: var(--public-space-lg);
    cursor: pointer;
    list-style: none;
  }
  .public-treatment-faq summary::-webkit-details-marker {
    display: none;
  }
  .public-treatment-faq summary > span::before {
    content: "+";
  }
  .public-treatment-faq details[open] summary > span::before {
    content: "−";
  }
  .public-treatment-faq__answer {
    padding: 0 var(--public-space-xl) var(--public-space-xl);
    color: var(--public-muted);
    line-height: 1.8;
  }
  .public-treatment-products {
    display: grid;
    gap: var(--public-space-md);
    max-width: var(--public-detail-max);
    margin: 0 auto;
  }
  .public-treatment-products > .public-treatment-card {
    background: var(--public-white);
    border: 1px solid var(--public-line);
  }
  .public-treatment-products .public-treatment-card__badge {
    background: var(--public-ink);
  }
  .public-treatment-products .public-treatment-card__discount {
    color: var(--public-ink);
  }
  .public-treatment-products__empty {
    margin: 0;
    text-align: center;
  }
  .public-treatment-related {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--public-space-md);
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .public-treatment-related a {
    display: grid;
    gap: var(--public-space-sm);
    height: 100%;
    padding: var(--public-space-xl);
    border: 1px solid var(--public-line);
    border-radius: var(--public-radius-md);
    color: inherit;
    text-decoration: none;
  }
  .public-treatment-related span {
    color: var(--public-muted);
  }
  @media (max-width: 767px) {
    .public-treatment-related {
      grid-template-columns: 1fr;
    }
  }
  .public-section-index {
    position: relative;
    display: grid;
    gap: var(--public-space-2xl);
  }
  .public-section-index::before {
    position: absolute;
    top: var(--public-space-2xs);
    bottom: var(--public-space-2xs);
    left: 0.7rem;
    width: 1px;
    background: var(--public-line);
    content: "";
  }
  .public-section-index__item {
    position: relative;
    display: flex;
    align-items: flex-start;
    min-height: var(--public-space-sm);
    padding: 0 0 0 3.5rem;
    color: var(--public-muted-soft);
    background: transparent;
    border: 0;
    text-align: left;
    transition: color var(--public-duration) var(--public-ease);
  }
  .public-section-index__dot {
    position: absolute;
    top: 0.2rem;
    left: 0.2rem;
    width: 1.1rem;
    height: 1.1rem;
    background: var(--public-white);
    border: 1px solid var(--public-line);
    border-radius: 50%;
    transition: background-color var(--public-duration) var(--public-ease), border-color var(--public-duration) var(--public-ease), transform var(--public-duration) var(--public-ease);
  }
  .public-section-index__item:hover, .public-section-index__item:focus-visible, .public-section-index__item.is-active {
    color: var(--public-blue);
  }
  .public-section-index__item.is-active .public-section-index__dot {
    background: var(--public-blue);
    border-color: var(--public-blue);
    transform: scale(1.05);
  }
  .public-section-index__label {
    position: relative;
    z-index: 1;
  }
  @media (max-width: 767px) {
    .public-section-index {
      display: flex;
      gap: var(--public-space-xs);
      min-width: max-content;
      padding: var(--public-space-2xs) 0;
    }
    .public-section-index::before, .public-section-index__dot {
      display: none;
    }
    .public-section-index__item {
      min-height: var(--public-control-sm);
      padding: 0 var(--public-space-sm);
      align-items: center;
      border: 1px solid var(--public-line);
      border-radius: var(--public-radius-pill);
    }
    .public-section-index__item.is-active {
      color: var(--public-white);
      background: var(--public-blue);
      border-color: var(--public-blue);
    }
  }
  .public-related-professionals > h2 {
    margin: 0;
  }
  .public-related-professionals__swiper {
    padding-bottom: calc(var(--public-space-2xl) + var(--public-space-2xs));
  }
  .public-related-professionals__slide {
    height: auto;
  }
  .public-related-professionals__slide .public-professional-card {
    height: 100%;
  }
  .public-related-professionals .public-professional-card__photo img, .public-related-professionals .public-professional-card__fallback {
    transition: transform var(--public-duration) var(--public-ease);
  }
  .public-related-professionals .public-professional-card__link:hover .public-professional-card__photo img, .public-related-professionals .public-professional-card__link:focus-visible .public-professional-card__photo img, .public-related-professionals .public-professional-card__link:hover .public-professional-card__fallback, .public-related-professionals .public-professional-card__link:focus-visible .public-professional-card__fallback {
    transform: scale(1.04);
  }
  .public-related-professionals .public-professional-card__link:focus-visible {
    outline: 2px solid var(--public-focus);
    outline-offset: 0.4rem;
  }
  .public-related-professionals__scrollbar.swiper-scrollbar {
    bottom: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    height: 0.4rem;
    background: var(--public-surface);
    border: 1px solid var(--public-line);
    border-radius: var(--public-radius-pill);
  }
  .public-related-professionals__scrollbar .swiper-scrollbar-drag {
    min-width: var(--public-space-3xl);
    background: var(--public-navy);
    border-radius: var(--public-radius-pill);
    cursor: grab;
    transition: background-color var(--public-duration) var(--public-ease);
  }
  .public-related-professionals__scrollbar .swiper-scrollbar-drag:hover {
    background: color-mix(in srgb, var(--public-navy) 82%, var(--public-muted));
  }
  .public-related-professionals__scrollbar .swiper-scrollbar-drag:active {
    cursor: grabbing;
  }
  @media (max-width: 767px) {
    .public-related-professionals__swiper {
      padding-bottom: calc(var(--public-space-2xl) + var(--public-space-2xs));
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .public-related-professionals .public-professional-card__photo img, .public-related-professionals .public-professional-card__fallback, .public-related-professionals__scrollbar .swiper-scrollbar-drag {
      transition: none;
    }
    .public-related-professionals .public-professional-card__link:hover .public-professional-card__photo img, .public-related-professionals .public-professional-card__link:focus-visible .public-professional-card__photo img, .public-related-professionals .public-professional-card__link:hover .public-professional-card__fallback, .public-related-professionals .public-professional-card__link:focus-visible .public-professional-card__fallback {
      transform: none;
    }
  }
  .public-related-content {
    border-top: 1px solid var(--public-line);
    color: var(--public-ink);
    background: var(--public-surface-subtle);
  }
  .public-related-content__group + .public-related-content__group {
    margin-top: var(--section-sm);
  }
  .public-related-content__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--public-space-2xl);
    padding-bottom: var(--public-space-lg);
    border-bottom: 1px solid var(--public-line);
  }
  .public-related-content__head h2 {
    margin: 0;
  }
  .public-related-content__insight-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: var(--public-line);
  }
  .public-related-content__insight-grid .public-insight-card--featured {
    min-height: 28rem;
    padding: 0;
    outline: 1px solid transparent;
    outline-offset: -1px;
    transition: background-color var(--public-duration) var(--public-ease), outline-color var(--public-duration) var(--public-ease);
  }
  .public-related-content .public-insight-card__surface {
    box-sizing: border-box;
    height: 100%;
    color: inherit;
    text-decoration: none;
  }
  .public-related-content__insight-grid .public-insight-card__surface {
    position: relative;
    display: block;
    min-height: inherit;
    padding: var(--public-space-xl);
  }
  .public-related-content__insight-grid .public-insight-card--featured:hover, .public-related-content__insight-grid .public-insight-card--featured:focus-within {
    z-index: 1;
    background: color-mix(in srgb, var(--public-navy) 3%, var(--public-white));
    outline-color: color-mix(in srgb, var(--public-navy) 38%, var(--public-line));
  }
  .public-related-content .public-insight-card__title {
    transition: color var(--public-duration) var(--public-ease);
  }
  .public-related-content .public-insight-card__surface:hover .public-insight-card__title, .public-related-content .public-insight-card__surface:focus-visible .public-insight-card__title {
    color: var(--public-blue);
  }
  .public-related-content .public-insight-card__surface:focus-visible {
    outline: 0;
  }
  .public-related-content__event-list {
    border-bottom: 1px solid var(--public-line);
  }
  .public-related-content__event-list .public-insight-card--event {
    display: block;
    min-height: 11.6rem;
    padding: 0;
    background: var(--public-white);
    border-color: var(--public-line);
    outline: 1px solid transparent;
    outline-offset: -1px;
    transition: background-color var(--public-duration) var(--public-ease), outline-color var(--public-duration) var(--public-ease);
  }
  .public-related-content__event-list .public-insight-card--event:hover, .public-related-content__event-list .public-insight-card--event:focus-within {
    background: color-mix(in srgb, var(--public-navy) 3%, var(--public-white));
    outline-color: color-mix(in srgb, var(--public-navy) 38%, var(--public-line));
  }
  .public-related-content__event-list .public-insight-card__surface {
    display: grid;
    grid-template-areas: "title excerpt date";
    grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.8fr) auto;
    align-items: center;
    gap: var(--public-space-lg);
    min-height: inherit;
    padding-inline: var(--public-space-lg);
    padding-block: var(--public-space-md);
  }
  .public-related-content__event-list .public-insight-card__title {
    grid-area: title;
  }
  .public-related-content__event-list .public-insight-card__excerpt {
    grid-area: excerpt;
  }
  .public-related-content__event-list .public-insight-card__meta {
    grid-area: date;
    display: flex;
    justify-content: flex-end;
  }
  .public-related-content__event-list .public-insight-card--event .public-insight-card__meta time {
    color: var(--public-muted);
  }
  @media (max-width: 1023px) {
    .public-related-content__insight-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .public-related-content__insight-grid .public-insight-card--featured:last-child:nth-child(odd) {
      grid-column: 1/-1;
    }
    .public-related-content__event-list .public-insight-card__surface {
      grid-template-areas: "title" "excerpt" "date";
      grid-template-columns: minmax(0, 1fr);
    }
    .public-related-content__event-list .public-insight-card--event .public-insight-card__excerpt {
      display: -webkit-box;
    }
    .public-related-content__event-list .public-insight-card__meta {
      justify-content: flex-start;
    }
  }
  @media (max-width: 767px) {
    .public-related-content__head {
      align-items: flex-start;
      gap: var(--public-space-md);
    }
    .public-related-content__insight-grid {
      grid-template-columns: 1fr;
    }
    .public-related-content__insight-grid .public-insight-card--featured:last-child:nth-child(odd) {
      grid-column: auto;
    }
    .public-related-content__event-list .public-insight-card__surface {
      gap: var(--public-space-sm);
    }
    .public-related-content__event-list .public-insight-card__meta {
      grid-column: auto;
      justify-content: flex-start;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .public-related-content__insight-grid .public-insight-card--featured, .public-related-content__insight-grid .public-insight-card__title, .public-related-content__event-list .public-insight-card--event {
      transition: none;
    }
  }
  .public-professional-directory__inner {
    display: block;
  }
  .public-professional-directory__visual {
    width: min(100%, 120rem);
    aspect-ratio: 16/9;
    margin: 0 auto;
    overflow: hidden;
  }
  .public-professional-directory__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .public-professional-directory__intro {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) minmax(0, 5fr);
    width: min(100%, 120rem);
    gap: var(--spacing-4xl);
    margin: var(--spacing-6xl) auto 0;
    padding-bottom: var(--spacing-6xl);
    border-bottom: 1px solid var(--public-line);
  }
  .public-professional-directory__eyebrow {
    margin: 0;
    color: var(--clr-accent-500);
  }
  .public-professional-directory__eyebrow span {
    margin-right: var(--public-space-2xs);
  }
  .public-professional-directory__intro-copy {
    display: grid;
    gap: var(--spacing-3xl);
  }
  .public-professional-directory__title {
    margin: 0;
    color: var(--public-ink);
  }
  .public-professional-directory__title span {
    color: var(--clr-accent-500);
  }
  .public-professional-directory__description {
    max-width: 56rem;
    margin: 0;
    color: var(--public-muted);
  }
  .public-professional-directory__lead, .public-professional-directory__doctors {
    width: min(100%, 120rem);
    margin: var(--spacing-5xl) auto 0;
  }
  .public-professional-directory__selector {
    display: flex;
    gap: var(--spacing-3xl);
    overflow-x: auto;
    border-bottom: 1px solid var(--public-line);
    scrollbar-width: none;
  }
  .public-professional-directory__selector::-webkit-scrollbar {
    display: none;
  }
  .public-professional-directory__selector-item {
    position: relative;
    display: grid;
    flex: 0 0 auto;
    gap: var(--public-space-2xs);
    padding-bottom: var(--public-space-md);
    color: var(--public-muted);
    text-decoration: none;
  }
  .public-professional-directory__selector-item::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 0.2rem;
    background: transparent;
  }
  .public-professional-directory__selector-item:hover, .public-professional-directory__selector-item:focus-visible, .public-professional-directory__selector-item.is-active {
    color: var(--public-ink);
  }
  .public-professional-directory__selector-item.is-active::after {
    background: var(--clr-accent-500);
  }
  .public-professional-directory__selector-role {
    color: var(--public-muted);
  }
  .public-professional-directory__profiles {
    margin-top: var(--spacing-4xl);
  }
  .public-professional-directory__doctors:not([data-professional-selector]) .public-professional-directory__profiles {
    margin-top: 0;
  }
  .public-professional-directory__profile-panel[hidden] {
    display: none;
  }
  .public-professional-directory__groups {
    display: grid;
    width: min(100%, 120rem);
    gap: var(--public-space-section);
    margin: var(--spacing-6xl) auto 0;
  }
  .public-professional-directory__empty {
    display: grid;
    min-height: 24rem;
    place-items: center;
    border-top: 1px solid var(--public-line);
    border-bottom: 1px solid var(--public-line);
    text-align: center;
  }
  .public-professional-directory__empty p {
    margin: 0;
  }
  .public-professional-directory.is-async-loading {
    cursor: progress;
  }
  @media (max-width: 1024px) {
    .public-professional-directory__intro {
      gap: var(--spacing-3xl);
      margin-top: var(--spacing-5xl);
      padding-bottom: var(--spacing-5xl);
    }
  }
  @media (max-width: 991px) {
    .public-professional-directory__groups {
      gap: var(--public-space-section);
    }
  }
  @media (max-width: 767px) {
    .public-professional-directory__visual {
      aspect-ratio: 4/3;
    }
    .public-professional-directory__intro {
      grid-template-columns: 1fr;
      gap: var(--spacing-2xl);
      margin-top: var(--spacing-4xl);
      padding-bottom: var(--spacing-4xl);
    }
    .public-professional-directory__intro-copy {
      gap: var(--spacing-2xl);
    }
    .public-professional-directory__lead, .public-professional-directory__doctors {
      margin-top: var(--spacing-4xl);
    }
    .public-professional-directory__selector {
      gap: var(--spacing-3xl);
    }
    .public-professional-directory__profiles {
      margin-top: var(--spacing-3xl);
    }
    .public-professional-directory__groups {
      margin-top: var(--spacing-5xl);
    }
  }
  .public-professional-group__head {
    padding-bottom: var(--public-space-md);
    border-bottom: 1px solid var(--public-line-strong);
  }
  .public-professional-group__head h2 {
    margin: 0;
  }
  .public-professional-group__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--public-space-2xl) var(--public-space-lg);
    margin-top: var(--public-space-xl);
  }
  @media (max-width: 1279px) {
    .public-professional-group__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px) {
    .public-professional-group__head {
      padding-bottom: var(--public-space-md);
    }
    .public-professional-group__grid {
      grid-template-columns: 1fr;
      gap: var(--public-space-2xl);
      margin-top: var(--public-space-lg);
    }
  }
  .public-profile-page {
    min-height: 0;
  }
  .public-professional-detail {
    position: relative;
    min-height: 0;
    color: var(--public-ink);
    background: var(--public-white);
  }
  .public-professional-detail.no-section-lg {
    padding-top: calc(var(--public-header-height) + var(--section-sm));
    padding-bottom: var(--section-lg);
  }
  .public-professional-detail__rail {
    position: absolute;
    z-index: 2;
    top: calc(var(--public-header-height) + var(--section-sm));
    right: 0;
    width: 0.7rem;
    height: 18rem;
    background: var(--public-blue);
  }
  .public-professional-detail__back {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    min-height: 5.2rem;
    padding: 0 2rem;
    color: var(--public-ink);
    border: 1px solid var(--public-line);
    border-radius: 0.4rem;
    transition: color 0.2s ease, border-color 0.2s ease;
  }
  .public-professional-detail__back:hover, .public-professional-detail__back:focus-visible {
    color: var(--public-blue);
    border-color: var(--public-blue);
  }
  .public-professional-detail__grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(28rem, 44rem) minmax(0, 66rem) 14rem;
    gap: 0 min(4vw, 5.6rem);
    align-items: start;
    margin-top: var(--public-space-2xl);
  }
  .public-professional-detail__profile {
    align-self: start;
    position: sticky;
    top: calc(var(--public-header-height) + var(--public-space-lg));
  }
  .public-professional-detail__photo {
    width: 100%;
    aspect-ratio: 4/5;
    overflow: hidden;
    border-radius: var(--public-radius-sm);
    background: var(--public-blue-soft);
  }
  .public-professional-detail__photo img, .public-professional-detail__portrait-fallback {
    display: block;
    width: 100%;
    height: 100%;
  }
  .public-professional-detail__photo img {
    object-fit: cover;
    object-position: center top;
  }
  .public-professional-detail__portrait-fallback {
    background-image: url("/assets/images/professional/fallback-portraits.png");
    background-repeat: no-repeat;
    background-size: 600% 400%;
    background-position: 60% 33.333%;
  }
  .public-professional-detail__identity {
    display: grid;
    gap: var(--public-space-xs);
    margin-top: var(--public-space-lg);
  }
  .public-professional-detail__identity h1 {
    margin: 0;
  }
  .public-professional-detail__identity p {
    margin: 0;
  }
  .public-professional-detail__bio {
    margin: var(--public-space-md) 0 0;
    padding-left: var(--public-space-sm);
    border-left: 0.4rem solid var(--public-blue);
    color: var(--public-muted);
  }
  .public-professional-detail__contacts {
    display: grid;
    gap: var(--public-space-xs);
    margin-top: var(--public-space-lg);
  }
  .public-professional-detail__contacts a {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    width: fit-content;
    color: var(--public-ink);
  }
  .public-professional-detail__contact-icon {
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    width: 2.2rem;
    height: 2.2rem;
    color: var(--public-blue);
    font-size: var(--body-sm-fs);
  }
  .public-professional-detail__profile-tags, .public-professional-detail__expertise {
    display: flex;
    flex-wrap: wrap;
    gap: var(--public-space-2xs);
    margin: var(--public-space-sm) 0 0;
    padding: 0;
    list-style: none;
  }
  .public-professional-detail__profile-tags li, .public-professional-detail__expertise li {
    display: inline-flex;
    align-items: center;
    min-height: 3.2rem;
    padding: 0 var(--public-space-sm);
    color: var(--public-ink);
    border: 1px solid color-mix(in srgb, var(--public-blue) 38%, var(--public-line));
    border-radius: var(--public-radius-sm);
    background: color-mix(in srgb, var(--public-blue) 5%, var(--public-white));
  }
  .public-professional-detail__section {
    display: grid;
    grid-template-columns: minmax(12rem, 18rem) minmax(0, 1fr);
    gap: var(--public-space-lg);
    align-items: start;
    padding-top: 0;
    padding-bottom: var(--public-space-2xl);
  }
  .public-professional-detail__section + .public-professional-detail__section {
    padding-top: var(--public-space-2xl);
    border-top: 1px solid var(--public-line);
  }
  .public-professional-detail__section h2 {
    align-self: start;
    width: fit-content;
    margin: 0;
    padding-left: var(--public-space-sm);
    border-left: 0.4rem solid var(--public-blue);
  }
  .public-professional-detail__bullets {
    display: grid;
    gap: var(--public-space-sm);
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .public-professional-detail__bullets li {
    position: relative;
    padding-left: 1.4rem;
  }
  .public-professional-detail__bullets li::before {
    content: "";
    position: absolute;
    top: 0.72em;
    left: 0;
    width: 0.3rem;
    height: 0.3rem;
    border-radius: 50%;
    background: currentColor;
  }
  .public-professional-detail__expertise {
    margin-top: 0;
  }
  .public-professional-detail__index {
    position: sticky;
    top: calc(var(--public-header-height) + var(--public-space-lg));
    align-self: start;
    justify-self: end;
    z-index: 2;
    width: 14rem;
    height: max-content;
    padding-top: var(--public-space-sm);
  }
  @media (max-width: 1500px) {
    .public-professional-detail__grid {
      grid-template-columns: minmax(26rem, 40rem) minmax(0, 1fr) 14rem;
      gap: min(4vw, 4.8rem);
    }
  }
  @media (max-width: 1180px) {
    .public-professional-detail__grid {
      grid-template-columns: minmax(24rem, 38rem) minmax(0, 1fr);
    }
    .public-professional-detail__index {
      display: none;
    }
  }
  @media (max-width: 1024px) {
    .public-professional-detail {
      min-height: auto;
    }
    .public-professional-detail.no-section-lg {
      padding-top: calc(var(--public-header-height) + var(--section-xs));
    }
    .public-professional-detail__grid {
      grid-template-columns: minmax(0, 42rem) minmax(0, 1fr);
      gap: 6rem;
    }
    .public-professional-detail__photo {
      aspect-ratio: 0.947;
    }
    .public-professional-detail__profile {
      position: static;
    }
    .public-professional-detail__identity {
      align-items: flex-start;
    }
    .public-professional-detail__contacts {
      margin-top: var(--public-space-xl);
    }
    .public-professional-detail__section {
      grid-template-columns: 1fr;
      gap: var(--public-space-lg);
    }
  }
  @media (max-width: 767px) {
    .public-professional-detail.no-section-lg {
      padding-top: calc(var(--public-header-height) + var(--section-xs));
    }
    .public-professional-detail__rail {
      top: calc(var(--public-header-height) + var(--section-xs));
      height: 12rem;
      width: 0.4rem;
    }
    .public-professional-detail__back {
      min-height: 4.4rem;
      padding: 0 1.5rem;
    }
    .public-professional-detail__grid {
      display: block;
      margin-top: 3rem;
    }
    .public-professional-detail__photo {
      max-height: 48rem;
    }
    .public-professional-detail__contacts {
      margin-top: var(--public-space-xl);
    }
    .public-professional-detail__content {
      margin-top: var(--section-sm);
    }
    .public-professional-detail__section {
      padding-top: 0;
      padding-bottom: var(--public-space-2xl);
    }
  }
  .public-insight-card {
    position: relative;
  }
  .public-insight-card__surface {
    display: block;
    color: inherit;
  }
  .public-insight-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--public-space-md);
  }
  .public-insight-card__category, .public-insight-card__title, .public-insight-card__excerpt {
    margin: 0;
  }
  .public-insight-card__category {
    color: var(--public-ink);
  }
  .public-insight-card__meta time, .public-insight-card__date {
    color: var(--public-muted);
    white-space: nowrap;
  }
  .public-insight-card__title {
    color: var(--public-navy-deep);
    transition: color var(--public-duration) var(--public-ease);
  }
  .public-insight-card__excerpt {
    color: var(--public-muted);
  }
  .public-insight-card__tags, .public-insight-card__link, .public-insight-card__arrow {
    display: none;
  }
  .public-insight-card--featured {
    min-height: 22rem;
    background: var(--public-white);
    border-top: 1px solid var(--public-line-strong);
  }
  .public-insight-card--featured .public-insight-card__surface {
    display: grid;
    min-height: inherit;
    padding: var(--public-space-xl);
  }
  .public-insight-card--featured .public-insight-card__title {
    align-self: start;
    margin-top: var(--public-space-xl);
  }
  .public-insight-card--featured .public-insight-card__arrow {
    display: inline-flex;
  }
  .public-insight-card--row, .public-insight-card--event {
    border-bottom: 1px solid var(--public-line);
  }
  .public-insight-card--row .public-insight-card__surface, .public-insight-card--event .public-insight-card__surface {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--public-space-xs);
    min-height: 12rem;
    padding-block: var(--public-space-md);
  }
  .public-insight-card--row.public-insight-card--with-thumbnail .public-insight-card__surface {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--public-space-xl);
    align-items: stretch;
  }
  .public-insight-card--row.public-insight-card--with-thumbnail .public-insight-card__thumbnail {
    grid-column: span 4;
  }
  .public-insight-card--row.public-insight-card--with-thumbnail .public-insight-card__body {
    grid-column: span 8;
    align-content: center;
  }
  .public-insight-card--row .public-insight-card__meta, .public-insight-card--event .public-insight-card__meta {
    justify-content: flex-start;
    gap: var(--public-space-md);
  }
  .public-insight-card--event .public-insight-card__category {
    color: var(--public-ink);
  }
  .public-insight-card__thumbnail {
    display: block;
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: var(--public-surface);
    text-decoration: none;
  }
  .public-insight-card__thumbnail > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .public-insight-card__body {
    display: grid;
    min-width: 0;
    gap: var(--public-space-xs);
  }
  .public-insight-card__headline {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: var(--public-space-md);
    min-width: 0;
  }
  .public-insight-card__title a {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    text-decoration: none;
  }
  .public-insight-card__category-link {
    display: inline-flex;
    align-items: center;
    min-height: var(--public-control-sm);
    padding-inline: var(--public-space-xs);
    color: var(--public-ink);
    border: 1px solid var(--public-line);
    text-decoration: none;
    white-space: nowrap;
  }
  .public-insight-card__category-link:hover, .public-insight-card__category-link:focus-visible {
    color: var(--public-white);
    background: var(--public-navy-deep);
    outline: none;
  }
  .public-insight-card__taxonomies {
    display: flex;
    flex-wrap: wrap;
    gap: var(--public-space-2xs);
    color: var(--public-muted-soft);
  }
  .public-insight-card__taxonomies a {
    color: inherit;
    text-decoration: none;
  }
  .public-insight-card__taxonomies a + a::before {
    margin-right: var(--public-space-2xs);
    content: "-";
  }
  .public-insight-card--row .public-insight-card__excerpt, .public-insight-card--event .public-insight-card__excerpt {
    display: none;
  }
  .public-insight-card--blog, .public-insight-card__blog-link {
    height: 100%;
  }
  .public-insight-card__blog-link {
    display: grid;
    grid-template-rows: auto 1fr;
    overflow: hidden;
    color: inherit;
    background: var(--public-white);
    border: 1px solid var(--public-line-strong);
    border-radius: 0;
    text-decoration: none;
    transition: border-color var(--public-duration) var(--public-ease), background var(--public-duration) var(--public-ease);
    min-height: 32rem;
  }
  .public-insight-card__blog-media {
    position: relative;
    display: block;
    aspect-ratio: 16/10;
    overflow: hidden;
    background: var(--public-surface);
    border-bottom: 1px solid var(--public-line-strong);
  }
  .public-insight-card__blog-media > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    background: var(--public-surface);
  }
  .public-insight-card__blog-body {
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    gap: var(--public-space-md);
    padding: var(--public-space-xl);
  }
  .public-insight-card__blog-meta, .public-insight-card__blog-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--public-space-md);
  }
  .public-insight-card__blog-meta, .public-insight-card__blog-excerpt {
    color: var(--public-muted);
  }
  .public-insight-card__blog-category {
    color: var(--public-ink);
  }
  .public-insight-card__blog-title {
    color: var(--public-navy-deep);
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .public-insight-card__blog-bottom {
    align-self: end;
    padding-top: var(--public-space-lg);
    color: var(--public-navy-deep);
    border-top: 1px solid var(--public-line);
  }
  .public-insight-card__blog-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--public-control-sm);
    height: var(--public-control-sm);
    color: var(--public-white);
    background: var(--public-navy-deep);
  }
  .public-insight-card__blog-link:hover, .public-insight-card__blog-link:focus-visible {
    background: var(--public-surface);
    border-color: var(--public-navy-deep);
    outline: none;
  }
  .public-insight-card__blog-link:hover .public-insight-card__blog-arrow, .public-insight-card__blog-link:focus-visible .public-insight-card__blog-arrow {
    background: var(--public-ink);
  }
  .public-insight-card--blog-featured {
    height: 100%;
  }
  .public-insight-card--blog .public-insight-card__blog-link, .public-insight-card--blog-featured .public-insight-card__blog-link {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: 1fr;
    min-height: 28rem;
    border: 0;
    border-right: 1px solid var(--public-line-strong);
    border-bottom: 1px solid var(--public-line-strong);
  }
  .public-insight-card--blog .public-insight-card__blog-media, .public-insight-card--blog-featured .public-insight-card__blog-media {
    min-height: 100%;
    aspect-ratio: auto;
    border-right: 1px solid var(--public-line-strong);
    border-bottom: 0;
  }
  .public-insight-card--blog-featured .public-insight-card__blog-link {
    min-height: 42rem;
  }
  .public-insight-card--blog-featured .public-insight-card__blog-body {
    padding: var(--public-space-3xl);
  }
  @media (max-width: 767px) {
    .public-insight-card--row.public-insight-card--with-thumbnail .public-insight-card__surface {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--public-space-md);
    }
    .public-insight-card--row.public-insight-card--with-thumbnail .public-insight-card__thumbnail, .public-insight-card--row.public-insight-card--with-thumbnail .public-insight-card__body {
      grid-column: auto;
    }
    .public-insight-card--blog .public-insight-card__blog-link, .public-insight-card--blog-featured .public-insight-card__blog-link {
      grid-template-columns: 1fr;
      min-height: 0;
    }
    .public-insight-card--blog .public-insight-card__blog-media, .public-insight-card--blog-featured .public-insight-card__blog-media {
      min-height: 0;
      aspect-ratio: 16/10;
      border-right: 0;
      border-bottom: 1px solid var(--public-line-strong);
    }
    .public-insight-card--blog-featured .public-insight-card__blog-body {
      padding: var(--public-space-xl);
    }
  }
  .public-insight-directory__featured-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--public-space-md);
  }
  .public-insight-directory__rows {
    border-top: 1px solid var(--public-line);
  }
  /* ARTICLES — clean black-line editorial directory */
  .public-blog {
    padding-top: var(--public-header-height);
    color: var(--public-ink);
    background: var(--public-white);
  }
  .public-blog__intro {
    background: var(--public-white);
    border-bottom: 1px solid var(--public-line-strong);
  }
  .public-blog__intro .public-blog__shell {
    display: grid;
    align-items: end;
    min-height: 42rem;
    padding-block: var(--public-space-page) var(--public-space-3xl);
  }
  .public-blog__intro-copy {
    display: grid;
    gap: var(--public-space-lg);
    max-width: 82rem;
  }
  .public-blog__eyebrow, .public-blog__title, .public-blog__lead, .public-blog__sidebar-label, .public-blog__archive-kicker {
    margin: 0;
  }
  .public-blog__eyebrow, .public-blog__archive-kicker, .public-blog__sidebar-label {
    color: var(--public-ink);
    letter-spacing: 0.08em;
  }
  .public-blog__title {
    max-width: 82rem;
    color: var(--public-navy-deep);
  }
  .public-blog__lead {
    color: var(--public-muted);
  }
  .public-blog__directory {
    padding-block: var(--public-space-page) calc(var(--public-space-page) + var(--public-space-3xl));
  }
  .public-blog__content {
    display: grid;
    grid-template-columns: minmax(16rem, 20rem) minmax(0, 1fr);
    gap: clamp(var(--public-space-2xl), 7vw, var(--public-space-3xl));
    align-items: start;
  }
  .public-blog__sidebar {
    position: sticky;
    top: calc(var(--public-header-height) + var(--public-space-xl));
    display: grid;
    gap: var(--public-space-lg);
    padding-top: var(--public-space-md);
    border-top: 1px solid var(--public-line-strong);
  }
  .public-blog__topics {
    display: grid;
    border-top: 1px solid var(--public-line);
    border-bottom: 1px solid var(--public-line);
  }
  .public-blog__topic {
    display: flex;
    align-items: center;
    min-height: var(--public-control-sm);
    padding-inline: var(--public-space-xs);
    color: var(--public-muted);
    border-bottom: 1px solid var(--public-line);
    text-decoration: none;
    transition: color var(--public-duration) var(--public-ease), background var(--public-duration) var(--public-ease);
  }
  .public-blog__topic:last-child {
    border-bottom: 0;
  }
  .public-blog__topic:hover, .public-blog__topic:focus-visible, .public-blog__topic.is-active {
    color: var(--public-navy-deep);
    background: var(--public-surface);
    outline: none;
  }
  .public-blog__topic.is-active {
    border-left: 3px solid var(--public-navy-deep);
  }
  .public-blog__results {
    min-width: 0;
  }
  .public-blog__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--public-space-xl);
    margin-top: 0;
  }
  .public-blog__grid-item {
    min-width: 0;
  }
  .public-blog .public-pagination {
    margin-top: var(--public-space-page);
  }
  .public-blog .empty-state {
    min-height: 24rem;
    background: var(--public-surface);
    border: 1px solid var(--public-line);
    border-radius: 0;
  }
  .public-blog__featured, .public-blog__directory {
    border-bottom: 1px solid var(--public-line-strong);
  }
  .public-blog__featured .public-blog__shell, .public-blog__directory .public-blog__shell {
    padding-block: var(--public-space-page);
  }
  .public-blog__section-head {
    display: grid;
    gap: var(--public-space-md);
  }
  .public-blog__section-head h2 {
    margin: 0;
    color: var(--public-navy-deep);
  }
  .public-blog__featured-slider {
    position: relative;
    margin-top: var(--public-space-xl);
    overflow: hidden;
    border: 1px solid var(--public-line-strong);
  }
  .public-blog__featured-controls {
    position: absolute;
    right: var(--public-space-xl);
    bottom: var(--public-space-xl);
    z-index: 2;
    display: flex;
    align-items: center;
    gap: var(--public-space-xs);
  }
  .public-blog__slider-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--public-control-sm);
    height: var(--public-control-sm);
    color: var(--public-white);
    background: var(--public-navy-deep);
    border: 1px solid var(--public-navy-deep);
  }
  .public-blog__slider-button:hover, .public-blog__slider-button:focus-visible {
    color: var(--public-navy-deep);
    background: var(--public-white);
    outline: none;
  }
  .public-blog__slider-pagination {
    min-width: 5rem;
    color: var(--public-ink);
    text-align: center;
  }
  .public-blog__directory-tools {
    display: grid;
    gap: var(--public-space-xl);
    padding-bottom: var(--public-space-xl);
  }
  .public-blog__directory-search-row {
    display: flex;
    justify-content: center;
  }
  .public-blog__directory-filter-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--public-space-xl);
  }
  .public-blog__directory-tools .public-filter-tabs {
    margin: 0;
  }
  .public-blog__sort-form {
    min-width: 13rem;
  }
  .public-blog__results {
    padding-top: var(--public-space-xl);
  }
  .public-blog__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid var(--public-line-strong);
    border-left: 1px solid var(--public-line-strong);
  }
  .public-blog__grid-item {
    grid-column: span 2;
  }
  @media (max-width: 1024px) {
    .public-blog__content {
      grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
      gap: var(--public-space-xl);
    }
    .public-blog__directory-filter-row {
      align-items: start;
      flex-direction: column;
    }
    .public-blog__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px) {
    .public-blog__intro .public-blog__shell {
      min-height: 0;
      padding-block: var(--public-space-page) var(--public-space-2xl);
    }
    .public-blog__content {
      grid-template-columns: 1fr;
      gap: var(--public-space-3xl);
    }
    .public-blog__sidebar {
      position: static;
    }
    .public-blog__topics {
      display: flex;
      overflow-x: auto;
      border: 0;
      scrollbar-width: none;
    }
    .public-blog__topics::-webkit-scrollbar {
      display: none;
    }
    .public-blog__topic {
      flex: 0 0 auto;
      min-height: var(--public-control-sm);
      padding-inline: var(--public-space-md);
      border: 1px solid var(--public-line);
      border-right: 0;
    }
    .public-blog__topic:last-child {
      border-right: 1px solid var(--public-line);
    }
    .public-blog__topic.is-active {
      border-left: 3px solid var(--public-navy-deep);
    }
    .public-blog__grid {
      grid-template-columns: 1fr;
    }
    .public-blog__featured-controls {
      right: var(--public-space-md);
      bottom: var(--public-space-md);
    }
    .public-blog__directory-filter-row {
      align-items: stretch;
      gap: var(--public-space-md);
    }
    .public-blog__directory-tools .public-filter-tabs {
      width: 100%;
      overflow-x: auto;
    }
    .public-blog__sort-form {
      width: 100%;
      min-width: 0;
    }
    .public-blog__sort-select {
      width: 100%;
    }
    .public-blog__grid {
      grid-template-columns: 1fr;
    }
    .public-blog__grid-item {
      grid-column: span 1;
    }
  }
  .public-event-directory > .public-practice-directory__body {
    display: flow-root;
  }
  .public-event-directory .public-practice-directory__categories {
    position: relative;
    z-index: 1;
    background: var(--public-white);
  }
  html body .public-event-directory .public-practice-directory__categories.no-container-xl {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline: 0;
  }
  .public-event-directory.is-event-directory-loading {
    cursor: progress;
  }
  .public-event-detail {
    padding-top: var(--public-header-height);
    color: var(--public-ink);
    background: var(--public-white);
  }
  .public-event-detail__event-tabs {
    position: sticky;
    top: var(--public-header-height);
    z-index: calc(var(--public-z-header) - 1);
    border-bottom: 1px solid var(--public-line);
    background: var(--public-white);
  }
  .public-event-detail__event-tabs-track {
    display: flex;
    justify-content: safe center;
    gap: var(--public-space-xs);
    padding-block: var(--public-space-sm);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
  }
  .public-event-detail__event-tabs-track::-webkit-scrollbar {
    display: none;
  }
  .public-event-detail__event-tab {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    max-width: 22rem;
    min-height: 3.2rem;
    padding-inline: var(--public-space-md);
    overflow: hidden;
    scroll-snap-align: start;
    color: var(--public-muted);
    text-overflow: ellipsis;
    white-space: nowrap;
    text-decoration: none;
    background: var(--public-surface-subtle);
    border: 1px solid var(--public-line);
    border-radius: 999px;
  }
  .public-event-detail__event-tab:hover, .public-event-detail__event-tab:focus-visible {
    color: var(--public-ink);
    border-color: var(--public-ink);
  }
  .public-event-detail__event-tab.is-active {
    color: var(--public-white);
    background: var(--public-blue);
    border-color: var(--public-blue);
  }
  .public-event-detail__content {
    width: 100%;
  }
  .public-event-detail__hero {
    padding-bottom: var(--public-space-xl);
    border-bottom: 1px solid var(--public-line);
  }
  .public-event-detail__meta {
    display: flex;
    justify-content: space-between;
    gap: var(--public-space-lg);
    color: var(--public-blue);
  }
  .public-event-detail__hero h1 {
    margin: var(--public-space-sm) 0 0;
  }
  .public-event-detail__summary {
    max-width: 68rem;
    margin: var(--public-space-lg) 0 0;
    color: var(--public-muted);
  }
  .public-event-detail__prose {
    max-width: 68rem;
    margin-top: var(--public-space-sm);
    color: var(--public-muted);
  }
  .public-event-detail__prose p {
    margin: 0;
  }
  .public-event-detail__prose p + p {
    margin-top: var(--public-space-2xs);
  }
  .public-event-detail__facts {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--public-space-lg);
    margin-top: var(--public-space-xl);
  }
  .public-event-detail__products {
    padding-top: var(--public-space-xl);
  }
  .public-event-detail__filters .public-filter-tabs {
    justify-content: flex-start;
  }
  .public-event-detail__section-head {
    border-bottom: 1px solid var(--public-line);
  }
  .public-event-detail__section-head h2 {
    margin: 0;
  }
  .public-event-detail__product-list {
    display: grid;
    gap: var(--public-space-sm);
  }
  .public-event-detail.is-event-detail-loading {
    cursor: progress;
  }
  @media (max-width: 767px) {
    .public-event-detail__event-tabs-track {
      justify-content: flex-start;
      gap: var(--public-space-2xs);
      padding: var(--public-space-2xs) var(--public-shell-gutter);
      scroll-padding-inline: var(--gutter);
    }
    .public-event-detail__event-tab {
      min-height: var(--public-filter-tab-mobile-height);
      padding-inline: var(--public-space-xs);
    }
    .public-event-detail__content {
      max-width: none;
    }
    .public-event-detail__facts {
      align-items: flex-start;
      flex-direction: column;
      gap: var(--public-space-sm);
    }
  }
  .public-event-page ~ .public-footer.site-footer {
    background: var(--public-navy-deep);
  }
  .public-event-page ~ .no-floating-cta .no-floating-cta__btn--tel, .public-event-page ~ .no-floating-cta .no-floating-cta__btn--naverblog, .public-event-page ~ .no-floating-cta .no-floating-cta__btn--top {
    display: none;
  }
  .public-event-page ~ .no-floating-cta .no-floating-cta__btn--instagram {
    order: 1;
  }
  .public-event-page ~ .no-floating-cta .no-floating-cta__btn--youtube {
    order: 2;
  }
  .public-event-page ~ .no-floating-cta .no-floating-cta__btn--kakao {
    order: 3;
  }
  @media (max-width: 767px) {
    .public-event-page ~ .no-floating-cta {
      display: none;
    }
  }
  .public-article-detail {
    padding-top: calc(var(--public-header-height) + var(--public-space-page));
    padding-bottom: var(--public-space-page);
    color: var(--public-ink);
    background: var(--public-white);
  }
  .public-article-detail--preview {
    padding-top: var(--public-space-page);
  }
  .public-article-detail__inner.no-container-xl {
    width: min(100%, 80rem);
  }
  .public-article-detail__hero {
    aspect-ratio: 1;
    margin: 0 0 var(--public-space-xl);
    overflow: hidden;
    background: var(--public-surface);
  }
  .public-article-detail__hero .no-auto-cover__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .public-article-detail__header {
    padding-bottom: var(--public-space-xl);
    border-bottom: 1px solid var(--public-line);
  }
  .public-article-detail__header h1, .public-article-detail__header p {
    margin-inline: 0;
  }
  .public-article-detail__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--public-space-2xs);
    margin-top: var(--public-space-sm);
    color: var(--public-muted);
  }
  .public-article-detail__excerpt {
    margin-top: var(--public-space-md);
    color: var(--public-muted);
  }
  .public-article-detail__content {
    padding-block: var(--public-space-2xl) var(--public-space-page);
    color: var(--public-ink);
  }
  .public-article-detail__content > :first-child {
    margin-top: 0;
  }
  .public-article-detail__content > :last-child {
    margin-bottom: 0;
  }
  .public-article-detail__content h2, .public-article-detail__content h3, .public-article-detail__content h4 {
    margin: var(--public-space-2xl) 0 var(--public-space-md);
    color: var(--public-ink);
  }
  .public-article-detail__content h2 {
    font-size: var(--heading-xs-fs);
    line-height: var(--heading-xs-lh);
  }
  .public-article-detail__content h3, .public-article-detail__content h4 {
    font-size: var(--body-lg-fs);
    line-height: var(--body-lg-lh);
  }
  .public-article-detail__content p, .public-article-detail__content ul, .public-article-detail__content ol, .public-article-detail__content blockquote, .public-article-detail__content figure, .public-article-detail__content table {
    margin: 0 0 var(--public-space-md);
  }
  .public-article-detail__content ul, .public-article-detail__content ol {
    padding-left: var(--public-space-lg);
  }
  .public-article-detail__content img {
    display: block;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
  }
  .public-article-detail__content table {
    width: 100%;
    border-collapse: collapse;
  }
  .public-article-detail__content th, .public-article-detail__content td {
    padding: var(--public-space-xs);
    border: 1px solid var(--public-line);
    text-align: left;
    vertical-align: top;
  }
  .public-article-detail__content blockquote {
    padding-left: var(--public-space-md);
    color: var(--public-muted);
    border-left: 1px solid var(--public-ink);
  }
  .public-article-detail__navigation {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--public-space-xs);
    padding-top: var(--public-space-xl);
    border-top: 1px solid var(--public-line);
  }
  .public-article-detail__navigation .public-button {
    width: 100%;
  }
  .public-article-detail__related {
    margin-top: var(--public-space-page);
    padding-top: var(--public-space-xl);
    border-top: 1px solid var(--public-ink);
  }
  .public-article-detail__related-list {
    margin-top: var(--public-space-md);
  }
  .public-article-detail__related-list .public-insight-card--row {
    grid-template-columns: minmax(18rem, 36%) minmax(0, 1fr);
  }
  @media (max-width: 767px) {
    .public-article-detail {
      padding-top: calc(var(--public-header-height) + var(--public-space-xl));
      padding-bottom: var(--public-space-xl);
    }
    .public-article-detail--preview {
      padding-top: var(--public-space-xl);
    }
    .public-article-detail__hero {
      margin-bottom: var(--public-space-md);
    }
    .public-article-detail__header {
      padding-bottom: var(--public-space-md);
    }
    .public-article-detail__content {
      padding-block: var(--public-space-xl) var(--public-space-2xl);
      overflow-x: auto;
    }
    .public-article-detail__navigation {
      gap: var(--public-space-2xs);
    }
    .public-article-detail__navigation .public-button {
      padding-inline: var(--public-space-2xs);
    }
    .public-article-detail__related {
      margin-top: var(--public-space-2xl);
    }
    .public-article-detail__related-list .public-insight-card--row {
      grid-template-columns: 1fr;
    }
  }
  @media (max-width: 767px) {
    .public-article-detail-page ~ .no-floating-cta {
      display: none;
    }
  }
  .public-post-detail {
    padding-top: var(--public-header-height);
    color: var(--public-ink);
    background: var(--public-white);
  }
  .public-post-detail__masthead {
    border-bottom: 1px solid var(--public-line);
    background: var(--public-surface-subtle);
  }
  .public-post-detail__masthead h1, .public-post-detail__masthead p {
    margin: 0;
  }
  .public-post-detail__masthead h1 {
    max-width: 96rem;
    margin-top: 0;
    color: var(--public-navy);
  }
  .public-post-detail__lead {
    max-width: 82rem;
    margin-top: var(--public-space-2xl);
    color: var(--public-muted);
  }
  .public-post-detail__layout {
    display: grid;
    grid-template-columns: minmax(14rem, 18rem) minmax(0, 78rem) minmax(24rem, 30rem);
    align-items: start;
    justify-content: center;
    gap: var(--public-space-3xl);
    padding-block: var(--public-space-page);
  }
  .public-post-detail__meta, .public-post-detail__relations {
    position: sticky;
    top: calc(var(--public-header-height) + var(--public-space-xl));
  }
  .public-post-detail__relations {
    max-height: calc(100vh - var(--public-header-height) - var(--public-space-xl) * 2);
    overflow-y: auto;
    padding-inline-end: var(--public-space-xs);
    scrollbar-width: thin;
    scrollbar-color: var(--public-line-strong) transparent;
  }
  .public-post-detail__facts {
    margin: var(--public-space-xl) 0 0;
    padding-top: var(--public-space-lg);
    border-top: 1px solid var(--public-line);
  }
  .public-post-detail__facts div {
    display: grid;
    gap: var(--public-space-2xs);
    padding-block: var(--public-space-sm);
    border-bottom: 1px solid var(--public-line);
  }
  .public-post-detail__facts dt {
    color: var(--public-muted-soft);
  }
  .public-post-detail__facts dd {
    margin: 0;
    color: var(--public-navy);
  }
  .public-post-detail__media {
    margin: 0 0 var(--public-space-3xl);
    overflow: hidden;
    border-radius: var(--public-radius-md);
    background: var(--public-surface);
  }
  .public-post-detail__media img {
    display: block;
    width: 100%;
    height: auto;
  }
  .public-post-detail__content {
    color: var(--public-ink);
  }
  .public-post-detail__content > :first-child {
    margin-top: 0;
  }
  .public-post-detail__content h2, .public-post-detail__content h3 {
    margin-top: var(--public-space-3xl);
    margin-bottom: var(--public-space-md);
    color: var(--public-navy);
  }
  .public-post-detail__content p, .public-post-detail__content ul, .public-post-detail__content ol, .public-post-detail__content blockquote {
    margin-block: 0 var(--public-space-md);
  }
  .public-post-detail__content img {
    max-width: 100%;
    height: auto;
  }
  .public-post-detail__relation-block + .public-post-detail__relation-block {
    margin-top: var(--public-space-3xl);
  }
  .public-post-detail__relation-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--public-space-md);
    padding-bottom: var(--public-space-sm);
    border-bottom: 1px solid color-mix(in srgb, var(--public-navy) 26%, transparent);
  }
  .public-post-detail__relation-head h2 {
    margin: 0;
    color: var(--public-navy);
  }
  .public-post-detail__practice-list {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .public-post-detail__practice-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--public-space-md);
    min-height: var(--public-control-lg);
    color: var(--public-navy);
    border-bottom: 1px solid var(--public-line);
    text-decoration: none;
    transition: color var(--public-duration) var(--public-ease), padding var(--public-duration) var(--public-ease);
  }
  .public-post-detail__practice-list a:hover, .public-post-detail__practice-list a:focus-visible {
    padding-inline-start: var(--public-space-xs);
    color: var(--public-blue);
    outline: none;
  }
  .public-post-detail__people {
    display: grid;
    gap: var(--public-space-lg);
    margin-top: var(--public-space-lg);
  }
  .public-post-detail__people .public-professional-card__link {
    display: grid;
    grid-template-columns: 7.2rem minmax(0, 1fr);
    align-items: center;
    gap: var(--public-space-md);
  }
  .public-post-detail__people .public-professional-card__photo {
    aspect-ratio: 1;
    min-height: 0;
    border-radius: var(--public-radius-pill);
  }
  .public-post-detail__people .public-professional-card__body {
    padding: 0;
  }
  .public-post-detail__people .public-professional-card__area {
    display: none;
  }
  .public-post-detail__people .public-professional-card__name {
    font-size: var(--body-lg-fs);
    line-height: var(--body-lg-lh);
  }
  .public-post-detail__people .public-professional-card__role {
    display: block;
    margin: var(--public-space-2xs) 0 0;
    color: var(--public-muted);
    text-transform: none;
  }
  @media (max-width: 1180px) {
    .public-post-detail__layout {
      grid-template-columns: 14rem minmax(0, 1fr) 24rem;
      gap: var(--public-space-2xl);
    }
  }
  @media (max-width: 1024px) {
    .public-post-detail__layout {
      grid-template-columns: 14rem minmax(0, 1fr);
    }
    .public-post-detail__relations {
      position: static;
      grid-column: 2;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: var(--public-space-2xl);
      max-height: none;
      overflow: visible;
      padding-inline-end: 0;
    }
    .public-post-detail__relation-block + .public-post-detail__relation-block {
      margin-top: 0;
    }
  }
  @media (max-width: 767px) {
    .public-post-detail__masthead {
      padding-block: var(--public-space-section);
    }
    .public-post-detail__layout {
      display: block;
    }
    .public-post-detail__meta {
      position: static;
      margin-bottom: var(--public-space-2xl);
    }
    .public-post-detail__facts {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .public-post-detail__relations {
      display: block;
      margin-top: var(--public-space-section);
    }
    .public-post-detail__relation-block + .public-post-detail__relation-block {
      margin-top: var(--public-space-3xl);
    }
  }
  .public-faq-directory {
    color: var(--public-ink);
    background: var(--public-white);
  }
  .public-faq-directory__hero {
    text-align: center;
  }
  .public-faq-directory__hero p {
    margin: 0;
    color: var(--public-blue);
  }
  .public-faq-directory__hero h1 {
    margin: 1.5rem 0 0;
    color: var(--public-navy);
  }
  .public-faq-directory__hero span {
    display: block;
    margin-top: 3rem;
    color: #737d85;
  }
  .public-faq-directory__list {
    margin-top: 8.8rem;
    background: #fbfcfc;
  }
  .public-faq-directory details {
    border-bottom: 1px solid #e2e6e8;
  }
  .public-faq-directory summary {
    display: grid;
    grid-template-columns: 3.2rem minmax(0, 1fr) 2rem;
    align-items: center;
    gap: 1rem;
    min-height: 9.8rem;
    padding: 0 3.2rem;
    cursor: pointer;
    list-style: none;
  }
  .public-faq-directory summary::-webkit-details-marker {
    display: none;
  }
  .public-faq-directory__q {
    color: var(--public-blue);
  }
  .public-faq-directory summary i {
    position: relative;
    width: 1.4rem;
    height: 1.4rem;
  }
  .public-faq-directory summary i::before, .public-faq-directory summary i::after {
    content: "";
    position: absolute;
    top: 0.6rem;
    width: 0.8rem;
    height: 1px;
    background: #283238;
    transition: transform 0.2s ease;
  }
  .public-faq-directory summary i::before {
    left: 0;
    transform: rotate(45deg);
  }
  .public-faq-directory summary i::after {
    right: 0;
    transform: rotate(-45deg);
  }
  .public-faq-directory details[open] summary i::before {
    transform: rotate(-45deg);
  }
  .public-faq-directory details[open] summary i::after {
    transform: rotate(45deg);
  }
  .public-faq-directory__answer {
    display: grid;
    grid-template-columns: 3.2rem minmax(0, 1fr);
    gap: 1rem;
    padding: 0 7.5rem 6rem 3.2rem;
  }
  .public-faq-directory__answer > span {
    color: #5f686e;
  }
  .public-faq-directory__answer p {
    margin: 0;
    color: #68727a;
  }
  @media (max-width: 1024px) {
    .public-faq-directory {
      min-height: auto;
    }
  }
  @media (max-width: 767px) {
    .public-faq-directory__hero span {
      max-width: 30rem;
      margin: 2rem auto 0;
    }
    .public-faq-directory__list {
      margin-top: 5rem;
    }
    .public-faq-directory summary {
      grid-template-columns: 2.5rem minmax(0, 1fr) 1.6rem;
      min-height: 8.4rem;
      padding: 0 1.8rem;
    }
    .public-faq-directory__answer {
      grid-template-columns: 2.5rem minmax(0, 1fr);
      padding: 0 1.8rem 4rem;
    }
  }
  .public-search-directory {
    min-height: calc(100svh - var(--public-header-height));
    color: var(--public-navy);
    background: linear-gradient(180deg, #f2f8fb 0, var(--public-white) 44rem);
  }
  .public-search-directory__hero {
    text-align: center;
  }
  .public-search-directory__hero h1 {
    margin: 0;
  }
  .public-search-directory__hero .public-search-form--result {
    margin: 10.3rem auto 0;
  }
  .public-search-directory__hero > p {
    margin: 2rem 0 0;
    color: #4e5961;
  }
  .public-search-directory__hero > p b {
    color: #2689ad;
  }
  .public-search-directory__body {
    margin-top: 12rem;
  }
  .public-search-directory__section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4.2rem;
  }
  .public-search-directory__section-head h2, .public-search-directory__links h2, .public-search-directory__compact h2 {
    margin: 0;
  }
  .public-search-directory__section-head > a, .public-search-directory__more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 12rem;
    height: 5rem;
    color: var(--public-navy);
    border: 1px solid var(--public-navy);
  }
  .public-search-directory__people-viewport {
    overflow: hidden;
  }
  .public-search-directory__people-track {
    display: flex;
    gap: 2.4rem;
    overflow-x: auto;
    scrollbar-width: none;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
  }
  .public-search-directory__people-track::-webkit-scrollbar {
    display: none;
  }
  .public-search-directory__people-track .public-professional-card {
    flex: 0 0 calc((100% - 7.2rem) / 4);
    scroll-snap-align: start;
  }
  .public-search-directory__slider-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 5.8rem;
  }
  .public-search-directory__slider-controls > span {
    width: calc(100% - 17rem);
    height: 2px;
    background: linear-gradient(90deg, var(--public-navy) 0 55%, #d6dce0 55% 100%);
  }
  .public-search-directory__slider-controls div {
    display: flex;
    gap: 1.2rem;
  }
  .public-search-directory__slider-controls button {
    width: 5.5rem;
    height: 5.5rem;
    color: var(--public-navy);
    border: 1px solid #dce1e4;
    border-radius: 50%;
    background: var(--public-white);
    font-size: var(--subtitle-fs);
  }
  .public-search-directory__links {
    margin-top: 14.5rem;
  }
  .public-search-directory__links ul, .public-search-directory__simple-list {
    margin: 4.5rem 0 0;
    padding: 0;
    border-top: 1px solid #6f7c84;
    list-style: none;
  }
  .public-search-directory__links li, .public-search-directory__simple-list li {
    border-bottom: 1px solid #e1e5e8;
  }
  .public-search-directory__links li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    min-height: 9.5rem;
    color: var(--public-navy);
  }
  .public-search-directory__links time {
    color: #a4abb0;
  }
  .public-search-directory__more {
    display: flex;
    width: fit-content;
    margin: 4.5rem auto 0;
  }
  .public-search-directory__empty {
    display: grid;
    place-items: center;
    align-content: center;
    min-height: 42rem;
    padding: 6rem 2rem;
    border: 1px solid var(--public-line);
    border-radius: var(--public-radius-md);
    background: var(--public-surface-subtle);
    text-align: center;
  }
  .public-search-directory__empty p {
    margin: 0;
  }
  .public-search-directory__empty span {
    margin-top: 1rem;
    color: var(--public-muted);
  }
  .public-search-directory__compact + .public-search-directory__compact {
    margin-top: 10rem;
  }
  .public-search-directory__compact .public-professional-grid {
    margin-top: 4rem;
  }
  .public-search-directory__simple-list a {
    display: flex;
    align-items: center;
    min-height: 8rem;
    color: var(--public-navy);
  }
  @media (max-width: 1024px) {
    .public-search-directory {
      min-height: auto;
    }
    .public-search-directory__body {
      margin-top: 9rem;
    }
    .public-search-directory__people-track .public-professional-card {
      flex-basis: calc((100% - 4.8rem) / 3);
    }
  }
  @media (max-width: 767px) {
    .public-search-directory__hero .public-search-form--result {
      margin-top: 6rem;
    }
    .public-search-directory__body {
      margin-top: 7rem;
    }
    .public-search-directory__section-head > a {
      min-width: 9rem;
      height: 4.2rem;
    }
    .public-search-directory__people-track .public-professional-card {
      flex-basis: calc((100% - 1.6rem) / 2);
    }
    .public-search-directory__links {
      margin-top: 10rem;
    }
    .public-search-directory__links ul {
      margin-top: 3rem;
    }
    .public-search-directory__links li a {
      align-items: flex-start;
      flex-direction: column;
      gap: 1rem;
      min-height: 9rem;
      padding: 2rem 0;
    }
  }
  .public-member-auth {
    min-height: calc(100dvh - var(--public-header-height));
    padding-top: calc(var(--public-header-height) + var(--public-space-page));
    padding-block-start: calc(var(--public-header-height) + var(--public-space-page));
    background: var(--public-white);
    color: var(--public-ink);
  }
  .public-member-auth--login, .public-member-auth--signup {
    background: var(--public-surface);
  }
  .public-member-auth.no-section-lg {
    padding-top: calc(var(--public-header-height) + var(--public-space-page));
    padding-block-start: calc(var(--public-header-height) + var(--public-space-page));
  }
  .public-member-auth[hidden], .public-member-auth [hidden] {
    display: none;
  }
  .public-member-auth__shell {
    display: flex;
    justify-content: center;
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
  .public-member-auth__panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: min(100%, var(--public-auth-panel-max));
    padding: var(--public-space-2xl) var(--public-space-3xl);
    border: 1px solid var(--public-line);
    border-top-color: var(--clr-base-black);
    background: var(--public-white);
  }
  .public-member-auth__head {
    margin-bottom: var(--public-space-2xl);
    text-align: center;
  }
  .public-member-auth__brand {
    display: inline-flex;
    margin-bottom: var(--public-space-md);
    padding-bottom: var(--public-space-xs);
    border-bottom: 1px solid var(--clr-base-black);
    color: var(--clr-base-black);
    letter-spacing: 0.12em;
  }
  .public-member-auth__title {
    margin-bottom: var(--public-space-sm);
    font-family: var(--font-heading-family);
    font-weight: var(--font-weight-medium);
  }
  .public-member-auth__desc {
    max-width: 42ch;
    margin-right: auto;
    margin-left: auto;
    color: var(--public-muted);
  }
  .public-member-auth__form {
    display: grid;
    gap: var(--public-space-sm);
  }
  .public-member-auth__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--public-space-sm);
  }
  .public-member-auth__field {
    display: grid;
    gap: var(--public-space-xs);
    color: var(--public-ink);
  }
  .public-member-auth__field > span, .public-member-auth__captcha > span {
    color: var(--public-muted);
  }
  .public-member-auth__field input:not([type=checkbox]), .public-member-auth__field select, .public-member-auth__input {
    appearance: none;
    width: 100%;
    min-height: var(--public-control-md);
    padding: 0 var(--public-space-md);
    border: 1px solid var(--public-line);
    background: var(--public-white);
    color: var(--public-ink);
    transition: border-color var(--tran-15), box-shadow var(--tran-15);
  }
  .public-member-auth__field input:disabled, .public-member-auth__field select:disabled, .public-member-auth__field textarea:disabled, .public-member-auth__input:disabled {
    background: var(--public-surface-subtle);
    color: var(--public-muted);
    cursor: not-allowed;
  }
  .public-member-auth__field input:focus-visible, .public-member-auth__field select:focus-visible, .public-member-auth__input:focus-visible {
    border-color: var(--public-blue);
    box-shadow: 0 0 0 2px var(--public-blue-soft);
    outline: 0;
  }
  .public-member-auth__field small {
    color: var(--public-muted);
  }
  .public-member-auth__password {
    position: relative;
  }
  .public-member-auth__password-toggle {
    position: absolute;
    top: 50%;
    right: var(--public-space-sm);
    display: grid;
    width: var(--public-control-sm);
    height: var(--public-control-sm);
    place-items: center;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    color: var(--public-muted);
    cursor: pointer;
  }
  .public-member-auth__password-toggle:disabled {
    cursor: not-allowed;
    opacity: 0.5;
  }
  .public-member-auth__choices {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--public-space-sm);
  }
  .public-member-auth__choice {
    display: inline-flex;
    align-items: center;
    gap: var(--public-space-xs);
    color: var(--public-muted);
    cursor: pointer;
  }
  .public-member-auth__choice input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
  }
  .public-member-auth__choice .public-form-field__checkbox-mark {
    display: grid;
    width: var(--public-check-size);
    height: var(--public-check-size);
    flex: 0 0 var(--public-check-size);
    place-items: center;
    border: 1px solid var(--public-line);
    border-radius: 0;
    background: var(--public-white);
    color: transparent;
    transition: color var(--public-duration) var(--public-ease), border-color var(--public-duration) var(--public-ease), background var(--public-duration) var(--public-ease), box-shadow var(--public-duration) var(--public-ease);
  }
  .public-member-auth__choice .public-form-field__checkbox-mark::after {
    width: calc(var(--public-check-size) * 0.25);
    height: calc(var(--public-check-size) * 0.5);
    border: solid currentColor;
    border-width: 0 2px 2px 0;
    content: "";
    transform: translateY(-8%) rotate(45deg);
  }
  .public-member-auth__choice:hover .public-form-field__checkbox-mark, .public-member-auth__choice input:focus-visible + .public-form-field__checkbox-mark {
    border-color: var(--public-blue);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--public-blue) 16%, transparent);
    outline: 0;
  }
  .public-member-auth__choice input:checked + .public-form-field__checkbox-mark, .public-member-auth__choice:has(input:checked) .public-form-field__checkbox-mark {
    border-color: var(--public-blue);
    background: var(--public-blue);
    background-color: var(--public-blue);
    color: var(--public-white);
  }
  .public-member-auth__choice input:disabled + .public-form-field__checkbox-mark {
    border-color: var(--public-line);
    background-color: var(--public-surface-subtle);
    color: color-mix(in srgb, var(--public-muted) 55%, transparent);
    cursor: not-allowed;
  }
  .public-member-auth__choice:has(input:disabled) {
    cursor: not-allowed;
    opacity: 0.72;
  }
  .public-member-auth__submit.public-button, .public-member-auth__social.public-button {
    width: 100%;
    justify-content: center;
  }
  .public-member-auth--login .public-member-auth__submit.public-button, .public-member-auth--signup .public-member-auth__submit.public-button {
    color: var(--public-ink);
  }
  .public-member-auth--login .public-member-auth__submit.public-button:hover, .public-member-auth--login .public-member-auth__submit.public-button:focus-visible, .public-member-auth--signup .public-member-auth__submit.public-button:hover, .public-member-auth--signup .public-member-auth__submit.public-button:focus-visible {
    color: var(--public-ink);
  }
  .public-member-auth__submit.public-button[aria-busy=true], .public-member-auth__logout-button.public-button[aria-busy=true] {
    pointer-events: none;
    opacity: 1;
  }
  .public-member-auth__social-list {
    display: grid;
    gap: var(--public-space-sm);
  }
  .public-member-auth__social.public-button {
    position: relative;
  }
  .public-member-auth__social .public-button__icon {
    position: absolute;
    left: var(--public-space-md);
    width: var(--public-social-icon-size);
    height: var(--public-social-icon-size);
    justify-content: center;
  }
  .public-member-auth__social .public-button__icon img {
    display: block;
    width: 100%;
    height: 100%;
  }
  .public-member-auth__social[aria-busy=true] {
    pointer-events: none;
    opacity: 1;
  }
  .public-member-auth__social.is-complete.public-button {
    color: var(--public-auth-success);
  }
  .public-member-auth__social--google.public-button {
    color: var(--public-ink);
  }
  .public-member-auth__social--google.public-button:hover, .public-member-auth__social--google.public-button:focus-visible {
    color: var(--public-ink);
  }
  .public-member-auth__social--kakao.public-button {
    color: var(--public-ink);
  }
  .public-member-auth__social--kakao.public-button:hover, .public-member-auth__social--kakao.public-button:focus-visible {
    color: var(--public-ink);
  }
  .public-member-auth__social--naver.public-button {
    color: var(--public-ink);
  }
  .public-member-auth__social--naver.public-button:hover, .public-member-auth__social--naver.public-button:focus-visible {
    color: var(--public-ink);
  }
  .public-member-auth__divider {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: var(--public-space-sm);
    margin: var(--public-space-lg) 0;
    color: var(--public-muted-soft);
  }
  .public-member-auth__divider::before, .public-member-auth__divider::after {
    height: 1px;
    background: var(--public-line);
    content: "";
  }
  .public-member-auth__links, .public-member-auth__account-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--public-space-md);
    margin-top: var(--public-space-lg);
  }
  .public-member-auth__links {
    display: grid;
    grid-template-columns: repeat(3, max-content);
    justify-content: center;
    gap: 0;
  }
  .public-member-auth__links a {
    padding-inline: var(--public-space-sm);
    color: var(--public-ink);
    text-decoration: none;
    text-underline-offset: 0.3em;
    white-space: nowrap;
  }
  .public-member-auth__links a + a {
    border-left: 1px solid var(--public-line);
  }
  .public-member-auth__links a:hover, .public-member-auth__links a:focus-visible {
    text-decoration: underline;
  }
  .public-member-auth__account-actions a, .public-member-auth__foot a, .public-member-auth__policy a {
    color: var(--public-ink);
    text-decoration: underline;
    text-underline-offset: 0.3em;
  }
  .public-member-auth__foot {
    margin-top: var(--public-space-lg);
    color: var(--public-muted);
    text-align: center;
  }
  .public-member-auth__policy {
    color: var(--public-muted);
  }
  .public-member-auth__message {
    margin-bottom: var(--public-space-lg);
    padding: var(--public-space-sm) var(--public-space-md);
    border-left: 2px solid var(--public-blue);
    background: var(--public-blue-soft);
    color: var(--public-ink);
  }
  .public-member-auth__message--error {
    border-left-color: var(--public-auth-error);
    color: var(--public-auth-error);
  }
  .public-member-auth__message--success {
    border-left-color: var(--public-auth-success);
    color: var(--public-auth-success);
  }
  .public-member-auth__captcha {
    display: grid;
    gap: var(--public-space-xs);
  }
  .public-member-auth__captcha-row {
    display: grid;
    grid-template-columns: auto var(--public-control-md) minmax(0, 1fr);
    align-items: end;
    gap: var(--public-space-xs);
  }
  .public-member-auth__captcha-row img, .public-member-auth__captcha-refresh {
    height: var(--public-control-md);
    border: 1px solid var(--public-line);
    background: var(--public-white);
  }
  .public-member-auth__captcha-refresh {
    display: grid;
    width: var(--public-control-md);
    place-items: center;
  }
  .public-member-auth__field--captcha > span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }
  .public-member-auth__verify {
    display: grid;
    gap: var(--public-space-lg);
    text-align: center;
  }
  .public-member-auth__verify-icon {
    display: grid;
    width: var(--public-auth-mark-size);
    height: var(--public-auth-mark-size);
    margin: 0 auto;
    place-items: center;
    border-radius: 50%;
    background: var(--public-blue-soft);
    color: var(--public-blue);
  }
  .public-member-auth__security {
    display: flex;
    align-items: center;
    gap: var(--public-space-xs);
    margin-top: var(--public-space-lg);
    color: var(--public-muted);
  }
  .public-member-auth__account {
    display: flex;
    align-items: center;
    gap: var(--public-space-md);
  }
  .public-member-auth__account-mark {
    display: grid;
    flex: 0 0 var(--public-auth-mark-size);
    width: var(--public-auth-mark-size);
    height: var(--public-auth-mark-size);
    place-items: center;
    border-radius: 50%;
    overflow: hidden;
    background: var(--public-ink);
    color: var(--public-white);
  }
  .public-member-auth__account-mark img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .public-member-auth__account-copy {
    display: grid;
    gap: var(--public-space-2xs);
  }
  .public-member-auth__account-copy > span {
    color: var(--public-muted);
  }
  .public-member-auth__profile-head {
    padding-block: var(--public-space-3xl);
  }
  .public-member-auth__profile-head .public-member-auth__account {
    align-items: center;
  }
  .public-member-auth__profile-head .public-member-auth__account-copy {
    justify-items: start;
  }
  .public-member-auth__workspace {
    width: 100%;
  }
  .public-member-auth__tabs {
    display: flex;
    align-items: center;
    gap: var(--public-space-xl);
    border-bottom: 1px solid var(--public-line);
  }
  .public-member-auth__tab {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: var(--public-space-2xs);
    min-height: var(--public-control-md);
    padding-block: var(--public-space-xs);
    color: var(--public-muted);
    text-decoration: none;
    transition: color var(--public-duration) var(--public-ease), background var(--public-duration) var(--public-ease);
  }
  .public-member-auth__tab:hover, .public-member-auth__tab:focus-visible {
    color: var(--public-ink);
  }
  .public-member-auth__tab.is-active {
    color: var(--public-ink);
  }
  .public-member-auth__tab.is-active::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: var(--public-ink);
    content: "";
  }
  .public-member-auth__tab-count {
    display: grid;
    min-width: var(--public-space-lg);
    min-height: var(--public-space-lg);
    padding-inline: var(--public-space-2xs);
    place-items: center;
    border: 1px solid var(--public-line);
    color: var(--public-ink);
  }
  .public-member-auth__tabpanel {
    padding-top: var(--public-space-3xl);
    scroll-margin-top: calc(var(--public-header-height) + var(--public-space-sm));
  }
  .public-member-auth__section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: var(--public-space-xl);
    margin-bottom: var(--public-space-2xl);
  }
  .public-member-auth__section-head > div {
    display: grid;
    gap: var(--public-space-xs);
  }
  .public-member-auth__section-head p:last-child {
    color: var(--public-muted);
  }
  .public-member-auth__reservation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--public-space-md);
  }
  .public-member-auth__reservation-empty {
    display: grid;
    justify-items: center;
    gap: var(--public-space-lg);
    padding: var(--public-space-page) var(--public-space-xl);
    border: 1px dashed var(--public-line);
  }
  .public-member-auth__settings-content {
    display: grid;
    width: min(100%, 72rem);
    gap: var(--public-space-2xl);
  }
  .public-member-auth__settings-section-head {
    display: grid;
    gap: var(--public-space-xs);
    padding-bottom: var(--public-space-md);
    border-bottom: 1px solid var(--public-line);
  }
  .public-member-auth__settings-section-head p, .public-member-auth__account-management-copy p {
    color: var(--public-muted);
  }
  .public-member-auth__form--profile {
    gap: var(--public-space-lg);
  }
  .public-member-auth__settings-content .public-member-auth__field input:disabled {
    background: var(--public-white);
    color: var(--public-muted);
  }
  .public-member-auth__settings-content .public-member-auth__field input:focus-visible, .public-member-auth__settings-content .public-member-auth__field select:focus-visible {
    border-color: var(--public-ink);
    box-shadow: 0 0 0 1px var(--public-ink);
  }
  .public-member-auth__submit--profile.public-button {
    width: auto;
    min-width: 14rem;
    justify-self: end;
    margin-top: var(--public-space-sm);
  }
  .public-member-auth__new-reservation.public-button, .public-member-auth__submit--profile.public-button {
    color: var(--public-ink);
  }
  .public-member-auth__new-reservation.public-button:hover, .public-member-auth__new-reservation.public-button:focus-visible, .public-member-auth__submit--profile.public-button:hover, .public-member-auth__submit--profile.public-button:focus-visible {
    color: var(--public-ink);
  }
  .public-member-auth--profile {
    padding-block-end: var(--public-space-page);
  }
  .public-member-auth--profile :focus-visible {
    outline-color: var(--public-ink);
  }
  .public-member-auth--profile .public-member-auth__shell {
    display: block;
  }
  .public-member-auth--profile .public-member-auth__panel {
    width: 100%;
    padding: 0;
    border: 0;
  }
  .public-member-auth__account-management {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--public-space-lg);
    padding-top: var(--public-space-xl);
    border-top: 1px solid var(--public-line);
  }
  .public-member-auth__account-management-copy {
    display: grid;
    gap: var(--public-space-2xs);
  }
  .public-member-auth__account-management-actions, .public-member-auth__logout {
    display: flex;
    align-items: center;
    gap: var(--public-space-xs);
  }
  .public-member-auth__password-link.public-button, .public-member-auth__logout-button.public-button {
    border-color: var(--public-ink);
    color: var(--public-ink);
  }
  .public-member-auth__password-link.public-button:hover, .public-member-auth__password-link.public-button:focus-visible, .public-member-auth__logout-button.public-button:hover, .public-member-auth__logout-button.public-button:focus-visible {
    color: var(--public-ink);
  }
  @media (max-width: 1023px) and (min-width: 768px) {
    .public-member-auth__reservation-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px) {
    .public-member-auth {
      padding-top: calc(var(--public-header-height) + var(--section-sm));
      padding-block-start: calc(var(--public-header-height) + var(--section-sm));
    }
    .public-member-auth.no-section-lg {
      padding-top: calc(var(--public-header-height) + var(--section-sm));
      padding-block-start: calc(var(--public-header-height) + var(--section-sm));
    }
    .public-member-auth__shell {
      padding-right: var(--public-shell-gutter);
      padding-left: var(--public-shell-gutter);
    }
    .public-member-auth__panel {
      padding: var(--public-space-xl);
    }
    .public-member-auth__grid {
      grid-template-columns: 1fr;
    }
    .public-member-auth__captcha-row {
      grid-template-columns: 1fr var(--public-control-md);
    }
    .public-member-auth__field--captcha {
      grid-column: 1/-1;
    }
    .public-member-auth__profile-head {
      padding-block: var(--public-space-3xl);
    }
    .public-member-auth__account {
      align-items: center;
    }
    .public-member-auth__tabs {
      gap: var(--public-space-lg);
      overflow-x: auto;
    }
    .public-member-auth__tab {
      flex: 0 0 auto;
    }
    .public-member-auth__section-head {
      align-items: stretch;
      flex-direction: column;
    }
    .public-member-auth__reservation-grid {
      grid-template-columns: 1fr;
    }
    .public-member-auth__reservation-empty {
      padding: var(--public-space-3xl) var(--public-space-md);
    }
    .public-member-auth__submit--profile.public-button {
      width: 100%;
    }
    .public-member-auth__account-management {
      align-items: stretch;
      flex-direction: column;
    }
    .public-member-auth__account-management-actions {
      display: grid;
      grid-template-columns: 1fr;
    }
    .public-member-auth__account-management-actions .public-button {
      width: 100%;
    }
    .public-member-auth--profile .public-member-auth__panel {
      padding: 0;
    }
  }
  .public-member-auth-page ~ .no-floating-cta {
    display: none;
  }
  .public-social-popup {
    display: grid;
    min-height: 100dvh;
    margin: 0;
    padding: var(--public-space-xl);
    place-items: center;
    background: var(--public-surface);
    color: var(--public-ink);
  }
  .public-social-popup__panel {
    display: grid;
    width: min(100%, var(--public-auth-panel-max));
    padding: var(--public-space-xl);
    gap: var(--public-space-sm);
    border: 1px solid var(--public-line);
    background: var(--public-white);
    text-align: center;
  }
  .public-social-popup__loader {
    width: var(--public-space-lg);
    height: var(--public-space-lg);
    margin-inline: auto;
    border: 2px solid var(--public-line);
    border-right-color: var(--public-blue);
    border-radius: 50%;
    animation: public-button-spin var(--dur-slow) linear infinite;
  }
  .public-social-popup__help {
    color: var(--public-muted);
  }
  .public-guide--review .public-guide__hero {
    max-width: none;
    padding-bottom: var(--section-sm);
  }
  .public-guide--review .public-guide__hero h1 {
    margin-block: var(--public-space-lg);
  }
  .public-guide--review .public-guide__section {
    scroll-margin-top: 12rem;
  }
  .public-guide--review .public-guide__type-row {
    display: grid;
    grid-template-columns: 18rem minmax(0, 1fr);
    gap: var(--public-space-xl);
    padding-block: var(--public-space-2xl);
    border-bottom: 1px solid var(--public-line);
  }
  .public-guide--review .public-guide__type-row > div > p + p {
    margin-top: var(--public-space-sm);
  }
  .public-guide--review .public-guide__type-row strong {
    font-weight: var(--font-weight-medium);
  }
  .public-guide--review .public-guide__action-grid, .public-guide--review .public-guide__compositions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--public-space-xl);
  }
  .public-guide--review .public-guide__action-sample {
    display: grid;
    gap: var(--public-space-lg);
    padding: var(--public-space-2xl);
    border: 1px solid var(--public-line);
  }
  .public-guide--review .public-guide__states {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--public-space-lg);
    padding-block: var(--public-space-2xl);
  }
  .public-guide--review .public-guide__states > p {
    flex-basis: 100%;
  }
  .public-guide--review .public-guide__composition {
    display: grid;
    gap: var(--public-space-xl);
    padding: var(--section-sm);
    background: var(--public-brand-surface-strong);
  }
  .public-guide--review .public-guide__composition--dark {
    color: var(--public-white);
    background: var(--public-brand-dark);
  }
  .public-guide--review .public-guide__composition--dark .public-button {
    color: inherit;
  }
  .public-guide--review .public-guide__motion {
    display: grid;
    gap: var(--public-space-lg);
    padding-block: var(--section-sm);
  }
  .public-guide--review .public-guide__process-review {
    margin-top: var(--public-space-xl);
  }
  .public-guide--review .public-guide__process-options {
    gap: 1.2rem 3.2rem;
  }
  .public-guide--review .public-guide__process-options small {
    margin-left: 0.8rem;
    font-size: 1.1rem;
    font-weight: 400;
    color: var(--public-muted);
  }
  .public-guide--review .public-guide__process-note {
    max-width: 76rem;
    margin-block: 1.6rem 3.2rem;
    color: var(--public-muted);
    text-wrap: pretty;
  }
  .public-guide--review .public-guide__process-studies {
    display: grid;
    grid-template-columns: minmax(0, 72rem) minmax(0, 36rem);
    gap: 4rem;
    align-items: start;
  }
  .public-guide--review .public-guide__process-study {
    min-width: 0;
  }
  .public-guide--review .public-guide__process-label {
    margin-bottom: 1.2rem;
    color: var(--public-muted);
  }
  .public-guide--review .public-guide__process-canvas {
    container-type: inline-size;
    background: var(--public-surface-subtle);
  }
  .public-guide--review .public-guide__process-sample {
    padding: 4rem 3.2rem;
  }
  .public-guide--review .public-guide__process-heading {
    display: flex;
    align-items: baseline;
    gap: 1.6rem;
  }
  .public-guide--review .public-guide__process-index {
    flex-shrink: 0;
    color: var(--public-brand-accent);
    font: 400 1.3rem/1.5 var(--font-sans-family);
    font-variant-numeric: tabular-nums;
  }
  .public-guide--review .public-guide__process-total {
    display: none;
  }
  .public-guide--review .public-guide__process-review:has(#guide-process-total:checked) .public-guide__process-total {
    display: inline;
  }
  .public-guide--review .public-guide__process-heading h3 {
    font: 500 clamp(2rem, 2vw, 2.4rem)/1.5 var(--font-sans-family);
    word-break: keep-all;
    text-wrap: balance;
  }
  .public-guide--review .public-guide__process-figure {
    position: relative;
    margin: 2.4rem 0 3.2rem;
  }
  .public-guide--review .public-guide__process-art {
    position: relative;
    aspect-ratio: 2;
  }
  .public-guide--review .public-guide__process-portrait {
    position: absolute;
    left: 3.5714%;
    top: 7.1429%;
    width: 42.8571%;
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
  }
  .public-guide--review .public-guide__process-connection {
    position: absolute;
    inset: 0;
    width: 100%;
    height: auto;
  }
  .public-guide--review .public-guide__process-figure figcaption {
    position: absolute;
    left: 62.5%;
    top: calc(25.3571% - 1rem);
    padding-left: 1.2rem;
    color: var(--public-brand-accent);
    font-size: 1.3rem;
    line-height: 2rem;
  }
  .public-guide--review .public-guide__process-body {
    max-inline-size: 32em;
    font-size: 1.6rem;
    line-height: 1.85;
    word-break: keep-all;
    overflow-wrap: break-word;
    text-wrap: balance;
  }
  .public-guide--review .public-guide__process-caption {
    max-inline-size: 40em;
    margin-top: 2rem;
    color: var(--public-muted);
    font-size: 1.1rem;
    line-height: 1.7;
    word-break: keep-all;
    text-wrap: pretty;
  }
  @container (max-width: 480px) {
    .public-guide--review .public-guide__process-sample {
      padding: 2.8rem 2rem;
    }
    .public-guide--review .public-guide__process-heading {
      gap: 1.2rem;
    }
    .public-guide--review .public-guide__process-heading h3 {
      font-size: 2rem;
    }
    .public-guide--review .public-guide__process-figure {
      margin-block: 2.8rem;
    }
    .public-guide--review .public-guide__process-art {
      width: min(100%, 30rem);
      margin-inline: auto;
      aspect-ratio: 1.3;
    }
    .public-guide--review .public-guide__process-portrait {
      left: 15%;
      top: 0;
      width: 70%;
    }
    .public-guide--review .public-guide__process-connection {
      display: none;
    }
    .public-guide--review .public-guide__process-figure figcaption {
      position: static;
      padding: 0;
      margin-top: 0.8rem;
      text-align: center;
    }
    .public-guide--review .public-guide__process-body {
      font-size: 1.5rem;
      line-height: 1.85;
    }
  }
  @media (max-width: 1023px) {
    .public-guide--review .public-guide__process-studies {
      grid-template-columns: minmax(0, 1fr);
      gap: 3.2rem;
    }
    .public-guide--review .public-guide__process-study--compact {
      width: min(100%, 36rem);
    }
  }
  .public-guide--review .public-guide__menu-studies {
    display: grid;
    gap: 4rem;
    margin-top: 3.2rem;
  }
  .public-guide--review .public-guide__menu-study {
    border: 1px solid var(--public-line);
  }
  .public-guide--review .public-guide__menu-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 1.2rem 2.4rem;
    padding: 2.4rem 3.2rem;
  }
  .public-guide--review .public-guide__menu-heading h3 {
    display: flex;
    align-items: center;
    gap: 1.6rem;
  }
  .public-guide--review .public-guide__menu-heading p {
    color: var(--public-muted);
  }
  .public-guide--review .public-guide__menu-number {
    font-family: var(--font-sans-family);
    font-size: 1.2rem;
  }
  .public-guide--review .public-guide__menu-badge {
    padding: 0.4rem 0.8rem;
    background: var(--public-brand-surface-strong);
  }
  .public-guide--review .public-guide__menu-surface {
    display: grid;
    grid-template-columns: 8rem minmax(0, 1fr);
    align-items: center;
    gap: 2.4rem;
    padding: 2rem 3.2rem;
    color: var(--public-brand-ink);
    background: var(--public-brand-surface);
  }
  .public-guide--review .public-guide__menu-surface--dark {
    color: var(--public-brand-surface);
    background: color-mix(in srgb, var(--public-brand-ink) 82%, var(--public-brand-surface));
  }
  .public-guide--review .public-guide__menu-tone {
    font: 500 1rem/1.5 var(--font-sans-family);
    letter-spacing: 0.1em;
    opacity: 0.75;
  }
  .public-guide--review .public-guide__menu-preview {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.8rem 4.8rem;
  }
  .public-guide--review .public-guide__menu-link {
    color: inherit;
    opacity: 0.76;
    transition: opacity 180ms var(--public-ease);
  }
  .public-guide--review .public-guide__menu-link:hover, .public-guide--review .public-guide__menu-link:focus-visible, .public-guide--review .public-guide__menu-link[aria-current=page], .public-guide--review .public-guide__menu-link.is-current {
    opacity: 1;
  }
  @media (prefers-reduced-motion: reduce) {
    .public-guide--review .public-guide__menu-link {
      transition: none;
    }
  }
  .public-guide--review .public-guide__menu-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 4.8rem;
    padding: 0.8rem 0;
    font: 500 1.5rem/1.5 var(--font-sans-family);
    letter-spacing: 0.015em;
    text-decoration: none;
  }
  .public-guide--review .public-guide__menu-link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 5px;
  }
  .public-guide--review .public-guide__menu-link--dot::after,
  .public-guide--review .public-guide__menu-link--underline::after {
    position: absolute;
    bottom: 0.3rem;
    background: currentColor;
    content: "";
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms var(--public-ease), transform 180ms var(--public-ease);
  }
  .public-guide--review .public-guide__menu-link--dot::after {
    left: calc(50% - 1.5px);
    width: 3px;
    height: 3px;
    border-radius: 50%;
  }
  .public-guide--review .public-guide__menu-link--underline::after {
    inset-inline: 0;
    height: 1px;
    transform: scaleX(0);
    transform-origin: center;
  }
  .public-guide--review .public-guide__menu-link:hover::after,
  .public-guide--review .public-guide__menu-link:focus-visible::after,
  .public-guide--review .public-guide__menu-link[aria-current=page]::after {
    opacity: 1;
    transform: scaleX(1);
  }
  @media (prefers-reduced-motion: reduce) {
    .public-guide--review .public-guide__menu-link, .public-guide--review .public-guide__menu-link::after {
      transition: none;
    }
  }
  .public-guide--review .public-guide__dropdown-heading {
    display: grid;
    gap: var(--public-space-sm);
    margin-top: var(--public-space-section);
    padding-top: var(--public-space-2xl);
    border-top: 1px solid var(--public-line);
  }
  .public-guide--review .public-guide__dropdown-heading p {
    max-width: 78rem;
    color: var(--public-muted);
  }
  .public-guide--review .public-guide__dropdown-studies {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--public-space-xl);
    margin-top: var(--public-space-xl);
  }
  .public-guide--review .public-guide__dropdown-study {
    min-width: 0;
    border: 1px solid var(--public-line);
  }
  .public-guide--review .public-guide__dropdown-study > .public-guide__menu-tone {
    display: block;
    padding: 1.6rem 2rem;
    color: var(--public-muted);
  }
  .public-guide--review .public-guide__dropdown-surface {
    --dropdown-header: var(--public-brand-dark);
    --dropdown-ground: var(--dropdown-header);
    --dropdown-text: var(--public-brand-surface);
    --dropdown-surface: var(--color-background-dropdown-dark);
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) minmax(20rem, 1.5fr);
    gap: var(--public-space-md);
    min-height: 30rem;
    padding: 1.6rem;
    color: var(--dropdown-text);
    background: linear-gradient(to bottom, var(--dropdown-header) 0 7.6rem, var(--dropdown-ground) 7.6rem);
  }
  .public-guide--review .public-guide__dropdown-surface--light {
    --dropdown-header: var(--public-white);
    --dropdown-text: var(--public-brand-ink);
    --dropdown-surface: var(--color-background-dropdown-light);
  }
  .public-guide--review .public-guide__dropdown-example {
    position: relative;
    min-width: 0;
  }
  .public-guide--review .public-guide__dropdown-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--public-control-sm);
    list-style: none;
    color: inherit;
    cursor: pointer;
    font: 500 1.4rem/1.4 var(--font-sans-family);
    letter-spacing: 0.015em;
  }
  .public-guide--review .public-guide__dropdown-trigger::-webkit-details-marker {
    display: none;
  }
  .public-guide--review .public-guide__dropdown-trigger:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
  }
  .public-guide--review .public-guide__dropdown-trigger--language {
    position: relative;
    isolation: isolate;
    border: 0;
    background: transparent;
    border-radius: var(--public-action-radius);
    text-decoration: none;
  }
  .public-guide--review .public-guide__dropdown-trigger--language::before, .public-guide--review .public-guide__dropdown-trigger--language::after {
    position: absolute;
    inset-block: 0;
    box-sizing: border-box;
    width: var(--public-action-end-width);
    border: 1px solid currentColor;
    content: "";
    pointer-events: none;
    transition: width var(--public-action-duration) var(--public-ease);
  }
  .public-guide--review .public-guide__dropdown-trigger--language::before {
    inset-inline-start: 0;
    border-inline-end: 0;
    border-radius: var(--public-action-radius) 0 0 var(--public-action-radius);
  }
  .public-guide--review .public-guide__dropdown-trigger--language::after {
    inset-inline-end: 0;
    border-inline-start: 0;
    border-radius: 0 var(--public-action-radius) var(--public-action-radius) 0;
  }
  .public-guide--review .public-guide__dropdown-trigger--language:hover::before, .public-guide--review .public-guide__dropdown-trigger--language:hover::after, .public-guide--review .public-guide__dropdown-trigger--language:focus-visible::before, .public-guide--review .public-guide__dropdown-trigger--language:focus-visible::after, .public-guide--review .public-guide__dropdown-trigger--language.is-frame-completing::before, .public-guide--review .public-guide__dropdown-trigger--language.is-frame-completing::after, .public-guide--review .public-guide__dropdown-trigger--language[aria-expanded=true]::before, .public-guide--review .public-guide__dropdown-trigger--language[aria-expanded=true]::after {
    width: calc(50% + 1px);
  }
  @media (max-width: 1023px), (hover: none), (pointer: coarse) {
    .public-guide--review .public-guide__dropdown-trigger--language::before, .public-guide--review .public-guide__dropdown-trigger--language::after {
      width: calc(50% + 1px);
    }
  }
  .public-guide--review .public-guide__dropdown-trigger--language:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
  }
  @media (prefers-reduced-motion: reduce) {
    .public-guide--review .public-guide__dropdown-trigger--language::before, .public-guide--review .public-guide__dropdown-trigger--language::after {
      transition: none;
    }
  }
  .public-guide--review .public-guide__dropdown-trigger--language {
    gap: 0.8rem;
    width: 8.8rem;
    margin-inline: auto;
    display: flex;
    padding-inline: 1.4rem;
  }
  .public-guide--review .public-guide__dropdown-trigger--language svg {
    flex: 0 0 1.8rem;
    width: 1.8rem;
    height: 1.8rem;
  }
  .public-guide--review .public-guide__dropdown-current {
    display: none;
  }
  .public-guide--review .public-guide__dropdown-example:has(input[value=KO]:checked) .public-guide__dropdown-current--ko,
  .public-guide--review .public-guide__dropdown-example:has(input[value=EN]:checked) .public-guide__dropdown-current--en,
  .public-guide--review .public-guide__dropdown-example:has(input[value=JA]:checked) .public-guide__dropdown-current--ja {
    display: inline;
  }
  .public-guide--review .public-guide__dropdown-example[open] .public-guide__dropdown-trigger--language::before,
  .public-guide--review .public-guide__dropdown-example[open] .public-guide__dropdown-trigger--language::after {
    width: calc(50% + 1px);
  }
  .public-guide--review .public-guide__dropdown-trigger--menu {
    width: 100%;
    padding-inline: 1.2rem;
    opacity: 0.76;
  }
  .public-guide--review .public-guide__dropdown-trigger--menu:hover, .public-guide--review .public-guide__dropdown-trigger--menu:focus-visible {
    opacity: 1;
  }
  .public-guide--review .public-guide__dropdown-example[open] .public-guide__dropdown-trigger--menu {
    opacity: 1;
  }
  .public-guide--review .public-guide__dropdown-panel {
    position: absolute;
    top: 6rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    display: grid;
    width: 12rem;
    min-width: 12rem;
    margin: 0;
    padding: 0.8rem;
    border: 0;
    color: var(--dropdown-text);
    background: var(--dropdown-surface);
    box-shadow: none;
  }
  .public-guide--review .public-guide__dropdown-example--menu .public-guide__dropdown-panel {
    width: min(24rem, 100%);
  }
  .public-guide--review .public-guide__dropdown-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 4.4rem;
    padding: 0.8rem 1.2rem 1rem;
    border: 0;
    color: inherit;
    background: transparent;
    font: 400 1.4rem/1.4 var(--font-sans-family);
    text-align: center;
    text-decoration: none;
    opacity: 0.66;
    cursor: pointer;
    transition: opacity var(--public-duration) var(--public-ease);
  }
  .public-guide--review .public-guide__dropdown-item input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
  }
  .public-guide--review .public-guide__dropdown-item::after {
    position: absolute;
    bottom: 0.7rem;
    left: 50%;
    transform: translateX(-50%);
    width: 1.6rem;
    height: 1px;
    background: currentColor;
    content: "";
    opacity: 0;
  }
  .public-guide--review .public-guide__dropdown-item:hover, .public-guide--review .public-guide__dropdown-item:focus-visible, .public-guide--review .public-guide__dropdown-item:focus-within, .public-guide--review .public-guide__dropdown-item.is-current, .public-guide--review .public-guide__dropdown-item:has(input:checked) {
    opacity: 1;
  }
  .public-guide--review .public-guide__dropdown-item:focus-visible, .public-guide--review .public-guide__dropdown-item:focus-within {
    outline: 2px solid currentColor;
    outline-offset: -2px;
  }
  .public-guide--review .public-guide__dropdown-item.is-current, .public-guide--review .public-guide__dropdown-item:has(input:checked) {
    font-weight: var(--font-weight-medium);
  }
  .public-guide--review .public-guide__dropdown-item.is-current::after, .public-guide--review .public-guide__dropdown-item:has(input:checked)::after {
    opacity: 1;
  }
  @media (prefers-reduced-motion: reduce) {
    .public-guide--review .public-guide__dropdown-item {
      transition: none;
    }
  }
  .public-guide--review .public-guide__category-studies {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--public-space-xl);
    margin-top: var(--public-space-2xl);
  }
  .public-guide--review .public-guide__category-study {
    min-width: 0;
    border: 1px solid var(--public-line);
  }
  .public-guide--review .public-guide__category-heading {
    display: grid;
    gap: 0.8rem;
    padding: 2.4rem 2.8rem;
  }
  .public-guide--review .public-guide__category-heading h3 {
    display: flex;
    align-items: center;
    gap: 1.2rem;
  }
  .public-guide--review .public-guide__category-heading p {
    color: var(--public-muted);
  }
  .public-guide--review .public-guide__category-context {
    min-width: 0;
    padding: 2rem 2.8rem;
    border-top: 1px solid var(--public-line);
    background: color-mix(in srgb, var(--public-brand-surface-strong) 48%, transparent);
  }
  .public-guide--review .public-guide__category-context--appointment {
    background: var(--public-brand-surface);
  }
  .public-guide--review .public-guide__category-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .public-guide--review .public-guide__category-columns > :first-child {
    border-right: 1px solid var(--public-line);
  }
  .public-guide--review .public-guide__category-caption {
    margin-bottom: 1.4rem;
    color: var(--public-brand-ink);
    font: 500 1.1rem/1.5 var(--font-sans-family);
    letter-spacing: 0.04em;
  }
  .public-guide--review .public-guide__category-caption span {
    margin-left: 0.8rem;
    color: var(--public-muted);
    font-weight: var(--font-weight-regular);
    letter-spacing: 0;
  }
  .public-guide--review .public-guide__category-options {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
  }
  .public-guide--review .public-guide__category-options--horizontal {
    display: flex;
    gap: 0.6rem;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .public-guide--review .public-guide__category-options--horizontal::-webkit-scrollbar {
    display: none;
  }
  .public-guide--review .public-guide__category-options--vertical {
    display: grid;
    gap: 0.3rem;
  }
  .public-guide--review .public-guide__category-option {
    position: relative;
    display: block;
    min-width: 0;
  }
  .public-guide--review .public-guide__category-option input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
  }
  .public-guide--review .public-guide__category-option label {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 4.2rem;
    padding: 0.8rem 1.2rem;
    color: var(--color-text-muted);
    font: 400 1.4rem/1.45 var(--font-sans-family);
    cursor: pointer;
    transition: color 180ms var(--public-ease), background-color 180ms var(--public-ease);
  }
  .public-guide--review .public-guide__category-option input:checked + label {
    color: var(--public-brand-ink);
    font-weight: var(--font-weight-semibold);
  }
  .public-guide--review .public-guide__category-option input:hover + label, .public-guide--review .public-guide__category-option input:focus-visible + label, .public-guide--review .public-guide__category-option label:hover {
    color: var(--public-brand-ink);
  }
  .public-guide--review .public-guide__category-option input:focus-visible + label {
    outline: 2px solid var(--public-brand-ink);
    outline-offset: -2px;
  }
  .public-guide--review .public-guide__category-options--horizontal .public-guide__category-option {
    flex: 0 0 auto;
  }
  .public-guide--review .public-guide__category-options--vertical .public-guide__category-option label {
    width: 100%;
  }
  .public-guide--review .public-guide__category-ordinal {
    display: none;
  }
  .public-guide--review .public-guide__category-options--surface input:checked + label {
    background: color-mix(in srgb, var(--public-brand-ink) 13%, transparent);
  }
  .public-guide--review .public-guide__category-options--surface label:hover {
    background: color-mix(in srgb, var(--public-brand-ink) 7%, transparent);
  }
  .public-guide--review .public-guide__category-options--rule label::after {
    position: absolute;
    background: currentColor;
    content: "";
    opacity: 0;
    transition: opacity 180ms var(--public-ease);
  }
  .public-guide--review .public-guide__category-options--rule input:checked + label::after {
    opacity: 1;
  }
  .public-guide--review .public-guide__category-options--rule.public-guide__category-options--horizontal label::after {
    right: 1.2rem;
    bottom: 0.2rem;
    left: 1.2rem;
    height: 1px;
  }
  .public-guide--review .public-guide__category-options--rule.public-guide__category-options--vertical label::after {
    top: 0.8rem;
    bottom: 0.8rem;
    left: 0;
    width: 1px;
  }
  .public-guide--review .public-guide__category-options--index .public-guide__category-ordinal {
    display: inline;
    flex: 0 0 2.4rem;
    color: var(--public-brand-accent);
    font: 500 1.1rem/1 var(--font-sans-family);
  }
  .public-guide--review .public-guide__category-options--index input:checked + label .public-guide__category-ordinal {
    color: var(--public-brand-ink);
  }
  .public-guide--review .public-guide__pagination-studies {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--public-space-xl);
    margin-top: var(--public-space-2xl);
  }
  .public-guide--review .public-guide__pagination-study {
    min-width: 0;
    border: 1px solid var(--public-line);
  }
  .public-guide--review .public-guide__pagination-surface {
    display: grid;
    gap: 1.6rem;
    min-height: 15rem;
    align-content: center;
    padding: 2.4rem;
    border-top: 1px solid var(--public-line);
    color: var(--public-brand-ink);
    background: var(--public-brand-surface);
  }
  .public-guide--review .public-guide__pagination-surface--dark {
    color: var(--public-brand-surface);
    background: color-mix(in srgb, var(--public-brand-ink) 82%, var(--public-brand-surface));
  }
  .public-guide--review .public-guide__pagination-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    font: 400 1.4rem/1.4 var(--font-sans-family);
  }
  .public-guide--review .public-guide__pagination-direction,
  .public-guide--review .public-guide__pagination-number {
    display: inline-flex;
    min-width: 3.6rem;
    min-height: 4.4rem;
    align-items: center;
    justify-content: center;
    color: inherit;
    opacity: 0.55;
  }
  .public-guide--review .public-guide__pagination-direction {
    font-size: 1.8rem;
  }
  .public-guide--review .public-guide__pagination-number.is-current {
    font-weight: var(--font-weight-medium);
    opacity: 1;
  }
  .public-guide--review .public-guide__pagination-preview--type .is-current {
    font-size: 1.7rem;
  }
  .public-guide--review .public-guide__pagination-preview--rule .is-current {
    border-bottom: 1px solid currentColor;
  }
  .public-guide--review .public-guide__pagination-preview--counter {
    gap: 1.2rem;
  }
  .public-guide--review .public-guide__pagination-preview--counter .public-guide__pagination-direction {
    min-width: 4.4rem;
    font-size: 1.2rem;
  }
  .public-guide--review .public-guide__pagination-count {
    display: inline-flex;
    align-items: baseline;
    gap: 0.8rem;
    min-width: 9rem;
    justify-content: center;
  }
  .public-guide--review .public-guide__pagination-count strong {
    font-size: 2.4rem;
    font-weight: var(--font-weight-medium);
  }
  .public-guide--review .public-guide__pagination-count span {
    opacity: 0.55;
  }
  @media (max-width: 480px) {
    .public-guide--review .public-guide__pagination-direction--edge {
      display: none;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .public-guide--review .public-guide__category-option label,
    .public-guide--review .public-guide__category-options--rule label::after {
      transition: none;
    }
  }
  @media (max-width: 1023px) {
    .public-guide--review .public-guide__pagination-studies {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .public-guide--review .public-guide__pagination-study:last-child {
      grid-column: 1/-1;
    }
  }
  @media (max-width: 768px) {
    .public-guide--review .public-guide__type-row, .public-guide--review .public-guide__section-head,
    .public-guide--review .public-guide__action-grid, .public-guide--review .public-guide__compositions,
    .public-guide--review .public-guide__category-studies, .public-guide--review .public-guide__dropdown-studies {
      grid-template-columns: minmax(0, 1fr);
    }
    .public-guide--review .public-guide__composition {
      padding: var(--public-space-xl);
    }
    .public-guide--review .public-guide__menu-heading, .public-guide--review .public-guide__menu-surface {
      padding: 2rem;
    }
    .public-guide--review .public-guide__menu-surface {
      grid-template-columns: minmax(0, 1fr);
      gap: 1rem;
    }
    .public-guide--review .public-guide__menu-preview {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.4rem 2.4rem;
    }
    .public-guide--review .public-guide__menu-link {
      justify-self: start;
      font-size: 1.4rem;
    }
    .public-guide--review .public-guide__dropdown-surface {
      grid-template-columns: minmax(10rem, 1fr) minmax(18rem, 1.5fr);
      gap: 0.8rem;
    }
    .public-guide--review .public-guide__category-heading, .public-guide--review .public-guide__category-context {
      padding-inline: 1.8rem;
    }
    .public-guide--review .public-guide__category-columns {
      grid-template-columns: minmax(0, 1fr);
    }
    .public-guide--review .public-guide__category-columns > :first-child {
      border-right: 0;
    }
    .public-guide--review .public-guide__pagination-studies {
      grid-template-columns: minmax(0, 1fr);
    }
    .public-guide--review .public-guide__pagination-study:last-child {
      grid-column: auto;
    }
  }
  @media (max-width: 380px) {
    .public-guide--review .public-guide__dropdown-surface {
      grid-template-columns: minmax(0, 1fr);
      min-height: 0;
      background: var(--dropdown-ground);
    }
    .public-guide--review .public-guide__dropdown-example {
      padding: 1.2rem;
      background: var(--dropdown-header);
    }
    .public-guide--review .public-guide__dropdown-panel, .public-guide--review .public-guide__dropdown-example--menu .public-guide__dropdown-panel {
      position: static;
      width: 100%;
      transform: none;
      box-shadow: none;
    }
  }
  .public-guide {
    padding-top: 15rem;
    color: var(--public-ink);
  }
  .public-guide__hero {
    max-width: 78rem;
    border-bottom: 1px solid var(--public-line);
  }
  .public-guide__eyebrow, .public-guide__section-head p {
    color: var(--public-blue);
  }
  .public-guide__lead, .public-guide__copy {
    margin-top: var(--public-space-sm);
    color: var(--public-muted);
  }
  .public-guide__tabs {
    display: flex;
    gap: var(--public-space-xl);
    margin: var(--public-space-xl) 0 var(--public-space-section);
    overflow-x: auto;
    border-bottom: 1px solid var(--public-line);
  }
  .public-guide__tabs a {
    position: relative;
    flex: 0 0 auto;
    padding: var(--public-space-sm) 0;
    color: var(--public-muted);
  }
  .public-guide__tabs a.is-active {
    color: var(--public-ink);
  }
  .public-guide__tabs a.is-active::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: var(--public-blue);
    content: "";
  }
  .public-guide__section {
    padding: var(--public-space-section) 0;
    border-bottom: 1px solid var(--public-line);
  }
  .public-guide__section-head {
    display: grid;
    grid-template-columns: 18rem 1fr;
    gap: var(--public-space-md);
    margin-bottom: var(--public-space-2xl);
  }
  .public-guide__logo-stage, .public-guide__statement, .public-guide__stack {
    display: grid;
    gap: var(--public-space-lg);
    padding: var(--public-space-2xl);
    background: var(--public-surface-subtle);
  }
  .public-guide__stack {
    grid-template-columns: minmax(0, 1fr);
  }
  .public-guide__booking-flow {
    background: var(--public-white);
  }
  .public-guide__search-stages {
    display: grid;
    gap: var(--public-space-md);
  }
  .public-guide__search-stage {
    padding: var(--public-space-xl);
    background: var(--public-surface-subtle);
  }
  .public-guide__search-stage--dark {
    background: var(--public-navy-deep);
  }
  .public-guide__logo-stage .public-logo {
    position: static;
    width: 9rem;
  }
  .public-guide__statement {
    grid-template-columns: 1.1fr 0.9fr;
    align-items: end;
  }
  .public-guide__statement p {
    color: var(--public-muted);
  }
  .public-guide__swatches, .public-guide__cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--public-space-sm);
  }
  .public-guide__swatch {
    display: grid;
    gap: var(--public-space-2xs);
  }
  .public-guide__swatch > span {
    aspect-ratio: 1;
    border: 1px solid var(--public-line);
    border-radius: var(--public-radius-sm);
    background: var(--swatch);
  }
  .public-guide__swatch--ink {
    --swatch: var(--public-brand-ink);
  }
  .public-guide__swatch--dark {
    --swatch: var(--public-brand-dark);
  }
  .public-guide__swatch--accent {
    --swatch: var(--public-brand-accent);
  }
  .public-guide__swatch--accent-soft {
    --swatch: var(--public-brand-accent-soft);
  }
  .public-guide__swatch--surface {
    --swatch: var(--public-brand-surface);
  }
  .public-guide__swatch--surface-strong {
    --swatch: var(--public-brand-surface-strong);
  }
  .public-guide__swatch--line {
    --swatch: var(--public-brand-line);
  }
  .public-guide__swatch--white {
    --swatch: var(--public-white);
  }
  .public-guide__swatch code, .public-guide__registry code {
    color: var(--public-muted);
  }
  .public-guide__registry span {
    color: var(--public-blue);
  }
  .public-guide__type {
    display: grid;
    gap: var(--public-space-lg);
  }
  .public-guide__utility-group {
    display: grid;
    gap: var(--public-space-sm);
    padding: var(--public-space-xl);
    border: 1px solid var(--public-line);
  }
  .public-guide__utility-row {
    display: grid;
    grid-template-columns: 18rem minmax(0, 1fr);
    gap: var(--public-space-md);
    align-items: baseline;
    padding-top: var(--public-space-sm);
    border-top: 1px solid var(--public-line);
  }
  .public-guide__utility-row p {
    margin: 0;
  }
  .public-guide__spacing-list {
    display: grid;
    gap: var(--public-space-xs);
  }
  .public-guide__spacing-row {
    display: grid;
    grid-template-columns: 18rem 18rem minmax(0, 1fr);
    gap: var(--public-space-md);
    align-items: center;
  }
  .public-guide__spacing-bar {
    display: block;
    width: var(--spacing-preview);
    min-width: 1px;
    height: var(--public-space-xs);
    background: var(--public-blue);
  }
  .public-guide__spacing-bar--xxs {
    --spacing-preview: var(--spacing-xxs);
  }
  .public-guide__spacing-bar--xs {
    --spacing-preview: var(--spacing-xs);
  }
  .public-guide__spacing-bar--sm {
    --spacing-preview: var(--spacing-sm);
  }
  .public-guide__spacing-bar--md {
    --spacing-preview: var(--spacing-md);
  }
  .public-guide__spacing-bar--lg {
    --spacing-preview: var(--spacing-lg);
  }
  .public-guide__spacing-bar--xl {
    --spacing-preview: var(--spacing-xl);
  }
  .public-guide__spacing-bar--2xl {
    --spacing-preview: var(--spacing-2xl);
  }
  .public-guide__spacing-bar--3xl {
    --spacing-preview: var(--spacing-3xl);
  }
  .public-guide__spacing-bar--4xl {
    --spacing-preview: var(--spacing-4xl);
  }
  .public-guide__spacing-bar--5xl {
    --spacing-preview: var(--spacing-5xl);
  }
  .public-guide__spacing-bar--6xl {
    --spacing-preview: var(--spacing-6xl);
  }
  .public-guide__section-utilities {
    display: flex;
    flex-wrap: wrap;
    gap: var(--public-space-xs);
  }
  .public-guide__section-utilities code {
    padding: var(--public-space-xs) var(--public-space-sm);
    background: var(--public-surface-subtle);
  }
  .public-guide__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--public-space-sm);
    align-items: center;
  }
  .public-guide__state-grid, .public-guide__feedback-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--public-space-sm);
  }
  .public-guide__state-card {
    display: grid;
    min-height: 16rem;
    place-items: center;
    align-content: center;
    gap: var(--public-space-xs);
    padding: var(--public-space-lg);
    border: 1px solid var(--public-line);
    background: var(--public-white);
    text-align: center;
  }
  .public-guide__state-card span {
    color: var(--public-muted);
  }
  .public-guide__feedback-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .public-guide__feedback-grid .ui-toast, .public-guide__feedback-preview .ui-toast {
    position: static;
    width: 100%;
  }
  .public-guide__feedback-preview {
    max-width: var(--public-cart-toast-max);
    margin-inline: auto;
  }
  .public-guide__motion-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--public-space-md);
  }
  .public-guide__motion-card {
    display: grid;
    min-height: 24rem;
    gap: var(--public-space-xl);
    align-content: center;
    padding: var(--public-space-2xl);
    overflow: hidden;
    border: 1px solid var(--public-line);
    border-radius: var(--public-radius-md);
    background: var(--public-surface-subtle);
  }
  .public-guide__motion-card code {
    color: var(--public-blue);
  }
  .public-guide__stack .public-section-index {
    position: static;
  }
  .public-guide__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: var(--public-space-xl);
  }
  .public-guide__pictogram-sizes, .public-guide__pictograms {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--public-space-sm);
  }
  .public-guide__pictogram-sizes article, .public-guide__pictogram-card {
    display: grid;
    min-width: 0;
    place-items: center;
    gap: var(--public-space-xs);
    padding: var(--public-space-lg);
    border: 1px solid var(--public-line);
    background: var(--public-white);
    text-align: center;
  }
  .public-guide__pictogram-card span {
    max-width: 100%;
    overflow-wrap: anywhere;
    color: var(--public-muted);
  }
  .public-guide__pictograms {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .public-guide__registry {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: var(--public-line);
    border: 1px solid var(--public-line);
  }
  .public-guide__registry article {
    display: grid;
    gap: var(--public-space-2xs);
    padding: var(--public-space-md);
    background: var(--public-white);
  }
  .public-guide__registry-summary {
    display: flex;
    gap: var(--public-space-sm);
    align-items: baseline;
    color: var(--public-muted);
  }
  .public-guide__registry-summary strong {
    color: var(--public-blue);
  }
  @media (max-width: 1023px) {
    .public-guide {
      padding-top: 12rem;
    }
    .public-guide__swatches {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .public-guide__cards {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .public-guide__pictograms {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .public-guide__state-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px) {
    .public-guide {
      padding-top: 10rem;
    }
    .public-guide__tabs {
      gap: var(--public-space-lg);
    }
    .public-guide__section-head, .public-guide__statement, .public-guide__swatches, .public-guide__cards, .public-guide__registry, .public-guide__motion-grid, .public-guide__utility-row, .public-guide__spacing-row {
      grid-template-columns: 1fr;
    }
    .public-guide__pictogram-sizes, .public-guide__pictograms {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .public-guide__state-grid, .public-guide__feedback-grid {
      grid-template-columns: 1fr;
    }
    .public-guide__logo-stage, .public-guide__statement, .public-guide__stack {
      padding: var(--public-space-lg);
    }
  }
  .public-notice {
    display: grid;
    grid-template-columns: 0.4rem minmax(0, 1fr);
    gap: var(--public-space-md);
    padding: var(--public-space-lg);
    color: var(--public-ink);
    background: var(--public-surface);
    border: 1px solid var(--public-line);
  }
  .public-notice__mark {
    background: var(--public-blue);
  }
  .public-notice__content {
    display: grid;
    gap: var(--public-space-xs);
  }
  .public-notice__message {
    margin: 0;
    color: var(--public-muted);
  }
  .public-notice__list {
    display: grid;
    gap: var(--public-space-xs);
    margin: 0;
    padding-left: var(--public-space-lg);
  }
  .public-notice--success .public-notice__mark {
    background: var(--public-feedback-success);
  }
  .public-notice--warning .public-notice__mark {
    background: var(--public-feedback-warning);
  }
  .public-notice--error .public-notice__mark {
    background: var(--public-feedback-error);
  }
  .newyoung-notice-archive {
    --notice-directory-title-font-size: clamp(2.8rem, 2.5vw, 3.6rem);
    --notice-directory-item-font-size: clamp(1.5rem, 1.12vw, 1.6rem);
    position: relative;
    min-height: 100svh;
    padding: calc(var(--public-header-height) + 7rem) 0 10rem;
    box-sizing: border-box;
    color: var(--public-ink, var(--clr-base-black));
    background: var(--public-surface-subtle);
  }
  .newyoung-notice-archive__inner {
    display: grid;
    grid-template-columns: 4fr 8fr;
    align-items: start;
  }
  .newyoung-notice-archive__hero, .newyoung-notice-archive__content {
    width: 100%;
  }
  .newyoung-notice-archive__hero {
    grid-column: 1;
    min-height: 0;
    padding: 0;
    text-align: left;
    background: transparent;
  }
  .newyoung-notice-archive__intro {
    max-width: 26rem;
  }
  .newyoung-notice-archive__eyebrow, .newyoung-notice-archive__description {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
  }
  .newyoung-notice-archive__title {
    max-width: 18ch;
    margin: 0;
    color: var(--public-ink);
    font-family: var(--font-display-family);
    font-size: var(--notice-directory-title-font-size);
    font-weight: var(--font-weight-medium);
    line-height: 1.1;
    letter-spacing: 0.03em;
    text-wrap: balance;
  }
  .newyoung-notice-archive__content {
    position: relative;
    grid-column: 2;
    min-width: 0;
    padding: 0;
  }
  .newyoung-notice-archive__list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid color-mix(in srgb, var(--public-ink) 12%, transparent);
  }
  .newyoung-notice-archive__row {
    border-bottom: 1px solid color-mix(in srgb, var(--public-ink) 12%, transparent);
  }
  .newyoung-notice-archive__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 10rem;
    align-items: center;
    gap: var(--public-space-lg);
    min-height: 8.1rem;
    padding: 3rem 2rem;
    box-sizing: border-box;
    color: inherit;
    border-bottom: 0;
  }
  .newyoung-notice-archive__item:focus-visible {
    color: var(--public-ink);
    background: transparent;
    outline: var(--public-focus-width) solid var(--public-ink);
    outline-offset: calc(-1 * var(--public-focus-width));
  }
  .newyoung-notice-archive__item-title {
    display: flex;
    align-items: center;
    gap: var(--public-space-sm);
    min-width: 0;
    margin: 0;
    font-size: var(--notice-directory-item-font-size);
    font-weight: var(--font-weight-medium);
    line-height: 1.4;
    opacity: 1;
    transition: opacity var(--public-duration) var(--public-ease);
  }
  .newyoung-notice-archive__item:hover .newyoung-notice-archive__item-title, .newyoung-notice-archive__item:focus-visible .newyoung-notice-archive__item-title {
    opacity: 0.52;
  }
  .newyoung-notice-archive__category {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    white-space: nowrap;
    clip: rect(0 0 0 0);
    border: 0;
  }
  .newyoung-notice-archive__date {
    justify-self: end;
    color: var(--public-ink);
    font-size: var(--body-xs-fs);
    line-height: var(--body-xs-lh);
    white-space: nowrap;
  }
  .newyoung-notice-archive__empty {
    margin-top: 0;
    border-block: 1px solid color-mix(in srgb, var(--public-ink) 12%, transparent);
  }
  .newyoung-notice-archive .public-pagination {
    margin-top: var(--spacing-4xl);
  }
  @media (max-width: 899px) {
    .newyoung-notice-archive__item {
      gap: var(--public-space-md);
    }
  }
  @media (max-width: 767px) {
    .newyoung-notice-archive {
      min-height: 100svh;
      padding: calc(var(--public-header-height) + 6rem) 0 10rem;
    }
    .newyoung-notice-archive__inner {
      display: block;
    }
    .newyoung-notice-archive__hero {
      min-height: 0;
      padding: 0;
    }
    .newyoung-notice-archive__intro, .newyoung-notice-archive__title {
      max-width: none;
    }
    .newyoung-notice-archive__content {
      margin-top: 4rem;
      padding: 0;
    }
    .newyoung-notice-archive__item {
      grid-template-columns: minmax(0, 1fr);
      justify-items: start;
      gap: var(--public-space-xs);
      min-height: 0;
      padding: 2rem 0;
    }
    .newyoung-notice-archive__date {
      justify-self: start;
      color: color-mix(in srgb, var(--public-ink) 52%, transparent);
    }
  }
  .newyoung-notice-archive--overview .newyoung-notice-archive__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 4rem;
    scroll-margin-top: calc(var(--public-header-height) + 3rem);
  }
  .newyoung-notice-archive--overview .newyoung-notice-archive__inner + .newyoung-notice-archive__inner {
    margin-top: 10rem;
  }
  .newyoung-notice-archive--overview .newyoung-notice-archive__hero,
  .newyoung-notice-archive--overview .newyoung-notice-archive__content {
    grid-column: 1;
  }
  .newyoung-notice-archive--overview .newyoung-notice-archive__intro {
    max-width: none;
  }
  .newyoung-notice-archive--overview .newyoung-notice-archive__title {
    max-width: none;
    white-space: pre-line;
    text-wrap: initial;
  }
  .newyoung-notice-archive--overview .newyoung-notice-archive__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3.2rem;
    border-top: 0;
  }
  .newyoung-notice-archive--overview .newyoung-notice-archive__row {
    min-width: 0;
  }
  .newyoung-notice-archive--overview .newyoung-notice-archive__item {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.4rem;
    padding: 0 0 2.4rem;
    height: 100%;
  }
  .newyoung-notice-archive--overview .newyoung-notice-archive__thumbnail {
    display: block;
    aspect-ratio: 32/21;
    overflow: hidden;
    background: var(--public-surface);
  }
  .newyoung-notice-archive--overview .newyoung-notice-archive__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .newyoung-notice-archive--overview .newyoung-notice-archive__item-title {
    font-size: clamp(1.8rem, 1.4vw, 2.2rem);
    overflow-wrap: anywhere;
  }
  .newyoung-notice-archive--overview .newyoung-notice-archive__date {
    margin-top: auto;
    align-self: start;
  }
  .newyoung-notice-archive--overview .newyoung-notice-archive__more {
    display: inline-block;
    margin-top: 2rem;
    text-decoration: underline;
  }
  @media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .newyoung-notice-archive--overview .newyoung-notice-archive__thumbnail img {
      transition: transform var(--dur-slower) var(--ease-out-quart);
    }
    .newyoung-notice-archive--overview .newyoung-notice-archive__item:is(:hover, :focus-visible) .newyoung-notice-archive__thumbnail img {
      transform: scale(1.04);
    }
  }
  @media (max-width: 767px) {
    .newyoung-notice-archive--overview .newyoung-notice-archive__inner {
      display: grid;
      gap: 2.8rem;
    }
    .newyoung-notice-archive--overview .newyoung-notice-archive__inner + .newyoung-notice-archive__inner {
      margin-top: 7rem;
    }
    .newyoung-notice-archive--overview .newyoung-notice-archive__content {
      margin-top: 0;
    }
    .newyoung-notice-archive--overview .newyoung-notice-archive__list {
      grid-template-columns: minmax(0, 1fr);
      gap: 3.2rem;
    }
  }
  .post-detail--newyoung-notice {
    min-height: 100svh;
    color: var(--public-ink);
    background: var(--public-surface-subtle);
  }
  .post-detail--newyoung-notice .post-detail__body {
    min-width: 0;
  }
  .post-detail--newyoung-notice .post-detail__head,
  .post-detail--newyoung-notice .post-detail__back {
    width: 100%;
  }
  .post-detail--newyoung-notice .post-detail__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--public-space-lg);
    margin-bottom: 4rem;
    padding: 2.4rem 2rem;
    border-bottom: 1px solid var(--public-ink);
  }
  .post-detail--newyoung-notice .post-detail__title {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    color: var(--public-ink);
    font-size: 1.8rem;
    font-family: var(--font-heading-family);
    font-weight: var(--font-weight-medium);
    line-height: 1.4;
    text-wrap: balance;
  }
  .post-detail--newyoung-notice .post-detail__meta {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    color: var(--public-ink);
  }
  .post-detail--newyoung-notice .post-detail__date {
    color: inherit;
    font-size: 1.6rem;
    line-height: 1.3;
    white-space: nowrap;
  }
  .post-detail--newyoung-notice .post-detail__article {
    width: 100%;
  }
  .post-detail--newyoung-notice .post-detail__thumb {
    margin: 0 0 4rem;
  }
  .post-detail--newyoung-notice .post-detail__thumb img {
    width: auto;
    max-width: 100%;
    max-height: none;
    border-radius: 0;
    object-fit: contain;
  }
  .post-detail--newyoung-notice .post-detail__content strong, .post-detail--newyoung-notice .post-detail__content b {
    font-weight: 700;
  }
  .post-detail--newyoung-notice .post-detail__content em, .post-detail--newyoung-notice .post-detail__content i {
    font-style: italic;
  }
  .post-detail--newyoung-notice .post-detail__content u {
    text-decoration: underline;
  }
  .post-detail--newyoung-notice .post-detail__content s, .post-detail--newyoung-notice .post-detail__content strike {
    text-decoration: line-through;
  }
  .post-detail--newyoung-notice .post-detail__content a {
    text-decoration: underline;
    text-underline-offset: 0.15em;
  }
  .post-detail--newyoung-notice .post-detail__content h1, .post-detail--newyoung-notice .post-detail__content h2, .post-detail--newyoung-notice .post-detail__content h3, .post-detail--newyoung-notice .post-detail__content h4, .post-detail--newyoung-notice .post-detail__content h5, .post-detail--newyoung-notice .post-detail__content h6 {
    font-weight: 700;
    line-height: 1.4;
  }
  .post-detail--newyoung-notice .post-detail__content h1 {
    font-size: 2em;
  }
  .post-detail--newyoung-notice .post-detail__content h2 {
    font-size: 1.5em;
  }
  .post-detail--newyoung-notice .post-detail__content h3 {
    font-size: 1.25em;
  }
  .post-detail--newyoung-notice .post-detail__content h4 {
    font-size: 1.125em;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-align-center {
    text-align: center;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-align-right {
    text-align: right;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-align-justify {
    text-align: justify;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-direction-rtl {
    direction: rtl;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-font-serif {
    font-family: Georgia, "Times New Roman", serif;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-font-monospace {
    font-family: ui-monospace, "Cascadia Code", monospace;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-font-display, .post-detail--newyoung-notice .post-detail__content .ql-font-inter {
    font-family: Inter, "Segoe UI", system-ui, sans-serif;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-font-pretendard {
    font-family: "Pretendard Variable", Pretendard, "Noto Sans KR", sans-serif;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-font-noto {
    font-family: "Noto Sans KR", "Pretendard Variable", sans-serif;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-font-nanum {
    font-family: "Nanum Gothic", "Noto Sans KR", sans-serif;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-font-cormorant {
    font-family: "Cormorant Garamond", Georgia, serif;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-font-rounded {
    font-family: "Arial Rounded MT Bold", Pretendard, system-ui, sans-serif;
  }
  .post-detail--newyoung-notice .post-detail__content ul, .post-detail--newyoung-notice .post-detail__content ol {
    padding-inline-start: 1.75em;
  }
  .post-detail--newyoung-notice .post-detail__content ul > li, .post-detail--newyoung-notice .post-detail__content li[data-list=bullet] {
    list-style-type: disc;
  }
  .post-detail--newyoung-notice .post-detail__content ol > li {
    list-style-type: decimal;
  }
  .post-detail--newyoung-notice .post-detail__content ol > li[data-list=bullet] {
    list-style-type: disc;
  }
  .post-detail--newyoung-notice .post-detail__content li {
    display: list-item;
  }
  .post-detail--newyoung-notice .post-detail__content ol {
    counter-reset: article-list;
  }
  .post-detail--newyoung-notice .post-detail__content li[data-list=ordered] {
    counter-increment: article-list;
  }
  .post-detail--newyoung-notice .post-detail__content li[data-list=ordered]::marker {
    content: counter(article-list) ". ";
  }
  .post-detail--newyoung-notice .post-detail__content .ql-ui, .post-detail--newyoung-notice .post-detail__content .ql-table-temporary {
    display: none;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-indent-1 {
    padding-inline-start: 3em;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-indent-2 {
    padding-inline-start: 6em;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-indent-3 {
    padding-inline-start: 9em;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-indent-4 {
    padding-inline-start: 12em;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-indent-5 {
    padding-inline-start: 15em;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-indent-6 {
    padding-inline-start: 18em;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-indent-7 {
    padding-inline-start: 21em;
  }
  .post-detail--newyoung-notice .post-detail__content .ql-indent-8 {
    padding-inline-start: 24em;
  }
  .post-detail--newyoung-notice .post-detail__content blockquote {
    border-inline-start: 3px solid currentColor;
    padding-inline-start: 1em;
  }
  .post-detail--newyoung-notice .post-detail__content pre, .post-detail--newyoung-notice .post-detail__content .ql-code-block-container {
    font-family: ui-monospace, "Cascadia Code", monospace;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    padding: 1em;
    background: var(--public-surface-subtle);
    margin-bottom: var(--spacing-lg);
  }
  .post-detail--newyoung-notice .post-detail__content table {
    border-collapse: collapse;
    max-width: 100%;
  }
  .post-detail--newyoung-notice .post-detail__content td, .post-detail--newyoung-notice .post-detail__content th {
    border: 1px solid var(--public-line-strong);
    padding: 0.5em 0.75em;
    vertical-align: top;
  }
  .post-detail--newyoung-notice .post-detail__content th {
    font-weight: 700;
  }
  .post-detail--newyoung-notice .post-detail__content td > p, .post-detail--newyoung-notice .post-detail__content th > p {
    margin: 0;
  }
  .post-detail--newyoung-notice .post-detail__content video, .post-detail--newyoung-notice .post-detail__content iframe {
    max-width: 100%;
  }
  .post-detail--newyoung-notice .post-detail__content {
    color: var(--public-ink);
    font-size: 1.6rem;
    line-height: 1.75;
    overflow-wrap: anywhere;
    word-break: keep-all;
  }
  .post-detail--newyoung-notice .post-detail__content > :first-child {
    margin-top: 0;
  }
  .post-detail--newyoung-notice .post-detail__content :where(p, ul, ol, h2, h3, h4, blockquote, table) {
    width: 100%;
  }
  .post-detail--newyoung-notice .post-detail__content :where(p, ul, ol, h2, h3, h4, blockquote, figure, table) {
    margin-bottom: 2.4rem;
  }
  .post-detail--newyoung-notice .post-detail__content :where(p, figure):has(img) {
    width: 100%;
  }
  .post-detail--newyoung-notice .post-detail__content figure {
    margin-inline: auto;
  }
  .post-detail--newyoung-notice .post-detail__content img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
    object-fit: contain;
  }
  .post-detail--newyoung-notice .post-detail__content img[width="25%"] {
    width: 25%;
  }
  .post-detail--newyoung-notice .post-detail__content img[width="50%"] {
    width: 50%;
  }
  .post-detail--newyoung-notice .post-detail__content img[width="75%"] {
    width: 75%;
  }
  .post-detail--newyoung-notice .post-detail__content img[width="100%"] {
    width: 100%;
  }
  .post-detail--newyoung-notice .post-detail__content figcaption {
    width: 100%;
    margin: 1.2rem auto 0;
    color: color-mix(in srgb, var(--public-ink) 58%, transparent);
    font-size: 1.3rem;
    line-height: 1.6;
    text-align: center;
  }
  .post-detail--newyoung-notice .post-detail__content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
  .post-detail--newyoung-notice .post-attachments {
    width: 100%;
    margin-top: 4rem;
    color: var(--public-ink);
  }
  .post-detail--newyoung-notice .post-attachments__title {
    margin-bottom: 1.2rem;
    font-size: 1.4rem;
  }
  .post-detail--newyoung-notice .post-attachments__list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--public-line);
  }
  .post-detail--newyoung-notice .post-attachments__link {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    padding-block: 1.2rem;
    border-bottom: 1px solid var(--public-line);
    color: inherit;
    font-size: 1.4rem;
  }
  .post-detail--newyoung-notice .post-attachments__icon,
  .post-detail--newyoung-notice .post-attachments__size {
    flex: 0 0 auto;
  }
  .post-detail--newyoung-notice .post-attachments__name {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .post-detail--newyoung-notice .post-attachments__size {
    color: var(--public-muted);
    font-size: 1.2rem;
  }
  .post-detail--newyoung-notice .post-prev-next {
    display: flex;
    flex-direction: column;
    margin-top: 3.2rem;
    border-top: 1px solid var(--public-line-strong);
  }
  .post-detail--newyoung-notice .post-prev-next__cell {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    padding-block: 1.6rem;
    border-bottom: 1px solid var(--public-line);
    color: var(--public-ink);
  }
  .post-detail--newyoung-notice .post-prev-next__label,
  .post-detail--newyoung-notice .post-prev-next__date {
    flex: 0 0 auto;
    color: var(--public-muted);
    font-size: 1.3rem;
  }
  .post-detail--newyoung-notice .post-prev-next__title {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 1.4rem;
  }
  .post-detail--newyoung-notice .post-attachments__link:hover,
  .post-detail--newyoung-notice a.post-prev-next__cell:hover {
    background: var(--public-surface-subtle);
  }
  .post-detail--newyoung-notice .post-attachments__link:focus-visible,
  .post-detail--newyoung-notice a.post-prev-next__cell:focus-visible {
    outline: 2px solid var(--public-ink);
    outline-offset: 3px;
  }
  @media (max-width: 543px) {
    .post-detail--newyoung-notice .post-prev-next__date {
      display: none;
    }
  }
  .post-detail--newyoung-notice .post-detail__spacer {
    padding-top: clamp(12.8rem, 8.284789644vw + 9.6932038835rem, 25.6rem);
  }
  .post-detail--newyoung-notice .post-detail__back {
    display: flex;
    justify-content: center;
    margin-top: 0;
    padding-top: 3rem;
    border-top: 1px solid var(--public-ink);
  }
  .post-detail--newyoung-notice .post-detail__back .public-button {
    --public-button-min-height: var(--public-control-sm);
    --public-button-padding-inline: var(--public-space-lg);
    color: var(--public-ink);
    border-color: var(--public-ink);
  }
  @media (max-width: 767px) {
    .post-detail--newyoung-notice .post-detail__head {
      display: block;
      margin-bottom: 4rem;
      padding: 0 0 2.4rem;
    }
    .post-detail--newyoung-notice .post-detail__title {
      font-size: 2rem;
    }
    .post-detail--newyoung-notice .post-detail__meta {
      margin-top: 0.8rem;
    }
    .post-detail--newyoung-notice .post-detail__date {
      color: color-mix(in srgb, var(--public-ink) 56%, transparent);
      font-size: 1.4rem;
    }
    .post-detail--newyoung-notice .post-detail__content {
      font-size: 1.5rem;
      line-height: 1.7;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .newyoung-notice-archive__item-title {
      transition: none;
    }
  }
  .public-error-state {
    display: grid;
    min-height: 100dvh;
    place-items: center;
    padding: var(--public-space-2xl) var(--public-shell-gutter);
    color: var(--public-ink);
    background: var(--public-surface);
  }
  .public-error-state__inner {
    width: min(100%, 56rem);
    text-align: center;
  }
  .public-error-state__title {
    margin: 0 0 var(--public-space-sm);
  }
  .public-error-state__description {
    margin: 0;
    color: var(--public-muted);
  }
  .public-error-state__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--public-space-sm);
    margin-top: var(--public-space-2xl);
  }
  .public-legal-document {
    background: var(--public-white);
  }
  .public-legal-document__inner {
    display: flex;
    flex-direction: column;
    gap: var(--public-space-page);
  }
  .public-legal-document__body {
    display: grid;
    gap: var(--public-space-2xl);
    min-width: 0;
  }
  .public-legal-document__main {
    width: min(100%, 88ch);
  }
  .public-legal-document__section {
    display: grid;
    gap: var(--public-space-md);
    padding-top: var(--public-space-3xl);
    margin-top: var(--public-space-3xl);
    border-top: 1px solid var(--public-line);
    scroll-margin-top: calc(var(--public-header-height) + var(--public-space-md));
  }
  .public-legal-document__section:first-child {
    padding-top: 0;
    margin-top: 0;
    border-top: 0;
  }
  .public-legal-document__title {
    color: var(--public-ink);
  }
  .public-legal-document__copy {
    margin: 0;
    color: var(--public-muted);
    white-space: pre-line;
  }
  .public-legal-document__rich-content {
    overflow-wrap: anywhere;
  }
  .public-legal-document__rich-content h2, .public-legal-document__rich-content h3, .public-legal-document__rich-content h4 {
    margin: var(--public-space-3xl) 0 var(--public-space-xs);
    font-size: var(--heading-xs-fs);
    line-height: var(--heading-xs-lh);
    font-weight: var(--font-weight-medium);
  }
  .public-legal-document__rich-content > :first-child {
    margin-top: 0;
  }
  .public-legal-document__rich-content p, .public-legal-document__rich-content ul, .public-legal-document__rich-content ol, .public-legal-document__rich-content blockquote {
    margin: 0 0 var(--public-space-md);
  }
  .public-legal-document__rich-content ul, .public-legal-document__rich-content ol {
    padding-left: 1.5em;
  }
  .public-legal-document__rich-content ul {
    list-style: disc;
  }
  .public-legal-document__rich-content ol {
    list-style: decimal;
  }
  .public-legal-document__rich-content a {
    text-decoration: underline;
  }
  .public-legal-document__aside {
    order: -1;
    padding-bottom: var(--public-space-2xl);
    border-bottom: 1px solid var(--public-line);
  }
  .public-legal-document__toc-label {
    margin-bottom: var(--public-space-md);
    color: var(--public-blue);
    letter-spacing: 0.12em;
  }
  .public-legal-document__toc-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--public-space-xs) var(--public-space-xl);
  }
  .public-legal-document__toc-link {
    display: inline-flex;
    width: fit-content;
    padding-block: var(--public-space-2xs);
    color: var(--public-muted);
    text-decoration: none;
    transition: color var(--public-duration) var(--public-ease);
    position: relative;
  }
  .public-legal-document__toc-link::after {
    position: absolute;
    right: 0;
    bottom: -0.4rem;
    left: 0;
    height: 1px;
    background: currentColor;
    content: "";
    pointer-events: none;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform var(--public-duration) var(--public-ease);
  }
  @media (prefers-reduced-motion: reduce) {
    .public-legal-document__toc-link::after {
      transition-duration: 0.01ms;
    }
  }
  .public-legal-document__toc-link:hover, .public-legal-document__toc-link:focus-visible {
    color: var(--public-blue);
  }
  .public-legal-document__toc-link:hover::after, .public-legal-document__toc-link:focus-visible::after {
    transform: scaleX(1);
    transform-origin: left center;
  }
  .public-legal-document--plain {
    padding-top: calc(var(--public-header-height) + var(--section-sm));
    padding-bottom: var(--section-lg);
    color: var(--public-brand-dark);
    background: var(--public-brand-surface);
  }
  .public-legal-document--plain .public-legal-document__inner {
    display: block;
  }
  .public-legal-document--plain .public-legal-document__body {
    width: min(100%, 104rem);
    gap: 0;
    margin-inline: auto;
  }
  .public-legal-document--plain .public-legal-document__intro {
    margin-bottom: var(--public-space-page);
  }
  .public-legal-document--plain .public-legal-document__page-title {
    max-width: 18ch;
    margin: 0;
    color: var(--public-brand-dark);
  }
  .public-legal-document--plain .public-legal-document__main {
    width: 100%;
  }
  .public-legal-document--plain .public-legal-document__section {
    gap: var(--public-space-xs);
    padding-top: 0;
    margin-top: var(--public-space-3xl);
    border-top: 0;
  }
  .public-legal-document--plain .public-legal-document__section:first-child {
    margin-top: 0;
  }
  .public-legal-document--plain .public-legal-document__title {
    color: var(--public-brand-dark);
  }
  .public-legal-document--plain .public-legal-document__copy {
    color: var(--public-brand-dark);
  }
  @media (max-width: 768px) {
    .public-legal-document__inner {
      gap: var(--public-space-3xl);
    }
    .public-legal-document__aside {
      display: none;
    }
    .public-legal-document--plain {
      padding-top: calc(var(--public-header-height) + var(--public-space-3xl));
      padding-bottom: var(--section-md);
    }
    .public-legal-document--plain .public-legal-document__intro {
      margin-bottom: var(--public-space-3xl);
    }
    .public-legal-document--plain .public-legal-document__section {
      margin-top: var(--public-space-2xl);
    }
  }
  .public-non-covered-costs {
    padding-top: calc(var(--public-header-height) + var(--section-sm));
    padding-bottom: var(--section-lg);
    min-height: 85vh;
    color: var(--public-ink);
    background: var(--public-brand-surface);
  }
  .public-non-covered-costs__container {
    width: min(100%, 104rem);
    margin-inline: auto;
  }
  .public-non-covered-costs__title {
    margin: 0 0 var(--public-space-xl);
    color: var(--public-brand-dark);
  }
  .public-non-covered-costs__group {
    display: grid;
    gap: var(--public-space-sm);
  }
  .public-non-covered-costs__group-title {
    margin: 0;
    color: var(--public-brand-dark);
  }
  .public-non-covered-costs__table-scroll {
    max-width: 100%;
    border-bottom: 1px solid var(--public-line-strong);
  }
  .public-non-covered-costs__table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    border-top: 1px solid var(--public-line-strong);
  }
  .public-non-covered-costs__table th, .public-non-covered-costs__table td {
    padding: var(--public-space-sm);
    border-bottom: 1px solid var(--public-line);
    text-align: left;
    overflow-wrap: anywhere;
  }
  .public-non-covered-costs__table th {
    color: var(--public-brand-dark);
    font-weight: var(--list-title-fw);
  }
  .public-non-covered-costs__table td {
    color: var(--public-muted);
  }
  .public-non-covered-costs__table th:first-child, .public-non-covered-costs__table td:first-child {
    width: 6rem;
  }
  .public-non-covered-costs__table th:last-child, .public-non-covered-costs__table td:last-child {
    width: 20%;
    text-align: right;
  }
  .public-non-covered-costs__table tbody tr:last-child td {
    border-bottom: 0;
  }
  .public-non-covered-costs__cost-label {
    display: none;
  }
  @media (max-width: 767px) {
    .public-non-covered-costs {
      padding-top: calc(var(--public-header-height) + var(--public-space-3xl));
      padding-bottom: var(--section-md);
    }
    .public-non-covered-costs__title {
      margin-bottom: var(--public-space-lg);
    }
    .public-non-covered-costs__table-scroll {
      border: 0;
    }
    .public-non-covered-costs__table {
      display: block;
      border: 0;
    }
    .public-non-covered-costs__table thead {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      overflow: hidden;
      clip-path: inset(50%);
      white-space: nowrap;
    }
    .public-non-covered-costs__table tbody {
      display: grid;
      gap: var(--public-space-xs);
    }
    .public-non-covered-costs__table tbody tr {
      display: grid;
      gap: var(--public-space-2xs);
      min-width: 0;
      padding: var(--public-space-sm);
      border: 1px solid var(--public-line);
      border-radius: var(--public-radius-sm);
    }
    .public-non-covered-costs__table td {
      min-width: 0;
      padding: 0;
      border: 0;
    }
    .public-non-covered-costs__table th:first-child, .public-non-covered-costs__table td:first-child {
      display: none;
    }
    .public-non-covered-costs__table td:nth-child(2) {
      color: var(--public-brand-dark);
      font-weight: var(--list-title-fw);
    }
    .public-non-covered-costs__table td:last-child {
      width: auto;
      text-align: left;
    }
    .public-non-covered-costs__cost-label {
      display: inline;
      margin-right: var(--public-space-2xs);
    }
  }
  :root {
    --e-bg: var(--clr-base-white);
    --e-fg: var(--clr-text-base);
    --e-brand: var(--clr-primary-900);
    --e-muted: var(--clr-text-sub);
    --e-line: var(--clr-ui-border);
    --e-line-light: var(--clr-gray-100);
    --e-accent: var(--clr-status-error);
    --e-accent-bg: var(--clr-primary-50);
    --e-code-bg: #1e1e1e;
    --e-code-fg: #d4d4d4;
  }
  .e-body {
    margin: 0;
    background: var(--e-bg);
    color: var(--e-fg);
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  }
  .e-404 {
    max-width: 400px;
    width: 100%;
    text-align: center;
  }
  .e-404__icon {
    margin: 0 auto 28px;
    color: var(--e-brand);
  }
  .e-404__icon svg {
    width: 64px;
    height: 64px;
    stroke-width: 1.5;
  }
  .e-404__num {
    font-size: clamp(48px, 10vw, 72px);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1;
    margin: 0 0 16px;
    color: var(--e-brand);
  }
  .e-404__title {
    font-size: clamp(15px, 2vw, 16px);
    font-weight: 500;
    margin: 0 0 8px;
    color: var(--e-fg);
  }
  .e-404__desc {
    font-size: 13px;
    color: var(--e-muted);
    margin: 0 0 32px;
    line-height: 1.6;
  }
  .e-404__actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
  }
  .e-btn {
    appearance: none;
    border: 1px solid var(--e-line);
    background: transparent;
    color: var(--e-fg);
    border-radius: 6px;
    padding: 10px 18px;
    font-size: 13px;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  }
  .e-btn:hover {
    background: var(--e-line-light);
    border-color: var(--e-line);
  }
  .e-btn--primary {
    background: var(--e-brand);
    color: var(--e-bg);
    border-color: var(--e-brand);
  }
  .e-btn--primary:hover {
    opacity: 0.9;
  }
  .e-error {
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
  }
  .e-error__container {
    width: min(720px, 100%);
    text-align: left;
  }
  .e-error__header {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 20px;
  }
  .e-error__badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    color: var(--e-fg);
    background: var(--e-line-light);
    border: 1px solid var(--e-line);
  }
  .e-error__exception {
    font-size: 12px;
    color: var(--e-muted);
    font-family: ui-monospace, monospace;
    padding: 4px 10px;
    background: var(--e-line-light);
    border-radius: 4px;
    border: 1px solid var(--e-line);
  }
  .e-error__title {
    font-size: clamp(22px, 3.5vw, 32px);
    font-weight: 700;
    margin: 0 0 12px;
    color: var(--e-fg);
    line-height: 1.25;
  }
  .e-error__desc {
    font-size: 15px;
    color: var(--e-muted);
    margin: 0 0 24px;
    line-height: 1.6;
  }
  .e-error__desc .e-error__path {
    padding: 2px 8px;
    background: var(--e-line-light);
    border-radius: 4px;
    font-size: 13px;
  }
  .e-error__source {
    margin: 24px 0;
    border: 1px solid var(--e-line-light);
    border-radius: 8px;
    overflow: hidden;
  }
  .e-error__source-header {
    padding: 12px 16px;
    font-size: 12px;
    font-family: ui-monospace, monospace;
    background: var(--e-line-light);
    color: var(--e-fg);
    border-bottom: 1px solid var(--e-line);
  }
  .e-error__source-file {
    color: var(--e-muted);
  }
  .e-error__source-line {
    color: var(--e-accent);
    font-weight: 600;
  }
  .e-error__snippet {
    background: var(--e-code-bg);
    color: var(--e-code-fg);
  }
  .e-error__snippet-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    font-family: ui-monospace, "Cascadia Code", "Fira Code", monospace;
  }
  .e-error__snippet-row td {
    padding: 4px 16px;
    vertical-align: top;
  }
  .e-error__snippet-row--active td {
    background: var(--e-accent-bg);
    color: var(--e-accent);
  }
  .e-error__snippet-row--active .e-error__snippet-num {
    color: var(--e-accent);
    font-weight: 600;
  }
  .e-error__snippet-num {
    width: 1%;
    min-width: 48px;
    padding-right: 16px;
    text-align: right;
    user-select: none;
    color: var(--e-muted);
  }
  .e-error__snippet-code code {
    display: block;
    white-space: pre;
    overflow-x: auto;
  }
  .e-error__meta {
    margin: 24px 0;
    padding: 20px;
    border: 1px solid var(--e-line-light);
    border-radius: 8px;
    font-size: 13px;
    background: var(--e-bg);
  }
  .e-error__meta dt {
    color: var(--e-muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 4px;
  }
  .e-error__meta dd {
    margin: 0 0 16px;
    word-break: break-all;
  }
  .e-error__meta dd:last-child {
    margin-bottom: 0;
  }
  .e-error__meta dd code {
    padding: 2px 6px;
    background: var(--e-line-light);
    border-radius: 4px;
    font-size: 12px;
  }
  .e-error__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 24px 0;
  }
  .e-error__details {
    margin-top: 24px;
    border: 1px solid var(--e-line-light);
    border-radius: 8px;
    overflow: hidden;
  }
  .e-error__details-summary {
    padding: 14px 18px;
    cursor: pointer;
    font-weight: 600;
    font-size: 13px;
    background: var(--e-line-light);
    color: var(--e-fg);
    user-select: none;
  }
  .e-error__details-summary:hover {
    background: var(--e-line);
  }
  .e-error__pre {
    margin: 0;
    padding: 16px;
    max-height: 320px;
    overflow: auto;
    font-size: 11px;
    line-height: 1.5;
    font-family: ui-monospace, monospace;
    background: var(--e-code-bg);
    color: var(--e-code-fg);
  }
  .e-btn--link {
    border-color: transparent;
    text-decoration: underline;
    color: var(--e-muted);
  }
  .e-btn--link:hover {
    background: transparent;
    border-color: transparent;
    color: var(--e-fg);
    opacity: 1;
  }
}

/*# sourceMappingURL=style.css.map */
