/* Visual Journey — navy, terracotta, titik rute, dan cerita yang bergerak maju. */
.t-visualjourney {
    --bg: #111e2b; --bg-2: #1c2e3c; --card: #223b4a; --ink: #f3e8d6; --muted: #b4b8b0;
    --accent: #d58761; --accent-2: #e6b082; --on-accent: #22170f; --line: rgba(213,135,97,.3);
    --hero-rgb: 17,30,43; --tint-a: .70; --hero-ink: #f5e9d7;
    --pattern: radial-gradient(circle, rgba(230,176,130,.14) 1px, transparent 1.5px) 0 0 / 18px 18px;
    --serif-v: 'Bodoni Moda', Georgia, serif;
    color-scheme: dark;
}
.t-visualjourney .page { background: linear-gradient(90deg, rgba(230,176,130,.035) 1px, transparent 1px) 0 0 / 54px 54px, radial-gradient(circle, rgba(230,176,130,.14) 1px, transparent 1.5px) 0 0 / 18px 18px, var(--bg); }
.t-visualjourney .cover, .t-visualjourney .hero, .t-visualjourney .aside { background-image: linear-gradient(var(--hero-tint), var(--hero-tint)), var(--cover, none), radial-gradient(circle at 78% 18%, rgba(213,135,97,.3), transparent 36%), linear-gradient(145deg, #1c2e3c, #0c1722); }
.t-visualjourney .cover::before { inset: 18px; border: 1px solid rgba(230,176,130,.5); border-radius: 0; background: linear-gradient(90deg, rgba(230,176,130,.18) 1px, transparent 1px) 0 0 / 36px 36px; opacity: .55; }
.t-visualjourney .cover::after { content: 'ROUTE 01  /  TOGETHER'; inset: auto auto 30px 32px; border: 0; font: 600 .58rem 'DM Sans', sans-serif; letter-spacing: .25em; color: var(--accent-2); opacity: .9; }
.t-visualjourney .cover__inner { gap: 1rem; }
.t-visualjourney .kicker { font: 600 .66rem 'DM Sans', sans-serif; letter-spacing: .34em; color: var(--accent-2); }
.t-visualjourney .names, .t-visualjourney .names i, .t-visualjourney .sec__title, .t-visualjourney .event h3,
.t-visualjourney .lstory__title, .t-visualjourney .quote, .t-visualjourney .wishes__title, .t-visualjourney .thanks { font-family: var(--serif-v); }
.t-visualjourney .names { font-style: italic; font-weight: 400; letter-spacing: -.045em; }
.t-visualjourney .names i { color: var(--accent); }
.t-visualjourney .cover .names { font-size: clamp(3.7rem, 15vw, 5.6rem); line-height: .96; }
.t-visualjourney .cover__date, .t-visualjourney .hero__date, .t-visualjourney .aside__date { font: 600 .7rem 'DM Sans', sans-serif; letter-spacing: .24em; text-transform: uppercase; color: var(--accent-2); }
.t-visualjourney .cover__to strong { font: 500 1.5rem var(--serif-v); }
.t-visualjourney .sec { padding-block: 4.8rem; }
.t-visualjourney .sec--tint { background: linear-gradient(135deg, rgba(28,46,60,.9), rgba(17,30,43,.98)); }
.t-visualjourney .sec__title { font-weight: 400; font-size: 2.45rem; color: var(--ink); }
.t-visualjourney .sec__title::before { content: '01'; display: block; margin-bottom: .55rem; font: 600 .66rem 'DM Sans', sans-serif; letter-spacing: .25em; color: var(--accent); }
.t-visualjourney .sec__title::after { content: '↘'; margin-top: .35rem; color: var(--accent); font-family: 'DM Sans', sans-serif; font-size: 1rem; }
.t-visualjourney .lead-txt, .t-visualjourney .person__parents, .t-visualjourney .event__addr, .t-visualjourney .story, .t-visualjourney .lstory__text { color: var(--muted); }
.t-visualjourney .quote { font-size: 1.28rem; line-height: 1.65; color: var(--ink); }
.t-visualjourney .ornament { font-size: 0; }
.t-visualjourney .ornament::before { content: '⌁'; font: 2rem/1 var(--serif-v); color: var(--accent); }
.t-visualjourney .event, .t-visualjourney .lstory__card, .t-visualjourney .gift, .t-visualjourney .rsvp, .t-visualjourney .wish { border-radius: 4px; background: rgba(34,59,74,.88); border-color: var(--line); box-shadow: 0 26px 48px -34px rgba(0,0,0,.9); }
.t-visualjourney .event::before { inset: 8px; border-radius: 0; border-color: rgba(230,176,130,.18); }
.t-visualjourney .event h3, .t-visualjourney .lstory__title, .t-visualjourney .gift__bank { color: var(--accent-2); }
.t-visualjourney .divider { background: linear-gradient(90deg, transparent, var(--accent), transparent); }
.t-visualjourney .ibtn { border-radius: 2px; border-color: var(--accent); }
.t-visualjourney .ibtn--solid { background: var(--accent); color: var(--on-accent); box-shadow: 0 14px 30px -18px var(--accent); }
.t-visualjourney .ibtn--solid:hover { background: var(--accent-2); }
.t-visualjourney .pframe { padding: 10px 10px 16px 0; }
.t-visualjourney .pframe::before { inset: 12px 0 0 12px; border-radius: 0; border-color: var(--accent); transform: rotate(-3deg); }
.t-visualjourney .pframe::after { display: none; }
.t-visualjourney .pframe__arch { border-radius: 2px; background: var(--bg-2); box-shadow: 10px 10px 0 rgba(213,135,97,.14); }
.t-visualjourney .pframe__init { font-family: var(--serif-v); font-style: italic; color: var(--accent-2); background: linear-gradient(135deg, #29475a, #172936); }
.t-visualjourney .countdown div { border-radius: 4px; background: rgba(34,59,74,.9); border-color: var(--line); }
.t-visualjourney .countdown b { font-family: var(--serif-v); font-style: italic; color: var(--accent-2); }
.t-visualjourney .music { border-radius: 2px; background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
.t-visualjourney .ifoot { border-top-color: var(--line); background: rgba(12,23,34,.4); }
.t-visualjourney .ifld input, .t-visualjourney .ifld textarea, .t-visualjourney .ifld select { border-color: rgba(230,176,130,.22); background: rgba(255,255,255,.05); color: var(--ink); }
.t-visualjourney .ifld select option { background: #1c2e3c; color: var(--ink); }
.t-visualjourney .lstory::before { background: repeating-linear-gradient(to bottom, var(--accent) 0 8px, transparent 8px 15px); opacity: .85; }
.t-visualjourney .lstory__dot { width: 11px; height: 11px; border-radius: 2px; transform: rotate(45deg); background: var(--accent); box-shadow: 0 0 0 4px var(--bg), 0 0 0 5px var(--line); }
@media (min-width: 960px) { .t-visualjourney .aside { background-image: linear-gradient(var(--hero-tint), var(--hero-tint)), var(--cover, none), radial-gradient(circle at 78% 18%, rgba(213,135,97,.25), transparent 36%), linear-gradient(145deg, #1c2e3c, #0c1722); } }
