/* ============================================================
   Mariana Costa / M10 — Design System
   Global stylesheet. Consumers link THIS one file.
   Import order: fonts → tokens → base.
   (List of @import lines only — no rules live here.)
   ============================================================ */
/* Webfonts — Mariana Costa / M10
   Display + editorial serif + body sans, per ficha técnica.
   Google-hosted (no brand font files were supplied). If self-hosting is
   needed later, drop the .woff2 files in assets/fonts and swap these @imports
   for local @font-face rules. */
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/b0ab8257.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/45123f7a.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: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/62756072.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: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/3609ef0b.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 */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/b0ab8257.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/45123f7a.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: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/62756072.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: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/3609ef0b.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 */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/b0ab8257.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/45123f7a.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: 'Playfair Display';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/62756072.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: 'Playfair Display';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/3609ef0b.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 */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/f4c56b33.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/aa09b743.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: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/92fdb16d.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: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/3a8ffeab.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 */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/f4c56b33.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/aa09b743.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: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/92fdb16d.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: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/3a8ffeab.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 */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/f4c56b33.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/aa09b743.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: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/92fdb16d.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: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/3a8ffeab.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 */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/f4c56b33.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/aa09b743.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: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/92fdb16d.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: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/3a8ffeab.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 */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/f4c56b33.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/aa09b743.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: 'Playfair Display';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/92fdb16d.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: 'Playfair Display';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/3a8ffeab.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 */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/assets/f4c56b33.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/assets/aa09b743.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: 'Playfair Display';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/assets/92fdb16d.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: 'Playfair Display';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/assets/3a8ffeab.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;
}

/* latin-ext */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/d04006ac.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: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/792df5e3.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;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/d7fd6b32.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: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/b019fe8d.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: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/cd3bf939.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: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/e0e367b5.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/dbaf374c.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: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/be440009.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: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/3bfe088b.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: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/cd3bf939.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: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/e0e367b5.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/dbaf374c.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: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/be440009.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: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/3bfe088b.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: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/cd3bf939.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: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/e0e367b5.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/dbaf374c.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: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/be440009.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: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/3bfe088b.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: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/cd3bf939.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: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/e0e367b5.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/dbaf374c.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: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/be440009.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: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/3bfe088b.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: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/cd3bf939.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: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/e0e367b5.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/dbaf374c.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: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/be440009.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: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/3bfe088b.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 · Mariana Costa / M10
   Tokens taken from the live site (mcostaacademy.com) via the
   client module. Dark editorial-luxe: near-black canvas, warm
   cream type, champagne-gold accent, bordô for urgency only.
   ============================================================ */
:root {
  /* --- Ink (dark backgrounds, near-black) --- */
  --ink-950: #050505;
  --ink-900: #0A0A0A;   /* primary background (site) */
  --ink-850: #0B0A09;
  --ink-800: #0F0F0F;   /* cards (site) */
  --ink-700: #161412;
  --ink-600: #3B3024;   /* brand warm border tone (site) */

  /* --- Paper / cream (light surfaces + text on dark) --- */
  --paper-50:  #FBF8F1;
  --paper-100: #F5F1E8;  /* primary cream (site) */
  --paper-200: #E6DFD0;
  --paper-300: #CFC7B8;  /* body text on dark */
  --paper-400: #ADA593;

  /* --- Muted / support grays (site) --- */
  --taupe-400: #9CA3AF;  /* muted text (site) */
  --taupe-500: #8C8C8C;  /* cinza (site) */
  --taupe-600: #6E6354;
  --taupe-700: #3B3024;

  /* --- Champagne gold (authority / accent · site) --- */
  --gold-200: #FBEACB;
  --gold-300: #F9DEB7;   /* ouro claro */
  --gold-400: #F2CE96;
  --gold-500: #EEC17D;   /* ouro principal · primary accent */
  --gold-600: #D4A373;   /* ouro profundo */
  --gold-700: #96703C;   /* ouro fosco */

  /* --- Bordô (urgency / scarcity, used sparingly) --- */
  --bordo-400: #C04A3D;
  --bordo-500: #9E2B20;  /* primary urgent */
  --bordo-600: #7A2018;

  /* --- Pure --- */
  --black: #000000;
  --white: #FFFFFF;

  /* ====== SEMANTIC ALIASES ====== */
  /* Surfaces */
  --surface-base:    var(--ink-900);
  --surface-raised:  var(--ink-800);
  --surface-sunken:  var(--ink-950);
  --surface-paper:   var(--paper-100);  /* light/inverted sections */
  --surface-paper-2: var(--paper-200);

  /* Text on dark */
  --text-strong:  var(--paper-100);
  --text-body:    var(--paper-300);
  --text-muted:   var(--taupe-400);
  /* Text on light/paper */
  --text-on-light:        var(--ink-900);
  --text-on-light-muted:  var(--taupe-600);

  /* Accent */
  --accent:        var(--gold-500);
  --accent-hover:  var(--gold-400);
  --accent-press:  var(--gold-600);
  --accent-soft:   rgba(238, 193, 125, 0.13);
  --on-accent:     var(--ink-900);   /* text on gold buttons */

  /* Urgency */
  --urgent:       var(--bordo-500);
  --urgent-soft:  rgba(158, 43, 32, 0.16);

  /* Lines & hairlines */
  --line:         rgba(245, 241, 232, 0.09);
  --line-strong:  #3B3024;            /* brand warm border (site) */
  --line-gold:    rgba(238, 193, 125, 0.42);
  /* Lines on light */
  --line-on-light: rgba(10, 10, 10, 0.12);

  /* Focus ring */
  --focus-ring: rgba(238, 193, 125, 0.55);
}

