/* vietnamese */
@font-face {
  font-family: 'Allura';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/679f24989484.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: 'Allura';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/5094d993e867.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: 'Allura';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/203583457d9c.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: 400;
  font-display: swap;
  src: url("../fonts/91b622f3d9d9.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("../fonts/109ce34012f2.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("../fonts/4a82e13d26b0.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("../fonts/96ec6109d044.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("../fonts/e48e58027030.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("../fonts/a4d7cf345b80.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("../fonts/017fab69b4be.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("../fonts/6252e819a766.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("../fonts/cfa9a397d86f.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("../fonts/d80df8ff5aec.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("../fonts/a4d7cf345b80.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("../fonts/017fab69b4be.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("../fonts/6252e819a766.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("../fonts/cfa9a397d86f.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("../fonts/d80df8ff5aec.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("../fonts/a4d7cf345b80.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("../fonts/017fab69b4be.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("../fonts/6252e819a766.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("../fonts/cfa9a397d86f.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("../fonts/d80df8ff5aec.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: 'Mulish';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/50d1ee22a1cb.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: 'Mulish';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/270a9552cb39.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/47f33f305a5c.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: 'Mulish';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/e1ccc8579a04.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: 'Mulish';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/8d1d33d6beea.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: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/50d1ee22a1cb.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: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/270a9552cb39.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/47f33f305a5c.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: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/e1ccc8579a04.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: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/8d1d33d6beea.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: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/50d1ee22a1cb.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: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/270a9552cb39.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/47f33f305a5c.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: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/e1ccc8579a04.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: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/8d1d33d6beea.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: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/50d1ee22a1cb.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: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/270a9552cb39.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/47f33f305a5c.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: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/e1ccc8579a04.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: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/8d1d33d6beea.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: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/50d1ee22a1cb.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: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/270a9552cb39.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/47f33f305a5c.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: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/e1ccc8579a04.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: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/8d1d33d6beea.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;
}


* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
}

::selection {
    background: #9C5231;
    color: #F2E8D8;
}

a {
    color: inherit;
}

img {
    max-width: 100%;
}

@media (max-width: 900px) {
    body > div header,
    body > div nav {
        overflow-x: auto;
    }
}

/* =========================================================
   RESPONSIVE LAYOUT
   These rules override the inline desktop styles used in the
   Blade template. !important is intentional here.
   ========================================================= */

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

body {
    min-width: 320px;
    overflow-x: hidden;
}

body > div {
    width: 100%;
    overflow-x: hidden;
}

img,
svg,
video,
iframe {
    max-width: 100%;
}

input,
textarea,
select,
button {
    max-width: 100%;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

/* Long words and URLs on legal pages */
p,
h1,
h2,
h3,
h4,
a,
span {
    overflow-wrap: break-word;
}

/* Fluid large headings */
h1[style*="font-size: 54px"],
h1[style*="font-size: 52px"] {
    font-size: clamp(38px, 6vw, 54px) !important;
}

h2[style*="font-size: 40px"],
h2[style*="font-size: 38px"],
h2[style*="font-size: 36px"] {
    font-size: clamp(30px, 4.5vw, 40px) !important;
}

h2[style*="font-size: 34px"],
h2[style*="font-size: 32px"] {
    font-size: clamp(28px, 4vw, 34px) !important;
}

/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */
@media (max-width: 1100px) {
    body > div nav {
        padding-right: 32px !important;
        padding-left: 32px !important;
    }

    body > div nav > div[style*="gap: 34px"] {
        gap: 20px !important;
    }

    section[style*="padding: 96px 48px"],
    section[style*="padding: 92px 48px"],
    section[style*="padding: 90px 48px"],
    section[style*="padding: 88px 48px"],
    section[style*="padding: 84px 48px"],
    section[style*="padding: 80px 48px"],
    section[style*="padding: 74px 48px"],
    section[style*="padding: 40px 48px"],
    footer[style*="padding: 64px 48px"],
    footer[style*="padding: 40px 48px"] {
        padding-right: 32px !important;
        padding-left: 32px !important;
    }

    header > div[style*="padding: 30px 48px 84px"],
    header > div[style*="padding: 24px 48px 72px"] {
        padding-right: 32px !important;
        padding-left: 32px !important;
    }

    /* About section */
    #ueber > div[style*="grid-template-columns: 300px"] {
        grid-template-columns: 280px minmax(0, 1fr) !important;
        gap: 40px !important;
    }

    #ueber > div[style*="grid-template-columns: 300px"] > img:last-child {
        display: none !important;
    }

    /* Main contact section */
    #kontakt > div[style*="grid-template-columns: 0.9fr 1.1fr"] {
        gap: 40px !important;
    }

    /* Full footers */
    footer > div[style*="grid-template-columns: 1.1fr 1.1fr 0.9fr 150px"] {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 32px !important;
    }

    footer > div[style*="grid-template-columns: 1.1fr 1.1fr 0.9fr 150px"] > img:last-child {
        display: none !important;
    }
}

@media (max-width: 900px) {
    /* Keep only the booking button in the desktop navigation group. */
    body > div nav > div[style*="gap: 34px"] > a:not(:last-child) {
        display: none !important;
    }

    body > div nav > div[style*="gap: 34px"] {
        margin-left: auto !important;
    }

    /* About */
    #ueber > div[style*="display: grid"] {
        grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr) !important;
        gap: 36px !important;
    }

    #portrait {
        width: 100% !important;
        height: min(430px, 52vw) !important;
    }

    /* Massage cards */
    #massagen div[style*="grid-template-columns: repeat(3, 1fr)"] {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 36px 24px !important;
    }

    /* Practice section */
    #praxis {
        display: flex !important;
        flex-direction: column !important;
    }

    #praxis > div:first-child,
    #praxis > div:last-child {
        width: 100% !important;
    }

    #praxis > div:first-child {
        min-height: 360px !important;
    }

    #praxis > div:last-child {
        padding: 54px 40px !important;
    }

    /* Contact */
    #kontakt > div[style*="display: grid"] {
        grid-template-columns: 1fr !important;
        gap: 48px !important;
    }

    /* Treatment intro image/text */
    section > div[style*="grid-template-columns: 440px"] {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 44px !important;
    }

    #img-binde,
    #img-faszien,
    #img-schmerz {
        width: 100% !important;
        height: min(560px, 72vw) !important;
        object-position: center !important;
    }

    /* Treatment detail columns */
    section > div[style*="grid-template-columns: 1fr 1fr; gap: 64px"] {
        grid-template-columns: 1fr !important;
        gap: 44px !important;
    }

    /* Three-column benefits */
    section div[style*="grid-template-columns: repeat(3, 1fr); gap: 40px"] {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 32px !important;
    }

    /* Related treatment cards */
    section div[style*="grid-template-columns: 1fr 1fr; gap: 30px"] {
        grid-template-columns: 1fr !important;
    }

    /* Footer */
    footer > div[style*="grid-template-columns: 1.1fr 1.1fr 0.9fr 150px"] {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 38px 28px !important;
    }
}

