:root{color:var(--green-900);background:linear-gradient(180deg, var(--cream-50) 0%, var(--cream-100) 100%);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--cream-50:#fbf5ea;--cream-100:#f1eadc;--cream-200:#e4d7bb;--cream-300:#d9c7a1;--green-700:#364238;--green-800:#44693d;--green-900:#2e4f2a;--olive-muted:#77866d;--green-soft:#2e4f2a;--white-smoke:#f8f1e0;--terracotta-soft:#44693d;--card-bg:#fffbfac7;--card-border:#53624b2e;--shadow-soft:0 24px 80px #2131271f;--panel-muted-bg:#ffffff70;--pill-muted-bg:#fff6;--green-panel-bg:#fffaf01a;--green-card-bg:#fffaf01f;--green-pill-bg:#fffaf014;--cream-border:#fffaf02e;--cream-border-soft:#fffaf01f;--cream-text-muted:#fffaf0bd;--muted-border:#53624b1f;--topbar-border:#53624b2e;--hero-title:#583525;--accent-gold:#b88a44;--accent-gold-soft:#b88a442e;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}.darkest-mode{--cream-50:#f7ead8;--cream-100:#ead8bd;--cream-200:#d8bd92;--cream-300:#bf9e72;--green-700:#53664a;--green-800:#c4d3aa;--green-900:#f4ead7;--olive-muted:#d1c1a0;--green-soft:#9fb47c;--white-smoke:#302820;--terracotta-soft:#c5976f;--card-bg:#43372bdb;--card-border:#f7ead838;--shadow-soft:0 24px 80px #1e150e57;--panel-muted-bg:#54453599;--pill-muted-bg:#65533e94;--green-panel-bg:#3a4932b8;--green-card-bg:#f7ead81f;--green-pill-bg:#f7ead817;--cream-border:#f7ead838;--cream-border-soft:#f7ead829;--cream-text-muted:#f7ead8c7;--muted-border:#f7ead829;--topbar-border:#f7ead82e;--hero-title:#f0cfac;color:var(--green-900);background:linear-gradient(#2f3a2a 0%,#4f3c2f 100%)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{letter-spacing:-.01em;min-width:320px;min-height:100vh;margin:0;font-family:inherit;font-size:1rem}h1,h2,h3,p,span,dt,dd,li,a,button,select,address,strong{font-family:inherit}a{color:inherit;text-decoration:none}button{font:inherit}#root{min-height:100vh}.page-shell{background:radial-gradient(circle at 12% 8%, var(--accent-gold-soft), transparent 28rem), radial-gradient(circle at 90% 24%, #44693d1f, transparent 26rem), linear-gradient(180deg, var(--white-smoke) 0%, var(--cream-100) 100%);position:relative;overflow:hidden}.screen-panel{min-height:100vh;padding:clamp(12px,2vw,22px)}.screen-panel--beige{background:linear-gradient(180deg, var(--white-smoke) 0%, var(--cream-100) 100%)}.screen-panel--beige-soft{background:linear-gradient(180deg, var(--cream-100) 0%, var(--cream-200) 100%)}.screen-panel--green{background:linear-gradient(180deg, var(--green-700) 0%, var(--green-800) 100%)}.screen-panel--green-deep{background:linear-gradient(180deg, var(--green-800) 0%, var(--green-900) 100%)}.panel-card{border:1px solid var(--card-border);max-width:1300px;min-height:calc(100vh - 36px);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:38px;margin:0 auto;padding:clamp(20px,3vw,36px)}.screen-panel--beige .panel-card,.screen-panel--beige-soft .panel-card{background:var(--card-bg);color:var(--green-900)}.screen-panel--green .panel-card,.screen-panel--green-deep .panel-card{background:var(--green-panel-bg);color:var(--cream-50);border-color:var(--cream-border)}.panel-card--hero{gap:24px;display:grid}.panel-card--content{align-content:center;gap:28px;display:grid}.topbar{border-bottom:1px solid var(--topbar-border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem 1.2rem;display:flex}.topbar-left{z-index:2;align-items:center;gap:1rem;display:flex;position:relative}.topbar-center{text-align:center;flex:1}.topbar-link{border:1px solid var(--card-border);background:var(--card-bg);min-height:42px;color:var(--green-900);letter-spacing:.12em;text-transform:uppercase;box-shadow:var(--shadow-soft);border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-size:.82rem;font-weight:800;transition:transform .18s,border-color .18s,background-color .18s;display:inline-flex}.topbar-link:hover{border-color:var(--accent-gold);transform:translateY(-1px)}.theme-switcher{display:inline-flex}.theme-toggle{border:1px solid var(--card-border);background:var(--card-bg);width:42px;min-height:42px;color:var(--green-900);cursor:pointer;touch-action:manipulation;box-shadow:var(--shadow-soft);border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:1rem;transition:transform .18s,background-color .18s,border-color .18s;display:inline-flex}.theme-toggle:hover{border-color:var(--olive-muted);transform:translateY(-1px)}.theme-toggle:focus-visible{outline:2px solid var(--green-800);outline-offset:3px}.brand-mark{margin:0;font-size:1.25rem;font-weight:600}.brand-submark{color:var(--olive-muted);font-size:.85rem}.brand-mark,h1,h2,h3,.date-card strong{font-family:inherit}.brand-mark{letter-spacing:.02em;margin:0;font-size:1.35rem;font-weight:800}.brand-submark,.eyebrow,.card-kicker,.date-card span,.section-step,.schedule-grid span,.travel-pill span,.detail-list dt{letter-spacing:.16em;font-size:.86rem}.screen-panel--beige .brand-submark,.screen-panel--beige .eyebrow,.screen-panel--beige .card-kicker,.screen-panel--beige .date-card span,.screen-panel--beige .section-step,.screen-panel--beige-soft .brand-submark,.screen-panel--beige-soft .eyebrow,.screen-panel--beige-soft .card-kicker,.screen-panel--beige-soft .date-card span,.screen-panel--beige-soft .section-step{color:var(--olive-muted)}.screen-panel--green .brand-submark,.screen-panel--green .card-kicker,.screen-panel--green .section-step,.screen-panel--green .schedule-grid span,.screen-panel--green .travel-pill span,.screen-panel--green-deep .brand-submark,.screen-panel--green-deep .card-kicker,.screen-panel--green-deep .section-step,.screen-panel--green-deep .schedule-grid span,.screen-panel--green-deep .travel-pill span{color:var(--cream-text-muted)}.hero-layout{grid-template-columns:minmax(0,1fr);min-height:100%;display:grid}.hero-image-frame,.hero-panel,.section-card,.info-card,.map-card{border-radius:30px;overflow:hidden}.hero-image-frame{background:linear-gradient(180deg, var(--cream-200) 0%, var(--cream-100) 100%);width:100%;min-height:62vh;margin:0;position:relative}.hero-image{object-fit:cover;object-position:center;width:100%;height:100%;min-height:62vh;display:block}.hero-panel{background:linear-gradient(180deg, var(--white-smoke) 0%, var(--white-smoke) 100%);min-height:100%;color:var(--green-900);grid-template-rows:1fr auto;gap:22px;padding:clamp(24px,4vw,52px);display:grid}.hero-copy{text-align:center;justify-items:center;gap:16px;display:grid}.date-panel{gap:16px;display:grid}.date-panel h2{margin:0;font-size:clamp(1.6rem,3vw,2.2rem)}.hero-copy h1{text-align:center;max-width:11ch;color:var(--hero-title);margin:0 auto;font-size:clamp(3rem,8vw,5.8rem);line-height:1}.hero-subtitle{color:var(--green-800);margin:0;font-size:1.1rem}.hero-description,.section-heading p,.section-card p,.info-card p,.map-card p,.notes-grid p{line-height:1.72}.hero-actions,.link-row{flex-wrap:wrap;gap:12px;display:flex}.hero-actions{margin-top:28px}.primary-button,.soft-button{border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 18px;transition:transform .18s,background-color .18s,color .18s,border-color .18s;display:inline-flex}.primary-button{color:var(--white-smoke);background:linear-gradient(135deg, var(--green-800), var(--green-700))}.soft-button{color:var(--green-900);background:var(--pill-muted-bg);border:1px solid var(--card-border)}.date-card{justify-items:center;gap:6px;padding:10px;display:grid}.date-card strong{font-size:clamp(2.6rem,6vw,4.2rem);line-height:1}.date-card p{text-align:center;margin:1px 0 0}.section-heading{text-align:center;max-width:760px;margin:0 auto}.section-heading h2{letter-spacing:-.04em;margin:10px 0 12px;font-size:clamp(2.3rem,5vw,3.8rem);line-height:1}.section-card,.info-card,.map-card{padding:30px;box-shadow:0 18px 48px #21312714}.screen-panel--beige .section-card,.screen-panel--beige .info-card,.screen-panel--beige .map-card,.screen-panel--beige-soft .section-card,.screen-panel--beige-soft .info-card,.screen-panel--beige-soft .map-card{background:var(--panel-muted-bg);color:var(--green-900)}.screen-panel--green .section-card,.screen-panel--green .info-card,.screen-panel--green .map-card,.screen-panel--green-deep .section-card,.screen-panel--green-deep .info-card,.screen-panel--green-deep .map-card{background:var(--green-card-bg);color:var(--cream-50);border:1px solid var(--cream-border-soft)}.schedule-card,.info-card,.notes-card,.rsvp-card{min-height:52vh}.schedule-grid,.notes-grid,.travel-grid,.detail-list{gap:16px;display:grid}.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.schedule-grid article,.notes-grid div,.travel-pill,.detail-list div{border-radius:24px;padding:18px}.screen-panel--beige .schedule-grid article,.screen-panel--beige .notes-grid div,.screen-panel--beige .travel-pill,.screen-panel--beige .detail-list div,.screen-panel--beige-soft .schedule-grid article,.screen-panel--beige-soft .notes-grid div,.screen-panel--beige-soft .travel-pill,.screen-panel--beige-soft .detail-list div{background:var(--pill-muted-bg);border:1px solid var(--muted-border)}.screen-panel--green .schedule-grid article,.screen-panel--green .notes-grid div,.screen-panel--green .travel-pill,.screen-panel--green .detail-list div,.screen-panel--green-deep .schedule-grid article,.screen-panel--green-deep .notes-grid div,.screen-panel--green-deep .travel-pill,.screen-panel--green-deep .detail-list div{background:var(--green-pill-bg);border:1px solid var(--cream-border-soft)}.schedule-grid h3,.info-card h3,.map-card h3,.notes-card h2,.timetable-copy h3,.hotel-card h3{margin:8px 0 12px;font-size:clamp(1.35rem,2.6vw,1.8rem)}.timetable-heading{text-align:center;justify-self:center}.timetable-card{background:linear-gradient(135deg, var(--panel-muted-bg), var(--pill-muted-bg));border:1px solid var(--muted-border);border-radius:32px;gap:18px;width:100%;max-width:980px;margin:0 auto;padding:28px;display:grid;position:relative;overflow:hidden}.timetable-card:before{content:"";background:linear-gradient(180deg, transparent, var(--olive-muted), transparent);opacity:.56;width:1px;position:absolute;top:48px;bottom:48px;left:151px}.timetable-entry{grid-template-columns:92px 42px minmax(0,1fr);align-items:center;gap:18px;display:grid;position:relative}.timetable-time span,.hotel-distance{border:1px solid var(--muted-border);background:var(--pill-muted-bg);min-height:34px;color:var(--olive-muted);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 12px;font-size:.8rem;font-weight:700;display:inline-flex}.timetable-dot{background:linear-gradient(135deg, var(--green-800), var(--green-700));width:42px;height:42px;color:var(--white-smoke);letter-spacing:.1em;z-index:1;border-radius:999px;place-items:center;font-size:.78rem;font-weight:700;display:grid;box-shadow:0 12px 32px #2131272e}.timetable-copy{border:1px solid var(--muted-border);background:#ffffff57;border-radius:26px;padding:22px}.timetable-copy p,.hotel-copy p{margin:0;line-height:1.7}.timetable-copy strong{color:var(--green-800);margin-top:12px;display:inline-block}.hotel-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;display:grid}.hotel-card{background:var(--green-card-bg);border:1px solid var(--cream-border-soft);border-radius:30px;min-height:100%;padding:22px;display:grid}.hotel-copy{grid-template-rows:auto auto 1fr auto auto;gap:14px;display:grid}.hotel-copy address{color:var(--cream-text-muted);font-style:normal;line-height:1.6}.hotel-actions{flex-wrap:wrap;align-self:end;gap:12px;margin-top:8px;display:flex}.hotel-card .soft-button{color:var(--cream-50);border-color:var(--cream-border-soft);background:var(--green-pill-bg)}@media (min-width:981px){.info-card p,.info-card dd,.info-card dt{font-size:1.15rem}.welcome-party-details-layout{grid-template-columns:1fr 1fr;gap:24px;display:grid}.welcome-party-details-layout .hero-image-frame,.welcome-party-details-layout .detail-list{margin:0}}.detail-list{text-align:center;margin:22px 0}.detail-list dd,.detail-list li{margin:6px 0 0;font-weight:600}.map-card{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:22px;min-height:58vh;display:grid}.venue-block{gap:4px;margin:20px 0;display:grid}.travel-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.travel-pill strong{margin-top:6px;display:block}.footer-note{color:var(--green-900);text-align:center;padding:.1rem}.registry-page{background:radial-gradient(circle at top left, var(--accent-gold-soft), transparent 30rem), radial-gradient(circle at bottom right, #44693d29, transparent 34rem), linear-gradient(180deg, var(--white-smoke), var(--cream-100));min-height:100vh;color:var(--green-900);padding:clamp(16px,3vw,40px)}.registry-hero{border:1px solid var(--card-border);background:var(--card-bg);max-width:860px;box-shadow:var(--shadow-soft);text-align:center;border-radius:38px;justify-items:center;gap:14px;margin:0 auto 28px;padding:clamp(28px,6vw,72px) clamp(18px,4vw,44px);display:grid}.registry-toolbar{text-align:left;width:100%}.registry-hero h1{letter-spacing:-.07em;color:var(--hero-title);margin:0;font-size:clamp(3rem,8vw,6rem);line-height:.95}.registry-hero p:not(.eyebrow){max-width:620px;color:var(--green-700);margin:0;font-size:1.08rem;line-height:1.75}.gift-grid{grid-template-columns:repeat(3,minmax(260px,1fr));gap:clamp(16px,2vw,24px);max-width:1180px;margin:0 auto;display:grid}.gift-card{border:1px solid var(--card-border);background:linear-gradient(145deg, #ffffff9e, #fffbfa61), var(--card-bg);border-radius:30px;grid-template-rows:1fr auto;gap:28px;min-height:300px;padding:26px;display:grid;box-shadow:0 20px 58px #2131271a}.gift-image-frame{aspect-ratio:4/3;background:linear-gradient(180deg, var(--cream-200) 0%, var(--cream-100) 100%);border-radius:22px;width:100%;max-height:220px;margin:0 0 22px;position:relative;overflow:hidden}.gift-image{object-fit:cover;object-position:center;display:block}.gift-image--contain{object-fit:contain;padding:10px}.gift-card h2{letter-spacing:-.04em;margin:10px 0 12px;font-size:clamp(1.65rem,3vw,2.2rem);line-height:1.05}.gift-card p:not(.card-kicker){color:var(--green-700);margin:0;line-height:1.7}.gift-card-footer{border-top:1px solid var(--muted-border);flex-direction:column;align-items:flex-start;gap:14px;padding-top:18px;display:flex}.gift-card-footer strong{color:var(--hero-title);font-size:1.35rem}.gift-notice{border:1px solid var(--muted-border);background:var(--cream-100);border-radius:16px;width:100%;padding:16px}.gift-notice strong{font-size:1rem}.gift-notice p{font-size:.95rem;margin:6px 0 10px!important}.gift-notice button{color:var(--green-700);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.darkest-mode .registry-page{background:radial-gradient(circle at 0 0,#b88a441f,#0000 30rem),radial-gradient(circle at 100% 100%,#6b4e3329,#0000 34rem),linear-gradient(#302820,#403126)}.darkest-mode .registry-hero,.darkest-mode .gift-card{background:linear-gradient(145deg,#514234,#3d3127);border-color:#f0cfac38;box-shadow:0 20px 58px #140e0a47}.darkest-mode .registry-hero p:not(.eyebrow),.darkest-mode .gift-card p:not(.card-kicker){color:#eadbc8}.darkest-mode .gift-image-frame{background:#68523e}.darkest-mode .gift-card .primary-button{color:#253122;background:#c4d3aa}.darkest-mode .gift-notice{background:#302820;border-color:#f0cfac4d}.darkest-mode .gift-notice button{color:#d5e2bc}.footer-note p{margin:.1rem 0;font-size:.5rem;line-height:1.2}@media (max-width:980px){.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-layout,.map-card,.hotel-card,.schedule-grid,.travel-grid,.notes-grid{grid-template-columns:1fr}.topbar{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.75rem;height:auto;padding:1rem 0}.hero-panel{grid-template-rows:auto auto}.timetable-card:before{left:49px}.timetable-entry{grid-template-columns:42px minmax(0,1fr)}.timetable-time{grid-area:1/2}.timetable-dot{grid-area:1/1/span 2}.timetable-copy{grid-column:2}}@media (max-width:720px){.gift-grid{grid-template-columns:minmax(0,1fr)}.registry-hero{border-radius:24px;padding:24px 18px}.registry-hero h1{overflow-wrap:anywhere;font-size:clamp(2.25rem,10vw,3.5rem)}.gift-card{gap:20px;min-width:0;min-height:0;padding:20px}.screen-panel{padding:12px}.panel-card{border-radius:24px;min-height:calc(100vh - 24px);padding:20px}.hero-image-frame,.hero-panel,.section-card,.info-card,.hotel-card,.map-card{border-radius:24px}.hero-image,.hero-image-frame{min-height:320px}.gift-image-frame{border-radius:18px;max-height:190px}.hero-copy h1{font-size:clamp(2.4rem,13vw,3.8rem)}.section-heading h2{font-size:2.2rem}.date-card strong{font-size:3rem}.timetable-card,.hotel-card{padding:16px}.timetable-copy{padding:18px}.timetable-card:before{left:37px}}
.language-switcher{align-items:center;display:inline-flex;position:relative}.language-dropdown{appearance:none;border:1px solid var(--card-border);background:var(--card-bg);color:inherit;font:inherit;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-soft);cursor:pointer;touch-action:manipulation;border-radius:999px;outline:none;padding:10px 38px 10px 14px;transition:all .2s}.language-dropdown:hover{border-color:var(--olive-muted);transform:translateY(-1px)}.language-dropdown:focus{border-color:var(--green-800);box-shadow:0 0 0 3px var(--muted-border)}.language-dropdown option{background:var(--white-smoke);color:var(--green-900)}.language-switcher:after{content:"▾";pointer-events:none;color:var(--olive-muted);font-size:1rem;transition:color .2s;position:absolute;right:14px}.language-dropdown:hover+*,.language-switcher:hover:after{color:var(--green-800)}.darkest-mode .language-dropdown{border:1px solid var(--card-border);background:var(--card-bg);color:var(--green-900)}.darkest-mode .language-dropdown:hover{border-color:var(--olive-muted)}.darkest-mode .language-dropdown:focus{border-color:var(--green-700);box-shadow:0 0 0 3px var(--cream-border-soft)}.darkest-mode .language-switcher:after{color:var(--olive-muted)}
.rsvp-shell{background:var(--white-smoke);min-height:100vh;color:var(--green-900);padding:clamp(1rem,5vw,4rem)}.rsvp-card{background:var(--card-bg);border:1px solid var(--card-border);max-width:44rem;box-shadow:var(--shadow-soft);border-radius:1.5rem;margin:0 auto;padding:clamp(1.25rem,4vw,3rem)}.rsvp-card--wide{max-width:85rem}.rsvp-card h1{margin:1.5rem 0;font-size:clamp(2rem,4vw,3rem);line-height:1.15}.rsvp-card h2{margin-top:1.75rem;font-size:1.35rem}.rsvp-card p{line-height:1.65}.rsvp-card a{color:var(--green-800);text-underline-offset:.2em;text-decoration:underline}.rsvp-eyebrow{text-transform:uppercase;letter-spacing:.15em;margin-top:2rem;font-size:.8rem}.rsvp-form{gap:1.25rem;margin-top:1.5rem;display:grid}.rsvp-fields{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-width:0;margin:0;padding:0;display:grid}.rsvp-fields legend{margin-bottom:1rem;font-weight:600}.rsvp-form label{gap:.45rem;font-size:.95rem;line-height:1.5;display:grid}.rsvp-form input:not([type=checkbox]){box-sizing:border-box;border:1px solid var(--olive-muted);background:var(--white-smoke);width:100%;color:var(--green-900);font:inherit;border-radius:.5rem;padding:.8rem}.rsvp-form .rsvp-consent label{align-items:flex-start;gap:.75rem;display:flex}.rsvp-consent input{width:1.25rem;height:1.25rem;accent-color:var(--green-800);flex-shrink:0;margin-top:.3rem}.rsvp-guest-fieldset{border:1px solid var(--card-border);border-radius:.75rem;min-width:0;margin:0 0 1rem;padding:1rem}.rsvp-guest-fieldset legend{padding:0 .35rem;font-weight:600}.rsvp-guest-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.rsvp-remove-guest{margin-top:1rem}.rsvp-card button{cursor:pointer;background:var(--green-700);border:1px solid var(--olive-muted);color:var(--cream-50);font:inherit;border-radius:.5rem;padding:.7rem 1rem}.rsvp-card button:disabled{opacity:.6;cursor:wait}.rsvp-card :focus-visible{outline:3px solid var(--accent-gold);outline-offset:3px}.rsvp-card [role=alert],.rsvp-unavailable{background:var(--accent-gold-soft);border-left:3px solid var(--accent-gold);padding:1rem}.rsvp-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.rsvp-edit{border:1px solid var(--olive-muted);border-radius:.5rem;margin-bottom:1.5rem;padding:1rem}.rsvp-table-wrap{overflow-x:auto}.rsvp-table{border-collapse:collapse;text-align:left;width:100%}.rsvp-table caption{text-align:left;padding:1rem 0;font-weight:600}.rsvp-table th,.rsvp-table td{border-bottom:1px solid var(--card-border);overflow-wrap:anywhere;padding:.8rem}.rsvp-table th{background:var(--panel-muted-bg)}.rsvp-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.rsvp-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:540px){.rsvp-fields,.rsvp-guest-row{grid-template-columns:minmax(0,1fr)}.rsvp-toolbar{align-items:flex-start}.rsvp-toolbar>a{flex-basis:100%}.rsvp-actions{max-width:100%}.rsvp-card h1{overflow-wrap:anywhere}}