/* ============================================================
   TYPOGRAPHY · Mariana Costa / M10
   Playfair Display (display headlines) · Instrument Serif
   (editorial accents, large italics) · Montserrat (body + UI).
   Max 3 families per Conet base rules.
   ============================================================ */
:root {
  /* Families */
  --font-display: 'Playfair Display', 'Times New Roman', Georgia, serif;
  --font-serif:   'Instrument Serif', Georgia, 'Times New Roman', serif;
  --font-sans:    'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* Weights */
  --weight-light:    300;
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;
  --weight-black:    900;

  /* Type scale (editorial, generous) */
  --text-xs:   0.75rem;   /* 12 · legal, captions */
  --text-sm:   0.875rem;  /* 14 · meta, fine print */
  --text-base: 1rem;      /* 16 · body min on mobile */
  --text-md:   1.125rem;  /* 18 · lead body */
  --text-lg:   1.375rem;  /* 22 · large body / subhead */
  --text-xl:   1.75rem;   /* 28 */
  --text-2xl:  2.25rem;   /* 36 */
  --text-3xl:  3rem;      /* 48 */
  --text-4xl:  4rem;      /* 64 */
  --text-5xl:  5.5rem;    /* 88 */
  /* Fluid display for heroes */
  --text-display: clamp(2.75rem, 7vw + 1rem, 6.5rem); /* @kind other */
  --text-hero-sub: clamp(1.125rem, 1.4vw + 0.6rem, 1.5rem); /* @kind other */

  /* Line heights */
  --leading-display: 1.02;
  --leading-tight:   1.12;
  --leading-snug:    1.32;
  --leading-body:    1.6;
  --leading-relaxed: 1.78;

  /* Letter spacing */
  --tracking-display: -0.03em;
  --tracking-tight:   -0.015em;
  --tracking-normal:   0em;
  --tracking-wide:     0.04em;
  --tracking-eyebrow:  0.24em;  /* uppercase kickers */

  /* Semantic roles */
  --font-headline: var(--font-display);
  --font-body:     var(--font-sans);
  --font-accent:   var(--font-serif);
}

/* ============================================================
   SPACING · RADII · SHADOWS · BORDERS · MOTION
   Mariana Costa / M10
   8px base. Intentional jumps (Conet A2): standard respiro
   ~40px, large ~80px+. Small radii = editorial, not playful.
   ============================================================ */
:root {
  /* Spacing scale */
  --space-0:   0;
  --space-1:   4px;
  --space-2:   8px;
  --space-3:   12px;
  --space-4:   16px;
  --space-5:   24px;
  --space-6:   32px;
  --space-7:   40px;   /* standard respiro */
  --space-8:   56px;
  --space-9:   80px;   /* large respiro */
  --space-10:  112px;
  --space-11:  160px;  /* section break */

  /* Layout */
  --maxw-prose:   62ch;
  --maxw-content: 1200px;
  --maxw-narrow:  640px;
  --gutter:        clamp(24px, 6vw, 104px); /* @kind spacing */
  --section-y:     clamp(64px, 9vw, 160px); /* @kind spacing */

  /* Radii (small, refined) */
  --radius-xs:   2px;
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   14px;
  --radius-xl:   22px;
  --radius-pill: 999px;

  /* Borders */
  --border-hair: 1px solid var(--line);
  --border-soft: 1px solid var(--line-strong);
  --border-gold: 1px solid var(--line-gold);

  /* Shadows (deep, soft — on dark) */
  --shadow-sm:   0 1px 2px rgba(0,0,0,0.45);
  --shadow-md:   0 10px 30px -10px rgba(0,0,0,0.55);
  --shadow-card: 0 28px 70px -24px rgba(0,0,0,0.7);
  --shadow-gold: 0 14px 34px -10px rgba(198,161,91,0.4);
  /* On light surfaces */
  --shadow-light: 0 18px 50px -20px rgba(58,48,36,0.28);

  /* Motion (restrained, premium — eased, never bouncy) */
  --ease-out:   cubic-bezier(0.22, 0.61, 0.36, 1); /* @kind other */
  --ease-inout: cubic-bezier(0.65, 0, 0.35, 1); /* @kind other */
  --dur-fast:   140ms; /* @kind other */
  --dur-base:   240ms; /* @kind other */
  --dur-slow:   480ms; /* @kind other */
}

