#hero h1{font-size:clamp(34px,5vw,68px)!important;width:auto!important;max-width:none!important;line-height:1.07!important;margin-top:16px!important}

/* ============================================================
   FONTS — webfont declarations
   Headings : Cormorant Garamond (serif display)
   Body/UI  : Inter (grotesque sans)
   Loaded from Google Fonts CDN. See readme → "Font substitution".
   ============================================================ */

/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/1ec25183-5a06-48c3-9a29-430b94511725.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/c8b7f195-5b96-494f-a67d-8e90a88d81ce.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/94b2d19c-0ecf-4588-a764-1f000c1b5ff5.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;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/023f12ba-8d5a-445e-a3e7-b4de017d1a1d.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/cb2436de-b470-499d-9852-f6402d77a4c4.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/1ec25183-5a06-48c3-9a29-430b94511725.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/c8b7f195-5b96-494f-a67d-8e90a88d81ce.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/94b2d19c-0ecf-4588-a764-1f000c1b5ff5.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;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/023f12ba-8d5a-445e-a3e7-b4de017d1a1d.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/cb2436de-b470-499d-9852-f6402d77a4c4.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/be0f3bf4-3a0c-486f-9353-e47f95973fd1.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/c58c83ea-d59c-4068-815c-66abe6b2da9d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/af4a8646-0b83-4b63-9ccc-db1010bbeae7.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;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/52cb6b20-cdc4-44fd-a7a7-cf5c79433786.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/32d4a282-e36f-4506-9953-cfc6bc9aef2e.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/be0f3bf4-3a0c-486f-9353-e47f95973fd1.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/c58c83ea-d59c-4068-815c-66abe6b2da9d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/af4a8646-0b83-4b63-9ccc-db1010bbeae7.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;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/52cb6b20-cdc4-44fd-a7a7-cf5c79433786.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/32d4a282-e36f-4506-9953-cfc6bc9aef2e.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/be0f3bf4-3a0c-486f-9353-e47f95973fd1.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/c58c83ea-d59c-4068-815c-66abe6b2da9d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/af4a8646-0b83-4b63-9ccc-db1010bbeae7.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;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/52cb6b20-cdc4-44fd-a7a7-cf5c79433786.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/32d4a282-e36f-4506-9953-cfc6bc9aef2e.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/be0f3bf4-3a0c-486f-9353-e47f95973fd1.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/c58c83ea-d59c-4068-815c-66abe6b2da9d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/af4a8646-0b83-4b63-9ccc-db1010bbeae7.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;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/52cb6b20-cdc4-44fd-a7a7-cf5c79433786.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/32d4a282-e36f-4506-9953-cfc6bc9aef2e.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/c279ce1e-4a52-466c-92a1-47ed715b44bc.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/a5758faa-f66c-43ce-9d64-d2861265dd79.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/517a2364-bc40-4ffd-8085-6da9a18799a6.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/a1b3e77f-8e71-4a95-9780-b8b782d487a8.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/d7909755-6dd5-4599-b1af-f049f1689585.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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/f11ffddc-e4f4-4d24-ae15-73d1a49bc2ba.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/37498f4c-e8f5-499f-b50b-40435549eeda.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/c279ce1e-4a52-466c-92a1-47ed715b44bc.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/a5758faa-f66c-43ce-9d64-d2861265dd79.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/517a2364-bc40-4ffd-8085-6da9a18799a6.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/a1b3e77f-8e71-4a95-9780-b8b782d487a8.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/d7909755-6dd5-4599-b1af-f049f1689585.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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/f11ffddc-e4f4-4d24-ae15-73d1a49bc2ba.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/37498f4c-e8f5-499f-b50b-40435549eeda.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/c279ce1e-4a52-466c-92a1-47ed715b44bc.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/a5758faa-f66c-43ce-9d64-d2861265dd79.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/517a2364-bc40-4ffd-8085-6da9a18799a6.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/a1b3e77f-8e71-4a95-9780-b8b782d487a8.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/d7909755-6dd5-4599-b1af-f049f1689585.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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/f11ffddc-e4f4-4d24-ae15-73d1a49bc2ba.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/37498f4c-e8f5-499f-b50b-40435549eeda.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/c279ce1e-4a52-466c-92a1-47ed715b44bc.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/a5758faa-f66c-43ce-9d64-d2861265dd79.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/517a2364-bc40-4ffd-8085-6da9a18799a6.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/a1b3e77f-8e71-4a95-9780-b8b782d487a8.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/d7909755-6dd5-4599-b1af-f049f1689585.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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/f11ffddc-e4f4-4d24-ae15-73d1a49bc2ba.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/37498f4c-e8f5-499f-b50b-40435549eeda.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;
}

/* ============================================================
   COLORS — Broumovsko ubytování
   Cinematic, warm, photo-led. Light + dark by system + toggle.
   ------------------------------------------------------------
   Base palette (raw values) → semantic aliases below.
   Theme resolves via:
     • system preference (prefers-color-scheme)
     • explicit override on <html data-theme="light|dark">
   ============================================================ */

:root {
  /* ---- Raw palette · warm paper neutrals (light) ---- */
  --paper-50:  #FBF9F4;
  --paper-100: #F7F4EE;   /* page background */
  --paper-200: #FFFFFF;   /* raised surface  */
  --line-100:  #E6E0D3;   /* hairline border */
  --line-200:  #D8D1C0;   /* stronger divider */

  --ink-900:   #1C1B18;   /* primary text */
  --ink-600:   #6E6A60;   /* muted / secondary text */
  --ink-400:   #948F82;   /* faint / disabled text */

  /* ---- Raw palette · brass / gold accent ---- */
  --brass-light: #B08D4F; /* accent in light mode */
  --brass-dark:  #C7A35E; /* accent in dark mode  */
  --brass-deep:  #8E7038; /* pressed / hover-darken (light) */
  --brass-soft:  #EFE6D2; /* tinted accent surface */
  --on-brass:    #211A0A; /* text on gold fills */

  /* ---- Raw palette · cool charcoals (dark) ---- */
  --char-950: #111110;    /* page background (dark) */
  --char-900: #1A1A18;    /* raised surface (dark) */
  --char-800: #232320;    /* elevated surface (dark) */
  --char-line: #2C2B27;   /* hairline border (dark) */
  --char-line-strong: #3A3933;

  --bone-100: #F2ECE0;    /* primary text (dark) */
  --bone-400: #A9A294;    /* muted text (dark) */
  --bone-600: #7C766A;    /* faint text (dark) */

  /* ---- Semantic · status (shared, muted/cinematic) ---- */
  --status-available:        #4F7A52;
  --status-available-surface:#E7EFE3;
  --status-limited:          #B0823C;
  --status-limited-surface:  #F3E9D4;
  --status-booked:           #9A4A41;
  --status-booked-surface:   #F0E0DC;
}

