.navbar{background-color:#fdf6ea;padding:1.5rem 2rem;display:flex;justify-content:center;align-items:center;gap:2rem;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #8c73561a}.navbar a{font-family:Libre Baskerville,serif;font-weight:700;font-size:.95rem;color:#8c7356;text-decoration:none;letter-spacing:.5px;transition:color .3s ease;cursor:pointer}.navbar a:hover,.navbar a.active{color:#d6a875}@media (max-width: 768px){.navbar{flex-wrap:wrap;gap:1rem;padding:1rem}.navbar a{font-size:.85rem}}@media (max-width: 480px){.navbar{gap:.5rem}.navbar a{font-size:.75rem}}.language-switcher-container{position:fixed;top:1rem;right:1rem;z-index:1000;background:#fdf6eaf2;border-radius:.5rem;box-shadow:0 2px 8px #8c735633}@media (max-width: 768px){.language-switcher-container{top:.35rem;right:.35rem;background:#fdf6eabf;padding:.1rem .2rem;border-radius:.25rem;box-shadow:0 1px 3px #8c73561a}}@media (max-width: 480px){.language-switcher-container{top:.25rem;right:.25rem;background:#fdf6eab3;padding:.05rem .15rem;box-shadow:none}}.container{max-width:1200px;margin:0 auto;padding:0 20px}h1,h2,h3{font-family:Libre Baskerville,serif;font-weight:700}h1{font-size:3.5rem;color:#8c7356;margin-bottom:1rem}h2{font-size:2.5rem;color:#8c7356;text-align:center;margin-bottom:2rem;position:relative}h2:after{content:"";display:block;width:80px;height:2px;background-color:#d6a875;margin:1rem auto}h3{font-size:1.5rem;color:#8c7356;margin-bottom:.5rem}.auth-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:4rem 1.5rem;background-position:center;background-size:cover;background-repeat:no-repeat;background-image:linear-gradient(#fdf6eabf,#d6a875d9),url(/images/optimized/first_sait_halim_image-mobile.webp)}@supports not (background-image: url(test.webp)){.auth-gate{background-image:linear-gradient(#fdf6eabf,#d6a875d9),url(/images/optimized/first_sait_halim_image-mobile.jpg)}}.auth-gate .login-section{width:100%;max-width:520px;padding-top:3rem;padding-bottom:3rem;animation:fadeInUp .6s ease-out}.form-group{margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}label{display:block;margin-bottom:.5rem;font-weight:500;color:#8c7356;font-family:Montserrat,sans-serif}input,select,textarea{width:100%;padding:.8rem;border:1px solid #ddd;border-radius:5px;font-family:Montserrat,sans-serif;font-size:1rem;transition:border-color .3s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:#d6a875}textarea{resize:vertical;min-height:100px}.helper-text{display:block;margin-top:.5rem;font-size:.9rem;color:#8c7356}.char-counter{text-align:right;font-size:.9rem;color:#8c7356;margin-top:.5rem}.submit-btn{background-color:#8c7356;color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;border-radius:5px;cursor:pointer;transition:background-color .3s ease;display:block;width:100%;font-family:Libre Baskerville,serif;font-weight:500}.submit-btn:hover{background-color:#6d5a44}.submit-btn:disabled{background-color:#b8a48a;cursor:not-allowed}.form-message{margin-top:1.5rem;padding:1rem;border-radius:5px;text-align:center}.form-message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.form-message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.status-pill{max-width:600px;margin:0 auto 1.5rem;padding:.75rem 1rem;text-align:center;border-radius:999px;background-color:#d6a8754d;color:#8c7356;font-family:Montserrat,sans-serif;font-size:.95rem}.status-note{max-width:600px;margin:0 auto 1.5rem;padding:.75rem 1rem;border-radius:8px;background-color:#fdf6ea80;color:#8c7356;font-family:Montserrat,sans-serif;font-size:.95rem;text-align:center}.loading{font-size:1.1rem;text-align:center;color:#8c7356;font-family:Montserrat,sans-serif}.footer{background-color:#8c7356;color:#fdf6ea;text-align:center;padding:2rem 0;font-family:Montserrat,sans-serif}.footer p{margin-bottom:.5rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 481px) and (max-width: 768px){.auth-gate{background-image:linear-gradient(#fdf6eabf,#d6a875d9),url(/images/optimized/first_sait_halim_image-tablet.webp)}@supports not (background-image: url(test.webp)){.auth-gate{background-image:linear-gradient(#fdf6eabf,#d6a875d9),url(/images/optimized/first_sait_halim_image-tablet.jpg)}}}@media (min-width: 769px){.auth-gate{background-image:linear-gradient(#fdf6eabf,#d6a875d9),url(/images/optimized/first_sait_halim_image.webp)}@supports not (background-image: url(test.webp)){.auth-gate{background-image:linear-gradient(#fdf6eabf,#d6a875d9),url(/images/optimized/first_sait_halim_image.jpg)}}}@media (max-width: 768px){h1{font-size:2.5rem}h2{font-size:2rem}.form-row{grid-template-columns:1fr}}@media (max-width: 480px){.form-row{grid-template-columns:1fr}}.hero-section{background:linear-gradient(#0000004d,#0000004d),url(/images/optimized/first_sait_halim_image.webp);background-size:cover;background-position:center;min-height:85vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:4rem 2rem;position:relative}@supports not (background-image: url(test.webp)){.hero-section{background:linear-gradient(#0000004d,#0000004d),url(/images/optimized/first_sait_halim_image.jpg)}}.hero-content{z-index:2}.couple-names{font-family:Libre Baskerville,serif;font-weight:100;font-size:5rem;color:#fdf6ea;margin-bottom:.5rem;animation:fadeInUp 1s ease-out;line-height:1.2}.couple-names-and{font-family:Libre Baskerville,serif;font-style:italic;font-size:3.5rem;display:block;margin:.5rem 0}.tagline{font-family:Libre Baskerville,serif;font-style:italic;font-size:1.5rem;color:#fdf6ea;margin-top:1rem;letter-spacing:1px;animation:fadeInUp 1s ease-out .2s both}.wedding-date{font-size:1.8rem;color:#fdf6ea;margin-bottom:.5rem;font-weight:500;animation:fadeInUp 1s ease-out .2s both}.location{font-size:1.3rem;color:#fdf6ea;margin-bottom:2rem;animation:fadeInUp 1s ease-out .4s both}.save-the-date{font-family:Libre Baskerville,serif;font-size:2.5rem;color:#8c7356;border:3px solid #d6a875;padding:1rem 2rem;display:inline-block;animation:fadeInUp 1s ease-out .6s both}.hero-image-placeholder{margin-top:2rem;animation:fadeInUp 1s ease-out .8s both}.image-placeholder{width:300px;height:300px;background-color:#f0e6d24d;border:2px dashed #d6a875;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#fdf6ea}.welcome{margin-top:1.5rem;font-family:Montserrat,sans-serif;font-size:1rem;color:#fdf6ea;background-color:#8c7356cc;padding:1rem 1.5rem;border-radius:8px;display:inline-block}.welcome button{margin-left:.75rem;padding:.4rem .8rem;border:1px solid #fdf6ea;background-color:transparent;color:#fdf6ea;border-radius:4px;cursor:pointer;font-family:inherit}.welcome button:hover{background-color:#fdf6ea;color:#8c7356}.wedding-details-section{background-color:#fdf6ea;padding:5rem 2rem;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4rem}.couple-photo-container{flex:0 0 auto;border:2px solid #8c7356;background-color:#fdf6ea;padding:1rem}.couple-photo-frame{border:4px solid #8c7356;padding:1rem;background-color:#fdf6ea;box-shadow:0 8px 24px #00000026}.couple-photo{width:300px;height:400px;object-fit:cover;display:block}.wedding-date-details{flex:1;min-width:300px;max-width:500px;text-align:center}.wedding-date-text{font-family:Libre Baskerville,serif;font-style:italic;font-size:1.8rem;color:#8c7356;margin-bottom:.5rem;text-align:center}.wedding-date-location{font-family:Libre Baskerville,serif;font-weight:700;font-size:1.5rem;color:#8c7356;margin-bottom:.3rem}.wedding-date-city{font-family:Libre Baskerville,serif;font-style:italic;font-size:1.3rem;color:#8c7356}.itinerary-section{background-color:#fdf6ea;padding:4rem 2rem}.itinerary-container{max-width:928px;margin:0 auto;padding:3rem;border:52px solid #d6a875}.itinerary-title{font-family:Libre Baskerville,serif;font-weight:700;font-size:2.5rem;color:#8c7356;text-align:center;margin-bottom:3rem}.itinerary-title:after{display:none}.itinerary-event{margin-bottom:2.5rem;text-align:center}.itinerary-event:last-child{margin-bottom:0}.itinerary-date{font-family:Libre Baskerville,serif;font-weight:700;font-size:1.3rem;color:#8c7356;margin-bottom:.5rem;text-align:center}.itinerary-event-name{font-family:Libre Baskerville,serif;font-style:italic;font-size:1.1rem;color:#8c7356;margin-bottom:.3rem}.itinerary-description{font-family:Libre Baskerville,serif;font-style:italic;font-size:.95rem;color:#8c7356;line-height:1.5}.wedding-details{padding:5rem 0;background-color:#fff}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.detail-card{text-align:center;padding:2rem;background-color:#fdf6ea;border-radius:10px;box-shadow:0 5px 15px #8c73561a;transition:transform .3s ease,box-shadow .3s ease}.detail-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #8c735633}.detail-card .icon{font-size:3rem;margin-bottom:1rem}.detail-card p{color:#8c7356;margin-bottom:.5rem}@media (max-width: 768px){.hero-section{background:linear-gradient(#0000004d,#0000004d),url(/images/optimized/first_sait_halim_image.webp);background-size:cover;background-position:center;background-repeat:no-repeat}@supports not (background-image: url(test.webp)){.hero-section{background:linear-gradient(#0000004d,#0000004d),url(/images/optimized/first_sait_halim_image.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}}.couple-names{font-size:3rem}.couple-names-and{font-size:2.5rem}.tagline{font-size:1.2rem}.wedding-date{font-size:1.5rem}.save-the-date{font-size:2rem;padding:.8rem 1.5rem}.wedding-details-section{flex-direction:column;gap:2rem}.couple-photo{width:250px;height:350px}.itinerary-container{padding:2rem;border-width:12px}.image-placeholder{width:200px;height:200px}}@media (max-width: 480px){.hero-section{background:linear-gradient(#0000004d,#0000004d),url(/images/optimized/first_sait_halim_image.webp);background-size:cover;background-position:center;background-repeat:no-repeat}@supports not (background-image: url(test.webp)){.hero-section{background:linear-gradient(#0000004d,#0000004d),url(/images/optimized/first_sait_halim_image.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}}.couple-names{font-size:2.5rem}.couple-names-and{font-size:2rem}.tagline{font-size:1rem}.wedding-date{font-size:1.3rem}.save-the-date{font-size:1.8rem}.details-grid{grid-template-columns:1fr}.itinerary-container{padding:1.5rem;border-width:8px}.couple-photo{width:200px;height:300px}}.rsvp-page{min-height:100vh;background-color:#fdf6ea}.rsvp-hero-section{background:linear-gradient(#0000004d,#0000004d),url(/images/first_sait_halim_image.jpg);background-size:cover;background-position:center;min-height:50vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:4rem 2rem;position:relative}.rsvp-hero-section .rsvp-title{font-size:4rem;margin-bottom:1rem}.rsvp-page-content{padding:4rem 0}.rsvp-section,.login-section{padding:5rem 0;background-color:#fdf6ea}.rsvp-intro{text-align:center;max-width:600px;margin:0 auto 3rem;font-size:1.1rem;color:#8c7356;font-family:Montserrat,sans-serif}.rsvp-form{max-width:600px;margin:0 auto;background-color:#fff;padding:3rem;border-radius:10px;box-shadow:0 5px 15px #8c73561a}@media (max-width: 768px){.rsvp-hero-section .rsvp-title{font-size:3rem}.rsvp-page-content{padding:2rem 0}.rsvp-form{padding:2rem 1.5rem}}@media (max-width: 480px){.rsvp-hero-section .rsvp-title{font-size:2.5rem}}.faq-page{min-height:100vh;background-color:#fdf6ea;padding:4rem 2rem}.faq-content{max-width:900px;margin:0 auto}.faq-title{font-family:Libre Baskerville,serif;font-weight:700;font-size:3rem;color:#8c7356;text-align:center;margin-bottom:3rem}.faq-container{background-color:#fdf6ea;border:8px solid #8c7356;padding:3rem;box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 8px #8c7356}.faq-item{margin-bottom:2.5rem;text-align:center}.faq-item:last-child{margin-bottom:0}.faq-question{font-family:Libre Baskerville,serif;font-weight:700;font-size:1.2rem;color:#8c7356;margin-bottom:1rem}.faq-answer{font-family:Libre Baskerville,serif;font-style:italic;font-size:1rem;color:#8c7356;line-height:1.6}.faq-answer p{margin-bottom:.5rem}.faq-answer p:last-child{margin-bottom:0}.faq-address{font-size:.95rem}@media (max-width: 768px){.faq-page{padding:3rem 1.5rem}.faq-title{font-size:2.5rem}.faq-container{padding:2rem;border-width:6px;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 6px #8c7356}.faq-question{font-size:1.1rem}.faq-answer{font-size:.95rem}}@media (max-width: 480px){.faq-page{padding:2rem 1rem}.faq-title{font-size:2rem}.faq-container{padding:1.5rem;border-width:4px;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 4px #8c7356}.faq-question{font-size:1rem}.faq-answer{font-size:.9rem}}.travel-page{min-height:100vh;background-color:#fdf6ea}.travel-info-section{background-color:#fdf6ea;padding:4rem 2rem}.travel-info-container{max-width:900px;margin:0 auto;padding:0 2rem;text-align:center}.travel-title{font-family:Libre Baskerville,serif;font-weight:700;font-size:3rem;color:#8c7356;margin-bottom:3rem}.travel-section{margin-bottom:3rem}.travel-section:last-child{margin-bottom:0}.travel-section-title{font-family:Libre Baskerville,serif;font-weight:700;font-size:1.3rem;color:#8c7356;margin-bottom:.75rem}.travel-section-text{font-family:Libre Baskerville,serif;font-style:italic;font-size:1rem;color:#8c7356;line-height:1.6;margin:0}.hotel-suggestions-section{background-color:#d6a875;padding:4rem 2rem;margin-bottom:4rem}.hotel-suggestions-container{max-width:1200px;margin:0 auto;padding:0 2rem}.hotel-suggestions-title{font-family:Libre Baskerville,serif;font-weight:700;font-size:2.5rem;color:#fdf6ea;text-align:center;margin-bottom:3rem}.hotel-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin:0 2rem}.hotel-card{background-color:#fff;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;text-decoration:none;color:inherit;display:block;cursor:pointer}.hotel-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0003}.hotel-card-image{width:100%;height:250px;background-color:#f0f0f0;background-image:linear-gradient(135deg,#e0e0e0 25%,transparent 25%),linear-gradient(225deg,#e0e0e0 25%,transparent 25%),linear-gradient(45deg,#e0e0e0 25%,transparent 25%),linear-gradient(315deg,#e0e0e0 25%,#f0f0f0 25%);background-size:20px 20px;background-position:0 0,10px 0,10px -10px,0 10px;display:flex;align-items:center;justify-content:center;color:#ccc;font-size:.9rem;overflow:hidden;position:relative}.hotel-card-image .carousel-image{width:100%;height:100%;object-fit:cover;display:block;position:absolute;top:0;left:0;opacity:0;transition:opacity .8s ease-in-out}.hotel-card-image .carousel-image.active{opacity:1}.hotel-card-image .carousel-indicators{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:10}.hotel-card-image .carousel-indicators .indicator{width:8px;height:8px;border-radius:50%;background-color:#ffffff80;transition:background-color .3s ease}.hotel-card-image .carousel-indicators .indicator.active{background-color:#fff}.hotel-card-content{padding:2rem;text-align:center}.hotel-name{font-family:Libre Baskerville,serif;font-weight:700;font-size:1.3rem;color:#8c7356;margin-bottom:.5rem}.hotel-location{font-family:Libre Baskerville,serif;font-weight:700;font-size:1rem;color:#8c7356;margin:0}.after-party-section{background-color:#fdf6ea;padding:4rem 2rem;margin-top:4rem}.after-party-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:center;gap:4rem;flex-wrap:wrap}.after-party-content{flex:1;min-width:300px;max-width:500px;text-align:center}.after-party-title{font-family:Libre Baskerville,serif;font-weight:700;font-size:1.5rem;color:#8c7356;margin-bottom:1rem}.after-party-text{font-family:Libre Baskerville,serif;font-style:italic;font-size:1rem;color:#8c7356;line-height:1.6;margin-bottom:.5rem}.after-party-text:last-child{margin-bottom:0}.after-party-photo{flex:0 0 auto}.photo-frame{border:2px solid #8c7356;background-color:#fdf6ea;padding:1rem}.photo-frame .frame-photo{border:4px solid #8c7356;padding:1rem;background-color:#fdf6ea;width:600px;height:420px;object-fit:cover;display:block;box-shadow:0 8px 24px #00000026}@media (max-width: 768px){.travel-info-section{padding:3rem 1.5rem}.hotel-suggestions-section{padding:3rem 1.5rem;margin-bottom:3rem}.travel-info-container,.hotel-suggestions-container,.after-party-container{padding:0 1.5rem}.travel-title{font-size:2.5rem}.hotel-suggestions-title{font-size:2rem}.hotel-cards{grid-template-columns:1fr;gap:1.5rem;margin:0 1.5rem}.after-party-section{margin-top:3rem;padding:3rem 1.5rem}.after-party-container{flex-direction:column;gap:2rem}.photo-frame .frame-photo{width:320px;height:400px}}@media (max-width: 480px){.travel-info-section{padding:2rem 1rem}.hotel-suggestions-section{padding:2rem 1rem;margin-bottom:2rem}.travel-info-container,.hotel-suggestions-container,.after-party-container{padding:0 1rem}.travel-title{font-size:2rem}.travel-section{margin-bottom:2rem}.travel-section-title{font-size:1.1rem}.travel-section-text{font-size:.9rem}.hotel-suggestions-title{font-size:1.8rem}.hotel-cards{margin:0 1rem}.hotel-name{font-size:1.1rem}.hotel-location{font-size:.9rem}.after-party-section{padding:2rem 1rem;margin-top:2rem}.after-party-title{font-size:1.3rem}.after-party-text{font-size:.9rem}.photo-frame .frame-photo{width:280px;height:350px}}.photos-page{min-height:100vh;background-color:#fdf6ea;padding:4rem 2rem}.photos-title{font-family:Libre Baskerville,serif;font-weight:700;font-size:3rem;color:#8c7356;text-align:center;margin-bottom:1rem}.photos-subtitle{font-family:Libre Baskerville,serif;font-style:italic;font-size:1.2rem;color:#d6a875;text-align:center;margin-bottom:4rem}.photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-bottom:4rem}.photo-item{position:relative;overflow:hidden;border-radius:8px;cursor:pointer;box-shadow:0 4px 12px #8c735626;transition:transform .3s ease,box-shadow .3s ease;aspect-ratio:1;background-color:#f5f5f5}.photo-item:hover{transform:scale(1.03);box-shadow:0 8px 24px #8c735640}.photo-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.photo-item:hover img{transform:scale(1.05)}.lightbox{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000f2;z-index:10000;display:flex;align-items:center;justify-content:center;padding:2rem;cursor:pointer;animation:fadeIn .3s ease}.lightbox-close{position:absolute;top:2rem;right:2rem;background:transparent;border:none;color:#fff;font-size:3rem;cursor:pointer;width:50px;height:50px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease;z-index:10001}.lightbox-close:hover{transform:scale(1.1)}.lightbox-image{max-width:90%;max-height:90vh;object-fit:contain;box-shadow:0 0 50px #00000080;animation:zoomIn .3s ease;cursor:default;pointer-events:auto}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:2px solid rgba(255,255,255,.5);color:#fff;font-size:3rem;font-weight:300;width:60px;height:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10002;transition:all .2s ease;border-radius:50%;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lightbox-nav:hover{background:#fff3;border-color:#fffc;transform:translateY(-50%) scale(1.1)}.lightbox-nav:active{transform:translateY(-50%) scale(.95)}@media (hover: none) and (pointer: coarse){.lightbox-nav{display:none}}.lightbox-nav-prev{left:2rem}.lightbox-nav-next{right:2rem}.lightbox-counter{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);color:#fff;font-size:1rem;font-family:Montserrat,sans-serif;background:#00000080;padding:.5rem 1rem;border-radius:20px;z-index:10002;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 768px){.photos-page{padding:3rem 1.5rem}.photos-title{font-size:2.5rem}.photos-subtitle{font-size:1.1rem}.photo-gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}.lightbox-close{top:1.5rem;right:1.5rem;font-size:2.5rem;width:40px;height:40px}.lightbox-nav{width:50px;height:50px;font-size:2.5rem}.lightbox-nav-prev{left:1.5rem}.lightbox-nav-next{right:1.5rem}.lightbox-counter{bottom:1.5rem;font-size:.9rem}}@media (max-width: 480px){.photos-page{padding:2rem 1rem}.photos-title{font-size:2rem}.photos-subtitle{font-size:1rem;margin-bottom:3rem}.photo-gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.lightbox{padding:1rem}.lightbox-close{top:1rem;right:1rem;font-size:2rem;width:35px;height:35px}.lightbox-image{max-width:95%;max-height:85vh}.lightbox-counter{bottom:1rem;font-size:.85rem;padding:.4rem .8rem}}.things-to-do-page{min-height:100vh;background-color:#fdf6ea}.things-to-do-section{background-color:#d6a875;padding:4rem 2rem;min-height:calc(100vh - 80px)}.things-to-do-container{max-width:900px;margin:0 auto;background-color:#fdf6ea;padding:4rem 3rem;text-align:center}.page-title{font-family:Libre Baskerville,serif;font-weight:700;font-size:2.5rem;color:#8c7356;margin-bottom:3rem;text-align:center}.attraction-carousel{position:relative;width:100%;margin:2rem 0;overflow:hidden;border-radius:8px;box-shadow:0 4px 12px #00000026}.attraction-carousel .carousel-image{width:100%;height:100%;object-fit:cover;display:block;position:absolute;top:0;left:0;opacity:0;transition:opacity .8s ease-in-out}.attraction-carousel .carousel-image.active{opacity:1}.attraction-carousel .carousel-indicators{position:absolute;bottom:15px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:10}.attraction-carousel .carousel-indicators .indicator{width:10px;height:10px;border-radius:50%;background-color:#fff9;transition:background-color .3s ease;border:1px solid rgba(140,115,86,.3)}.attraction-carousel .carousel-indicators .indicator.active{background-color:#fff;border-color:#8c7356}.itinerary-section{margin-bottom:4rem}.section-title{font-family:Libre Baskerville,serif;font-weight:700;font-size:1.5rem;color:#8c7356;margin-bottom:2rem;text-align:center}.itinerary-list{list-style:none;padding:0;margin:0}.itinerary-item{font-family:Libre Baskerville,serif;font-style:italic;font-size:1.1rem;color:#8c7356;margin-bottom:1rem;text-align:center}.other-sites-section{margin-bottom:4rem}.subsection-title{font-family:Libre Baskerville,serif;font-weight:700;font-size:1.2rem;color:#8c7356;margin-bottom:1rem;text-align:center}.site-detail{font-family:Libre Baskerville,serif;font-style:italic;font-size:1rem;color:#8c7356;margin:0;text-align:center}.after-party-section{margin-bottom:4rem}.detail-text{font-family:Libre Baskerville,serif;font-style:italic;font-size:1rem;color:#8c7356;line-height:1.6;margin-bottom:.5rem;text-align:center}.detail-text:last-child{margin-bottom:0}.other-cities-section{margin-top:4rem}.city-section{margin-bottom:4rem;padding-top:2rem}.city-section:last-child{margin-bottom:0}.city-name{font-family:Libre Baskerville,serif;font-style:italic;font-size:1.1rem;color:#8c7356;margin-bottom:1rem;text-align:center}.city-description{font-family:Libre Baskerville,serif;font-style:italic;font-size:.95rem;color:#8c7356;line-height:1.6;margin-bottom:1.5rem;text-align:center}.recommendations{margin-top:1.5rem}.recommendation-intro{font-family:Libre Baskerville,serif;font-style:italic;font-size:.95rem;color:#8c7356;margin-bottom:1rem;text-align:center}.recommendation-list{list-style:none;padding:0;margin:0}.recommendation-item{font-family:Libre Baskerville,serif;font-style:italic;font-size:.9rem;color:#8c7356;line-height:1.6;margin-bottom:1rem;text-align:center}.recommendation-item:last-child{margin-bottom:0}@media (max-width: 768px){.things-to-do-section{padding:3rem 1.5rem}.things-to-do-container{padding:3rem 2rem}.page-title{font-size:2rem}.section-title{font-size:1.3rem}.subsection-title{font-size:1.1rem}.itinerary-item,.city-name{font-size:1rem}.detail-text,.city-description,.recommendation-intro{font-size:.9rem}.recommendation-item{font-size:.85rem}}@media (max-width: 480px){.things-to-do-section{padding:2rem 1rem}.things-to-do-container{padding:2rem 1.5rem}.page-title{font-size:1.8rem}.section-title{font-size:1.2rem}.subsection-title{font-size:1rem}.itinerary-item,.city-name{font-size:.95rem}.detail-text,.city-description,.recommendation-intro{font-size:.85rem}.recommendation-item{font-size:.8rem}}.language-switcher{display:flex;align-items:center;gap:.5rem;padding:.5rem}.lang-btn{background:none;border:none;color:var(--text-secondary, #666);font-size:.9rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;transition:color .2s ease}.lang-btn:hover{color:var(--primary, #8b7355)}.lang-btn.active{color:var(--primary, #8b7355);font-weight:700}.lang-separator{color:var(--text-secondary, #ccc);font-size:.9rem}@media (max-width: 768px){.language-switcher{gap:.2rem;padding:.15rem .25rem}.lang-btn{font-size:.65rem;padding:.1rem .2rem;font-weight:400}.lang-btn.active{font-weight:600}.lang-separator{font-size:.65rem}}@media (max-width: 480px){.language-switcher{gap:.15rem;padding:.1rem .15rem}.lang-btn{font-size:.6rem;padding:.05rem .15rem;font-weight:400}.lang-btn.active{font-weight:600}.lang-separator{font-size:.6rem}}:root{font-family:Montserrat,sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#8c7356;background-color:#fdf6ea;--cream: #fdf6ea;--espresso: #8c7356;--graham-cracker: #d6a875}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background-color:#fdf6ea}#root{min-height:100vh}.app{min-height:100vh;background-color:#fdf6ea}
