/* [next]/internal/font/google/dm_sans_3d80eddf.module.css [app-client] (css) */
@font-face {
  font-family: DM Sans;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: DM Sans;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: DM Sans;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: DM Sans;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: DM Sans;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: DM Sans;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: DM Sans;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: DM Sans;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: DM Sans Fallback;
  src: local(Arial);
  ascent-override: 94.9%;
  descent-override: 29.66%;
  line-gap-override: 0.0%;
  size-adjust: 104.53%;
}

.dm_sans_3d80eddf-module__18Q8-q__className {
  font-family: DM Sans, DM Sans Fallback;
  font-style: normal;
}

.dm_sans_3d80eddf-module__18Q8-q__variable {
  --font-dm-sans: "DM Sans", "DM Sans Fallback";
}

/* [next]/internal/font/google/lora_aaf1399d.module.css [app-client] (css) */
@font-face {
  font-family: Lora;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../media/c17e85220dab5903-s.0s0zx6oap3yzq.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Lora;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../media/659720fbcac806cc-s.11sf0lfiq6c6p.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Lora;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../media/c3500a4952f4c03f-s.0kypfp-_v.whw.woff2") format("woff2");
  unicode-range: U+302-303, U+305, U+307-308, U+310, U+312, U+315, U+31A, U+326-327, U+32C, U+32F-330, U+332-333, U+338, U+33A, U+346, U+34D, U+391-3A1, U+3A3-3A9, U+3B1-3C9, U+3D1, U+3D5-3D6, U+3F0-3F1, U+3F4-3F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE??;
}

@font-face {
  font-family: Lora;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../media/6adbe22fa8bff382-s.12wx---7cf8z4.woff2") format("woff2");
  unicode-range: U+1-C, U+E-1F, U+7F-9F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+28??, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B??, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F0??, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F7??, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB??;
}

@font-face {
  font-family: Lora;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../media/3adc3f408d8054fb-s.0mslr.w4_87j..woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Lora;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../media/6f8cddd3f32356db-s.0~9dbzaeqqce..woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Lora;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../media/5e5dfa9e86f764b8-s.p.0o9~3wzuvo.a_.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Lora;
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../media/c17e85220dab5903-s.0s0zx6oap3yzq.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Lora;
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../media/659720fbcac806cc-s.11sf0lfiq6c6p.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Lora;
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../media/c3500a4952f4c03f-s.0kypfp-_v.whw.woff2") format("woff2");
  unicode-range: U+302-303, U+305, U+307-308, U+310, U+312, U+315, U+31A, U+326-327, U+32C, U+32F-330, U+332-333, U+338, U+33A, U+346, U+34D, U+391-3A1, U+3A3-3A9, U+3B1-3C9, U+3D1, U+3D5-3D6, U+3F0-3F1, U+3F4-3F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE??;
}

@font-face {
  font-family: Lora;
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../media/6adbe22fa8bff382-s.12wx---7cf8z4.woff2") format("woff2");
  unicode-range: U+1-C, U+E-1F, U+7F-9F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+28??, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B??, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F0??, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F7??, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB??;
}

@font-face {
  font-family: Lora;
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../media/3adc3f408d8054fb-s.0mslr.w4_87j..woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Lora;
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../media/6f8cddd3f32356db-s.0~9dbzaeqqce..woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Lora;
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../media/5e5dfa9e86f764b8-s.p.0o9~3wzuvo.a_.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/e7150917543fc9da-s.071m.n3zzn52i.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/71fbf9c08529c2a5-s.0s73vwibz65qg.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/e9457141811d41ae-s.00tq~sneouii2.woff2") format("woff2");
  unicode-range: U+302-303, U+305, U+307-308, U+310, U+312, U+315, U+31A, U+326-327, U+32C, U+32F-330, U+332-333, U+338, U+33A, U+346, U+34D, U+391-3A1, U+3A3-3A9, U+3B1-3C9, U+3D1, U+3D5-3D6, U+3F0-3F1, U+3F4-3F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE??;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/ac34884600cd8d5d-s.0q61mniqzdjv_.woff2") format("woff2");
  unicode-range: U+1-C, U+E-1F, U+7F-9F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+28??, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B??, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F0??, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F7??, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB??;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/e1ccd2766b08c828-s.0dd-~h-3wf1jt.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/507a47c1876d4ec2-s.0vig0aoy18nm3.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/8c2eb9ceedecfc8e-s.p.0oeo8epbafgia.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/e7150917543fc9da-s.071m.n3zzn52i.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/71fbf9c08529c2a5-s.0s73vwibz65qg.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/e9457141811d41ae-s.00tq~sneouii2.woff2") format("woff2");
  unicode-range: U+302-303, U+305, U+307-308, U+310, U+312, U+315, U+31A, U+326-327, U+32C, U+32F-330, U+332-333, U+338, U+33A, U+346, U+34D, U+391-3A1, U+3A3-3A9, U+3B1-3C9, U+3D1, U+3D5-3D6, U+3F0-3F1, U+3F4-3F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE??;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/ac34884600cd8d5d-s.0q61mniqzdjv_.woff2") format("woff2");
  unicode-range: U+1-C, U+E-1F, U+7F-9F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+28??, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B??, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F0??, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F7??, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB??;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/e1ccd2766b08c828-s.0dd-~h-3wf1jt.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/507a47c1876d4ec2-s.0vig0aoy18nm3.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/8c2eb9ceedecfc8e-s.p.0oeo8epbafgia.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Lora Fallback;
  src: local(Times New Roman);
  ascent-override: 87.33%;
  descent-override: 23.78%;
  line-gap-override: 0.0%;
  size-adjust: 115.2%;
}

.lora_aaf1399d-module__N4qM8W__className {
  font-family: Lora, Lora Fallback;
}

.lora_aaf1399d-module__N4qM8W__variable {
  --font-lora: "Lora", "Lora Fallback";
}