/* ============================================================
   SEMANTIC ALIASES — use THESE in components.
   Default block = LIGHT theme.
   ============================================================ */
:root {
  --bg-page:        var(--paper-100);
  --surface:        var(--paper-200);
  --surface-sunken: var(--paper-50);
  --surface-raised: var(--paper-200);

  --text-strong:  var(--ink-900);
  --text-body:    var(--ink-900);
  --text-muted:   var(--ink-600);
  --text-faint:   var(--ink-400);
  --text-on-accent: var(--on-brass);

  --border:        var(--line-100);
  --border-strong: var(--line-200);

  --accent:        var(--brass-light);
  --accent-hover:  var(--brass-deep);
  --accent-soft:   var(--brass-soft);
  --accent-ring:   color-mix(in srgb, var(--brass-light) 38%, transparent);

  /* status tokens pass straight through */
  --ok-fg:    var(--status-available);
  --ok-bg:    var(--status-available-surface);
  --warn-fg:  var(--status-limited);
  --warn-bg:  var(--status-limited-surface);
  --busy-fg:  var(--status-booked);
  --busy-bg:  var(--status-booked-surface);

  color-scheme: light;
}

/* ---- LIGHT via explicit toggle (forces light over a dark OS) ---- */
[data-theme="light"] {
  --bg-page:        var(--paper-100);
  --surface:        var(--paper-200);
  --surface-sunken: var(--paper-50);
  --surface-raised: var(--paper-200);

  --text-strong:  var(--ink-900);
  --text-body:    var(--ink-900);
  --text-muted:   var(--ink-600);
  --text-faint:   var(--ink-400);
  --text-on-accent: var(--on-brass);

  --border:        var(--line-100);
  --border-strong: var(--line-200);

  --accent:        var(--brass-light);
  --accent-hover:  var(--brass-deep);
  --accent-soft:   var(--brass-soft);
  --accent-ring:   color-mix(in srgb, var(--brass-light) 38%, transparent);

  --ok-fg:    var(--status-available);
  --ok-bg:    var(--status-available-surface);
  --warn-fg:  var(--status-limited);
  --warn-bg:  var(--status-limited-surface);
  --busy-fg:  var(--status-booked);
  --busy-bg:  var(--status-booked-surface);

  color-scheme: light;
}

/* ---- DARK via explicit toggle ---- */
[data-theme="dark"] {
  --bg-page:        var(--char-950);
  --surface:        var(--char-900);
  --surface-sunken: var(--char-950);
  --surface-raised: var(--char-800);

  --text-strong:  var(--bone-100);
  --text-body:    var(--bone-100);
  --text-muted:   var(--bone-400);
  --text-faint:   var(--bone-600);
  --text-on-accent: var(--on-brass);

  --border:        var(--char-line);
  --border-strong: var(--char-line-strong);

  --accent:        var(--brass-dark);
  --accent-hover:  #D8B574;
  --accent-soft:   color-mix(in srgb, var(--brass-dark) 16%, var(--char-900));
  --accent-ring:   color-mix(in srgb, var(--brass-dark) 42%, transparent);

  --ok-fg:   #8FB390;  --ok-bg:   color-mix(in srgb, var(--status-available) 22%, var(--char-900));
  --warn-fg: #D6AE6A;  --warn-bg: color-mix(in srgb, var(--status-limited) 22%, var(--char-900));
  --busy-fg: #CC8C84;  --busy-bg: color-mix(in srgb, var(--status-booked) 22%, var(--char-900));

  color-scheme: dark;
}

/* ---- DARK via system preference (applies unless an explicit
        [data-theme="light"] override wins on specificity) ---- */
@media (prefers-color-scheme: dark) {
  :root {
    --bg-page:        var(--char-950);
    --surface:        var(--char-900);
    --surface-sunken: var(--char-950);
    --surface-raised: var(--char-800);

    --text-strong:  var(--bone-100);
    --text-body:    var(--bone-100);
    --text-muted:   var(--bone-400);
    --text-faint:   var(--bone-600);
    --text-on-accent: var(--on-brass);

    --border:        var(--char-line);
    --border-strong: var(--char-line-strong);

    --accent:        var(--brass-dark);
    --accent-hover:  #D8B574;
    --accent-soft:   color-mix(in srgb, var(--brass-dark) 16%, var(--char-900));
    --accent-ring:   color-mix(in srgb, var(--brass-dark) 42%, transparent);

    --ok-fg:   #8FB390;  --ok-bg:   color-mix(in srgb, var(--status-available) 22%, var(--char-900));
    --warn-fg: #D6AE6A;  --warn-bg: color-mix(in srgb, var(--status-limited) 22%, var(--char-900));
    --busy-fg: #CC8C84;  --busy-bg: color-mix(in srgb, var(--status-booked) 22%, var(--char-900));

    color-scheme: dark;
  }
}

