@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,400&family=Lora:ital,wght@0,400;0,500;1,400&family=Pinyon+Script&display=swap";:root{--color-cream:#ece0d9;--color-taupe:#816a5d;--color-choco:#422d23;--color-dark-brown:#311e13;--color-black-brown:#21140d;--color-maroon:#641713;--color-green:#4f573c;--font-heading:"Cormorant Garamond", serif;--font-body:"Lora", serif;--font-accent:"Pinyon Script", cursive}*{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--color-cream);background-image:linear-gradient(to bottom, var(--color-cream) 50%, var(--color-dark-brown) 50%);background-attachment:fixed}body{font-family:var(--font-body);background-color:var(--color-cream);color:var(--color-dark-brown);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-black-brown);font-weight:400}.section{text-align:center;max-width:900px;margin:0 auto;padding:4rem 2rem}.section-dark-wrapper{background-color:var(--color-dark-brown);width:100%;color:var(--color-cream);padding-top:1px;padding-bottom:1px}.section-dark-wrapper .section-title,.section-dark-wrapper h1,.section-dark-wrapper h2,.section-dark-wrapper h3,.section-dark-wrapper h4,.section-dark-wrapper p,.section-dark-wrapper span,.section-dark-wrapper label,.section-dark-wrapper a,.section-dark-wrapper strong,.section-dark-wrapper .faq-accordion-header h3,.section-dark-wrapper .faq-answer,.section-dark-wrapper ul,.section-dark-wrapper li{color:var(--color-cream)}.section-dark-wrapper .gift-card{background-color:#fbf6f4}.section-dark-wrapper .gift-title{color:var(--color-black-brown)!important}.section-dark-wrapper .gift-price,.section-dark-wrapper .gift-progress,.section-dark-wrapper .gift-link{color:var(--color-taupe)!important}.section-dark-wrapper .registry-filter-select{border:1px solid #ece0d966}.section-dark-wrapper .rsvp-form{background-color:var(--color-cream);color:var(--color-dark-brown);box-shadow:0 10px 40px #0000001a, inset 0 0 0 15px var(--color-cream), inset 0 0 0 17px var(--color-dark-brown), inset 0 0 0 23px var(--color-cream), inset 0 0 0 24px var(--color-dark-brown);padding:3.5rem 2.5rem}.section-dark-wrapper .rsvp-form h1,.section-dark-wrapper .rsvp-form h2,.section-dark-wrapper .rsvp-form h3,.section-dark-wrapper .rsvp-form h4,.section-dark-wrapper .rsvp-form p,.section-dark-wrapper .rsvp-form span,.section-dark-wrapper .rsvp-form label{color:var(--color-dark-brown)}.section-dark-wrapper .guest-block{background-color:#0000;border:none}.section-dark-wrapper .guest-block h3,.section-dark-wrapper .guest-block h4,.section-dark-wrapper .guest-block p,.section-dark-wrapper .guest-block span,.section-dark-wrapper .guest-block label{color:var(--color-dark-brown)}.section-dark-wrapper .guest-block .btn-attendance{color:var(--color-dark-brown);border-color:var(--color-taupe)}.section-dark-wrapper .guest-block .btn-attendance:hover{background-color:#ffffff80}.section-dark-wrapper .guest-block .btn-attendance.selected{background-color:var(--color-taupe);color:var(--color-cream);border-color:var(--color-taupe)}.section-dark-wrapper .guest-block input,.section-dark-wrapper .guest-block textarea,.section-dark-wrapper .guest-block select{color:var(--color-dark-brown);border:1px solid var(--color-taupe);background-color:#0000}.section-dark-wrapper .guest-block input::placeholder,.section-dark-wrapper .guest-block textarea::placeholder{color:#311e1380}.section-dark-wrapper .guest-block input:focus,.section-dark-wrapper .guest-block textarea:focus{border-color:var(--color-dark-brown);outline:none}.section-dark-wrapper .guest-block .menu-card{border-color:var(--color-taupe)}.section-dark-wrapper .guest-block .menu-card.selected{border-color:var(--color-dark-brown);background-color:#311e130d}.section-dark-wrapper .btn-submit{background-color:var(--color-dark-brown);color:var(--color-cream)}.section-dark-wrapper .btn-submit:hover{background-color:var(--color-choco);color:var(--color-cream)}.section-dark-wrapper .btn-add-minimal{color:var(--color-dark-brown)}.section-dark-wrapper .btn-add-minimal .btn-add-circle{border-color:var(--color-dark-brown)}.section-dark-wrapper .btn-add-minimal:hover .btn-add-circle{background-color:#311e131a}.section-dark-wrapper .faq-accordion-item{border-top-color:#ece0d933}.section-dark-wrapper .faq-accordion-item:last-child{border-bottom-color:#ece0d933}.section-dark-wrapper .faq-accordion-icon:before,.section-dark-wrapper .faq-accordion-icon:after{background-color:var(--color-cream)}.section-title{font-family:var(--font-accent);color:var(--color-dark-brown);margin-bottom:2rem;font-size:3rem;font-weight:400;display:inline-block;position:relative}@media (width>=768px){.section-title{font-size:3.5rem}}.hero-container{text-align:center;background-color:#0000;background-image:linear-gradient(#ece0d9b3,#ece0d9b3),url(/Envelope%20Liner%20Final%20Kopie.png);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:2rem 2rem 5rem;display:flex}@media (width<=768px){.hero-container{background-attachment:scroll}}@supports (-webkit-touch-callout:none){.hero-container{background-attachment:scroll}}.hero-section{flex-direction:column;align-items:center;gap:1.5rem;animation:2s ease-in-out fadeIn;display:flex}.hero-names{font-family:var(--font-heading);color:var(--color-cream);letter-spacing:.05em;text-shadow:0 2px 4px #00000080;font-size:5rem;font-weight:400;line-height:1.2}@media (width<=768px){.hero-names .ampersand{margin:-.5rem 0;display:block}.hero-date-location{transform:translateY(10rem)}.countdown{transform:translateY(10rem);margin-top:.5rem!important}}.hero-date-location{letter-spacing:.1em;color:var(--color-dark-brown);margin-top:1rem;padding:1rem 0;font-size:1.35rem;font-weight:300}.hero-message{font-family:var(--font-heading);color:var(--color-cream);text-shadow:0 1px 3px #00000080;margin-top:2rem;font-size:1.5rem;font-style:italic}.story-content{color:var(--color-choco);max-width:900px;margin:0 auto;font-size:1.1rem;line-height:1.8}.typo-schedule-section{background-color:var(--color-dark-brown);max-width:100%;padding:5rem 1rem}.typo-schedule-container{flex-direction:column;align-items:center;gap:3rem;max-width:900px;margin:0 auto;display:flex}@media (width>=768px){.typo-schedule-container{flex-direction:row;justify-content:center;align-items:stretch;gap:4rem}}.typo-schedule-left{text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}@media (width>=768px){.typo-schedule-left{justify-content:center;align-items:flex-end;padding-right:3rem}.typo-schedule-left:after{content:"";background-color:var(--color-taupe);width:1px;height:90%;position:absolute;top:5%;right:0}}.typo-heading-sans{font-family:var(--font-heading);letter-spacing:.15em;color:var(--color-cream);text-transform:uppercase;margin-right:-.15em;font-size:3.5rem;font-weight:300;line-height:1.1}@media (width>=768px){.typo-heading-sans{font-size:5rem}}.typo-heading-script{font-family:var(--font-accent);color:var(--color-cream);z-index:10;margin-top:0;margin-bottom:2rem;font-size:3rem;line-height:1;position:relative}@media (width>=768px){.typo-heading-script{margin-top:0;margin-bottom:0;margin-right:1.5rem;font-size:3.5rem}}.typo-schedule-right{flex-direction:column;align-items:center;gap:2.5rem;display:flex}@media (width>=768px){.typo-schedule-right{padding-left:1rem}}.typo-event{text-align:center;flex-direction:column;align-items:center;display:flex}.typo-time{font-family:var(--font-body);letter-spacing:.1em;color:var(--color-cream);margin-bottom:.25rem;font-size:1.1rem;font-weight:550}.typo-title{font-family:var(--font-body);letter-spacing:.1em;color:var(--color-cream);font-size:1.1rem;font-weight:400}.timeline-section{background-color:var(--color-cream);text-align:center;padding:8rem 2rem}.timeline-title{font-family:var(--font-heading);letter-spacing:.1em;color:var(--color-dark-brown);text-transform:uppercase;margin-bottom:5rem;font-size:3.5rem;font-weight:300}.timeline-container{flex-wrap:wrap;justify-content:center;gap:3rem;max-width:1200px;margin:0 auto;display:flex}@media (width>=768px){.timeline-container{flex-wrap:nowrap;justify-content:space-between;gap:1.5rem}}.timeline-item{flex-direction:column;flex:1;align-items:center;min-width:120px;display:flex}.timeline-icon-wrapper{justify-content:center;align-items:center;margin-bottom:1.5rem;display:flex}.timeline-img-icon{object-fit:contain;mix-blend-mode:darken;opacity:1;width:135px;height:135px}.timeline-time{font-family:var(--font-heading);letter-spacing:.1em;color:var(--color-dark-brown);margin-bottom:.5rem;font-size:1.2rem}.timeline-event{font-family:var(--font-body);color:var(--color-taupe);letter-spacing:.05em;font-size:1.1rem;line-height:1.2}.details-grid{grid-template-columns:1fr;gap:2rem;margin-top:2rem;display:grid}@media (width>=768px){.details-grid{grid-template-columns:1fr 1fr}}.detail-card{cursor:pointer;background-color:#ffffff80;border:1px solid #816a5d33;border-radius:0;flex-direction:column;justify-content:center;padding:2rem;transition:transform .3s;display:flex;box-shadow:0 4px 15px #0000000d}.detail-card:hover{transform:translateY(-5px)}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:2000;background-color:#ece0d9cc;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.3s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.modal-content{text-align:left;border:1px solid var(--color-taupe);background-color:#fff;border-radius:0;width:90%;max-width:600px;max-height:85vh;padding:3rem;position:relative;overflow-y:auto;box-shadow:0 10px 40px #0000001a}.detail-card h3{color:var(--color-dark-brown);margin-bottom:1rem;font-size:1.5rem}.modal-content h3{color:var(--color-dark-brown);font-family:var(--font-heading);text-align:center;margin-bottom:1.5rem;font-size:2rem}.btn-close{cursor:pointer;color:var(--color-taupe);background:0 0;border:none;font-size:2rem;line-height:1;transition:color .2s;position:absolute;top:1.5rem;right:1.5rem}.btn-close:hover{color:var(--color-dark-brown)}.btn-read-more{color:var(--color-taupe);cursor:pointer;font-family:var(--font-body);background:0 0;border:none;margin-top:1rem;padding:0;font-size:1rem;text-decoration:underline}.card-full-content{color:var(--color-dark-brown);line-height:1.8}.card-full-content h4{color:var(--color-dark-brown);font-family:var(--font-body);border-bottom:1px solid var(--color-cream);margin-top:1.5rem;margin-bottom:.5rem;padding-bottom:.5rem;font-size:1.2rem;font-weight:500}.rsvp-form{background-color:#fff9;border-radius:0;flex-direction:column;gap:1.5rem;max-width:700px;margin:0 auto;padding:2.5rem;display:flex;box-shadow:0 4px 20px #0000000d}.form-group{text-align:left;flex-direction:column;display:flex}.form-group label{color:var(--color-dark-brown);margin-bottom:.5rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--color-taupe);font-family:var(--font-body);resize:none;background-color:#0000;border-radius:0;padding:.8rem;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-dark-brown);outline:none}.btn-submit{background-color:var(--color-choco);color:var(--color-cream);font-size:1.1rem;font-family:var(--font-body);cursor:pointer;border:none;border-radius:0;margin-top:1rem;padding:1rem;transition:background-color .3s,transform .2s}.rsvp-form>.btn-submit{margin-left:1.5rem;margin-right:1.5rem}.attendance-buttons{flex-direction:column;gap:1rem;display:flex}@media (width>=600px){.attendance-buttons{flex-direction:row}}.btn-attendance{border:1px solid var(--color-taupe);color:var(--color-dark-brown);font-family:var(--font-body);cursor:pointer;background-color:#0000;border-radius:0;flex:1;padding:1rem;font-size:1rem;transition:all .3s}.btn-attendance:hover{background-color:#ffffff80}.btn-attendance.selected{background-color:var(--color-taupe);color:var(--color-cream);border-color:var(--color-taupe)}.btn-submit:hover{background-color:var(--color-black-brown);transform:translateY(-2px)}.guest-block{background-color:#fff6;border:none;border-radius:0;flex-direction:column;gap:1.5rem;margin-bottom:1rem;padding:1.5rem;display:flex}.guest-header{border-bottom:1px solid var(--color-taupe);justify-content:space-between;align-items:center;margin-bottom:0;padding-bottom:.5rem;display:flex}.guest-header h3{color:var(--color-dark-brown);font-size:1.25rem}.btn-remove{color:var(--color-taupe);font-size:1rem;font-family:var(--font-body);cursor:pointer;background:0 0;border:none;text-decoration:underline}.btn-add-minimal{color:var(--color-dark-brown);font-size:1rem;font-family:var(--font-body);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:.8rem;margin:1rem auto 2rem;padding:1rem 0;transition:opacity .3s;display:flex}.btn-add-minimal:hover{opacity:.7}.btn-add-circle{border:1.5px dashed var(--color-taupe);width:40px;height:40px;color:var(--color-taupe);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;font-weight:300;transition:all .3s;display:flex}.btn-add-minimal:hover .btn-add-circle{border-color:var(--color-dark-brown);color:var(--color-dark-brown)}.menu-selection{flex-direction:column;gap:1rem;margin-top:.5rem;display:flex}@media (width>=600px){.menu-selection{flex-direction:row}}.menu-card{text-align:center;cursor:pointer;background-color:#ffffff4d;border:2px solid #0000;border-radius:8px;flex:1;padding:1.5rem 1rem;transition:all .3s;box-shadow:0 2px 10px #0000000d}.menu-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.menu-card.selected{border-color:var(--color-dark-brown);background-color:#faf6f4}.menu-card h4{font-family:var(--font-heading);color:var(--color-dark-brown);margin-bottom:0;font-size:1.4rem}.menu-icon{object-fit:contain;mix-blend-mode:darken;opacity:.9;width:70px;height:70px;margin:0 auto 1rem;display:block}.nav-bar{z-index:1000;background-color:#0000;justify-content:center;width:100%;padding:1.5rem 2rem;transition:all .4s;display:flex;position:fixed;top:0}.nav-bar.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#311e13f2;padding:1rem 2rem;box-shadow:0 2px 10px #0000004d}.mobile-menu-icon{cursor:pointer;color:var(--color-dark-brown);z-index:1001;transition:color .3s;display:none}.nav-bar.scrolled .mobile-menu-icon{color:var(--color-cream)}.mobile-menu-icon.open{color:var(--color-dark-brown)!important}.nav-links{flex-wrap:wrap;justify-content:center;gap:2rem;list-style:none;display:flex}.nav-link{color:var(--color-dark-brown);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.05em;font-size:1rem;font-weight:500;text-decoration:none;transition:color .3s}.nav-bar.scrolled .nav-link{color:var(--color-cream);text-shadow:none}.nav-link:hover{color:var(--color-taupe);text-shadow:none}.nav-bar.scrolled .nav-link:hover{color:var(--color-taupe)}@media (width<=768px){.nav-bar{justify-content:flex-end;padding:1.5rem}.nav-bar.scrolled{padding:1rem 1.5rem}.mobile-menu-icon{display:block}.nav-links{background-color:var(--color-cream);z-index:1000;flex-direction:column;justify-content:flex-start;gap:2rem;width:250px;height:100vh;padding-top:6rem;padding-left:2.5rem;transition:right .3s;position:fixed;top:0;right:-100%;box-shadow:-4px 0 15px #0000001a}.nav-links.active{right:0}.nav-link{color:var(--color-dark-brown);text-shadow:none;font-size:1.2rem}.nav-bar.scrolled .nav-link{color:var(--color-dark-brown)}}.faq-grid{text-align:left;grid-template-columns:1fr;gap:0;margin-top:2rem;display:grid}.faq-accordion-item{background-color:#0000;border-top:1px solid #816a5d4d;margin-top:-1px;transition:background-color .3s;overflow:hidden}.faq-accordion-item:last-child{border-bottom:1px solid #816a5d4d}.faq-accordion-item.open{background-color:#0000}.faq-accordion-header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:1.5rem 0;display:flex}.faq-accordion-header h3{font-family:var(--font-body);color:var(--color-choco);letter-spacing:.05em;margin:0;padding-right:1rem;font-size:1.2rem;font-weight:550}.faq-accordion-icon{color:var(--color-taupe);flex-shrink:0;transition:transform .3s}.faq-accordion-icon.open{transform:rotate(45deg)}.faq-accordion-content{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.faq-accordion-item.open .faq-accordion-content{grid-template-rows:1fr}.faq-accordion-inner{overflow:hidden}.faq-answer{color:var(--color-dark-brown);margin:0;padding:0 0 1.5rem;font-size:1rem}.contact-grid{text-align:center;justify-content:space-evenly;align-items:center;margin-top:1rem;display:flex}.color-palette{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.color-item{text-align:center;flex-direction:column;flex:1 1 0;align-items:center;gap:.8rem;min-width:80px;max-width:120px;display:flex}.color-name{color:var(--color-black-brown);letter-spacing:.05em;font-size:.85rem}.color-circle{cursor:default;border:1px solid #000;border-radius:50%;width:45px;height:45px;transition:transform .3s;box-shadow:0 4px 10px #00000014}.color-circle:hover{transform:scale(1.15)}.contact-divider{background-color:var(--color-taupe);opacity:.4;width:1px;height:40px}.contact-person{flex:1}.contact-person strong{color:var(--color-choco);margin-bottom:.3rem;font-size:1.1rem;display:inline-block}.contact-person a{color:var(--color-dark-brown);font-weight:500;text-decoration:none;transition:opacity .3s}.contact-person a:hover{opacity:.7}@media (width<=600px){.contact-grid{flex-direction:column;gap:1.5rem}.contact-divider{width:40px;height:1px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-container{background-color:#e8e8e8;background-image:url(/tablecloth_white_linen.jpg);background-position:50%;background-size:cover;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0;overflow-y:auto}.login-box{background-color:var(--color-dark-brown);color:var(--color-cream);box-shadow:0 10px 40px #00000080, inset 0 0 0 15px var(--color-dark-brown), inset 0 0 0 17px var(--color-cream), inset 0 0 0 23px var(--color-dark-brown), inset 0 0 0 24px var(--color-cream);text-align:center;aspect-ratio:12/17;border-radius:0;flex-direction:column;justify-content:center;width:100%;max-width:450px;padding:3.5rem 2rem;animation:1s ease-out fadeIn;display:flex}.login-box p{color:var(--color-cream);margin-bottom:2rem;font-size:1.1rem}.login-form{flex-direction:column;gap:1.5rem;display:flex}.login-input{border:1px solid var(--color-cream);width:100%;color:var(--color-cream);font-family:var(--font-body);text-align:center;background-color:#0000;border-radius:0;outline:none;padding:1rem;font-size:1rem;transition:border-color .3s}.login-input::placeholder{color:#ece0d980}.login-input:focus{border-color:var(--color-cream);outline:none}.login-error{color:#d32f2f;margin-top:-1rem;font-size:.9rem}.registry-filter-select{font-family:var(--font-body);color:var(--color-cream);background-color:var(--color-dark-brown);border:1px solid var(--color-dark-brown);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=US-ASCII,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"%23ECE0D9\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"6 9 12 15 18 9\"></polyline></svg>");background-position:right 1rem center;background-repeat:no-repeat;border-radius:0;outline:none;padding:.4rem 2.5rem .4rem 1rem;font-size:1rem}.registry-grid{grid-template-columns:1fr;gap:2rem;margin-top:3rem;display:grid}@media (width>=768px){.registry-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}.gift-card{background-color:#ffffffb3;border:1px solid #816a5d33;border-radius:0;flex-direction:column;transition:transform .3s,opacity .3s;display:flex;overflow:hidden}.gift-card.claimed{opacity:.6;filter:grayscale(80%)}.gift-image-container{width:100%;height:200px;position:relative;overflow:hidden}.gift-image{object-fit:cover;width:100%;height:100%}.gift-claimed-overlay{width:100%;height:100%;color:var(--color-dark-brown);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.1em;z-index:10;background-color:#ece0d9b3;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:absolute;top:0;left:0}.gift-info{text-align:center;flex-direction:column;flex-grow:1;align-items:center;padding:1.25rem;display:flex}.gift-title{font-family:var(--font-heading);color:var(--color-black-brown);margin-bottom:.25rem;font-size:1.3rem}.gift-price{color:var(--color-taupe);font-family:var(--font-body);white-space:pre-wrap;margin-top:auto;margin-bottom:.25rem;font-size:.85rem}.gift-link{color:var(--color-taupe);margin-bottom:1rem;font-size:.85rem;text-decoration:underline}.btn-claim{background-color:var(--color-dark-brown);color:var(--color-cream);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;border:none;padding:.8rem 2rem;font-size:.9rem;transition:background-color .3s}.btn-claim:hover:not(:disabled){background-color:var(--color-black-brown)}.btn-claim:disabled{background-color:var(--color-taupe);cursor:not-allowed}.door-wrapper{z-index:9999;pointer-events:auto;cursor:pointer;display:flex;position:absolute;inset:0}.door-wrapper.open{pointer-events:none}.door{width:50%;height:100%;transform-style:preserve-3d;transition:transform 2.5s cubic-bezier(.645,.045,.355,1);position:relative}.door-front,.door-back{backface-visibility:hidden;background-color:var(--color-dark-brown);position:absolute;inset:0;overflow:hidden}.door-back{background-color:#311d13;transform:rotateY(180deg)}.door-left .door-front{box-shadow:1px 0 0 0 var(--color-dark-brown)}.door-left .door-back{box-shadow:1px 0 #311d13}.door-right .door-front{box-shadow:-1px 0 0 0 var(--color-dark-brown)}.door-right .door-back{box-shadow:-1px 0 #311d13}.door-left{transform-origin:0;z-index:2}.door-right{transform-origin:100%}.door-wrapper.open .door-left{transform:rotateY(-180deg)}.door-wrapper.open .door-right{transform:rotateY(180deg)}.door-logo{pointer-events:none;width:clamp(200px,60vw,350px);height:auto;position:absolute;top:40%}.door-left .door-logo{right:0;transform:translate(50%,-50%)}.door-right .door-logo{left:0;transform:translate(-50%,-50%)}.click-hint{color:var(--color-cream);font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;pointer-events:none;z-index:10;font-size:.9rem;transition:opacity .5s;animation:2s ease-in-out infinite pulse;position:absolute;bottom:10%;left:50%;transform:translate(-50%)}.fade-out-fast{opacity:0!important;pointer-events:none!important;transition:opacity 1s ease-in-out!important}.click-hint.fade-out{opacity:0;animation:none}@keyframes pulse{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}@media (width<=768px){.door-wrapper.open{opacity:0;transition:opacity .5s 2s}}#welcome.section{max-width:1400px}.story-container{text-align:center;flex-direction:column;gap:2rem;max-width:1300px;margin:0 auto;padding:0 5%;display:flex}.story-text-col{flex:1}.story-img-col{width:70%;margin:0 auto}.story-img-col img{width:100%}@media (width>=768px){.story-container{flex-direction:row;justify-content:space-between;align-items:center;gap:5rem}.story-text-col{max-width:900px}.story-img-col{flex-shrink:0;width:30%;max-width:350px}}.foto-page{background-color:var(--color-cream);min-height:100dvh}.foto-header{text-align:center;background-color:var(--color-dark-brown);color:var(--color-cream);padding:4rem 1.5rem 3rem}.foto-title{font-family:var(--font-accent);color:var(--color-cream);margin-bottom:1rem;font-size:clamp(2.5rem,8vw,4rem);font-weight:400;line-height:1.2}.foto-subtitle{font-family:var(--font-body);color:var(--color-cream);opacity:.85;max-width:800px;margin:0 auto;font-size:clamp(.9rem,2.5vw,1.05rem);line-height:1.7}.foto-upload-section{max-width:700px;margin:0 auto;padding:2.5rem 1.5rem 1rem}.upload-zone{border:2px dashed var(--color-taupe);text-align:center;cursor:pointer;background-color:#816a5d0a;border-radius:16px;padding:3rem 2rem;transition:all .3s}.upload-zone:hover{border-color:var(--color-choco);background-color:#816a5d17}.upload-zone.drag-over{border-color:var(--color-maroon);background-color:#64171312;transform:scale(1.02)}.upload-zone.uploading{pointer-events:none;opacity:.5}.upload-icon{color:var(--color-taupe);margin-bottom:1rem}.upload-text{font-family:var(--font-heading);color:var(--color-choco);margin-bottom:.4rem;font-size:1.3rem}.upload-hint{font-family:var(--font-body);color:var(--color-taupe);font-size:.82rem}.file-previews-section{margin-top:1.5rem}.file-previews-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.6rem;margin-bottom:1.5rem;display:grid}.file-preview-item{aspect-ratio:1;border:1px solid #816a5d26;border-radius:10px;position:relative;overflow:hidden}.file-preview-media{object-fit:cover;width:100%;height:100%;display:block}.file-preview-video-badge{color:#fff;font-family:var(--font-body);letter-spacing:.03em;background:#0009;border-radius:4px;padding:2px 7px;font-size:.65rem;position:absolute;top:6px;left:6px}.file-preview-remove{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:background .2s;display:flex;position:absolute;top:5px;right:5px}.file-preview-remove:hover{background:#641713d9}.file-preview-progress{background:#00000026;height:5px;position:absolute;bottom:0;left:0;right:0}.file-preview-progress-bar{background:var(--color-taupe);border-radius:0 0 10px 10px;height:100%;transition:width .4s}.file-preview-progress-bar.done{background:var(--color-green)}.file-preview-progress-bar.error{background:var(--color-maroon);width:100%!important}.upload-controls{flex-direction:column;align-items:center;gap:.75rem;display:flex}.uploader-name-input{width:100%;max-width:300px;font-family:var(--font-body);color:var(--color-dark-brown);text-align:center;background:#fff;border:1px solid #816a5d59;border-radius:8px;outline:none;padding:.7rem 1rem;font-size:.95rem;transition:border-color .3s}.uploader-name-input:focus{border-color:var(--color-taupe)}.uploader-name-input::placeholder{color:var(--color-taupe);opacity:.6}.btn-upload{background-color:var(--color-dark-brown);color:var(--color-cream);font-family:var(--font-heading);letter-spacing:.06em;cursor:pointer;border:none;border-radius:8px;width:100%;max-width:300px;padding:.85rem 2.5rem;font-size:1.1rem;transition:background-color .3s,transform .15s}.btn-upload:hover{background-color:var(--color-choco)}.btn-upload:active{transform:scale(.98)}.btn-upload:disabled{opacity:.45;cursor:not-allowed;transform:none}.foto-gallery-section{max-width:1100px;margin:0 auto;padding:1.5rem 1.5rem 4rem}.foto-gallery-title{font-family:var(--font-heading);color:var(--color-choco);text-align:center;letter-spacing:.04em;margin-bottom:1.5rem;font-size:1.4rem;font-weight:400}.foto-loading,.foto-empty{text-align:center;font-family:var(--font-body);color:var(--color-taupe);padding:3rem 0;font-size:1rem}.foto-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem;display:grid}.foto-gallery-item{aspect-ratio:1;cursor:pointer;border-radius:6px;position:relative;overflow:hidden}.foto-gallery-media{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.foto-gallery-item:hover .foto-gallery-media{transform:scale(1.05)}.foto-video-overlay{color:#fff;text-shadow:0 2px 10px #00000080;pointer-events:none;font-size:2.2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.foto-gallery-uploader{color:#fff;font-size:.72rem;font-family:var(--font-body);text-align:right;letter-spacing:.02em;pointer-events:none;background:linear-gradient(#0000,#0000008c);padding:1.5rem .6rem .5rem;position:absolute;bottom:0;left:0;right:0}.foto-lightbox{z-index:10000;background:#000000f0;justify-content:center;align-items:center;animation:.2s foto-lightbox-in;display:flex;position:fixed;inset:0}@keyframes foto-lightbox-in{0%{opacity:0}to{opacity:1}}.foto-lightbox-close{color:#fff;cursor:pointer;z-index:10001;opacity:.6;background:0 0;border:none;padding:.5rem;transition:opacity .25s;position:absolute;top:1rem;right:1rem}.foto-lightbox-close:hover{opacity:1}.foto-lightbox-nav{color:#fff;cursor:pointer;opacity:.45;z-index:10001;background:0 0;border:none;padding:1rem;transition:opacity .25s;position:absolute;top:50%;transform:translateY(-50%)}.foto-lightbox-nav:hover{opacity:1}.foto-lightbox-prev{left:.5rem}.foto-lightbox-next{right:.5rem}.foto-lightbox-content{flex-direction:column;align-items:center;max-width:90vw;max-height:88vh;display:flex}.foto-lightbox-media{object-fit:contain;border-radius:4px;max-width:90vw;max-height:80vh}.foto-lightbox-info{color:#fff9;font-family:var(--font-body);gap:1.5rem;margin-top:.8rem;font-size:.8rem;display:flex}@media (width<=600px){.foto-header{padding:3rem 1.2rem 2rem}.foto-upload-section{padding:1.5rem 1rem .5rem}.upload-zone{border-radius:12px;padding:2rem 1.2rem}.file-previews-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.4rem}.foto-gallery-section{padding:1rem .3rem 3rem}.foto-gallery-grid{grid-template-columns:repeat(3,1fr);gap:2px}.foto-gallery-item{border-radius:0}.foto-lightbox-prev{left:0}.foto-lightbox-next{right:0}.foto-lightbox-nav{padding:.5rem}.foto-lightbox-media{border-radius:0;max-width:100vw;max-height:75vh}}.upload-mode{background-color:var(--color-dark-brown);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;min-height:100dvh;padding:2rem;display:flex}.upload-mode-center{text-align:center;max-width:400px}.upload-mode-icon{color:var(--color-cream);opacity:.7;margin-bottom:2rem}.upload-mode-title{font-family:var(--font-accent);color:var(--color-cream);margin-bottom:1rem;font-size:clamp(2.2rem,8vw,3.5rem);font-weight:400;line-height:1.3}.upload-mode-subtitle{font-family:var(--font-body);color:var(--color-cream);opacity:.7;margin-bottom:2rem;font-size:clamp(.9rem,2.5vw,1.05rem);line-height:1.6}.upload-mode-tap-hint{font-family:var(--font-heading);color:var(--color-cream);letter-spacing:.08em;border:1px solid #ece0d94d;border-radius:100px;padding:.6rem 2rem;font-size:.95rem;animation:2.5s ease-in-out infinite upload-hint-pulse;display:inline-block}@keyframes upload-hint-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}.upload-mode-previews{cursor:default;width:100%;max-width:600px}.upload-mode-success{text-align:center;cursor:default;max-width:400px}.upload-mode-check{background:var(--color-green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1.5rem;animation:.4s upload-check-pop;display:flex}@keyframes upload-check-pop{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.upload-mode-actions{flex-direction:column;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.btn-upload-mode{background-color:var(--color-cream);color:var(--color-dark-brown);font-family:var(--font-heading);letter-spacing:.04em;cursor:pointer;text-align:center;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;max-width:300px;padding:.85rem 2rem;font-size:1.1rem;text-decoration:none;transition:all .25s;display:inline-flex}.btn-upload-mode:hover{background-color:#fff;transform:scale(1.02)}.btn-upload-mode:active{transform:scale(.98)}.btn-upload-mode:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-upload-mode.secondary{color:var(--color-cream);background:0 0;border:1px solid #ece0d94d}.btn-upload-mode.secondary:hover{background:#ece0d91a}.upload-mode .uploader-name-input{color:var(--color-cream);background:#ffffff1a;border-color:#ece0d940}.upload-mode .uploader-name-input::placeholder{color:#ece0d980}.foto-gallery-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.foto-gallery-title{margin-bottom:0!important}.foto-sort-select{background:var(--color-cream);color:var(--color-dark-brown);font-family:var(--font-body);cursor:pointer;border:1px solid #0000001a;border-radius:6px;outline:none;padding:.5rem 1rem;font-size:.9rem}.foto-sort-select:focus{border-color:var(--color-taupe)}@media (width<=600px){.foto-gallery-header{flex-direction:column;align-items:flex-start}}.foto-back-link{color:var(--color-cream);font-family:var(--font-body);opacity:.8;align-items:center;gap:.5rem;font-size:.9rem;text-decoration:none;transition:opacity .2s;display:flex;position:absolute;top:2rem;left:2rem}.foto-back-link:hover{opacity:1}@media (width<=600px){.foto-back-link{justify-content:center;margin-bottom:1.5rem;display:inline-flex;position:static}}.timetable-page{background-color:var(--color-cream);min-height:100dvh}.timetable-header{text-align:center;background-color:var(--color-dark-brown);color:var(--color-cream);padding:4rem 1.5rem 2rem;position:relative}.timetable-title{font-family:var(--font-accent);color:var(--color-cream);margin-bottom:.5rem;font-size:clamp(2.5rem,8vw,4rem);font-weight:400;line-height:1.2}.timetable-subtitle{font-family:var(--font-body);color:var(--color-cream);opacity:.8;margin:0;font-size:1.05rem}.timetable-tabs{background:var(--color-dark-brown);border-bottom:2px solid #ece0d926;gap:0;max-width:700px;margin:0 auto;display:flex}.timetable-tab{cursor:pointer;text-align:center;color:var(--color-cream);opacity:.5;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:1rem .75rem;transition:all .25s}.timetable-tab.active{opacity:1;border-bottom-color:var(--color-cream)}.timetable-tab:hover{opacity:.85}.timetable-tab-label{font-family:var(--font-heading);letter-spacing:.04em;font-size:.95rem;font-weight:600;display:block}.timetable-tab-sub{font-family:var(--font-body);opacity:.7;margin-top:.2rem;font-size:.75rem;display:block}.timetable-container{max-width:700px;margin:0 auto;padding:2rem 1rem 4rem;overflow-x:hidden}.timetable-timeline{margin-left:0;position:relative}.timetable-axis{background:var(--color-taupe);opacity:.3;width:2px;position:absolute;top:0;bottom:0;left:68px}.timetable-marker{align-items:center;display:flex;position:absolute;left:0;right:0}.timetable-marker-label{font-family:var(--font-body);color:var(--color-choco);text-align:right;flex-shrink:0;width:60px;padding-right:16px;font-size:.8rem;font-weight:500}.timetable-marker-line{background:var(--color-taupe);opacity:.15;flex:1;height:1px}.timetable-event{border-left:3px solid var(--color-choco);background:#fff;border-radius:10px;flex-direction:column;justify-content:center;margin-left:8px;padding:.6rem .8rem;transition:opacity .3s,transform .2s;display:flex;position:absolute;overflow:hidden;box-shadow:0 2px 8px #0000000f}.timetable-event.past{opacity:.45}.timetable-event.current{background:#fffaf8;border-left-color:#c0392b;box-shadow:0 2px 12px #c0392b26}.timetable-event-time{font-family:var(--font-body);color:var(--color-taupe);margin-bottom:.15rem;font-size:.7rem}.timetable-event-title{font-family:var(--font-heading);color:var(--color-dark-brown);letter-spacing:.02em;font-size:.85rem;font-weight:600;line-height:1.3}.timetable-event-detail{font-family:var(--font-body);color:var(--color-taupe);margin-top:.15rem;font-size:.72rem;line-height:1.3}.timetable-now{z-index:10;pointer-events:none;align-items:center;display:flex;position:absolute;left:0;right:0}.timetable-now-dot{background:#c0392b;border-radius:50%;width:12px;height:12px;position:absolute;left:63px;transform:translateY(-1px);box-shadow:0 0 6px #c0392b80}.timetable-now-line{background:#c0392b;height:2px;position:absolute;left:75px;right:0}.timetable-now-label{color:#fff;font-family:var(--font-heading);letter-spacing:.1em;background:#c0392b;border-radius:3px;padding:.15rem .5rem;font-size:.65rem;font-weight:700;position:absolute;right:0;transform:translateY(-1px)}@media (width<=600px){.timetable-header{padding:3rem 1.2rem 1.5rem}.timetable-tab-label{font-size:.8rem}.timetable-tab-sub{font-size:.68rem}.timetable-container{padding:1.5rem .5rem 3rem}.timetable-event-title{font-size:.78rem}.timetable-event-detail{font-size:.68rem}}.timetable-view-switcher{justify-content:center;padding:1.25rem 1rem .5rem;display:flex}.timetable-switcher-pill{background:#311e1314;border-radius:30px;gap:4px;padding:4px;display:inline-flex}.timetable-switch-btn{color:var(--color-dark-brown);font-family:var(--font-heading);cursor:pointer;background:0 0;border:none;border-radius:24px;align-items:center;gap:.5rem;padding:.55rem 1.2rem;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.timetable-switch-btn.active{background:var(--color-dark-brown);color:var(--color-cream);box-shadow:0 2px 8px #311e1333}.timetable-hint-bar{text-align:center;font-family:var(--font-body);color:var(--color-taupe);margin-bottom:1rem;font-size:.8rem}.timetable-event.clickable{cursor:pointer}.timetable-event.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 14px #0000001f}.timetable-event.highlight{border-left:3px solid var(--color-maroon);background:#fffdfc}.timetable-event-header{justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.15rem;display:flex}.timetable-pill-tag{color:var(--color-dark-brown);font-family:var(--font-body);background:#816a5d26;border-radius:10px;padding:.1rem .45rem;font-size:.65rem;font-weight:600;display:inline-block}.timetable-note-indicator{font-family:var(--font-body);color:#b7791f;align-items:center;gap:.3rem;margin-top:.2rem;font-size:.65rem;font-weight:500;display:inline-flex}.timetable-list-view{flex-direction:column;gap:2rem;display:flex}.timetable-phase-section{flex-direction:column;gap:.75rem;display:flex}.timetable-phase-header{border-bottom:2px solid #816a5d33;justify-content:space-between;align-items:center;margin-bottom:.25rem;padding-bottom:.4rem;display:flex}.timetable-phase-title{font-family:var(--font-heading);color:var(--color-dark-brown);letter-spacing:.03em;font-size:1.05rem;font-weight:700}.timetable-phase-badge{font-family:var(--font-body);color:var(--color-taupe);font-size:.75rem}.timetable-cards-column{flex-direction:column;gap:.85rem;display:flex}.timetable-card{border-left:4px solid var(--color-choco);cursor:pointer;background:#fff;border-radius:12px;padding:1rem 1.25rem;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 10px #0000000d}.timetable-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.timetable-card.highlight{border-left-color:var(--color-maroon);background:#fffefd}.timetable-card-top{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.timetable-card-time-badge{color:var(--color-choco);font-family:var(--font-heading);align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;display:inline-flex}.timetable-card-duration{font-family:var(--font-body);color:var(--color-taupe);font-size:.75rem;font-weight:400}.timetable-card-title{font-family:var(--font-heading);color:var(--color-dark-brown);margin:0 0 .35rem;font-size:1.05rem;font-weight:600;line-height:1.3}.timetable-card-detail{font-family:var(--font-body);color:var(--color-taupe);align-items:center;gap:.35rem;margin-bottom:.6rem;font-size:.85rem;display:inline-flex}.timetable-card-notes{background:#fff9f0;border-left:3px solid #d69e2e;border-radius:8px;margin-top:.4rem;padding:.65rem .85rem}.timetable-card-notes-title{font-family:var(--font-heading);color:#744210;align-items:center;gap:.35rem;margin-bottom:.3rem;font-size:.78rem;font-weight:700;display:flex}.timetable-card-notes-list{font-family:var(--font-body);color:#744210;margin:0;padding-left:1.2rem;font-size:.82rem;line-height:1.45}.timetable-card-checklist{background:#f0fdf4;border-left:3px solid #38a169;border-radius:8px;margin-top:.5rem;padding:.65rem .85rem}.timetable-card-checklist-title{font-family:var(--font-heading);color:#22543d;align-items:center;gap:.35rem;margin-bottom:.3rem;font-size:.78rem;font-weight:700;display:flex}.timetable-card-checklist-items{font-family:var(--font-body);color:#22543d;margin:0;padding-left:1.2rem;font-size:.82rem;line-height:1.45}.timetable-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#1e140fa6;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.timetable-modal-content{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:85vh;padding:1.75rem;animation:.25s ease-out slideUp;position:relative;overflow-y:auto;box-shadow:0 10px 40px #00000040}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.timetable-modal-close{cursor:pointer;width:36px;height:36px;color:var(--color-dark-brown);background:#0000000d;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.timetable-modal-close:hover{background:#0000001a}.timetable-modal-header{margin-bottom:1.25rem}.timetable-modal-phase{font-family:var(--font-heading);letter-spacing:.05em;text-transform:uppercase;color:var(--color-taupe);margin-bottom:.35rem;font-size:.75rem;display:inline-block}.timetable-modal-time{color:var(--color-choco);font-family:var(--font-heading);align-items:center;gap:.4rem;margin-bottom:.4rem;font-size:.95rem;font-weight:600;display:flex}.timetable-modal-title{font-family:var(--font-heading);color:var(--color-dark-brown);margin:0 0 .5rem;font-size:1.35rem;line-height:1.3}.timetable-pill-tag.modal-tag{padding:.2rem .6rem;font-size:.75rem}.timetable-modal-section{margin-bottom:1.25rem}.timetable-modal-label{font-family:var(--font-heading);color:var(--color-dark-brown);align-items:center;gap:.4rem;margin-bottom:.4rem;font-size:.85rem;font-weight:700;display:flex}.timetable-modal-text{font-family:var(--font-body);color:#4a4542;margin:0;font-size:.92rem;line-height:1.5}.timetable-modal-notes-box{background:#fff9f0;border-left:4px solid #d69e2e;border-radius:10px;padding:.85rem 1rem}.timetable-modal-notes-box ul,.timetable-modal-checklist-box ul{font-family:var(--font-body);color:#5f370e;margin:0;padding-left:1.25rem;font-size:.88rem;line-height:1.5}.timetable-modal-checklist-box{background:#f0fdf4;border-left:4px solid #38a169;border-radius:10px;padding:.85rem 1rem}.timetable-modal-checklist-box ul{color:#22543d}.timetable-modal-btn-close{background:var(--color-dark-brown);width:100%;color:var(--color-cream);font-family:var(--font-heading);cursor:pointer;border:none;border-radius:8px;margin-top:.5rem;padding:.75rem;font-size:.95rem;font-weight:600;transition:opacity .2s}.timetable-modal-btn-close:hover{opacity:.9}
