.theme-flat-navy { --cover-bg: var(--bg); --aside-bg: var(--bg); --aside-text: var(--primary); --title-color: var(--primary); --radius: var(--r, 20px); }
.theme-flat-navy .inv-main, .theme-flat-navy .sec { background: var(--bg); }
.theme-flat-navy .sec-alt { background: var(--surface); }
.theme-flat-navy .sec-title { font-family: var(--names-font, var(--font-script)); font-weight: var(--names-weight, 400); font-size: var(--title-size, 42px); }
.theme-flat-navy .sec-sub { letter-spacing: .26em; }
.theme-flat-navy .host-name, .theme-flat-navy .closing .names { font-family: var(--names-font, var(--font-script)); font-weight: var(--names-weight, 400); color: var(--primary); }
.theme-flat-navy .host-photo { border-radius: var(--photo-r, 28px); border: 0; box-shadow: 0 20px 40px -26px rgb(0 0 0 / .45); }
.theme-flat-navy .host-photo.ph { background: color-mix(in srgb, var(--primary) 12%, var(--surface)); color: var(--primary); }
.theme-flat-navy .card, .theme-flat-navy .wish, .theme-flat-navy .field { background: var(--card, var(--surface)); border: 1px solid color-mix(in srgb, var(--primary) 12%, transparent); box-shadow: 0 18px 36px -30px rgb(0 0 0 / .45); }
.theme-flat-navy .sec-alt .card, .theme-flat-navy .sec-alt .wish { background: var(--bg); }
.theme-flat-navy .btn-open, .theme-flat-navy .btn { border-radius: var(--btn-r, 999px); background: var(--primary); color: var(--on-primary); box-shadow: none; animation: none; font-weight: 600; }
.theme-flat-navy .btn-outline { background: transparent; color: var(--primary); box-shadow: inset 0 0 0 1.5px var(--primary); }
.theme-flat-navy .cd { background: var(--surface); color: var(--primary); border-radius: 16px; border: 1px solid color-mix(in srgb, var(--primary) 15%, transparent); }
.theme-flat-navy .gift { background: linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 65%, #000)); }
.theme-flat-navy .amp { font-family: var(--names-font, var(--font-script)); color: var(--accent); }
.theme-flat-navy .inv-aside h1 { font-family: var(--names-font, var(--font-script)); font-weight: var(--names-weight, 400); }
.theme-flat-navy { --names-size: 50px; --btn-r: 6px; }
.theme-flat-navy .cf-l-split .cf-art { background: var(--primary); --ill-light: color-mix(in srgb, var(--primary) 70%, #fff); }
.theme-flat-navy .cf-eyebrow { color: var(--accent); }
.theme-flat-navy .card { border-top: 3px solid var(--accent); }
