.family-names{font-size:9px;letter-spacing:3px;margin:-4px 0 18px}.intro-dialog{width:100%;height:100%;height:100svh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#1b2c26;color:#f8f4e8;overflow:hidden;box-shadow:none}.intro-dialog::backdrop{background:#1b2c26}.intro-dialog video{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center}.intro-shade{position:absolute;inset:0;background:linear-gradient(180deg,#13271e55,#12231ab0 60%,#0e1b17b0);transition:background 1.5s}.intro-top{position:absolute;top:0;left:0;right:0;padding:28px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:3;font-size:9px;letter-spacing:2px}.intro-top button,.intro-controls button{border:0;background:transparent;color:inherit;font-size:11px;padding:10px;letter-spacing:.6px}.intro-top button span{margin-left:20px}.intro-invitation{position:absolute;inset:15% 5% 9%;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;transition:opacity 1.8s,transform 2s}.intro-invitation>.eyebrow{font-size:13px;letter-spacing:5px;margin:0 0 4px}.intro-translation{font:italic 14px var(--serif);color:#e1e5d7;margin:3px 0 14px}.intro-invitation h2{display:flex;align-items:center;justify-content:center;gap:30px;font-size:clamp(45px,5.5vw,90px);line-height:1.1;margin:22px 0 26px;letter-spacing:-2px}.intro-invitation h2 span{display:block}.intro-invitation h2 span i{display:block;font-size:.52em;line-height:1.8;letter-spacing:1px;font-weight:400}.intro-invitation h2>em{font-size:.62em;color:#d1b794;transform:translateY(-12px)}.intro-wedding{font-size:12px;letter-spacing:1.2px;margin:10px 0 0}.intro-start{display:flex;gap:15px;margin-top:26px;flex-wrap:wrap;justify-content:center}.intro-start button{border:1px solid #e0ddc299;background:transparent;color:inherit;font-size:11px;padding:14px 24px;letter-spacing:1px}.intro-start button:first-child{background:#f3efe2;color:#283c34;border-color:#f3efe2}.intro-start button:hover{filter:brightness(1.12)}.intro-start span{margin-left:20px}#intro-status{font-size:10px;letter-spacing:.5px;color:#e1e5d7;max-width:420px}.intro-credit{position:absolute;bottom:20px;right:5%;font-size:9px;color:#e1e5d7b0}.intro-film-title{position:absolute;left:5%;right:5%;top:44%;text-align:center;opacity:0;transform:translateY(12px);transition:opacity 2s,transform 2s;pointer-events:none;text-shadow:0 2px 24px #13271e}.intro-film-title>span{font-size:clamp(18px,3vw,40px);font-family:var(--serif);letter-spacing:3px}.intro-film-title i{font-size:1.15em;padding:0 15px;color:#e2d4b4}.intro-film-title p{font:italic clamp(22px,3vw,44px) var(--serif);margin:22px 0 6px}.intro-film-title small{font-size:10px;letter-spacing:2px}.intro-controls{position:absolute;bottom:35px;left:5%;display:flex;align-items:center;gap:18px;z-index:3}.intro-controls button{border:1px solid #ffffff55;padding:8px 15px;background:#152c2355}.intro-controls>span{font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:1px}.intro-dialog.playing .intro-invitation{opacity:0;transform:translateY(-10px);pointer-events:none}.intro-dialog.playing .intro-shade{background:linear-gradient(180deg,#13271e55,transparent 40%,#0e1b1744)}.intro-dialog.reveal-titles .intro-film-title{opacity:1;transform:translateY(0)}.intro-dialog.ending{opacity:0;transition:opacity 1.2s}.replay-intro{font-size:10px;border:0;border-bottom:1px solid var(--line);padding:5px 0;color:var(--ink);background:none}.intro-dialog :focus-visible{outline-color:#e4c18a}@media(max-width:620px){.intro-top{padding:18px 5%;font-size:7px;letter-spacing:1px}.intro-top button{font-size:10px}.intro-top button span{margin-left:8px}.intro-invitation{inset:12% 6% 10%}.intro-invitation>.eyebrow{font-size:10px;letter-spacing:3px}.intro-invitation h2{font-size:clamp(35px,8.5vw,55px);gap:15px;margin:25px 0 12px;letter-spacing:-1px}.intro-invitation h2 span i{font-size:.6em}.intro-wedding{font-size:10px;letter-spacing:.4px}.intro-translation{font-size:12px}.intro-start{gap:12px;margin-top:20px}.intro-start button{font-size:10px;padding:12px 16px}.intro-start span{margin-left:10px}.intro-film-title>span{font-size:19px;letter-spacing:1px}.intro-film-title i{padding:0 7px}.intro-controls{gap:10px;bottom:45px}.intro-controls button{font-size:10px;padding:8px 10px}.family-names{font-size:8px;letter-spacing:2px}.intro-credit{font-size:8px}}@media(max-height:550px){.intro-invitation{inset:10% 5%}.intro-invitation h2{font-size:40px;margin:8px 0}.intro-invitation>.eyebrow{font-size:10px}.intro-start{margin-top:8px}.intro-wedding{margin-top:0}.intro-translation{margin-bottom:4px}.intro-invitation #intro-status{margin:6px}.intro-top{padding:10px 5%}}
.intro-fog{position:absolute;inset:-10%;pointer-events:none;background:radial-gradient(ellipse at 20% 40%,#d5ded9 5%,#c2cdc4bb 40%,transparent 75%),radial-gradient(ellipse at 90% 60%,#e2e5db 10%,#d2ddd3cc 40%,transparent 75%);filter:blur(25px);opacity:var(--fog-opacity,0);transition:opacity .3s linear;transform:scale(1.15)}
.intro-dialog{overflow:clip}.intro-fog{inset:0;transform:none}
.hero-actions{margin-top:25px}.hero-replay{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 20px;border:1px solid #283c3470;border-radius:30px;background:#f6f3ebdc;color:var(--ink);font-size:11px;letter-spacing:.8px;box-shadow:0 2px 12px #283c3410}.hero-replay span{font-size:19px;line-height:1}.hero-replay:hover{background:var(--paper);border-color:var(--ink)}
