:root{--bg:#F5F3EF;--fg:#835D2F;--fg-70:rgba(131,93,47,0.7);--fg-60:rgba(131,93,47,0.6);--fg-50:rgba(131,93,47,0.5);--fg-40:rgba(131,93,47,0.4);--fg-30:rgba(131,93,47,0.3);--fg-20:rgba(131,93,47,0.2);--fg-10:rgba(131,93,47,0.1);--font-script:"Great Vibes",cursive;--font-serif:"Cormorant Garamond","EB Garamond","Lora",Georgia,serif;--font-arabic:"Amiri","Cairo",serif}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;color-scheme:only light}body{background:var(--bg);color:var(--fg);font-family:var(--font-serif);-webkit-font-smoothing:antialiased;overflow-x:hidden}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;background:none;border:none;font-family:inherit}.intro-overlay{position:fixed;inset:0;z-index:100;background:var(--bg);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity 1s ease}.intro-overlay.fade-out{opacity:0;pointer-events:none}.intro-overlay.hidden{display:none}.intro-poster,.intro-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s ease}.intro-video{opacity:0}.intro-hint{position:absolute;bottom:4rem;left:50%;transform:translateX(-50%);text-align:center;display:flex;flex-direction:column;align-items:center;gap:.25rem;animation:hint-bounce 2s ease-in-out infinite;z-index:10}.intro-hint .ar{font-family:var(--font-arabic);color:var(--fg-70);font-size:1.125rem;opacity:.85;direction:rtl}.intro-hint .en{letter-spacing:.2em;text-transform:uppercase;font-size:.75rem;opacity:.5;font-family:var(--font-serif)}@keyframes hint-bounce{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-8px)}}.music-btn{position:fixed;bottom:1.5rem;right:1.5rem;z-index:50;width:2.5rem;height:2.5rem;border-radius:50%;background:rgba(245,243,239,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--fg-10);box-shadow:0 2px 12px rgba(131,93,47,.12);display:flex;align-items:center;justify-content:center;color:var(--fg-70);opacity:0;transition:opacity .5s ease,color .3s ease,background .3s ease}.music-btn.visible{opacity:1}.music-btn:hover{color:var(--fg);background:rgba(245,243,239,.95)}.main-content{opacity:0;transition:opacity 1s ease}.main-content.visible{opacity:1}.hero-video-section{position:relative;width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);overflow:hidden;opacity:0;transition:opacity 1.2s ease}.hero-video-section.visible{opacity:1}.hero-video-media{width:100%;height:100vh;object-fit:cover;display:block}@media (min-width:768px){.hero-video-media{object-fit:contain;max-width:100%;height:100vh}}.hero-name-overlay{position:absolute;bottom:12%;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.25rem;z-index:5;pointer-events:none}.hero-name{font-family:var(--font-script);font-size:3rem;color:var(--fg);line-height:1.2}.hero-amp,.hero-name{text-shadow:0 1px 6px rgba(245,243,239,.9),0 0 20px rgba(245,243,239,.7)}.hero-amp{font-family:var(--font-serif);font-size:1.5rem;color:var(--fg-60);font-style:italic}@media (min-width:768px){.hero-name{font-size:4.5rem}.hero-amp{font-size:2rem}}.divider{display:flex;align-items:center;justify-content:center;padding:2rem 0}.reveal{opacity:0;transform:translateY(2rem);transition:opacity 1s ease,transform 1s ease}.reveal.visible{opacity:1;transform:translateY(0)}.section-title{font-family:var(--font-script);font-size:3.5rem;color:var(--fg);margin-bottom:.25rem}@media (min-width:768px){.section-title{font-size:4.5rem}}.section-countdown{padding:4rem 1rem;background-image:url(/wedding-media/white-textured-paper.png);background-size:cover;background-position:50%;text-align:center;position:relative;z-index:20}.section-subtitle{color:var(--fg-60);font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;margin-bottom:2.5rem}.countdown-grid{display:flex;align-items:center;justify-content:center;direction:ltr;gap:0}.countdown-unit{display:flex;flex-direction:column;align-items:center;padding:0 1.5rem}@media (min-width:768px){.countdown-unit{padding:0 2.75rem}}.countdown-num{font-family:var(--font-script);font-size:3rem;color:var(--fg);line-height:1}@media (min-width:768px){.countdown-num{font-size:4rem}}.countdown-label{margin-top:.5rem;font-size:.625rem;letter-spacing:.25em;text-transform:uppercase;color:var(--fg-50)}.countdown-sep{width:1px;height:2rem;background:var(--fg-20);margin-bottom:1.25rem}.section-welcome{padding:6rem 2rem;text-align:center;max-width:40rem;margin:0 auto;position:relative;z-index:20}.section-welcome p{font-size:1.125rem;line-height:1.9;font-weight:300;color:rgba(131,93,47,.9);margin-top:3rem}@media (min-width:768px){.section-welcome p{font-size:1.25rem}}.section-gallery{padding:6rem 1rem;background:var(--bg);position:relative;z-index:20;text-align:center}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.75rem;gap:.75rem;max-width:40rem;margin:3rem auto 0}@media (min-width:640px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}.gallery-img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .4s ease,opacity .4s ease;opacity:.9}.gallery-img:hover{transform:scale(1.03);opacity:1}.floral-divider{display:flex;align-items:center;justify-content:center;padding:2rem 0;background:var(--bg);position:relative;z-index:20}.floral-divider img{width:12rem;opacity:.9}@media (min-width:768px){.floral-divider img{width:14rem}}.section-when{padding:6rem 2rem;background:var(--bg);text-align:center;position:relative;z-index:20}.time-row{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:3rem;direction:ltr}@media (min-width:768px){.time-row{gap:3rem}}.time-block span.big{font-family:var(--font-serif);font-size:3.5rem;font-weight:300;line-height:1;display:block}@media (min-width:768px){.time-block span.big{font-size:5rem}}.time-block span.ampm{font-size:1.5rem}@media (min-width:768px){.time-block span.ampm{font-size:2rem}}.time-block small{display:block;font-size:.625rem;letter-spacing:.25em;text-transform:uppercase;color:var(--fg-50);margin-top:.75rem}.time-sep{display:flex;align-items:center;gap:.5rem}.time-sep-line{width:2rem;height:1px;background:var(--fg-30)}@media (min-width:768px){.time-sep-line{width:4rem}}.section-venue{padding:6rem 2rem;background:var(--bg);border-top:1px solid var(--fg-10);border-bottom:1px solid var(--fg-10);text-align:center;position:relative;z-index:20}.venue-sketch{width:100%;max-width:28rem;height:auto;margin:0 auto 1rem}.venue-short{font-family:var(--font-serif);font-size:1.875rem;color:var(--fg)}@media (min-width:768px){.venue-short{font-size:2.25rem}}.venue-name{font-family:var(--font-serif);font-size:2rem;color:var(--fg)}@media (min-width:768px){.venue-name{font-size:2.5rem}}.venue-city{font-weight:300;font-size:.875rem;text-transform:uppercase;letter-spacing:.2em;color:var(--fg-70);line-height:1.8;margin:.5rem 0 2.5rem}.btn-maps{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--fg-20);color:rgba(131,93,47,.8);border-radius:9999px;padding:.625rem 1.25rem;font-size:.875rem;transition:background .3s ease}.btn-maps:hover{background:var(--fg-10)}.section-map{padding:6rem 2rem;background:var(--bg);text-align:center;position:relative;z-index:20}.map-frame{width:100%;height:16rem;border:1px solid var(--fg-10);margin:2rem auto;overflow:hidden;filter:grayscale(1);opacity:.8;transition:filter .5s ease,opacity .5s ease}@media (min-width:768px){.map-frame{height:20rem}}.map-frame:hover{filter:grayscale(0);opacity:1}.map-frame iframe{width:100%;height:100%;border:0}.section-message{padding:8rem 2rem;background:var(--bg);text-align:center;position:relative;z-index:20}.section-message>.reveal>p{font-weight:300;color:rgba(131,93,47,.8);margin-bottom:4rem;max-width:30rem;margin-left:auto;margin-right:auto;font-size:1.125rem}.msg-form{max-width:28rem;margin:0 auto;text-align:left}.form-group{margin-bottom:2rem}.form-label{display:block;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(131,93,47,.8);margin-bottom:.75rem;margin-left:.25rem}.form-input,.form-textarea{width:100%;background:var(--bg);border:1px solid var(--fg-20);padding:1rem 1.25rem;color:var(--fg);font-family:var(--font-serif);font-size:1.125rem;outline:none;transition:border-color .3s ease;border-radius:0}.form-input:focus,.form-textarea:focus{border-color:rgba(131,93,47,.6)}.form-textarea{resize:none}.form-error{color:#c0392b;font-size:.8rem;margin-top:.4rem;display:none}.form-error.show{display:block}.form-success{color:#27ae60;font-size:.875rem;margin-top:1rem;display:none}.form-success.show{display:block}.btn-submit{width:100%;background:var(--fg);color:#fff;padding:1.25rem;text-transform:uppercase;letter-spacing:.3em;font-size:.875rem;border-radius:.5rem;margin-top:1rem;transition:opacity .3s ease}.btn-submit:hover{opacity:.8}.btn-submit:disabled{opacity:.5;cursor:not-allowed}footer{padding:5rem 2rem;background:var(--bg);text-align:center;border-top:1px solid var(--fg-10);position:relative;z-index:20}.footer-rings{display:flex;align-items:center;justify-content:center;margin-bottom:2rem}.footer-names{font-family:var(--font-script);font-size:2.5rem;color:var(--fg);margin-bottom:1rem}@media (min-width:768px){.footer-names{font-size:3rem}}.footer-date{letter-spacing:.3em;text-transform:uppercase;font-size:.75rem;color:var(--fg-50);margin-bottom:.5rem}.footer-credit{font-size:.75rem;color:var(--fg-30);margin-top:2rem;font-style:italic}