/* ============================================================
   BASE · element defaults built on the tokens.
   Imported by styles.css after the token layers.
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

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

body {
  margin: 0;
  background: var(--surface-base);
  color: var(--text-body);
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--leading-body);
  font-weight: var(--weight-regular);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  font-family: var(--font-headline);
  color: var(--text-strong);
  font-weight: var(--weight-bold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  text-wrap: balance;
  margin: 0;
}

h1 { font-size: var(--text-4xl); line-height: var(--leading-display); letter-spacing: var(--tracking-display); }
h2 { font-size: var(--text-3xl); }
h3 { font-size: var(--text-xl); }
h4 { font-size: var(--text-lg); }

p { margin: 0; text-wrap: pretty; }

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

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

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

:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}

/* Utility: uppercase tracked eyebrow/kicker */
.eyebrow {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--accent);
}

/* Editorial serif accent (Instrument Serif italic) */
.accent-serif {
  font-family: var(--font-accent);
  font-style: italic;
  font-weight: var(--weight-regular);
}



/* ===== NEXT STYLE BLOCK ===== */


  html, body { margin: 0; background: var(--surface-base); scroll-behavior: smooth; }

  /* TOP BAR */
  .lp-topbar {
    position: absolute; top: 0; left: 0; right: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between;
    padding: 14px var(--gutter); background: transparent;
    font-family: var(--font-sans);
  }
  .lp-topbar__date { color: var(--text-muted); font-size: var(--text-sm); letter-spacing: .02em; }
  .lp-logo { height: 56px; display: block; }
  .lp-hero__headlogo { display: block; height: 48px; margin: 0 0 18px; }
  .lp-hero__brand { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.15rem, 0.9rem + 0.9vw, 1.7rem); line-height: 1; letter-spacing: -.01em; color: var(--text-strong); margin: 0 0 18px; }
  .lp-hero__brand span { font-family: var(--font-accent); font-style: italic; font-weight: 400; color: var(--accent); }
  @media (max-width: 960px) { .lp-logo { height: 38px; } }

  /* HERO */
  .lp-hero {
    position: relative; min-height: 100svh; display: flex; align-items: stretch;
    background: var(--surface-base); overflow: hidden;
  }
  .lp-hero__bg {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; object-position: center; z-index: 0;
  }
  .lp-hero__inner {
    position: relative; z-index: 2; width: 100%;
    max-width: clamp(960px, 94vw, 1460px); margin: 0 auto;
    padding-inline: var(--gutter);
    display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    column-gap: clamp(40px, 5vw, 110px); align-items: stretch;
  }
  .lp-hero__fade {
    position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
    width: 100vw; height: 180px; z-index: 2; pointer-events: none;
    background: linear-gradient(to bottom, transparent, var(--surface-base) 94%);
  }
  .lp-hero::before {
    content: ''; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(90deg, rgba(10,10,10,0.94) 0%, rgba(10,10,10,0.8) 38%, rgba(10,10,10,0.5) 70%, rgba(10,10,10,0.62) 100%);
  }
  .lp-hero__col { --lp-hero-measure: 44rem; position: relative; z-index: 3; padding: clamp(28px, 6vh, 72px) 0; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
  .lp-hero__title { font-size: clamp(2rem, 1rem + 2.6vw, 3.2rem); line-height: 1.05; margin: 18px 0 0; max-width: var(--lp-hero-measure); }
  .lp-hero__sub { font-size: clamp(1rem, 0.9rem + 0.4vw, 1.25rem); color: var(--text-body); margin: 16px 0 0; max-width: var(--lp-hero-measure); line-height: var(--leading-snug); }
  .lp-hero__when { display: flex; flex-wrap: nowrap; white-space: nowrap; align-items: center; gap: clamp(7px, 2.2vw, 12px); margin: 30px 0 0; font-size: clamp(0.72rem, 0.55rem + 0.7vw, var(--text-sm)); color: var(--accent); font-family: var(--font-sans); font-size: var(--text-sm); font-weight: var(--weight-semibold); letter-spacing: .12em; text-transform: uppercase; }
  .lp-hero__kicker { display: inline-block; white-space: nowrap; margin: 0 0 16px; padding: 7px 16px; border-radius: 999px; background: var(--accent); color: var(--on-accent); font-family: var(--font-sans); font-size: var(--text-xs); font-weight: var(--weight-semibold); letter-spacing: .14em; text-transform: uppercase; }
  .lp-hero__when .dot { width: 4px; height: 4px; border-radius: 50%; background: currentColor; opacity: .6; }
  .lp-hero__headrow { display: block; }
  .lp-hero__img-m { display: none; }
  .lp-hero__img {
    position: relative; z-index: 1; align-self: stretch; min-height: 0;
  }
  .lp-hero__img::before {
    content: ''; position: absolute; z-index: 0; pointer-events: none;
    right: -2%; bottom: 20%; width: 84%; height: 63%;
    background: radial-gradient(closest-side, rgba(238,193,125,0.52), rgba(238,193,125,0.18) 52%, transparent 78%);
    filter: blur(42px);
  }
  .lp-hero__photo-spacer { display: none; }
  .lp-hero__imgel {
    position: absolute; right: 0; bottom: 0; height: 100%; width: auto; max-width: none; z-index: 1;
    object-fit: contain; object-position: bottom center; transform: translateX(92px);
    filter: drop-shadow(0 0 46px rgba(238,193,125,0.34)) drop-shadow(0 24px 50px rgba(0,0,0,0.5));
  }


  /* PAIN quotes */
  .lp-quotes { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); }
  .lp-quote {
    margin: 0; padding: var(--space-5) var(--space-6); border-left: 2px solid var(--line-gold);
    background: var(--surface-raised); border-radius: var(--radius-md);
    font-family: var(--font-accent); font-style: italic; font-size: var(--text-lg);
    color: var(--text-body); line-height: var(--leading-snug);
  }

  /* AGENDA */
  .lp-agenda { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-4); }

  /* QUOTE BAND */
  .lp-band {
    position: relative; min-height: 520px; display: flex; align-items: center;
    background: url("/assets/dc5be4ca.webp") calc(100% + 100px) calc(50% + 50px) / cover no-repeat;
  }
  .lp-band::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--surface-base) 0%, rgba(10,10,10,0.9) 38%, rgba(10,10,10,0.5) 70%, rgba(10,10,10,0.15) 100%); }
  .lp-band__inner { position: relative; max-width: var(--maxw-content); margin: 0 auto; padding: 0 var(--gutter); width: 100%; }
  .lp-band__quote { font-family: var(--font-display); font-weight: 700; font-size: var(--text-4xl); line-height: 1.08; color: var(--text-strong); max-width: 18ch; margin: 0; letter-spacing: var(--tracking-tight); }

  /* PARA QUEM */
  .lp-twocol { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-10); }

  /* SOBRE */
  .lp-about { display: grid; grid-template-columns: 0.82fr 1.18fr; gap: var(--space-9); align-items: center; }
  .lp-about__img {
    aspect-ratio: 2/3; border-radius: var(--radius-lg); border: 1px solid var(--line-gold);
    background: url("/assets/d79418ee.webp") center / cover no-repeat;
    box-shadow: var(--shadow-card);
  }

  /* VIDA DEPOIS */
  .lp-after { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--space-9); align-items: center; }
  .lp-after__img {
    aspect-ratio: 4/5; border-radius: var(--radius-lg); border: 1px solid var(--line);
    background: url("/assets/eab2bf75.webp") center 20% / cover no-repeat;
    box-shadow: var(--shadow-card);
  }

  /* INSCRIÇÃO */
  .lp-enroll { display: grid; grid-template-columns: 1fr 0.86fr; gap: var(--space-9); align-items: center; }

  /* FOOTER */
  .lp-footer { text-align: center; padding: var(--space-9) var(--gutter); border-top: 1px solid var(--line); background: var(--surface-sunken); }

  /* HERO cta cluster */
  .lp-hero__cta { margin-top: var(--space-6); display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
  .lp-hero__ctahint { color: var(--text-muted); font-size: var(--text-sm); margin: 0; max-width: 38ch; line-height: var(--leading-snug); }

  /* BILHETES */
  .lp-tickets { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); align-items: stretch; max-width: 940px; margin: 0 auto; }
  .lp-ticket { position: relative; display: flex; flex-direction: column; gap: var(--space-5);
    background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--radius-lg);
    padding: var(--space-7); box-shadow: var(--shadow-card); }
  .lp-ticket--vip { border-color: var(--line-gold); box-shadow: var(--shadow-card), 0 0 0 1px rgba(238,193,125,.14), 0 0 44px rgba(238,193,125,.10); }
  .lp-ticket__ribbon { position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
    background: linear-gradient(135deg, #FBE7BC 0%, #EEC17D 46%, #C0892C 100%); color: #2A1E0B;
    font-family: var(--font-sans); font-size: var(--text-xs); font-weight: var(--weight-semibold); letter-spacing: .1em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px;
    box-shadow: 0 6px 18px rgba(192,137,44,0.4), inset 0 1px 0 rgba(255,255,255,0.5); }
  .lp-ticket__head { display: flex; flex-direction: column; gap: 12px; }
  .lp-ticket__price { font-family: var(--font-display); font-weight: 700; font-size: var(--text-2xl); color: var(--text-strong); letter-spacing: -.02em; }
  .lp-ticket--vip .lp-ticket__price { color: var(--accent); }
  .lp-ticket__lead { color: var(--text-muted); font-size: var(--text-base); line-height: var(--leading-snug); margin: 0; }
  .lp-ticket__list { list-style: none; margin: 0; padding: var(--space-5) 0; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 13px; flex: 1; }
  .lp-ticket__list li { position: relative; padding-left: 30px; font-size: var(--text-base); line-height: var(--leading-snug); color: var(--text-body); }
  .lp-ticket__list li.ok::before { content: ''; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; border-radius: 50%;
    background: var(--accent-soft); border: 1px solid var(--line-gold);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M1 5l2.5 2.5L9 2' fill='none' stroke='%23EEC17D' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; }
  .lp-ticket__list li.no { color: var(--text-muted); opacity: .65; text-decoration: line-through; text-decoration-color: var(--text-muted); }
  .lp-ticket__list li.no::before { content: ''; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; border-radius: 50%; border: 1px solid var(--line-strong);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9' viewBox='0 0 9 9'%3E%3Cpath d='M1.5 1.5l6 6M7.5 1.5l-6 6' fill='none' stroke='%238C8C8C' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; }

  /* Bilhetes — conteúdo centrado, lista alinhada à esquerda */
  .lp-ticket { text-align: center; }
  .lp-ticket__head { align-items: center; }
  .lp-ticket__list { align-items: stretch; }
  .lp-ticket__list li { justify-content: flex-start; text-align: left; }

  /* MODAL (free-ticket form) */
  .lp-modal { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; padding: var(--space-5);
    background: rgba(6,6,6,.74); backdrop-filter: blur(6px); animation: lpFade var(--dur-base) var(--ease-out); }
  .lp-modal__card { position: relative; width: 100%; max-width: 520px; max-height: 92vh; overflow-y: auto;
    background: var(--surface-sunken); border: 1px solid var(--line-gold); border-radius: var(--radius-lg);
    padding: var(--space-7); box-shadow: 0 30px 80px rgba(0,0,0,.6); animation: lpRise var(--dur-base) var(--ease-out); }
  .lp-modal__x { position: absolute; top: 14px; right: 16px; width: 34px; height: 34px; border-radius: 50%; cursor: pointer;
    background: var(--surface-raised); border: 1px solid var(--line); color: var(--text-body); font-size: 20px; line-height: 1; }
  .lp-modal__x:hover { color: var(--text-strong); border-color: var(--line-gold); }
  .lp-modal__title { font-family: var(--font-display); font-size: var(--text-2xl); margin: 0 0 6px; padding: 0 34px; color: var(--text-strong); text-align: center; }
  .lp-modal__sub { color: var(--text-muted); font-size: var(--text-base); margin: 0 0 var(--space-5); text-align: center; }
  .lp-modal__card button, .lp-modal__card a { white-space: normal !important; }
  .lp-modal__card button[type="submit"] { height: auto !important; min-height: 54px; line-height: 1.25 !important; padding-top: 15px !important; padding-bottom: 15px !important; }
  @media (max-width: 700px) {
    .lp-modal__title { font-size: var(--text-lg); }
    .lp-modal__card button[type="submit"] { font-size: var(--text-sm) !important; }
  }
  @keyframes lpFade { from { opacity: 0; } }
  @keyframes lpRise { from { opacity: 0; transform: translateY(12px); } }

  @media (max-width: 760px) {
    .lp-tickets { grid-template-columns: 1fr; max-width: 460px; }
  }

  /* BILHETES — fundo cenário branco com blur radial nos cantos */
  .lp-bilhetes { position: relative; isolation: isolate; overflow: hidden; padding: var(--section-y) var(--gutter); background: #ece0cd; }
  .lp-bilhetes__bg { position: absolute; inset: 0; z-index: 0; background: url("/assets/9e473724.webp") center / cover no-repeat; }
  .lp-bilhetes__bg--blur { filter: blur(18px); transform: scale(1.08);
    -webkit-mask-image: radial-gradient(ellipse 64% 62% at 50% 46%, transparent 36%, #000 76%);
    mask-image: radial-gradient(ellipse 64% 62% at 50% 46%, transparent 36%, #000 76%); }
  .lp-bilhetes__veil { position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background: radial-gradient(ellipse 72% 66% at 50% 46%, rgba(236,224,205,0) 42%, rgba(236,224,205,0.62) 86%); }
  .lp-bilhetes__inner { position: relative; z-index: 2; max-width: var(--maxw-content); margin: 0 auto; }

  /* VIP — degradê dourado premium no botão */
  .lp-ticket--vip .lp-ticket__cta a, .lp-ticket--vip .lp-ticket__cta button {
    background: linear-gradient(135deg, #FBE7BC 0%, #EEC17D 46%, #C0892C 100%) !important;
    color: #2A1E0B !important; border: none !important;
    box-shadow: 0 12px 30px rgba(192,137,44,0.42), inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }
  .lp-ticket--vip .lp-ticket__cta a:hover, .lp-ticket--vip .lp-ticket__cta button:hover { filter: brightness(1.06); }

  /* Form rows (horizontal pairing) */
  .m10-frow { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
  .m10-frow > * { min-width: 0; }

  @media (max-width: 1024px) {
    .lp-hero {
      display: block; min-height: auto;
      background:
        linear-gradient(to bottom, transparent calc(56.25vw - 90px), var(--surface-base) 56.25vw),
        url("/assets/ff4d414d.webp") top center / 100% auto no-repeat,
        var(--surface-base);
    }
    .lp-hero__bg { display: none; }
    .lp-hero__fade {
      display: block; z-index: 2;
      bottom: 0; height: 68%; max-height: 760px;
      background: linear-gradient(to bottom, transparent 0%, rgba(10,10,10,0.4) 28%, rgba(10,10,10,0.85) 58%, var(--surface-base) 85%);
    }
    .lp-hero__inner { display: block; max-width: none; padding-inline: 0; }
    .lp-hero::after { display: none; }
    .lp-hero::before {
      display: block; z-index: 1;
      background: linear-gradient(90deg, rgba(10,10,10,0.97) 0%, rgba(10,10,10,0.88) 28%, rgba(10,10,10,0.55) 55%, rgba(10,10,10,0.12) 80%, rgba(10,10,10,0) 100%);
    }
    .lp-hero__img { display: none; }
    .lp-hero__col { --lp-hero-measure: 46rem; padding: var(--space-6) var(--gutter) var(--space-9); min-width: 0; }
    .lp-hero__band { background: none; border: 0; border-radius: 0; padding: 0; margin: 0; overflow: visible; }
    .lp-hero__headrow { display: block; min-width: 0; }
    .lp-hero__head { min-width: 0; }
    .lp-hero__head > div:not(.lp-hero__brand) { display: none !important; }
    .lp-hero__title { max-width: 30rem; }
    .lp-hero__sub { max-width: 26rem; }
    .lp-hero__headlogo { display: block; height: 40px; margin: 0 0 14px; }
    .lp-hero__brand { display: block; font-size: clamp(1.05rem, 0.9rem + 1.4vw, 1.45rem); margin: 0 0 12px; }
    .lp-hero__img-m {
      display: block; position: absolute; z-index: -1; pointer-events: none;
      right: 0; top: 16px;
      width: clamp(260px, 40vw, 420px); height: calc(56.25vw - 76px); max-height: 620px;
      background: url("/assets/efda067c.webp") bottom center / contain no-repeat;
      filter: drop-shadow(0 0 34px rgba(238,193,125,0.4));
    }
    .lp-hero__img-m::after {
      content: ''; position: absolute; left: 0; right: 0; bottom: -120px; height: 60%;
      background: linear-gradient(to bottom, transparent, var(--surface-base) 78%);
      pointer-events: none;
    }
    .lp-quotes { grid-template-columns: 1fr; }
    .lp-agenda { grid-template-columns: 1fr 1fr; }
    .lp-twocol, .lp-about, .lp-after, .lp-enroll { grid-template-columns: 1fr; gap: var(--space-7); }
    .lp-about > div, .lp-twocol > div, .lp-after > div, .lp-enroll > div { min-width: 0; }
    .lp-about a, .lp-enroll a, .lp-tickets a, .lp-tickets button { white-space: normal !important; max-width: 100%; }
    .lp-tickets { grid-template-columns: 1fr; max-width: 480px; margin-inline: auto; }
    .lp-ticket { min-width: 0; }
    .lp-about__img, .lp-after__img { max-width: 440px; }
    .lp-band {
      min-height: 320px;
      background-position: calc(82% + 100px) center;
      background-size: cover;
    }
    .lp-band::before { background: linear-gradient(90deg, var(--surface-base) 0%, rgba(10,10,10,0.9) 30%, rgba(10,10,10,0.5) 58%, rgba(10,10,10,0.08) 100%); }
    .lp-band__quote { font-size: var(--text-xl); max-width: 13ch; }
    .lp-agenda-title { font-size: 1.5rem !important; max-width: 24ch; }
  }
  @media (min-width: 701px) and (max-width: 1024px) {
    .lp-about { justify-items: center; text-align: center; }
    .lp-about > div { display: flex; flex-direction: column; align-items: center; }
    .lp-about__img { margin-inline: auto; width: 100%; max-width: 420px; min-height: 560px; }
    .lp-about h2, .lp-about p { margin-left: auto; margin-right: auto; }
  }
  @media (max-width: 700px) {
    .lp-hero__col {
      --lp-hero-measure: 34rem;
      display: grid; grid-template-columns: 1fr auto;
      column-gap: var(--space-2); row-gap: var(--space-3); align-items: center;
      padding-top: var(--space-3);
    }
    .lp-hero__band, .lp-hero__headrow, .lp-hero__head { display: contents; }
    .lp-hero__brand { grid-column: 1; grid-row: 1; justify-self: start; align-self: center; margin: 0; }
    .lp-hero__img-m {
      grid-column: 2; grid-row: 1; justify-self: end;
      position: relative; right: auto; top: auto; z-index: auto;
      width: clamp(150px, 40vw, 210px); max-width: 210px; height: calc(56.25vw - 26px); min-height: 0; max-height: 260px; margin: 0; align-self: start;
    }
    .lp-hero__kicker { grid-column: 1 / -1; grid-row: 2; justify-self: center; margin: 0; }
    .lp-hero__title { grid-column: 1 / -1; grid-row: 3; max-width: none; text-align: center; font-size: clamp(1.55rem, 1rem + 3.4vw, 2rem); margin: var(--space-2) 0 0; }
    .lp-hero__when { grid-column: 1 / -1; grid-row: 4; justify-content: center; font-size: clamp(0.62rem, 0.5rem + 0.6vw, 0.78rem); margin: var(--space-3) 0 0; }
    .lp-hero__sub { grid-column: 1 / -1; grid-row: 5; text-align: center; margin: var(--space-3) auto 0; }
    .lp-hero__cta { grid-column: 1 / -1; grid-row: 6; align-items: center; }
    .lp-hero__img-m { filter: none; -webkit-mask-image: none; mask-image: none; }
    .lp-hero__img-m::after { display: none; }
    .lp-hero__fade { display: none; }
    .lp-hero::before { display: none; }
    .lp-hero::after {
      display: block; content: ''; position: absolute; z-index: 6; pointer-events: none;
      left: 0; right: 0; top: 0; bottom: auto;
      height: 56.25vw; max-height: 260px;
      background: linear-gradient(to bottom, transparent 40%, rgba(10,10,10,0.55) 70%, var(--surface-base) 100%);
    }
  }
  @media (max-width: 480px) {
    .m10-frow { grid-template-columns: 1fr; }
  }
  @media (max-width: 560px) {
    .lp-agenda { grid-template-columns: 1fr; }
    .lp-topbar__date { display: none; }
  }

/* ============================================================
   COMPONENTES (reproduzidos do design system do mockup, valores
   computados reais) — btn, badge, feature, card, countdown, form.
   ============================================================ */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px;
  border-radius:999px; font-family:var(--font-sans); font-weight:600; letter-spacing:.18px;
  cursor:pointer; text-decoration:none; border:1px solid transparent; text-align:center;
  transition:filter var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out), background var(--dur-base) var(--ease-out); }
.btn--lg { padding:19px 40px; font-size:var(--text-md); }
.btn--md { padding:14px 28px; font-size:var(--text-base); }
.btn--block { width:100%; }
.btn--primary { background:var(--gold-500); color:var(--ink-900); box-shadow:var(--shadow-gold); }
.btn--primary:hover { filter:brightness(1.05); transform:translateY(-1px); }
.btn--outline { background:transparent; border-color:var(--line-gold); color:var(--text-strong); }
.btn--outline:hover { background:var(--accent-soft); }
.btn[disabled] { opacity:.5; cursor:not-allowed; filter:none; transform:none; }

.badge { display:inline-flex; align-items:center; border-radius:999px; padding:6px 13px;
  font-family:var(--font-sans); font-size:12px; font-weight:600; letter-spacing:.72px; text-transform:uppercase; }
.badge--gold { background:var(--gold-500); color:var(--ink-900); }
.badge--outline { background:transparent; border:1px solid var(--line-strong); color:var(--taupe-400); }

/* FeatureItem — item com marcador (check dourado ou ponto) */
.feat { display:flex; gap:14px; align-items:flex-start; }
.feat__mk { flex:none; width:26px; height:26px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; margin-top:1px; }
.feat--check .feat__mk { border:1px solid var(--line-gold); color:var(--accent); }
.feat--dot .feat__mk { color:var(--accent); }
.feat--dot .feat__mk::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--accent); }
.feat__t { color:var(--text-body); font-size:var(--text-base); line-height:var(--leading-snug); }
.feat--no .feat__mk { border:1px solid var(--line-strong); color:var(--text-muted); }
.feat--no .feat__t { color:var(--text-muted); }

.card-paper { background:var(--paper-200); border-radius:var(--radius-lg); padding:var(--space-6); }

/* Countdown */
.countdown { display:flex; gap:10px; justify-content:center; }
.countdown__box { flex:1; background:var(--urgent-soft); border:1px solid rgba(158,43,32,.35); border-radius:var(--radius-md); padding:12px 6px; text-align:center; }
.countdown__n { font-family:var(--font-display); font-size:var(--text-2xl); font-weight:700; color:var(--bordo-400); line-height:1; }
.countdown__l { font-family:var(--font-sans); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--taupe-700); margin-top:6px; }

/* Form (modal de inscrição) */
.m10-frow { display:flex; gap:var(--space-3); }
.m10-frow > * { flex:1; min-width:0; }
.fld { display:flex; flex-direction:column; gap:6px; }
.fld > label { font-size:var(--text-xs); font-weight:600; letter-spacing:.04em; color:var(--text-muted); }
.fld input, .fld select, .lp-phone input {
  width:100%; appearance:none; -webkit-appearance:none; padding:14px 16px;
  font-family:var(--font-sans); font-size:var(--text-base); color:var(--text-strong);
  background:var(--surface-raised); border:1px solid transparent; border-radius:var(--radius-md);
  outline:none; box-shadow:0 1px 2px rgba(0,0,0,.4); transition:border-color var(--dur-base) var(--ease-out); }
.fld select { padding-right:40px; cursor:pointer; color:var(--text-muted); }
.fld select.filled { color:var(--text-strong); }
.fld input::placeholder { color:var(--text-muted); }
.fld input:focus, .fld select:focus, .lp-phone input:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.fld.err input, .fld.err select, .fld.err .lp-phone input { border-color:var(--bordo-500); }
.fld__msg { font-size:var(--text-xs); color:var(--bordo-400); display:none; }
.fld.err .fld__msg { display:block; }
.lp-select-wrap { position:relative; }
.lp-select-wrap::after { content:'▾'; position:absolute; right:16px; top:50%; transform:translateY(-50%); pointer-events:none; color:var(--accent); font-size:12px; }
.lp-phone { display:flex; }
.lp-phone__cc { flex:none; width:auto; max-width:46%; appearance:none; -webkit-appearance:none; padding:14px 12px; background:var(--surface-raised); border:1px solid transparent; border-right:1px solid var(--line); border-radius:var(--radius-md) 0 0 var(--radius-md); color:var(--text-strong); font-size:var(--text-base); cursor:pointer; }
.lp-phone__cc:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); position:relative; z-index:1; }
.lp-phone input { border-radius:0 var(--radius-md) var(--radius-md) 0; }
.fld__warn { font-size:var(--text-xs); color:var(--gold-600); display:none; margin-top:2px; }
.fld.warn .fld__warn { display:block; }
.chk { display:flex; gap:12px; align-items:flex-start; cursor:pointer; font-size:var(--text-sm); color:var(--text-body); line-height:1.45; }
.chk input { flex:none; width:20px; height:20px; margin-top:2px; accent-color:var(--accent); }
.chk a { color:var(--accent); text-decoration:underline; text-underline-offset:2px; }

/* FAQ (accordion) */
.faq-item { border-bottom: 1px solid var(--line); }
.faq-q { width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0;
  background:none; border:none; cursor:pointer; text-align:left; font-family:var(--font-display); font-size:var(--text-md); color:var(--text-strong); }
.faq-ic { flex:none; width:28px; height:28px; border-radius:50%; border:1px solid var(--line-gold); color:var(--accent);
  display:inline-flex; align-items:center; justify-content:center; font-family:var(--font-sans); font-size:18px;
  transition:transform var(--dur-base) var(--ease-out); }
.faq-item.open .faq-ic { transform:rotate(45deg); }
.faq-a { max-height:0; overflow:hidden; transition:max-height var(--dur-slow) var(--ease-out); }
.faq-a p { color:var(--text-muted); font-size:var(--text-base); line-height:var(--leading-body); padding:0 0 24px; max-width:64ch; }

/* WhatsApp flutuante */
.lp-wa { position:fixed; right:clamp(16px,3vw,32px); bottom:clamp(16px,3vw,32px); z-index:90;
  display:inline-flex; align-items:center; justify-content:center; width:60px; height:60px; border-radius:50%;
  background:#25D366; box-shadow:0 8px 24px rgba(0,0,0,.28),0 2px 6px rgba(0,0,0,.2); color:#fff; text-decoration:none;
  transition:transform .16s ease, box-shadow .16s ease; }
.lp-wa:hover { transform:scale(1.06); box-shadow:0 12px 30px rgba(0,0,0,.34),0 3px 8px rgba(0,0,0,.22); }

/* consent: a label .chk é filha de .fld — não herdar o estilo de label de campo */
.fld > label.chk { font-size: var(--text-sm); color: var(--text-body); font-weight: 400; letter-spacing: normal; }
