.sc-placeholder { background: color-mix(in srgb, currentcolor 8%, transparent); border: 1px solid color-mix(in srgb, currentcolor, transparent); border-radius: 2px; box-sizing: border-box; overflow: hidden; }
@keyframes sc-shine { 
  0% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
html.sc-dc-streaming .sc-placeholder, html.sc-dc-streaming .sc-interp.sc-missing { position: relative; background: color-mix(in srgb, currentcolor 5%, transparent); border-color: transparent; }
html.sc-dc-streaming .sc-placeholder::before, html.sc-dc-streaming .sc-interp.sc-missing::before { content: ""; position: absolute; inset: 0px; pointer-events: none; background: linear-gradient(90deg, rgba(217, 119, 87, 0) 25%, rgba(247, 225, 211, 0.95) 37%, rgba(217, 119, 87, 0) 63%) 0% 0% / 400% 100%; animation: 1.4s ease 0s infinite normal none running sc-shine; }
html.sc-dc-streaming .sc-placeholder:nth-child(n+9 of .sc-placeholder)::before, html.sc-dc-streaming .sc-interp.sc-missing:nth-child(n+9 of .sc-interp.sc-missing)::before { animation: auto ease 0s 1 normal none running none; background: color-mix(in srgb, currentcolor 8%, transparent); }
.sc-placeholder-error { padding: 4px 8px; font: 11px / 1.4 ui-monospace, monospace; color: color-mix(in srgb, currentcolor 70%, transparent); word-break: break-word; }
.sc-interp.sc-missing { display: inline-block; width: 2em; height: 1em; overflow: hidden; vertical-align: text-bottom; background: rgba(255, 255, 255, 0.3); border: 1px solid rgba(0, 0, 0, 0.5); border-radius: 2px; box-sizing: border-box; color: transparent; user-select: none; }
.sc-interp.sc-unresolved { font-family: ui-monospace, monospace; font-size: 0.85em; color: color-mix(in srgb, currentcolor, transparent); background: color-mix(in srgb, currentcolor 10%, transparent); border-radius: 3px; padding: 0px 3px; }
.sc-host.sc-has-error { position: relative; }
.sc-logic-error { position: absolute; top: 8px; left: 8px; z-index: 2147483647; max-width: 60ch; padding: 6px 10px; background: rgb(176, 0, 32); color: rgb(255, 255, 255); font: 12px / 1.4 ui-monospace, monospace; border-radius: 4px; white-space: pre-wrap; pointer-events: none; }
@media print {
  @page { margin: 0.5cm; }
  figure, table { break-inside: avoid; }
  #dc-root, #dc-root > .sc-host { height: auto; }
  *, ::before, ::after { print-color-adjust: exact; backdrop-filter: none !important; animation-delay: -99s !important; animation-duration: 0.001s !important; animation-iteration-count: 1 !important; animation-fill-mode: both !important; animation-play-state: running !important; transition-duration: 0s !important; }
}
x-dc { display: none !important; }
.scp0:hover { color: var(--color-accent-700) !important; }
.scp1:hover { background: rgba(220, 189, 130, 0.2) !important; }
.scp2:hover { background: rgba(255, 255, 255, 0.12) !important; }
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/a385805c-23ee-430b-85f7-58dc9ede2f43.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: "Cormorant Garamond"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/7d171154-1bf5-41bf-a324-4cf0e35a2b9b.woff2") format("woff2"); unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116; }
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/503f6571-3149-4927-a9d1-9c6a5c8ed37a.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: "Cormorant Garamond"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/c3ab530a-59bd-4bc9-b636-345985e4a41a.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: "Cormorant Garamond"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/9e678405-21e2-4554-9551-cefb6cc48ff3.woff2") format("woff2"); unicode-range: U+0-FF, 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: "Cormorant Garamond"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/a385805c-23ee-430b-85f7-58dc9ede2f43.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: "Cormorant Garamond"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/7d171154-1bf5-41bf-a324-4cf0e35a2b9b.woff2") format("woff2"); unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116; }
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/503f6571-3149-4927-a9d1-9c6a5c8ed37a.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: "Cormorant Garamond"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/c3ab530a-59bd-4bc9-b636-345985e4a41a.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: "Cormorant Garamond"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/9e678405-21e2-4554-9551-cefb6cc48ff3.woff2") format("woff2"); unicode-range: U+0-FF, 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("../fonts/0147f947-e3ec-49de-bf8d-f86201ad4147.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("../fonts/f868e438-1729-4194-9007-b0fed083fde0.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("../fonts/01fc9c23-039b-4400-bf0e-212c77c03cd3.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+1EE00-1EEFF; }
@font-face { font-family: Lora; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/fb5a1607-2a35-4151-a0a6-476defc3bf3e.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+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, 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+1F000-1F0FF, 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+1F700-1F7FF, 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+1FB00-1FBFF; }
@font-face { font-family: Lora; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/359a3051-e0af-417f-a6bd-193b3700050e.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("../fonts/a0b71347-0e0d-4d97-acd1-e9561b975427.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("../fonts/1a287768-4800-4b2b-aac0-d1bac17b2641.woff2") format("woff2"); unicode-range: U+0-FF, 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: 600; font-display: swap; src: url("../fonts/0147f947-e3ec-49de-bf8d-f86201ad4147.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: 600; font-display: swap; src: url("../fonts/f868e438-1729-4194-9007-b0fed083fde0.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: 600; font-display: swap; src: url("../fonts/01fc9c23-039b-4400-bf0e-212c77c03cd3.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+1EE00-1EEFF; }
@font-face { font-family: Lora; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/fb5a1607-2a35-4151-a0a6-476defc3bf3e.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+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, 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+1F000-1F0FF, 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+1F700-1F7FF, 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+1FB00-1FBFF; }
@font-face { font-family: Lora; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/359a3051-e0af-417f-a6bd-193b3700050e.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: 600; font-display: swap; src: url("../fonts/a0b71347-0e0d-4d97-acd1-e9561b975427.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: 600; font-display: swap; src: url("../fonts/1a287768-4800-4b2b-aac0-d1bac17b2641.woff2") format("woff2"); unicode-range: U+0-FF, 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; }
:root { --color-bg: #f3f2f2; --color-surface: #eae9e9; --color-text: #201f1d; --color-accent: #b68235; --color-accent-2: #ac803e; --color-divider: color-mix(in srgb, #201f1d 16%, transparent); --color-neutral-100: #f8f4f4; --color-neutral-200: #eae7e7; --color-neutral-300: #d7d3d3; --color-neutral-400: #bab6b6; --color-neutral-500: #9b9797; --color-neutral-600: #7d7979; --color-neutral-700: #605d5d; --color-neutral-800: #444141; --color-neutral-900: #2d2b2b; --color-accent-100: #fff3e4; --color-accent-200: #ffe3bf; --color-accent-300: #facb8d; --color-accent-400: #e1ad66; --color-accent-500: #c28d41; --color-accent-600: #a06f24; --color-accent-700: #7d5411; --color-accent-800: #5a3b0a; --color-accent-900: #3a270d; --color-accent-2-100: #fff3e4; --color-accent-2-200: #ffe3be; --color-accent-2-300: #f5cd96; --color-accent-2-400: #dbaf70; --color-accent-2-500: #bc8f4e; --color-accent-2-600: #9b7232; --color-accent-2-700: #79561f; --color-accent-2-800: #573d14; --color-accent-2-900: #382810; --font-heading: "Cormorant Garamond", system-ui, sans-serif; --font-heading-weight: 600; --font-body: "Lora", system-ui, sans-serif; --space-1: 4.6px; --space-2: 9.2px; --space-3: 13.8px; --space-4: 18.4px; --space-6: 27.6px; --space-8: 36.8px; --radius-sm: 2px; --radius-md: 4px; --radius-lg: 7px; --shadow-sm: 0 1px 2px color-mix(in srgb, #2d2b2b 14%, transparent); --shadow-md: 0 3px 10px color-mix(in srgb, #2d2b2b 16%, transparent); --shadow-lg: 0 12px 32px color-mix(in srgb, #2d2b2b 22%, transparent); }
body { background: var(--color-bg); color: var(--color-text); font-family: var(--font-body); }
h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: var(--font-heading-weight); }
.plate { filter: sepia(0.22) saturate(0.82) contrast(1.05); box-sizing: border-box; border: 6px solid var(--color-surface); outline: 1px solid var(--color-divider); }
*, ::before, ::after { box-sizing: border-box; }
body { margin: 0px; font-size: 15px; line-height: 1.55; font-weight: 400; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); font-weight: var(--font-heading-weight); line-height: 1.12; letter-spacing: -0.015em; margin: 0 0 var(--space-2); }
h1 { font-size: 42px; }
h2 { font-size: 32px; }
h3 { font-size: 25px; }
h4 { font-size: 20px; }
h5 { font-size: 16px; }
h6 { font-size: 13px; }
h6 { letter-spacing: 0.08em; text-transform: uppercase; }
p { margin: 0 0 var(--space-3); }
a { color: var(--color-accent); text-underline-offset: 3px; }
img { display: block; max-width: 100%; }
figure { margin: 0px; }
figcaption { font-size: 11px; margin-top: var(--space-1); color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.text-muted { color: color-mix(in srgb, var(--color-text) 55%, transparent); }
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
::selection { background: color-mix(in srgb, var(--color-accent) 30%, transparent); }
.hr { height: 1px; border: 0px; margin: var(--space-4) 0; background: var(--color-divider); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; cursor: pointer; text-decoration: none; font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 14px; line-height: 1.2; color: var(--color-text); background: transparent; border: 1px solid transparent; padding: var(--space-2) calc(var(--space-3) * 1.2); border-radius: var(--radius-md); }
.btn svg { display: block; }
.btn:disabled { opacity: 0.45; cursor: not-allowed; }
.btn-primary { color: var(--color-accent); border-color: var(--color-accent); }
.btn-primary:hover { background: color-mix(in srgb, var(--color-accent) 12%, transparent); }
.btn-primary:active { background: color-mix(in srgb, var(--color-accent) 22%, transparent); }
.btn-secondary { border-color: var(--color-divider); }
.btn-secondary:hover { background: color-mix(in srgb, var(--color-text) 7%, transparent); }
.btn-secondary:active { background: color-mix(in srgb, var(--color-text) 14%, transparent); }
.btn-ghost { color: var(--color-accent); padding-inline: var(--space-1); }
.btn-ghost:hover { background: color-mix(in srgb, var(--color-accent) 10%, transparent); }
.btn-ghost:active { background: color-mix(in srgb, var(--color-accent) 18%, transparent); }
.btn-icon { width: 36px; height: 36px; padding: 0px; }
.btn-block { width: 100%; margin-top: var(--space-2); }
.field > label { display: block; font-size: 12px; margin-bottom: 5px; color: color-mix(in srgb, var(--color-text) 70%, transparent); }
.input { width: 100%; min-height: 36px; padding: 6px 10px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 14px; color: var(--color-text); caret-color: var(--color-accent); background: transparent; border: 1px solid var(--color-divider); border-radius: var(--radius-md); }
.input:hover { border-color: color-mix(in srgb, var(--color-text) 45%, transparent); }
.input:focus-visible { border-color: var(--color-accent); outline-offset: 0px; }
textarea.input { min-height: 90px; resize: vertical; }
.radio { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-size: 14px; }
.radio input, .seg-opt input { position: absolute; opacity: 0; width: 0px; height: 0px; pointer-events: none; }
.radio .dot { width: 16px; height: 16px; flex: 0 0 auto; border-radius: 50%; border: 1.5px solid var(--color-divider); }
.radio:hover .dot { border-color: var(--color-accent); }
.radio input:checked + .dot { border-color: var(--color-accent); background: var(--color-accent); box-shadow: inset 0 0 0 4px var(--color-bg); }
.radio input:focus-visible + .dot { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.seg { display: inline-flex; overflow: hidden; border: 1px solid var(--color-divider); border-radius: var(--radius-md); }
.seg-opt { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; font-size: 13px; cursor: pointer; }
.seg-opt + .seg-opt { border-left: 1px solid var(--color-divider); }
.seg-opt:has(input:checked) { color: var(--color-accent); box-shadow: inset 0 0 0 1px var(--color-accent); }
.seg-opt:not(:has(input:checked)):hover { background: color-mix(in srgb, var(--color-text) 7%, transparent); }
.seg-opt:has(input:focus-visible) { outline: 2px solid var(--color-accent); outline-offset: -2px; }
.card { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3); border-radius: var(--radius-md); background: transparent; border: 1px solid var(--color-divider); }
.card-kicker { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-accent); }
.card-title { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 17px; line-height: 1.2; }
.card-body { margin: 0px; font-size: 13px; opacity: 0.8; flex: 1 1 0%; }
.card-meta { display: flex; align-items: center; gap: 6px; font-size: 11px; color: color-mix(in srgb, var(--color-text) 50%, transparent); }
.elev-sm { box-shadow: var(--shadow-sm); }
.elev-md { box-shadow: var(--shadow-md); }
.elev-lg { box-shadow: var(--shadow-lg); }
.tag { display: inline-flex; align-items: center; font-size: 11px; letter-spacing: 0.02em; padding: 3px 10px; border-radius: calc(var(--radius-md) * 0.75); }
.tag-accent { background: var(--color-accent-100); color: var(--color-accent-800); }
.tag-accent-2 { background: var(--color-accent-2-100); color: var(--color-accent-2-800); }
.tag-neutral { background: var(--color-neutral-100); color: var(--color-neutral-800); }
.tag-outline { border: 1px solid var(--color-accent); color: var(--color-accent); }
.nav { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--color-divider); }
.nav-brand { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 18px; margin-right: auto; }
.nav a { color: inherit; text-decoration: none; font-size: 14px; }
.nav a:hover, .nav a[aria-current="page"] { color: var(--color-accent); }
.table { width: 100%; border-collapse: collapse; font-size: 14px; }
.table th { text-align: left; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: color-mix(in srgb, var(--color-text) 60%, transparent); padding: var(--space-2); border-bottom: 1px solid var(--color-divider); }
.table td { padding: var(--space-2); border-bottom: 1px solid var(--color-divider); }
.table tbody tr:hover { background: color-mix(in srgb, var(--color-text) 4%, transparent); }
.dialog-backdrop { position: fixed; inset: 0px; display: grid; place-items: center; padding: var(--space-4); background: color-mix(in srgb, var(--color-neutral-900) 50%, transparent); }
.dialog { width: min(440px, 100%); display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-4); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-lg); border: 1px solid var(--color-divider); }
.dialog-title { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 20px; }
.dialog-body { font-size: 14px; opacity: 0.85; }
.dialog-actions { display: flex; justify-content: flex-end; gap: var(--space-2); margin-top: var(--space-2); }
@font-face { font-family: Italiana; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/f4a0af9e-ddea-4336-a198-d21d77c7c6c2.woff2") format("woff2"); unicode-range: U+0-FF, 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: Jost; font-style: normal; font-weight: 300; font-display: swap; src: url("../fonts/5664b5c6-9faa-4154-9dfa-77a407f51550.woff2") format("woff2"); unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116; }
@font-face { font-family: Jost; font-style: normal; font-weight: 300; font-display: swap; src: url("../fonts/b41a07b7-a861-44a9-96d6-71ef8685a55a.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: Jost; font-style: normal; font-weight: 300; font-display: swap; src: url("../fonts/262664a6-ad42-43e8-a112-c473ce25820e.woff2") format("woff2"); unicode-range: U+0-FF, 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: Jost; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/5664b5c6-9faa-4154-9dfa-77a407f51550.woff2") format("woff2"); unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116; }
@font-face { font-family: Jost; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/b41a07b7-a861-44a9-96d6-71ef8685a55a.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: Jost; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/262664a6-ad42-43e8-a112-c473ce25820e.woff2") format("woff2"); unicode-range: U+0-FF, 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: Jost; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/5664b5c6-9faa-4154-9dfa-77a407f51550.woff2") format("woff2"); unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116; }
@font-face { font-family: Jost; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/b41a07b7-a861-44a9-96d6-71ef8685a55a.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: Jost; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/262664a6-ad42-43e8-a112-c473ce25820e.woff2") format("woff2"); unicode-range: U+0-FF, 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: Marcellus; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/131adfd4-a75a-425a-b7bb-739de0bee8e2.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: Marcellus; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/12ee668b-f134-4771-a1f8-75993f4532b2.woff2") format("woff2"); unicode-range: U+0-FF, 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; }
:root { --font-heading: "Marcellus", "Times New Roman", serif; --font-body: "Jost", system-ui, sans-serif; --font-heading-weight: 400; --dt-serif: "Italiana", Georgia, serif; --color-bg: #f8f9fb; --color-text: #101d33; --color-divider: #dfe4ec; --color-neutral-100: #eff2f7; --color-neutral-200: #e5eaf2; --color-neutral-300: #d3dae6; --color-neutral-400: #a2afc4; --color-neutral-500: #66799a; --color-neutral-900: #0a162b; --color-accent: #1a4f8f; --color-accent-100: #eaf0f8; --color-accent-200: #d2e0f0; --color-accent-300: #9bbce2; --color-accent-400: #4b82c4; --color-accent-500: #1a4f8f; --color-accent-600: #143f74; --color-accent-700: #0f315c; --color-accent-800: #0b2547; --color-accent-900: #081c36; --color-accent-2: #b28b46; --dt-gold: #b28b46; --dt-gold-300: #ddc088; --dt-gold-700: #8a6a2c; --shadow-sm: 0 1px 2px rgba(16,29,51,0.06); --shadow-md: 0 12px 30px rgba(16,29,51,0.1); --shadow-lg: 0 28px 70px rgba(16,29,51,0.13); }
h1, h2, h3, .card-title { letter-spacing: -0.012em; font-weight: 400; }
h1 { line-height: 1.04; }
.dt-serif { font-family: var(--dt-serif); font-weight: 400; font-style: normal; letter-spacing: 0.01em; }
body, p, li, .card-body, .btn, .tag, .input { font-family: var(--font-body); font-weight: 400; }
.card-kicker, .dt-hrow-kick, .btn, .tag { font-weight: 500; }
.card-kicker { color: var(--dt-gold-700) !important; }
body::before { content: ""; position: fixed; inset: 0px; pointer-events: none; z-index: 0; background-image: linear-gradient(rgba(26, 79, 143, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(26, 79, 143, 0.05) 1px, transparent 1px); background-size: 84px 84px; mask-image: radial-gradient(110% 70% at 50% 0%, rgb(0, 0, 0) 0%, transparent 70%); }
.tag-outline { border-color: var(--color-divider); color: var(--color-accent-700); background: rgb(255, 255, 255); }
.btn-ghost { color: var(--color-accent-700); }
.card, .plate { background: rgb(255, 255, 255) !important; }
.hr { background: linear-gradient(90deg, transparent, var(--color-divider), transparent) !important; height: 1px !important; border: 0px !important; }
@keyframes dt-pulse { 
  0%, 100% { opacity: 0.35; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1); }
}
.dt-live { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: rgb(47, 127, 214); box-shadow: rgba(47, 127, 214, 0.65) 0px 0px 10px; animation: 1.9s ease-in-out 0s infinite normal none running dt-pulse; }
.dt-gold { color: var(--dt-gold) !important; }
.dt-gold-3 { color: var(--dt-gold-300) !important; }
.dt-goldbg { background: var(--dt-gold) !important; }
html { scroll-behavior: smooth; }
body { margin: 0px; text-wrap: pretty; background: var(--color-bg); color: var(--color-text); }
a { color: var(--color-accent-700); text-decoration: none; }
a:hover { color: var(--color-accent-600); }
@keyframes dt-rise { 
  0% { transform: translateY(112%); }
  100% { transform: translateY(0px); }
}
@keyframes dt-fade { 
  0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: none; }
}
@keyframes dt-cue { 
  0%, 100% { transform: translateY(0px); opacity: 0.55; }
  50% { transform: translateY(7px); opacity: 1; }
}
@keyframes dt-marquee { 
  0% { transform: translateX(0px); }
  100% { transform: translateX(-50%); }
}
@keyframes dt-zoomout { 
  0% { transform: scale(1.12); }
  100% { transform: scale(1); }
}
.dt-mask { display: block; overflow: hidden; margin-bottom: -0.2em; }
.dt-mask > span { display: block; padding-bottom: 0.2em; transform: translateY(112%); animation: 1.15s cubic-bezier(0.16, 1, 0.3, 1) 0s 1 normal forwards running dt-rise; }
.dt-mask:nth-of-type(1) > span { animation-delay: 0.08s; }
.dt-mask:nth-of-type(2) > span { animation-delay: 0.2s; }
.dt-up { opacity: 0; animation: 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0s 1 normal forwards running dt-fade; }
.dt-d1 { animation-delay: 0.38s; }
.dt-d2 { animation-delay: 0.5s; }
.dt-d3 { animation-delay: 0.62s; }
.dt-cue { animation: 2.3s ease-in-out 0s infinite normal none running dt-cue; }
.dt-heroimg { animation: 2.6s cubic-bezier(0.16, 1, 0.3, 1) 0s 1 normal forwards running dt-zoomout; }
.dt-track { display: flex; width: max-content; animation: 46s linear 0s infinite normal none running dt-marquee; }
.dt-marquee:hover .dt-track { animation-play-state: paused; }
.dt-row { transition: background 0.5s cubic-bezier(0.16, 1, 0.3, 1), padding-left 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
.dt-row:hover { background: var(--color-accent-100); padding-left: 14px; }
.dt-row .dt-arw { display: inline-block; opacity: 0; transform: translateX(-8px); transition: opacity 0.4s, transform 0.45s cubic-bezier(0.16, 1, 0.3, 1); }
.dt-row:hover .dt-arw { opacity: 1; transform: none; }
.dt-card { transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.7s, border-color 0.7s; }
.dt-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); border-color: var(--color-accent); }
.dt-link { position: relative; }
.dt-link::after { content: ""; position: absolute; left: 0px; bottom: -5px; height: 1px; width: 100%; background: var(--color-accent); transform: scaleX(0); transform-origin: left center; transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1); }
.dt-link:hover::after { transform: scaleX(1); }
.dt-hrow { position: relative; display: grid; grid-template-columns: 74px minmax(0px, 1fr) minmax(0px, 1.15fr) 58px; align-items: center; gap: 0px clamp(16px, 3vw, 44px); padding: clamp(20px, 2.6vw, 34px) clamp(14px, 2vw, 28px); border-top: 1px solid var(--color-divider); color: var(--color-text); text-decoration: none; overflow: hidden; transition: color 0.55s cubic-bezier(0.16, 1, 0.3, 1); }
.dt-hrow::before { content: ""; position: absolute; inset: 0px; background: linear-gradient(90deg, var(--color-accent-900), var(--color-accent-600)); transform: translateY(101%); transition: transform 0.62s cubic-bezier(0.16, 1, 0.3, 1); z-index: 0; }
.dt-hrow > * { position: relative; z-index: 1; }
.dt-hrow:hover::before { transform: translateY(0px); }
.dt-hrow:hover { color: rgb(244, 247, 251); box-shadow: rgba(16, 29, 51, 0.14) 0px 18px 40px; }
.dt-hrow:hover .dt-hrow-sub { color: rgb(219, 231, 246); }
.dt-hrow:hover .dt-hrow-arw { transform: translateX(8px); color: var(--dt-gold-300); }
.dt-hrow-num { font-family: var(--font-heading); font-size: clamp(26px, 2.6vw, 38px); line-height: 1; color: var(--dt-gold); font-feature-settings: "tnum"; transition: color 0.5s; }
.dt-hrow:hover .dt-hrow-num { color: var(--dt-gold-300); }
.dt-hrow-ttl { font-family: var(--font-heading); font-size: clamp(22px, 2.4vw, 32px); line-height: 1.18; }
.dt-hrow-kick { display: block; font-size: 10.5px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--dt-gold-700); margin-bottom: 8px; transition: color 0.5s; }
.dt-hrow:hover .dt-hrow-kick { color: var(--dt-gold-300); }
.dt-hrow-sub { font-size: 14.5px; line-height: 25px; color: rgba(16, 29, 51, 0.72); transition: color 0.5s; }
.dt-hrow-arw { justify-self: end; font-size: 20px; color: var(--color-accent); transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1), color 0.5s; }
@media (max-width: 860px) {
  .dt-hrow { grid-template-columns: 50px minmax(0px, 1fr); row-gap: 10px; }
  .dt-hrow-sub { grid-column: 2; }
  .dt-hrow-arw { display: none; }
}
@keyframes dt-ribbon { 
  0% { transform: translateX(0px); }
  100% { transform: translateX(-50%); }
}
.dt-ribbon { overflow: hidden; }
.dt-ribbon-track { display: flex; width: max-content; animation: 90s linear 0s infinite normal none running dt-ribbon; }
.dt-ribbon:hover .dt-ribbon-track { animation-play-state: paused; }
.dt-rev { width: 300px; flex: 0 0 auto; margin-right: 14px; padding: 20px 22px; background: rgb(255, 255, 255); border: 1px solid var(--color-divider); border-radius: var(--radius-sm); }
.dt-kb { display: block; text-decoration: none; color: var(--color-text); border-top: 1px solid var(--color-divider); padding: 16px 12px 16px 0px; transition: background 0.45s, padding-left 0.45s cubic-bezier(0.16, 1, 0.3, 1); }
.dt-kb:hover { background: var(--color-accent-100); padding-left: 12px; }
.dt-crumb { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; font-size: 11.5px; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.8; }
@media (prefers-reduced-motion: reduce) {
  .dt-ribbon-track { animation: auto ease 0s 1 normal none running none !important; }
}
.dt-chip { transition: background 0.4s, border-color 0.4s, color 0.4s; }
.dt-chip:hover { background: var(--color-accent-100); border-color: var(--color-accent); color: var(--color-accent-700); }
.dt-herotext { padding-right: clamp(24px, 44%, 640px) !important; }
.dt-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.dt-eyebrow > * { white-space: nowrap; }
.dt-eyebrow > .dt-status { flex: 0 0 100%; margin-left: 0px !important; }
@media (max-width: 900px) {
  .dt-heropanel, .dt-heroveil { left: 0px !important; top: auto !important; height: 38% !important; }
  .dt-heroveil { background: linear-gradient(to bottom, var(--color-bg) 0%, rgba(248,249,251,0.3) 34%, rgba(248,249,251,0) 70%) !important; }
  .dt-herotext { padding-right: clamp(16px, 4vw, 56px) !important; padding-bottom: 42% !important; }
}

