*,: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:var(--sage-800);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:100vw;height:100vh;font-weight:400;line-height:1.5}#root{width:80vw;height:100vh;margin:0 auto;display:flex}@media (width<=768px){#root{width:95vw}}body{min-width:320px;color:var(--sage-800);margin:0}h1,h2{color:var(--sage-900);margin:0 0 .6rem}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}a{color:var(--sage-700)}.app-shell{box-sizing:border-box;flex-direction:column;flex:1;gap:1.5rem;padding:2rem;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:2rem}.hero-card{text-align:left}.eyebrow{text-transform:uppercase;letter-spacing:.24em;color:var(--sage-700);margin-bottom:.75rem;font-size:.75rem;font-weight:700;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}.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;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){.app-shell{padding:1rem}.subsite-nav{justify-content:flex-start}.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}.overview-page{flex-direction:row;flex:1;gap:24px;width:100%;display:flex}.overview-card{box-sizing:border-box;flex-direction:column;flex:1 1 0;gap:1rem;display:flex}.map-container{border-radius:12px;flex:1;width:100%;overflow:hidden}.map-container iframe{border:0;width:100%;height:100%;display:block}.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}.navigation-button:hover{opacity:.9}@media (width<=600px){.overview-page{flex-direction:column;gap:16px}.overview-card{padding:16px}.navigation-button{width:100%}}.timeline-card{flex-direction:column;flex:1;gap:1rem;display:flex}.timeline-intro{color:var(--sage-800)}.carousel-shell{justify-content:center;align-items:center;gap:1rem;min-height:280px;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%;display:grid}.timeline-card-side,.timeline-card-center{border:1px solid var(--sage-200);border-radius:20px;flex-direction:column;justify-content:center;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){.carousel-shell{flex-direction:column}.carousel-stage{grid-template-columns:1fr}.timeline-card-side,.timeline-card-center{min-height:140px}}.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)}}
