:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg: #fff2f7;--bg2: #ffe6f1;--card: rgba(255, 255, 255, .72);--stroke: rgba(255, 180, 210, .45);--text: #2a1b22;--muted: rgba(42, 27, 34, .7);--gold: #d6a646;--gold2: #f2d37c;--shadow: 0 18px 60px rgba(180, 70, 120, .22)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:radial-gradient(900px 600px at 20% 0%,rgba(255,200,225,.85),transparent 60%),radial-gradient(800px 500px at 90% 20%,rgba(255,235,190,.7),transparent 60%),radial-gradient(900px 700px at 50% 110%,rgba(255,205,230,.75),transparent 60%),linear-gradient(180deg,var(--bg),var(--bg2))}.page{min-height:100vh}.intro{position:fixed;inset:0;display:grid;place-items:center;padding:22px;z-index:50;-webkit-backdrop-filter:none;backdrop-filter:none;background:transparent;transition:opacity .5s ease,transform .5s ease}.intro--hidden{opacity:0;pointer-events:none;transform:translateY(-10px)}.intro__content{position:relative;z-index:5;text-align:center;padding:18px 14px;border-radius:18px}.sparkle{position:absolute;inset:-40%;background:radial-gradient(circle at 20% 25%,rgba(214,166,70,.16),transparent 35%),radial-gradient(circle at 70% 30%,rgba(255,170,205,.22),transparent 40%),radial-gradient(circle at 45% 70%,rgba(214,166,70,.12),transparent 35%);filter:blur(2px);transform:rotate(8deg);pointer-events:none}.intro__kicker{margin:0 0 10px;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:#2a1b228c}.intro__title{margin:0;font-size:clamp(2rem,7vw,2.8rem);letter-spacing:-.03em}.corner{position:absolute;width:min(170px,42vw);aspect-ratio:3 / 4;object-fit:cover;border-radius:18px;border:1px solid rgba(214,166,70,.45);box-shadow:0 18px 55px #b4467838;z-index:1;opacity:.95}.corner--tl{top:40px;left:30px;transform:rotate(-10deg)}.corner--br{bottom:40px;right:30px;transform:rotate(10deg)}@media(max-width:360px){.corner{width:min(140px,40vw)}}.btn--lower{margin-top:18px}.typewriter{display:inline-flex;align-items:baseline;justify-content:center;gap:2px;position:relative;background:linear-gradient(90deg,#ff5fa2,var(--gold),#ff5fa2);-webkit-background-clip:text;background-clip:text;color:transparent}.caret{width:10px;height:1.2em;display:inline-block;border-left:2px solid rgba(42,27,34,.55);transform:translateY(2px);animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.intro__sub{margin:12px auto 18px;max-width:38ch;color:var(--muted);line-height:1.4}.btn{appearance:none;border:1px solid rgba(214,166,70,.55);background:linear-gradient(180deg,#f2d37c8c,#d6a64659);color:#2a1b22e0;padding:12px 18px;border-radius:999px;font-weight:700;cursor:pointer;box-shadow:0 10px 30px #d6a6462e;transition:transform .16s ease,filter .16s ease,opacity .4s ease;opacity:0;transform:translateY(6px) scale(.98);pointer-events:none}.btn--show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.btn:disabled{cursor:not-allowed}.btn:active{transform:translateY(0) scale(.98)}.btn:hover{filter:brightness(1.03)}.intro__hint{margin:14px 0 0;color:#2a1b228c;font-size:.95rem}.main{opacity:0;transform:translateY(8px);transition:opacity .6s ease,transform .6s ease;padding:18px 16px 56px;width:min(980px,100%);margin:0 auto}.main--show{opacity:1;transform:translateY(0)}.hero{padding-top:26px}.hero__headline{margin:0 0 8px;font-size:clamp(1.6rem,5vw,2.2rem);letter-spacing:-.02em;color:#2a1b22}.hero__text{margin:0;color:#2a1b22b8;line-height:1.6;max-width:56ch;font-size:18px}.hero__text2{margin:0;color:#2a1b22b8;line-height:1.6;max-width:56ch;font-size:10px}.gridWrap{margin-top:18px}.sectionTitle{margin:22px 0 10px;font-size:1.05rem;color:#2a1b22d9;letter-spacing:.02em;text-align:left}.photoGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;max-width:520px;margin:0}@media(min-width:720px){.photoGrid{grid-template-columns:repeat(3,1fr);gap:14px}}.tile{position:relative;width:100%;aspect-ratio:1 / 1;border:1px solid rgba(214,166,70,.35);border-radius:16px;overflow:hidden;background:#ffffff59;padding:0;cursor:pointer;box-shadow:0 14px 36px #b446782e;transition:transform .22s ease,box-shadow .22s ease}.tile img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.01);transition:transform .25s ease}.tile:hover img{transform:scale(1.05)}.tile:hover{transform:translateY(-2px);box-shadow:0 18px 44px #b4467838}.tile__shine{position:absolute;inset:0;background:radial-gradient(420px 260px at 10% 10%,rgba(255,255,255,.18),transparent 60%);opacity:.7;pointer-events:none}.gridNote{margin:10px 2px 0;color:#2a1b229e;font-size:.95rem}.note{margin-top:18px;border:1px solid rgba(214,166,70,.25);background:#ffffff59;border-radius:16px;padding:16px;line-height:1.7;color:#2a1b22db;box-shadow:0 14px 40px #b4467824}.signature{margin-top:10px;color:#2a1b22b3;font-weight:700}.modal{position:fixed;inset:0;background:#140a10b8;display:grid;place-items:center;z-index:60;padding:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal__img{width:min(920px,96vw);max-height:82vh;object-fit:contain;border-radius:16px;border:1px solid rgba(255,255,255,.22);background:#ffffff0f;box-shadow:0 22px 70px #00000059}.modal__close{position:fixed;top:16px;right:16px;border:1px solid rgba(255,255,255,.24);background:#ffffff24;color:#fff;border-radius:999px;padding:10px 12px;cursor:pointer}