/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */
@media (max-width: 700px) {
    body > div nav {
        padding: 18px 20px !important;
        gap: 14px !important;
        overflow: visible !important;
    }

    body > div nav > a {
        min-width: 0 !important;
    }

    body > div nav > a > span:first-child {
        width: 44px !important;
        height: 44px !important;
    }

    body > div nav > a > span:last-child > span:first-child {
        font-size: 11px !important;
        letter-spacing: 2.3px !important;
    }

    body > div nav > a > span:last-child > span:last-child {
        font-size: 24px !important;
    }

    body > div nav > div[style*="gap: 34px"] > a:last-child {
        padding: 11px 16px !important;
        font-size: 10.5px !important;
        letter-spacing: 1px !important;
    }

    /* Mobile hero: the desktop text is baked into the image, so the image
       becomes a photo area and readable text is recreated below it. */
    #home {
        min-height: 750px !important;
        background: linear-gradient(165deg, #7d3d22 0%, #5f2b1b 100%) !important;
        isolation: isolate;
    }

    #home > img:first-of-type {
        position: absolute !important;
        inset: 0 0 auto 0 !important;
        width: 100% !important;
        height: 430px !important;
        object-fit: cover !important;
        object-position: 38% center !important;
        z-index: -2 !important;
    }

    #home > div[style*="linear-gradient"] {
        height: 150px !important;
        z-index: -1 !important;
    }

    #home::before {
        content: "Berührung, die Körper, Geist und Seele in Einklang bringt.";
        position: absolute;
        top: 460px;
        right: 22px;
        left: 22px;
        color: #F6ECDC;
        font-family: 'Cormorant Garamond', serif;
        font-size: clamp(32px, 9vw, 42px);
        font-weight: 400;
        line-height: 1.08;
        letter-spacing: -0.4px;
        z-index: 2;
    }

    #home::after {
        content: "ZEIT FÜR DICH. ZEIT ZUM ANKOMMEN.";
        position: absolute;
        top: 620px;
        right: 22px;
        left: 22px;
        color: #EBD4C0;
        font-size: 11px;
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: 1.7px;
        z-index: 2;
    }

    #home > a[aria-label="Termin buchen"] {
        top: auto !important;
        right: auto !important;
        bottom: 30px !important;
        left: 22px !important;
        width: auto !important;
        height: auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 14px 24px !important;
        border: 1px solid #E7CDB6 !important;
        border-radius: 4px !important;
        background: #F2E8D8 !important;
        color: #7C3D23 !important;
        text-decoration: none !important;
        font-size: 0 !important;
        font-weight: 700 !important;
        letter-spacing: 1.3px !important;
        z-index: 4 !important;
    }

    #home > a[aria-label="Termin buchen"]::after {
        content: "TERMIN BUCHEN";
        font-size: 11px;
    }

    /* Page spacing */
    section[style*="padding: 96px 48px"],
    section[style*="padding: 92px 48px"],
    section[style*="padding: 90px 48px"],
    section[style*="padding: 88px 48px"],
    section[style*="padding: 84px 48px"],
    section[style*="padding: 80px 48px"],
    section[style*="padding: 74px 48px"],
    section[style*="padding: 40px 48px"],
    footer[style*="padding: 64px 48px"],
    footer[style*="padding: 40px 48px"] {
        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    #ueber {
        padding-top: 64px !important;
        padding-bottom: 48px !important;
    }

    #massagen {
        padding-top: 32px !important;
        padding-bottom: 72px !important;
    }

    #kontakt {
        padding-top: 64px !important;
        padding-bottom: 64px !important;
    }

    header > div[style*="padding: 30px 48px 84px"] {
        padding: 28px 20px 62px !important;
    }

    header > div[style*="padding: 24px 48px 72px"] {
        padding: 24px 20px 54px !important;
    }

    /* All content grids become one column on phones. */
    #ueber > div[style*="display: grid"],
    #massagen div[style*="display: grid"],
    #kontakt > div[style*="display: grid"],
    section > div[style*="display: grid"],
    footer > div[style*="display: grid"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    #ueber > div[style*="display: grid"] {
        gap: 34px !important;
    }

    #portrait {
        width: min(100%, 420px) !important;
        height: auto !important;
        aspect-ratio: 4 / 5 !important;
        margin: 0 auto !important;
    }

    #massagen div[style*="grid-template-columns: repeat(3, 1fr)"] {
        gap: 44px !important;
    }

    #massagen img[id^="m"] {
        height: auto !important;
        aspect-ratio: 16 / 10 !important;
    }

    #praxis > div:first-child {
        min-height: 300px !important;
    }

    #praxis > div:last-child {
        padding: 46px 22px !important;
    }

    #kontakt form {
        padding: 24px 20px !important;
    }

    #kontakt form > div[style*="grid-template-columns: 1fr 1fr"] {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        margin-bottom: 0 !important;
    }

    #kontakt form > div[style*="grid-template-columns: 1fr 1fr"] > label {
        margin-bottom: 18px !important;
    }

    /* Treatment pages */
    #img-binde,
    #img-faszien,
    #img-schmerz {
        height: auto !important;
        aspect-ratio: 4 / 4.5 !important;
    }

    section div[style*="grid-template-columns: 1fr 1fr; gap: 16px 28px"],
    section div[style*="grid-template-columns: repeat(3, 1fr); gap: 40px"],
    section div[style*="grid-template-columns: 1fr 1fr; gap: 30px"] {
        grid-template-columns: 1fr !important;
    }

    section a[style*="display: flex; gap: 20px"] {
        align-items: flex-start !important;
    }

    section a[style*="display: flex; gap: 20px"] img {
        width: 92px !important;
        height: 76px !important;
    }

    /* Full footer */
    footer > div[style*="grid-template-columns: 1.1fr 1.1fr 0.9fr 150px"] {
        gap: 34px !important;
    }

    footer > div[style*="margin: 44px auto 0"] {
        margin-top: 34px !important;
    }

    footer span[style*="font-size: 12px"] {
        line-height: 1.8 !important;
    }
}

