:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fbfaf7;--surface:#fff;--surface-strong:#fff;--ink:#26312f;--muted:#6f7c78;--line:#e7e0d5;--green:#7a9c8f;--green-dark:#3e6256;--blue:#6f9db8;--gold:#c9a767;--rose:#d8a6a4;--red:#b85858;--button-ink:#fff;--shadow:0 20px 70px #61544621}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101512;--surface:#171e1a;--surface-strong:#1c2520;--ink:#edf5f0;--muted:#a8b7ae;--line:#34413a;--green:#3fa875;--green-dark:#72d4a2;--blue:#66afe1;--gold:#e6b45b;--rose:#e8b7b4;--red:#ef8a8a;--button-ink:#0c1a13;--shadow:0 18px 60px #0000005c}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{scroll-behavior:smooth}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.page{min-height:100vh}.shell{width:min(1180px,100vw - 32px);margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:20px;min-height:72px;display:flex}.brand{align-items:center;gap:10px;font-weight:850;display:flex}.brand-mark{width:34px;height:34px;color:var(--green-dark);background:#eef5f2;border-radius:8px;place-items:center;display:grid}.nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nav-auth-placeholder{width:100px;height:40px;display:block}.nav a,.button,.ghost-button,.icon-button,.theme-toggle{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.nav a:not(.button){color:var(--muted);padding:0 12px;font-weight:650}.nav a:not(.button):hover,.ghost-button:hover,.icon-button:hover,.theme-toggle:hover{background:color-mix(in srgb, var(--ink), transparent 94%)}.button{border-color:var(--green-dark);background:var(--green-dark);color:var(--button-ink);padding:0 16px;font-weight:750}.button:hover{background:#2f4d43;transform:translateY(-1px)}.button.secondary{border-color:var(--line);background:var(--surface-strong);color:var(--ink)}.ghost-button,.icon-button{color:var(--ink);background:0 0}.icon-button{width:40px;padding:0}.theme-toggle{border-color:var(--line);background:var(--surface-strong);min-width:40px;color:var(--ink);padding:0 11px;font-weight:750}.theme-toggle-compact{width:40px;padding:0}.theme-toggle-compact .theme-toggle-label{display:none}.hero{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);align-items:center;gap:44px;min-height:calc(100vh - 110px);padding:36px 0 72px;display:grid}.hero-copy{gap:22px;display:grid}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:0;font-size:.76rem;font-weight:800}h1,h2,h3,p{margin:0}h1{letter-spacing:0;max-width:760px;font-size:clamp(2.4rem,7vw,5.5rem);line-height:.96}h2{letter-spacing:0;font-size:1.55rem}h3{letter-spacing:0;font-size:1rem}.lead{max-width:620px;color:var(--muted);font-size:1.08rem;line-height:1.7}.actions{flex-wrap:wrap;gap:12px;display:flex}.hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.metric{border-left:3px solid var(--green);padding:4px 0 4px 12px}.metric strong{font-size:1.35rem;display:block}.metric span{color:var(--muted);font-size:.88rem}.product-preview{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.preview-header{border-bottom:1px solid var(--line);min-height:48px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 16px;font-size:.88rem;font-weight:700;display:flex}.preview-body,.dashboard-grid,.form-grid{gap:16px;display:grid}.preview-body{padding:18px}.status-row{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:14px;display:grid}.pill{min-height:28px;color:var(--green-dark);background:#7a9c8f29;border-radius:999px;align-items:center;padding:0 10px;font-size:.82rem;font-weight:800;display:inline-flex}.pill.gold{color:#8b6827;background:#c9a7672e}.wedding-hero{background:#f5efe8;border-radius:8px;align-items:end;min-height:min(760px,100vh - 96px);margin:16px 0 28px;display:grid;position:relative;overflow:hidden}.hero-image-wrap{position:absolute;inset:0}.hero-image{object-fit:cover;object-position:center}.hero-image-wrap:after{content:"";background:linear-gradient(90deg,#fffdf9fa,#fffdf9bd 48%,#fffdf929),linear-gradient(#0000 48%,#fffdf96b);position:absolute;inset:0}.hero-content{z-index:1;color:#172421;text-shadow:0 1px 18px #fffdf9c7;gap:22px;width:min(680px,100%);padding:clamp(28px,7vw,84px);display:grid;position:relative}.hero-content .eyebrow{color:#76571f}.hero-content .lead{color:#2d3c38}.intro-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 46px;display:grid}.intro-strip div,.accommodation-notes span{border:1px solid var(--line);min-height:58px;color:var(--green-dark);background:#ffffffb8;border-radius:8px;align-items:center;gap:10px;padding:0 16px;font-weight:800;display:flex}.photo-story,.rsvp-section,.accommodation-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(20px,5vw,64px);padding:42px 0;display:grid}.couple-photo,.accommodation-image,.detail-panel.image-panel{box-shadow:var(--shadow);background:#eef5f2;border-radius:8px;position:relative;overflow:hidden}.couple-photo{min-height:420px}.couple-photo img,.accommodation-image img,.detail-panel.image-panel img{object-fit:cover}.story-copy,.rsvp-copy{gap:18px;display:grid}.story-copy p,.detail-panel p,.three-up p,.directions-band p,.rsvp-copy p,.stay-card p{color:var(--muted);font-size:1rem;line-height:1.7}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:24px 0 48px;display:grid}.detail-panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-direction:column;justify-content:center;gap:18px;min-height:360px;padding:clamp(22px,4vw,42px);display:flex}.detail-panel.image-panel{padding:0}.section-band{padding:46px 0}.timeline{gap:10px;display:grid}.timeline-item{border-top:1px solid var(--line);grid-template-columns:108px minmax(0,1fr);align-items:start;gap:16px;padding:18px 0;display:grid}.timeline-item span{color:var(--green-dark);font-weight:850}.timeline-item p{color:var(--muted);margin-top:5px;line-height:1.6}.three-up,.stay-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:28px 0 50px;display:grid}.three-up article,.stay-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-content:start;gap:14px;padding:24px;display:grid}.directions-band{border:1px solid var(--line);background:#eef5f2;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin:18px 0 46px;padding:clamp(22px,4vw,36px);display:grid}.directions-actions{flex-wrap:wrap;justify-content:end;gap:10px;display:flex}.rsvp-section{border-top:1px solid var(--line);align-items:start;padding-bottom:70px}.rsvp-form{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;gap:16px;padding:clamp(20px,4vw,30px);display:grid}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.attendance-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.attendance-options label{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;align-items:center;gap:10px;padding:13px;font-weight:800;display:flex}.message.success{color:var(--green-dark);border-color:#3e625652;align-items:center;gap:10px;display:flex}.text-link,.stay-card a{color:var(--green-dark);text-underline-offset:4px;align-items:center;gap:8px;font-weight:850;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.accommodation-hero{grid-template-columns:minmax(0,1fr) minmax(320px,.62fr);padding-top:28px}.accommodation-image{min-height:330px}.accommodation-notes{gap:10px;min-width:260px;display:grid}.wedding-ops-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}.admin-note{margin-top:14px}.pill.blue{color:var(--blue);background:#2673a71f}.main-section{padding:28px 0 60px}.compact-page-title{font-size:2.4rem;line-height:1.05}.account-return-actions{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.account-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr)}.account-facts{gap:10px;display:grid}.account-facts span{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:16px;padding-bottom:10px;display:flex}.account-facts strong{color:var(--ink);text-transform:capitalize}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.dashboard-grid{grid-template-columns:1.2fr .8fr}.ops-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;margin-top:16px;display:grid}.panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:20px}.panel-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.muted{color:var(--muted)}.form-card{border:1px solid var(--line);background:var(--surface);width:min(460px,100vw - 32px);box-shadow:var(--shadow);border-radius:8px;margin:48px auto;padding:24px}.field{gap:7px;display:grid}.field label{color:var(--ink);font-size:.9rem;font-weight:750}.field input,.field textarea,.field select,.record-actions input,.record-actions select{border:1px solid var(--line);background:var(--surface-strong);width:100%;color:var(--ink);border-radius:8px;padding:11px 12px}.field textarea{resize:vertical;min-height:120px}.message{border:1px solid var(--line);background:var(--surface-strong);color:var(--muted);border-radius:8px;padding:12px;line-height:1.5}.message.error{color:var(--red);border-color:#b3434359}.list{gap:10px;display:grid}.list-item{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;padding:14px}.list-item-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.list-item p{color:var(--muted);margin-top:6px;line-height:1.5}.record-actions{flex-wrap:wrap;align-items:end;gap:10px;margin-top:12px;display:flex}.record-actions label{min-width:132px;color:var(--muted);gap:6px;font-size:.82rem;font-weight:750;display:grid}.split{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stat{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:18px}.stat strong{margin-top:8px;font-size:1.8rem;display:block}.mobile-backbar{display:none}@media (max-width:820px){.page-with-mobile-back .topbar{display:none}.mobile-backbar{height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 10px 0;z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface), transparent 8%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;display:grid;position:sticky;top:0}.mobile-backbar button,.mobile-backbar a{border:0;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.mobile-backbar button{background:var(--ink);color:var(--surface)}.mobile-back-actions{align-items:center;gap:4px;display:flex}.mobile-backbar a{color:var(--ink)}.mobile-backbar .brand{justify-self:end;overflow:hidden}.mobile-backbar .brand>span:last-child{display:none}.mobile-backbar .brand-mark{width:34px;height:34px}.mobile-backbar>span{min-width:0;color:var(--ink);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:850;overflow:hidden}.mobile-backbar .theme-toggle-label,.nav .theme-toggle-label{display:none}.topbar{flex-direction:column;align-items:flex-start;padding:18px 0}.hero,.dashboard-grid,.account-grid,.ops-grid,.split,.intro-strip,.photo-story,.details-grid,.three-up,.rsvp-section,.accommodation-hero,.stay-grid,.directions-band,.form-row,.attendance-options{grid-template-columns:1fr}.wedding-hero{min-height:620px}.hero-image-wrap:after{background:linear-gradient(#fffdf947,#fffdf9d1 42%,#fffdf9fc)}.hero-content{padding:28px}.couple-photo,.detail-panel,.accommodation-image{min-height:300px}.directions-actions{justify-content:start}.timeline-item{grid-template-columns:82px minmax(0,1fr)}.hero{min-height:auto;padding-top:20px}.hero-metrics{grid-template-columns:1fr}}
.legal-footer{border-top:1px solid var(--line);background:var(--surface,var(--paper,var(--bg)))}.legal-footer-inner{width:min(1120px,100vw - 32px);margin:0 auto;padding:26px 0 30px}.legal-footer-summary{justify-content:space-between;align-items:baseline;gap:18px;display:flex}.legal-footer-summary strong{color:var(--ink)}.legal-footer-summary span,.legal-footer p{color:var(--muted);font-size:.78rem;line-height:1.5}.legal-footer nav{flex-wrap:wrap;gap:8px 18px;margin:16px 0;display:flex}.legal-footer nav a,.legal-link-button,.legal-inline-button{color:var(--ink);cursor:pointer;font:inherit;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--ink), transparent 70%);text-decoration-color:color-mix(in srgb, var(--ink), transparent 70%);text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:.82rem;font-weight:750}.legal-page{min-height:76vh;padding:44px 16px 72px}.legal-shell{width:min(860px,100%);margin:0 auto}.legal-page-header{padding-bottom:32px}.legal-page-header>a{color:var(--ink);margin-bottom:34px;font-size:.88rem;font-weight:800;display:inline-flex}.legal-page-header h1{max-width:none;color:var(--ink);margin:8px 0 14px;font-size:2.45rem;line-height:1.08}.legal-page-header>p:last-child{max-width:720px;color:var(--muted);font-size:1.02rem;line-height:1.65}.legal-eyebrow{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.legal-content section{border-top:1px solid var(--line);padding:28px 0}.legal-content h2{color:var(--ink);margin:0 0 14px;font-size:1.25rem}.legal-content h3{color:var(--ink);margin:22px 0 8px;font-size:.96rem}.legal-content p,.legal-content li{color:var(--muted);font-size:.94rem;line-height:1.72}.legal-content p+p{margin-top:12px}.legal-content ul{gap:9px;margin:0;padding-left:21px;display:grid}.legal-content a{color:var(--ink);text-underline-offset:3px;font-weight:700;text-decoration:underline}.legal-notice,.cookie-none{border-left:3px solid var(--ink);margin-top:16px;padding:10px 0 10px 14px;color:var(--ink)!important}.legal-table-wrap{width:100%;overflow-x:auto}.legal-content table{border-collapse:collapse;width:100%;font-size:.8rem}.legal-content th,.legal-content td{border:1px solid var(--line);min-width:132px;color:var(--muted);text-align:left;vertical-align:top;padding:12px}.legal-content th{background:color-mix(in srgb, var(--ink), transparent 95%);color:var(--ink)}.legal-inline-button{margin-top:16px}.terms-consent{color:var(--muted);grid-template-columns:20px minmax(0,1fr);align-items:start;gap:9px;font-size:.78rem;line-height:1.5;display:grid}.terms-consent input{width:17px;height:17px;margin:2px 0 0}.terms-consent a{color:var(--ink);text-underline-offset:2px;font-weight:750;text-decoration:underline}.cookie-banner{z-index:90;border:1px solid var(--line);background:var(--surface,var(--paper,var(--bg)));width:min(980px,100vw - 36px);box-shadow:var(--shadow,0 18px 50px #0003);border-radius:8px;justify-content:space-between;align-items:center;gap:22px;margin:0 auto;padding:18px;display:flex;position:fixed;bottom:18px;left:18px;right:18px}.cookie-banner>div:first-child{gap:5px;display:grid}.cookie-banner strong{color:var(--ink)}.cookie-banner p,.cookie-intro,.cookie-category span,.cookie-none{color:var(--muted);font-size:.8rem;line-height:1.5}.cookie-actions,.cookie-dialog-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cookie-action,.cookie-manage,.cookie-close{border:1px solid var(--line);min-height:40px;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border-radius:7px;justify-content:center;align-items:center;gap:7px;font-size:.78rem;font-weight:800;display:inline-flex}.cookie-action{background:var(--ink);color:var(--surface,var(--paper,var(--bg)));padding:0 13px}.cookie-manage{padding:0 12px}.cookie-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#070c09ad;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.cookie-dialog{border:1px solid var(--line);background:var(--surface,var(--paper,var(--bg)));width:min(620px,100%);max-height:calc(100vh - 36px);box-shadow:var(--shadow,0 24px 70px #0000004d);border-radius:8px;padding:20px;overflow-y:auto}.cookie-dialog header,.cookie-dialog header>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.cookie-dialog header>div{justify-content:flex-start}.cookie-dialog header h2{color:var(--ink);margin:2px 0 0;font-size:1.2rem}.cookie-close{width:40px;padding:0}.cookie-intro{margin:18px 0}.cookie-category-list{border-top:1px solid var(--line);display:grid}.cookie-category{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:72px;display:flex}.cookie-category>div{gap:4px;display:grid}.cookie-category strong{color:var(--ink);font-size:.86rem}.cookie-category input{width:20px;height:20px}.cookie-required{color:var(--muted);flex:none;font-size:.72rem;font-weight:800}.cookie-dialog-actions{justify-content:flex-end;margin-top:20px}@media (max-width:700px){.legal-footer-summary,.cookie-banner{flex-direction:column;align-items:flex-start}.legal-page{padding-top:28px}.legal-page-header h1{font-size:2rem}.cookie-actions,.cookie-dialog-actions{width:100%}.cookie-actions>button,.cookie-dialog-actions>button{flex:140px}}@media print{.cookie-banner,.cookie-modal-backdrop,.legal-link-button,.legal-inline-button{display:none!important}}
