:root{--font-main: "Cinzel", serif;--bg-beige: #f6f1eb;--bg-brown: #7c6c61;--text-light: #ffffff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-main);background-color:var(--bg-beige);color:#4c3b33;letter-spacing:.2em;text-transform:uppercase;margin:0}.text-prim{color:var(--bg-brown)}.navbar-custom{position:fixed;top:0;left:0;width:100%;z-index:1000;background:transparent;padding:1.2rem 1.5rem;transition:background-color .3s,box-shadow .3s}.navbar-scrolled{background-color:#7c6c61e1;box-shadow:0 4px 12px #00000040}.navbar-brand{font-size:.7rem;letter-spacing:.35em;color:#fff;text-decoration:none}.navbar-brand span{display:none}.navbar-scrolled .navbar-brand span{display:inline}.navbar-toggler{border:none}.navbar-toggler:focus{box-shadow:none}.navbar-toggler-icon-custom{width:24px;height:18px;position:relative;display:inline-block}.navbar-toggler-icon-custom span{position:absolute;left:0;right:0;height:3px;border-radius:2px;background-color:#fff;transition:transform .3s,opacity .3s}.navbar-toggler-icon-custom span:nth-child(1){top:0}.navbar-toggler-icon-custom span:nth-child(2){top:7px}.navbar-toggler-icon-custom span:nth-child(3){top:14px}.navbar-nav .nav-link{font-size:.7rem;padding:.5rem 0;text-align:center;color:#fff}.navbar-nav .nav-link:hover{color:#f8e8dc}section{position:relative}.full-height{min-height:100vh}.hero-section{background-image:url(/images/slide1.jpg);background-size:cover;background-position:center center;color:var(--text-light);padding:0 1.5rem 2.5rem;opacity:0;transform:translateY(20px);transition:opacity .9s ease-out,transform .9s ease-out}.hero-section.hero-visible{opacity:1;transform:translateY(0)}.hero-overlay{background:linear-gradient(to bottom,#0000000d,#0009 80%);position:absolute;inset:0}.hero-content{position:relative;z-index:1}.hero-names{margin-top:11.5rem;text-align:center;font-size:1.8rem;letter-spacing:.35em}.hero-names span{display:block}.ampersand{font-size:.9rem;margin:.5rem 0}.hero-countdown-intro{margin-top:auto;text-align:center;font-size:.7rem}.hero-countdown-numbers{margin-top:.75rem;margin-bottom:.75rem}.hero-countdown-numbers .time-box{text-align:center}.hero-countdown-numbers .time-number{font-size:1.4rem}.hero-countdown-numbers .time-label{font-size:.55rem;opacity:.85;letter-spacing:.25em}.hero-bottom-text{text-align:center;font-size:.7rem}.hero-names,.hero-countdown-intro,.hero-countdown-numbers,.hero-bottom-text{opacity:0;transform:translateY(20px);transition:opacity .8s ease-out,transform .8s ease-out}.hero-section.hero-visible .hero-names{opacity:1;transform:translateY(0);transition-delay:.1s}.hero-section.hero-visible .hero-countdown-intro{opacity:1;transform:translateY(0);transition-delay:.3s}.hero-section.hero-visible .hero-countdown-numbers{opacity:1;transform:translateY(0);transition-delay:.5s}.hero-section.hero-visible .hero-bottom-text{opacity:1;transform:translateY(0);transition-delay:.7s}.about-section{padding:5rem 1.5rem 3rem;background-color:#fff;text-align:center}.about-text{max-width:20rem;margin:0 auto 3rem;font-size:.9rem;line-height:1.6;font-weight:400}.about-photo-wrapper{max-width:22rem;margin:0 auto;background-color:#eee}.about-photo{display:block;width:100%;height:auto}.story-section{background-color:#fff;padding:0}.story-top{background-color:var(--bg-brown);color:var(--text-light);padding:3.5rem 2rem 3rem;text-align:left}.story-heading{font-size:1.5rem;margin-bottom:2.5rem;text-align:center;font-weight:600}.timeline-item{display:flex;gap:1.5rem;align-items:flex-start;margin-bottom:1.8rem}.timeline-icon{font-size:2.2rem;line-height:1;flex:0 0 auto}.timeline-text{display:flex;flex-direction:column}.timeline-title{font-size:.9rem;font-weight:700;margin-bottom:.1rem}.timeline-date{font-size:.9rem}.timeline-icon-img{width:70px;object-fit:contain;display:block;margin-right:5px}.story-bottom{position:relative;background-image:url(/images/slide3.jpg);background-size:cover;background-position:center center;color:var(--text-light);min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem 1rem}.story-bottom-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0000001a,#000000a6)}.story-bottom-content{position:relative;z-index:1;width:100%;max-width:22rem}.story-stats-row{margin-bottom:6rem!important}.story-number{font-size:1.3rem;margin-bottom:0rem!important}.story-label{font-size:.55rem;letter-spacing:.22em}.final-section{background-color:#fff;padding:0}.final-top-bar{background-color:var(--bg-brown);height:5rem}.final-photo-wrapper{position:relative;background-image:url(/images/slide4.jpg);background-size:cover;background-position:center center;min-height:100vh;color:var(--text-light);display:flex;flex-direction:column;justify-content:space-between;text-align:center;padding:4.5rem 1.5rem 1.5rem}.final-photo-overlay{position:absolute;inset:0;background:linear-gradient(to top,#0009,#00000026)}.final-text{position:relative;z-index:1;margin-top:10rem}.final-title{font-size:1.8rem;font-weight:700;margin-bottom:1.2rem}.final-names span{display:block;font-size:1.4rem}.final-amp{font-size:.8rem;margin:.4rem 0}.final-footer{position:relative;z-index:1;font-size:.5rem;letter-spacing:.2em;opacity:.9;margin-top:auto}#scrollTopBtn{position:fixed;bottom:1.75rem;right:1.25rem;z-index:1100;width:42px;height:42px;border-radius:50%;border:none;background-color:#7d6559f2;color:#fff;font-size:1.4rem;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s}#scrollTopBtn.show{opacity:1;pointer-events:auto}.mobile-menu-overlay{position:fixed;inset:0;background:#00000073;z-index:900;opacity:0;pointer-events:none;transition:opacity .3s}.mobile-menu-overlay.show{opacity:1;pointer-events:auto}.placement-section{background-color:#fff;padding:5rem 1.5rem;text-align:center}.placement-inner{max-width:1100px;margin:0 auto}.placement-box{border:1px solid rgba(0,0,0,.08);padding:3rem 2rem;height:100%}.placement-title{font-size:1.4rem;font-weight:700;margin-bottom:1rem}.placement-date{font-size:.9rem;letter-spacing:.25em;margin-bottom:1.5rem}.placement-place{font-size:.9rem;line-height:1.7;margin-bottom:2.5rem}.placement-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.placement-btn{border:1px solid #7c6c61;background:transparent;color:#4c3b33;padding:.6rem 1.4rem;font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;cursor:pointer;transition:background-color .3s,color .3s;text-decoration:none}.placement-btn:hover{background-color:#7c6c61;color:#fff}#wedding-video{background-color:var(--bg-brown);padding:0}#wedding-video .placement-inner{max-width:none;margin:0}#wedding-video .media-placeholder{margin:0}#wedding-video video{display:block;width:100%;height:auto}#guest-gallery{padding-left:0;padding-right:0}#guest-gallery .placement-place{margin-top:1rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-auto-rows:180px;gap:.25rem}.gallery-item{position:relative;overflow:hidden;background:linear-gradient(135deg,#7c6c6140,#7c6c610d);box-shadow:inset 0 0 0 1px #7c6c6126}.gallery-item:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(124,108,97,.12) 0,rgba(124,108,97,.12) 8px,transparent 8px,transparent 16px)}.gallery-item.wide{grid-column:span 2}.gallery-item.tall{grid-row:span 2}@media (max-width: 575.98px){.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-auto-rows:140px}}#guide-header{background-color:var(--bg-brown);padding:2rem 1.5rem;text-align:center;color:#fff;font-size:1.5rem}@media (max-width: 767.98px){.navbar-collapse,.navbar-collapse.collapsing{position:fixed;top:0;right:0;bottom:0;width:70%;max-width:260px;background-color:#7c6c61;padding:4.5rem 1.5rem 2rem;transform:translate(100%);transition:transform .3s ease-in-out}.navbar-collapse.show{transform:translate(0)}.navbar-nav .nav-link{text-align:left;font-size:.8rem;padding:.75rem 0}}@media (min-width: 768px){.navbar-brand span{display:inline;font-size:.65rem}.hero-names{margin-top:25rem;font-size:4rem}.hero-countdown-numbers .time-number{font-size:1.9rem}.about-section{padding:7rem 2rem 5rem}.about-inner{max-width:1100px;margin:0 auto}.about-text{max-width:none;text-align:left;margin:0;font-size:.75rem}.about-photo-wrapper{max-width:none}.story-inner-top{max-width:1100px;margin:0 auto}.story-heading{font-size:1.1rem}.story-bottom{min-height:70vh}.story-bottom-content{max-width:32rem}.final-photo-wrapper{padding-top:7rem}}@media (min-width: 992px){.navbar-custom{padding-inline:3rem}.about-row{align-items:center;gap:3rem}.about-text{font-size:.8rem}.story-heading{margin-bottom:3rem}.timeline-title{font-size:.8rem}.timeline-date{font-size:.65rem}.story-number{font-size:2.6rem;font-weight:400}.final-title{font-size:4rem}.final-names span{font-size:2rem}}.hero-content .mt-auto{margin-bottom:4rem}.hero-countdown-intro{font-size:.9rem;letter-spacing:.25em;margin-bottom:1.2rem;margin-top:1.8rem}.hero-countdown-numbers .time-number{font-size:2.2rem;font-weight:700}.hero-countdown-numbers .time-label{font-size:.75rem;font-weight:500;letter-spacing:.28em}.hero-bottom-text{font-size:.9rem;margin-top:2rem}.guest-form{max-width:1000px;margin:0 auto}.guest-form .row{row-gap:3rem}.form-label{font-size:1rem;letter-spacing:.15em;margin-bottom:.8rem;color:#7c6c61;text-align:left}.form-input,.form-textarea{width:100%;border:1px solid rgba(124,108,97,.4);background:transparent;padding:.8rem .9rem;font-family:var(--font-main);font-size:.75rem;letter-spacing:.15em;transition:border-color .3s,background-color .3s}.form-input:focus,.form-textarea:focus{border-color:#7c6c61;background-color:#7c6c610a;outline:none}.form-textarea{min-height:160px;resize:vertical}.form-input::placeholder,.form-textarea::placeholder{opacity:0;transition:opacity .3s}.form-input:focus::placeholder,.form-textarea:focus::placeholder{opacity:.45}.form-checkbox-group{display:flex;gap:1.6rem;flex-wrap:wrap;font-size:.7rem;letter-spacing:.25em}.form-checkbox-group label{display:flex;align-items:center;gap:.4rem;cursor:pointer}.form-checkbox-group input{accent-color:#7c6c61;width:14px;height:14px}.form-note{font-size:.55rem;letter-spacing:.25em;opacity:.6;margin-top:.7rem;max-width:28rem;line-height:1.6}.col-12.col-md-6{display:flex;flex-direction:column;justify-content:flex-start}.guest-form button{margin-top:3rem;padding:.8rem 2.8rem}@media (min-width: 992px){.hero-countdown-numbers{margin-top:.6rem!important;margin-bottom:.6rem!important}.hero-countdown-numbers .time-box{padding:0}.hero-countdown-numbers .time-number{font-size:2rem!important}.hero-countdown-numbers .time-label{font-size:.65rem!important}.hero-countdown-numbers{max-width:360px;margin:.5rem auto!important}.hero-countdown-numbers .time-box{padding-left:.25rem;padding-right:.25rem}}@media (min-width: 768px){#about .about-section{text-align:left}#about .about-row{display:grid;grid-template-columns:1fr 1fr;column-gap:3rem;row-gap:0}#about .about-row>div{width:100%;max-width:100%}#about .about-text,#about .about-photo-wrapper{margin:0}}@media (min-width: 992px){#about .about-text{font-size:1rem!important;line-height:1.8;max-width:28rem}}.story-timeline-row .col-4,.story-timeline-row .col-12{display:flex;justify-content:center}@media (max-width: 575.98px){.timeline-title,.timeline-date{font-size:.9rem}}@media (max-width: 767.98px){.story-timeline-row{margin-top:1.5rem}.story-timeline-row .col-4,.story-timeline-row .col-12{flex:0 0 100%;max-width:100%;justify-content:flex-start;margin-bottom:1.6rem}.timeline-item{gap:.6rem}.timeline-title,.timeline-date{font-size:.9rem;font-weight:700}.timeline-icon{font-size:1.8rem}}@media (min-width: 992px){.timeline-title{font-size:1.1rem!important;font-weight:700;letter-spacing:.05em}.timeline-date{font-size:.9rem!important;letter-spacing:.05em;opacity:.9}.timeline-item{gap:1rem}}@media (max-width: 767.98px){.story-number{font-size:2.2rem!important;font-weight:400!important;margin-bottom:0rem!important}.story-label{font-size:.9rem!important;letter-spacing:.25em;opacity:1}.story-stats-row{margin-bottom:3.5rem!important}}@media (min-width: 768px){.story-top{padding:5rem 3rem 4rem}}.animate-on-scroll{opacity:0;transform:translateY(40px);transition:opacity .8s ease-out,transform .8s ease-out}.animate-on-scroll.section-visible{opacity:1;transform:translateY(0)}.form-check,.form-check .form-check-label{text-align:left}#task-list .form-check-label{font-size:.7rem}
