:root{--green:#37594B;--cream:#f1e8db;--paper:#fbf2e6;--ink:#213026;--muted:#6e7a72;--white:#fff;--light-gray:#f4f4f4;--border-light:#e5dfd5;--overlay-light:rgba(0,0,0,.25);--overlay-dark:rgba(0,0,0,.45);--green-overlay-light:rgba(47,67,53,.88);--green-overlay-dark:rgba(47,67,53,.92);--shadow:0 10px 30px rgba(0,0,0,.15);--radius:22px;--maxw:1100px;--show-song-form:block;--show-song-google:none;--show-song-spotify:none}html{background-color:var(--green);-webkit-overflow-scrolling:touch;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}*{box-sizing:border-box}html{margin:0;padding:0;background-color:var(--green);height:100%;height:-webkit-fill-available}body{margin:0;padding:0;background-color:var(--green);min-height:100vh;min-height:-webkit-fill-available;width:100%}body{font-family:"Cormorant Garamond",serif;background:var(--paper);color:var(--green);line-height:1.5;overflow-x:hidden;position:relative}h1,h2,h3{font-family:"Playfair Display",serif;letter-spacing:.02em}.names{font-family:Kalnia,serif;font-weight:300}.names-signature{font-family:Kalnia,serif!important;font-weight:300}.connector{font-family:"Herr Von Muellerhoff",cursive!important;font-size:clamp(50px, 8vw, 100px)!important;line-height:.8;margin:.2em 0}.arapey-thin{font-family:Arapey,serif!important;font-weight:400;font-style:normal}.date-title{font-family:Kalnia,serif!important;font-weight:300;text-align:center}h1{font-size:clamp(38px, 6vw, 86px);font-weight:600}h2{font-size:clamp(28px, 4.2vw, 56px);font-weight:600}h3{font-size:clamp(20px, 2.6vw, 28px);margin:0 0 12px}.script{font-family:"Great Vibes",cursive}p{margin:0 0 1rem;font-size:clamp(16px, 1.8vw, 22px)}a{color:inherit}.container{max-width:var(--maxw);margin-inline:auto;padding:clamp(20px,4vw,40px)}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow)}#s0{position:relative;min-height:100vh;display:grid;place-items:center;text-align:center;color:var(--white);overflow:hidden}#s0 .bg{position:absolute;inset:0;background-color:var(--green)}#s0 .title{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem}#s0 .title h1{font-size:clamp(56px, 10vw, 140px);line-height:.95;letter-spacing:.04em;margin:0}#s0 .title .script{font-size:clamp(40px, 6vw, 80px);line-height:1;margin:0;white-space:nowrap;padding:0 3.5rem}#s0 .subtitle{margin-top:14px;font-size:clamp(20px, 2.6vw, 34px);letter-spacing:.05em}#s0 .subtitle,#s0 .title .script,#s0 .title h1{opacity:0;transform:translateY(30px);transition:opacity 1s ease,transform 1s ease}#s0.revealed .subtitle{transition-delay:0s}#s0.revealed .title h1:first-of-type{transition-delay:0.5s}#s0.revealed .title .script{transition-delay:0.8s}#s0.revealed .title h1:nth-of-type(2){transition-delay:1.1s}#s0.revealed .subtitle,#s0.revealed .title .script,#s0.revealed .title h1{opacity:1;transform:translateY(0)}#s5{background:var(--green);color:var(--white);position:relative;overflow:hidden}#s5 .grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(12px,3vw,30px)}#s5 .rsvp{padding:clamp(24px,4vw,48px)}#s5 h1{margin:0 0 .6rem}#s5 li,#s5 p{color:var(--light-gray);opacity:.95}#s5 .stripes{display:flex;gap:18px;align-items:stretch;height:100%}#s5 .stripe{background:var(--cream);width:18px;border-radius:2px}#s5 .stripe:nth-child(odd){opacity:.9}#s5 .email{display:inline-block;margin-top:.4rem;text-decoration:underline}#s2{background:var(--green);color:var(--white);text-align:center}#s2 .inner{padding:34px 10px}#s2 p{opacity:.95}#s2 .sig{font-size:clamp(24px, 3.4vw, 40px)}#s3{background:var(--paper);color:var(--ink);text-align:center}#s3 .lead{max-width:900px;margin:0 auto 40px;font-size:clamp(18px, 2.2vw, 26px)}#s3 .timeline{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(14px,2.4vw,30px);align-items:start}#s3 .slot{display:grid;justify-items:center;gap:6px}#s3 .icon{font-size:42px;filter:grayscale(40%)}#s3 .time{opacity:.75}#s3 .label{font-size:clamp(16px, 2vw, 22px)}#s3-maps{background:var(--green);padding:clamp(20px,4vw,40px) 0;color:var(--white)}#s3-maps h2{color:var(--white)}#s3-maps .lead{color:var(--white)}.maps-container{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,60px);margin-top:clamp(40px,5vw,60px)}.map-item{background:var(--white);border-radius:12px;padding:clamp(20px,3vw,30px);box-shadow:0 4px 20px rgba(0,0,0,.1);border:2px solid var(--border-light)}.map-item h3{font-family:"Playfair Display",serif;font-size:clamp(24px, 3vw, 32px);color:var(--ink);margin-bottom:1rem;text-align:center}.map-item h3 a{color:var(--ink);text-decoration:none;transition:color .3s ease}.map-item h3 a:hover{color:var(--green);text-decoration:underline}.map-frame{border-radius:8px;overflow:hidden;margin-bottom:1rem;border:2px solid var(--border-light)}.map-frame iframe{width:100%;height:300px;border:none}.map-description{font-family:"Cormorant Garamond",serif;font-size:clamp(16px, 2vw, 18px);line-height:1.6;color:var(--ink);text-align:center;margin:0}.map-description strong{font-family:"Playfair Display",serif;font-size:clamp(18px, 2.5vw, 22px);color:var(--green);display:block;margin-bottom:.5rem}.map-description em{color:var(--green);font-style:normal;font-weight:600;display:block;margin-top:.5rem}@media (max-width:768px){.maps-container{grid-template-columns:1fr;gap:clamp(20px,4vw,30px)}.map-frame iframe{height:250px}}#s4{background:var(--paper)}#s4 .frame{border:16px solid var(--green);padding:clamp(26px,4vw,44px);border-radius:12px}#s4 .frame .inner{background:var(--white);border:3px solid var(--green);padding:clamp(20px,3.6vw,34px);text-align:center;border-radius:8px}#s5{position:relative;color:var(--white)}#s5 .bg{position:absolute;inset:0;background:url('assets/images/alaro.jpg?v=1761000304078');filter:saturate(.8)}#s5 .overlay{position:absolute;inset:0;background:linear-gradient(var(--overlay-light),var(--overlay-dark))}#s5 .content{position:relative}#s5 h2{color:var(--white);text-align:center;margin-bottom:10px}#s5 .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2.8vw,26px)}#s5 .hotel{background:var(--green-overlay-dark);padding:28px;border-radius:14px;box-shadow:var(--shadow)}#s6{background:var(--paper)}#s6 h2{text-align:center}#s6 .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3.5vw,40px);margin-top:16px}#s6 .box{background:var(--white);border:1px solid var(--border-light);border-radius:14px;padding:clamp(18px,2.8vw,26px)}#s1{background:var(--paper)}#s1 .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(18px,3.5vw,40px);align-items:center}#s1 .frame{padding:20px;border:6px solid var(--green);border-radius:8px}#s1 .frame .inner{border:6px solid var(--green);padding:clamp(8px,1.4vw,14px)}#s1 .ph{min-height:300px;height:auto;background:url('assets/images/byd.jpg?v=1761000304078') center/contain no-repeat;background-size:contain;border-radius:6px;display:flex;align-items:center;justify-content:center}#s1 .date h2{font-weight:600}#s1 .date .script{font-size:clamp(30px, 5vw, 54px)}.countdown-container{margin:clamp(20px,4vw,40px) 0;text-align:center}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,2vw,20px);max-width:600px;margin:0 auto}.countdown-item{display:flex;flex-direction:column;align-items:center;gap:4px}.countdown-number{font-size:clamp(32px, 6vw, 60px);font-weight:300;line-height:1;color:var(--green)}.countdown-label{font-size:clamp(14px, 1.8vw, 18px);color:var(--muted);text-transform:lowercase;letter-spacing:.02em}#s8{position:relative;color:var(--white)}#s8 .bg{position:absolute;inset:0;background:url('assets/images/alaro.jpg?v=1761000304078') center/cover no-repeat;filter:brightness(.6)}#s8 .content{position:relative}#s8 .panel{background:var(--green-overlay-light);padding:clamp(22px,4vw,46px);border-radius:14px}#s8 .panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,40px);align-items:center}#s8 .panel-text{flex:1}#s8 .panel-image{display:flex;justify-content:center;align-items:center}#s8 .image-frame{width:100%;max-width:300px;padding:8px;background:var(--white);border-radius:10px;box-shadow:0 4px 12px rgba(0,0,0,.2)}#s8 .couple-photo{width:100%;height:0;padding-bottom:125%;background-color:var(--cream);background-image:url('assets/images/byd.jpg?v=1761000304078');background-position:center;background-repeat:no-repeat;background-size:cover;border-radius:6px;position:relative}@media (max-width:980px){#s0 .title h1{font-size:clamp(44px, 9vw, 100px)}#s0 .title .script{font-size:clamp(30px, 8vw, 60px)}#s1 .grid{grid-template-columns:1fr}#s3 .timeline{grid-template-columns:repeat(3,1fr)}#s5 .cards{grid-template-columns:1fr}#s6 .grid{grid-template-columns:1fr}#s1 .wrap{grid-template-columns:1fr}#s8 .panel-grid{grid-template-columns:1fr;gap:clamp(20px,4vw,30px)}#s8 .panel-image{order:1;justify-content:center}#s8 .image-frame{max-width:250px}}@supports (-webkit-overflow-scrolling:touch){body{background-color:var(--green)}body::before{content:'';position:fixed;top:calc(-100vh - env(safe-area-inset-top));left:0;right:0;height:calc(100vh + env(safe-area-inset-top));background-color:var(--green);z-index:-1}body::after{content:'';position:fixed;bottom:calc(-100vh - env(safe-area-inset-bottom));left:0;right:0;height:calc(100vh + env(safe-area-inset-bottom));background-color:var(--green);z-index:-1}}@supports (padding:max(0px)){.container{padding-left:max(clamp(20px,4vw,40px),env(safe-area-inset-left));padding-right:max(clamp(20px,4vw,40px),env(safe-area-inset-right))}#s0{padding-top:env(safe-area-inset-top)}}@media (max-width:600px){#s0{min-height:108vh}#s3 .timeline{grid-template-columns:repeat(2,1fr)}#s1 .stripes{display:none}.countdown-grid{grid-template-columns:repeat(4,1fr);gap:clamp(6px,2vw,12px)}.countdown-number{font-size:clamp(20px, 6vw, 36px)}.countdown-label{font-size:clamp(10px, 2vw, 14px)}#s8 .image-frame{max-width:200px}}#s7{background:var(--paper)}#song-form{display:var(--show-song-form)}#song-google{display:var(--show-song-google)}#song-spotify{display:var(--show-song-spotify)}.form-group{margin-bottom:1rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:2px solid var(--border-light);border-radius:10px;font-family:"Cormorant Garamond",serif;font-size:16px;background:var(--white);color:var(--ink);transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:var(--green)}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-group.half{flex:1;margin-bottom:0}.form-group.third{flex:1;margin-bottom:0}.persona-item{border:2px solid var(--paper);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;background:rgba(255,255,255,.8);position:relative}.persona-item:first-child .btn-remove-persona{display:none!important}.btn-add-persona{background:var(--green);color:var(--white);border:none;padding:12px 24px;border-radius:10px;font-family:"Playfair Display",serif;font-size:16px;cursor:pointer;margin-bottom:1.5rem;transition:all .3s ease;display:block;width:100%}.btn-add-persona:hover{background:var(--ink);transform:translateY(-2px)}.btn-remove-persona{background:#dc3545;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-family:"Playfair Display",serif;font-size:14px;cursor:pointer;position:absolute;top:10px;right:10px;transition:all .3s ease}.btn-remove-persona:hover{background:#c82333;transform:translateY(-1px)}#personas-container h3{font-family:"Playfair Display",serif;color:#fff;margin-bottom:1rem;font-size:clamp(18px, 2.5vw, 24px)}.btn-link,.btn-submit{background:var(--green);color:var(--white);padding:14px 28px;border:2px solid var(--cream);border-radius:10px;text-decoration:none;display:inline-block;font-family:"Cormorant Garamond",serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center;position:relative}.btn-link:hover,.btn-submit:hover:not(:disabled){background:var(--ink);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.15)}.btn-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.form-message{padding:12px 16px;border-radius:8px;margin-bottom:1rem;font-weight:500}.form-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.form-message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.btn-loading{opacity:.8}@media (max-width:600px){.form-group input,.form-group select,.form-group textarea{font-size:16px}.btn-link,.btn-submit{width:100%;padding:16px}.form-row{flex-direction:column;gap:0}.form-group.half,.form-group.third{margin-bottom:1rem}.persona-item{padding:1rem}.btn-remove-persona{position:static;margin-top:1rem;width:100%}}