:root{--cream:#f4f1e8;--paper:#fbfaf4;--sage:#7d876b;--sage2:#59634e;--moss:#404936;--gold:#b99d64;--ink:#34342f;--muted:#79786e;--line:rgba(185,157,100,.45);--shadow:0 30px 90px rgba(37,45,34,.24)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}.desktop-stage{position:fixed;inset:0;display:grid;grid-template-columns:1fr 430px;background:#fff;z-index:0}.stage-photo{position:relative;display:grid;place-items:center;min-height:100vh;background:linear-gradient(135deg,rgba(30,45,30,.18),rgba(20,29,23,.45)),radial-gradient(circle at 60% 30%,rgba(255,255,255,.12),transparent 32%),linear-gradient(135deg,#263425,#101713);color:rgba(255,255,255,.8);font-family:Cormorant Garamond,serif;font-size:clamp(2rem,5vw,5.5rem);text-align:center;letter-spacing:.08em;text-transform:uppercase;overflow:hidden}.stage-photo:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 10%,rgba(250,250,240,.12) 0 1px,transparent 2px),radial-gradient(circle at 70% 70%,rgba(250,250,240,.10) 0 1px,transparent 2px);background-size:24px 24px,30px 30px;mix-blend-mode:screen}.stage-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 45%,rgba(255,255,255,.2) 100%)}.stage-copy{position:absolute;left:52px;bottom:46px;color:#fff;text-shadow:0 12px 45px #000}.stage-copy p{letter-spacing:.35em;text-transform:uppercase}.stage-copy h2{font-family:Alex Brush,cursive;font-weight:400;font-size:5rem;margin:0}.stage-copy small{letter-spacing:.2em}.phone-shell{position:relative;z-index:1;width:min(430px,100vw);min-height:100vh;margin-left:auto;background:var(--paper);box-shadow:-24px 0 80px rgba(0,0,0,.2);overflow:hidden}.phone-shell:before{content:"";position:fixed;top:0;width:min(430px,100vw);height:100vh;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.16),transparent 18%,transparent 82%,rgba(0,0,0,.05));z-index:20}.scene{position:relative;min-height:min(100svh,820px);padding:70px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden}.paper{background:var(--paper)}.paper:before,.cover .toile-bg{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 8%,rgba(125,135,107,.28) 0 1px,transparent 1.8px),radial-gradient(circle at 85% 18%,rgba(185,157,100,.20) 0 1px,transparent 1.8px),linear-gradient(rgba(251,250,244,.84),rgba(251,250,244,.9)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='460' viewBox='0 0 340 460'%3E%3Cg fill='none' stroke='%23889477' stroke-opacity='.22' stroke-width='1'%3E%3Cpath d='M30 420 C90 360 60 260 140 220 S260 150 300 40'/%3E%3Cpath d='M70 450 C120 350 190 390 230 250 S250 100 330 60'/%3E%3Cpath d='M20 120 C110 140 130 60 210 80 S280 120 326 90'/%3E%3Ccircle cx='80' cy='160' r='26'/%3E%3Ccircle cx='250' cy='310' r='38'/%3E%3C/g%3E%3C/svg%3E");background-size:28px 28px,34px 34px,auto,cover;opacity:.95}.sage,.deep{background:linear-gradient(rgba(89,99,78,.94),rgba(89,99,78,.94)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='520' viewBox='0 0 360 520'%3E%3Cg fill='none' stroke='%23eef0e7' stroke-opacity='.13'%3E%3Cpath d='M10 430 C80 330 90 290 160 260 C250 220 255 140 350 60'/%3E%3Cpath d='M0 180 C80 100 180 170 240 100 C280 60 310 40 360 30'/%3E%3Cpath d='M80 510 C130 410 210 420 250 310 S300 160 340 140'/%3E%3C/g%3E%3C/svg%3E");color:#fff}.deep{background:linear-gradient(rgba(64,73,54,.96),rgba(64,73,54,.96)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='520' viewBox='0 0 360 520'%3E%3Cg fill='none' stroke='%23fff' stroke-opacity='.10'%3E%3Ccircle cx='80' cy='90' r='70'/%3E%3Ccircle cx='300' cy='330' r='110'/%3E%3Cpath d='M0 390 C100 300 170 410 360 250'/%3E%3C/g%3E%3C/svg%3E")}.cover{background:var(--paper);padding-top:42px}.cover-inner{position:relative;z-index:2;width:100%}.portrait{width:146px;height:206px;margin:0 auto 28px;border-radius:999px 999px 26px 26px;padding:7px;border:1px solid rgba(255,255,255,.85);background:#fff;box-shadow:0 25px 70px rgba(49,60,43,.23)}.portrait span,.person-photo span{height:100%;display:grid;place-items:center;border-radius:999px 999px 22px 22px;background:linear-gradient(145deg,#dad9cc,#879276);color:#fff;font-family:Cormorant Garamond,serif;font-size:1.06rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.25}.overline{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:700}.cover h1{font-family:Cormorant Garamond,serif;font-size:clamp(3.6rem,15vw,5.4rem);font-weight:500;line-height:.9;margin:12px 0 28px;color:#55554d}.cover h1 em,.hero-title em{font-style:normal;color:var(--sage);font-size:.76em}.dear{margin-top:6px;color:#5f6059}.guest{font-weight:500;margin:10px 0 30px}.primary{border:0;border-radius:999px;background:linear-gradient(135deg,#8a8a84,#3f403d);color:#fff;padding:15px 28px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 16px 45px rgba(54,56,52,.26);cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;transition:transform .25s,box-shadow .25s}.primary:hover{transform:translateY(-3px);box-shadow:0 24px 55px rgba(54,56,52,.32)}.primary.small{font-size:.78rem;padding:13px 18px}.primary.secondary{background:transparent;border:1px solid rgba(255,255,255,.6)}.cover-flora{position:absolute;z-index:1;width:210px;height:280px;bottom:-20px;background:radial-gradient(circle at 28% 76%,#f1d5c8 0 8%,transparent 9%),radial-gradient(circle at 42% 78%,#fff 0 9%,transparent 10%),radial-gradient(circle at 64% 84%,#d8b98b 0 7%,transparent 8%),radial-gradient(circle at 38% 43%,#728464 0 28%,transparent 29%);filter:drop-shadow(0 20px 18px rgba(48,65,43,.18));opacity:.9}.cover-flora.left{left:-70px}.cover-flora.right{right:-70px;transform:scaleX(-1)}.peacock{position:absolute;z-index:2;bottom:70px;color:#124c50;font-size:70px;text-shadow:12px 8px 0 #c09851,20px 12px 0 #203f38;opacity:.82}.p1{left:18px;transform:rotate(-12deg)}.p2{right:18px;transform:rotate(12deg)}.ornament.top{position:absolute;z-index:1;top:26px;width:72%;height:120px;border-top:2px solid var(--line);border-radius:50% 50% 0 0}.ornament-card{position:relative;z-index:1;width:100%;min-height:540px;border:1px solid rgba(255,255,255,.45);border-radius:46% 46% 12px 12px;padding:80px 24px;display:grid;place-items:center;background:rgba(251,250,244,.12);box-shadow:inset 0 0 0 8px rgba(185,157,100,.06)}.ornament-card h2{font-family:Cormorant Garamond,serif;font-size:4rem;line-height:.95;font-weight:500;margin:0;color:#f0efe8}.quote{gap:20px}.bismillah{position:relative;z-index:1;font-size:2rem;color:var(--sage)}blockquote{position:relative;z-index:1;margin:0;font-family:Cormorant Garamond,serif;font-size:2rem;line-height:1.25;color:#4e5049}blockquote+strong{position:relative;z-index:1;color:var(--gold)}.intro h2,.section-title{font-family:Cormorant Garamond,serif;font-weight:500;font-size:3rem;line-height:1;margin:12px 0;color:#44463f}.intro p,.section-sub{line-height:1.75;color:var(--muted);max-width:350px}.deep p,.light{color:rgba(255,255,255,.78)!important}.section-title.light{color:#fff}.person{position:relative;z-index:1;margin:18px 0 2px}.person-photo{width:170px;height:220px;margin:auto;padding:7px;border-radius:999px 999px 28px 28px;background:#fff;box-shadow:0 22px 70px rgba(52,60,47,.16)}.person-photo.groom span{background:linear-gradient(145deg,#9ca89a,#4d604c)}.person-photo.bride span{background:linear-gradient(145deg,#d9c6b8,#8d9378)}.person h3{font-family:Alex Brush,cursive;font-size:3.2rem;font-weight:400;margin:18px 0 4px;color:#3f423a}.person p{color:var(--muted);margin:0}.big-amp{position:relative;z-index:1;font-family:Alex Brush,cursive;font-size:4rem;color:var(--gold);margin:4px}.countdown{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.countdown div{border:1px solid rgba(255,255,255,.36);border-radius:20px;padding:13px 4px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px)}.countdown strong{display:block;font-family:Cormorant Garamond,serif;font-size:2rem;color:#fff}.countdown span{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72)}.glass{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);box-shadow:0 24px 70px rgba(30,38,28,.16);backdrop-filter:blur(12px)}.event-card{display:grid;grid-template-columns:82px 1fr;gap:15px;text-align:left;border-radius:28px;padding:18px;width:100%;margin:8px 0 18px}.calendar-badge{border-radius:20px;background:rgba(255,255,255,.9);color:var(--moss);display:grid;place-items:center;padding:10px 4px;text-align:center}.calendar-badge span{font-family:Cormorant Garamond,serif;font-size:2.2rem;line-height:1}.calendar-badge small{font-weight:800;font-size:.7rem;letter-spacing:.08em}.event-card h3{margin:0 0 8px;font-family:Cormorant Garamond,serif;font-size:1.55rem;color:#fff}.event-card p{margin:5px 0;color:rgba(255,255,255,.76);line-height:1.45}.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.masonry{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:10px;width:100%;margin-top:18px}.tile{display:grid;place-items:center;border-radius:26px;background:linear-gradient(145deg,#e9e7da,#9aa58e);color:#fff;font-family:Cormorant Garamond,serif;font-size:1.4rem;box-shadow:0 18px 45px rgba(52,60,47,.16);overflow:hidden;position:relative}.tile:after{content:"";position:absolute;inset:-40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);transform:rotate(25deg);animation:sweep 6s infinite}.tile.tall{grid-row:span 2}.tile.wide{grid-column:span 2}@keyframes sweep{0%,48%{translate:-90% 0}100%{translate:120% 0}}.wish-form{width:100%;padding:18px;border-radius:28px;display:grid;gap:12px}.wish-form input,.wish-form textarea,input,textarea{width:100%;border:1px solid rgba(255,255,255,.32);border-radius:18px;padding:14px 15px;background:rgba(255,255,255,.92);font:inherit;color:var(--ink);outline:none}.wish-form textarea{resize:vertical}.form-status{min-height:20px;color:#fff;font-weight:700;font-size:.9rem}.wish-head{width:100%;display:flex;justify-content:flex-end;margin:18px 0 10px}.wish-head button{background:transparent;border:0;color:#fff;text-decoration:underline;cursor:pointer}.wish-list{width:100%;display:grid;gap:12px}.wish-card{background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.8);border-radius:22px;padding:15px;text-align:left;box-shadow:0 16px 42px rgba(20,28,18,.15);animation:cardIn .5s ease both}.wish-card strong{display:block;font-family:Cormorant Garamond,serif;font-size:1.45rem}.wish-card small{color:var(--gold);font-weight:800}.wish-card p{white-space:pre-wrap;line-height:1.6;color:#555}.closing h2{font-family:Alex Brush,cursive;font-size:4rem;font-weight:400;color:#4a4d45}.admin-link{color:var(--muted);font-size:.86rem}.bottom-nav{position:fixed;z-index:30;bottom:14px;right:14px;width:min(402px,calc(100vw - 28px));display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px;border-radius:999px;background:rgba(64,73,54,.78);backdrop-filter:blur(16px);box-shadow:0 18px 55px rgba(0,0,0,.25)}.bottom-nav a{color:#fff;text-decoration:none;font-size:.72rem;padding:9px 4px;border-radius:999px}.bottom-nav a:hover{background:rgba(255,255,255,.14)}#petals{position:fixed;top:0;right:0;width:min(430px,100vw);height:100vh;pointer-events:none;z-index:25;overflow:hidden}.petal{position:absolute;top:-30px;width:12px;height:18px;background:linear-gradient(135deg,#e5cfb0,#fff);border-radius:80% 0 80% 0;opacity:.62;animation:fall linear forwards}@keyframes fall{to{transform:translate3d(var(--drift),110vh,0) rotate(720deg);opacity:.06}}.reveal{opacity:0;transform:translateY(34px);transition:1s cubic-bezier(.16,1,.3,1)}.reveal.in{opacity:1;transform:none}@keyframes cardIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.admin-body{background:linear-gradient(135deg,#f4f1e8,#dfe4d5)}.admin-shell{width:min(1180px,94vw);margin:auto;padding:42px 0}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.admin-header h1{font-family:Cormorant Garamond,serif;font-size:clamp(2.2rem,7vw,4rem);margin:0}.admin-login,.admin-panel{background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.8);border-radius:28px;padding:22px;box-shadow:var(--shadow)}.hidden{display:none!important}.admin-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.admin-count{font-weight:800;color:var(--sage);margin-bottom:12px}.admin-list{display:grid;gap:14px}.admin-item{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;display:grid;gap:10px}.admin-item textarea{min-height:92px;border:1px solid var(--line)}.admin-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-flex;width:max-content;border-radius:999px;padding:5px 10px;background:#f1eadc;color:#7d6b44;font-weight:800;font-size:.76rem}.btn{border:0;background:var(--sage);color:#fff;padding:12px 18px;border-radius:999px;font-weight:800;cursor:pointer;text-decoration:none}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:#aa5752}@media(max-width:860px){.desktop-stage{display:none}.phone-shell{margin:0 auto;box-shadow:none}.bottom-nav{right:50%;transform:translateX(50%)}}@media(max-width:430px){.scene{padding:62px 22px}.cover h1{font-size:4rem}.peacock{font-size:58px}.cover-flora{width:180px}.stage-copy{display:none}.admin-header{display:grid}.admin-row{grid-template-columns:1fr}}