/* ============================================================
   TYPOGRAPHY
   Serif display (Cormorant Garamond) for headings + figures.
   Inter for body, UI, labels. Overline = uppercase, tracked.
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-serif: 'Montserrat', var(--font-sans);
  --font-sans:  'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;

  /* ---- Weights ---- */
  --fw-regular:  400; /* @kind font */
  --fw-medium:   500; /* @kind font */
  --fw-semibold: 600; /* @kind font */
  --fw-bold:     700; /* @kind font */

  /* ---- Type scale (fluid-ish, px) ----
     Display sizes ride the serif; UI sizes ride Inter. */
  --fs-display-xl: 76px;  /* hero headline   */
  --fs-display-l:  56px;  /* section opener  */
  --fs-display-m:  42px;  /* page title      */
  --fs-h1:         34px;
  --fs-h2:         27px;
  --fs-h3:         22px;
  --fs-lead:       20px;  /* intro paragraph */
  --fs-body:       16px;
  --fs-sm:         14px;
  --fs-xs:         12.5px;
  --fs-overline:   12px;

  /* ---- Line heights ---- */
  --lh-tight:   1.06;  /* @kind font */
  --lh-snug:    1.2;   /* @kind font */
  --lh-normal:  1.5;   /* @kind font */
  --lh-relaxed: 1.65;  /* @kind font */

  /* ---- Letter spacing ---- */
  --ls-display:  -0.02em;  /* @kind font */
  --ls-heading:  -0.01em;  /* @kind font */
  --ls-body:      0em;     /* @kind font */
  --ls-overline:  0.22em;  /* @kind font */
  --ls-button:    0.02em;  /* @kind font */
}

/* ---- Optional helper classes (tokens are the contract) ---- */
.t-display-xl { font-family: var(--font-serif); font-weight: var(--fw-medium); font-size: var(--fs-display-xl); line-height: var(--lh-tight); letter-spacing: var(--ls-display); }
.t-display-l  { font-family: var(--font-serif); font-weight: var(--fw-medium); font-size: var(--fs-display-l);  line-height: var(--lh-tight); letter-spacing: var(--ls-display); }
.t-display-m  { font-family: var(--font-serif); font-weight: var(--fw-medium); font-size: var(--fs-display-m);  line-height: var(--lh-snug);  letter-spacing: var(--ls-heading); }
.t-h1 { font-family: var(--font-serif); font-weight: var(--fw-semibold); font-size: var(--fs-h1); line-height: var(--lh-snug); letter-spacing: var(--ls-heading); }
.t-h2 { font-family: var(--font-serif); font-weight: var(--fw-semibold); font-size: var(--fs-h2); line-height: var(--lh-snug); letter-spacing: var(--ls-heading); }
.t-h3 { font-family: var(--font-serif); font-weight: var(--fw-semibold); font-size: var(--fs-h3); line-height: var(--lh-snug); }
.t-lead { font-family: var(--font-sans); font-weight: var(--fw-regular); font-size: var(--fs-lead); line-height: var(--lh-relaxed); color: var(--text-muted); }
.t-body { font-family: var(--font-sans); font-weight: var(--fw-regular); font-size: var(--fs-body); line-height: var(--lh-relaxed); }
.t-sm   { font-family: var(--font-sans); font-weight: var(--fw-regular); font-size: var(--fs-sm);   line-height: var(--lh-normal); }
.t-overline {
  font-family: var(--font-sans);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-overline);
  line-height: 1;
  letter-spacing: var(--ls-overline);
  text-transform: uppercase;
  color: var(--text-muted);
}

/* ============================================================
   SPACING — 4px base, generous rhythm (lots of whitespace).
   ============================================================ */

:root {
  --space-0:   0px;
  --space-1:   4px;
  --space-2:   8px;
  --space-3:   12px;
  --space-4:   16px;
  --space-5:   20px;
  --space-6:   24px;
  --space-8:   32px;
  --space-10:  40px;
  --space-12:  48px;
  --space-16:  64px;
  --space-20:  80px;
  --space-24:  96px;
  --space-32:  128px;
  --space-40:  160px;

  /* ---- Semantic spacing ---- */
  --gap-inline:   var(--space-3);   /* between inline controls */
  --gap-stack:    var(--space-4);   /* between stacked blocks  */
  --pad-card:     var(--space-6);   /* card interior padding   */
  --pad-section:  var(--space-24);  /* vertical section rhythm */
  --gutter:       var(--space-6);   /* grid gutter             */

  /* ---- Layout ---- */
  --container:      1200px;
  --container-wide: 1360px;
  --container-prose: 680px;
}

/* ============================================================
   RADIUS, SHADOWS, MOTION
   Buttons 8 · Cards 12 · soft warm shadows · calm motion.
   ============================================================ */

:root {
  /* ---- Radii ---- */
  --radius-xs:   4px;
  --radius-sm:   6px;
  --radius-btn:  8px;   /* buttons, inputs, pills-ish */
  --radius-card: 12px;  /* cards, media, modals       */
  --radius-lg:   18px;
  --radius-pill: 999px;

  /* ---- Shadows · soft + warm (low-saturation brown alpha) ----
     Cinematic: long, low, never harsh. */
  --shadow-xs:   0 1px 2px rgba(40, 33, 20, 0.05);
  --shadow-sm:   0 2px 6px rgba(40, 33, 20, 0.06),
                 0 1px 2px rgba(40, 33, 20, 0.04);
  --shadow-md:   0 8px 24px rgba(40, 33, 20, 0.08),
                 0 2px 6px rgba(40, 33, 20, 0.05);
  --shadow-lg:   0 18px 50px rgba(33, 26, 12, 0.12),
                 0 6px 16px rgba(33, 26, 12, 0.07);
  --shadow-card: var(--shadow-sm);
  --shadow-card-hover: var(--shadow-md);

  /* gold glow for primary focus / hero CTA, used sparingly */
  --shadow-accent: 0 8px 24px color-mix(in srgb, var(--accent) 28%, transparent);

  /* ---- Motion ---- */
  --ease-out:    cubic-bezier(0.22, 0.61, 0.36, 1);   /* @kind other */
  --ease-in-out: cubic-bezier(0.45, 0, 0.2, 1);       /* @kind other */
  --dur-fast:   140ms;  /* @kind other */
  --dur-base:   220ms;  /* @kind other */
  --dur-slow:   420ms;  /* @kind other */

  --transition-base: all var(--dur-base) var(--ease-out);  /* @kind other */
  --transition-color: color var(--dur-fast) var(--ease-out),
                      background-color var(--dur-fast) var(--ease-out),
                      border-color var(--dur-fast) var(--ease-out); /* @kind other */
}

