﻿:root{--gold: #c9b48a;--gold2: #e7ddc8;--gold3: #b89a61;--ink: #121826;--muted: rgba(18, 24, 38, .72);--muted2: rgba(18, 24, 38, .55);--line: rgba(18, 24, 38, .12);--s1: #fbfaf7;--s2: #ffffff;--s3: #f7f3ea;--container: 1120px;--pad: clamp(18px, 3vw, 36px);--radius: 24px;--shadow: 0 28px 90px rgba(18, 24, 38, .1);--shadowSoft: 0 22px 70px rgba(18, 24, 38, .08)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial;color:var(--ink);background:var(--s1);letter-spacing:.01em}a{color:inherit;text-decoration:none}.container{width:min(var(--container),calc(100% - (var(--pad) * 2)));margin:0 auto}.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:#fbfaf726;backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.22);transition:background .2s ease,box-shadow .2s ease,border-color .2s ease}.nav.scrolled{color:initial;background:#ffffffd1;box-shadow:0 18px 50px #12182614;border-color:#12182614;.menu,.brand{color:#121826b3}}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.brand{font-family:Cormorant Garamond,serif;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:13px;color:#fff;display:flex;align-items:center;gap:10px}.brand .mark{width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 7px #c9b48a2e}.menu{color:#fff;display:flex;gap:18px;flex-wrap:wrap;font-size:13px}.menu a{padding:8px 10px;border-radius:999px;border:1px solid transparent}.menu a:hover{border-color:#1218261f;background:#ffffffa6}section{width:100%}.section{padding:96px 0;position:relative}.alt0{background:var(--s1)}.alt1{background:var(--s2)}.alt2{background:var(--s3)}.section-head{text-align:center;margin-bottom:54px;&.second{margin-top:27px}}.kicker{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted2);font-weight:800}.title{font-family:Cormorant Garamond,serif;font-size:clamp(34px,4.4vw,56px);line-height:1.05;font-weight:700;letter-spacing:-.02em}.sub{margin:12px auto 0;max-width:74ch;color:var(--muted);line-height:1.85;font-size:14px}.hero{height:100vh;min-height:720px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding-top:56px;background:radial-gradient(1200px 900px at 20% 0%,rgba(231,221,200,.55),transparent 55%),radial-gradient(900px 700px at 90% 10%,rgba(201,180,138,.22),transparent 60%),linear-gradient(180deg,#ffffff 0%,var(--s1) 55%,var(--s1) 100%)}.hero:before{content:"";position:absolute;inset:-30px;background-image:url(assets/wedding_hands.jpg);background-size:cover;background-position:center;transform:scale(1.03);filter:saturate(1.04) contrast(1.02);opacity:.95}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(900px 600px at 50% 20%,rgba(201,180,138,.28),transparent 60%),linear-gradient(180deg,#00000073,#00000029,#fbfaf7db);pointer-events:none}.hero .container{position:relative;z-index:1;text-align:center;padding:54px 0 20px}.hero-kicker{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:#ffffff38;border:1px solid rgba(255,255,255,.22);color:#ffffffe0;backdrop-filter:blur(10px);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:900;box-shadow:0 22px 70px #0000002e}.hero-kicker .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px #c9b48a38}.names{margin:18px 0 0;font-family:Cormorant Garamond,serif;font-size:clamp(44px,6.5vw,88px);line-height:1.02;color:#fffffffa;text-shadow:0 24px 70px rgba(0,0,0,.34);font-weight:700;letter-spacing:-.02em}.hero-sub{margin:12px auto 0;max-width:72ch;color:#ffffffdb;line-height:1.85;font-size:14px}.save-date-bar{margin:24px auto 0;display:inline-flex;align-items:center;gap:18px;padding:12px 16px;border-radius:999px;background:#ffffff2e;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);box-shadow:0 22px 70px #0000002e;color:#ffffffeb;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:900}.save-date-bar .sep{width:1px;height:18px;background:#ffffff8c;display:inline-block}.countdown{margin:40px auto 0;display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.orb{width:112px;height:112px;border-radius:999px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffffd6;border:1px solid rgba(255,255,255,.55);box-shadow:0 26px 80px #0003;backdrop-filter:blur(10px);position:relative}.orb:before{content:"";position:absolute;inset:-12px;border-radius:999px;background:radial-gradient(circle at 30% 20%,rgba(231,221,200,.55),transparent 60%);filter:blur(12px);opacity:.7;z-index:-1}.orb .num{font-weight:900;font-size:28px;letter-spacing:.02em;color:#121826eb}.orb .lbl{margin-top:6px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#1218268c;font-weight:800}.scroll-hint{display:flex;margin-top:34px;flex-direction:column;align-items:center;gap:10px;color:#ffffffc7;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:800}.mouse{width:22px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.4);position:relative;background:#ffffff1a;backdrop-filter:blur(10px)}.mouse:after{content:"";width:4px;height:4px;border-radius:50%;background:#ffffffdb;position:absolute;left:50%;top:9px;transform:translate(-50%);animation:wheel 1.35s ease-in-out infinite}@keyframes wheel{0%{opacity:.2;transform:translate(-50%) translateY(0)}50%{opacity:1}to{opacity:.2;transform:translate(-50%) translateY(10px)}}.couple-wrap{display:grid;grid-template-columns:1fr auto 1fr;gap:28px;align-items:center;margin-top:26px}.person{display:grid;grid-template-columns:160px 1fr;gap:18px;align-items:center}.person.right{grid-template-columns:1fr 160px}.person.right .avatar{order:2}.person.right .ptext{order:1;text-align:right}.avatar{width:160px;height:160px;border-radius:999px;overflow:hidden;box-shadow:var(--shadowSoft);border:1px solid rgba(18,24,38,.08);background:#fff}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.ptext h3{margin:0;font-family:Cormorant Garamond,serif;font-size:38px;letter-spacing:-.01em}.ptext p{margin:8px 0 0;color:var(--muted);line-height:1.9;font-size:14px;max-width:52ch}.heart-mid{width:92px;height:92px;border-radius:999px;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#e7ddc8f2,#fffffffa);border:1px solid rgba(18,24,38,.1);box-shadow:var(--shadowSoft);position:relative}.heart-mid:before{content:"";position:absolute;inset:-16px;border-radius:999px;background:radial-gradient(circle at 50% 50%,rgba(201,180,138,.24),transparent 65%);filter:blur(10px);opacity:.9;z-index:-1}.heart-mid span{font-size:26px;transform:translateY(-1px)}@media (max-width: 980px){.couple-wrap{grid-template-columns:1fr;gap:18px}.heart-mid{margin:6px auto}.person,.person.right{grid-template-columns:120px 1fr}.person.right .avatar{order:1}.person.right .ptext{order:2;text-align:left}.avatar{width:120px;height:120px}}.bigday{position:relative;overflow:hidden;color:#ffffffeb}.bigday:before{content:"";position:absolute;inset:-20px;background-image:url(assets/hand_in_hand.png);background-size:cover;background-position:center;transform:scale(1.03);filter:saturate(1.05) contrast(1.02);opacity:.95}.bigday:after{content:"";position:absolute;inset:0;background:radial-gradient(900px 600px at 50% 15%,rgba(201,180,138,.3),transparent 60%),linear-gradient(180deg,#0000008c,#0003,#0000008c);pointer-events:none}.bigday .container{position:relative;z-index:1}.bigday .kicker{color:#ffffffbd}.bigday .title{color:#fffffffa;text-shadow:0 22px 60px rgba(0,0,0,.3)}.bigday .sub{color:#ffffffd1}.love-metrics{margin-top:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.metric{text-align:center;padding:2px 4px}.metric .n{font-family:Great Vibes;font-size:clamp(42px,6vw,56px);font-weight:500;letter-spacing:.02em;color:#fffffff5;line-height:1;text-shadow:0 10px 26px rgba(0,0,0,.34)}.metric .t{font-family:Great Vibes;margin-top:8px;font-size:14px;font-style:italic;font-weight:500;color:#ffffffeb;line-height:.95;text-shadow:0 8px 24px rgba(0,0,0,.32);letter-spacing:.2em;text-transform:uppercase}@media (max-width: 980px){.love-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}.timeline{position:relative;padding:10px 0 0}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translate(-50%);background:linear-gradient(180deg,transparent,rgba(201,180,138,.85),transparent)}.t-row{display:grid;grid-template-columns:1fr 160px 1fr;gap:26px;align-items:center;margin:46px 0;position:relative;min-height:140px}.t-node{width:124px;height:124px;border-radius:999px;margin:0 auto;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#e7ddc8f2,#fffffffa);border:1px solid rgba(18,24,38,.1);box-shadow:var(--shadowSoft);position:relative}.t-node:before{content:"";position:absolute;inset:-18px;border-radius:999px;background:radial-gradient(circle at 50% 50%,rgba(201,180,138,.24),transparent 65%);filter:blur(10px);opacity:.9;z-index:-1}.t-node .emoji{font-size:34px;line-height:1;transform:translateY(-2px)}.t-node .time{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);padding:7px 12px;border-radius:999px;background:#fff;border:1px solid rgba(18,24,38,.1);box-shadow:0 14px 34px #1218261a;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted2);font-weight:900;white-space:nowrap}.t-text{max-width:520px}.t-text h3{margin:0;font-family:Cormorant Garamond,serif;font-size:36px;letter-spacing:-.01em;font-weight:700;color:#121826eb}.t-text p{margin:10px 0 0;color:var(--muted);line-height:1.9;font-size:14px}.t-tag{margin-top:14px;display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;border:1px solid rgba(18,24,38,.1);background:#ffffffb3;color:var(--muted2);font-size:12px;font-weight:800}.t-row[data-side=left] .left{display:block;justify-self:end;text-align:right;padding-right:8px}.t-row[data-side=left] .right{display:block;opacity:0}.t-row[data-side=right] .right{display:block;justify-self:start;text-align:left;padding-left:8px}.t-row[data-side=right] .left{display:block;opacity:0}@media (max-width: 980px){.timeline:before{left:70px;transform:none}.t-row{grid-template-columns:140px 1fr;align-items:flex-start;gap:16px}.t-row[data-side=left] .right,.t-row[data-side=right] .left{display:none}.t-row[data-side=left] .left,.t-row[data-side=right] .right{opacity:1;text-align:left;justify-self:start;padding:0}.t-text h3{font-size:30px}}.map-shell{width:100%;height:560px;position:relative;overflow:hidden;border-top:1px solid rgba(18,24,38,.06);border-bottom:1px solid rgba(18,24,38,.06)}.map-shell iframe{width:100%;height:100%;border:0;display:block;filter:saturate(1.05) contrast(1.02)}.accommodation{position:relative;overflow:hidden;color:#ffffffeb}.accommodation:before{content:"";position:absolute;inset:-20px;background-image:url(assets/accommodation.png);background-size:cover;background-position:center;transform:scale(1.03);filter:saturate(1.02) contrast(1.02);opacity:.95}.accommodation:after{content:"";position:absolute;inset:0;background:radial-gradient(900px 600px at 40% 15%,rgba(201,180,138,.28),transparent 60%),linear-gradient(180deg,#00000080,#0000003d,#00000075);pointer-events:none}.accommodation .container{position:relative;z-index:1}.accommodation .kicker{color:#ffffffbd}.accommodation .title{color:#fffffffa;text-shadow:0 22px 60px rgba(0,0,0,.3)}.accommodation .sub{color:#ffffffd1}.stay-grid{margin-top:38px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.stay{padding:4px 8px 6px 22px;border-left:1px solid rgba(255,255,255,.24)}.stay:first-child{border-left:none;padding-left:0}.stay h3{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(40px,3vw,50px);line-height:.95;letter-spacing:-.01em;color:#fffffff5;text-shadow:0 10px 26px rgba(0,0,0,.3)}.stay p{margin:12px 0 0;line-height:1.75;color:#ffffffe0;font-size:14px}.stay .meta{margin-top:14px;padding-top:0;display:flex;flex-wrap:wrap;gap:8px;color:#ffffffd6;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.pill{padding:0;border-radius:0;background:none;border:0;box-shadow:none}@media (max-width: 1180px){.stay-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.stay{border-left:none;border-top:1px solid rgba(255,255,255,.24);padding:18px 0 0}.stay:first-child{border-top:none;padding-top:0}}@media (max-width: 980px){.stay-grid{grid-template-columns:1fr;gap:14px}.stay h3{font-size:clamp(38px,10vw,46px)}}.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease;will-change:opacity,transform}.reveal.is-in{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.18s}.delay-3{transition-delay:.26s}.footer{padding:56px 0;text-align:center;color:var(--muted2);font-size:13px}.btn{padding:10px 12px;border-radius:999px;border:1px solid rgba(18,24,38,.12);background:#fffc;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;color:#121826c7}.btn.primary{border-color:#c9b48a8c;background:#e7ddc880}.btn:hover{transform:translateY(-1px)}html{scroll-behavior:smooth}.site-footer{padding:40px 0;border-top:1px solid rgba(18,24,38,.08);background:var(--s1)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.footer-brand{font-family:Cormorant Garamond,serif;font-size:18px;letter-spacing:.04em;color:#121826d9}.footer-copy{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#12182680}@media (max-width: 768px){.footer-inner{flex-direction:column;text-align:center}}@media (max-width: 768px){.menu{display:none!important}.nav-inner{justify-content:center!important}.brand{text-align:center}.heart-mid{display:none!important}.timeline:before{left:50%!important;transform:translate(-50%)!important;opacity:.55}.t-text,.t-tag{display:none!important}.t-row{grid-template-columns:1fr!important;justify-items:center;margin:42px 0!important;min-height:unset!important}.timeline:before{left:50%!important;transform:translate(-50%)!important;opacity:.7}.t-node{width:110px;height:110px;margin:0 auto!important}.t-node .emoji{font-size:32px}}

