@tailwind base;@tailwind components;@tailwind utilities;*{box-sizing:border-box}body,html{margin:0;padding:0;width:100%;min-height:100%}body{background:#fffaf4;color:#4b392c}a{text-decoration:none}.wedding-home{position:relative;min-height:100vh;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:50px 20px;background:radial-gradient(circle at center,hsla(0,0%,100%,.98) 0,rgba(255,250,242,.95) 40%,hsla(35,61%,89%,.98) 100%);isolation:isolate}.stars,.stars:after,.stars:before{position:absolute;inset:0;content:"";pointer-events:none}.stars{background-image:radial-gradient(circle,rgba(180,137,73,.65) 1px,transparent 2px),radial-gradient(circle,rgba(180,137,73,.35) 1px,transparent 2px);background-size:95px 95px,145px 145px;background-position:10px 20px,50px 70px;opacity:.5;animation:starMove 12s linear infinite}.stars:before{background-image:radial-gradient(circle,hsla(0,0%,100%,.9) 1px,transparent 2px),radial-gradient(circle,rgba(190,145,80,.5) 1px,transparent 2px);background-size:180px 180px,120px 120px;animation:sparkle 4s ease-in-out infinite alternate}@keyframes starMove{0%{transform:translateY(0)}to{transform:translateY(-25px)}}@keyframes sparkle{0%{opacity:.3}to{opacity:.9}}.hero-content{position:relative;z-index:10;width:min(900px,100%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:70px 25px;border:1px solid rgba(183,142,79,.3);border-radius:40px;background:hsla(0,0%,100%,.55);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:0 30px 90px rgba(130,92,45,.15),inset 0 0 50px hsla(0,0%,100%,.7)}.small-title{margin:0;font-size:13px;letter-spacing:.55em;font-weight:600;color:#a98248}.gold-line{display:flex;align-items:center;justify-content:center;gap:15px;width:260px;margin:25px auto 18px;color:#b58a4b}.gold-line i{display:block;width:100px;height:1px;background:linear-gradient(90deg,transparent,#b58a4b,transparent)}.hero-content h1{margin:0;display:flex;flex-direction:column;align-items:center;font-family:Georgia,Times New Roman,serif;font-size:clamp(4rem,10vw,8rem);line-height:.9;font-weight:500;color:#9a733d;text-shadow:0 2px 2px hsla(0,0%,100%,.9),0 8px 25px rgba(137,96,39,.15)}.hero-content h1 span{margin:12px 0;font-family:Georgia,serif;font-size:.42em;font-style:italic;color:#b28a52}.wedding-date{margin:35px 0 0;font-size:clamp(18px,3vw,27px);letter-spacing:.35em;color:#7d6243;font-weight:500}.welcome{margin:25px 0 0;font-family:Georgia,serif;font-size:clamp(18px,3vw,25px);line-height:1.7;color:#665344}.hero-buttons{width:min(600px,100%);display:grid;grid-template-columns:repeat(2,1fr);grid-gap:18px;gap:18px;margin-top:45px}.gold-button,.outline-button{min-height:62px;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:999px;font-size:17px;font-weight:600;transition:transform .3s ease,box-shadow .3s ease,background .3s ease}.gold-button{color:#fff;background:linear-gradient(135deg,#9f7337,#d1a65e,#a97b3c);box-shadow:0 12px 30px rgba(157,112,51,.3)}.outline-button{color:#9b733e;border:1px solid #cba96f;background:hsla(0,0%,100%,.75)}.gold-button:hover,.outline-button:hover{transform:translateY(-5px);box-shadow:0 18px 35px rgba(132,92,42,.22)}.gold-button:active,.outline-button:active{transform:scale(.97)}.bottom-message{margin:40px 0 0;font-size:14px;line-height:1.7;color:#9a8874}.rings{z-index:5;top:9%;right:9%;width:150px;height:120px;transform:rotate(-15deg);animation:ringsFloat 5s ease-in-out infinite}.ring,.rings{position:absolute}.ring{width:80px;height:80px;border-radius:50%;border:13px solid #c49349;box-shadow:inset 3px 3px 5px hsla(0,0%,100%,.9),0 8px 20px rgba(129,91,39,.25)}.ring-one{left:5px;top:25px}.ring-two{right:5px;top:5px}.flower{position:absolute;z-index:3;font-size:130px;filter:drop-shadow(0 15px 25px rgba(100,70,40,.2));animation:flowerFloat 6s ease-in-out infinite}.flower-left{left:-25px;top:8%;transform:rotate(-20deg)}.flower-right{right:-25px;top:18%;transform:rotate(25deg);animation-delay:1.5s}.flower-bottom-left{left:2%;bottom:-25px;transform:rotate(20deg);animation-delay:2s}.flower-bottom-right{right:2%;bottom:-25px;transform:rotate(-20deg);animation-delay:3s}@keyframes flowerFloat{0%,to{transform:translateY(0) rotate(-15deg)}50%{transform:translateY(-10px) rotate(-10deg)}}.petals span{position:absolute;z-index:4;color:#c29a5c;font-size:25px;animation:twinkle 3s ease-in-out infinite}.petals span:first-child{top:15%;left:30%}.petals span:nth-child(2){top:28%;right:30%;animation-delay:.5s}.petals span:nth-child(3){top:55%;left:12%;animation-delay:1s}.petals span:nth-child(4){top:65%;right:13%;animation-delay:1.5s}.petals span:nth-child(5){bottom:18%;left:28%;animation-delay:2s}.petals span:nth-child(6){bottom:20%;right:28%;animation-delay:2.5s}.petals span:nth-child(7){top:42%;left:5%;animation-delay:1.2s}.petals span:nth-child(8){top:43%;right:5%;animation-delay:2.2s}@keyframes twinkle{0%,to{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1.25)}}.corner-decoration{position:absolute;z-index:2;color:rgba(170,126,64,.55);font-size:50px}.top-left{top:25px;left:30px}.top-right{top:25px;right:30px}.bottom-left{bottom:25px;left:30px}.bottom-right{bottom:25px;right:30px}@media (max-width:700px){.wedding-home{padding:25px 12px}.hero-content{min-height:90vh;padding:55px 18px;border-radius:28px}.hero-content h1{font-size:clamp(4rem,19vw,6rem)}.hero-buttons{grid-template-columns:1fr;width:100%;margin-top:35px}.flower{font-size:90px}.rings{top:3%;right:1%;transform:scale(.7) rotate(-15deg)}.small-title{letter-spacing:.35em}.wedding-date{letter-spacing:.2em}}@media (max-width:420px){.hero-content{padding:45px 15px}.flower{opacity:.7;font-size:75px}.rings{opacity:.8}}.photo-grid{width:100%;max-width:1200px;margin:40px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.photo-card{position:relative;width:100%;height:220px;padding:0;margin:0;overflow:hidden;border:0;border-radius:14px;background:#f2eee8;cursor:pointer;box-shadow:0 5px 18px rgba(80,55,30,.12);transition:transform .25s ease,box-shadow .25s ease}.photo-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(80,55,30,.2)}.photo-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.photo-card:hover img{transform:scale(1.05)}.photo-overlay{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);padding:6px 12px;border-radius:999px;background:rgba(0,0,0,.65);color:#fff;font-size:12px;opacity:0;transition:opacity .25s ease}.photo-card:hover .photo-overlay{opacity:1}.gallery-loading{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;color:#806b55}.gallery-spinner{width:38px;height:38px;border:3px solid #eadfce;border-top-color:#a98248;border-radius:50%;animation:gallerySpin .8s linear infinite}@keyframes gallerySpin{to{transform:rotate(1turn)}}.gallery-empty,.gallery-error{max-width:700px;margin:40px auto;padding:30px;text-align:center;color:#806b55}.photo-lightbox{position:fixed;inset:0;z-index:99999;padding:40px;background:rgba(0,0,0,.94)}.lightbox-image-container,.photo-lightbox{display:flex;align-items:center;justify-content:center}.lightbox-image-container{width:100%;height:100%;pointer-events:none}.lightbox-image-container img{display:block;max-width:90vw;max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 20px 70px rgba(0,0,0,.5)}.lightbox-close{position:absolute;top:20px;right:25px;z-index:10;width:48px;height:48px;border:0;border-radius:50%;background:hsla(0,0%,100%,.12);color:#fff;font-size:32px;line-height:1;cursor:pointer}.lightbox-close:hover{background:hsla(0,0%,100%,.22)}.lightbox-counter{top:25px;left:30px;padding:8px 15px;border-radius:999px;font-size:14px}.lightbox-arrow,.lightbox-counter{position:absolute;z-index:10;background:hsla(0,0%,100%,.12);color:#fff}.lightbox-arrow{top:50%;transform:translateY(-50%);width:54px;height:54px;border:0;border-radius:50%;font-size:42px;line-height:1;cursor:pointer}.lightbox-arrow:hover{background:hsla(0,0%,100%,.25)}.lightbox-prev{left:25px}.lightbox-next{right:25px}@media (max-width:1000px){.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-card{height:210px}}@media (max-width:700px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:30px}.photo-card{height:170px;border-radius:10px}.photo-overlay{display:none}.photo-lightbox{padding:15px}.lightbox-image-container img{max-width:94vw;max-height:82vh}.lightbox-arrow{width:44px;height:44px;font-size:34px}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-close{top:12px;right:12px}.lightbox-counter{top:17px;left:15px}}.royal-gallery-page{position:relative;width:100%;min-height:100vh;padding:70px 25px 100px;text-align:center;overflow:hidden;background:radial-gradient(circle at 50% 5%,hsla(0,0%,100%,.98) 0,rgba(255,250,241,.95) 35%,hsla(36,59%,89%,.92) 100%)}.royal-gallery-page:before{content:"";position:absolute;top:-220px;left:50%;width:650px;height:650px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,hsla(39,60%,66%,.22),hsla(0,0%,100%,0) 68%);pointer-events:none;animation:royalHalo 7s ease-in-out infinite alternate}@keyframes royalHalo{0%{opacity:.55;transform:translateX(-50%) scale(.95)}to{opacity:1;transform:translateX(-50%) scale(1.08)}}.royal-rings{position:relative;z-index:5;width:150px;height:115px;margin:0 auto 12px;animation:ringsFloat 4s ease-in-out infinite}.royal-ring{position:absolute;width:78px;height:78px;border-radius:50%;border:9px solid #c79a50;background:linear-gradient(135deg,hsla(0,0%,100%,.75),rgba(214,170,92,.18));box-shadow:inset 3px 3px 5px hsla(0,0%,100%,.95),inset -3px -3px 5px rgba(150,101,35,.18),0 8px 25px rgba(145,101,42,.22);transform:rotate(-18deg)}.royal-ring-one{left:18px;top:20px;z-index:2}.royal-ring-two{right:18px;top:8px;z-index:1;transform:rotate(18deg)}.royal-diamond{position:absolute;top:-8px;left:50%;width:14px;height:14px;transform:translateX(-50%) rotate(45deg);background:linear-gradient(135deg,#fff,#f9e5ad,#fff);border:1px solid #d4ad67;box-shadow:0 0 8px rgba(255,226,145,.95),0 0 18px rgba(255,211,105,.65);animation:diamondSparkle 2.5s ease-in-out infinite}.royal-ring-two .royal-diamond{animation-delay:1.1s}@keyframes ringsFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes diamondSparkle{0%,to{opacity:.65;transform:translateX(-50%) rotate(45deg) scale(.85)}50%{opacity:1;transform:translateX(-50%) rotate(45deg) scale(1.15)}}.royal-crown{position:relative;z-index:5;margin:-4px auto 18px;width:45px;height:45px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(188,143,69,.45);border-radius:50%;color:#b48745;font-family:Georgia,serif;font-size:25px;background:hsla(0,0%,100%,.55);box-shadow:0 6px 20px rgba(140,97,37,.12),inset 0 0 15px hsla(0,0%,100%,.9);animation:crownGlow 3s ease-in-out infinite}@keyframes crownGlow{0%,to{box-shadow:0 6px 20px rgba(140,97,37,.12),inset 0 0 15px hsla(0,0%,100%,.9)}50%{box-shadow:0 8px 30px rgba(190,145,67,.28),inset 0 0 20px #fff}}.royal-title-frame{position:relative;z-index:5;display:inline-block;min-width:min(520px,90vw);padding:18px 65px;border:1px solid rgba(184,139,69,.55);background:linear-gradient(135deg,hsla(0,0%,100%,.72),hsla(38,76%,92%,.65));box-shadow:0 12px 35px rgba(121,82,34,.11),inset 0 0 25px hsla(0,0%,100%,.8)}.royal-title-frame:after,.royal-title-frame:before{content:"";position:absolute;left:18px;right:18px;height:1px;background:linear-gradient(90deg,transparent,#c79b56,transparent)}.royal-title-frame:before{top:6px}.royal-title-frame:after{bottom:6px}.royal-eyebrow{margin:0;color:#9d753e;font-family:Georgia,Times New Roman,serif;font-size:clamp(18px,3vw,27px);letter-spacing:.28em;font-weight:500}.frame-corner{position:absolute;color:#bd914e;font-size:12px}.frame-corner-tl{top:10px;left:12px}.frame-corner-tr{top:10px;right:12px}.frame-corner-bl{bottom:10px;left:12px}.frame-corner-br{bottom:10px;right:12px}.royal-main-frame{position:relative;z-index:5;display:flex;align-items:center;justify-content:center;gap:16px;width:min(760px,94vw);margin:25px auto 18px;padding:22px 20px;border:1px solid rgba(184,139,69,.65);background:hsla(0,0%,100%,.45);box-shadow:0 15px 45px rgba(125,86,36,.12),inset 0 0 30px hsla(0,0%,100%,.8)}.royal-main-frame h1{margin:0;color:#8f6837;font-family:Georgia,Times New Roman,serif;font-size:clamp(36px,6vw,64px);line-height:1;font-weight:500;font-style:italic;letter-spacing:.03em;text-shadow:0 2px 0 hsla(0,0%,100%,.9),0 5px 18px rgba(119,79,28,.15)}.royal-heart{color:#b78948;font-size:18px;animation:heartGlow 2.5s ease-in-out infinite}.royal-star{color:#c59a55;font-size:12px;animation:starTwinkle 2s ease-in-out infinite alternate}.royal-line{width:90px;height:1px;background:linear-gradient(90deg,transparent,#bd914e)}.royal-line-right{transform:rotate(180deg)}@keyframes heartGlow{0%,to{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}@keyframes starTwinkle{0%{opacity:.35}to{opacity:1}}.royal-date-frame{position:relative;z-index:5;display:inline-block;margin:0 auto;padding:11px 30px;border:1px solid rgba(187,143,75,.55);border-radius:999px;background:linear-gradient(135deg,hsla(0,0%,100%,.8),hsla(38,75%,89%,.7));color:#9a733e;font-family:Georgia,serif;font-size:15px;letter-spacing:.28em;box-shadow:0 8px 25px rgba(120,80,30,.1)}.royal-message-frame{position:relative;z-index:5;width:min(650px,92vw);margin:25px auto 45px;padding:20px 35px;display:flex;align-items:center;justify-content:center;gap:20px;border:1px solid rgba(188,143,74,.35);border-radius:18px;background:hsla(0,0%,100%,.42);box-shadow:inset 0 0 25px hsla(0,0%,100%,.8)}.royal-message-frame p{margin:0;color:#806b55;font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1.8;font-style:italic}.message-ornament{color:#bd914e;font-size:27px;animation:ornamentFloat 3s ease-in-out infinite}.message-ornament:last-child{animation-delay:1.5s}@keyframes ornamentFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.royal-gallery-content{position:relative;z-index:5;width:min(1200px,100%);margin:0 auto}@media (max-width:700px){.royal-gallery-page{padding:45px 15px 70px}.royal-rings{transform:scale(.85);margin-bottom:0}.royal-title-frame{min-width:92vw;padding:15px 25px}.royal-eyebrow{font-size:17px;letter-spacing:.18em}.royal-main-frame{gap:8px;padding:18px 10px}.royal-main-frame h1{font-size:clamp(30px,10vw,46px)}.royal-line{width:30px}.royal-message-frame{padding:16px 15px;gap:10px}.royal-message-frame p{font-size:14px;line-height:1.6}.message-ornament{font-size:20px}}