/* Dark mode: shadows go nearly weightless, lean on borders. */
[data-theme="dark"] {
  --shadow-xs:   0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-sm:   0 2px 8px rgba(0, 0, 0, 0.45);
  --shadow-md:   0 10px 30px rgba(0, 0, 0, 0.5);
  --shadow-lg:   0 22px 60px rgba(0, 0, 0, 0.6);
}
/* Forced light restores the warm shadows over a dark OS. */
[data-theme="light"] {
  --shadow-xs:   0 1px 2px rgba(40, 33, 20, 0.05);
  --shadow-sm:   0 2px 6px rgba(40, 33, 20, 0.06),
                 0 1px 2px rgba(40, 33, 20, 0.04);
  --shadow-md:   0 8px 24px rgba(40, 33, 20, 0.08),
                 0 2px 6px rgba(40, 33, 20, 0.05);
  --shadow-lg:   0 18px 50px rgba(33, 26, 12, 0.12),
                 0 6px 16px rgba(33, 26, 12, 0.07);
}
@media (prefers-color-scheme: dark) {
  :root {
    --shadow-xs:   0 1px 2px rgba(0, 0, 0, 0.4);
    --shadow-sm:   0 2px 8px rgba(0, 0, 0, 0.45);
    --shadow-md:   0 10px 30px rgba(0, 0, 0, 0.5);
    --shadow-lg:   0 22px 60px rgba(0, 0, 0, 0.6);
  }
}

/* ============================================================
   BASE — light reset + element defaults bound to tokens.
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background-color: var(--bg-page);
  color: var(--text-body);
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: var(--lh-relaxed);
  letter-spacing: var(--ls-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'cv11', 'ss01';
  transition: background-color var(--dur-base) var(--ease-out),
              color var(--dur-base) var(--ease-out);
}

h1, h2, h3, h4 {
  font-family: var(--font-serif);
  font-weight: var(--fw-semibold);
  color: var(--text-strong);
  letter-spacing: var(--ls-heading);
  line-height: var(--lh-snug);
  margin: 0;
}

p { margin: 0; }

a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--accent-hover); }

img { max-width: 100%; display: block; }

::selection { background: var(--accent-soft); color: var(--text-strong); }

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: var(--radius-xs);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ============================================================
   Broumovsko ubytování — Design System
   Global entry point. Consumers link THIS file only.
   Import order: fonts → tokens → base.
   ============================================================ */

/* ============================================================
   FONTS — webfont declarations
   Headings : Cormorant Garamond (serif display)
   Body/UI  : Inter (grotesque sans)
   Loaded from Google Fonts CDN. See readme → "Font substitution".
   ============================================================ */

/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/1ec25183-5a06-48c3-9a29-430b94511725.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/c8b7f195-5b96-494f-a67d-8e90a88d81ce.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/94b2d19c-0ecf-4588-a764-1f000c1b5ff5.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;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/023f12ba-8d5a-445e-a3e7-b4de017d1a1d.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/cb2436de-b470-499d-9852-f6402d77a4c4.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/1ec25183-5a06-48c3-9a29-430b94511725.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/c8b7f195-5b96-494f-a67d-8e90a88d81ce.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/94b2d19c-0ecf-4588-a764-1f000c1b5ff5.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;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/023f12ba-8d5a-445e-a3e7-b4de017d1a1d.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/cb2436de-b470-499d-9852-f6402d77a4c4.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/be0f3bf4-3a0c-486f-9353-e47f95973fd1.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/c58c83ea-d59c-4068-815c-66abe6b2da9d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/af4a8646-0b83-4b63-9ccc-db1010bbeae7.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;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/52cb6b20-cdc4-44fd-a7a7-cf5c79433786.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/32d4a282-e36f-4506-9953-cfc6bc9aef2e.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/be0f3bf4-3a0c-486f-9353-e47f95973fd1.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/c58c83ea-d59c-4068-815c-66abe6b2da9d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/af4a8646-0b83-4b63-9ccc-db1010bbeae7.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;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/52cb6b20-cdc4-44fd-a7a7-cf5c79433786.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/32d4a282-e36f-4506-9953-cfc6bc9aef2e.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/be0f3bf4-3a0c-486f-9353-e47f95973fd1.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/c58c83ea-d59c-4068-815c-66abe6b2da9d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/af4a8646-0b83-4b63-9ccc-db1010bbeae7.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;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/52cb6b20-cdc4-44fd-a7a7-cf5c79433786.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/32d4a282-e36f-4506-9953-cfc6bc9aef2e.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/be0f3bf4-3a0c-486f-9353-e47f95973fd1.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/c58c83ea-d59c-4068-815c-66abe6b2da9d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/af4a8646-0b83-4b63-9ccc-db1010bbeae7.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;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/52cb6b20-cdc4-44fd-a7a7-cf5c79433786.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/32d4a282-e36f-4506-9953-cfc6bc9aef2e.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/c279ce1e-4a52-466c-92a1-47ed715b44bc.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/a5758faa-f66c-43ce-9d64-d2861265dd79.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/517a2364-bc40-4ffd-8085-6da9a18799a6.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/a1b3e77f-8e71-4a95-9780-b8b782d487a8.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/d7909755-6dd5-4599-b1af-f049f1689585.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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/f11ffddc-e4f4-4d24-ae15-73d1a49bc2ba.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/37498f4c-e8f5-499f-b50b-40435549eeda.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/c279ce1e-4a52-466c-92a1-47ed715b44bc.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/a5758faa-f66c-43ce-9d64-d2861265dd79.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/517a2364-bc40-4ffd-8085-6da9a18799a6.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/a1b3e77f-8e71-4a95-9780-b8b782d487a8.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/d7909755-6dd5-4599-b1af-f049f1689585.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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/f11ffddc-e4f4-4d24-ae15-73d1a49bc2ba.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/37498f4c-e8f5-499f-b50b-40435549eeda.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/c279ce1e-4a52-466c-92a1-47ed715b44bc.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/a5758faa-f66c-43ce-9d64-d2861265dd79.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/517a2364-bc40-4ffd-8085-6da9a18799a6.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/a1b3e77f-8e71-4a95-9780-b8b782d487a8.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/d7909755-6dd5-4599-b1af-f049f1689585.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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/f11ffddc-e4f4-4d24-ae15-73d1a49bc2ba.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/37498f4c-e8f5-499f-b50b-40435549eeda.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/c279ce1e-4a52-466c-92a1-47ed715b44bc.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/a5758faa-f66c-43ce-9d64-d2861265dd79.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/517a2364-bc40-4ffd-8085-6da9a18799a6.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/a1b3e77f-8e71-4a95-9780-b8b782d487a8.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/d7909755-6dd5-4599-b1af-f049f1689585.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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/f11ffddc-e4f4-4d24-ae15-73d1a49bc2ba.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/37498f4c-e8f5-499f-b50b-40435549eeda.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;
}