@media (max-width: 480px) {
    body > div nav {
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    body > div nav > a > span:last-child {
        display: none !important;
    }

    body > div nav > div[style*="gap: 34px"] > a:last-child {
        padding: 10px 13px !important;
        font-size: 10px !important;
    }

    #home {
        min-height: 730px !important;
    }

    #home > img:first-of-type {
        height: 400px !important;
        object-position: 40% center !important;
    }

    #home::before {
        top: 430px;
        right: 18px;
        left: 18px;
        font-size: clamp(30px, 9.5vw, 37px);
    }

    #home::after {
        top: 580px;
        right: 18px;
        left: 18px;
        font-size: 10px;
        letter-spacing: 1.35px;
    }

    #home > a[aria-label="Termin buchen"] {
        bottom: 26px !important;
        left: 18px !important;
    }

    h1[style*="font-size: 54px"],
    h1[style*="font-size: 52px"] {
        font-size: 38px !important;
    }

    h2[style*="font-size: 40px"],
    h2[style*="font-size: 38px"],
    h2[style*="font-size: 36px"],
    h2[style*="font-size: 34px"],
    h2[style*="font-size: 32px"] {
        font-size: 29px !important;
    }

    form input,
    form textarea,
    form button {
        font-size: 16px !important;
    }

    section a[style*="display: flex; gap: 20px"] {
        gap: 14px !important;
        padding: 14px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}
