*,:before,:after{box-sizing:border-box}:root{--sage-950:#1f2f22;--sage-900:#304a32;--sage-800:#48644a;--sage-700:#5f7b5f;--sage-600:#718c6e;--sage-500:#87a27f;--sage-300:#d3dfc9;--sage-200:#e2ebdc;--sage-100:#eef4ea;--sage-50:#f8fbf6;--sage-shadow:#304a3224;--font-sans:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif;font-family:var(--font-sans);color:#000;background:linear-gradient(135deg, var(--sage-50), var(--sage-100));font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;min-height:100%;font-weight:400;line-height:1.5}html,body,#root{width:100%;min-width:0}#root{min-height:100vh;margin:0;display:flex}body{min-width:0;margin:0}h1,h2{margin:0;font-family:Georgia,serif;font-weight:500}h1{font-size:clamp(2rem,4vw,3rem)}@media (width<=768px){h1{font-size:clamp(1.5rem,3vw,2.5rem)}}h2{font-size:1.2rem}p{margin:0;font-family:Times New Roman,serif}button{font-family:var(--font-sans)}a{color:var(--sage-700)}.app-shell{box-sizing:border-box;flex-direction:column;flex:1;gap:1rem;width:100%;min-width:0;max-width:100%;padding:1rem;display:flex}.auth-card,.hero-card,.card{background:var(--sage-50);border:1px solid var(--sage-200);box-shadow:0 18px 40px var(--sage-shadow);border-radius:24px}.auth-card,.hero-card{padding:1rem}.hero-card{text-align:left}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.75rem;font-weight:700;font-family:var(--font-sans);color:var(--sage-700);margin-bottom:.75rem;display:inline-block}.hero-copy{max-width:60ch;color:var(--sage-800)}.guest-badges{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.guest-badges span{background:var(--sage-100);color:var(--sage-800);border-radius:999px;padding:.55rem .8rem;font-size:.95rem}.subsite-nav{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.subsite-nav button{border:1px solid var(--sage-200);background:var(--sage-50);color:var(--sage-800);cursor:pointer;border-radius:999px;padding:.7rem 1rem;font-weight:600}@media (width<=789px){.subsite-nav{justify-content:center;padding:.2rem .5rem}}.subsite-nav button.active{background:var(--sage-700);color:#fff;border-color:var(--sage-700)}.subsite-title{color:var(--sage-700);margin-top:.8rem;font-weight:700}.subsite-content{flex:1;height:100%;min-height:0;display:flex}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.card{text-align:left;padding:1.5rem}.info-list{gap:1rem;margin-top:1rem;display:grid}.info-list p,.note,.notes-list,.example-links li,.example-links a{color:var(--sage-800)}.room-card{grid-column:span 2}.room-layout{grid-template-columns:1.4fr repeat(3,1fr);align-items:center;gap:.8rem;margin-top:1rem;display:grid}.dance-floor{background:linear-gradient(135deg, var(--sage-300), var(--sage-100));min-height:200px;color:var(--sage-800);border-radius:18px;grid-row:span 2;place-items:center;font-weight:700;display:grid}.table{background:var(--sage-100);border:1px solid var(--sage-200);color:var(--sage-800);text-align:center;border-radius:14px;padding:.9rem;font-weight:700}.table-2,.table-3,.table-4,.table-5,.table-6{place-items:center;min-height:76px;display:grid}.notes-list{gap:.5rem;margin:1rem 0 0;padding-left:1.2rem;display:grid}.example-links{margin-top:1.5rem}.example-links ul{flex-wrap:wrap;gap:.75rem;margin-top:.8rem;padding:0;list-style:none;display:flex}.example-links a{background:var(--sage-100);border:1px solid var(--sage-200);border-radius:999px;padding:.6rem .9rem;text-decoration:none;display:inline-block}@media (width<=768px){.subsite-nav{justify-content:center;padding:0}.subsite-nav button{padding:.5rem .8rem;font-size:.75rem}.content-grid{grid-template-columns:1fr}.room-card{grid-column:span 1}.room-layout{grid-template-columns:1fr 1fr}.dance-floor{grid-column:span 2;min-height:120px}}.access-screen{flex:1;place-items:center;padding:2rem;display:grid}.auth-card{background:var(--sage-50);border:1px solid var(--sage-200);box-shadow:0 18px 40px var(--sage-shadow);border-radius:24px;padding:2rem}.hotel-groups{box-sizing:border-box;flex-direction:row;flex:1;gap:1rem;width:100%;min-width:0;max-width:100%;display:flex}.hotel-group{background:var(--sage-100);color:#000;box-sizing:border-box;border:1px solid #506c5833;border-radius:22px;flex-direction:column;flex:280px;width:100%;max-width:100%;padding:1.15rem;display:flex}.hotel-group-top{flex-direction:column;gap:.35rem;margin-bottom:.8rem;display:flex}.hotel-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--sage-700);background:#6488701f;border:1px solid #64887033;border-radius:999px;align-self:flex-start;padding:.35rem .7rem;font-size:.72rem;font-weight:700;display:inline-flex}.hotel-group h3{margin:0;font-size:1.4rem}.hotel-details{gap:.6rem;display:grid}@media (width<=768px){.hotel-details{min-height:0}}.hotel-details p{overflow-wrap:anywhere;grid-template-columns:minmax(0,8.2rem) minmax(0,1fr);align-items:start;gap:.75rem;min-width:0;margin:0;display:grid}.detail-label{font-weight:700}.hotel-links{flex-flow:wrap;gap:.75rem;padding-top:1rem;display:flex}.inline-link,.navigation-button{border-radius:12px;justify-content:center;align-items:center;padding:.7rem 1rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .2s,opacity .2s;display:inline-flex}.inline-link{color:var(--sage-800);background:#6488701f;border:1px solid #64887033}.navigation-button{color:#fff;box-shadow:0 12px 24px #5f7f683d}.inline-link:hover,.navigation-button:hover{opacity:.96;transform:translateY(-1px)}.room-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;width:100%;min-width:0;max-width:100%;margin-top:1rem;display:grid}.room-item{box-sizing:border-box;background:#ffffff80;border:1px solid #506c582e;border-radius:16px;width:100%;min-width:0;max-width:100%;padding:.8rem .9rem}.room-header{letter-spacing:.08em;text-transform:uppercase;color:var(--sage-700);justify-content:space-between;align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;display:flex}.room-header strong{letter-spacing:0;text-transform:none;color:var(--sage-900);font-size:.95rem}.guest-chips{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.guest-chip{color:var(--sage-800);background:#6b89771f;border:1px solid #6b897726;border-radius:999px;align-items:center;padding:.45rem .7rem;font-size:.85rem;font-weight:600;display:inline-flex}.secondary-chips{margin-top:.55rem}.companion-chip{color:#465d7a;background:#8fa0c81f;border-color:#8fa0c838}.room-companions{border-top:1px solid #506c581f;margin-top:.9rem;padding-top:.8rem}.companions-label{letter-spacing:.08em;text-transform:uppercase;color:var(--sage-700);font-size:.7rem;font-weight:700;display:block}.empty-state{color:var(--sage-700);margin:0;padding:1rem 0 .25rem;font-weight:600}@media (width<=768px){.hotel-groups{flex-direction:column;width:100%;max-width:100%}.hotel-details p{grid-template-columns:1fr;gap:.25rem}.hotel-group{flex-basis:100%;width:100%;max-width:100%;padding:1rem}.room-list{grid-template-columns:1fr;width:100%;max-width:100%}.inline-link,.hotel-group .navigation-button{flex:100%;width:100%;font-size:.85rem}}.accommodation-card{box-sizing:border-box;flex-direction:column;width:100%;min-width:0;max-width:100%;display:flex}.accommodation-header{width:100%;max-width:100%;margin-bottom:1rem}.overview-page{flex-direction:row;flex:1;gap:24px;width:100%;min-height:0;display:flex}.overview-page h2{margin-bottom:0}.overview-card{box-sizing:border-box;flex-direction:column;flex:1 1 0;gap:1rem;height:100%;display:flex}.overview-intro{min-height:6rem}.overview-card-content{flex-direction:row;flex:1;gap:1rem;display:flex;overflow:hidden}@media (width<=768px){.overview-page,.overview-card{height:auto;overflow:visible}}.map-container{border-radius:12px;flex:1;min-width:200px;min-height:200px;overflow:hidden}@media (width<=768px){.map-container{max-height:20vh}}.map-container iframe{border:0;width:100%;height:100%;display:block}.map-touch-layer{display:none}.navigation-button{color:#fff;background:#644a48;border-radius:10px;justify-content:center;align-items:center;padding:12px 20px;font-weight:600;text-decoration:none;display:inline-flex}@media (width<=768px){.overview-page{flex-direction:column;flex:none;gap:16px}.overview-card{flex:none;padding:16px}.navigation-button{width:100%;font-size:.8rem}}.navigation-button:hover{opacity:.9}@media (width<=768px){.overview-page{flex-direction:column;gap:16px}.overview-card{padding:16px}.navigation-button{width:100%}}.timeline-card{box-sizing:border-box;flex-direction:column;flex:1;gap:1rem;width:100%;min-width:0;max-width:100%;display:flex}.carousel-shell{justify-content:center;align-items:center;gap:1rem;width:100%;min-width:0;max-width:100%;height:100%;display:flex}button:disabled{opacity:.5;cursor:not-allowed}.carousel-arrow{background:var(--sage-700);color:#fff;cursor:pointer;width:2.6rem;height:2.6rem;box-shadow:0 8px 18px var(--sage-shadow);border:none;border-radius:999px;font-size:1.1rem}.carousel-stage{grid-template-columns:1fr 1.2fr 1fr;align-items:center;gap:1rem;width:100%;min-width:0;max-width:100%;display:grid}.timeline-card-side,.timeline-card-center{border:1px solid var(--sage-200);box-sizing:border-box;overflow-wrap:anywhere;border-radius:20px;flex-direction:column;justify-content:center;width:100%;min-width:0;max-width:100%;min-height:180px;padding:1rem;transition:transform .18s,opacity .18s;display:flex}.timeline-card-side{background:var(--sage-100);color:var(--sage-700);opacity:.72;transform:scale(.95)}.timeline-card-center{background:var(--sage-300);color:var(--sage-900);box-shadow:0 12px 30px var(--sage-shadow);transform:scale(1.02)}.card-time{color:var(--sage-700);margin-bottom:.35rem;font-weight:700}.card-caption{text-transform:uppercase;letter-spacing:.18em;color:var(--sage-700);margin-top:.6rem;font-size:.9rem}@media (width<=768px){.timeline-card{height:auto;overflow:visible}.carousel-shell{flex-direction:column;width:100%;max-width:100%}.carousel-arrow-previous,.carousel-arrow-next{transform:rotate(90deg)}.carousel-stage{grid-template-columns:1fr;width:100%;max-width:100%}.timeline-card-side,.timeline-card-center{width:100%;max-width:100%;min-height:140px}}.seating-plan{border:1px solid var(--sage-200);border-radius:20px;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.seating-plan svg{aspect-ratio:542/782;width:100%;max-width:100%;height:auto;max-height:calc(100dvh - 320px);display:block}@media (width<=768px){.seating-plan{border:none;border-radius:0;flex:1}.seating-plan svg{max-height:calc(100dvh - 10px)}}.plan-floor{fill:var(--sage-50);stroke:var(--sage-200);stroke-width:1px}.table-shape{fill:var(--sage-100);stroke:var(--sage-700);stroke-width:3px}.seat{fill:#fff0;stroke:var(--sage-700);stroke-width:1px}.my-seat{fill:#d64545;stroke:#9e2525;stroke-width:3px}.table-number{fill:var(--sage-900);font-size:28px;font-weight:700}.dance-floor{fill:var(--sage-200);stroke:var(--sage-600);stroke-width:2px}.plan-stage{fill:var(--sage-800)}.plan-label{fill:var(--sage-50);letter-spacing:.08em;font-size:22px;font-weight:700}.facility{fill:var(--sage-100);stroke:var(--sage-600);stroke-width:2px}.facility-label{fill:var(--sage-800);font-size:16px;font-weight:700}.seating-card{flex-direction:column;width:100%;min-height:65vh;display:flex}.seating-page-content{flex-direction:row;justify-content:space-between;gap:1rem;width:100%;display:flex;overflow:hidden}.seating-page-text{flex:0 20vw;overflow-x:visible}@media (width<=768px){.seating-page-content{flex-direction:column;max-width:100%}.seating-page-text{flex:none;max-width:100%}.seating-page-content>.seating-plan{flex:none}}.seating-page-content>.seating-plan{flex:1;min-width:0}.seating-page-mock{text-align:center;background-color:var(--sage-100);border:1px solid #506c5833;border-radius:22px;flex:1;align-items:center;height:auto;padding:1.5rem;display:flex}.seating-page-mock p{font-family:var(--font-family);width:100%;font-size:1rem}.largerText{font-size:1.25rem;font-weight:700}.songs-card{width:100%}.songs-intro{margin-top:.75rem}.songs-form{gap:1rem;margin-top:1.5rem;display:grid}.song-field{color:var(--sage-900);gap:.4rem;font-weight:700;display:grid}.song-field input{border:1px solid var(--sage-300);width:100%;color:var(--sage-950);font:inherit;background:#fff;border-radius:10px;padding:.8rem .9rem}.song-field input:focus{outline:2px solid var(--sage-500);outline-offset:2px}.songs-submit{background:var(--sage-700);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;justify-self:start;padding:.75rem 1.2rem;font-weight:700}.songs-submit:disabled{cursor:wait;opacity:.65}.songs-status{color:var(--sage-800);margin-top:1rem}.transport-page{box-sizing:border-box;flex-direction:column;flex:1;gap:1.25rem;width:100%;display:flex}.transport-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:100%;display:grid}.transport-card{background:var(--sage-100);border:1px solid var(--sage-200);box-sizing:border-box;border-radius:18px;flex-direction:column;gap:.9rem;padding:1.25rem;display:flex}.transport-card h3{margin:0}.transport-card p,.transport-card li{text-align:justify;line-height:1.6}.transport-card ul{margin:0;padding-left:1.2rem}@media (width<=768px){.transport-grid{grid-template-columns:1fr}.transport-card p,.transport-card li{text-align:left;line-height:1.6}}.loading-screen{place-items:center;width:100%;min-height:100vh;padding:24px;display:flex}.loading-card{text-align:center;background:#ffffffe6;border-radius:24px;width:100%;padding:32px 28px;box-shadow:0 20px 45px #7846501f}.loading-spinner{border:4px solid var(--sage-200);border-top-color:var(--sage-800);border-radius:50%;width:48px;height:48px;margin:0 auto 16px;animation:.9s linear infinite spin}.loading-card h1{margin:0 0 10px;font-size:1.3rem}.loading-card p{color:var(--sage-800);margin:0;line-height:1.6}@keyframes spin{to{transform:rotate(360deg)}}.wedding-intro-app{background:#f5f1e9;height:100vh;min-height:100vh;overflow:hidden}.wedding-main{min-height:100vh}.welcome-screen{z-index:9999;background-image:linear-gradient(#161b156b,#161b1547),url(/assets/fotaH-DecIDv3T.jpg);background-position:50%;background-size:cover;justify-content:center;align-items:center;padding-top:2.5vh;transition:opacity .9s,transform .9s;display:flex;position:fixed;inset:0}@media (width<=768px){.welcome-screen{background-image:linear-gradient(#161b156b,#161b1547),url(/assets/miniW-cxa5HxMO.jpg);align-items:flex-start}}.welcome-overlay{background:#ffffff14;position:absolute;inset:0}.welcome-content{z-index:1;justify-content:center;align-items:flex-start;width:min(92vw,720px);margin-left:clamp(10rem,40vw,40rem);display:flex;position:relative}@media (width<=768px){.welcome-content{margin-left:0}}.welcome-card{text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#ffffffc2;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;width:min(100%,560px);padding:clamp(2rem,5vw,4rem);display:flex;box-shadow:0 16px 40px #1919122e}.welcome-card h1{margin:1rem;font-size:clamp(2.4rem,5vw,4.5rem);font-weight:400;line-height:1.08}.welcome-kicker{font-size:clamp(.5rem,2.5vw,.9rem);font-family:var(--font-sans);letter-spacing:.28em;text-transform:uppercase;opacity:.7}.welcome-card p.welcome-kicker{margin-bottom:.5rem}.welcome-guest{margin:1rem;font-family:Georgia,Times New Roman,serif;font-size:1.5rem;font-weight:300;line-height:1.08}.welcome-copy{opacity:.82;margin:1rem;font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.7}.enter-button{appearance:none;background:var(--sage-800);color:#f8faf5;min-width:min(290px,80%);font:inherit;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border:1px solid #2e362f66;border-radius:999px;justify-content:center;align-items:center;gap:.9rem;padding:.9rem 1.5rem .9rem 1.6rem;font-size:.74rem;transition:transform .25s,background .25s,gap .25s;display:inline-flex}.enter-button:hover{background:#111914fa;gap:1.3rem;transform:translateY(-2px)}.enter-button:focus-visible{outline-offset:4px;outline:2px solid #ffffffe6}.enter-button:disabled{cursor:default}.enter-arrow{justify-content:center;height:1.2em;font-size:1.15rem;line-height:1;display:inline-flex;transform:translateY(-.02em)}.is-closing{opacity:0;transform:scale(1.04)}@media (width<=768px){.welcome-card{padding:1.6rem 1.3rem}.welcome-copy{margin-bottom:1.4rem}.enter-button{letter-spacing:.12em;width:100%;min-width:0;max-width:290px;padding:.85rem 1rem;font-size:.68rem}}@media (prefers-reduced-motion:reduce){.welcome-screen,.enter-button{transition:none!important}}