/* ============================================================
   COLORS — Broumovsko ubytování
   Cinematic, warm, photo-led. Light + dark by system + toggle.
   ------------------------------------------------------------
   Base palette (raw values) → semantic aliases below.
   Theme resolves via:
     • system preference (prefers-color-scheme)
     • explicit override on <html data-theme="light|dark">
   ============================================================ */

:root {
  /* ---- Raw palette · warm paper neutrals (light) ---- */
  --paper-50:  #FBF9F4;
  --paper-100: #F7F4EE;   /* page background */
  --paper-200: #FFFFFF;   /* raised surface  */
  --line-100:  #E6E0D3;   /* hairline border */
  --line-200:  #D8D1C0;   /* stronger divider */

  --ink-900:   #1C1B18;   /* primary text */
  --ink-600:   #6E6A60;   /* muted / secondary text */
  --ink-400:   #948F82;   /* faint / disabled text */

  /* ---- Raw palette · brass / gold accent ---- */
  --brass-light: #B08D4F; /* accent in light mode */
  --brass-dark:  #C7A35E; /* accent in dark mode  */
  --brass-deep:  #8E7038; /* pressed / hover-darken (light) */
  --brass-soft:  #EFE6D2; /* tinted accent surface */
  --on-brass:    #211A0A; /* text on gold fills */

  /* ---- Raw palette · cool charcoals (dark) ---- */
  --char-950: #111110;    /* page background (dark) */
  --char-900: #1A1A18;    /* raised surface (dark) */
  --char-800: #232320;    /* elevated surface (dark) */
  --char-line: #2C2B27;   /* hairline border (dark) */
  --char-line-strong: #3A3933;

  --bone-100: #F2ECE0;    /* primary text (dark) */
  --bone-400: #A9A294;    /* muted text (dark) */
  --bone-600: #7C766A;    /* faint text (dark) */

  /* ---- Semantic · status (shared, muted/cinematic) ---- */
  --status-available:        #4F7A52;
  --status-available-surface:#E7EFE3;
  --status-limited:          #B0823C;
  --status-limited-surface:  #F3E9D4;
  --status-booked:           #9A4A41;
  --status-booked-surface:   #F0E0DC;
}

/* ============================================================
   SEMANTIC ALIASES — use THESE in components.
   Default block = LIGHT theme.
   ============================================================ */
:root {
  --bg-page:        var(--paper-100);
  --surface:        var(--paper-200);
  --surface-sunken: var(--paper-50);
  --surface-raised: var(--paper-200);

  --text-strong:  var(--ink-900);
  --text-body:    var(--ink-900);
  --text-muted:   var(--ink-600);
  --text-faint:   var(--ink-400);
  --text-on-accent: var(--on-brass);

  --border:        var(--line-100);
  --border-strong: var(--line-200);

  --accent:        var(--brass-light);
  --accent-hover:  var(--brass-deep);
  --accent-soft:   var(--brass-soft);
  --accent-ring:   color-mix(in srgb, var(--brass-light) 38%, transparent);

  /* status tokens pass straight through */
  --ok-fg:    var(--status-available);
  --ok-bg:    var(--status-available-surface);
  --warn-fg:  var(--status-limited);
  --warn-bg:  var(--status-limited-surface);
  --busy-fg:  var(--status-booked);
  --busy-bg:  var(--status-booked-surface);

  color-scheme: light;
}

/* ---- LIGHT via explicit toggle (forces light over a dark OS) ---- */
[data-theme="light"] {
  --bg-page:        var(--paper-100);
  --surface:        var(--paper-200);
  --surface-sunken: var(--paper-50);
  --surface-raised: var(--paper-200);

  --text-strong:  var(--ink-900);
  --text-body:    var(--ink-900);
  --text-muted:   var(--ink-600);
  --text-faint:   var(--ink-400);
  --text-on-accent: var(--on-brass);

  --border:        var(--line-100);
  --border-strong: var(--line-200);

  --accent:        var(--brass-light);
  --accent-hover:  var(--brass-deep);
  --accent-soft:   var(--brass-soft);
  --accent-ring:   color-mix(in srgb, var(--brass-light) 38%, transparent);

  --ok-fg:    var(--status-available);
  --ok-bg:    var(--status-available-surface);
  --warn-fg:  var(--status-limited);
  --warn-bg:  var(--status-limited-surface);
  --busy-fg:  var(--status-booked);
  --busy-bg:  var(--status-booked-surface);

  color-scheme: light;
}