.dt-hdr::after { content: ""; position: absolute; inset: 0px; z-index: -1; pointer-events: none; background: linear-gradient(to bottom, var(--color-bg) 0%, rgba(248,249,251,0.92) 62%, rgba(248,249,251,0.72) 100%); transition: opacity 0.55s; }
.dt-hdr.dt-solid::after { opacity: 0; }
.dt-hdr { position: fixed; top: 0px; left: 0px; right: 0px; z-index: 45; background: transparent; border-bottom: 1px solid transparent; transition: background 0.55s, border-color 0.55s, box-shadow 0.55s; }
.dt-hdr .dt-strip { border-bottom: 1px solid var(--color-divider); transition: border-color 0.55s, opacity 0.45s; }
.dt-hdr a, .dt-hdr .dt-word { color: var(--color-text); }
.dt-hdr .dt-sub { color: rgba(16, 29, 51, 0.68); }
.dt-hdr .dt-phone { color: var(--color-accent-700); }
.dt-hdr .btn-ghost { color: var(--color-accent-700); border-color: var(--color-accent); }
.dt-hdr .btn-ghost:hover { background: var(--color-accent-100); }
.dt-hdr .btn-primary { color: var(--color-accent-700); border-color: var(--color-accent); }
.dt-hdr .btn-primary:hover { background: var(--color-accent-100); }
.dt-hdr .dt-burger { color: var(--color-text); border-color: var(--color-divider); }
.dt-monogram { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 auto; font-family: var(--dt-serif); font-size: 23px; letter-spacing: 0.04em; line-height: 1; color: var(--dt-gold-700); border: 1px solid var(--dt-gold); border-radius: var(--radius-sm); transition: color 0.55s, border-color 0.55s, background 0.55s; }
.dt-monogram:hover { background: rgba(220, 189, 130, 0.16); }
.dt-hdr.dt-solid .dt-monogram { color: var(--dt-gold-700); border-color: var(--dt-gold); }
.dt-hdr.dt-solid { background: rgba(248, 249, 251, 0.86); backdrop-filter: blur(16px) saturate(130%); border-bottom-color: var(--color-divider); box-shadow: rgba(16, 29, 51, 0.07) 0px 8px 28px; }
.dt-hdr.dt-solid .dt-strip { border-bottom-color: var(--color-divider); opacity: 0; pointer-events: none; }
.dt-hdr.dt-solid a, .dt-hdr.dt-solid .dt-word { color: var(--color-text); }
.dt-hdr.dt-solid .dt-sub { color: rgba(16, 29, 51, 0.72); }
.dt-hdr.dt-solid .dt-phone { color: var(--color-accent-700); }
.dt-hdr.dt-solid .btn-ghost, .dt-hdr.dt-solid .btn-primary { color: var(--color-accent-700); border-color: var(--color-accent); }
.dt-hdr.dt-solid .btn-ghost:hover, .dt-hdr.dt-solid .btn-primary:hover { background: var(--color-accent-100); }
.dt-hdr.dt-solid .dt-burger { color: var(--color-text); border-color: var(--color-divider); }
@media (max-width: 860px) {
  .dt-split { grid-template-columns: 1fr !important; }
}
@media (max-width: 720px) {
  .dt-desk { display: none !important; }
}
@media (min-width: 721px) {
  .dt-mob { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .dt-mask > span, .dt-up, .dt-cue, .dt-track, .dt-heroimg { animation: auto ease 0s 1 normal none running none !important; opacity: 1 !important; transform: none !important; }
}

/* ==========================================================================
   Downtown Technical Services — navigation, buttons, floating actions, mobile
   ========================================================================== */
html { scroll-padding-top: 96px; -webkit-text-size-adjust: 100%; }
[id] { scroll-margin-top: 96px; }
body { margin: 0; }
:root { --dt-wa: #1f9d55; --dt-wa-d: #178246; --hdr-h: 68px; }

/* ---------- Buttons: every Call button gets a visible border ---------- */
.btn { min-height: 44px; padding: 10px 20px; border-radius: 4px; letter-spacing: .02em; transition: background .25s, color .25s, border-color .25s; }
.btn-ghost, .btn-primary { border: 1px solid var(--color-accent) !important; }
.btn-ghost { color: var(--color-accent-700); padding-inline: 20px; }
.btn-ghost:hover { background: var(--color-accent-100); }
.scp2 { border-color: rgba(236, 232, 226, .7) !important; }
.scp1 { border-color: var(--color-accent-300) !important; }

/* ---------- Header shell ---------- */
.dt-hdr { position: fixed; top: 0; left: 0; right: 0; z-index: 60; }
.dt-strip-in { max-width: 1400px; margin: 0 auto; padding: 8px clamp(16px, 4vw, 56px); display: flex; flex-wrap: wrap; gap: 6px 26px; align-items: center; justify-content: space-between; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; }
.dt-strip-r { display: flex; gap: 22px; align-items: center; }
.dt-strip { max-height: 60px; overflow: hidden; transition: max-height .4s, opacity .4s, border-color .4s; }
.dt-hdr.dt-solid .dt-strip { max-height: 0; border-bottom-color: transparent; }
.dtn-bar { max-width: 1400px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 56px); height: var(--hdr-h); display: flex; align-items: center; gap: 20px; justify-content: space-between; }
.dtn-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; flex: 0 0 auto; }
.dtn-word { display: flex; flex-direction: column; line-height: 1.1; }
.dtn-word .dt-word { font-family: var(--font-heading); font-size: 21px; letter-spacing: .1em; white-space: nowrap; }
.dtn-word .dt-sub { font-size: 9.5px; letter-spacing: .26em; text-transform: uppercase; white-space: nowrap; }
.dtn-cta { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.dtn-cta .btn { white-space: nowrap; text-decoration: none; }
.dtn-list { list-style: none; margin: 0; padding: 0; }
.dtn-grp ul { list-style: none; margin: 0; padding: 0; }
.dtn a { text-decoration: none; }

/* burger (icon only) */
.dt-burger { display: none; width: 46px; height: 46px; padding: 0; border: 1px solid var(--color-divider); border-radius: 6px; background: #fff; cursor: pointer; flex-direction: column; align-items: center; justify-content: center; gap: 5px; -webkit-tap-highlight-color: transparent; }
.dt-burger span { display: block; width: 20px; height: 1.6px; background: var(--color-text); border-radius: 2px; transition: transform .3s, opacity .2s; }
header.dts-open .dt-burger span:nth-child(1) { transform: translateY(6.6px) rotate(45deg); }
header.dts-open .dt-burger span:nth-child(2) { opacity: 0; }
header.dts-open .dt-burger span:nth-child(3) { transform: translateY(-6.6px) rotate(-45deg); }

/* ---------- Desktop: dropdown mega menus ---------- */
@media (min-width: 1041px) {
  .dtn { flex: 1 1 auto; display: flex; justify-content: center; align-self: stretch; }
  .dtn-list { display: flex; align-items: stretch; gap: clamp(10px, 1.6vw, 26px); }
  .dtn-item { display: flex; align-items: center; position: static; }
  .dtn-top { display: flex; align-items: center; height: 100%; font-size: 14px; color: var(--color-text); white-space: nowrap; position: relative; padding: 0 2px; }
  .dtn-top::after { content: ""; position: absolute; left: 0; right: 0; bottom: 18px; height: 1px; background: var(--color-accent); transform: scaleX(0); transform-origin: left; transition: transform .35s; }
  .dtn-item:hover .dtn-top::after, .dtn-item:focus-within .dtn-top::after, .dtn-item.is-open .dtn-top::after { transform: scaleX(1); }
  .dtn-tog { border: 0; background: none; padding: 4px 2px; margin-left: 2px; color: var(--color-text); cursor: pointer; display: flex; align-items: center; opacity: .7; }
  .dtn-tog svg { transition: transform .3s; }
  .dtn-has:hover .dtn-tog svg, .dtn-has.is-open .dtn-tog svg { transform: rotate(180deg); }
  .dtn-panel { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid var(--color-divider); box-shadow: 0 26px 50px rgba(16, 29, 51, .14); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .22s, transform .22s, visibility 0s linear .22s; max-height: calc(100vh - 120px); overflow-y: auto; }
  .dtn-has:hover > .dtn-panel, .dtn-has:focus-within > .dtn-panel, .dtn-has.is-open > .dtn-panel { opacity: 1; visibility: visible; transform: none; transition: opacity .22s, transform .22s, visibility 0s; }
  .dtn-has.is-closed > .dtn-panel { opacity: 0 !important; visibility: hidden !important; }
  .dtn-in { max-width: 1400px; margin: 0 auto; padding: 30px clamp(16px, 4vw, 56px) 18px; display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 40px; }
  .dtn-cols { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 26px 32px; align-content: start; }
  .dtn-col { display: grid; gap: 22px; align-content: start; }
  .dtn-foot { max-width: 1400px; margin: 0 auto; padding: 14px clamp(16px, 4vw, 56px) 20px; display: flex; flex-wrap: wrap; gap: 10px 30px; border-top: 1px solid var(--color-divider); font-size: 13.5px; }
  .dtn-foot a { color: var(--color-accent-700); }
  .dtn-foot a:hover { text-decoration: underline; }
  .dtn-promo { background: var(--color-neutral-100); border: 1px solid var(--color-divider); border-radius: 6px; padding: 22px; align-self: start; }
  .dtn-contact { display: none; }
  .dtn-cta .dtn-wa { background: var(--color-accent-700); color: #fff !important; border-color: var(--color-accent-700) !important; }
  .dtn-cta .dtn-wa:hover { background: var(--color-accent-800); }
}
@media (min-width: 1041px) and (max-width: 1240px) {
  .dtn-word .dt-word { font-size: 18px; }
  .dtn-top { font-size: 13.5px; }
  .dtn-in { grid-template-columns: 1fr; }
  .dtn-promo { display: none; }
}
.dtn-h { display: block; line-height: 1.5; margin: 0 0 10px; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--dt-gold-700); }
a.dtn-h:hover { color: var(--color-accent-700); }
.dtn-grp li a { display: block; padding: 5px 0; font-size: 14px; line-height: 1.35; color: var(--color-text); opacity: .86; }
.dtn-grp li a:hover { color: var(--color-accent-700); opacity: 1; }
.dtn-promo-k { margin: 0 0 8px; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--dt-gold-700); }
.dtn-promo-t { margin: 0 0 16px; font-family: var(--font-heading); font-size: 20px; line-height: 1.3; color: var(--color-text); }
.dtn-promo-b { width: 100%; font-size: 13.5px; }

/* ---------- Tablet and mobile: slide-in drawer with accordions ---------- */
@media (max-width: 1040px) {
  :root { --hdr-h: 64px; }
  .dt-strip { display: none; }
  .dtn-bar { padding: 0 16px; }
  .dt-hdr { background: var(--color-bg) !important; border-bottom: 1px solid var(--color-divider) !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; box-shadow: 0 4px 18px rgba(16, 29, 51, .06); }
  .dt-hdr::after { display: none; }
  .dt-monogram { width: 40px; height: 40px; font-size: 21px; }
  .dtn-word .dt-word { font-size: 18px; }
  .dtn-word .dt-sub { font-size: 8.5px; }
  .dtn-call, .dtn-wa { display: none !important; }
  .dt-burger { display: inline-flex; }
  .dtn { position: fixed; top: var(--hdr-h); left: 0; right: 0; bottom: 0; z-index: 59; background: #fff; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; transform: translateX(100%); visibility: hidden; transition: transform .32s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .32s; padding: 6px 0 120px; }
  header.dts-open .dtn { transform: none; visibility: visible; transition: transform .32s cubic-bezier(.2, .8, .2, 1), visibility 0s; }
  .dtn-list { padding: 0 20px; }
  .dtn-item { display: grid; grid-template-columns: 1fr 52px; align-items: center; border-bottom: 1px solid var(--color-divider); }
  .dtn-top { display: block; padding: 17px 0; font-family: var(--font-heading); font-size: 21px; color: var(--color-text); }
  .dtn-tog { width: 52px; height: 52px; border: 0; background: none; color: var(--color-text); display: flex; align-items: center; justify-content: center; cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .dtn-tog svg { width: 16px; height: 16px; transition: transform .3s; }
  .dtn-has.is-open .dtn-tog svg { transform: rotate(180deg); }
  .dtn-panel { grid-column: 1 / -1; display: none; padding: 2px 0 18px; }
  .dtn-has.is-open .dtn-panel { display: block; }
  .dtn-in { display: block; }
  .dtn-cols, .dtn-col { display: block; }
  .dtn-grp { margin: 6px 0 14px; }
  .dtn-h { margin: 10px 0 4px; }
  .dtn-grp li a { padding: 9px 0; font-size: 15.5px; }
  .dtn-promo { display: none; }
  .dtn-foot { display: flex; flex-direction: column; gap: 4px; }
  .dtn-foot a { display: block; padding: 10px 0; font-size: 15px; color: var(--color-accent-700); font-weight: 500; }
  .dtn-contact { display: grid; gap: 6px; padding: 22px 20px 0; font-size: 13.5px; color: rgba(16, 29, 51, .7); }
  .dtn-contact a { color: var(--color-accent-700); }
  html.dts-lock, html.dts-lock body { overflow: hidden; }
}
@media (min-width: 600px) and (max-width: 1040px) {
  .dtn-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
}

/* ---------- Floating actions: WhatsApp, Call, back to top (bottom right) ---------- */
.dt-mob { display: none !important; }
.dt-fab { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); z-index: 58; display: flex; flex-direction: column; align-items: center; gap: 12px; pointer-events: none; }
.dt-fab-b { pointer-events: auto; width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; text-decoration: none; cursor: pointer; border: 0; padding: 0; box-shadow: 0 8px 22px rgba(16, 29, 51, .22); transition: transform .2s, box-shadow .2s, opacity .25s, visibility .25s; -webkit-tap-highlight-color: transparent; }
.dt-fab-b:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(16, 29, 51, .28); }
.dt-fab-wa { width: 58px; height: 58px; background: var(--dt-wa); color: #fff; }
.dt-fab-wa:hover { background: var(--dt-wa-d); }
.dt-fab-call { background: var(--color-accent-700); color: #fff; }
.dt-fab-up { width: 44px; height: 44px; background: #fff; color: var(--color-text); border: 1px solid var(--color-divider); opacity: 0; visibility: hidden; transform: translateY(8px); }
.dt-fab.show-up .dt-fab-up { opacity: 1; visibility: visible; transform: none; }
header.dts-open ~ * .dt-fab, html.dts-lock .dt-fab { opacity: 0; visibility: hidden; }
@media print { .dt-fab, .dt-hdr { display: none !important; } }

/* ---------- Mobile page layout ---------- */
@media (max-width: 900px) {
  /* hero: text first, image as a clean panel beneath, never behind the buttons */
  section.dt-hero { min-height: 0 !important; display: flex !important; flex-direction: column; align-items: stretch !important; }
  section.dt-hero .dt-herotext { order: 1; padding: calc(var(--hdr-h) + 30px) 16px 22px !important; }
  section.dt-hero .dt-heropanel { order: 2; position: relative !important; inset: auto !important; height: auto !important; aspect-ratio: 16 / 10; margin: 0 16px 26px; border-radius: 6px; }
  section.dt-hero .dt-heroimg { position: absolute; inset: 0; transform: none !important; }
  section.dt-hero .dt-heroveil { display: none !important; }
  section.dt-hero h1 { font-size: clamp(34px, 9.4vw, 46px) !important; line-height: 1.08 !important; max-width: none !important; }
  section.dt-hero .dt-eyebrow { margin-bottom: 16px !important; gap: 8px 12px; }
  section.dt-hero .dt-d1 { margin-top: 20px !important; gap: 20px !important; grid-template-columns: 1fr !important; }
  section.dt-hero .dt-d1 p { font-size: 16px !important; line-height: 27px !important; }
  section.dt-hero .dt-d2 { display: none !important; }
  section.dt-hero .dt-d1 > div:last-child { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px !important; }
  section.dt-hero .dt-d1 .btn { width: 100%; min-height: 50px; font-size: 15px; padding: 12px 10px; }
}
@media (max-width: 720px) {
  body { font-size: 16px; }
  /* primary call-to-action reads as the main button */
  .btn-primary:not(.dtn-promo-b) { background: var(--color-accent-700); color: #fff !important; border-color: var(--color-accent-700) !important; }
  .btn-primary.scp1 { background: #fff; color: var(--color-accent-700) !important; border-color: #fff !important; }
  /* stat strip: 2 x 2 instead of one long column */
  [style*="minmax(170px, 1fr)"] { grid-template-columns: 1fr 1fr !important; gap: 16px 14px !important; padding-top: 20px !important; padding-bottom: 20px !important; }
  [style*="minmax(170px, 1fr)"] p:first-child { font-size: 26px !important; }
  [style*="minmax(170px, 1fr)"] p + p { font-size: 10px !important; letter-spacing: .1em !important; line-height: 1.4; }
  /* no justified text on phones: it leaves rivers of white space */
  [style*="text-align: justify"] { text-align: left !important; word-spacing: normal !important; hyphens: auto; }
  /* tighter vertical rhythm */
  section[style*="clamp(56px, 8vw, 100px)"] { padding-top: 44px !important; }
  section[style*="padding: clamp(56px, 8vw, 100px) 0px;"] { padding-bottom: 44px !important; }
  h2[style*="font-size: clamp(28px, 3.6vw, 48px)"], h2[style*="font-size: clamp(26px, 3.3vw, 42px)"] { font-size: 28px !important; }
  /* division rows: compact, 2 line summary */
  .dt-hrow { grid-template-columns: 38px minmax(0, 1fr) !important; padding: 16px 0 !important; row-gap: 4px !important; }
  .dt-hrow-num { font-size: 20px !important; padding-top: 3px; }
  .dt-hrow-kick { font-size: 9.5px !important; margin-bottom: 4px !important; }
  .dt-hrow-ttl { font-size: 20px !important; }
  .dt-hrow-sub { font-size: 14px !important; line-height: 22px !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  /* sector cards and photo galleries swipe sideways instead of stacking */
  div:has(> a.dt-card) { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px !important; margin-left: -16px; margin-right: -16px; padding: 0 16px 8px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  div:has(> a.dt-card)::-webkit-scrollbar { display: none; }
  div:has(> a.dt-card) > a.dt-card { flex: 0 0 78%; scroll-snap-align: start; }
  div[style*="minmax(240px, 1fr)"]:has(> figure) { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  div[style*="minmax(240px, 1fr)"]:has(> figure) img { aspect-ratio: 1 / 1 !important; }
  figure.plate img { aspect-ratio: 16 / 11 !important; }
  /* reviews */
  .dt-rev { width: 260px; padding: 16px 18px; }
  /* chips: bigger tap targets */
  .dt-chip { padding: 8px 12px !important; font-size: 12.5px !important; letter-spacing: .01em !important; }
  /* footer: compact services list */
  footer .dt-fcols { grid-template-columns: 1fr 1fr !important; gap: 2px 14px !important; font-size: 13.5px !important; }
  footer .dt-fcols a { padding: 6px 0; line-height: 1.35; }
  footer .dt-fcols.is-clipped { max-height: 330px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
  .dt-fmore { display: inline-flex !important; margin-top: 12px; }
  footer > div:last-child { padding-bottom: 110px !important; }
  /* keep wide tables and long words inside the screen */
  table { display: block; max-width: 100%; overflow-x: auto; }
  main, section, article { overflow-wrap: anywhere; }
}
.dt-fmore { display: none; background: none; border: 1px solid var(--color-divider); border-radius: 4px; padding: 10px 16px; font: inherit; font-size: 13px; color: var(--color-accent-700); cursor: pointer; }
@media (prefers-reduced-motion: reduce) { .dtn, .dtn-panel, .dt-fab-b { transition: none !important; } }

/* ---------- Social icons, about and contact pages ---------- */
.dt-soc { display: flex; gap: 10px; margin-top: 6px; }
.dt-soc a { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--color-divider); border-radius: 50%; color: var(--color-accent-700); transition: background .25s, color .25s, border-color .25s; }
.dt-soc a:hover { background: var(--color-accent-700); border-color: var(--color-accent-700); color: #fff; }
.dt-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1px; background: var(--color-divider); border: 1px solid var(--color-divider); margin-top: 38px; }
.dt-fact { background: #fff; padding: 26px 24px; }
.dt-fact b { display: block; font-family: var(--font-heading); font-weight: 400; font-size: clamp(30px, 3.2vw, 42px); line-height: 1.1; color: var(--color-accent-700); }
.dt-fact span { display: block; margin-top: 10px; font-size: 14.5px; line-height: 23px; color: rgba(16, 29, 51, .78); }
.dt-fact small { display: block; margin-top: 8px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--dt-gold-700); }
.dt-prose p { font-size: 17px; line-height: 30px; margin: 0 0 16px; color: rgba(16, 29, 51, .86); max-width: 68ch; }
.dt-checks { list-style: none; margin: 30px 0 0; padding: 0; counter-reset: c; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 0 40px; }
.dt-checks li { counter-increment: c; display: grid; grid-template-columns: 44px 1fr; padding: 14px 0; border-top: 1px solid var(--color-divider); font-size: 15px; line-height: 24px; }
.dt-checks li::before { content: counter(c, decimal-leading-zero); font-family: var(--font-heading); color: var(--dt-gold); font-size: 20px; }
.dt-checks li b { font-weight: 500; display: block; }
.dt-cgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 16px; margin-top: 36px; }
.dt-ccard { display: block; background: #fff; border: 1px solid var(--color-divider); border-radius: 6px; padding: 24px; text-decoration: none; color: var(--color-text); transition: border-color .25s, box-shadow .25s; }
a.dt-ccard:hover { border-color: var(--color-accent); box-shadow: 0 12px 30px rgba(16, 29, 51, .08); }
.dt-ccard small { display: block; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--dt-gold-700); margin-bottom: 10px; }
.dt-ccard strong { display: block; font-family: var(--font-heading); font-weight: 400; font-size: 21px; line-height: 1.3; overflow-wrap: anywhere; }
.dt-ccard span { display: block; margin-top: 8px; font-size: 14px; color: rgba(16, 29, 51, .7); }
.dt-map { margin-top: 36px; border: 1px solid var(--color-divider); border-radius: 6px; overflow: hidden; }
@media (max-width: 720px) { .dt-prose p { font-size: 16px; line-height: 27px; } .dt-fact { padding: 20px 18px; } .dt-checks { grid-template-columns: 1fr; } }