/* [next]/internal/font/google/playfair_display_fd3963a7.module.css [app-client] (css) */
@font-face {
  font-family: Playfair Display;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../media/35161b7740c25d33-s.05wv8sp_ts~44.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Playfair Display;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../media/391e53907fa6d8ec-s.09se41kx.zlna.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Playfair Display;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../media/ae8872c8a32e309c-s.05txd3dlozf45.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Playfair Display;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../media/70e3db2de7f94926-s.p.0~0iy9faq3424.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Playfair Display;
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../media/35161b7740c25d33-s.05wv8sp_ts~44.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Playfair Display;
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../media/391e53907fa6d8ec-s.09se41kx.zlna.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Playfair Display;
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../media/ae8872c8a32e309c-s.05txd3dlozf45.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Playfair Display;
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../media/70e3db2de7f94926-s.p.0~0iy9faq3424.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Playfair Display;
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../media/35161b7740c25d33-s.05wv8sp_ts~44.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Playfair Display;
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../media/391e53907fa6d8ec-s.09se41kx.zlna.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Playfair Display;
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../media/ae8872c8a32e309c-s.05txd3dlozf45.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Playfair Display;
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../media/70e3db2de7f94926-s.p.0~0iy9faq3424.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Playfair Display;
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("../media/35161b7740c25d33-s.05wv8sp_ts~44.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Playfair Display;
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("../media/391e53907fa6d8ec-s.09se41kx.zlna.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Playfair Display;
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("../media/ae8872c8a32e309c-s.05txd3dlozf45.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Playfair Display;
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("../media/70e3db2de7f94926-s.p.0~0iy9faq3424.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Playfair Display;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/65c558afe41e89d6-s.113htgw8u-emy.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Playfair Display;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/14e23f9b59180572-s.08.c8psu~gif9.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Playfair Display;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/b49b0d9b851e4899-s.0yfy_qj1.2qn0.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Playfair Display;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2a65768255d6b625-s.p.14by5b4al-y~f.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Playfair Display;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/65c558afe41e89d6-s.113htgw8u-emy.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Playfair Display;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/14e23f9b59180572-s.08.c8psu~gif9.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Playfair Display;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/b49b0d9b851e4899-s.0yfy_qj1.2qn0.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Playfair Display;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/2a65768255d6b625-s.p.14by5b4al-y~f.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Playfair Display;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/65c558afe41e89d6-s.113htgw8u-emy.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Playfair Display;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/14e23f9b59180572-s.08.c8psu~gif9.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Playfair Display;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/b49b0d9b851e4899-s.0yfy_qj1.2qn0.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Playfair Display;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/2a65768255d6b625-s.p.14by5b4al-y~f.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Playfair Display;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/65c558afe41e89d6-s.113htgw8u-emy.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Playfair Display;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/14e23f9b59180572-s.08.c8psu~gif9.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Playfair Display;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/b49b0d9b851e4899-s.0yfy_qj1.2qn0.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Playfair Display;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/2a65768255d6b625-s.p.14by5b4al-y~f.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Playfair Display Fallback;
  src: local(Times New Roman);
  ascent-override: 97.25%;
  descent-override: 22.56%;
  line-gap-override: 0.0%;
  size-adjust: 111.26%;
}

.playfair_display_fd3963a7-module__a5euka__className {
  font-family: Playfair Display, Playfair Display Fallback;
}

.playfair_display_fd3963a7-module__a5euka__variable {
  --font-playfair: "Playfair Display", "Playfair Display Fallback";
}

/* [next]/internal/font/google/inter_bc220a90.module.css [app-client] (css) */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.0wxq9webf.ew4.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.0wxq9webf.ew4.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.0wxq9webf.ew4.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter Fallback;
  src: local(Arial);
  ascent-override: 90.44%;
  descent-override: 22.52%;
  line-gap-override: 0.0%;
  size-adjust: 107.12%;
}

.inter_bc220a90-module__m5YftW__className {
  font-family: Inter, Inter Fallback;
  font-style: normal;
}

.inter_bc220a90-module__m5YftW__variable {
  --font-inter: "Inter", "Inter Fallback";
}

/* [project]/app/globals.css [app-client] (css) */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: var(--font-dm-sans);
    --font-mono: var(--font-geist-mono);
    --color-white: #fff;
    --spacing: .25rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-2xl: 42rem;
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --ease-in: cubic-bezier(.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-dm-sans);
    --default-mono-font-family: var(--font-geist-mono);
    --color-background: var(--background);
    --color-foreground: var(--foreground);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .start {
    inset-inline-start: var(--spacing);
  }

  .end {
    inset-inline-end: var(--spacing);
  }

  .top-0 {
    top: calc(var(--spacing) * 0);
  }

  .top-2 {
    top: calc(var(--spacing) * 2);
  }

  .top-2\.5 {
    top: calc(var(--spacing) * 2.5);
  }

  .right-3 {
    right: calc(var(--spacing) * 3);
  }

  .right-4 {
    right: calc(var(--spacing) * 4);
  }

  .right-\[9px\] {
    right: 9px;
  }

  .bottom-3 {
    bottom: calc(var(--spacing) * 3);
  }

  .isolate {
    isolation: isolate;
  }

  .z-\[1\] {
    z-index: 1;
  }

  .z-\[1000\] {
    z-index: 1000;
  }

  .float-left {
    float: left;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .m-0 {
    margin: calc(var(--spacing) * 0);
  }

  .m-1 {
    margin: calc(var(--spacing) * 1);
  }

  .m-2 {
    margin: calc(var(--spacing) * 2);
  }

  .m-3 {
    margin: calc(var(--spacing) * 3);
  }

  .m-4 {
    margin: calc(var(--spacing) * 4);
  }

  .m-5 {
    margin: calc(var(--spacing) * 5);
  }

  .mx-1 {
    margin-inline: calc(var(--spacing) * 1);
  }

  .mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }

  .mx-3 {
    margin-inline: calc(var(--spacing) * 3);
  }

  .mx-4 {
    margin-inline: calc(var(--spacing) * 4);
  }

  .mx-5 {
    margin-inline: calc(var(--spacing) * 5);
  }

  .mx-auto {
    margin-inline: auto;
  }

  .my-1 {
    margin-block: calc(var(--spacing) * 1);
  }

  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }

  .my-3 {
    margin-block: calc(var(--spacing) * 3);
  }

  .my-4 {
    margin-block: calc(var(--spacing) * 4);
  }

  .my-5 {
    margin-block: calc(var(--spacing) * 5);
  }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }

  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mt-\[3px\] {
    margin-top: 3px;
  }

  .mr-1 {
    margin-right: calc(var(--spacing) * 1);
  }

  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }

  .mr-3 {
    margin-right: calc(var(--spacing) * 3);
  }

  .mr-4 {
    margin-right: calc(var(--spacing) * 4);
  }

  .mr-5 {
    margin-right: calc(var(--spacing) * 5);
  }

  .-mb-px {
    margin-bottom: -1px;
  }

  .mb-0\.5 {
    margin-bottom: calc(var(--spacing) * .5);
  }

  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }

  .mb-1\.5 {
    margin-bottom: calc(var(--spacing) * 1.5);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }

  .mb-7 {
    margin-bottom: calc(var(--spacing) * 7);
  }

  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }

  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }

  .ml-3 {
    margin-left: calc(var(--spacing) * 3);
  }

  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }

  .ml-5 {
    margin-left: calc(var(--spacing) * 5);
  }

  .ml-auto {
    margin-left: auto;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-block {
    display: inline-block;
  }

  .inline-flex {
    display: inline-flex;
  }

  .table {
    display: table;
  }

  .h-1 {
    height: calc(var(--spacing) * 1);
  }

  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }

  .h-6 {
    height: calc(var(--spacing) * 6);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-9 {
    height: calc(var(--spacing) * 9);
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .h-14 {
    height: calc(var(--spacing) * 14);
  }

  .h-16 {
    height: calc(var(--spacing) * 16);
  }

  .h-\[5px\] {
    height: 5px;
  }

  .h-\[7px\] {
    height: 7px;
  }

  .h-\[34px\] {
    height: 34px;
  }

  .h-\[38px\] {
    height: 38px;
  }

  .h-\[42px\] {
    height: 42px;
  }

  .h-\[104px\] {
    height: 104px;
  }

  .h-\[108px\] {
    height: 108px;
  }

  .h-full {
    height: 100%;
  }

  .min-h-9 {
    min-height: calc(var(--spacing) * 9);
  }

  .min-h-11 {
    min-height: calc(var(--spacing) * 11);
  }

  .min-h-12 {
    min-height: calc(var(--spacing) * 12);
  }

  .min-h-full {
    min-height: 100%;
  }

  .min-h-screen {
    min-height: 100vh;
  }

  .w-6 {
    width: calc(var(--spacing) * 6);
  }

  .w-8 {
    width: calc(var(--spacing) * 8);
  }

  .w-9 {
    width: calc(var(--spacing) * 9);
  }

  .w-10 {
    width: calc(var(--spacing) * 10);
  }

  .w-14 {
    width: calc(var(--spacing) * 14);
  }

  .w-16 {
    width: calc(var(--spacing) * 16);
  }

  .w-\[7px\] {
    width: 7px;
  }

  .w-\[18px\] {
    width: 18px;
  }

  .w-\[34px\] {
    width: 34px;
  }

  .w-\[38px\] {
    width: 38px;
  }

  .w-\[42px\] {
    width: 42px;
  }

  .w-\[104px\] {
    width: 104px;
  }

  .w-\[230px\] {
    width: 230px;
  }

  .w-full {
    width: 100%;
  }

  .max-w-2xl {
    max-width: var(--container-2xl);
  }

  .max-w-\[42ch\] {
    max-width: 42ch;
  }

  .max-w-\[1180px\] {
    max-width: 1180px;
  }

  .max-w-md {
    max-width: var(--container-md);
  }

  .max-w-sm {
    max-width: var(--container-sm);
  }

  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }

  .min-w-\[2\.2rem\] {
    min-width: 2.2rem;
  }

  .flex-1 {
    flex: 1;
  }

  .flex-shrink, .shrink {
    flex-shrink: 1;
  }

  .shrink-0 {
    flex-shrink: 0;
  }

  .grow {
    flex-grow: 1;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .\[animation\:ds-dialog-in_360ms_var\(--ds-ease\)\] {
    animation: ds-dialog-in .36s var(--ds-ease);
  }

  .animate-pulse {
    animation: var(--animate-pulse);
  }

  .animate-spin {
    animation: var(--animate-spin);
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .resize {
    resize: both;
  }

  .resize-y {
    resize: vertical;
  }

  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-center {
    align-items: center;
  }

  .items-end {
    align-items: flex-end;
  }

  .items-start {
    align-items: flex-start;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .justify-end {
    justify-content: flex-end;
  }

  .gap-0\.5 {
    gap: calc(var(--spacing) * .5);
  }

  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-3\.5 {
    gap: calc(var(--spacing) * 3.5);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  .self-center {
    align-self: center;
  }

  .self-start {
    align-self: flex-start;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .rounded {
    border-radius: .25rem;
  }

  .rounded-\[9px\] {
    border-radius: 9px;
  }

  .rounded-\[14px\] {
    border-radius: 14px;
  }

  .rounded-\[18px\] {
    border-radius: 18px;
  }

  .rounded-ds-full {
    border-radius: var(--ds-radius-full);
  }

  .rounded-ds-lg {
    border-radius: var(--ds-radius-lg);
  }

  .rounded-ds-md {
    border-radius: var(--ds-radius-md);
  }

  .rounded-ds-sm {
    border-radius: var(--ds-radius-sm);
  }

  .rounded-ds-xl {
    border-radius: var(--ds-radius-xl);
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .border-b-2 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 2px;
  }

  .border-l-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
  }

  .border-ds-border {
    border-color: var(--ds-border);
  }

  .border-ds-border-subtle {
    border-color: var(--ds-border-subtle);
  }

  .border-ds-danger {
    border-color: var(--ds-danger);
  }

  .border-ds-primary {
    border-color: var(--ds-primary);
  }

  .border-transparent {
    border-color: #0000;
  }

  .border-t-ds-primary {
    border-top-color: var(--ds-primary);
  }

  .border-l-ds-accent {
    border-left-color: var(--ds-accent);
  }

  .border-l-ds-border {
    border-left-color: var(--ds-border);
  }

  .border-l-ds-danger {
    border-left-color: var(--ds-danger);
  }

  .border-l-ds-info {
    border-left-color: var(--ds-info);
  }

  .border-l-ds-success {
    border-left-color: var(--ds-success);
  }

  .border-l-ds-warning {
    border-left-color: var(--ds-warning);
  }

  .bg-\[var\(--ds-danger-bg\)\] {
    background-color: var(--ds-danger-bg);
  }

  .bg-\[var\(--ds-gold-100\)\] {
    background-color: var(--ds-gold-100);
  }

  .bg-\[var\(--ds-info-bg\)\] {
    background-color: var(--ds-info-bg);
  }

  .bg-\[var\(--ds-success-bg\)\] {
    background-color: var(--ds-success-bg);
  }

  .bg-\[var\(--ds-warning-bg\)\] {
    background-color: var(--ds-warning-bg);
  }

  .bg-ds-accent {
    background-color: var(--ds-accent);
  }

  .bg-ds-accent-warm {
    background-color: var(--ds-accent-warm);
  }

  .bg-ds-primary {
    background-color: var(--ds-primary);
  }

  .bg-ds-primary-soft {
    background-color: var(--ds-primary-soft);
  }

  .bg-ds-success {
    background-color: var(--ds-success);
  }

  .bg-ds-surface {
    background-color: var(--ds-surface);
  }

  .bg-ds-surface-sunken {
    background-color: var(--ds-surface-sunken);
  }

  .bg-transparent {
    background-color: #0000;
  }

  .bg-white {
    background-color: var(--color-white);
  }

  .object-cover {
    object-fit: cover;
  }

  .p-1 {
    padding: calc(var(--spacing) * 1);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-3\.5 {
    padding: calc(var(--spacing) * 3.5);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-5 {
    padding: calc(var(--spacing) * 5);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .p-7 {
    padding: calc(var(--spacing) * 7);
  }

  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }

  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-3\.5 {
    padding-inline: calc(var(--spacing) * 3.5);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }

  .px-\[0\.7rem\] {
    padding-inline: .7rem;
  }

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .py-7 {
    padding-block: calc(var(--spacing) * 7);
  }

  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }

  .py-\[0\.2rem\] {
    padding-block: .2rem;
  }

  .pt-1 {
    padding-top: calc(var(--spacing) * 1);
  }

  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }

  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }

  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }

  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }

  .pr-1 {
    padding-right: calc(var(--spacing) * 1);
  }

  .pr-2 {
    padding-right: calc(var(--spacing) * 2);
  }

  .pr-3 {
    padding-right: calc(var(--spacing) * 3);
  }

  .pr-4 {
    padding-right: calc(var(--spacing) * 4);
  }

  .pr-5 {
    padding-right: calc(var(--spacing) * 5);
  }

  .pb-1 {
    padding-bottom: calc(var(--spacing) * 1);
  }

  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }

  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }

  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }

  .pb-5 {
    padding-bottom: calc(var(--spacing) * 5);
  }

  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }

  .pl-1 {
    padding-left: calc(var(--spacing) * 1);
  }

  .pl-2 {
    padding-left: calc(var(--spacing) * 2);
  }

  .pl-3 {
    padding-left: calc(var(--spacing) * 3);
  }

  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }

  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }

  .text-center {
    text-align: center;
  }

  .font-body {
    font-family: var(--ds-font-body);
  }

  .font-display {
    font-family: var(--ds-font-display);
  }

  .font-serif-soft {
    font-family: var(--ds-font-serif);
  }

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

  .text-\[0\.6rem\] {
    font-size: .6rem;
  }

  .text-\[0\.7rem\] {
    font-size: .7rem;
  }

  .text-\[0\.8rem\] {
    font-size: .8rem;
  }

  .text-\[0\.9rem\] {
    font-size: .9rem;
  }

  .text-\[0\.55rem\] {
    font-size: .55rem;
  }

  .text-\[0\.66rem\] {
    font-size: .66rem;
  }

  .text-\[0\.68rem\] {
    font-size: .68rem;
  }

  .text-\[0\.72rem\] {
    font-size: .72rem;
  }

  .text-\[0\.74rem\] {
    font-size: .74rem;
  }

  .text-\[0\.78rem\] {
    font-size: .78rem;
  }

  .text-\[0\.82rem\] {
    font-size: .82rem;
  }

  .text-\[0\.85rem\] {
    font-size: .85rem;
  }

  .text-\[0\.86rem\] {
    font-size: .86rem;
  }

  .text-\[0\.95rem\] {
    font-size: .95rem;
  }

  .text-\[1\.1rem\] {
    font-size: 1.1rem;
  }

  .text-\[1\.02rem\] {
    font-size: 1.02rem;
  }

  .text-\[1\.5rem\] {
    font-size: 1.5rem;
  }

  .text-\[1\.6rem\] {
    font-size: 1.6rem;
  }

  .text-\[1\.12rem\] {
    font-size: 1.12rem;
  }

  .text-\[1\.15rem\] {
    font-size: 1.15rem;
  }

  .text-\[1\.25rem\] {
    font-size: 1.25rem;
  }

  .text-\[1\.35rem\] {
    font-size: 1.35rem;
  }

  .text-\[1\.85rem\] {
    font-size: 1.85rem;
  }

  .text-\[2\.6rem\] {
    font-size: 2.6rem;
  }

  .text-ds-body {
    font-size: var(--ds-text-body);
  }

  .text-ds-body-lg {
    font-size: var(--ds-text-body-lg);
  }

  .text-ds-caption {
    font-size: var(--ds-text-caption);
  }

  .text-ds-h3 {
    font-size: var(--ds-text-h3);
  }

  .text-ds-h4 {
    font-size: var(--ds-text-h4);
  }

  .text-ds-small {
    font-size: var(--ds-text-small);
  }

  .leading-\[0\.5\] {
    --tw-leading: .5;
    line-height: .5;
  }

  .leading-\[1\.9\] {
    --tw-leading: 1.9;
    line-height: 1.9;
  }

  .leading-\[1\.65\] {
    --tw-leading: 1.65;
    line-height: 1.65;
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }

  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-\[0\.01em\] {
    --tw-tracking: .01em;
    letter-spacing: .01em;
  }

  .tracking-\[0\.12em\] {
    --tw-tracking: .12em;
    letter-spacing: .12em;
  }

  .tracking-\[0\.32em\] {
    --tw-tracking: .32em;
    letter-spacing: .32em;
  }

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }

  .break-all {
    word-break: break-all;
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .text-\[var\(--ds-gold-700\)\] {
    color: var(--ds-gold-700);
  }

  .text-ds-danger {
    color: var(--ds-danger);
  }

  .text-ds-info {
    color: var(--ds-info);
  }

  .text-ds-ink {
    color: var(--ds-ink);
  }

  .text-ds-muted {
    color: var(--ds-muted);
  }

  .text-ds-on-primary {
    color: var(--ds-on-primary);
  }

  .text-ds-primary {
    color: var(--ds-primary);
  }

  .text-ds-success {
    color: var(--ds-success);
  }

  .text-ds-text-2 {
    color: var(--ds-text-2);
  }

  .text-ds-warning {
    color: var(--ds-warning);
  }

  .text-white {
    color: var(--color-white);
  }

  .capitalize {
    text-transform: capitalize;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .line-through {
    text-decoration-line: line-through;
  }

  .overline {
    text-decoration-line: overline;
  }

  .underline {
    text-decoration-line: underline;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-85 {
    opacity: .85;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-ds-lg {
    --tw-shadow: var(--ds-shadow-lg);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-ds-sm {
    --tw-shadow: var(--ds-shadow-sm);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .sepia {
    --tw-sepia: sepia(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .backdrop-blur {
    --tw-backdrop-blur: blur(8px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[background-color\,color\,box-shadow\,filter\] {
    transition-property: background-color, color, box-shadow, filter;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[border-color\,box-shadow\] {
    transition-property: border-color, box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[box-shadow\,transform\] {
    transition-property: box-shadow, transform;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[width\] {
    transition-property: width;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-shadow {
    transition-property: box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .duration-\[360ms\] {
    --tw-duration: .36s;
    transition-duration: .36s;
  }

  .ease-in {
    --tw-ease: var(--ease-in);
    transition-timing-function: var(--ease-in);
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }

  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  .placeholder\:text-ds-muted::placeholder {
    color: var(--ds-muted);
  }

  .placeholder\:italic::placeholder {
    font-style: italic;
  }

  .last\:border-b-0:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0;
  }

  @media (hover: hover) {
    .hover\:-translate-y-px:hover {
      --tw-translate-y: -1px;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }

  @media (hover: hover) {
    .hover\:bg-ds-primary-hover:hover {
      background-color: var(--ds-primary-hover);
    }
  }

  @media (hover: hover) {
    .hover\:bg-ds-surface-sunken:hover {
      background-color: var(--ds-surface-sunken);
    }
  }

  @media (hover: hover) {
    .hover\:text-ds-ink:hover {
      color: var(--ds-ink);
    }
  }

  @media (hover: hover) {
    .hover\:shadow-ds-md:hover {
      --tw-shadow: var(--ds-shadow-md);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (hover: hover) {
    .hover\:shadow-md:hover {
      --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (hover: hover) {
    .hover\:brightness-95:hover {
      --tw-brightness: brightness(95%);
      filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
    }
  }

  .focus-visible\:border-ds-primary:focus-visible {
    border-color: var(--ds-primary);
  }

  .focus-visible\:text-ds-ink:focus-visible {
    color: var(--ds-ink);
  }

  .focus-visible\:\[box-shadow\:var\(--ds-shadow-focus\)\]:focus-visible {
    box-shadow: var(--ds-shadow-focus);
  }

  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  .disabled\:opacity-60:disabled {
    opacity: .6;
  }

  .disabled\:shadow-none:disabled {
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  @media (min-width: 40rem) {
    .sm\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  @media (min-width: 40rem) {
    .sm\:grid-cols-\[1\.1fr_1fr\] {
      grid-template-columns: 1.1fr 1fr;
    }
  }

  @media (min-width: 48rem) {
    .md\:flex {
      display: flex;
    }
  }

  @media (min-width: 48rem) {
    .md\:px-8 {
      padding-inline: calc(var(--spacing) * 8);
    }
  }

  @media (min-width: 48rem) {
    .md\:text-\[2rem\] {
      font-size: 2rem;
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid-cols-\[1fr_360px\] {
      grid-template-columns: 1fr 360px;
    }
  }
}

:root {
  --ds-green-950: #16261c;
  --ds-green-900: #1e3328;
  --ds-green-800: #284535;
  --ds-green-700: #335543;
  --ds-green-600: #436a55;
  --ds-green-500: #5a8169;
  --ds-green-400: #7ba088;
  --ds-green-300: #a6c2b0;
  --ds-green-200: #cfe0d6;
  --ds-green-100: #e7f0ea;
  --ds-green-50: #f2f7f4;
  --ds-ivory: #fcfaf6;
  --ds-sand-50: #f8f3ea;
  --ds-sand-100: #f2eadc;
  --ds-sand-200: #eadfcb;
  --ds-beige: #e3d5bd;
  --ds-ink: #221f1b;
  --ds-text: #2e2a25;
  --ds-text-2: #5a5249;
  --ds-muted: #9a8e7c;
  --ds-hairline: #ece4d7;
  --ds-line: #e0d6c5;
  --ds-gold-700: #a8884e;
  --ds-gold-600: #c09a57;
  --ds-gold-500: #cba968;
  --ds-gold-300: #e1cda0;
  --ds-gold-100: #f2e8d2;
  --ds-terracotta-700: #9c5435;
  --ds-terracotta-600: #b36844;
  --ds-terracotta-500: #c27c5a;
  --ds-terracotta-300: #e0b6a1;
  --ds-terracotta-100: #f4e2d8;
  --ds-success: #3f6b4f;
  --ds-success-bg: #e7f0ea;
  --ds-warning: #b08036;
  --ds-warning-bg: #f6ecd8;
  --ds-danger: #a85648;
  --ds-danger-bg: #f4e3df;
  --ds-info: #4a6273;
  --ds-info-bg: #e8eef2;
  --ds-bg: var(--ds-sand-50);
  --ds-surface: var(--ds-ivory);
  --ds-surface-sunken: var(--ds-sand-100);
  --ds-overlay: #221f1b52;
  --ds-text-primary: var(--ds-ink);
  --ds-text-secondary: var(--ds-text-2);
  --ds-text-muted: var(--ds-muted);
  --ds-text-on-dark: var(--ds-ivory);
  --ds-primary: var(--ds-green-700);
  --ds-primary-hover: var(--ds-green-800);
  --ds-primary-soft: var(--ds-green-100);
  --ds-on-primary: var(--ds-ivory);
  --ds-accent: var(--ds-gold-500);
  --ds-accent-warm: var(--ds-terracotta-600);
  --ds-border: var(--ds-line);
  --ds-border-subtle: var(--ds-hairline);
  --ds-focus-ring: var(--ds-green-700);
}

@supports (color: color-mix(in lab, red, red)) {
  :root {
    --ds-focus-ring: color-mix(in srgb, var(--ds-green-700) 38%, transparent);
  }
}

:root {
  --ds-font-display: var(--font-playfair), "Playfair Display", "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --ds-font-body: var(--font-inter), "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ds-font-serif: var(--font-lora), Georgia, serif;
  --ds-text-display: 3.5rem;
  --ds-leading-display: 1.05;
  --ds-tracking-display: -.02em;
  --ds-text-h1: 2.5rem;
  --ds-leading-h1: 1.1;
  --ds-tracking-h1: -.015em;
  --ds-text-h2: 2rem;
  --ds-leading-h2: 1.15;
  --ds-tracking-h2: -.01em;
  --ds-text-h3: 1.5rem;
  --ds-leading-h3: 1.25;
  --ds-text-h4: 1.25rem;
  --ds-leading-h4: 1.35;
  --ds-text-body-lg: 1.125rem;
  --ds-leading-body-lg: 1.7;
  --ds-text-body: 1rem;
  --ds-leading-body: 1.65;
  --ds-text-small: .875rem;
  --ds-leading-small: 1.5;
  --ds-text-caption: .75rem;
  --ds-leading-caption: 1.4;
  --ds-text-overline: .6875rem;
  --ds-tracking-overline: .18em;
  --ds-weight-regular: 400;
  --ds-weight-medium: 500;
  --ds-weight-semibold: 600;
  --ds-space-1: .25rem;
  --ds-space-2: .5rem;
  --ds-space-3: .75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.5rem;
  --ds-space-6: 2rem;
  --ds-space-7: 2.5rem;
  --ds-space-8: 3rem;
  --ds-space-9: 4rem;
  --ds-space-10: 5rem;
  --ds-space-12: 6rem;
  --ds-measure-prose: 640px;
  --ds-measure-content: 720px;
  --ds-container: 1140px;
  --ds-container-wide: 1280px;
  --ds-gutter: 1.5rem;
  --ds-gutter-mobile: 1rem;
  --ds-border-width: 1px;
  --ds-radius-xs: 6px;
  --ds-radius-sm: 10px;
  --ds-radius-md: 14px;
  --ds-radius-lg: 20px;
  --ds-radius-xl: 28px;
  --ds-radius-2xl: 36px;
  --ds-radius-full: 999px;
  --ds-shadow-xs: 0 1px 2px #221f1b0a;
  --ds-shadow-sm: 0 2px 8px #221f1b0d;
  --ds-shadow-md: 0 6px 20px #221f1b0f;
  --ds-shadow-lg: 0 16px 40px #221f1b14;
  --ds-shadow-focus: 0 0 0 3px var(--ds-focus-ring);
  --ds-duration-fast: .12s;
  --ds-duration: .2s;
  --ds-duration-slow: .36s;
  --ds-ease: cubic-bezier(.22, .61, .36, 1);
}

@keyframes ds-dialog-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

:root {
  --background: #fff;
  --foreground: #171717;
  --sand: #f9f7f4;
  --sand2: #f0e8dc;
  --sand3: #e8ddd0;
  --border: #ddd4c4;
  --border-soft: #ece5da;
  --muted: #a89a88;
  --text: #2c2926;
  --text2: #56504a;
  --accent: #6b5e52;
  --accent2: #8a7060;
  --accent3: #f0e6d8;
  --ink: #1c1916;
  --green: #4a7c59;
  --amber: #b87030;
  --companion: #7c6490;
}

body {
  background: var(--sand);
  color: var(--text);
  font-family: var(--font-lora), Georgia, "Times New Roman", serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizelegibility;
}

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

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

@media (max-width: 480px) {
  main > div[style], div[style*="maxWidth: '380px'"], div[style*="max-width: 380px"] {
    border-radius: 12px !important;
    max-width: 100% !important;
    padding: 1.5rem !important;
  }

  main[style*="padding: '2rem"] {
    padding: 1.5rem 1rem !important;
  }

  .mobile-menu {
    width: min(90vw, 210px);
  }

  .hp-hero {
    padding: 2.5rem 1rem 2rem;
  }

  .hp-title {
    font-size: 1.9rem;
  }

  .hp-section {
    padding: 2.5rem 1rem;
  }

  .hp-final-cta {
    padding: 2.75rem 1rem;
  }

  .cat-shell {
    padding: 1.5rem .875rem 3rem;
  }

  .cat-title {
    font-size: 1.5rem;
  }

  .diary-shell {
    padding: 1rem .875rem 3rem;
  }

  .diary-nav-inner {
    gap: .5rem;
    padding: 0 .75rem;
  }

  .diary-nav-right {
    gap: .4rem;
    font-size: .62rem;
  }

  .diary-nav-sep {
    display: none;
  }

  .diary-write-intro {
    padding: 2rem 0 1.25rem;
  }

  .parchment-textarea {
    padding: 1.25rem .875rem 1rem;
  }

  .parchment-content {
    padding: 1.25rem .875rem;
  }

  .parchment-footer {
    padding: .5rem .75rem;
  }

  .journal-overview-shell {
    padding: 1.5rem 1rem 3rem;
  }
}

.diary-shell {
  align-items: flex-start;
  gap: 3.5rem;
  max-width: 1160px;
  margin: 0 auto;
  padding: 2.5rem 2rem 7rem;
  display: flex;
}

.diary-sidebar {
  scrollbar-width: none;
  flex-shrink: 0;
  width: 240px;
  max-height: calc(100vh - 3rem);
  position: sticky;
  top: 1.5rem;
  overflow-y: auto;
}

.diary-sidebar::-webkit-scrollbar {
  display: none;
}

.diary-main {
  flex: 1;
  min-width: 0;
  max-width: 640px;
}

.sidebar-card {
  margin-bottom: 2.25rem;
  padding-bottom: 0;
}

.sidebar-lbl {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 .85rem;
  font-size: .6rem;
  font-weight: 600;
}

.ring-row {
  align-items: center;
  gap: .9rem;
  margin-bottom: .5rem;
  display: flex;
}

.progress-ring-container {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  position: relative;
}

.progress-ring-container svg {
  transform: rotate(-90deg);
}

.progress-ring-bg {
  fill: none;
  stroke: var(--border);
  stroke-width: 4px;
}

.progress-ring-fill {
  fill: none;
  stroke-width: 4px;
  stroke-linecap: round;
  transition: stroke-dashoffset .6s;
}

.ring-pct {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--accent);
  font-size: .8rem;
  font-weight: 700;
}

.ring-center {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--accent);
  justify-content: center;
  align-items: center;
  font-size: .75rem;
  font-weight: 700;
  display: flex;
  position: absolute;
  inset: 0;
}

.ring-text {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  font-size: .82rem;
  line-height: 1.45;
}

.ring-text strong {
  color: var(--ink);
  font-size: .92rem;
  font-weight: 600;
  display: block;
}

.ring-sub {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  font-size: .63rem;
  line-height: 1.3;
}

.score-bar-wrap {
  margin-top: .85rem;
}

.score-bar-hdr {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .38rem;
  display: flex;
}

.score-bar-lbl {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--muted);
  font-size: .58rem;
  font-weight: 700;
}

.score-bar-val {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  font-size: .7rem;
  font-weight: 600;
}

.score-bar-track {
  background: var(--sand3);
  border-radius: 3px;
  height: 5px;
  overflow: hidden;
}

.score-bar-fill {
  border-radius: 3px;
  height: 100%;
  transition: width .6s;
}

.day-list {
  flex-direction: column;
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.day-item {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  -webkit-user-select: none;
  user-select: none;
  border-radius: 8px;
  align-items: center;
  gap: .55rem;
  padding: .48rem .7rem;
  font-size: .8rem;
  line-height: 1.2;
  text-decoration: none;
  transition: background .13s;
  display: flex;
}

a.day-item:hover {
  background: var(--sand2);
}

.day-item.is-today {
  background: var(--sand2);
  color: var(--ink);
  font-weight: 600;
}

.day-item.is-locked {
  opacity: .25;
  pointer-events: none;
  cursor: default;
}

.day-item.is-next {
  opacity: .55;
  pointer-events: none;
  cursor: default;
}

.day-dot {
  background: var(--border);
  border-radius: 50%;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
}

.dot-completed {
  background: var(--green);
  opacity: .85;
}

.dot-draft {
  background: var(--amber);
}

.dot-available, .dot-today {
  background: var(--accent);
}

.dot-next {
  background: var(--border);
  opacity: .5;
}

.dot-locked {
  background: var(--border);
}

.unlock-card {
  background: var(--sand);
  border: 1px solid var(--border-soft);
  border-radius: 14px;
  margin-bottom: .8rem;
  padding: 1.05rem 1.25rem;
}

.unlock-label {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text);
  margin: 0 0 .22rem;
  font-size: .71rem;
  font-weight: 600;
}

.unlock-msg {
  font-family: var(--font-lora, serif);
  color: var(--text2);
  margin: 0;
  font-size: .79rem;
  font-style: italic;
  line-height: 1.5;
}

.day-nav-strip {
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  margin-top: .5rem;
  display: none;
}

.day-nav-btn {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  background: var(--sand2);
  border: 1px solid var(--border-soft);
  white-space: nowrap;
  border-radius: 8px;
  align-items: center;
  min-height: 36px;
  padding: .5rem .75rem;
  font-size: .78rem;
  text-decoration: none;
  transition: background .12s;
  display: flex;
}

.day-nav-btn:hover {
  background: var(--border-soft);
}

.day-nav-current {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--ink);
  text-align: center;
  flex: 1;
  font-size: .85rem;
  font-weight: 600;
}

.day-nav-empty {
  flex-shrink: 0;
  width: 70px;
}

.diary-mobile-bar {
  z-index: 8;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--border-soft);
  background: #f9f7f4f7;
  margin: 2rem -1rem 0;
  padding: .75rem 1rem;
  display: none;
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
}

.diary-mobile-bar-btn {
  width: 100%;
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .01em;
  border: none;
  border-radius: 10px;
  min-height: 48px;
  padding: .9rem 1.5rem;
  font-size: .95rem;
  font-weight: 500;
  transition: opacity .2s;
}

.diary-mobile-bar-btn:hover:not(:disabled) {
  opacity: .88;
}

.diary-mobile-bar-done {
  text-align: center;
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  padding: .5rem 0;
  font-size: .9rem;
}

.companion-card {
  background: linear-gradient(135deg, #f7f3fd, #f0eaf8);
  border: 1px solid #d3c7e8;
  border-radius: 14px;
  margin-bottom: .8rem;
  padding: 1.05rem 1.25rem;
}

.companion-card-lbl {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--companion);
  margin: 0 0 .45rem;
  font-size: .58rem;
  font-weight: 700;
}

.companion-card-desc {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  margin: 0 0 .6rem;
  font-size: .76rem;
  line-height: 1.4;
}

.companion-card-btn {
  text-align: center;
  background: var(--companion);
  color: #fff;
  width: 100%;
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .04em;
  border-radius: 8px;
  padding: .52rem 1rem;
  font-size: .74rem;
  font-weight: 600;
  text-decoration: none;
  transition: opacity .14s;
  display: block;
}

.companion-card-btn:hover {
  opacity: .88;
}

.dia-badge {
  text-align: center;
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 .8rem;
  font-size: .6rem;
  font-weight: 700;
  display: block;
}

.tema-badge {
  font-family: var(--font-lora, serif);
  color: var(--accent);
  background: var(--accent3);
  border: 1px solid var(--border-soft);
  border-radius: 20px;
  margin-bottom: .8rem;
  padding: .22rem .85rem;
  font-size: .88rem;
  font-style: italic;
  display: inline-block;
}

.titulo-dia {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  letter-spacing: -.02em;
  text-align: center;
  max-width: 520px;
  margin: 0 auto 1.5rem;
  font-size: clamp(1.6rem, 3.5vw, 2.2rem);
  font-weight: 400;
  line-height: 1.2;
}

.sec-label {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 .95rem;
  font-size: .57rem;
  font-weight: 700;
}

.sec-sublabel {
  font-family: var(--font-lora, serif);
  color: var(--muted);
  margin: -.55rem 0 1rem;
  font-size: .78rem;
  font-style: italic;
}

.ornament {
  color: var(--border);
  letter-spacing: .25em;
  -webkit-user-select: none;
  user-select: none;
  align-items: center;
  gap: 1.15rem;
  margin: 4rem 0;
  font-size: .7rem;
  display: flex;
}

.ornament:before, .ornament:after {
  content: "";
  background: var(--border-soft);
  flex: 1;
  height: 1px;
}

.narrativa-apertura {
  font-family: var(--font-lora, serif);
  color: var(--text);
  white-space: pre-wrap;
  background: linear-gradient(to right, #fdf6f0, #0000);
  border-left: 2px solid #c8bdb0;
  border-radius: 0 8px 8px 0;
  margin: 0 0 .6rem;
  padding: 1.15rem 1.5rem;
  font-size: 1.05rem;
  font-style: italic;
  line-height: 2;
}

.narrativa-info {
  margin-top: .5rem;
}

.narrativa-info summary {
  font-family: var(--font-dm-sans, system-ui, sans-serif);
  letter-spacing: .07em;
  color: var(--muted);
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  align-items: center;
  gap: .3rem;
  font-size: .72rem;
  font-weight: 600;
  list-style: none;
  transition: color .15s;
  display: inline-flex;
}

.narrativa-info summary::-webkit-details-marker {
  display: none;
}

.narrativa-info summary:before {
  content: "▸";
  font-size: .58rem;
  transition: transform .2s;
  display: inline-block;
}

.narrativa-info[open] summary:before {
  transform: rotate(90deg);
}

.narrativa-info summary:hover {
  color: var(--accent);
}

.narrativa-info > p {
  font-family: var(--font-dm-sans, system-ui, sans-serif);
  color: var(--text2);
  background: var(--sand2, #f0e8dc);
  border-left: 2px solid #c8bdb0;
  border-radius: 8px;
  margin-top: .55rem;
  padding: .7rem 1rem;
  font-size: .83rem;
  line-height: 1.65;
}

.fase-journey {
  margin: .5rem 0 1.75rem;
  display: flex;
}

.fase-steps {
  align-items: flex-start;
  width: 100%;
  display: flex;
  position: relative;
}

.fase-steps:before {
  content: "";
  background: var(--border);
  z-index: 0;
  height: 1px;
  position: absolute;
  top: 4px;
  left: 5px;
  right: 5px;
}

.fase-item {
  z-index: 1;
  flex-direction: column;
  flex: 1;
  align-items: center;
  gap: .3rem;
  display: flex;
  position: relative;
}

.fase-node {
  background: var(--border);
  border: 1.5px solid var(--border);
  border-radius: 50%;
  width: 9px;
  height: 9px;
  transition: background .3s;
}

.fase-label {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--muted);
  text-align: center;
  font-size: .55rem;
  font-weight: 600;
  line-height: 1.3;
  transition: color .3s;
}

.fase-item.is-done .fase-node {
  background: var(--accent2);
  border-color: var(--accent2);
  opacity: .5;
}

.fase-item.is-active .fase-node {
  background: var(--accent);
  border-color: var(--accent);
  box-shadow: 0 0 0 3px #6b5e5226;
}

.fase-item.is-active .fase-label {
  color: var(--accent);
  font-weight: 700;
}

.presencia-badge {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .75;
  border-radius: 20px;
  align-items: center;
  gap: .4rem;
  margin-bottom: 1rem;
  padding: .2rem .7rem;
  font-size: .6rem;
  font-weight: 700;
  display: inline-flex;
}

.presencia-badge.contemplativo {
  color: #6b7f9a;
  background: #eef1f5;
}

.presencia-badge.silencio {
  color: #8a7a6e;
  background: #f0ece8;
}

.presencia-badge.expansivo {
  color: #2d6a42;
  background: #e8f4ec;
}

.presencia-badge.profundo {
  color: #6b4580;
  background: #f5eef8;
}

.read-badge {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--green);
  background: #e4f2ea;
  border-radius: 20px;
  align-items: center;
  gap: .4rem;
  margin-bottom: 1.6rem;
  padding: .3rem .8rem;
  font-size: .68rem;
  font-weight: 500;
  display: inline-flex;
}

.bloque-label {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: .75rem;
  font-size: .6rem;
  font-weight: 600;
}

.bloque-aletheia {
  border-left: 2px solid var(--accent2);
  background: #fff;
  border-radius: 0 16px 16px 0;
  padding: 1.9rem 2.1rem 1.85rem;
  position: relative;
  box-shadow: 0 2px 20px #0001;
}

.aletheia-pill {
  background: var(--accent2);
  color: #fff;
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .2em;
  text-transform: uppercase;
  border-radius: 4px;
  padding: .15rem .58rem;
  font-size: .49rem;
  font-weight: 700;
  position: absolute;
  top: -.62rem;
  left: 1.85rem;
}

.bloque-aletheia-text {
  font-family: var(--font-lora, serif);
  color: var(--text);
  white-space: pre-wrap;
  margin: 0;
  font-size: 1.04rem;
  line-height: 1.95;
}

.aletheia-firma {
  font-family: var(--font-lora, serif);
  color: var(--accent2);
  text-align: right;
  margin: 1.4rem 0 0;
  font-size: .88rem;
  font-style: italic;
}

.bloque-carta {
  background: #fef8f0;
  border: 1px solid #e4d8c8;
  border-radius: 16px;
  padding: 1.75rem 2rem;
  position: relative;
  overflow: hidden;
}

.bloque-carta:before {
  content: "";
  background: linear-gradient(90deg, #d4b896, #c8a880, #d4b896);
  height: 3px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.bloque-carta-text {
  font-family: var(--font-lora, serif);
  color: var(--text2);
  white-space: pre-wrap;
  margin: 0;
  font-size: 1.02rem;
  font-style: italic;
  line-height: 1.95;
}

.bloque-carta-saludo {
  font-family: var(--font-lora, serif);
  color: var(--accent2);
  margin: 0 0 1.4rem;
  font-size: .96rem;
  font-style: italic;
}

.bloque-carta-firma {
  font-family: var(--font-lora, serif);
  color: var(--muted);
  text-align: right;
  margin: 1.65rem 0 0;
  font-size: .88rem;
  font-style: italic;
}

.carta-firma {
  flex-direction: column;
  align-items: flex-end;
  gap: .15rem;
  margin: 1.65rem 0 0;
  display: flex;
}

.carta-firma-vale {
  font-family: var(--font-lora, serif);
  color: var(--warm-brown, #8a7060);
  font-size: .88rem;
  font-style: italic;
}

.carta-firma-nombre {
  font-family: var(--font-lora, serif);
  color: var(--warm-brown, #8a7060);
  letter-spacing: .01em;
  font-size: 1rem;
  font-style: italic;
  font-weight: 500;
}

.coaching-section {
  flex-direction: column;
  gap: 0;
  display: flex;
}

.coaching-item {
  border-bottom: 1px solid var(--border-soft);
  align-items: flex-start;
  gap: 1.05rem;
  padding: 1.3rem 0;
  display: flex;
}

.coaching-item:first-child {
  padding-top: 0;
}

.coaching-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.coaching-num {
  width: 1.6rem;
  height: 1.6rem;
  font-family: var(--font-dm-sans, sans-serif);
  color: #fff;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  margin-top: .2rem;
  font-size: .66rem;
  font-weight: 700;
  display: flex;
}

.coaching-pregunta {
  font-family: var(--font-lora, serif);
  color: var(--text);
  margin: 0;
  font-size: 1.04rem;
  line-height: 1.85;
}

.bloque-actividad {
  background: var(--sand2);
  border: 1px solid var(--border-soft);
  border-radius: 16px;
  padding: 1.75rem 2rem;
}

.bloque-actividad-text {
  font-family: var(--font-lora, serif);
  color: var(--text);
  white-space: pre-wrap;
  margin: 0;
  font-size: 1.04rem;
  line-height: 1.92;
}

.bloque-micro {
  background: linear-gradient(135deg, #fdf5e8, #faf0e0);
  border: 1px solid #e4d0a8;
  border-radius: 14px;
  align-items: flex-start;
  gap: .9rem;
  padding: 1.15rem 1.65rem;
  display: flex;
}

.micro-icon {
  color: var(--amber);
  flex-shrink: 0;
  margin-top: .14rem;
  font-size: 1.05rem;
}

.micro-pill {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--amber);
  background: #b870301a;
  border-radius: 20px;
  margin-bottom: .42rem;
  padding: .13rem .52rem;
  font-size: .52rem;
  font-weight: 700;
  display: inline-block;
}

.micro-text {
  font-family: var(--font-lora, serif);
  color: #5a3e14;
  margin: 0;
  font-size: .99rem;
  line-height: 1.82;
}

.bloque-companion-hint {
  background: linear-gradient(135deg, #f5f0fc, #ede7f8);
  border: 1px solid #d0c4ec;
  border-radius: 14px;
  align-items: flex-start;
  gap: .9rem;
  padding: 1.15rem 1.65rem;
  display: flex;
}

.companion-icon {
  color: var(--companion);
  flex-shrink: 0;
  margin-top: .18rem;
  font-size: 1rem;
}

.companion-hint-lbl {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--companion);
  margin: 0 0 .42rem;
  font-size: .52rem;
  font-weight: 700;
}

.companion-hint-text {
  font-family: var(--font-lora, serif);
  color: #42305a;
  margin: 0;
  font-size: .96rem;
  line-height: 1.82;
}

.write-label {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--muted);
  text-align: center;
  font-size: .57rem;
  font-weight: 700;
  display: block;
}

.journal-textarea {
  width: 100%;
  min-height: 300px;
  font-family: var(--font-lora, serif);
  color: var(--text);
  border: 1.5px solid var(--border);
  resize: vertical;
  box-sizing: border-box;
  background: #fffefb;
  border-radius: 16px;
  outline: none;
  padding: 2rem 2rem 3.5rem;
  font-size: 1.04rem;
  line-height: 1.95;
  transition: border-color .2s, box-shadow .2s;
  display: block;
  box-shadow: inset 0 1px 6px #0000000a;
}

.journal-textarea:disabled {
  box-shadow: none;
  cursor: default;
  background: #f7f4f0;
}

.journal-textarea::placeholder {
  color: #c8bdb0;
  font-style: italic;
}

.save-state-lbl {
  font-family: var(--font-dm-sans, sans-serif);
  pointer-events: none;
  font-size: .7rem;
  position: absolute;
  bottom: 1rem;
  right: 1.25rem;
}

.word-count {
  font-family: var(--font-dm-sans, sans-serif);
  color: #c0b4a8;
  text-align: right;
  margin-top: .45rem;
  font-size: .71rem;
}

.frase-final-wrap {
  text-align: center;
  margin: 0 0 3rem;
  padding: 2rem 1rem 1rem;
}

.frase-final-text {
  font-family: var(--font-lora, serif);
  color: var(--accent);
  max-width: 460px;
  margin: 0 auto;
  font-size: 1.15rem;
  font-style: italic;
  line-height: 1.72;
}

.btn-complete {
  background: var(--ink);
  color: #faf8f5;
  width: 100%;
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .06em;
  cursor: pointer;
  border: none;
  border-radius: 12px;
  padding: 1rem 2.5rem;
  font-size: .81rem;
  font-weight: 600;
  transition: opacity .18s, box-shadow .18s;
  box-shadow: 0 2px 16px #1c191624;
}

.btn-complete:disabled {
  background: var(--border-soft);
  color: var(--muted);
  box-shadow: none;
  cursor: not-allowed;
}

.btn-complete:not(:disabled):hover {
  opacity: .88;
}

.completed-card {
  text-align: center;
  background: #eaf4ee;
  border: 1px solid #b8dfca;
  border-radius: 16px;
  padding: 2.25rem 2rem;
}

.completed-icon {
  width: 54px;
  height: 54px;
  color: var(--green);
  background: #c5e8d2;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.15rem;
  font-size: 1.3rem;
  display: inline-flex;
}

.dim-section {
  flex-direction: column;
  gap: .55rem;
  display: flex;
}

.dim-row {
  align-items: center;
  gap: .45rem;
  display: flex;
}

.dim-label {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  flex-shrink: 0;
  width: 68px;
  font-size: .67rem;
  line-height: 1.2;
}

.dim-track {
  background: var(--sand3);
  border-radius: 2px;
  flex: 1;
  height: 4px;
  overflow: hidden;
}

.dim-fill {
  opacity: .85;
  border-radius: 2px;
  height: 100%;
  transition: width .7s;
}

.dim-val {
  display: none;
}

.dim-note {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  margin: .35rem 0 0;
  font-size: .58rem;
  font-style: italic;
  line-height: 1.4;
}

.desde-ayer-frase {
  font-family: var(--font-lora, serif);
  color: var(--text2);
  border-left: 2px solid var(--border);
  margin: 0;
  padding-left: .65rem;
  font-size: .78rem;
  font-style: italic;
  line-height: 1.6;
}

.desde-ayer-tema {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  letter-spacing: .04em;
  margin-top: .4rem;
  font-size: .62rem;
}

.resonancia-tags {
  flex-wrap: wrap;
  gap: .3rem;
  display: flex;
}

.resonancia-tag {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--accent);
  background: linear-gradient(135deg, var(--accent3), #ece5da);
  letter-spacing: .02em;
  border: 1px solid #c8bdb08c;
  border-radius: 20px;
  padding: .22rem .7rem;
  font-size: .63rem;
  line-height: 1.4;
}

.resonancia-empty {
  font-family: var(--font-lora, serif);
  color: var(--muted);
  font-size: .75rem;
  font-style: italic;
  line-height: 1.5;
}

.feature-card {
  border-radius: 14px;
  margin-bottom: .8rem;
  padding: 1.05rem 1.25rem;
}

.feature-card-active {
  background: linear-gradient(160deg, #f5f0fd 0%, #ede5f5 100%);
  border: 1px solid #c8b4e2;
  box-shadow: 0 2px 14px #7c64901a;
}

.feature-card-cta {
  background: linear-gradient(160deg, #faf8f4 0%, #f2ede6 100%);
  border: 1px solid #ddd4c48c;
}

.feature-card-lbl {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .18em;
  text-transform: uppercase;
  margin: 0 0 .4rem;
  font-size: .58rem;
  font-weight: 700;
}

.feature-card-desc {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  margin: 0 0 .65rem;
  font-size: .75rem;
  line-height: 1.4;
}

.feature-card-btn {
  text-align: center;
  width: 100%;
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .04em;
  cursor: pointer;
  border: none;
  border-radius: 8px;
  padding: .5rem 1rem;
  font-size: .73rem;
  font-weight: 600;
  text-decoration: none;
  transition: opacity .14s;
  display: block;
}

.feature-card-btn:hover {
  opacity: .88;
}

.feature-card-btn-primary {
  background: var(--companion);
  color: #fff;
}

.feature-card-btn-secondary {
  color: var(--accent);
  border: 1px solid var(--border);
  background: none;
  font-weight: 500;
}

.streak-badge {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--amber);
  background: #b870301a;
  border-radius: 20px;
  align-items: center;
  gap: .3rem;
  margin-top: .5rem;
  padding: .14rem .55rem;
  font-size: .65rem;
  font-weight: 600;
  display: inline-flex;
}

@media (max-width: 860px) {
  .diary-shell {
    flex-direction: column;
    gap: 1.5rem;
    padding: 1.5rem 1rem 4rem;
  }

  .diary-sidebar {
    order: 1;
    width: 100%;
    max-height: none;
    position: static;
    overflow: visible;
  }

  .diary-main {
    order: 2;
    max-width: none;
  }

  .plans-rail {
    display: none !important;
  }

  .diary-sidebar {
    background: var(--sand);
    border: 1px solid var(--border-soft);
    border-radius: 16px;
    padding: 1.1rem 1.1rem .9rem;
  }

  .diary-sidebar .sidebar-card {
    margin-bottom: 1rem;
  }

  .diary-sidebar .sidebar-card:last-child, .diary-sidebar .ring-row {
    margin-bottom: 0;
  }

  .sidebar-desde-ayer, .sidebar-resonancias, .day-list {
    display: none;
  }

  .day-nav-strip, .diary-mobile-bar {
    display: flex;
  }
}

.plans-rail {
  flex-shrink: 0;
  width: 190px;
}

.plans-rail-inner {
  position: sticky;
  top: 5rem;
}

.plans-rail-label {
  font-family: var(--font-dm-sans), system-ui, sans-serif;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: .85rem;
  font-size: .6rem;
  font-weight: 700;
}

.plan-rail-card {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 10px;
  margin-bottom: .65rem;
  padding: .85rem .9rem;
}

.plan-rail-name {
  font-family: var(--font-dm-sans), system-ui, sans-serif;
  color: var(--ink);
  margin-bottom: .15rem;
  font-size: .78rem;
  font-weight: 500;
}

.plan-rail-price {
  font-family: var(--font-dm-sans), system-ui, sans-serif;
  color: var(--muted);
  margin-bottom: .65rem;
  font-size: .7rem;
}

.plan-rail-btn {
  color: #fff;
  width: 100%;
  font-family: var(--font-dm-sans), system-ui, sans-serif;
  cursor: pointer;
  background: #7c5faa;
  border: none;
  border-radius: 20px;
  padding: .4rem .6rem;
  font-size: .72rem;
  font-weight: 500;
  transition: background .15s;
}

.plan-rail-btn:hover:not(:disabled) {
  background: #6a4f94;
}

.plan-rail-btn:disabled {
  opacity: .55;
  cursor: not-allowed;
}

.plan-rail-card--active {
  background: #f0faf4;
  border-color: #7ebd9b;
}

.plan-rail-card--active .plan-rail-name {
  color: #2d7a52;
}

.plan-rail-card--active .plan-rail-price {
  color: #4aa575;
}

.plan-rail-btn--active {
  color: #2d7a52;
  cursor: default;
  background: #e4f5ec;
  border-color: #7ebd9b;
}

.plan-rail-btn--active:hover {
  color: #2d7a52;
  background: #e4f5ec;
  border-color: #7ebd9b;
}

.plan-rail-error {
  font-family: var(--font-dm-sans), system-ui, sans-serif;
  color: #c0392b;
  margin-top: .4rem;
  font-size: .65rem;
}

@media (max-width: 1100px) {
  .plans-rail {
    display: none;
  }
}

.companion-view {
  background: var(--sand);
  flex-direction: column;
  height: 100dvh;
  display: flex;
  overflow: hidden;
}

.companion-view--loading {
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}

.companion-header {
  border-bottom: 1px solid var(--border-soft);
  background: #fff;
  flex-shrink: 0;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.75rem;
  display: flex;
}

.companion-header-title {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  letter-spacing: .02em;
  font-size: .82rem;
  font-weight: 600;
}

.companion-header-day {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  margin-left: .6rem;
  font-size: .72rem;
}

.companion-header-right {
  align-items: center;
  gap: .9rem;
  display: flex;
}

.companion-phase-track {
  align-items: center;
  gap: 5px;
  display: flex;
}

.companion-phase-dot {
  background: var(--border);
  border-radius: 50%;
  width: 7px;
  height: 7px;
  transition: background .3s, opacity .3s;
}

.companion-phase-dot.is-done {
  background: var(--companion);
  opacity: .45;
}

.companion-phase-dot.is-active {
  background: var(--companion);
  opacity: 1;
}

.companion-phase-label {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--companion);
  font-size: .64rem;
  font-weight: 600;
}

.companion-messages {
  flex-direction: column;
  flex: 1;
  gap: 2rem;
  width: 100%;
  max-width: 740px;
  margin: 0 auto;
  padding: 2.5rem 2rem 1.5rem;
  display: flex;
  overflow-y: auto;
}

.companion-msg {
  max-width: 620px;
}

.companion-msg.is-companion {
  border-left: 2px solid #d0c4ec;
  align-self: flex-start;
  padding-left: 1.25rem;
}

.companion-msg.is-user {
  text-align: right;
  align-self: flex-end;
  max-width: 480px;
  padding-right: .25rem;
}

.companion-msg-text {
  font-family: var(--font-lora, serif);
  color: var(--text);
  white-space: pre-wrap;
  margin: 0;
  font-size: 1.04rem;
  line-height: 1.88;
}

.companion-msg.is-user .companion-msg-text {
  color: var(--text2);
  font-size: .96rem;
  font-style: italic;
  line-height: 1.72;
}

.companion-cursor {
  background: var(--companion);
  vertical-align: text-bottom;
  border-radius: 1px;
  width: 2px;
  height: 1.05em;
  margin-left: 2px;
  animation: .85s infinite companion-cursor-blink;
  display: inline-block;
}

@keyframes companion-cursor-blink {
  0%, 49% {
    opacity: 1;
  }

  50%, 100% {
    opacity: 0;
  }
}

.companion-typing {
  align-items: center;
  gap: 5px;
  padding: .25rem 0;
  display: flex;
}

.companion-typing-dot {
  background: var(--companion);
  opacity: .45;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  animation: 1.3s infinite companion-typing-bounce;
}

.companion-typing-dot:nth-child(2) {
  animation-delay: .22s;
}

.companion-typing-dot:nth-child(3) {
  animation-delay: .44s;
}

@keyframes companion-typing-bounce {
  0%, 55%, 100% {
    opacity: .35;
    transform: translateY(0);
  }

  27% {
    opacity: 1;
    transform: translateY(-5px);
  }
}

.companion-input-area {
  border-top: 1px solid var(--border-soft);
  box-sizing: border-box;
  background: #fff;
  flex-shrink: 0;
  align-items: flex-end;
  gap: .85rem;
  width: 100%;
  max-width: 740px;
  margin: 0 auto;
  padding: 1rem 1.75rem 1.25rem;
  display: flex;
}

.companion-textarea {
  font-family: var(--font-lora, serif);
  color: var(--text);
  resize: none;
  background: none;
  border: none;
  outline: none;
  flex: 1;
  min-height: 42px;
  max-height: 120px;
  padding: .55rem 0;
  font-size: 1rem;
  line-height: 1.6;
  overflow-y: auto;
}

.companion-textarea::placeholder {
  color: var(--muted);
  font-style: italic;
}

.companion-textarea:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.companion-send-btn {
  background: var(--companion);
  cursor: pointer;
  color: #fff;
  opacity: .85;
  border: none;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  margin-bottom: 2px;
  transition: opacity .15s, transform .1s;
  display: flex;
}

.companion-send-btn:hover:not(:disabled) {
  opacity: 1;
}

.companion-send-btn:active:not(:disabled) {
  transform: scale(.95);
}

.companion-send-btn:disabled {
  opacity: .3;
  cursor: not-allowed;
}

.companion-close-btn {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .06em;
  color: var(--muted);
  border: 1px solid var(--border);
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border-radius: 6px;
  padding: .32rem .8rem;
  font-size: .72rem;
  text-decoration: none;
  transition: color .15s, border-color .15s;
}

.companion-close-btn:hover {
  color: var(--text2);
  border-color: var(--accent2);
}

.companion-back-link {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  font-size: .82rem;
  text-decoration: none;
}

.companion-back-link:hover {
  color: var(--text2);
}

.companion-locked {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  height: 100dvh;
  padding: 3rem;
  display: flex;
}

.companion-locked-title {
  font-family: var(--font-lora, serif);
  color: var(--text2);
  margin: 0;
  font-size: 1.1rem;
}

.companion-closure {
  text-align: center;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  max-width: 560px;
  margin: 0 auto;
  padding: 3rem 2.5rem;
  display: flex;
}

.companion-closure-label {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--companion);
  margin: 0;
  font-size: .6rem;
  font-weight: 700;
}

.companion-closure-summary {
  font-family: var(--font-lora, serif);
  color: var(--text);
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.9;
}

.companion-insights {
  text-align: left;
  flex-direction: column;
  gap: .55rem;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.companion-insight-item {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  padding-left: 1rem;
  font-size: .88rem;
  position: relative;
}

.companion-insight-item:before {
  content: "·";
  color: var(--companion);
  position: absolute;
  left: 0;
}

.companion-next-step {
  font-family: var(--font-lora, serif);
  color: var(--accent);
  text-align: left;
  border-left: 2px solid #d0c4ec;
  width: 100%;
  margin: 0;
  padding: 1rem 1.25rem;
  font-size: .95rem;
  font-style: italic;
}

.companion-return-btn {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--companion);
  border: 1.5px solid var(--companion);
  border-radius: 8px;
  padding: .55rem 1.4rem;
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .15s, color .15s;
  display: inline-block;
}

.companion-return-btn:hover {
  background: var(--companion);
  color: #fff;
}

.site-header {
  z-index: 100;
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--border-soft);
  background: #f9f7f4f5;
  position: sticky;
  top: 0;
}

.site-header-inner {
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  max-width: 1140px;
  height: 60px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
}

.site-logo {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  letter-spacing: -.015em;
  flex-shrink: 0;
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 400;
  text-decoration: none;
}

.site-nav-desktop {
  align-items: center;
  gap: 1.75rem;
  display: flex;
}

.site-nav-desktop a {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  font-size: .875rem;
  text-decoration: none;
  transition: color .15s;
}

.site-nav-desktop a:hover {
  color: var(--ink);
}

.site-nav-desktop a.nav-active {
  color: var(--ink);
  font-weight: 500;
}

.mobile-menu a.nav-active {
  color: var(--ink);
  background: var(--sand2);
  font-weight: 500;
}

.nav-cta {
  background: var(--ink);
  border-radius: 999px;
  font-weight: 500;
  color: #fff !important;
  padding: .5rem 1.25rem !important;
  transition: opacity .15s !important;
}

.nav-cta:hover {
  opacity: .82 !important;
  color: #fff !important;
}

.nav-account {
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: .4rem 1rem !important;
}

.nav-logout {
  cursor: pointer;
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  background: none;
  border: none;
  padding: 0;
  font-size: .875rem;
  transition: color .15s;
}

.nav-logout:hover {
  color: var(--ink);
}

.site-nav-mobile {
  display: none;
  position: relative;
}

.hamburger {
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 8px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 8px;
  display: flex;
}

.hamburger span {
  background: var(--ink);
  border-radius: 2px;
  width: 22px;
  height: 2px;
  transition: all .2s;
  display: block;
}

.mobile-menu {
  border: 1px solid var(--border-soft);
  -webkit-overflow-scrolling: touch;
  background: #fff;
  border-radius: 14px;
  flex-direction: column;
  gap: 1px;
  width: 210px;
  max-height: calc(100dvh - 80px);
  padding: .6rem;
  display: flex;
  position: absolute;
  top: calc(100% + .5rem);
  right: 0;
  overflow-y: auto;
  box-shadow: 0 8px 32px #0000001a;
}

.mobile-menu a {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text);
  border-radius: 9px;
  align-items: center;
  min-height: 44px;
  padding: .6rem .875rem;
  font-size: .9rem;
  text-decoration: none;
  transition: background .12s;
  display: flex;
}

.mobile-menu a:hover {
  background: var(--sand2);
}

.mobile-menu-divider {
  background: var(--border-soft);
  height: 1px;
  margin: .4rem 0;
}

.mobile-menu-cta {
  text-align: center;
  margin-top: .25rem;
  font-weight: 500;
  background: var(--ink) !important;
  color: #fff !important;
}

.mobile-menu-cta:hover {
  opacity: .85;
  background: var(--ink) !important;
}

.mobile-menu-logout {
  cursor: pointer;
  text-align: left;
  width: 100%;
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  background: none;
  border: none;
  border-radius: 9px;
  align-items: center;
  min-height: 44px;
  padding: .6rem .875rem;
  font-size: .9rem;
  transition: background .12s, color .12s;
  display: flex;
}

.mobile-menu-logout:hover {
  background: var(--sand2);
  color: var(--ink);
}

@media (max-width: 720px) {
  .site-nav-desktop {
    display: none;
  }

  .site-nav-mobile {
    display: block;
  }
}

.nav-drop {
  align-items: center;
  display: flex;
  position: relative;
}

.nav-drop-trigger {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  cursor: pointer;
  align-items: center;
  gap: .2em;
  font-size: .875rem;
  text-decoration: none;
  transition: color .15s;
  display: flex;
}

.nav-drop-trigger:hover {
  color: var(--ink);
}

.nav-drop-caret {
  opacity: .6;
  font-size: .65em;
  transition: opacity .15s;
}

.nav-drop-menu {
  background: var(--sand);
  border: 1px solid var(--border);
  z-index: 300;
  white-space: nowrap;
  border-radius: 10px;
  flex-direction: column;
  min-width: 190px;
  padding: 10px 0 6px;
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 6px 20px #00000014;
}

.nav-drop-menu[data-open="true"] {
  pointer-events: auto;
  display: flex;
}

.nav-drop-menu a {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  padding: .6rem 1.25rem;
  font-size: .875rem;
  text-decoration: none;
  transition: background .12s, color .12s;
}

.nav-drop-menu a:hover {
  background: var(--sand2);
  color: var(--ink);
}

.cat-filter-bar {
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 2rem;
  display: flex;
}

.cat-filter-btn {
  border: 1px solid var(--border);
  background: var(--sand);
  color: var(--text2);
  font-size: .85rem;
  font-family: var(--font-dm-sans, sans-serif);
  cursor: pointer;
  border-radius: 999px;
  align-items: center;
  gap: .4rem;
  padding: .45rem 1.1rem;
  transition: background .15s, color .15s, border-color .15s;
  display: flex;
}

.cat-filter-btn:hover {
  background: var(--sand2);
  color: var(--ink);
}

.cat-filter-btn--active {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}

.cat-filter-btn--active:hover {
  background: var(--ink);
  color: #fff;
}

.cat-filter-count {
  opacity: .65;
  background: #ffffff26;
  border-radius: 99px;
  padding: 0 .35rem;
  font-size: .72rem;
  line-height: 1.4;
}

.cat-filter-btn:not(.cat-filter-btn--active) .cat-filter-count {
  background: var(--border);
  color: var(--text2);
}

.nav-drop-menu--catalog {
  min-width: 380px;
  padding: 10px 0 8px;
  left: 0;
  transform: none;
}

.nav-drop-catalog-all {
  border-bottom: 1px solid var(--border);
  letter-spacing: .01em;
  margin-bottom: .2rem;
  display: block;
  color: var(--muted) !important;
  padding: 0 1.1rem .6rem !important;
  font-size: .78rem !important;
}

.nav-drop-catalog-all:hover {
  color: var(--ink) !important;
  background: none !important;
}

.nav-drop-catalog-grid {
  grid-template-columns: 1fr 1fr;
  padding: 0 .35rem;
  display: grid;
}

.nav-drop-catalog-item {
  border-radius: 6px;
  align-items: center;
  gap: .45rem;
  padding: .42rem .75rem !important;
  font-size: .85rem !important;
  display: flex !important;
}

.nav-drop-catalog-dot {
  border-radius: 50%;
  flex-shrink: 0;
  width: 7px;
  height: 7px;
}

.about-wrap {
  padding: 5rem 1.5rem 8rem;
}

.about-inner {
  max-width: 660px;
  margin: 0 auto;
}

.about-eyebrow {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 1.75rem;
  font-size: .7rem;
  font-weight: 600;
}

.about-title {
  font-family: var(--font-lora, Georgia, serif);
  color: var(--ink);
  margin-bottom: 3rem;
  font-size: clamp(1.75rem, 4.5vw, 2.5rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.25;
}

.about-body {
  color: var(--text2);
  flex-direction: column;
  gap: 1.4rem;
  font-size: 1.0625rem;
  line-height: 1.78;
  display: flex;
}

.about-pull {
  font-family: var(--font-lora, Georgia, serif);
  color: var(--accent);
  border-left: 2px solid var(--border);
  padding-left: 1.25rem;
  font-size: 1.175rem;
  font-style: italic;
}

.about-closing {
  font-family: var(--font-lora, Georgia, serif);
  color: var(--accent);
  margin-top: .75rem;
  font-size: 1.125rem;
  font-style: italic;
}

.faq-list {
  flex-direction: column;
  gap: 0;
  margin-top: .5rem;
  display: flex;
}

.faq-item {
  border-bottom: 1px solid var(--border-soft);
  padding: 1.75rem 0;
}

.faq-item:first-child {
  border-top: 1px solid var(--border-soft);
}

.faq-q {
  font-family: var(--font-lora, Georgia, serif);
  color: var(--ink);
  margin-bottom: .75rem;
  font-size: 1.125rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.4;
}

.faq-a {
  color: var(--text2);
  font-size: 1rem;
  line-height: 1.75;
}

.faq-cta {
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
  margin-top: 4rem;
  display: flex;
}

.faq-cta p {
  font-family: var(--font-lora, Georgia, serif);
  color: var(--muted);
  font-size: 1rem;
  font-style: italic;
}

.site-footer {
  border-top: 1px solid var(--border-soft);
  background: #fff;
  margin-top: 0;
  padding: 3rem 1.5rem 2.5rem;
}

.site-footer-inner {
  grid-template-columns: 1.5fr 1fr 1.5fr;
  align-items: start;
  gap: 2.5rem;
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
}

.footer-logo {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  margin-bottom: .4rem;
  font-size: 1.15rem;
  font-style: italic;
  text-decoration: none;
  display: block;
}

.footer-tagline {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  margin: 0 0 .5rem;
  font-size: .8rem;
}

.footer-copy {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  margin: 0;
  font-size: .75rem;
}

.footer-links {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.footer-links a {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  font-size: .85rem;
  text-decoration: none;
  transition: color .13s;
}

.footer-links a:hover {
  color: var(--ink);
}

.footer-legal {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  border-top: 1px solid var(--border-soft);
  grid-column: 1 / -1;
  margin: 0;
  padding-top: 1.5rem;
  font-size: .78rem;
  font-style: italic;
  line-height: 1.6;
}

@media (max-width: 720px) {
  .site-footer-inner {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
}

.hp-hero-bg {
  background: linear-gradient(160deg, #1c1814 0%, #1e1a15 60%, #231f19 100%);
  position: relative;
  overflow: hidden;
}

.hp-hero-bg:after {
  content: "";
  pointer-events: none;
  background: radial-gradient(90% 100%, #0000 45%, #00000059 100%);
  position: absolute;
  inset: 0;
}

.hp-hero-bg .hp-hero {
  z-index: 1;
  position: relative;
}

.hp-hero-bg .hp-eyebrow {
  color: #ede7df59;
}

.hp-hero-bg .hp-title {
  color: #f5f0ea;
}

.hp-hero-bg .hp-sub {
  color: #ede7df94;
}

.hp-hero-bg .hp-cta-ghost {
  color: #ede7df8c;
  border-color: #ede7df29;
}

.hp-hero-bg .hp-cta-ghost:hover {
  color: #ede7dfd1;
  border-color: #ede7df52;
}

.hp-hero {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
  padding: 7rem 1.5rem 6rem;
}

.hp-eyebrow {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 1.25rem;
  font-size: .7rem;
  font-weight: 700;
}

.hp-title {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  letter-spacing: -.025em;
  margin: 0 0 1.5rem;
  font-size: clamp(2.6rem, 6vw, 4rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.12;
}

.hp-sub {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  max-width: 500px;
  margin: 0 auto 2.5rem;
  font-size: 1.05rem;
  line-height: 1.75;
}

.hp-ctas {
  flex-wrap: wrap;
  justify-content: center;
  gap: .875rem;
  display: flex;
}

.hp-cta-primary {
  background: var(--ink);
  color: #fff;
  font-family: var(--font-dm-sans, sans-serif);
  border-radius: 999px;
  padding: .875rem 2rem;
  font-size: .95rem;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .15s;
  display: inline-block;
}

.hp-cta-primary:hover {
  opacity: .82;
}

.hp-cta-ghost {
  color: var(--text2);
  font-family: var(--font-dm-sans, sans-serif);
  border: 1px solid var(--border);
  background: none;
  border-radius: 999px;
  padding: .875rem 2rem;
  font-size: .95rem;
  text-decoration: none;
  transition: border-color .15s;
  display: inline-block;
}

.hp-cta-ghost:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.hp-strip {
  background: var(--sand2);
  border-top: 1px solid var(--border-soft);
  border-bottom: 1px solid var(--border-soft);
  text-align: center;
  padding: 1.25rem 1.5rem;
}

.hp-strip p {
  font-family: var(--font-lora, serif);
  color: var(--text2);
  letter-spacing: .01em;
  margin: 0;
  font-size: .95rem;
  font-style: italic;
}

.hp-section {
  max-width: 1100px;
  margin: 0 auto;
  padding: 5rem 1.5rem;
}

.hp-section-full {
  padding: 2.5rem 1.5rem;
}

.hp-section-center {
  text-align: center;
}

.hp-section-title {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  letter-spacing: -.01em;
  margin: 0 0 .75rem;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 400;
}

.hp-section-sub {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  margin: 0 0 2.5rem;
  font-size: .93rem;
}

.hp-section-more {
  text-align: center;
  margin-top: 2rem;
}

.hp-section-more a {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  border-bottom: 1px solid var(--border);
  padding-bottom: 1px;
  font-size: .875rem;
  text-decoration: none;
  transition: color .13s, border-color .13s;
}

.hp-section-more a:hover {
  color: var(--ink);
  border-color: var(--ink);
}

.hp-steps {
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  margin-top: 3rem;
  display: grid;
  position: relative;
}

.hp-steps:before {
  content: "";
  background: var(--border);
  height: 1px;
  position: absolute;
  top: 22px;
  left: calc(16.66% + 22px);
  right: calc(16.66% + 22px);
}

.hp-steps-4 {
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem 5rem;
}

.hp-steps-4:before {
  display: none;
}

.hp-how-sub {
  text-align: center;
  max-width: 600px;
  color: var(--accent2, var(--accent));
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  font-size: .95rem;
  font-style: italic;
  line-height: 1.72;
}

.hp-step {
  text-align: center;
  z-index: 1;
  position: relative;
}

.hp-step-num {
  border: 1px solid var(--border);
  background: var(--sand);
  width: 44px;
  height: 44px;
  font-family: var(--font-lora, serif);
  color: var(--accent);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  margin: 0 auto 1.25rem;
  font-size: 1rem;
  display: flex;
}

.hp-step-title {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--ink);
  margin: 0 0 .5rem;
  font-size: .95rem;
  font-weight: 600;
}

.hp-step-desc {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  margin: 0;
  font-size: .85rem;
  line-height: 1.65;
}

.hp-journals {
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 1rem;
  display: grid;
}

.hp-journal-card {
  border: 1px solid var(--border-soft);
  background: #fff;
  border-radius: 16px;
  text-decoration: none;
  transition: box-shadow .2s, transform .2s;
  display: block;
  overflow: hidden;
}

.hp-journal-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 32px #00000017;
}

.hp-journal-card-color {
  height: 5px;
}

.hp-journal-card-body {
  padding: 1.25rem;
}

.hp-journal-card-title {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  margin: 0 0 .5rem;
  font-size: 1.05rem;
}

.hp-journal-card-tag {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .1em;
  margin: 0 0 .6rem;
  font-size: .7rem;
}

.hp-journal-card-desc {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  margin: 0;
  font-size: .82rem;
  font-style: italic;
  line-height: 1.55;
}

.hp-benefits {
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  display: grid;
}

.hp-benefit {
  border: 1px solid var(--border-soft);
  border-top: 2px solid var(--accent);
  background: #fff;
  border-radius: 16px;
  padding: 1.75rem 1.5rem 1.5rem;
}

.hp-benefit-title {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--ink);
  margin: 0 0 .4rem;
  font-size: .95rem;
  font-weight: 600;
}

.hp-benefit-desc {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  margin: 0;
  font-size: .845rem;
  line-height: 1.58;
}

.hp-companion-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.hp-companion {
  background: linear-gradient(135deg, #f7f3fd, #ede5f8);
  border-radius: 24px;
  grid-template-columns: 1.1fr .9fr;
  align-items: center;
  gap: 3rem;
  padding: 3.5rem;
  display: grid;
}

.hp-companion-title {
  font-family: var(--font-lora, serif);
  color: #2d1f47;
  margin: 0 0 1rem;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  line-height: 1.2;
}

.hp-companion-desc {
  font-family: var(--font-dm-sans, sans-serif);
  color: #4a3a60;
  margin: 0 0 1.75rem;
  font-size: .93rem;
  line-height: 1.75;
}

.hp-companion-cta {
  background: var(--companion);
  color: #fff;
  font-family: var(--font-dm-sans, sans-serif);
  border-radius: 999px;
  padding: .75rem 1.5rem;
  font-size: .9rem;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .15s;
  display: inline-block;
}

.hp-companion-cta:hover {
  opacity: .85;
}

.hp-companion-visual {
  background: #fff;
  border: 1px solid #d3c7e8;
  border-radius: 16px;
  flex-direction: column;
  gap: .75rem;
  padding: 1.5rem;
  display: flex;
}

.hp-chat-bubble {
  font-family: var(--font-lora, serif);
  border-radius: 12px;
  max-width: 92%;
  padding: .875rem 1.1rem;
  font-size: .9rem;
  line-height: 1.7;
}

.hp-chat-bubble--ai {
  background: var(--sand2);
  color: var(--text);
  border-bottom-left-radius: 4px;
  align-self: flex-start;
  font-style: italic;
}

.hp-chat-bubble--user {
  color: #3d2d58;
  text-align: right;
  background: #ede5f8;
  border-bottom-right-radius: 4px;
  align-self: flex-end;
}

.hp-ethics-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.hp-ethics {
  background: var(--sand2);
  text-align: center;
  border-radius: 24px;
  padding: 3.5rem;
}

.hp-ethics-title {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  margin: 0 0 .75rem;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-style: italic;
}

.hp-ethics-sub {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  margin: 0 0 2.5rem;
  font-size: .9rem;
}

.hp-ethics-items {
  text-align: left;
  grid-template-columns: repeat(2, 1fr);
  gap: .875rem 2.5rem;
  max-width: 600px;
  margin: 0 auto;
  display: grid;
}

.hp-ethics-item {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  align-items: flex-start;
  gap: .5rem;
  font-size: .85rem;
  display: flex;
}

.hp-ethics-check {
  color: var(--green);
  flex-shrink: 0;
  margin-top: 1px;
  font-size: .85rem;
}

.hp-final-cta {
  text-align: center;
  max-width: 560px;
  margin: 0 auto;
  padding: 5.5rem 1.5rem 6rem;
}

@media (max-width: 720px) {
  .hp-hero {
    padding: 4rem 1.25rem 3.5rem;
  }

  .hp-title {
    font-size: 2.5rem;
  }

  .hp-steps {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .hp-steps:before {
    display: none;
  }

  .hp-steps-4 {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .hp-benefits {
    grid-template-columns: 1fr;
  }

  .hp-companion {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2.25rem 1.75rem;
  }

  .hp-companion-visual {
    display: none;
  }

  .hp-ethics {
    padding: 2.5rem 1.5rem;
  }

  .hp-ethics-items {
    grid-template-columns: 1fr;
  }

  .hp-section {
    padding: 3.5rem 1.25rem;
  }

  .hp-section-full {
    padding: 1.5rem 1.25rem;
  }

  .hp-final-cta {
    padding: 4rem 1.25rem;
  }

  .hp-testimonials {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .hp-testimonials-section {
    padding: 3.5rem 1.25rem;
  }
}

.hp-testimonials-section {
  background: #1c1916;
  padding: 5rem 2rem;
}

.hp-testimonials-inner {
  max-width: 1080px;
  margin: 0 auto;
}

.hp-testimonials-eyebrow {
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #7a6e62;
  text-align: center;
  margin: 0 0 2.5rem;
  font-size: .68rem;
  font-weight: 700;
}

.hp-testimonials {
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  display: grid;
}

.hp-testimonial-card {
  background: #262220;
  border: 1px solid #302b27;
  border-radius: 14px;
  flex-direction: column;
  gap: 1.25rem;
  padding: 1.75rem 1.5rem 1.5rem;
  display: flex;
}

.hp-testimonial-mark {
  font-family: var(--font-lora, Georgia, serif);
  color: #5a4e44;
  margin: 0;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.hp-testimonial-quote {
  font-family: var(--font-lora, Georgia, serif);
  color: #d4ccc4;
  flex: 1;
  margin: 0;
  font-size: 1rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.7;
}

.hp-testimonial-author {
  letter-spacing: .06em;
  color: #5a4e44;
  text-transform: uppercase;
  margin: 0;
  font-size: .72rem;
  font-weight: 500;
}

.dash-shell {
  max-width: 820px;
  margin: 0 auto;
  padding: 3rem 1.5rem 5rem;
}

.dash-greeting-eyebrow {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 .4rem;
  font-size: .7rem;
  font-weight: 700;
}

.dash-greeting-name {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  margin: 0 0 .4rem;
  font-size: 1.9rem;
  font-style: italic;
}

.dash-greeting-sub {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  margin: 0;
  font-size: .875rem;
}

.dash-section-label {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 1rem;
  font-size: .68rem;
  font-weight: 700;
}

.dash-journals {
  flex-direction: column;
  gap: .875rem;
  margin-bottom: 2.5rem;
  display: flex;
}

.dash-journal-card {
  border: 1px solid var(--border-soft);
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 12px #0000000d;
}

.dash-journal-card-body {
  padding: 1.25rem 1.5rem;
}

.dash-journal-top {
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
  display: flex;
}

.dash-journal-info h2 {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--ink);
  margin: 0 0 .2rem;
  font-size: 1.05rem;
  font-weight: 600;
}

.dash-journal-info p {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  margin: 0;
  font-size: .8rem;
}

.dash-journal-actions {
  flex-wrap: wrap;
  flex-shrink: 0;
  justify-content: flex-end;
  gap: .625rem;
  display: flex;
}

.dash-btn-primary {
  background: var(--ink);
  color: #fff;
  font-family: var(--font-dm-sans, sans-serif);
  white-space: nowrap;
  border-radius: 999px;
  padding: .55rem 1.25rem;
  font-size: .83rem;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .15s;
}

.dash-btn-primary:hover {
  opacity: .82;
}

.dash-btn-companion {
  color: var(--companion);
  font-family: var(--font-dm-sans, sans-serif);
  white-space: nowrap;
  background: none;
  border: 1px solid #c4b0e0;
  border-radius: 999px;
  padding: .5rem 1.1rem;
  font-size: .8rem;
  text-decoration: none;
  transition: background .15s;
}

.dash-btn-companion:hover {
  background: #f7f3fd;
}

.dash-progress-bar {
  background: var(--sand3);
  border-radius: 99px;
  height: 4px;
  overflow: hidden;
}

.dash-progress-fill {
  border-radius: 99px;
  height: 100%;
  transition: width .5s;
}

.dash-empty {
  text-align: center;
  border: 1px solid var(--border-soft);
  background: #fff;
  border-radius: 16px;
  margin-bottom: 2rem;
  padding: 3.5rem 1.5rem;
}

.dash-empty p {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  margin: 0 0 1.5rem;
  font-size: .93rem;
}

.dash-footer-links {
  border-top: 1px solid var(--border-soft);
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-top: 2.5rem;
  padding-top: 1.75rem;
  display: flex;
}

.dash-footer-links a {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  font-size: .83rem;
  text-decoration: none;
  transition: color .13s;
}

.dash-footer-links a.dash-link-danger {
  color: #c0392b;
  opacity: .7;
}

.dash-footer-links a.dash-link-danger:hover {
  opacity: 1;
}

@media (max-width: 600px) {
  .dash-journal-top {
    flex-direction: column;
    gap: .75rem;
  }

  .dash-journal-actions {
    justify-content: flex-start;
  }
}

.dash-hero {
  border: 1px solid var(--border-soft);
  background: #fff;
  border-radius: 18px;
  margin-bottom: 1.25rem;
  overflow: hidden;
  box-shadow: 0 4px 24px #1c191612;
}

.dash-hero-body {
  padding: 1.5rem 1.75rem 1.75rem;
}

.dash-hero-title-row {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
  display: flex;
}

.dash-hero-journal-name {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  margin: 0;
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.3;
}

.dash-hero-phase-badge {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
  border: 1.5px solid;
  border-radius: 99px;
  flex-shrink: 0;
  padding: .25rem .7rem;
  font-size: .68rem;
  font-weight: 700;
}

.dash-hero-stats-row {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  display: flex;
}

.dash-hero-day-count {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--ink);
  margin: 0 0 .2rem;
  font-size: .9rem;
  font-weight: 600;
}

.dash-hero-streak {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  margin: 0;
  font-size: .78rem;
}

.dash-hero-cta {
  color: #fff;
  font-family: var(--font-dm-sans, sans-serif);
  white-space: nowrap;
  border-radius: 999px;
  flex-shrink: 0;
  padding: .65rem 1.5rem;
  font-size: .88rem;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .15s;
  display: inline-block;
}

.dash-hero-cta:hover {
  opacity: .82;
}

.dash-insight-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
  margin-bottom: 1.5rem;
  display: grid;
}

.dash-insight-card {
  border: 1px solid var(--border-soft);
  background: #fff;
  border-radius: 14px;
  padding: 1.1rem 1.15rem;
  box-shadow: 0 2px 10px #1c19160b;
}

.dash-insight-label {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 .75rem;
  font-size: .62rem;
  font-weight: 700;
}

.dash-spark-wrap {
  width: 100%;
  min-height: 44px;
  margin-bottom: .5rem;
}

.dash-insight-trend {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  margin: 0;
  font-size: .72rem;
}

.dash-tema-tags {
  flex-wrap: wrap;
  gap: .4rem;
  display: flex;
}

.dash-tema-tag {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  background: var(--sand2);
  border: 1px solid var(--border-soft);
  border-radius: 99px;
  padding: .2rem .65rem;
  font-size: .72rem;
}

.dash-ayer-text {
  font-family: var(--font-lora, serif);
  color: var(--accent);
  margin: 0;
  font-size: .82rem;
  font-style: italic;
  line-height: 1.65;
}

.dash-companion-insights-card {
  background: linear-gradient(140deg, #f9f6fd 0%, #f3eef9 100%);
  border: 1px solid #d8ccee;
  border-radius: 16px;
  margin-bottom: 1.5rem;
  padding: 1.5rem 1.75rem;
  box-shadow: 0 2px 14px #6446a012;
}

.dash-companion-header {
  align-items: flex-start;
  gap: .75rem;
  margin-bottom: 1rem;
  display: flex;
}

.dash-companion-icon {
  color: var(--companion);
  flex-shrink: 0;
  margin-top: .1rem;
  font-size: 1rem;
}

.dash-companion-section-label {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--companion);
  margin: 0 0 .15rem;
  font-size: .72rem;
  font-weight: 700;
}

.dash-companion-date {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  text-transform: capitalize;
  margin: 0;
  font-size: .72rem;
}

.dash-companion-summary {
  font-family: var(--font-lora, serif);
  color: var(--text2);
  border-left: 2px solid #c4b0e0;
  margin: 0 0 1rem;
  padding-left: 1rem;
  font-size: .88rem;
  font-style: italic;
  line-height: 1.7;
}

.dash-companion-insight-list {
  flex-direction: column;
  gap: .4rem;
  margin: 0 0 .875rem;
  padding: 0;
  list-style: none;
  display: flex;
}

.dash-companion-insight-item {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  padding-left: 1rem;
  font-size: .8rem;
  position: relative;
}

.dash-companion-insight-item:before {
  content: "·";
  color: var(--companion);
  font-size: 1.1rem;
  line-height: 1.1;
  position: absolute;
  left: 0;
}

.dash-companion-next-hint {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  background: #a082d214;
  border-left: 2px solid #c4b0e0;
  border-radius: 8px;
  margin: 0 0 1rem;
  padding: .65rem .875rem;
  font-size: .8rem;
}

.dash-companion-session-link {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--companion);
  border-bottom: 1px solid #c4b0e040;
  padding-bottom: 1px;
  font-size: .8rem;
  font-weight: 500;
  text-decoration: none;
  transition: border-color .15s;
}

.dash-companion-session-link:hover {
  border-color: var(--companion);
}

@media (max-width: 700px) {
  .dash-insight-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 460px) {
  .dash-insight-grid {
    grid-template-columns: 1fr;
  }

  .dash-hero-stats-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .dash-hero-cta {
    text-align: center;
    width: 100%;
  }

  .dash-hero-body, .dash-companion-insights-card {
    padding: 1.25rem;
  }
}

.cat-shell {
  background: var(--sand);
  min-height: 100vh;
  padding: 3rem 1.5rem 5rem;
}

.cat-inner {
  max-width: 900px;
  margin: 0 auto;
}

.cat-eyebrow {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 .5rem;
  font-size: .7rem;
  font-weight: 700;
}

.cat-title {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  margin: 0 0 .5rem;
  font-size: clamp(1.8rem, 4vw, 2.4rem);
  font-style: italic;
  font-weight: 400;
}

.cat-sub {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  max-width: 480px;
  margin: 0 0 3rem;
  font-size: .9rem;
}

.cat-grid {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1rem;
  margin-bottom: 3rem;
  display: grid;
}

.cat-card {
  border: 1px solid var(--border-soft);
  background: #fff;
  border-radius: 16px;
  flex-direction: column;
  transition: box-shadow .2s, transform .2s;
  display: flex;
  overflow: hidden;
  box-shadow: 0 2px 12px #0000000e;
}

.cat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px #00000017;
}

.cat-card-strip {
  height: 5px;
}

.cat-card-body {
  flex-direction: column;
  flex: 1;
  padding: 1.25rem;
  display: flex;
}

.cat-badge {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .05em;
  color: var(--accent);
  background: #f5ede4;
  border-radius: 99px;
  margin-bottom: .6rem;
  padding: .18rem .6rem;
  font-size: .68rem;
  font-weight: 600;
  display: inline-block;
}

.cat-badge-completed {
  color: #2e7d32;
  background: #e8f5e9;
}

.cat-badge-expired {
  color: #c0392b;
  background: #fdf0f0;
}

.cat-card-name {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  margin: 0 0 .2rem;
  font-size: 1.08rem;
  font-weight: 400;
}

.cat-card-tagline {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  margin: 0 0 .75rem;
  font-size: .8rem;
  font-style: italic;
}

.cat-card-desc {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  flex: 1;
  margin: 0 0 1rem;
  font-size: .84rem;
  line-height: 1.6;
}

.cat-progress-wrap {
  margin-bottom: .75rem;
}

.cat-progress-meta {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  justify-content: space-between;
  margin-bottom: 4px;
  font-size: .72rem;
  display: flex;
}

.cat-progress-track {
  background: var(--border-soft);
  border-radius: 99px;
  height: 3px;
  overflow: hidden;
}

.cat-progress-fill {
  border-radius: 99px;
  height: 100%;
  transition: width .3s;
}

.cat-card-footer {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.cat-price {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--ink);
  font-size: .9rem;
  font-weight: 600;
}

.cat-price-period {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 400;
}

.cat-btn {
  font-family: var(--font-dm-sans, sans-serif);
  white-space: nowrap;
  border-radius: 999px;
  padding: .5rem 1.1rem;
  font-size: .82rem;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .15s;
  display: inline-block;
}

.cat-btn-primary {
  background: var(--ink);
  color: #fff;
  border: none;
}

.cat-btn-primary:hover {
  opacity: .82;
}

.cat-btn-done {
  color: var(--text2);
  border: 1px solid var(--border);
  background: none;
}

.cat-section-label {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 1rem;
  font-size: .68rem;
  font-weight: 700;
}

.cat-login-note {
  text-align: center;
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  margin-top: 2.5rem;
  font-size: .87rem;
}

.cat-login-note a {
  color: var(--ink);
  font-weight: 600;
  text-decoration: none;
}

@media (max-width: 600px) {
  .cat-shell {
    padding: 2rem 1rem 4rem;
  }

  .cat-grid {
    grid-template-columns: 1fr;
  }
}

.diary-section {
  margin-bottom: 4rem;
}

.diary-write-zone {
  border-top: 1px solid var(--border-soft);
  margin-top: 1rem;
  padding-top: 3rem;
}

.diary-write-label-row {
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  display: flex;
  position: relative;
}

.diary-write-label {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--muted);
  font-size: .57rem;
  font-weight: 700;
}

.diary-save-badge {
  font-family: var(--font-dm-sans, sans-serif);
  pointer-events: none;
  font-size: .68rem;
  transition: color .3s;
  position: absolute;
  right: 0;
}

.parchment-area {
  background: #fefcf7;
  border-radius: 14px;
  transition: box-shadow .35s;
  overflow: hidden;
}

.parchment-content {
  font-family: var(--font-lora), Georgia, "Times New Roman", serif;
  color: var(--text2);
  white-space: pre-wrap;
  min-height: 140px;
  padding: 2.25rem 2.5rem 2rem;
  font-size: 1.04rem;
  line-height: 1.95;
}

.parchment-textarea {
  width: 100%;
  min-height: 320px;
  font-family: var(--font-lora), Georgia, "Times New Roman", serif;
  color: var(--text);
  resize: vertical;
  box-sizing: border-box;
  cursor: text;
  -webkit-tap-highlight-color: transparent;
  background: none;
  border: none;
  outline: none;
  padding: 2.25rem 2.5rem 1.5rem;
  font-size: 1.05rem;
  line-height: 1.95;
  display: block;
}

.parchment-textarea::placeholder {
  color: #c8bdb0;
  font-style: italic;
}

.parchment-footer {
  background: #fefcf780;
  border-top: 1px solid #ddd4c466;
  justify-content: space-between;
  align-items: center;
  padding: .65rem 1.75rem .85rem;
  display: flex;
}

.parchment-word-count {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  font-size: .68rem;
}

.companion-open-btn {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .06em;
  color: var(--companion);
  border: 1.5px solid var(--companion);
  border-radius: 7px;
  align-items: center;
  min-height: 44px;
  margin-top: 1rem;
  padding: .5rem 1rem;
  font-size: .74rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .15s, color .15s;
  display: inline-flex;
}

.companion-open-btn:hover, .companion-open-btn:active {
  background: var(--companion);
  color: #fff;
}

.journal-overview-shell {
  max-width: 760px;
  margin: 0 auto;
  padding: 2.5rem 1.5rem 4rem;
}

.estado-proceso-bloque {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1.25rem;
  display: flex;
}

.estado-proceso-label {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--muted);
  flex-shrink: 0;
  font-size: .58rem;
  font-weight: 700;
}

.estado-proceso-nombre {
  font-family: var(--font-lora, serif);
  color: var(--text);
  flex-shrink: 0;
  font-size: .92rem;
  font-style: italic;
}

.estado-proceso-track {
  background: var(--border-soft);
  border-radius: 2px;
  flex-shrink: 0;
  width: 80px;
  height: 3px;
  overflow: hidden;
}

.estado-proceso-fill {
  border-radius: 2px;
  height: 100%;
  transition: width .6s;
}

.estado-proceso-pct {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  flex-shrink: 0;
  font-size: .6rem;
}

.resonancia-bloque {
  background: var(--sand2);
  border: 1px solid var(--border-soft);
  border-radius: 12px;
  max-width: 320px;
  margin: 0 auto .5rem;
  padding: .85rem 1.1rem .75rem;
}

.resonancia-header {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  align-items: center;
  gap: .6rem;
  margin-bottom: .6rem;
  display: flex;
}

.resonancia-label {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  text-align: left;
  flex: 1;
  font-size: .62rem;
  font-weight: 600;
}

.resonancia-pct {
  font-family: var(--font-dm-sans, sans-serif);
  font-size: .9rem;
  font-weight: 700;
}

.resonancia-toggle {
  color: var(--muted);
  font-size: .62rem;
}

.resonancia-bar-track {
  background: var(--border);
  border-radius: 2px;
  height: 4px;
  overflow: hidden;
}

.resonancia-bar-fill {
  opacity: .75;
  border-radius: 2px;
  height: 100%;
  transition: width .6s;
}

.resonancia-desc {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  text-align: left;
  margin: .7rem 0 0;
  font-size: .72rem;
  font-style: italic;
  line-height: 1.6;
}

.coaching-q-block {
  border-bottom: 1px solid var(--border-soft);
  margin-bottom: .25rem;
  padding-bottom: 1.5rem;
}

.coaching-q-block:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.coaching-q-textarea {
  width: 100%;
  font-family: var(--font-lora, serif);
  color: var(--text);
  border: 1px solid var(--border-soft);
  resize: vertical;
  box-sizing: border-box;
  background: #fefcf7;
  border-radius: 10px;
  outline: none;
  min-height: 80px;
  margin-top: .75rem;
  padding: .85rem 1rem;
  font-size: .94rem;
  line-height: 1.82;
  transition: border-color .2s, box-shadow .2s;
  display: block;
}

.coaching-q-textarea:focus {
  border-color: var(--border);
  box-shadow: 0 0 0 3px #6b5e5212;
}

.coaching-q-textarea::placeholder {
  color: #c8bdb0;
  font-style: italic;
}

.coaching-q-answer {
  font-family: var(--font-lora, serif);
  color: var(--text2);
  border: 1px solid var(--border-soft);
  white-space: pre-wrap;
  background: #fefcf7;
  border-radius: 10px;
  margin-top: .75rem;
  padding: .85rem 1rem;
  font-size: .94rem;
  line-height: 1.82;
}

.diary-write-intro {
  text-align: center;
  padding: 3.5rem 0 2rem;
}

.diary-write-intro-line {
  background: var(--border-soft);
  width: 40px;
  height: 1px;
  margin: 0 auto 2rem;
}

.diary-write-intro-eyebrow {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 .65rem;
  font-size: .57rem;
  font-weight: 700;
}

.diary-write-intro-title {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  margin: 0 0 .75rem;
  font-size: 1.35rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.4;
}

.diary-write-intro-sub {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  max-width: 360px;
  margin: 0 auto;
  font-size: .8rem;
  line-height: 1.6;
}

.diary-nav-inner {
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
}

.diary-nav-left {
  flex-shrink: 0;
  align-items: center;
  gap: 1.5rem;
  min-width: 0;
  display: flex;
}

.diary-nav-center {
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.diary-nav-right {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  white-space: nowrap;
  flex-shrink: 0;
  align-items: center;
  gap: 1.1rem;
  font-size: .72rem;
  display: flex;
}

.diary-nav-right a {
  color: var(--muted);
  text-decoration: none;
  transition: color .15s;
}

.diary-nav-right a:hover {
  color: var(--text2);
}

.diary-nav-sep {
  color: var(--border);
}

.diary-nav-logout {
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  color: var(--muted);
  background: none;
  border: none;
  padding: 0;
  transition: color .15s;
}

.diary-nav-logout:hover {
  color: var(--text2);
}

.sub-pills-row {
  align-items: center;
  gap: .45rem;
  display: flex;
}

.sub-pill {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .025em;
  white-space: nowrap;
  border: 1px solid #0000;
  border-radius: 100px;
  align-items: center;
  gap: .32rem;
  padding: .28rem .75rem;
  font-size: .67rem;
  font-weight: 600;
  line-height: 1.4;
  transition: background .18s, box-shadow .18s;
  display: inline-flex;
}

.sub-pill-active {
  cursor: default;
  color: #5a3f80;
  background: #ede7f6;
  border-color: #c9b8e8;
  box-shadow: 0 0 0 3px #7c64901a, 0 1px 4px #7c64901f;
}

.sub-pill-inactive {
  color: #7c6490;
  cursor: pointer;
  background: #f3eef9;
  border-color: #d8cce8;
}

.sub-pill-inactive:hover {
  background: #ebe3f5;
  box-shadow: 0 0 0 3px #7c64901f;
}

.sub-pill-sep {
  opacity: .35;
  margin: 0 .05rem;
  font-weight: 400;
}

.sub-pill-status {
  opacity: .72;
  font-weight: 400;
}

.sub-pill-cta {
  color: #7c6490;
  font-weight: 700;
}

.diary-pills-mobile {
  display: none;
}

.sub-modal-backdrop {
  z-index: 500;
  background: #1c191673;
  justify-content: center;
  align-items: center;
  padding: 1.5rem;
  animation: .18s forwards modal-in;
  display: flex;
  position: fixed;
  inset: 0;
}

@keyframes modal-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.sub-modal {
  background: #fdfcfa;
  border-radius: 16px;
  width: 100%;
  max-width: 400px;
  padding: 2.25rem 2rem 2rem;
  animation: .22s forwards modal-slide;
  position: relative;
  box-shadow: 0 20px 60px #1c19162e;
}

@keyframes modal-slide {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.sub-modal-close {
  color: var(--muted);
  cursor: pointer;
  font-size: 1.4rem;
  line-height: 1;
  font-family: var(--font-dm-sans, sans-serif);
  background: none;
  border: none;
  padding: 0;
  position: absolute;
  top: 1rem;
  right: 1.25rem;
}

.sub-modal-close:hover {
  color: var(--text);
}

.sub-modal-eyebrow {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 .5rem;
  font-size: .6rem;
  font-weight: 700;
}

.sub-modal-title {
  font-family: var(--font-lora, Georgia, serif);
  color: var(--ink);
  margin: 0 0 .85rem;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.3;
}

.sub-modal-desc {
  font-family: var(--font-lora, Georgia, serif);
  color: var(--text2);
  margin: 0 0 .6rem;
  font-size: .9rem;
  line-height: 1.7;
}

.sub-modal-sub {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  margin: 0 0 1.25rem;
  font-size: .72rem;
  font-style: italic;
}

.sub-modal-benefits {
  flex-direction: column;
  gap: .5rem;
  margin: 0 0 1.75rem;
  padding: 0;
  list-style: none;
  display: flex;
}

.sub-modal-benefits li {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  padding-left: 1.1rem;
  font-size: .78rem;
  position: relative;
}

.sub-modal-benefits li:before {
  content: "✓";
  color: var(--green);
  font-size: .7rem;
  position: absolute;
  left: 0;
}

.sub-modal-cta {
  text-align: center;
  color: #fff;
  width: 100%;
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .03em;
  background: #7c6490;
  border-radius: 8px;
  padding: .75rem 1.5rem;
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .15s;
  display: block;
}

.sub-modal-cta:hover {
  background: #6a5480;
}

@media (max-width: 600px) {
  .diary-section {
    margin-bottom: 2.5rem;
  }

  .ornament {
    margin: 2rem 0;
  }

  .narrativa-apertura {
    padding: .9rem 1.1rem;
    font-size: .98rem;
    line-height: 1.85;
  }

  .bloque-aletheia {
    padding: 1.5rem 1.15rem 1.35rem;
  }

  .aletheia-pill {
    left: 1rem;
  }

  .bloque-aletheia-text {
    font-size: .98rem;
    line-height: 1.82;
  }

  .bloque-carta {
    padding: 1.35rem 1.15rem;
  }

  .bloque-carta-text {
    font-size: .98rem;
    line-height: 1.82;
  }

  .bloque-carta-firma {
    margin-top: 1.25rem;
  }

  .bloque-actividad {
    padding: 1.25rem 1.1rem;
  }

  .bloque-actividad-text {
    font-size: .98rem;
    line-height: 1.82;
  }

  .coaching-pregunta {
    font-size: .98rem;
    line-height: 1.78;
  }

  .coaching-item {
    gap: .75rem;
    padding: 1rem 0;
  }

  .coaching-num {
    margin-top: .12rem;
  }

  .coaching-q-textarea {
    padding: .75rem .85rem;
    font-size: 1rem;
  }

  .estado-proceso-track {
    width: 60px;
  }

  .resonancia-bloque {
    max-width: 100%;
  }

  .diary-write-intro-title {
    font-size: 1.15rem;
  }

  .bloque-micro, .bloque-companion-hint {
    padding: .9rem 1rem;
  }

  .micro-text, .companion-hint-text {
    font-size: .95rem;
  }

  .diary-write-zone {
    padding-top: 2rem;
  }

  .diary-write-label-row {
    margin-bottom: 1.25rem;
  }

  .parchment-textarea {
    min-height: 240px;
    padding: 1.5rem 1.15rem 1rem;
    font-size: 1rem;
  }

  .parchment-content {
    padding: 1.5rem 1.15rem 1.25rem;
  }

  .parchment-footer {
    padding: .6rem 1rem .7rem;
  }

  .btn-complete {
    min-height: 52px;
    font-size: .92rem;
  }

  .feature-card-btn {
    justify-content: center;
    align-items: center;
    min-height: 44px;
    display: flex;
  }

  .companion-open-btn {
    min-height: 44px;
  }

  .dash-shell {
    padding: 1.5rem 1rem 4rem;
  }

  .dash-greeting {
    margin-bottom: 1.5rem;
  }

  .dash-greeting-name {
    font-size: 1.55rem;
  }

  .dash-btn-primary, .dash-btn-companion {
    align-items: center;
    min-height: 44px;
    display: inline-flex;
  }

  .journal-overview-shell {
    padding: 1.75rem 1rem 3.5rem;
  }

  .diary-nav-inner {
    gap: .75rem;
    padding: 0 1rem;
  }

  .diary-nav-right {
    gap: .75rem;
    font-size: .68rem;
  }

  .sub-modal {
    padding: 1.75rem 1.5rem 1.5rem;
  }

  .sub-modal-title {
    font-size: 1.2rem;
  }
}

@supports (padding: env(safe-area-inset-bottom)) {
  .companion-input-area {
    padding-bottom: max(1.25rem, env(safe-area-inset-bottom));
  }
}

button, a {
  touch-action: manipulation;
}

.companion-drawer-backdrop {
  z-index: 200;
  background: #1c191612;
  animation: .3s forwards cdr-backdrop-in;
  position: fixed;
  inset: 0;
}

@keyframes cdr-backdrop-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@media (min-width: 860px) {
  .companion-drawer-backdrop {
    display: none;
  }
}

.companion-drawer {
  z-index: 201;
  will-change: transform;
  background: #fff;
  border-radius: 20px 20px 0 0;
  flex-direction: column;
  height: 76dvh;
  animation: .35s cubic-bezier(.4, 0, .2, 1) forwards cdr-slide-up;
  display: flex;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  transform: translateY(100%);
  box-shadow: 0 -8px 48px #1c19161f;
}

.companion-drawer.is-closing {
  animation: .28s cubic-bezier(.4, 0, 1, 1) forwards cdr-slide-down;
}

@keyframes cdr-slide-up {
  to {
    transform: translateY(0);
  }
}

@keyframes cdr-slide-down {
  to {
    transform: translateY(100%);
  }
}

@media (min-width: 860px) {
  .companion-drawer {
    border-left: 1px solid var(--border-soft);
    z-index: 50;
    border-radius: 0;
    width: min(38vw, 460px);
    min-width: 320px;
    height: auto;
    animation: .35s cubic-bezier(.4, 0, .2, 1) forwards cdr-slide-left;
    inset: 66px 0 0 auto;
    transform: translateX(100%);
    box-shadow: -6px 0 40px #1c191612;
  }

  .companion-drawer.is-closing {
    animation: .28s cubic-bezier(.4, 0, 1, 1) forwards cdr-slide-right;
  }
}

@keyframes cdr-slide-left {
  to {
    transform: translateX(0);
  }
}

@keyframes cdr-slide-right {
  to {
    transform: translateX(100%);
  }
}

.companion-drawer-handle {
  flex-shrink: 0;
  justify-content: center;
  padding: .6rem 0 0;
  display: flex;
}

.companion-drawer-handle-bar {
  background: var(--border);
  border-radius: 2px;
  width: 36px;
  height: 4px;
}

@media (min-width: 860px) {
  .companion-drawer-handle {
    display: none;
  }
}

.companion-drawer-header {
  border-bottom: 1px solid var(--border-soft);
  flex-shrink: 0;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  padding: .75rem 1.35rem .65rem;
  display: flex;
}

.companion-drawer-title {
  font-family: var(--font-lora, serif);
  color: var(--companion);
  margin: 0;
  font-size: .9rem;
  font-style: italic;
}

.companion-drawer-day {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  margin-left: .5rem;
  font-size: .62rem;
  font-weight: 600;
}

.companion-drawer-close {
  cursor: pointer;
  width: 28px;
  height: 28px;
  color: var(--muted);
  background: none;
  border: none;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  transition: background .15s, color .15s;
  display: flex;
}

.companion-drawer-close:hover {
  background: var(--sand2);
  color: var(--text);
}

.companion-phase-pips {
  align-items: center;
  gap: 4px;
  display: flex;
}

.companion-phase-pip {
  background: var(--border);
  border-radius: 50%;
  width: 5px;
  height: 5px;
  transition: background .4s, transform .35s;
}

.companion-phase-pip.is-done {
  background: var(--companion);
  opacity: .3;
}

.companion-phase-pip.is-active {
  background: var(--companion);
  opacity: 1;
  transform: scale(1.5);
}

.companion-ctx-strip {
  border-bottom: 1px solid var(--border-soft);
  background: linear-gradient(to right, #7c64900a, #0000);
  flex-shrink: 0;
  padding: .65rem 1.35rem;
}

.companion-ctx-text {
  font-family: var(--font-lora, serif);
  color: var(--muted);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 0;
  font-size: .79rem;
  font-style: italic;
  line-height: 1.5;
  display: -webkit-box;
  overflow: hidden;
}

.companion-drawer-msgs {
  scrollbar-width: none;
  flex-direction: column;
  flex: 1;
  gap: 1.65rem;
  padding: 1.5rem 1.35rem .75rem;
  display: flex;
  overflow-y: auto;
}

.companion-drawer-msgs::-webkit-scrollbar {
  display: none;
}

.cdr-msg.is-companion {
  border-left: 2px solid #d4c5e8;
  align-self: flex-start;
  padding-left: 1rem;
  animation: .38s cdr-msg-in;
}

.cdr-msg.is-user {
  text-align: right;
  align-self: flex-end;
  animation: .22s cdr-msg-in;
}

@keyframes cdr-msg-in {
  from {
    opacity: 0;
    transform: translateY(5px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.cdr-msg-text {
  font-family: var(--font-lora, serif);
  color: var(--text);
  white-space: pre-wrap;
  margin: 0;
  font-size: 1rem;
  line-height: 1.85;
}

.cdr-msg.is-companion .cdr-msg-text {
  font-style: italic;
}

.cdr-msg.is-user .cdr-msg-text {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  font-size: .88rem;
  font-style: normal;
  line-height: 1.62;
}

.cdr-presence {
  align-items: center;
  gap: 6px;
  padding: .25rem 0;
  display: flex;
}

.cdr-presence-dot {
  background: var(--companion);
  border-radius: 50%;
  width: 5px;
  height: 5px;
  animation: 1.5s infinite cdr-presence-pulse;
}

.cdr-presence-dot:nth-child(2) {
  opacity: .55;
  animation-delay: .22s;
}

.cdr-presence-dot:nth-child(3) {
  opacity: .3;
  animation-delay: .44s;
}

@keyframes cdr-presence-pulse {
  0%, 100% {
    opacity: .45;
    transform: scale(1);
  }

  50% {
    opacity: 1;
    transform: scale(1.5);
  }
}

.cdr-cursor {
  background: var(--companion);
  vertical-align: text-bottom;
  opacity: .65;
  border-radius: 1px;
  width: 1.5px;
  height: .9em;
  margin-left: 2px;
  animation: .85s infinite cdr-blink;
  display: inline-block;
}

@keyframes cdr-blink {
  0%, 48% {
    opacity: .65;
  }

  49%, 100% {
    opacity: 0;
  }
}

.cdr-input {
  border-top: 1px solid var(--border-soft);
  padding: .75rem 1.1rem;
  padding-bottom: max(.75rem, env(safe-area-inset-bottom, .75rem));
  background: #fff;
  flex-shrink: 0;
  align-items: flex-end;
  gap: .7rem;
  display: flex;
}

.cdr-textarea {
  font-family: var(--font-lora, serif);
  color: var(--text);
  resize: none;
  -webkit-tap-highlight-color: transparent;
  background: none;
  border: none;
  outline: none;
  flex: 1;
  min-height: 36px;
  max-height: 96px;
  padding: .38rem 0;
  font-size: 1rem;
  line-height: 1.5;
  overflow-y: auto;
}

.cdr-textarea::placeholder {
  color: var(--muted);
  font-style: italic;
}

.cdr-textarea:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.cdr-send {
  background: var(--companion);
  cursor: pointer;
  color: #fff;
  opacity: .82;
  border: none;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 1px;
  transition: opacity .15s, transform .1s;
  display: flex;
}

.cdr-send:hover:not(:disabled) {
  opacity: 1;
}

.cdr-send:active:not(:disabled) {
  transform: scale(.93);
}

.cdr-send:disabled {
  opacity: .22;
  cursor: not-allowed;
}

.cdr-save-link {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  cursor: pointer;
  letter-spacing: .03em;
  background: none;
  border: none;
  padding: .25rem .4rem;
  font-size: .67rem;
  transition: color .15s;
}

.cdr-save-link:hover:not(:disabled) {
  color: var(--text2);
}

.cdr-save-link:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.cdr-topic-chips {
  flex-wrap: wrap;
  gap: .55rem;
  padding: .75rem 0 .25rem;
  animation: .4s cdr-msg-in;
  display: flex;
}

.cdr-topic-chip {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--companion);
  cursor: pointer;
  letter-spacing: .01em;
  background: none;
  border: 1.5px solid #c4b0e0;
  border-radius: 999px;
  padding: .42rem 1.05rem;
  font-size: .8rem;
  transition: background .15s, border-color .15s, color .15s;
}

.cdr-topic-chip:hover {
  border-color: var(--companion);
  background: #f3edf9;
}

.cdr-topic-chip:active {
  background: #e8dff5;
  transform: scale(.97);
}

.companion-topic-chips {
  flex-wrap: wrap;
  gap: .6rem;
  padding: .5rem 0 .75rem;
  animation: .4s cdr-msg-in;
  display: flex;
}

.companion-topic-chip {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--companion);
  cursor: pointer;
  letter-spacing: .01em;
  background: none;
  border: 1.5px solid #c4b0e0;
  border-radius: 999px;
  padding: .45rem 1.1rem;
  font-size: .82rem;
  transition: background .15s, border-color .15s;
}

.companion-topic-chip:hover {
  border-color: var(--companion);
  background: #f3edf9;
}

.companion-topic-chip:active {
  background: #e8dff5;
  transform: scale(.97);
}

.companion-topic-chip:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.cdr-start-error {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 2.5rem 1.5rem;
  display: flex;
}

.cdr-start-error-text {
  font-family: var(--font-lora, serif);
  color: var(--muted);
  margin: 0;
  font-size: .92rem;
  font-style: italic;
  line-height: 1.65;
}

.cdr-retry-btn {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--companion);
  cursor: pointer;
  background: none;
  border: 1.5px solid #c4b0e0;
  border-radius: 999px;
  padding: .45rem 1.25rem;
  font-size: .78rem;
  transition: background .15s;
}

.cdr-retry-btn:hover {
  background: #f7f3fd;
}

.cdr-closure {
  flex-direction: column;
  flex: 1;
  gap: 1.15rem;
  padding: 1.75rem 1.35rem;
  display: flex;
  overflow-y: auto;
}

.cdr-closure-label {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--companion);
  font-size: .58rem;
  font-weight: 700;
}

.cdr-closure-summary {
  font-family: var(--font-lora, serif);
  color: var(--text);
  border-left: 2px solid #d4c5e8;
  margin: 0;
  padding-left: 1rem;
  font-size: .98rem;
  font-style: italic;
  line-height: 1.88;
}

.cdr-closure-insights {
  flex-direction: column;
  gap: .5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.cdr-closure-insight {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  padding-left: 1rem;
  font-size: .84rem;
  line-height: 1.55;
  position: relative;
}

.cdr-closure-insight:before {
  content: "·";
  color: var(--companion);
  font-size: 1.1rem;
  line-height: 1.25;
  position: absolute;
  left: 0;
}

.cdr-closure-next {
  font-family: var(--font-lora, serif);
  color: var(--accent);
  border-left: 2px solid var(--border-soft);
  margin: 0;
  padding-left: 1rem;
  font-size: .9rem;
  font-style: italic;
  line-height: 1.65;
}

.cdr-closure-return {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  cursor: pointer;
  background: none;
  border: none;
  align-items: center;
  margin-top: .25rem;
  padding: 0;
  font-size: .76rem;
  transition: color .15s;
  display: inline-flex;
}

.cdr-closure-return:hover {
  color: var(--text2);
}

.companion-trigger {
  cursor: pointer;
  text-align: left;
  background: linear-gradient(135deg, #f7f3fd, #f0eaf8);
  border: 1px solid #d3c7e8;
  border-radius: 14px;
  align-items: center;
  gap: .75rem;
  width: 100%;
  margin-top: 1rem;
  padding: 1rem 1.25rem;
  transition: box-shadow .2s, transform .15s;
  display: flex;
}

.companion-trigger:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 20px #7c649024;
}

.companion-trigger:active {
  transform: translateY(0);
}

.companion-trigger-icon {
  color: var(--companion);
  flex-shrink: 0;
  font-size: 1rem;
  line-height: 1;
}

.companion-trigger-label {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--companion);
  margin-bottom: .15rem;
  font-size: .57rem;
  font-weight: 700;
  display: block;
}

.companion-trigger-hint {
  font-family: var(--font-lora, serif);
  color: var(--text2);
  font-size: .88rem;
  font-style: italic;
  line-height: 1.35;
  display: block;
}

.companion-trigger-chevron {
  color: var(--muted);
  flex-shrink: 0;
  margin-left: auto;
  font-size: .8rem;
  transition: transform .2s;
}

.companion-trigger:hover .companion-trigger-chevron {
  transform: translateX(2px);
}

.phase-arc {
  border-top: 1px solid var(--border-soft);
  align-items: stretch;
  margin-top: 1.25rem;
  padding: 1.5rem 0 .25rem;
  display: flex;
}

.phase-arc-item {
  flex-direction: column;
  flex: 1;
  gap: .45rem;
  display: flex;
}

.phase-arc-item-top {
  align-items: center;
  width: 100%;
  display: flex;
}

.phase-arc-dot {
  border: 1.5px solid var(--border-soft);
  background: var(--surface);
  border-radius: 50%;
  flex-shrink: 0;
  width: 9px;
  height: 9px;
  transition: all .25s;
}

.phase-arc-item.is-active .phase-arc-dot {
  width: 12px;
  height: 12px;
}

.phase-arc-connector {
  background: var(--border-soft);
  flex: 1;
  min-width: 0;
  height: 1.5px;
  transition: background .3s;
}

.phase-arc-item-bottom {
  flex-direction: column;
  gap: .12rem;
  display: flex;
}

.phase-arc-name {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  letter-spacing: .02em;
  font-size: .57rem;
  line-height: 1.3;
}

.phase-arc-item.is-done .phase-arc-name, .phase-arc-item.is-active .phase-arc-name {
  color: var(--text2);
  font-weight: 500;
}

.phase-arc-here {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .5rem;
  font-weight: 600;
  line-height: 1;
}

.dash-empty {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 0;
  padding: 4.5rem 2rem 3rem;
  display: flex;
}

.dash-empty-ornament {
  color: var(--border-soft);
  letter-spacing: .1em;
  margin-bottom: 1.75rem;
  font-size: 1.4rem;
}

.dash-empty-headline {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  margin: 0 0 1rem;
  font-size: 1.5rem;
  font-style: italic;
  line-height: 1.45;
}

.dash-empty-sub {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  max-width: 310px;
  margin: 0 0 2rem;
  font-size: .88rem;
  line-height: 1.7;
}

.dash-journey-complete {
  background: var(--surface);
  border: 1px solid var(--border-soft);
  text-align: center;
  border-radius: 16px;
  margin-bottom: 1.5rem;
  padding: 2rem 1.75rem;
  animation: .4s .15s both dash-fade-up;
}

.djc-eyebrow {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 .65rem;
  font-size: .6rem;
  font-weight: 600;
}

.djc-headline {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  margin: 0 0 .75rem;
  font-size: 1.38rem;
  font-style: italic;
  line-height: 1.45;
}

.djc-narrative {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  max-width: 380px;
  margin: 0 auto 1.5rem;
  font-size: .88rem;
  line-height: 1.65;
}

.djc-stats {
  justify-content: center;
  gap: 2.5rem;
  margin-bottom: 1.5rem;
  display: flex;
}

.djc-stat {
  flex-direction: column;
  align-items: center;
  gap: .2rem;
  display: flex;
}

.djc-stat-n {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  font-size: 1.85rem;
  font-style: italic;
  line-height: 1;
}

.djc-stat-label {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  letter-spacing: .04em;
  font-size: .62rem;
}

.djc-cta {
  font-family: var(--font-dm-sans, sans-serif);
  opacity: .8;
  border-bottom: 1px solid;
  margin-top: .25rem;
  padding-bottom: 1px;
  font-size: .82rem;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .2s;
  display: inline-block;
}

.djc-cta:hover {
  opacity: 1;
}

@media (max-width: 460px) {
  .djc-stats {
    gap: 1.5rem;
  }

  .djc-stat-n {
    font-size: 1.5rem;
  }
}

.parchment-autosave-status {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  font-size: .65rem;
  transition: opacity .3s;
}

.parchment-retry-link {
  font-family: var(--font-dm-sans, sans-serif);
  color: #c0392b;
  cursor: pointer;
  text-underline-offset: 2px;
  background: none;
  border: none;
  padding: 0;
  font-size: .65rem;
  text-decoration: underline;
}

.dash-insight-card {
  transition: transform .2s, box-shadow .2s;
}

.dash-insight-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 28px #1c191617;
}

.dash-hero {
  transition: box-shadow .2s;
}

.dash-hero:hover {
  box-shadow: 0 6px 32px #1c191617;
}

.dash-companion-insights-card {
  transition: transform .2s;
}

.dash-companion-insights-card:hover {
  transform: translateY(-2px);
}

@keyframes dash-fade-up {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.dash-insight-grid {
  animation: .4s .1s both dash-fade-up;
}

.dash-hero {
  animation: .35s both dash-fade-up;
}

.companion-drawer {
  overscroll-behavior: none;
}

.companion-drawer-msgs {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.companion-drawer-handle, .companion-drawer-header, .companion-ctx-strip, .companion-input-area {
  flex-shrink: 0;
}

.cdr-msg {
  animation: .32s both cdr-msg-in;
}

.cdr-textarea {
  resize: none;
  font-size: max(16px, .9rem);
}

.cdr-msg.is-companion .cdr-msg-text[data-error] {
  color: var(--muted);
  opacity: .8;
  font-style: normal;
}

.diary-save-badge {
  transition: color .35s, opacity .35s;
}

.parchment-autosave-status {
  text-align: right;
  min-width: 4.5rem;
  transition: opacity .35s;
  display: inline-block;
}

.parchment-footer {
  transition: none;
}

.diary-save-badge[style*="--green"] {
  transition: color .4s;
}

.phase-arc-dot {
  transition: background .3s, border-color .3s, width .2s, height .2s;
}

.phase-arc-connector {
  transition: background .4s;
}

.dash-hero, .dash-insight-card, .dash-companion-insights-card, .dash-journey-complete {
  will-change: transform;
}

@supports (padding: env(safe-area-inset-bottom)) {
  .diary-main {
    padding-bottom: max(2rem, env(safe-area-inset-bottom));
  }
}

@media (max-height: 620px) and (max-width: 860px) {
  .companion-drawer {
    height: 90dvh;
  }
}

.companion-drawer-msgs {
  min-height: 80px;
}

.cdr-send, .cdr-save-link, .cdr-retry-btn, .companion-trigger, .companion-drawer-close {
  -webkit-user-select: none;
  user-select: none;
}

.parchment-textarea::placeholder {
  color: var(--muted);
  opacity: .7;
  font-style: italic;
  line-height: 1.9;
}

.resonancia-empty {
  opacity: .75;
  font-style: italic;
}

.tl-root {
  background: #f9f7f4;
  min-height: 100vh;
  font-family: DM Sans, system-ui, sans-serif;
}

.tl-accent-bar {
  background: var(--tl-accent, #7c4d6e);
  height: 6px;
}

.tl-container {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 1.5rem 5rem;
}

.tl-hero {
  text-align: center;
  padding: 3.5rem 0 2.5rem;
}

.tl-eyebrow {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--tl-accent, #7c4d6e);
  margin-bottom: 1rem;
  font-size: .72rem;
  font-weight: 500;
}

.tl-h1 {
  color: #1c1916;
  margin-bottom: .75rem;
  font-family: Lora, Georgia, serif;
  font-size: clamp(2rem, 5vw, 2.8rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.2;
}

.tl-sub {
  color: #6b5e52;
  margin-bottom: 2rem;
  font-size: 1.05rem;
  font-style: italic;
  line-height: 1.6;
}

.tl-cta-primary {
  background: var(--tl-accent, #7c4d6e);
  color: #fff;
  border-radius: 999px;
  padding: .85rem 2.25rem;
  font-size: .95rem;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .15s;
  display: inline-block;
}

.tl-cta-primary:hover {
  opacity: .88;
}

.tl-cta-large {
  padding: 1rem 2.75rem;
  font-size: 1.05rem;
}

.tl-lang-switch {
  color: #a89a88;
  letter-spacing: .04em;
  margin-top: 1rem;
  font-size: .8rem;
  text-decoration: none;
  display: block;
}

.tl-lang-switch:hover {
  color: #6b5e52;
}

.tl-empathy {
  border-top: 1px solid #ece5da;
  border-bottom: 1px solid #ece5da;
  margin-bottom: 3rem;
  padding: 2.5rem 0;
}

.tl-empathy-lead {
  color: #1c1916;
  margin-bottom: 1.25rem;
  font-family: Lora, Georgia, serif;
  font-size: clamp(1.3rem, 3vw, 1.55rem);
  font-style: italic;
  line-height: 1.4;
}

.tl-empathy-body {
  color: #56504a;
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.85;
}

.tl-section-title {
  color: #1c1916;
  margin-bottom: 1.75rem;
  font-family: Lora, Georgia, serif;
  font-size: 1.4rem;
  font-style: italic;
  font-weight: 400;
}

.tl-how {
  margin-bottom: 3.5rem;
}

.tl-steps {
  flex-direction: column;
  gap: 1.5rem;
  display: flex;
}

.tl-step {
  align-items: flex-start;
  gap: 1.25rem;
  display: flex;
}

.tl-step-num {
  background: var(--tl-accent-light, #f5eef2);
  width: 2rem;
  height: 2rem;
  color: var(--tl-accent, #7c4d6e);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  margin-top: .15rem;
  font-size: .85rem;
  font-weight: 700;
  display: flex;
}

.tl-step-title {
  color: #1c1916;
  margin-bottom: .25rem;
  font-size: .95rem;
  font-weight: 600;
}

.tl-step-desc {
  color: #6b5e52;
  font-size: .9rem;
  line-height: 1.7;
}

.tl-faq {
  margin-bottom: 3.5rem;
}

.tl-faq-list {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.tl-faq-item {
  background: #fff;
  border: 1px solid #ece5da;
  border-radius: 10px;
  overflow: hidden;
}

.tl-faq-q {
  color: #1c1916;
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.25rem;
  font-size: .93rem;
  font-weight: 500;
  list-style: none;
  display: flex;
}

.tl-faq-q:after {
  content: "+";
  color: var(--tl-accent, #7c4d6e);
  flex-shrink: 0;
  font-size: 1.1rem;
  font-weight: 400;
}

.tl-faq-item[open] .tl-faq-q:after {
  content: "–";
}

.tl-faq-a {
  color: #56504a;
  padding: 0 1.25rem 1rem;
  font-size: .88rem;
  line-height: 1.75;
}

.tl-related {
  margin-bottom: 3.5rem;
}

.tl-related-list {
  flex-wrap: wrap;
  gap: .75rem;
  display: flex;
}

.tl-related-card {
  color: #2c2926;
  background: #fff;
  border: 1px solid #ece5da;
  border-radius: 999px;
  align-items: center;
  gap: .5rem;
  padding: .6rem 1rem;
  font-size: .85rem;
  text-decoration: none;
  transition: border-color .15s;
  display: flex;
}

.tl-related-card:hover {
  border-color: var(--tl-accent, #7c4d6e);
}

.tl-related-dot {
  border-radius: 50%;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
}

.tl-final-cta {
  text-align: center;
  background: var(--tl-accent-light, #f5eef2);
  border-radius: 20px;
  padding: 3rem 1.5rem;
}

.tl-final-title {
  color: #1c1916;
  margin-bottom: .75rem;
  font-family: Lora, Georgia, serif;
  font-size: clamp(1.4rem, 3.5vw, 1.9rem);
  font-style: italic;
  font-weight: 400;
}

.tl-final-sub {
  color: #6b5e52;
  margin-bottom: 2rem;
  font-size: .92rem;
}

@media (max-width: 640px) {
  .tl-hero {
    padding: 2.5rem 0 2rem;
  }

  .tl-final-cta {
    padding: 2rem 1rem;
  }
}

.tl-section-label {
  font-family: var(--font-dm-sans, sans-serif);
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--muted);
  text-align: center;
  margin-bottom: .8rem;
  font-size: .7rem;
}

.tl-trust {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  letter-spacing: .05em;
  text-align: center;
  margin-top: 1.1rem;
  font-size: .78rem;
  display: block;
}

.tl-features {
  margin-bottom: 3.5rem;
}

.tl-features-grid {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.2rem;
  display: grid;
}

.tl-feature-card {
  border: 1px solid var(--border-soft);
  background: #fff;
  border-radius: 12px;
  padding: 1.75rem;
}

.tl-feature-icon {
  color: var(--tl-accent, #7c6490);
  margin-bottom: .75rem;
  font-size: 1.4rem;
  display: block;
}

.tl-feature-card h3 {
  color: var(--ink);
  margin-bottom: .4rem;
  font-size: .93rem;
  font-weight: 600;
}

.tl-feature-card p {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  font-size: .85rem;
  line-height: 1.65;
}

.tl-related-sub {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  text-align: center;
  margin-bottom: 1.5rem;
  font-size: .88rem;
}

.tl-plans {
  border-top: 1px solid var(--border-soft);
  margin-bottom: 3.5rem;
  padding: 3rem 0;
}

.tl-plans-sub {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  text-align: center;
  margin-bottom: 2.5rem;
  font-size: .9rem;
}

.tl-plans-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1.25rem;
  display: grid;
}

.tl-plan-card {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 16px;
  padding: 1.75rem;
  transition: box-shadow .2s;
}

.tl-plan-card:hover {
  box-shadow: 0 6px 32px #00000014;
}

.tl-plan-card-featured {
  border-color: var(--tl-accent, #6b5e52);
  box-shadow: 0 0 0 2px var(--tl-accent, #6b5e52);
}

.tl-plan-badge {
  font-family: var(--font-dm-sans, sans-serif);
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #fff;
  background: var(--tl-accent, #6b5e52);
  border-radius: 100px;
  margin-bottom: .6rem;
  padding: .15rem .55rem;
  font-size: .65rem;
  display: inline-block;
}

.tl-plan-lbl {
  font-family: var(--font-dm-sans, sans-serif);
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--muted);
  margin-bottom: .3rem;
  font-size: .65rem;
}

.tl-plan-title {
  color: var(--ink);
  margin-bottom: .7rem;
  font-family: Lora, Georgia, serif;
  font-size: 1.15rem;
  font-style: italic;
  font-weight: 400;
}

.tl-plan-desc {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  margin-bottom: 1.2rem;
  font-size: .83rem;
  line-height: 1.6;
}

.tl-plan-features {
  border-top: 1px solid var(--border-soft);
  margin-bottom: 1.25rem;
  padding-top: .8rem;
  list-style: none;
}

.tl-plan-features li {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  padding: .25rem 0 .25rem 1rem;
  font-size: .8rem;
  position: relative;
}

.tl-plan-features li:before {
  content: "·";
  color: var(--tl-accent, #6b5e52);
  position: absolute;
  left: 0;
}

.tl-plan-cta {
  text-align: center;
  font-family: var(--font-dm-sans, sans-serif);
  border: 1px solid var(--border);
  color: var(--ink);
  border-radius: 100px;
  padding: .7rem;
  font-size: .85rem;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .15s;
  display: block;
}

.tl-plan-cta:hover {
  opacity: .85;
}

.tl-plan-cta-primary {
  background: var(--ink);
  color: #f9f7f4;
  border-color: var(--ink);
}

.tl-dark-hero {
  background: var(--ink);
  text-align: center;
  margin-bottom: 0;
  padding: 9rem 1.5rem 5rem;
}

.tl-dark-hero .tl-eyebrow {
  color: #5a5048;
}

.tl-dark-hero .tl-h1 {
  color: #f0ebe4;
}

.tl-dark-hero .tl-sub {
  color: #7a6e64;
}

.tl-journals-section {
  padding: 4rem 0;
}

.tl-journals-grid {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.25rem;
  margin-top: 2rem;
  display: grid;
}

.tl-journal-card {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 20px;
  padding: 2rem;
  text-decoration: none;
  transition: box-shadow .25s, transform .25s;
  display: block;
  position: relative;
  overflow: hidden;
}

.tl-journal-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 32px #00000014;
}

.tl-journal-card:before {
  content: "";
  background: var(--jcard-accent, var(--accent));
  opacity: .7;
  height: 3px;
  transition: opacity .25s;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.tl-journal-card:hover:before {
  opacity: 1;
}

.tl-jcard-icon {
  color: var(--jcard-accent, var(--accent));
  margin-bottom: 1rem;
  font-size: 1.5rem;
  display: block;
}

.tl-journal-card h3 {
  color: var(--ink);
  margin-bottom: .5rem;
  font-family: Lora, Georgia, serif;
  font-size: 1.05rem;
  font-style: italic;
  font-weight: 400;
}

.tl-journal-card p {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  margin-bottom: 1.2rem;
  font-size: .83rem;
  line-height: 1.6;
}

.tl-jcard-cta {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--jcard-accent, var(--accent));
  font-size: .75rem;
  font-weight: 500;
}

.tl-blog-body {
  padding: 3rem 0 5rem;
}

.tl-blog-cats {
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 2.5rem;
  display: flex;
}

.tl-cat-btn {
  font-family: var(--font-dm-sans, sans-serif);
  border: 1px solid var(--border);
  color: var(--text2);
  background: none;
  border-radius: 100px;
  padding: .3rem .85rem;
  font-size: .75rem;
  text-decoration: none;
  transition: all .2s;
}

.tl-cat-btn:hover, .tl-cat-btn.active {
  background: var(--ink);
  color: var(--sand);
  border-color: var(--ink);
}

.tl-article-featured {
  min-height: 360px;
  color: inherit;
  border-radius: 20px;
  flex-direction: column;
  justify-content: flex-end;
  margin-bottom: 2rem;
  text-decoration: none;
  display: flex;
  position: relative;
  overflow: hidden;
}

.tl-article-featured-bg {
  background: var(--ink);
  z-index: 0;
  position: absolute;
  inset: 0;
}

.tl-article-featured-overlay {
  z-index: 1;
  background: linear-gradient(to top, #14100ded 0%, #14100d80 55%, #14100d1f 100%);
  position: absolute;
  inset: 0;
}

.tl-article-featured-body {
  z-index: 2;
  padding: 2.5rem;
  position: relative;
}

.tl-article-featured-badge {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #ffffffbf;
  background: #ffffff1f;
  border: 1px solid #fff3;
  border-radius: 20px;
  margin-bottom: .9rem;
  padding: .22rem .7rem;
  font-size: .65rem;
  font-weight: 600;
  display: inline-block;
}

.tl-article-featured-title {
  color: #fff;
  max-width: 680px;
  margin-bottom: .85rem;
  font-family: Lora, Georgia, serif;
  font-size: clamp(1.5rem, 3.5vw, 2.1rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.22;
}

.tl-article-featured-title a {
  color: inherit;
  text-decoration: none;
}

.tl-article-featured-title a:hover {
  text-underline-offset: 3px;
  text-decoration: underline;
}

.tl-article-featured-excerpt {
  font-family: var(--font-dm-sans, sans-serif);
  color: #ffffffad;
  max-width: 580px;
  margin-bottom: 1.25rem;
  font-size: .9rem;
  line-height: 1.65;
}

.tl-article-featured-meta {
  font-family: var(--font-dm-sans, sans-serif);
  color: #ffffff73;
  margin-bottom: 1.25rem;
  font-size: .72rem;
}

.tl-article-featured-cta {
  font-family: var(--font-dm-sans, sans-serif);
  color: #fff;
  border: 1px solid #ffffff59;
  border-radius: 7px;
  padding: .55rem 1.3rem;
  font-size: .82rem;
  font-weight: 500;
  text-decoration: none;
  transition: background .2s, border-color .2s;
  display: inline-block;
}

.tl-article-featured-cta:hover {
  background: #ffffff1f;
  border-color: #ffffffa6;
}

.tl-blog-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  display: grid;
}

.tl-article-card {
  border: 1px solid var(--border);
  color: inherit;
  background: #fff;
  border-radius: 16px;
  flex-direction: column;
  min-height: 220px;
  text-decoration: none;
  transition: box-shadow .25s, transform .2s;
  display: flex;
  overflow: hidden;
}

.tl-article-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 32px #00000017;
}

.tl-article-body {
  flex-direction: column;
  flex: 1;
  padding: 1.5rem;
  display: flex;
}

.tl-article-cat {
  font-family: var(--font-dm-sans, sans-serif);
  text-transform: uppercase;
  letter-spacing: .13em;
  color: var(--muted);
  margin-bottom: .5rem;
  font-size: .63rem;
  font-weight: 600;
}

.tl-article-title {
  color: var(--ink);
  flex-shrink: 0;
  margin-bottom: .65rem;
  font-family: Lora, Georgia, serif;
  font-size: 1.05rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.35;
}

.tl-article-excerpt {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  flex: 1;
  margin-bottom: .85rem;
  font-size: .83rem;
  line-height: 1.65;
}

.tl-article-meta {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  border-top: 1px solid var(--border-soft);
  margin-top: auto;
  padding-top: .75rem;
  font-size: .71rem;
}

.tl-blog-soon {
  text-align: center;
  border-top: 1px solid var(--border-soft);
  margin-top: 3rem;
  padding: 4rem 1.5rem;
}

.tl-blog-soon h2 {
  color: var(--ink);
  margin-bottom: .75rem;
  font-family: Lora, Georgia, serif;
  font-size: 1.4rem;
  font-style: italic;
  font-weight: 400;
}

.tl-blog-soon p {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  max-width: 440px;
  margin: 0 auto;
  font-size: .88rem;
  line-height: 1.65;
}

@media (max-width: 900px) {
  .tl-blog-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.cookie-btn-primary {
  background: var(--ink);
  color: #fff;
  height: 36px;
  font-family: var(--font-dm-sans), sans-serif;
  letter-spacing: .01em;
  cursor: pointer;
  white-space: nowrap;
  border: none;
  border-radius: 6px;
  align-items: center;
  padding: 0 1.125rem;
  font-size: .825rem;
  font-weight: 500;
  transition: background .15s;
  display: inline-flex;
}

.cookie-btn-primary:hover {
  background: var(--accent);
}

.cookie-btn-ghost {
  border: 1px solid var(--border);
  height: 36px;
  color: var(--text2);
  font-family: var(--font-dm-sans), sans-serif;
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border-radius: 6px;
  align-items: center;
  padding: 0 1rem;
  font-size: .825rem;
  font-weight: 400;
  transition: border-color .15s, color .15s;
  display: inline-flex;
}

.cookie-btn-ghost:hover {
  border-color: var(--accent2);
  color: var(--ink);
}

@media (max-width: 640px) {
  .tl-blog-grid {
    grid-template-columns: 1fr;
  }

  .tl-article-featured {
    min-height: 300px;
  }

  .tl-article-featured-body {
    padding: 1.5rem;
  }

  .tl-dark-hero {
    padding: 7rem 1.25rem 3.5rem;
  }
}

.sea-root {
  background: #f9f7f4;
  min-height: 100vh;
}

.sea-accent-bar {
  background: var(--sea-accent, #7c4d6e);
  height: 5px;
}

.sea-container {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 1.5rem 5rem;
}

.sea-hero {
  padding: 3.5rem 0 .5rem;
}

.sea-eyebrow {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sea-accent, #7c4d6e);
  margin-bottom: .75rem;
  font-size: .72rem;
  font-weight: 500;
  display: block;
}

.sea-h1 {
  color: #1c1916;
  margin-bottom: 1rem;
  font-family: Lora, Georgia, serif;
  font-size: clamp(1.85rem, 4.5vw, 2.55rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.22;
}

.sea-lang-switch {
  color: #8a7a6e;
  border: 1px solid #d6cec7;
  border-radius: 20px;
  margin-bottom: 2rem;
  padding: .25rem .8rem;
  font-size: .8rem;
  text-decoration: none;
  transition: border-color .15s, color .15s;
  display: inline-block;
}

.sea-lang-switch:hover {
  color: #1c1916;
  border-color: #9e8e84;
}

.sea-intro {
  margin-bottom: .5rem;
}

.sea-lead {
  color: #2e251e;
  margin-bottom: 1.1rem;
  font-size: 1.08rem;
  font-style: italic;
  line-height: 1.75;
}

.sea-body {
  color: #4a3f38;
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.8;
}

.sea-mid-cta {
  background: var(--sea-accent-light, #f5eef2);
  border-left: 4px solid var(--sea-accent, #7c4d6e);
  border-radius: 0 10px 10px 0;
  margin: 2.75rem 0;
  padding: 1.75rem 2rem;
}

.sea-mid-cta-heading {
  color: #1c1916;
  margin-bottom: .5rem;
  font-family: Lora, Georgia, serif;
  font-size: 1.2rem;
  font-style: italic;
}

.sea-mid-cta-sub {
  color: #5a4d44;
  margin-bottom: 1.25rem;
  font-size: .95rem;
  line-height: 1.65;
}

.sea-mid-cta-btn {
  background: var(--sea-accent, #7c4d6e);
  color: #fff;
  border-radius: 6px;
  padding: .65rem 1.4rem;
  font-size: .9rem;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .15s;
  display: inline-block;
}

.sea-mid-cta-btn:hover {
  opacity: .83;
}

.sea-section {
  margin-bottom: 2.75rem;
}

.sea-h2 {
  color: #1c1916;
  border-bottom: 1.5px solid var(--sea-accent-light, #f0eaf0);
  margin-top: .5rem;
  margin-bottom: 1rem;
  padding-bottom: .6rem;
  font-family: Lora, Georgia, serif;
  font-size: clamp(1.2rem, 3vw, 1.5rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.3;
}

.sea-bullets {
  margin: .75rem 0 1rem;
  padding: 0;
  list-style: none;
}

.sea-bullets li {
  color: #4a3f38;
  border-bottom: 1px solid #ede7e0;
  padding: .3rem 0 .3rem 1.6rem;
  font-size: .97rem;
  line-height: 1.7;
  position: relative;
}

.sea-bullets li:last-child {
  border-bottom: none;
}

.sea-bullets li:before {
  content: "";
  background: var(--sea-accent, #7c4d6e);
  opacity: .7;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  position: absolute;
  top: .75rem;
  left: .2rem;
}

.sea-faq {
  margin-bottom: 3rem;
}

.sea-faq-title {
  color: #1c1916;
  margin-bottom: 1.25rem;
  font-family: Lora, Georgia, serif;
  font-size: 1.4rem;
  font-style: italic;
  font-weight: 400;
}

.sea-faq-list {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.sea-faq-item {
  background: #fff;
  border: 1px solid #e3dbd2;
  border-radius: 8px;
  overflow: hidden;
}

.sea-faq-q {
  color: #2a211c;
  cursor: pointer;
  justify-content: space-between;
  align-items: flex-start;
  gap: .75rem;
  padding: 1rem 1.25rem;
  font-size: .96rem;
  font-weight: 500;
  list-style: none;
  display: flex;
}

.sea-faq-q::-webkit-details-marker {
  display: none;
}

.sea-faq-q:after {
  content: "+";
  color: var(--sea-accent, #7c4d6e);
  flex-shrink: 0;
  margin-top: .05rem;
  font-size: 1.1rem;
}

.sea-faq-item[open] .sea-faq-q:after {
  content: "−";
}

.sea-faq-a {
  color: #5a4d44;
  margin: 0;
  padding: 0 1.25rem 1rem;
  font-size: .93rem;
  line-height: 1.75;
}

.sea-related {
  margin-bottom: 3rem;
}

.sea-related-title {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #8a7a6e;
  margin-bottom: .75rem;
  font-size: .7rem;
  font-weight: 500;
}

.sea-related-list {
  flex-direction: column;
  display: flex;
}

.sea-related-link {
  color: var(--sea-accent, #7c4d6e);
  border-bottom: 1px solid #ede7e1;
  align-items: center;
  gap: .6rem;
  padding: .65rem 0;
  font-size: .95rem;
  text-decoration: none;
  transition: color .15s;
  display: flex;
}

.sea-related-link:last-child {
  border-bottom: none;
}

.sea-related-link:hover {
  color: #1c1916;
}

.sea-related-link:before {
  content: "→";
  font-size: .85rem;
}

.sea-final-cta {
  text-align: center;
  background: #1c1916;
  border-radius: 14px;
  margin-top: .5rem;
  padding: 3rem 2rem;
}

.sea-final-title {
  color: #f0ebe4;
  margin-bottom: .75rem;
  font-family: Lora, Georgia, serif;
  font-size: clamp(1.4rem, 4vw, 1.9rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.25;
}

.sea-final-sub {
  color: #ede7df94;
  margin-bottom: 1.75rem;
  font-size: .95rem;
  line-height: 1.6;
}

.sea-final-btn {
  background: var(--sea-accent, #7c4d6e);
  color: #fff;
  border-radius: 8px;
  padding: .85rem 2.25rem;
  font-size: .97rem;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .15s;
  display: inline-block;
}

.sea-final-btn:hover {
  opacity: .83;
}

@media (max-width: 640px) {
  .sea-container {
    padding: 0 1.1rem 4rem;
  }

  .sea-hero {
    padding: 2.25rem 0 .25rem;
  }

  .sea-mid-cta {
    margin: 2rem 0;
    padding: 1.25rem 1.1rem;
  }

  .sea-final-cta {
    border-radius: 10px;
    padding: 2.25rem 1.25rem;
  }
}

.bp-hero {
  background: var(--sand);
  border-top: 5px solid var(--bp-accent, #3d5a6e);
  border-bottom: 1px solid var(--border-soft);
  padding: 1.75rem 1.5rem 2.25rem;
}

.bp-hero-inner {
  max-width: 700px;
  margin: 0 auto;
}

.bp-container {
  max-width: 700px;
  margin: 0 auto;
  padding: 2.5rem 1.5rem 5rem;
}

.bp-breadcrumb {
  color: #8a7a6e;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem;
  padding: 0;
  font-size: .78rem;
  display: flex;
}

.bp-breadcrumb a {
  color: #8a7a6e;
  text-decoration: none;
  transition: color .12s;
}

.bp-breadcrumb a:hover {
  color: #1c1916;
}

.bp-breadcrumb-sep {
  color: #c4b8b0;
  -webkit-user-select: none;
  user-select: none;
}

.bp-breadcrumb-current {
  color: #4a3f38;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 22ch;
  font-weight: 500;
  overflow: hidden;
}

.bp-header {
  padding: 1.25rem 0 1rem;
}

.bp-cat-badge {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--bp-accent, #3d5a6e);
  background: var(--bp-accent-light, #edf2f5);
  border-radius: 20px;
  margin-bottom: 1rem;
  padding: .2rem .7rem;
  font-size: .7rem;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
}

.bp-h1 {
  color: #1c1916;
  margin-bottom: 1.25rem;
  font-family: Lora, Georgia, serif;
  font-size: clamp(1.7rem, 4vw, 2.3rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.22;
}

.bp-byline {
  color: #7a6e64;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  margin-bottom: 1rem;
  font-size: .82rem;
  display: flex;
}

.bp-byline-sep {
  color: #c4b8b0;
}

.bp-byline-author {
  color: #4a3f38;
  font-weight: 500;
}

.bp-tags {
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: .5rem;
  display: flex;
}

.bp-tag {
  color: #6b5e52;
  background: #f0ebe4;
  border-radius: 4px;
  padding: .18rem .6rem;
  font-size: .72rem;
  font-weight: 500;
  text-decoration: none;
  transition: background .12s;
}

.bp-tag:hover {
  background: #e5ddd5;
}

.bp-divider {
  border: none;
  border-top: 1px solid #e3dbd2;
  margin: 1.5rem 0 2rem;
}

.bp-lang-switch {
  color: #8a7a6e;
  border: 1px solid #d6cec7;
  border-radius: 20px;
  margin-top: 1.25rem;
  padding: .22rem .7rem;
  font-size: .78rem;
  text-decoration: none;
  transition: border-color .12s, color .12s;
  display: inline-block;
}

.bp-lang-switch:hover {
  color: #1c1916;
  border-color: #9e8e84;
}

.bp-intro {
  margin-bottom: 2rem;
}

.bp-lead {
  color: #2e251e;
  margin-bottom: 1.1rem;
  font-family: Lora, Georgia, serif;
  font-size: 1.13rem;
  font-style: italic;
  line-height: 1.78;
}

.bp-body {
  color: #3d3028;
  margin-bottom: 1.1rem;
  font-size: 1.01rem;
  line-height: 1.85;
}

.bp-section {
  margin-bottom: 2.5rem;
}

.bp-h2 {
  color: #1c1916;
  margin-bottom: .9rem;
  font-family: Lora, Georgia, serif;
  font-size: clamp(1.15rem, 2.8vw, 1.42rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.3;
}

.bp-bullets {
  border-left: 3px solid var(--bp-accent-light, #edf2f5);
  margin: .6rem 0 1rem;
  padding: 0 0 0 1.1rem;
  list-style: none;
}

.bp-bullets li {
  color: #3d3028;
  padding: .28rem 0;
  font-size: .98rem;
  line-height: 1.7;
  position: relative;
}

.bp-bullets li:before {
  content: "—";
  color: var(--bp-accent, #3d5a6e);
  margin-right: .5rem;
  font-size: .85rem;
}

.bp-pull-quote {
  color: var(--bp-accent, #3d5a6e);
  border-left: 3px solid var(--bp-accent, #3d5a6e);
  margin: 1.75rem 0;
  padding: .75rem 0 .75rem 1.25rem;
  font-family: Lora, Georgia, serif;
  font-size: 1.15rem;
  font-style: italic;
  line-height: 1.6;
}

.bp-cta {
  background: var(--bp-accent-light, #edf2f5);
  border-radius: 10px;
  flex-direction: column;
  gap: .75rem;
  margin: 2.5rem 0;
  padding: 1.6rem 1.75rem;
  display: flex;
}

.bp-cta-label {
  letter-spacing: .11em;
  text-transform: uppercase;
  color: var(--bp-accent, #3d5a6e);
  font-size: .68rem;
  font-weight: 600;
}

.bp-cta-heading {
  color: #1c1916;
  font-family: Lora, Georgia, serif;
  font-size: 1.1rem;
  font-style: italic;
  line-height: 1.3;
}

.bp-cta-sub {
  color: #5a4d44;
  font-size: .9rem;
  line-height: 1.6;
}

.bp-cta-btn {
  background: var(--bp-accent, #3d5a6e);
  color: #fff;
  border-radius: 6px;
  align-self: flex-start;
  padding: .6rem 1.25rem;
  font-size: .88rem;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .15s;
  display: inline-block;
}

.bp-cta-btn:hover {
  opacity: .83;
}

.bp-related {
  margin-top: 3rem;
  margin-bottom: 1.5rem;
}

.bp-related-label {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #8a7a6e;
  margin-bottom: 1rem;
  font-size: .7rem;
  font-weight: 600;
}

.bp-related-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: .75rem;
  display: grid;
}

.bp-related-card {
  background: #fff;
  border: 1px solid #e3dbd2;
  border-radius: 8px;
  flex-direction: column;
  gap: .3rem;
  padding: 1rem 1.1rem;
  text-decoration: none;
  transition: border-color .15s, box-shadow .15s;
  display: flex;
}

.bp-related-card:hover {
  border-color: var(--bp-accent, #3d5a6e);
  box-shadow: 0 2px 8px #0000000f;
}

.bp-related-cat {
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--bp-accent, #3d5a6e);
  font-size: .68rem;
  font-weight: 600;
}

.bp-related-title {
  color: #2a211c;
  font-size: .9rem;
  font-weight: 500;
  line-height: 1.35;
}

.bp-related-meta {
  color: #8a7a6e;
  margin-top: .1rem;
  font-size: .75rem;
}

.bp-final-cta {
  text-align: center;
  background: #1c1916;
  border-radius: 12px;
  margin-top: 2rem;
  padding: 2.75rem 1.75rem;
}

.bp-final-title {
  color: #f0ebe4;
  margin-bottom: .65rem;
  font-family: Lora, Georgia, serif;
  font-size: clamp(1.3rem, 3.5vw, 1.75rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.25;
}

.bp-final-sub {
  color: #ede7df8c;
  margin-bottom: 1.5rem;
  font-size: .9rem;
  line-height: 1.6;
}

.bp-final-btn {
  background: var(--bp-accent, #3d5a6e);
  color: #fff;
  border-radius: 7px;
  padding: .8rem 2rem;
  font-size: .94rem;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .15s;
  display: inline-block;
}

.bp-final-btn:hover {
  opacity: .83;
}

@media (max-width: 640px) {
  .bp-hero {
    padding: 1.25rem 1.1rem 1.75rem;
  }

  .bp-container {
    padding: 2rem 1.1rem 4rem;
  }

  .bp-header {
    padding: 1rem 0 .75rem;
  }

  .bp-related-grid {
    grid-template-columns: 1fr;
  }

  .bp-cta {
    padding: 1.25rem;
  }

  .bp-final-cta {
    border-radius: 9px;
    padding: 2rem 1.25rem;
  }

  .bp-pull-quote {
    font-size: 1.05rem;
  }
}

.il-block {
  margin: 2.5rem 0 1.5rem;
}

.il-heading {
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #a89a88;
  margin-bottom: .85rem;
  font-size: .68rem;
  font-weight: 500;
}

.il-grid {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: .65rem;
  display: grid;
}

.il-card {
  background: #faf8f5;
  border: 1px solid #ece5da;
  border-radius: 10px;
  flex-direction: column;
  gap: .3rem;
  padding: .95rem 1.05rem;
  text-decoration: none;
  transition: border-color .15s, background .15s;
  display: flex;
}

.il-card:hover {
  background: #f5f0e8;
  border-color: #c8b8a2;
}

.il-type-badge {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #a89a88;
  font-size: .6rem;
  font-weight: 600;
}

.il-card-label {
  color: #1c1916;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.35;
}

.il-card-desc {
  color: #6b5e52;
  font-size: .78rem;
  line-height: 1.5;
}

.il-block-compact .il-grid {
  grid-template-columns: 1fr;
}

@media (max-width: 640px) {
  .il-grid {
    grid-template-columns: 1fr;
  }
}

.free-landing__container {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 1.75rem;
}

.free-landing__container--narrow {
  max-width: 520px;
}

.free-landing {
  background: var(--sand);
  color: var(--text);
}

.free-landing__hero {
  background: var(--sand);
  text-align: center;
  border-bottom: 1px solid var(--border-soft);
  padding: 5rem 1.75rem 4.5rem;
  position: relative;
  overflow: hidden;
}

.free-landing__hero:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(80% 60% at 50% 0, #f0e6d88c 0%, #0000 70%);
  position: absolute;
  inset: 0;
}

.free-landing__hero-inner {
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  max-width: 640px;
  margin: 0 auto;
  display: flex;
  position: relative;
}

.free-landing__badge {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--accent);
  background: var(--accent3);
  border: 1px solid var(--border-soft);
  border-radius: 20px;
  padding: .28rem .95rem;
  font-size: .6rem;
  font-weight: 700;
  display: inline-block;
}

.free-landing__headline {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  letter-spacing: -.025em;
  max-width: 580px;
  margin: 0;
  font-size: clamp(1.9rem, 5vw, 2.9rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.18;
}

.free-landing__subheadline {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  max-width: 480px;
  margin: 0;
  font-size: 1rem;
  line-height: 1.7;
}

.free-landing__cta-btn {
  background: var(--ink);
  color: #faf8f5;
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .05em;
  border-radius: 12px;
  padding: .95rem 2.5rem;
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
  transition: opacity .18s, box-shadow .18s;
  display: inline-block;
  box-shadow: 0 2px 16px #1c191624;
}

.free-landing__cta-btn:hover {
  opacity: .88;
  box-shadow: 0 4px 24px #1c191633;
}

.free-landing__what {
  border-bottom: 1px solid var(--border-soft);
  background: #fff;
  padding: 4.5rem 1.75rem;
}

.free-landing__days {
  background: var(--sand);
  border-bottom: 1px solid var(--border-soft);
  padding: 4.5rem 1.75rem;
}

.free-landing__profiles {
  background: var(--sand2);
  border-bottom: 1px solid var(--border-soft);
  padding: 4.5rem 1.75rem;
}

.free-landing__form-section {
  background: var(--sand);
  border-bottom: 1px solid var(--border-soft);
  padding: 5rem 1.75rem;
}

.free-landing__faq {
  background: #fff;
  padding: 4.5rem 1.75rem 6rem;
}

.free-landing__ornament {
  max-width: 280px;
  color: var(--border);
  letter-spacing: .25em;
  -webkit-user-select: none;
  user-select: none;
  align-items: center;
  gap: 1.15rem;
  margin: 3.5rem auto;
  font-size: .7rem;
  display: flex;
}

.free-landing__ornament:before, .free-landing__ornament:after {
  content: "";
  background: var(--border-soft);
  flex: 1;
  height: 1px;
}

.free-landing__section-title {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  letter-spacing: -.015em;
  text-align: center;
  margin: 0 0 1.75rem;
  font-size: clamp(1.3rem, 3vw, 1.75rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.3;
}

.free-landing__body-text {
  font-family: var(--font-lora, serif);
  color: var(--text);
  text-align: center;
  max-width: 560px;
  margin: 0 auto;
  font-size: 1.04rem;
  line-height: 1.95;
}

.free-landing__days-list {
  flex-direction: column;
  gap: 0;
  max-width: 540px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: flex;
}

.free-landing__day-item {
  border-bottom: 1px solid var(--border-soft);
  grid-template-columns: 2rem 1fr auto;
  align-items: baseline;
  gap: .85rem;
  padding: 1.05rem 0;
  display: grid;
}

.free-landing__day-item:first-child {
  padding-top: 0;
}

.free-landing__day-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.free-landing__day-number {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .1em;
  color: var(--muted);
  text-align: right;
  font-size: .65rem;
  font-weight: 700;
}

.free-landing__day-label {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.4;
}

.free-landing__day-theme {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--accent);
  background: linear-gradient(135deg, var(--accent3), #ece5da);
  white-space: nowrap;
  border: 1px solid #c8bdb08c;
  border-radius: 20px;
  padding: .22rem .7rem;
  font-size: .63rem;
  font-weight: 600;
}

.free-landing__profiles-list {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
  max-width: 680px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: grid;
}

.free-landing__profile-card {
  background: var(--sand);
  border: 1px solid var(--border-soft);
  border-radius: 14px;
  flex-direction: column;
  gap: .4rem;
  padding: 1.25rem 1.4rem;
  transition: box-shadow .18s, border-color .18s;
  display: flex;
}

.free-landing__profile-card:hover {
  border-color: var(--border);
  box-shadow: 0 4px 18px #0000000f;
}

.free-landing__profile-name {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  font-size: .96rem;
  font-weight: 500;
  line-height: 1.3;
}

.free-landing__profile-tagline {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  font-size: .78rem;
  line-height: 1.45;
}

.free-landing__form {
  flex-direction: column;
  gap: .75rem;
  margin-top: .5rem;
  display: flex;
}

.free-landing__label {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .06em;
  color: var(--text2);
  margin-bottom: -.25rem;
  font-size: .72rem;
  font-weight: 600;
  display: block;
}

.free-landing__input {
  width: 100%;
  font-family: var(--font-lora, serif);
  color: var(--text);
  border: 1.5px solid var(--border);
  background: #fffefb;
  border-radius: 12px;
  outline: none;
  padding: .85rem 1.1rem;
  font-size: 1rem;
  line-height: 1.5;
  transition: border-color .2s, box-shadow .2s;
  box-shadow: inset 0 1px 4px #00000009;
}

.free-landing__input:focus {
  border-color: var(--accent);
  box-shadow: inset 0 1px 4px #0000000a, 0 0 0 3px #6b5e5217;
}

.free-landing__input::placeholder {
  color: #c8bdb0;
  font-style: italic;
}

.free-landing__consent {
  cursor: pointer;
  align-items: flex-start;
  gap: .65rem;
  display: flex;
}

.free-landing__consent input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--accent);
  flex-shrink: 0;
  margin-top: .15rem;
}

.free-landing__consent span {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.5;
}

.free-landing__submit-btn {
  background: var(--ink);
  color: #faf8f5;
  width: 100%;
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .05em;
  cursor: pointer;
  border: none;
  border-radius: 12px;
  min-height: 52px;
  margin-top: .5rem;
  padding: 1rem 2.5rem;
  font-size: .88rem;
  font-weight: 600;
  transition: opacity .18s, box-shadow .18s;
  box-shadow: 0 2px 16px #1c191624;
}

.free-landing__submit-btn:disabled {
  background: var(--border-soft);
  color: var(--muted);
  box-shadow: none;
  cursor: not-allowed;
}

.free-landing__submit-btn:not(:disabled):hover {
  opacity: .88;
  box-shadow: 0 4px 24px #1c191633;
}

.free-landing__success-msg {
  font-family: var(--font-lora, serif);
  color: var(--green);
  text-align: center;
  background: #eaf4ee;
  border: 1px solid #b8dfca;
  border-radius: 14px;
  margin: 0;
  padding: 2rem 1rem;
  font-size: 1.04rem;
  font-style: italic;
  line-height: 1.7;
}

.free-landing__error-msg {
  font-family: var(--font-dm-sans, sans-serif);
  color: #c0392b;
  background: #fdf0ee;
  border-left: 2px solid #e07065;
  border-radius: 8px;
  margin: 0;
  padding: .65rem .95rem;
  font-size: .8rem;
}

.free-landing__faq-list {
  flex-direction: column;
  gap: 0;
  max-width: 540px;
  margin: 0 auto;
  display: flex;
}

.free-landing__faq-item {
  border-bottom: 1px solid var(--border-soft);
  padding: 1.4rem 0;
}

.free-landing__faq-item:last-child {
  border-bottom: none;
}

.free-landing__faq-q {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  margin: 0 0 .7rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
}

.free-landing__faq-a {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  margin: 0;
  font-size: .88rem;
  line-height: 1.65;
}

@media (max-width: 600px) {
  .free-landing__hero {
    padding: 3.5rem 1.1rem 3rem;
  }

  .free-landing__headline {
    font-size: 1.75rem;
  }

  .free-landing__subheadline {
    font-size: .93rem;
  }

  .free-landing__what, .free-landing__days, .free-landing__profiles, .free-landing__form-section, .free-landing__faq {
    padding: 3rem 1.1rem;
  }

  .free-landing__container, .free-landing__container--narrow {
    padding: 0;
  }

  .free-landing__profiles-list {
    grid-template-columns: 1fr;
  }

  .free-landing__day-item {
    grid-template-rows: auto auto;
    grid-template-columns: 1.5rem 1fr;
  }

  .free-landing__day-theme {
    grid-column: 2;
    margin-top: .2rem;
  }
}

.free-journal__loading, .free-journal__expired, .free-journal__not-found, .free-journal__complete {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
  min-height: 60vh;
  padding: 3rem 1.75rem;
  display: flex;
}

.free-journal__loading {
  font-family: var(--font-lora, serif);
  color: var(--muted);
  font-size: .96rem;
  font-style: italic;
}

.free-journal__expired, .free-journal__not-found {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--text2);
  font-size: .92rem;
}

.free-journal__expired p, .free-journal__not-found p {
  font-family: var(--font-lora, serif);
  color: var(--text2);
  margin: 0;
  font-size: 1rem;
  font-style: italic;
}

.free-journal__expired a, .free-journal__not-found a {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--accent);
  text-underline-offset: 3px;
  font-size: .82rem;
  text-decoration: underline;
}

.free-journal__complete {
  background: #eaf4ee;
  border: 1px solid #b8dfca;
  border-radius: 16px;
  max-width: 560px;
  margin: 3rem auto;
}

.free-journal__complete p {
  font-family: var(--font-lora, serif);
  color: var(--green);
  margin: 0;
  font-size: 1.04rem;
  font-style: italic;
  line-height: 1.7;
}

.free-journal {
  max-width: 680px;
  margin: 0 auto;
  padding: 3rem 2rem 7rem;
}

.free-journal__header {
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 3rem;
  display: flex;
}

.free-journal__day-badge {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--muted);
  font-size: .6rem;
  font-weight: 700;
  display: inline-block;
}

.free-journal__greeting {
  font-family: var(--font-lora, serif);
  color: var(--text2);
  font-size: .88rem;
  font-style: italic;
}

.free-journal__content {
  flex-direction: column;
  gap: 2.25rem;
  display: flex;
}

.free-journal__title {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  letter-spacing: -.02em;
  text-align: center;
  max-width: 520px;
  margin: 0 auto;
  font-size: clamp(1.6rem, 3.5vw, 2.2rem);
  font-weight: 400;
  line-height: 1.2;
}

.free-journal__subtitle {
  font-family: var(--font-lora, serif);
  color: var(--muted);
  text-align: center;
  margin: -1.5rem 0 0;
  font-size: .88rem;
  font-style: italic;
  line-height: 1.5;
}

.free-journal__reflection {
  font-family: var(--font-lora, serif);
  color: var(--text);
  background: linear-gradient(to right, #fdf6f0, #0000);
  border-left: 2px solid #c8bdb0;
  border-radius: 0 8px 8px 0;
  margin: 0;
  padding: 1.15rem 1.5rem;
  font-size: 1.04rem;
  font-style: italic;
  line-height: 2;
}

.free-journal__prompt-box {
  border-left: 2px solid var(--accent2);
  background: #fff;
  border-radius: 0 16px 16px 0;
  padding: 1.75rem 2rem;
  position: relative;
  box-shadow: 0 2px 20px #0001;
}

.free-journal__prompt-box:before {
  content: "TODAY'S QUESTION";
  background: var(--accent2);
  color: #fff;
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .2em;
  text-transform: uppercase;
  border-radius: 4px;
  padding: .15rem .58rem;
  font-size: .49rem;
  font-weight: 700;
  position: absolute;
  top: -.62rem;
  left: 1.75rem;
}

.free-journal__main-question {
  font-family: var(--font-lora, serif);
  color: var(--text);
  margin: 0;
  font-size: 1.04rem;
  line-height: 1.85;
}

.free-journal__textarea {
  width: 100%;
  min-height: 300px;
  font-family: var(--font-lora, serif);
  color: var(--text);
  border: 1.5px solid var(--border);
  resize: vertical;
  box-sizing: border-box;
  background: #fffefb;
  border-radius: 16px;
  outline: none;
  padding: 2rem 2rem 3.5rem;
  font-size: 1.04rem;
  line-height: 1.95;
  transition: border-color .2s, box-shadow .2s;
  display: block;
  box-shadow: inset 0 1px 6px #0000000a;
}

.free-journal__textarea:focus {
  border-color: var(--accent);
  box-shadow: inset 0 1px 6px #0000000a, 0 0 0 3px #6b5e5217;
}

.free-journal__textarea::placeholder {
  color: #c8bdb0;
  font-style: italic;
}

.free-journal__save-error {
  font-family: var(--font-dm-sans, sans-serif);
  color: #c0392b;
  background: #fdf0ee;
  border-left: 2px solid #e07065;
  border-radius: 8px;
  margin: 0;
  padding: .65rem .95rem;
  font-size: .8rem;
}

.free-journal__save-btn {
  background: var(--ink);
  color: #faf8f5;
  width: 100%;
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .05em;
  cursor: pointer;
  border: none;
  border-radius: 12px;
  min-height: 52px;
  padding: 1rem 2.5rem;
  font-size: .88rem;
  font-weight: 600;
  transition: opacity .18s, box-shadow .18s;
  box-shadow: 0 2px 16px #1c191624;
}

.free-journal__save-btn:disabled {
  background: var(--border-soft);
  color: var(--muted);
  box-shadow: none;
  cursor: not-allowed;
}

.free-journal__save-btn:not(:disabled):hover {
  opacity: .88;
  box-shadow: 0 4px 24px #1c191633;
}

.free-journal__affirmation {
  font-family: var(--font-lora, serif);
  color: var(--accent);
  text-align: center;
  border: none;
  max-width: 460px;
  margin: 0 auto;
  padding: 1.5rem 1rem 0;
  font-size: 1.04rem;
  font-style: italic;
  line-height: 1.72;
}

.free-journal__no-content p {
  font-family: var(--font-lora, serif);
  color: var(--muted);
  text-align: center;
  padding: 3rem 0;
  font-size: .96rem;
  font-style: italic;
}

@media (max-width: 600px) {
  .free-journal {
    padding: 2rem 1.1rem 5rem;
  }

  .free-journal__title {
    font-size: 1.65rem;
  }

  .free-journal__prompt-box {
    padding: 1.4rem 1.25rem 1.25rem;
  }

  .free-journal__textarea {
    min-height: 220px;
    padding: 1.25rem .875rem 1rem;
  }

  .free-journal__complete {
    margin: 1.5rem 1rem;
  }
}

.free-reco {
  max-width: 580px;
  margin: 0 auto;
  padding: 3.5rem 2rem 7rem;
}

.free-reco__eyebrow {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--muted);
  text-align: center;
  margin-bottom: 1.25rem;
  font-size: .6rem;
  font-weight: 700;
  display: block;
}

.free-reco__profile-card {
  border-left: 2px solid var(--accent2);
  background: #fff;
  border-radius: 0 16px 16px 0;
  margin-bottom: 2.5rem;
  padding: 2rem 2.25rem 1.75rem;
  position: relative;
  box-shadow: 0 2px 24px #00000012;
}

.free-reco__profile-card:before {
  content: "YOUR PROFILE";
  background: var(--accent2);
  color: #fff;
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .2em;
  text-transform: uppercase;
  border-radius: 4px;
  padding: .15rem .58rem;
  font-size: .49rem;
  font-weight: 700;
  position: absolute;
  top: -.62rem;
  left: 1.75rem;
}

.free-reco__profile-name {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  margin: 0 0 .65rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.25;
}

.free-reco__profile-description {
  font-family: var(--font-lora, serif);
  color: var(--text);
  margin: 0;
  font-size: 1.02rem;
  font-style: italic;
  line-height: 1.85;
}

.free-reco__reasoning {
  font-family: var(--font-lora, serif);
  color: var(--text2);
  border-left: 2px solid var(--border);
  background: linear-gradient(to right, #fdf6f0, #0000);
  border-radius: 0 8px 8px 0;
  margin: 0 0 2.25rem;
  padding: 1rem 1.35rem;
  font-size: .97rem;
  line-height: 1.9;
}

.free-reco__journal-card {
  background: var(--sand2);
  border: 1px solid var(--border-soft);
  border-radius: 16px;
  margin-bottom: 1.5rem;
  padding: 1.75rem 2rem;
}

.free-reco__journal-label {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 .85rem;
  font-size: .57rem;
  font-weight: 700;
}

.free-reco__journal-name {
  font-family: var(--font-lora, serif);
  color: var(--ink);
  margin: 0 0 .5rem;
  font-size: 1.2rem;
  line-height: 1.3;
}

.free-reco__discount-badge {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--amber);
  background: #b870301a;
  border-radius: 20px;
  align-items: center;
  gap: .35rem;
  margin-bottom: .85rem;
  padding: .22rem .75rem;
  font-size: .65rem;
  font-weight: 700;
  display: inline-flex;
}

.free-reco__cta-btn {
  background: var(--ink);
  color: #faf8f5;
  width: 100%;
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .05em;
  text-align: center;
  cursor: pointer;
  border: none;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  min-height: 52px;
  padding: 1rem 2.5rem;
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
  transition: opacity .18s, box-shadow .18s;
  display: flex;
  box-shadow: 0 2px 16px #1c191624;
}

.free-reco__cta-btn:hover {
  opacity: .88;
  box-shadow: 0 4px 24px #1c191633;
}

.free-reco__secondary-link {
  text-align: center;
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  text-underline-offset: 3px;
  cursor: pointer;
  margin-top: 1.25rem;
  font-size: .82rem;
  text-decoration: underline;
  display: block;
}

.free-reco__secondary-link:hover {
  color: var(--text2);
}

@media (max-width: 600px) {
  .free-reco {
    padding: 2rem 1.1rem 5rem;
  }

  .free-reco__profile-card, .free-reco__journal-card {
    padding: 1.4rem 1.25rem;
  }
}

@keyframes free-shimmer {
  0% {
    background-position: -400px 0;
  }

  100% {
    background-position: 400px 0;
  }
}

.free-shimmer {
  background: linear-gradient(90deg, var(--sand2) 25%, var(--sand3) 50%, var(--sand2) 75%);
  background-size: 800px 100%;
  border-radius: 8px;
  animation: 1.5s linear infinite free-shimmer;
}

@keyframes free-fade-up {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.free-journal__content, .free-reco__profile-card {
  animation: .45s both free-fade-up;
}

.free-journal__no-code {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  min-height: 60vh;
  padding: 3rem 1.75rem;
  display: flex;
}

.free-journal__no-code p {
  font-family: var(--font-lora, serif);
  color: var(--text2);
  margin: 0;
  font-size: 1rem;
  font-style: italic;
}

.free-journal__no-code a {
  color: var(--accent);
  text-underline-offset: 3px;
}

.free-journal__letter {
  background: var(--ink);
  border: 1px solid var(--border);
  border-left: 3px solid var(--companion);
  font-family: var(--font-lora, serif);
  color: var(--text2);
  white-space: pre-line;
  margin-top: 2.5rem;
  padding: 2rem 1.75rem;
  font-size: .9375rem;
  line-height: 1.8;
}

.free-journal__progress {
  align-items: center;
  gap: .5rem;
  margin-bottom: .25rem;
  display: flex;
}

.free-journal__progress-dots {
  gap: .3rem;
  display: flex;
}

.free-journal__progress-dot {
  background: var(--border);
  border-radius: 50%;
  width: 6px;
  height: 6px;
  transition: background .3s;
}

.free-journal__progress-dot--done {
  background: var(--green);
}

.free-journal__progress-dot--current {
  background: var(--accent);
  width: 8px;
  height: 8px;
}

.free-assessment {
  max-width: 680px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 4rem 1.75rem 6rem;
}

.free-assessment__progress-track {
  background: var(--border-soft);
  width: 100%;
  height: 2px;
  margin-bottom: 3rem;
  position: relative;
}

.free-assessment__progress-fill {
  background: var(--accent);
  transform-origin: 0;
  transition: width .4s;
  position: absolute;
  inset: 0;
}

.free-assessment__step-label {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 1.5rem;
  font-size: .75rem;
}

.free-assessment__question {
  font-family: var(--font-lora, serif);
  color: var(--text);
  margin-bottom: .75rem;
  font-size: clamp(1.25rem, 3vw, 1.6rem);
  font-weight: 400;
  line-height: 1.45;
}

.free-assessment__subtitle {
  font-family: var(--font-lora, serif);
  color: var(--text2);
  margin-bottom: 2rem;
  font-size: .9375rem;
  font-style: italic;
}

.free-assessment__options {
  gap: .625rem;
  margin-bottom: 2.5rem;
  display: grid;
}

.free-assessment__option {
  border: 1px solid var(--border-soft);
  cursor: pointer;
  text-align: left;
  background: none;
  align-items: flex-start;
  gap: .875rem;
  width: 100%;
  padding: 1rem 1.25rem;
  transition: border-color .2s, background .2s;
  display: flex;
}

.free-assessment__option:hover {
  border-color: var(--border);
  background: #f8f5f108;
}

.free-assessment__option--selected {
  border-color: var(--accent);
  background: #6b5e5214;
}

.free-assessment__option-emoji {
  flex-shrink: 0;
  margin-top: .05em;
  font-size: 1.125rem;
  line-height: 1.4;
}

.free-assessment__option-label {
  font-family: var(--font-lora, serif);
  color: var(--text2);
  font-size: .9375rem;
  line-height: 1.5;
}

.free-assessment__option--selected .free-assessment__option-label {
  color: var(--text);
}

.free-assessment__nav {
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  display: flex;
}

.free-assessment__back-btn {
  cursor: pointer;
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--muted);
  text-underline-offset: 3px;
  background: none;
  border: none;
  padding: 0;
  font-size: .875rem;
  text-decoration: underline;
  transition: color .2s;
}

.free-assessment__back-btn:hover {
  color: var(--text2);
}

.free-assessment__next-btn {
  font-family: var(--font-dm-sans, sans-serif);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--sand);
  background: var(--accent);
  cursor: pointer;
  border: none;
  padding: .875rem 2rem;
  font-size: .875rem;
  font-weight: 600;
  transition: background .2s, opacity .2s;
}

.free-assessment__next-btn:hover {
  background: var(--accent2);
}

.free-assessment__next-btn:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.free-assessment__error {
  font-family: var(--font-dm-sans, sans-serif);
  color: var(--amber);
  margin-bottom: 1rem;
  font-size: .8125rem;
}

.free-assessment__submitting {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  min-height: 40vh;
  display: flex;
}

.free-assessment__submitting p {
  font-family: var(--font-lora, serif);
  color: var(--text2);
  font-size: 1.125rem;
  font-style: italic;
}

@media (max-width: 600px) {
  .free-assessment {
    padding: 3rem 1.25rem 5rem;
  }

  .free-assessment__question {
    font-size: 1.2rem;
  }
}

.free-reco__loading {
  min-height: 60vh;
  font-family: var(--font-lora, serif);
  color: var(--text2);
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  font-style: italic;
  display: flex;
}

.free-reco__error {
  text-align: center;
  max-width: 520px;
  font-family: var(--font-lora, serif);
  color: var(--text2);
  margin: 6rem auto;
  padding: 2rem;
}

[dir="rtl"] body {
  direction: ltr;
}

[dir="rtl"] p, [dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3, [dir="rtl"] h4, [dir="rtl"] h5, [dir="rtl"] h6, [dir="rtl"] li, [dir="rtl"] blockquote, [dir="rtl"] figcaption, [dir="rtl"] dt, [dir="rtl"] dd {
  text-align: start;
  direction: rtl;
}

[dir="rtl"] p span, [dir="rtl"] h1 span, [dir="rtl"] h2 span, [dir="rtl"] h3 span, [dir="rtl"] h4 span {
  direction: rtl;
}

[dir="rtl"] input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), [dir="rtl"] select, [dir="rtl"] textarea, [dir="rtl"] input::placeholder, [dir="rtl"] textarea::placeholder, [dir="rtl"] .nav-drop-menu a, [dir="rtl"] .mobile-menu a {
  text-align: right;
  direction: rtl;
}

[dir="rtl"] .mobile-menu-cta, [dir="rtl"] .site-header-inner a {
  direction: rtl;
}

[dir="rtl"] .footer-tagline, [dir="rtl"] .footer-copy, [dir="rtl"] .footer-legal {
  text-align: right;
  direction: rtl;
}

[dir="rtl"] .footer-links {
  align-items: flex-end;
}

[dir="rtl"] .footer-links a, [dir="rtl"] .hp-journal-card-title, [dir="rtl"] .hp-journal-card-desc, [dir="rtl"] .hp-journal-card-tag {
  text-align: right;
  direction: rtl;
}

[dir="rtl"] .hp-section-title, [dir="rtl"] .hp-section-sub, [dir="rtl"] .hp-section-more {
  text-align: center;
  direction: rtl;
}

[dir="rtl"] .hp-section-center .hp-section-title, [dir="rtl"] .hp-section-center .hp-section-sub {
  text-align: center;
}

[dir="rtl"] .free-landing__headline, [dir="rtl"] .free-landing__subheadline {
  text-align: right;
  direction: rtl;
}

[dir="rtl"] .tl-plans-sub {
  text-align: center;
  direction: rtl;
}

.dash-shell {
  padding: 4rem 1.5rem 6rem;
}

.dash-greeting {
  margin-bottom: 3rem;
}

.dash-greeting-eyebrow {
  font-family: var(--ds-font-body);
  color: var(--ds-muted);
}

.dash-greeting-name {
  font-family: var(--ds-font-display);
  letter-spacing: -.015em;
  color: var(--ds-ink);
  font-size: 2.25rem;
  font-style: normal;
  font-weight: 500;
}

.dash-greeting-sub {
  font-family: var(--ds-font-body);
  color: var(--ds-text-2);
}

.dash-section-label {
  font-family: var(--ds-font-body);
  color: var(--ds-muted);
}

.dash-journal-card {
  background: var(--ds-surface);
  border-color: var(--ds-border-subtle);
  border-radius: var(--ds-radius-lg);
  box-shadow: var(--ds-shadow-sm);
}

.dash-journal-info h2 {
  font-family: var(--ds-font-display);
  color: var(--ds-ink);
  font-weight: 500;
}

.dash-journal-info p {
  font-family: var(--ds-font-body);
  color: var(--ds-muted);
}

.dash-progress-bar {
  background: var(--ds-surface-sunken);
}

.dash-btn-primary {
  font-family: var(--ds-font-body);
  background: var(--ds-primary);
  border-radius: var(--ds-radius-full);
  box-shadow: var(--ds-shadow-sm);
}

.dash-btn-primary:hover {
  background: var(--ds-primary-hover);
  opacity: 1;
}

.dash-footer-links {
  border-top-color: var(--ds-border-subtle);
}

.dash-footer-links a {
  font-family: var(--ds-font-body);
  color: var(--ds-muted);
}

.dash-footer-links a:hover {
  color: var(--ds-ink);
}

.dash-hero {
  background: var(--ds-surface);
  border-color: var(--ds-border-subtle);
  border-radius: var(--ds-radius-xl);
  box-shadow: var(--ds-shadow-md);
}

.dash-hero-journal-name {
  font-family: var(--ds-font-display);
  letter-spacing: -.01em;
  color: var(--ds-ink);
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
}

.dash-hero-phase-badge {
  font-family: var(--ds-font-body);
}

.dash-hero-day-count {
  font-family: var(--ds-font-body);
  color: var(--ds-ink);
}

.dash-hero-streak {
  font-family: var(--ds-font-body);
  color: var(--ds-muted);
}

.dash-hero-cta {
  font-family: var(--ds-font-body);
  border-radius: var(--ds-radius-full);
  box-shadow: var(--ds-shadow-sm);
}

.dash-insight-card {
  background: var(--ds-surface);
  border-color: var(--ds-border-subtle);
  border-radius: var(--ds-radius-md);
  box-shadow: var(--ds-shadow-sm);
}

.dash-insight-label {
  font-family: var(--ds-font-body);
  color: var(--ds-muted);
}

.dash-insight-trend {
  font-family: var(--ds-font-body);
  color: var(--ds-text-2);
}

.dash-tema-tag {
  font-family: var(--ds-font-body);
  color: var(--ds-text-2);
  background: var(--ds-surface-sunken);
  border-color: var(--ds-border-subtle);
  border-radius: var(--ds-radius-full);
}

.dash-ayer-text {
  font-family: var(--ds-font-serif);
  color: var(--ds-accent-warm);
}

.phase-arc {
  border-top-color: var(--ds-border-subtle);
}

.phase-arc-dot {
  border-color: var(--ds-border);
  background: var(--ds-surface);
}

.phase-arc-name {
  font-family: var(--ds-font-body);
  color: var(--ds-muted);
}

.phase-arc-item.is-done .phase-arc-name, .phase-arc-item.is-active .phase-arc-name {
  color: var(--ds-text-2);
}

.dash-journey-complete {
  background: var(--ds-surface);
  border-color: var(--ds-border-subtle);
  border-radius: var(--ds-radius-xl);
  box-shadow: var(--ds-shadow-sm);
}

.djc-eyebrow {
  font-family: var(--ds-font-body);
  color: var(--ds-muted);
}

.djc-headline {
  font-family: var(--ds-font-display);
  color: var(--ds-ink);
  font-style: normal;
  font-weight: 500;
}

.djc-narrative {
  font-family: var(--ds-font-body);
  color: var(--ds-text-2);
}

.djc-stat-n {
  font-family: var(--ds-font-display);
  color: var(--ds-primary);
  font-style: normal;
}

.djc-stat-label {
  font-family: var(--ds-font-body);
  color: var(--ds-muted);
}

.djc-cta {
  font-family: var(--ds-font-body);
  color: var(--ds-primary);
}

.dash-companion-insights-card {
  border-radius: var(--ds-radius-lg);
  box-shadow: var(--ds-shadow-sm);
}

.dash-companion-section-label, .dash-companion-date, .dash-companion-insight-item, .dash-companion-next-hint, .dash-companion-session-link {
  font-family: var(--ds-font-body);
}

.dash-companion-summary {
  font-family: var(--ds-font-serif);
}

.auth-shell {
  grid-template-columns: minmax(0, .82fr) minmax(0, 1fr);
  min-height: 100vh;
  display: grid;
}

.auth-aside {
  background: linear-gradient(157deg, var(--ds-green-900) 0%, var(--ds-green-700) 100%);
  color: var(--ds-ivory);
  flex-direction: column;
  justify-content: space-between;
  padding: 3.5rem 3rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.auth-aside:after {
  content: "";
  pointer-events: none;
  background: radial-gradient(circle, #cba96833, #0000 70%);
  width: 420px;
  height: 420px;
  position: absolute;
  bottom: -140px;
  right: -140px;
}

.auth-aside-logo {
  z-index: 1;
  font-family: var(--ds-font-display);
  letter-spacing: -.01em;
  color: var(--ds-ivory);
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 500;
  text-decoration: none;
  position: relative;
}

.auth-aside-foot {
  z-index: 1;
  position: relative;
}

.auth-aside-mark {
  color: var(--ds-gold-500);
  opacity: .85;
  margin-bottom: 1.25rem;
  font-size: 6.5rem;
  line-height: 1;
  display: block;
}

.auth-aside-rule {
  background: var(--ds-gold-500);
  opacity: .7;
  width: 56px;
  height: 2px;
}

.auth-stage {
  background: var(--ds-bg);
  justify-content: center;
  align-items: center;
  padding: 3.5rem 2.5rem;
  display: flex;
}

.auth-form {
  width: 100%;
  max-width: 400px;
}

.auth-form-title {
  font-family: var(--ds-font-display);
  letter-spacing: -.02em;
  color: var(--ds-ink);
  margin: 0 0 .6rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.1;
}

.auth-form-sub {
  font-family: var(--ds-font-body);
  color: var(--ds-text-2);
  margin: 0 0 2.25rem;
  font-size: .95rem;
  line-height: 1.6;
}

.auth-field {
  flex-direction: column;
  display: flex;
}

.auth-label {
  font-family: var(--ds-font-body);
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--ds-muted);
  margin-bottom: .45rem;
  font-size: .72rem;
  font-weight: 600;
}

.auth-error {
  font-family: var(--ds-font-body);
  color: var(--ds-danger);
  margin: 0;
  font-size: .83rem;
}

.auth-links {
  font-family: var(--ds-font-body);
  color: var(--ds-muted);
  text-align: center;
  margin: 1.25rem 0 0;
  font-size: .85rem;
}

.auth-links a {
  color: var(--ds-ink);
  font-weight: 600;
  text-decoration: none;
}

.auth-consent {
  background: var(--ds-surface-sunken);
  border-radius: var(--ds-radius-md);
  align-items: flex-start;
  gap: .6rem;
  padding: .9rem 1rem;
  display: flex;
}

.auth-consent label {
  font-family: var(--ds-font-body);
  color: var(--ds-text-2);
  cursor: pointer;
  font-size: .78rem;
  line-height: 1.45;
}

.auth-consent a {
  color: var(--ds-accent-warm);
  font-size: .74rem;
  text-decoration: none;
}

@media (max-width: 860px) {
  .auth-shell {
    grid-template-columns: 1fr;
    min-height: 100dvh;
  }

  .auth-aside {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    padding: 1.25rem 1.5rem;
  }

  .auth-aside-foot, .auth-aside:after {
    display: none;
  }

  .auth-stage {
    align-items: flex-start;
    padding: 2.75rem 1.5rem 3.5rem;
  }
}

.dx-shell {
  flex-direction: column;
  gap: 3rem;
  max-width: 940px;
  margin: 0 auto;
  padding: 3.5rem 1.5rem 6rem;
  display: flex;
}

.dx-shell .dash-greeting {
  border-bottom: 1px solid var(--ds-border-subtle);
  margin: 0;
  padding-bottom: 1.75rem;
}

.dx-shell .dash-greeting-name {
  font-size: 2.75rem;
  line-height: 1.05;
}

.dx-shell .dash-greeting-eyebrow {
  color: var(--ds-accent-warm);
}

.dx-focus {
  border-radius: var(--ds-radius-2xl);
  background: var(--dx-color, var(--ds-primary));
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 2.5rem;
  padding: 2.5rem 2.75rem;
  display: grid;
}

@supports (color: color-mix(in lab, red, red)) {
  .dx-focus {
    background: color-mix(in srgb, var(--dx-color, var(--ds-primary)) 8%, var(--ds-surface));
  }
}

.dx-focus {
  border: 1px solid var(--dx-color, var(--ds-primary));
}

@supports (color: color-mix(in lab, red, red)) {
  .dx-focus {
    border: 1px solid color-mix(in srgb, var(--dx-color, var(--ds-primary)) 20%, transparent);
  }
}

.dx-focus-main {
  flex-direction: column;
  align-items: flex-start;
  gap: .25rem;
  min-width: 0;
  display: flex;
}

.dx-eyebrow {
  font-family: var(--ds-font-body);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ds-muted);
  margin: 0;
  font-size: .7rem;
  font-weight: 600;
}

.dx-journal-name {
  font-family: var(--ds-font-display);
  letter-spacing: -.02em;
  color: var(--ds-ink);
  margin: .15rem 0 .4rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.1;
}

.dx-meta {
  font-family: var(--ds-font-body);
  color: var(--ds-text);
  margin: 0;
  font-size: .9rem;
  font-weight: 500;
}

.dx-streak {
  font-family: var(--ds-font-body);
  color: var(--ds-muted);
  margin: .15rem 0 0;
  font-size: .82rem;
}

.dx-cta {
  border-radius: var(--ds-radius-full);
  color: #fff;
  font-family: var(--ds-font-body);
  box-shadow: var(--ds-shadow-sm);
  transition: opacity var(--ds-duration);
  justify-content: center;
  align-items: center;
  margin-top: 1.1rem;
  padding: .85rem 1.9rem;
  font-size: .95rem;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
}

.dx-cta:hover {
  opacity: .9;
}

.dx-section {
  border-top: 1px solid var(--ds-border-subtle);
  padding-top: 1.85rem;
}

.dx-section-label {
  font-family: var(--ds-font-body);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ds-muted);
  margin: 0 0 1.1rem;
  font-size: .7rem;
  font-weight: 600;
}

.dx-pulse-narrative {
  font-family: var(--ds-font-serif);
  color: var(--ds-text-2);
  max-width: 60ch;
  margin: 1.1rem 0 0;
  font-size: 1.05rem;
  font-style: italic;
  line-height: 1.7;
}

.dx-cols2 {
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  display: grid;
}

.dx-tags {
  flex-wrap: wrap;
  gap: .45rem;
  display: flex;
}

.dx-tag {
  font-family: var(--ds-font-body);
  color: var(--ds-text-2);
  background: var(--ds-surface-sunken);
  border: 1px solid var(--ds-border-subtle);
  border-radius: var(--ds-radius-full);
  padding: .3rem .85rem;
  font-size: .8rem;
}

.dx-quote {
  font-family: var(--ds-font-serif);
  color: var(--ds-accent-warm);
  border-left: 2px solid var(--ds-accent);
  margin: 0;
  padding-left: 1rem;
  font-size: 1.05rem;
  font-style: italic;
  line-height: 1.7;
}

.dx-others {
  flex-direction: column;
  display: flex;
}

.dx-journal-row {
  border-top: 1px solid var(--ds-border-subtle);
  align-items: center;
  gap: 1.1rem;
  padding: 1.25rem 0;
  display: flex;
}

.dx-others .dx-journal-row:last-child {
  border-bottom: 1px solid var(--ds-border-subtle);
}

.dx-jr-dot {
  border-radius: 50%;
  flex-shrink: 0;
  width: 10px;
  height: 10px;
}

.dx-jr-info {
  flex: 1;
  min-width: 0;
}

.dx-jr-name {
  font-family: var(--ds-font-display);
  color: var(--ds-ink);
  margin: 0 0 .15rem;
  font-size: 1.1rem;
  font-weight: 500;
}

.dx-jr-meta {
  font-family: var(--ds-font-body);
  color: var(--ds-muted);
  margin: 0;
  font-size: .8rem;
}

.dx-jr-actions {
  flex-shrink: 0;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.dx-link {
  font-family: var(--ds-font-body);
  color: var(--ds-text-2);
  border-bottom: 1px solid var(--ds-border);
  white-space: nowrap;
  padding-bottom: 1px;
  font-size: .83rem;
  text-decoration: none;
}

.dx-link:hover {
  color: var(--ds-ink);
}

.dx-complete {
  text-align: center;
}

.dx-complete-head {
  font-family: var(--ds-font-display);
  color: var(--ds-ink);
  margin: .4rem 0 .75rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.15;
}

.dx-complete-stats {
  justify-content: center;
  gap: 3rem;
  margin: 1.75rem 0;
  display: flex;
}

.dx-complete-n {
  font-family: var(--ds-font-display);
  color: var(--ds-primary);
  font-size: 2.25rem;
  line-height: 1;
  display: block;
}

.dx-complete-label {
  font-family: var(--ds-font-body);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ds-muted);
  font-size: .7rem;
}

.dx-companion {
  border-left: 2px solid var(--companion);
  padding: .25rem 0 .25rem 1.5rem;
}

.dx-footer {
  border-top: 1px solid var(--ds-border-subtle);
  flex-wrap: wrap;
  gap: 1.75rem;
  padding-top: 2rem;
  display: flex;
}

.dx-footer a, .dx-footer button {
  font-family: var(--ds-font-body);
  color: var(--ds-muted);
  transition: color var(--ds-duration);
  font-size: .83rem;
  text-decoration: none;
}

.dx-footer a:hover, .dx-footer button:hover {
  color: var(--ds-ink);
}

@media (max-width: 720px) {
  .dx-focus {
    text-align: center;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 1.5rem;
    padding: 2rem 1.5rem;
  }

  .dx-focus-main {
    align-items: center;
  }

  .dx-cols2 {
    grid-template-columns: 1fr;
    gap: 1.85rem;
  }

  .dx-complete-stats {
    gap: 1.75rem;
  }

  .dx-journal-row {
    flex-wrap: wrap;
  }
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__02pwm0v._.css.map*/