/* ---- DARK via explicit toggle ---- */
[data-theme="dark"] {
  --bg-page:        var(--char-950);
  --surface:        var(--char-900);
  --surface-sunken: var(--char-950);
  --surface-raised: var(--char-800);

  --text-strong:  var(--bone-100);
  --text-body:    var(--bone-100);
  --text-muted:   var(--bone-400);
  --text-faint:   var(--bone-600);
  --text-on-accent: var(--on-brass);

  --border:        var(--char-line);
  --border-strong: var(--char-line-strong);

  --accent:        var(--brass-dark);
  --accent-hover:  #D8B574;
  --accent-soft:   color-mix(in srgb, var(--brass-dark) 16%, var(--char-900));
  --accent-ring:   color-mix(in srgb, var(--brass-dark) 42%, transparent);

  --ok-fg:   #8FB390;  --ok-bg:   color-mix(in srgb, var(--status-available) 22%, var(--char-900));
  --warn-fg: #D6AE6A;  --warn-bg: color-mix(in srgb, var(--status-limited) 22%, var(--char-900));
  --busy-fg: #CC8C84;  --busy-bg: color-mix(in srgb, var(--status-booked) 22%, var(--char-900));

  color-scheme: dark;
}

/* ---- DARK via system preference (applies unless an explicit
        [data-theme="light"] override wins on specificity) ---- */
@media (prefers-color-scheme: dark) {
  :root {
    --bg-page:        var(--char-950);
    --surface:        var(--char-900);
    --surface-sunken: var(--char-950);
    --surface-raised: var(--char-800);

    --text-strong:  var(--bone-100);
    --text-body:    var(--bone-100);
    --text-muted:   var(--bone-400);
    --text-faint:   var(--bone-600);
    --text-on-accent: var(--on-brass);

    --border:        var(--char-line);
    --border-strong: var(--char-line-strong);

    --accent:        var(--brass-dark);
    --accent-hover:  #D8B574;
    --accent-soft:   color-mix(in srgb, var(--brass-dark) 16%, var(--char-900));
    --accent-ring:   color-mix(in srgb, var(--brass-dark) 42%, transparent);

    --ok-fg:   #8FB390;  --ok-bg:   color-mix(in srgb, var(--status-available) 22%, var(--char-900));
    --warn-fg: #D6AE6A;  --warn-bg: color-mix(in srgb, var(--status-limited) 22%, var(--char-900));
    --busy-fg: #CC8C84;  --busy-bg: color-mix(in srgb, var(--status-booked) 22%, var(--char-900));

    color-scheme: dark;
  }
}

/* ============================================================
   TYPOGRAPHY
   Serif display (Cormorant Garamond) for headings + figures.
   Inter for body, UI, labels. Overline = uppercase, tracked.
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-serif: 'Montserrat', var(--font-sans);
  --font-sans:  'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;

  /* ---- Weights ---- */
  --fw-regular:  400; /* @kind font */
  --fw-medium:   500; /* @kind font */
  --fw-semibold: 600; /* @kind font */
  --fw-bold:     700; /* @kind font */

  /* ---- Type scale (fluid-ish, px) ----
     Display sizes ride the serif; UI sizes ride Inter. */
  --fs-display-xl: 76px;  /* hero headline   */
  --fs-display-l:  56px;  /* section opener  */
  --fs-display-m:  42px;  /* page title      */
  --fs-h1:         34px;
  --fs-h2:         27px;
  --fs-h3:         22px;
  --fs-lead:       20px;  /* intro paragraph */
  --fs-body:       16px;
  --fs-sm:         14px;
  --fs-xs:         12.5px;
  --fs-overline:   12px;

  /* ---- Line heights ---- */
  --lh-tight:   1.06;  /* @kind font */
  --lh-snug:    1.2;   /* @kind font */
  --lh-normal:  1.5;   /* @kind font */
  --lh-relaxed: 1.65;  /* @kind font */

  /* ---- Letter spacing ---- */
  --ls-display:  -0.02em;  /* @kind font */
  --ls-heading:  -0.01em;  /* @kind font */
  --ls-body:      0em;     /* @kind font */
  --ls-overline:  0.22em;  /* @kind font */
  --ls-button:    0.02em;  /* @kind font */
}

/* ---- Optional helper classes (tokens are the contract) ---- */
.t-display-xl { font-family: var(--font-serif); font-weight: var(--fw-medium); font-size: var(--fs-display-xl); line-height: var(--lh-tight); letter-spacing: var(--ls-display); }
.t-display-l  { font-family: var(--font-serif); font-weight: var(--fw-medium); font-size: var(--fs-display-l);  line-height: var(--lh-tight); letter-spacing: var(--ls-display); }
.t-display-m  { font-family: var(--font-serif); font-weight: var(--fw-medium); font-size: var(--fs-display-m);  line-height: var(--lh-snug);  letter-spacing: var(--ls-heading); }
.t-h1 { font-family: var(--font-serif); font-weight: var(--fw-semibold); font-size: var(--fs-h1); line-height: var(--lh-snug); letter-spacing: var(--ls-heading); }
.t-h2 { font-family: var(--font-serif); font-weight: var(--fw-semibold); font-size: var(--fs-h2); line-height: var(--lh-snug); letter-spacing: var(--ls-heading); }
.t-h3 { font-family: var(--font-serif); font-weight: var(--fw-semibold); font-size: var(--fs-h3); line-height: var(--lh-snug); }
.t-lead { font-family: var(--font-sans); font-weight: var(--fw-regular); font-size: var(--fs-lead); line-height: var(--lh-relaxed); color: var(--text-muted); }
.t-body { font-family: var(--font-sans); font-weight: var(--fw-regular); font-size: var(--fs-body); line-height: var(--lh-relaxed); }
.t-sm   { font-family: var(--font-sans); font-weight: var(--fw-regular); font-size: var(--fs-sm);   line-height: var(--lh-normal); }
.t-overline {
  font-family: var(--font-sans);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-overline);
  line-height: 1;
  letter-spacing: var(--ls-overline);
  text-transform: uppercase;
  color: var(--text-muted);
}

/* ============================================================
   SPACING — 4px base, generous rhythm (lots of whitespace).
   ============================================================ */

:root {
  --space-0:   0px;
  --space-1:   4px;
  --space-2:   8px;
  --space-3:   12px;
  --space-4:   16px;
  --space-5:   20px;
  --space-6:   24px;
  --space-8:   32px;
  --space-10:  40px;
  --space-12:  48px;
  --space-16:  64px;
  --space-20:  80px;
  --space-24:  96px;
  --space-32:  128px;
  --space-40:  160px;

  /* ---- Semantic spacing ---- */
  --gap-inline:   var(--space-3);   /* between inline controls */
  --gap-stack:    var(--space-4);   /* between stacked blocks  */
  --pad-card:     var(--space-6);   /* card interior padding   */
  --pad-section:  var(--space-24);  /* vertical section rhythm */
  --gutter:       var(--space-6);   /* grid gutter             */

  /* ---- Layout ---- */
  --container:      1200px;
  --container-wide: 1360px;
  --container-prose: 680px;
}

/* ============================================================
   RADIUS, SHADOWS, MOTION
   Buttons 8 · Cards 12 · soft warm shadows · calm motion.
   ============================================================ */

:root {
  /* ---- Radii ---- */
  --radius-xs:   4px;
  --radius-sm:   6px;
  --radius-btn:  8px;   /* buttons, inputs, pills-ish */
  --radius-card: 12px;  /* cards, media, modals       */
  --radius-lg:   18px;
  --radius-pill: 999px;

  /* ---- Shadows · soft + warm (low-saturation brown alpha) ----
     Cinematic: long, low, never harsh. */
  --shadow-xs:   0 1px 2px rgba(40, 33, 20, 0.05);
  --shadow-sm:   0 2px 6px rgba(40, 33, 20, 0.06),
                 0 1px 2px rgba(40, 33, 20, 0.04);
  --shadow-md:   0 8px 24px rgba(40, 33, 20, 0.08),
                 0 2px 6px rgba(40, 33, 20, 0.05);
  --shadow-lg:   0 18px 50px rgba(33, 26, 12, 0.12),
                 0 6px 16px rgba(33, 26, 12, 0.07);
  --shadow-card: var(--shadow-sm);
  --shadow-card-hover: var(--shadow-md);

  /* gold glow for primary focus / hero CTA, used sparingly */
  --shadow-accent: 0 8px 24px color-mix(in srgb, var(--accent) 28%, transparent);

  /* ---- Motion ---- */
  --ease-out:    cubic-bezier(0.22, 0.61, 0.36, 1);   /* @kind other */
  --ease-in-out: cubic-bezier(0.45, 0, 0.2, 1);       /* @kind other */
  --dur-fast:   140ms;  /* @kind other */
  --dur-base:   220ms;  /* @kind other */
  --dur-slow:   420ms;  /* @kind other */

  --transition-base: all var(--dur-base) var(--ease-out);  /* @kind other */
  --transition-color: color var(--dur-fast) var(--ease-out),
                      background-color var(--dur-fast) var(--ease-out),
                      border-color var(--dur-fast) var(--ease-out); /* @kind other */
}

/* Dark mode: shadows go nearly weightless, lean on borders. */
[data-theme="dark"] {
  --shadow-xs:   0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-sm:   0 2px 8px rgba(0, 0, 0, 0.45);
  --shadow-md:   0 10px 30px rgba(0, 0, 0, 0.5);
  --shadow-lg:   0 22px 60px rgba(0, 0, 0, 0.6);
}
/* Forced light restores the warm shadows over a dark OS. */
[data-theme="light"] {
  --shadow-xs:   0 1px 2px rgba(40, 33, 20, 0.05);
  --shadow-sm:   0 2px 6px rgba(40, 33, 20, 0.06),
                 0 1px 2px rgba(40, 33, 20, 0.04);
  --shadow-md:   0 8px 24px rgba(40, 33, 20, 0.08),
                 0 2px 6px rgba(40, 33, 20, 0.05);
  --shadow-lg:   0 18px 50px rgba(33, 26, 12, 0.12),
                 0 6px 16px rgba(33, 26, 12, 0.07);
}
@media (prefers-color-scheme: dark) {
  :root {
    --shadow-xs:   0 1px 2px rgba(0, 0, 0, 0.4);
    --shadow-sm:   0 2px 8px rgba(0, 0, 0, 0.45);
    --shadow-md:   0 10px 30px rgba(0, 0, 0, 0.5);
    --shadow-lg:   0 22px 60px rgba(0, 0, 0, 0.6);
  }
}

/* ============================================================
   BASE — light reset + element defaults bound to tokens.
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background-color: var(--bg-page);
  color: var(--text-body);
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: var(--lh-relaxed);
  letter-spacing: var(--ls-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'cv11', 'ss01';
  transition: background-color var(--dur-base) var(--ease-out),
              color var(--dur-base) var(--ease-out);
}

h1, h2, h3, h4 {
  font-family: var(--font-serif);
  font-weight: var(--fw-semibold);
  color: var(--text-strong);
  letter-spacing: var(--ls-heading);
  line-height: var(--lh-snug);
  margin: 0;
}

p { margin: 0; }

a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--accent-hover); }

img { max-width: 100%; display: block; }

::selection { background: var(--accent-soft); color: var(--text-strong); }

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: var(--radius-xs);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* vietnamese */

/* latin-ext */

/* latin */

*{box-sizing:border-box}
    html{-webkit-text-size-adjust:100%;overflow-x:clip}
    body{margin:0;background:var(--bg-page);color:var(--text-body);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overflow-x:clip;max-width:100%}
    img{max-width:100%}
    a{color:inherit}
    ::selection{background:var(--accent);color:var(--text-on-accent)}
    .lenis,.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}
    @keyframes bxbob{0%,100%{transform:translateY(0);opacity:.55}50%{transform:translateY(9px);opacity:1}}
    .bx-burger{display:none}
    /* jazykovy dropdown v hlavicce */
    .lang-dd{position:relative;flex:none;margin-left:auto}
    .lang-dd>summary{list-style:none;display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid var(--nav-link,rgba(255,255,255,.4));border-radius:8px;font-size:13px;font-weight:600;line-height:1;cursor:pointer;color:var(--nav-link,#fff)}
    .lang-dd>summary::-webkit-details-marker{display:none}
    .lang-dd>summary svg{transition:transform .2s}
    .lang-dd[open]>summary svg{transform:rotate(180deg)}
    .lang-dd .lang-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:140px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);padding:6px;display:flex;flex-direction:column;gap:2px;z-index:300}
    .lang-dd .lang-menu a{padding:9px 12px;border-radius:7px;font-size:14px;font-weight:500;text-decoration:none;color:var(--text-strong)}
    /* mobil: schovat utilitni blok hlavicky (motiv/rezervovat — je i v burger menu), slozit paticku, zalomit e-maily */
    @media(max-width:900px){ .hdr-utils{display:none!important} }
    @media(max-width:640px){ .bx-foot-cols{grid-template-columns:1fr!important} }
    .bx-foot-cols a{overflow-wrap:anywhere;word-break:break-word}

    /* ===== POLISH: mikro-interakce + odhalení fotek ===== */
    @media (prefers-reduced-motion: no-preference){
      /* tlačítka: jemné zvednutí */
      .rbtn, .bx-btn{ transition: transform .18s cubic-bezier(.22,.61,.36,1), box-shadow .18s ease, filter .18s ease; }
      .rbtn:hover, .bx-btn:hover{ transform: translateY(-2px); box-shadow: var(--shadow-md); }
      .rbtn:active, .bx-btn:active{ transform: translateY(0); }

      /* animované podtržení odkazů v navigaci */
      .rj-nav a, .bx-nav-links a{ position: relative; }
      .rj-nav a::after, .bx-nav-links a::after{ content:""; position:absolute; left:0; right:0; bottom:-5px; height:2px; background:var(--accent); border-radius:2px; transform:scaleX(0); transform-origin:left center; transition:transform .28s cubic-bezier(.22,.61,.36,1); }
      .rj-nav a:hover::after, .bx-nav-links a:hover::after{ transform:scaleX(1); }

      /* fotky pokojů: editorial odhalení při scrollu (odkrytí zdola) */
      .room-media img{ clip-path: inset(0 0 10% 0); transition: clip-path 1.1s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.22,.61,.36,1); }
      .room[data-reveal].in .room-media img{ clip-path: inset(0 0 0 0); }
    }
    /* zoom fotek na hover — jen myš/PC */
    @media (hover:hover) and (pointer:fine) and (prefers-reduced-motion: no-preference){
      .room-media:hover img{ transform: scale(1.05); }
    }
    @media(max-width:880px){ .bx-nav-links{display:none!important} .bx-burger{display:inline-flex!important} }
    @media(max-width:820px){ .bx-footer{grid-template-columns:1fr 1fr!important} }
    @media(max-width:760px){ .bx-okoli{grid-template-columns:1fr!important} .bx-reasons{grid-template-columns:1fr!important} #bx-split{flex-direction:column!important;height:auto!important} #bx-split .bx-panel{flex:none!important;height:clamp(300px,52vh,440px)!important} }
    @media(max-width:560px){ .bx-footer{grid-template-columns:1fr!important} .bx-stats{flex-direction:column!important;align-items:flex-start!important;gap:28px!important} .bx-stats > div{border-left:0!important;padding-left:0!important} .bx-pkg{grid-template-columns:1fr!important} }
    @media(prefers-reduced-motion:reduce){ *{scroll-behavior:auto!important} }
    /* High-specificity theme resolution: the DS ships system-dark as a later :root
       media query that ties on specificity with [data-theme], so an explicit choice
       can lose on a dark OS. html[data-theme] (0,1,1) reliably wins. */
    html[data-theme="light"]{
      --bg-page:var(--paper-100);--surface:var(--paper-200);--surface-sunken:var(--paper-50);--surface-raised:var(--paper-200);
      --text-strong:var(--ink-900);--text-body:var(--ink-900);--text-muted:var(--ink-600);--text-faint:var(--ink-400);--text-on-accent:var(--on-brass);
      --border:var(--line-100);--border-strong:var(--line-200);
      --accent:var(--brass-light);--accent-hover:var(--brass-deep);--accent-soft:var(--brass-soft);
      --shadow-xs:0 1px 2px rgba(40,33,20,.05);
      --shadow-sm:0 2px 6px rgba(40,33,20,.06),0 1px 2px rgba(40,33,20,.04);
      --shadow-md:0 8px 24px rgba(40,33,20,.08),0 2px 6px rgba(40,33,20,.05);
      --shadow-lg:0 18px 50px rgba(33,26,12,.12),0 6px 16px rgba(33,26,12,.07);
      color-scheme:light;
    }
    html[data-theme="dark"]{
      --bg-page:var(--char-950);--surface:var(--char-900);--surface-sunken:var(--char-950);--surface-raised:var(--char-800);
      --text-strong:var(--bone-100);--text-body:var(--bone-100);--text-muted:var(--bone-400);--text-faint:var(--bone-600);
      --border:var(--char-line);--border-strong:var(--char-line-strong);
      --accent:var(--brass-dark);--accent-hover:#D8B574;--accent-soft:color-mix(in srgb,var(--brass-dark) 16%,var(--char-900));
      --shadow-xs:0 1px 2px rgba(0,0,0,.4);--shadow-sm:0 2px 8px rgba(0,0,0,.45);--shadow-md:0 10px 30px rgba(0,0,0,.5);--shadow-lg:0 22px 60px rgba(0,0,0,.6);
      color-scheme:dark;
    }