:root{--ink: #071f33;--ink-soft: #173047;--blue: #3f7192;--blue-soft: #e7f0f5;--sage: #72866f;--sage-soft: #edf3ed;--champagne: #d2b083;--champagne-soft: #f5ead8;--paper: #ffffff;--paper-warm: #f7f4ee;--line: #dedbd2;--muted: #6d7680;--danger: #9c3f3f;--success: #2f7a50;--shadow: 0 20px 50px rgba(7, 31, 51, .1);--shadow-strong: 0 26px 70px rgba(7, 31, 51, .18);--radius: 8px;--sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--serif: Georgia, "Times New Roman", serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.site-shell,.tenant-shell{min-height:100vh;background:linear-gradient(180deg,#f7f4ee80,#fff0 520px),var(--paper)}.site-header,.tenant-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1500px,calc(100% - 40px));margin:0 auto;padding:18px 0;background:#ffffffe0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.tenant-header{position:relative;background:transparent;padding:24px 0}.brand{display:inline-flex;align-items:center;gap:11px;min-width:0}.brand-mark{position:relative;width:31px;height:31px;border:1px solid var(--ink);border-radius:50%;flex:0 0 auto}.brand-mark span,.brand-mark:before,.brand-mark:after{position:absolute;content:"";width:12px;height:19px;border:1.5px solid currentColor;border-radius:12px 0;transform:rotate(-35deg);left:8px;top:5px}.brand-mark:before{left:4px;top:10px;transform:rotate(-60deg) scale(.72)}.brand-mark:after{left:15px;top:10px;transform:rotate(-8deg) scale(.72)}.brand-text{display:grid;line-height:1.1}.brand-text strong{font-family:var(--serif);font-size:1.16rem;font-weight:500}.brand-text small{color:var(--muted);font-size:.71rem;text-transform:uppercase}.brand--compact .brand-text small,.brand--compact .brand-text strong{font-size:.82rem}.desktop-nav,.tenant-header nav{display:flex;align-items:center;gap:24px;font-size:.9rem;color:var(--ink-soft)}.desktop-nav a.active{color:var(--blue)}.header-actions,.hero-actions,.section-actions,.dashboard-actions,.panel-actions,.card-actions,.reveal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.button,.icon-button,.sidebar-toggle{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;min-height:44px;padding:0 18px;font-weight:700;font-size:.9rem;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}.button:hover,.icon-button:hover{transform:translateY(-1px)}.button--dark{background:var(--ink);color:#fff}.button--light{background:#fff;color:var(--ink);border:1px solid var(--line)}.button--gold{background:var(--champagne);color:var(--ink)}.button--ghost{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.2)}.button--sm{min-height:36px;padding:0 12px;font-size:.78rem}.button:disabled{cursor:not-allowed;opacity:.5;transform:none}.text-link{display:inline-flex;align-items:center;gap:7px;color:var(--ink-soft);font-weight:700;font-size:.9rem}.icon-button{width:42px;padding:0;border:1px solid var(--line);background:#fff}.mobile-menu{display:none}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:500;line-height:1.04}h1{font-size:clamp(3rem,6vw,6.6rem)}h2{font-size:clamp(2rem,4vw,4rem)}h3{line-height:1.18}.hero{width:min(1500px,calc(100% - 40px));margin:22px auto 0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);gap:44px;align-items:stretch;min-height:720px}.hero-copy{padding:92px 0 70px;display:flex;flex-direction:column;justify-content:center}.hero-copy h1{font-size:clamp(3.2rem,4.55vw,5rem);max-width:720px}.hero-copy p{max-width:680px;margin-top:26px;color:var(--ink-soft);font-size:1.2rem}.hero-media{position:relative;min-height:650px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-strong)}.hero-media img,.venue-hero>img,.wedding-hero img{width:100%;height:100%;object-fit:cover}.portal-card{position:absolute;left:28px;bottom:28px;width:min(430px,calc(100% - 56px));padding:22px;background:#ffffffeb;border:1px solid rgba(255,255,255,.75);border-radius:var(--radius);box-shadow:var(--shadow)}.portal-card span,.section-label,.dashboard-title span,.panel-heading span,.info-hero svg+h1+p+span{color:var(--blue);font-size:.76rem;font-weight:800;text-transform:uppercase}.portal-card strong{display:block;margin:6px 0 8px;font-size:1.25rem}.portal-card small{color:var(--muted)}.hero-proof{display:flex;flex-wrap:wrap;gap:11px;margin-top:34px}.hero-proof span,.status-pill,.product-chips span,.guest-states span{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:var(--blue-soft);color:var(--ink);font-size:.78rem;font-weight:800}.status-pill--green{background:var(--sage-soft);color:#264d35}.status-pill--gold{background:var(--champagne-soft)}.trust-strip{width:min(1500px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line);border-top:1px solid var(--line)}.trust-strip span{padding:28px 20px;text-align:center;font-family:var(--serif);color:var(--ink-soft);border-right:1px solid var(--line)}.trust-strip span:last-child{border-right:0}.section,.standard-page,.article-page{width:min(1380px,calc(100% - 40px));margin:0 auto;padding:110px 0}.section--split,.section--showcase,.section--dashboard-preview,.signup-layout,.tenant-signup-card,.prints-panel,.branding-panel,.invite-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:58px;align-items:center}.section-intro{display:grid;gap:18px;max-width:760px}.section-intro--center{text-align:center;margin:0 auto 44px}.section-intro p,.info-hero p,.article-body p,.lead{color:var(--muted);font-size:1.08rem}.flow-list{display:grid;gap:16px}.flow-list article,.feature-card,.package-card,.blog-card,.dashboard-panel,.wedding-admin-card,.gallery-admin-panel,.subdomain-card,.invite-link-card,.success-card,.tenant-signup-card,.phone-screen,.guest-card,.image-card,.gallery-preview-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.flow-list article{display:flex;gap:14px;padding:22px}.flow-list svg,.feature-card svg,.info-list svg{color:var(--blue);flex:0 0 auto}.flow-list p,.feature-card p,.package-card p,.blog-card p,.wedding-admin-card p,.gallery-admin-panel p,.tenant-signup-card p,.success-card p,.empty-state p{color:var(--muted)}.browser-frame{background:#f1f4f5;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.browser-bar{display:flex;align-items:center;gap:8px;padding:14px;background:#fff;border-bottom:1px solid var(--line)}.browser-bar span{width:10px;height:10px;border-radius:50%;background:#d6d9dc}.browser-bar strong{margin-left:10px;color:var(--muted);font-size:.8rem}.portal-preview{display:grid;grid-template-columns:1fr 360px;gap:34px;align-items:center;min-height:360px;padding:46px;background:linear-gradient(90deg,#fffffff2,#ffffffb3),url(/media/coastal-venue-hero.png) center/cover}.portal-preview h2{max-width:760px}.portal-preview p{margin-top:18px;max-width:650px;color:var(--ink-soft)}.feature-grid,.pricing-grid,.blog-grid,.model-grid,.settings-grid,.couple-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-grid--four,.metrics-grid{grid-template-columns:repeat(4,1fr)}.feature-card,.package-card,.blog-card{padding:26px;display:grid;gap:14px;align-content:start}.feature-card h3,.package-card h3,.blog-card h3{font-size:1.15rem}.card-link{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-weight:800}.gallery-preview-card{padding:10px;background:#07131d}.gallery-preview-card>img{height:420px;width:100%;object-fit:cover;border-radius:6px}.gallery-thumbs{display:grid;grid-template-columns:1fr 1fr 100px;gap:8px;margin-top:8px}.gallery-thumbs img,.gallery-thumbs span{height:112px;border-radius:6px;object-fit:cover}.gallery-thumbs span{display:grid;place-items:center;background:#ffffff1f;color:#fff;font-size:1.4rem}.dashboard-preview-card{padding:28px;background:#fff;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-strong)}.dashboard-preview-header,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.metrics-grid{display:grid;gap:14px}.metrics-grid--wide{grid-column:1 / -1}.metrics-grid--three{grid-template-columns:repeat(3,1fr)}.metric{min-height:104px;display:grid;align-content:center;gap:5px;padding:18px;border-radius:var(--radius);background:#f8fafb;border:1px solid #e8ecef}.metric span{color:var(--muted);font-size:.78rem;font-weight:800}.metric strong{font-size:1.7rem;line-height:1}.metric small{color:var(--success);font-weight:800}.chart-panel{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:var(--radius)}.model-grid{margin-top:24px}.model-grid article{padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfc}.model-grid p{margin-top:8px;color:var(--muted);font-size:.9rem}.package-card strong{font-family:var(--serif);font-size:2rem;font-weight:500}.package-card>span{color:var(--blue);font-weight:800}.package-card ul,.info-list{display:grid;gap:10px;padding:0;margin:0;list-style:none}.package-card li,.info-list li{display:flex;gap:9px;align-items:flex-start;color:var(--ink-soft)}.package-card--featured{border-color:var(--blue);box-shadow:0 20px 55px #3f719229}.blog-card span,.article-meta{color:var(--blue);font-size:.78rem;font-weight:800;text-transform:uppercase}.final-cta{width:min(1380px,calc(100% - 40px));margin:0 auto 100px;padding:74px;text-align:center;border-radius:var(--radius);background:var(--ink);color:#fff}.final-cta p{max-width:760px;margin:18px auto 28px;color:#ffffffb8}.footer{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;width:min(1500px,calc(100% - 40px));margin:0 auto;padding:54px 0;border-top:1px solid var(--line)}.footer-brand p{max-width:460px;margin-top:14px;color:var(--muted)}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.footer-grid div{display:grid;gap:10px}.footer-grid h3{margin-bottom:6px}.footer-grid a{color:var(--muted)}.signup-page,.signup-success,.tenant-form-page,.guest-mobile-page{width:min(1380px,calc(100% - 40px));margin:0 auto;padding:54px 0 110px}.signup-layout{align-items:stretch}.signup-media,.image-card{overflow:hidden;border-radius:var(--radius)}.signup-media img,.image-card img{width:100%;height:100%;min-height:640px;object-fit:cover}.signup-form,.dashboard-form{display:grid;gap:17px}.signup-form{align-content:center;padding:42px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.signup-form h1{font-size:clamp(2.5rem,4vw,4.6rem)}.signup-form p{color:var(--muted)}label{display:grid;gap:7px;color:var(--ink-soft);font-size:.86rem;font-weight:800}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);min-height:46px;padding:0 12px;font-size:.94rem}textarea{min-height:118px;padding:12px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.slug-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid var(--line);border-radius:6px;overflow:hidden}.slug-field input{border:0;border-radius:0}.slug-field span{padding:0 12px;color:var(--muted);font-size:.86rem}.availability{min-height:38px;display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:6px;font-size:.84rem;font-weight:800}.availability.is-available{background:var(--sage-soft);color:var(--success)}.availability.is-blocked{background:#fff3f1;color:var(--danger)}.post-registration-note{display:grid;gap:7px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:#f8fbfc}.post-registration-note span{color:var(--blue);font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.post-registration-note p{margin:0;color:var(--muted)}.venue-url-preview,.provisioning-summary,.setup-status-card,.read-only-field{display:grid;gap:4px;padding:18px;border-radius:var(--radius);border:1px solid var(--line);background:var(--paper-warm)}.venue-url-preview span,.provisioning-summary span,.setup-status-card span,.read-only-field span{color:var(--muted);font-size:.8rem}.venue-url-preview small,.provisioning-summary small,.setup-status-card small,.read-only-field small,.subdomain-card small{color:var(--muted)}.password-rules{display:grid;gap:7px;color:var(--muted);font-size:.84rem;font-weight:800}.password-rules span{display:flex;align-items:center;gap:8px}.password-rules span:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--line)}.password-rules span.is-met{color:var(--success)}.password-rules span.is-met:before{background:var(--success)}.success-card{max-width:780px;margin:70px auto;padding:42px;display:grid;gap:18px;justify-items:start}.success-card--compact{margin:0}.success-card h1,.success-card h2{font-size:clamp(2rem,4vw,4.5rem)}.next-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:12px 0}.next-steps span{display:flex;align-items:center;gap:8px}.email-preview-card{display:grid;gap:12px;width:100%;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.email-preview-card>span{color:var(--blue);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.email-preview-card h2{font-size:1.2rem}.email-preview-body{max-height:260px;overflow:auto;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.info-hero{display:grid;justify-items:center;gap:18px;text-align:center;max-width:900px;margin:0 auto}.info-hero h1,.article-page h1{font-size:clamp(3rem,5vw,6rem)}.article-page article{max-width:920px;margin:0 auto;display:grid;gap:24px}.article-body{display:grid;gap:18px}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.tag-row span{padding:8px 10px;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);font-size:.82rem;font-weight:800}.article-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:30px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.article-cta span{color:var(--blue);font-size:.78rem;font-weight:900;text-transform:uppercase}.article-cta p{color:var(--muted);margin-top:10px}.related-articles{display:grid;gap:22px;padding-top:18px}.preview-page{width:min(1500px,calc(100% - 40px));margin:0 auto;padding:82px 0 110px}.preview-hero{display:grid;justify-items:center;gap:18px;max-width:1040px;margin:0 auto 80px;text-align:center}.preview-hero h1{font-size:clamp(3rem,5vw,6rem)}.preview-hero p{max-width:860px;color:var(--muted);font-size:1.1rem}.preview-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}.preview-stats span,.preview-section-heading>span{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink-soft);font-size:.8rem;font-weight:800}.preview-section{padding:76px 0;border-top:1px solid var(--line)}.preview-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.preview-section-heading h2{font-size:clamp(2.2rem,4vw,4.4rem)}.preview-section-heading p{max-width:760px;margin-top:12px;color:var(--muted)}.preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.preview-card{display:grid;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.preview-image-link{display:block;background:#eef3f5;border-bottom:1px solid var(--line);aspect-ratio:16 / 10;overflow:hidden}.preview-image-link img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .22s ease}.preview-card:hover .preview-image-link img{transform:scale(1.018)}.preview-card-body{display:grid;gap:10px;padding:20px}.preview-card-body>span{color:var(--blue);font-size:.74rem;font-weight:900;text-transform:uppercase}.preview-card-body h3{font-size:1.12rem}.preview-card-body p{color:var(--muted);font-size:.92rem}.tenant-shell--dark{background:#07131d;color:#fff}.venue-hero{position:relative;width:min(1500px,calc(100% - 40px));min-height:720px;margin:0 auto 70px;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow-strong)}.venue-hero:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(90deg,#071f33b8,#071f332e 58%,#071f3300)}.venue-hero-copy{position:absolute;z-index:1;left:60px;top:50%;transform:translateY(-50%);max-width:680px;color:#fff;display:grid;gap:22px}.venue-hero-copy .brand{color:#fff}.venue-hero-copy p{color:#ffffffd1}.package-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.package-selector article,.package-row article{padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.package-selector article.selected,.package-row article.active{border-color:var(--blue);background:var(--blue-soft)}.tenant-signup-card{padding:48px;align-items:start}.tenant-signup-card--login{max-width:1000px;margin:0 auto}.tenant-assurance{display:grid;gap:10px;margin-top:22px}.tenant-assurance span,.privacy-line{display:flex;align-items:center;gap:9px;color:var(--muted)}.checkbox-row{display:flex;align-items:flex-start;gap:10px}.checkbox-row input{width:18px;min-height:18px;margin-top:2px}.form-note{color:var(--muted);font-size:.92rem}.handoff-card,.support-access-card,.couple-setup-panel{display:grid;gap:18px;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-warm)}.handoff-card>div:first-child span,.support-access-card span{color:var(--blue);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.handoff-card p,.support-access-card p,.couple-setup-panel p{color:var(--muted)}.handoff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.handoff-grid article{display:grid;gap:6px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.handoff-grid span{color:var(--muted);font-size:.78rem;font-weight:800}.handoff-grid strong{overflow-wrap:anywhere}.wedding-page{min-height:100vh;background:var(--paper-warm);padding-bottom:80px}.wedding-hero{position:relative;height:660px;overflow:hidden}.wedding-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#071f331f,#071f338a)}.wedding-hero-copy{position:absolute;z-index:1;left:50%;bottom:88px;transform:translate(-50%);width:min(900px,calc(100% - 40px));text-align:center;color:#fff;display:grid;gap:12px;justify-items:center}.wedding-hero-copy .brand{color:#fff}.wedding-actions-card{width:min(1080px,calc(100% - 40px));margin:-76px auto 0;position:relative;z-index:2;padding:32px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-strong);display:grid;gap:24px}.wedding-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.wedding-actions-grid a{display:grid;justify-items:center;text-align:center;gap:10px;padding:28px;border-right:1px solid var(--line)}.wedding-actions-grid a:last-child{border-right:0}.wedding-actions-grid span{color:var(--muted)}.wedding-status-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.wedding-status-strip span{display:flex;align-items:center;gap:8px;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-soft);font-size:.88rem;font-weight:700}.guest-mobile-page{min-height:100vh;display:grid;align-items:center}.phone-flow{display:grid;justify-content:center;gap:30px}.phone-flow--wide{grid-template-columns:minmax(320px,420px) minmax(300px,520px);align-items:center}.guest-card,.phone-screen{width:min(420px,100%);padding:18px}.guest-card img{height:300px;width:100%;object-fit:cover;border-radius:6px}.guest-card h1,.phone-screen h1{font-size:2.4rem;margin-top:18px}.guest-card{display:grid;gap:14px;text-align:center}.guest-card label{text-align:left}.device-link-copy{color:var(--muted);font-size:.95rem}.phone-screen{min-height:760px;border:10px solid #111820;border-radius:34px;display:grid;align-content:start;overflow:hidden}.phone-screen header{text-align:center;padding:22px 10px;border-bottom:1px solid var(--line)}.upload-step{padding:24px;display:grid;gap:16px}.upload-step h2{font-size:2rem}.upload-step p,.upload-step small{color:var(--muted)}.camera-session-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);font-size:.86rem;font-weight:800}.camera-session-bar span{display:inline-flex;align-items:center;gap:7px}.camera-stage{position:relative;min-height:380px;border-radius:22px;overflow:hidden;background:#07131d;box-shadow:inset 0 0 0 1px #ffffff1a}.camera-stage video,.camera-stage img{width:100%;height:100%;min-height:380px;object-fit:cover;display:block}.camera-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;align-content:center;gap:10px;padding:28px;text-align:center;color:#fff;background:linear-gradient(180deg,#07131d2e,#07131ddb),url(/media/amelia-james-coastal.png) center / cover}.camera-fallback span{color:#ffffffc7;max-width:280px}.camera-controls{display:grid;grid-template-columns:1fr;gap:10px}.camera-canvas{display:none}.test-upload-notice{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--blue-soft);color:var(--ink-soft);font-size:.86rem;font-weight:700}.test-upload-notice svg{flex:0 0 auto;color:var(--blue);margin-top:2px}.camera-actions{display:grid;gap:10px}.capture-option{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.capture-option:hover{border-color:var(--blue);box-shadow:0 12px 30px #08223814;transform:translateY(-1px)}.capture-option--primary{background:var(--ink);color:#fff;border-color:var(--ink)}.capture-option svg{color:var(--blue)}.capture-option--primary svg,.capture-option--primary small{color:#ffffffc2}.capture-option span{display:grid;gap:3px}.capture-option small{color:var(--muted)}.capture-option input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.upload-grid button{position:relative;border:0;padding:0;aspect-ratio:1;border-radius:6px;overflow:hidden;cursor:pointer}.upload-grid img{width:100%;height:100%;object-fit:cover}.upload-grid svg{position:absolute;right:6px;top:6px;color:#fff;fill:var(--success)}.upload-step--done{min-height:540px;place-items:center;text-align:center}.guest-states{display:flex;flex-wrap:wrap;gap:10px;align-content:center}.reveal-page{background:#07131d;color:#fff;min-height:100vh}.reveal-stage{display:grid;grid-template-columns:.35fr .65fr;gap:24px;width:min(1500px,calc(100% - 40px));margin:0 auto;padding:54px 0;min-height:760px}.reveal-copy{display:grid;gap:18px;align-content:center}.reveal-copy .brand{color:#fff}.countdown{display:grid;gap:7px;margin:12px 0}.countdown span{color:#ffffffa8}.countdown strong{font-size:2.4rem;color:var(--champagne)}.reveal-gallery{display:grid;grid-template-columns:1.35fr .9fr;grid-auto-rows:220px;gap:10px;align-content:center;opacity:.72;filter:saturate(.7);transition:opacity .5s ease,filter .5s ease,transform .5s ease}.reveal-gallery.is-revealed{opacity:1;filter:saturate(1);transform:translateY(-4px)}.reveal-gallery article{position:relative;overflow:hidden;border-radius:var(--radius)}.reveal-gallery article:first-child{grid-row:span 2}.reveal-gallery img{width:100%;height:100%;object-fit:cover}.reveal-gallery div{position:absolute;left:0;right:0;bottom:0;padding:14px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.72))}.reveal-gallery small{display:block;color:#ffffffbd}.section--dark{color:#fff}.gallery-tools{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px}.gallery-tools .metric{background:#ffffff14;border-color:#ffffff24;color:#fff}.gallery-operations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:22px}.gallery-operations article{padding:28px;border-radius:var(--radius);background:#ffffff0f;border:1px solid rgba(255,255,255,.14)}.gallery-operations .info-list{margin-top:18px}.gallery-operations .info-list li{color:#ffffffc7}.gallery-panel-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px}.gallery-panel-grid article{padding:28px;border-radius:var(--radius);background:#ffffff0f;border:1px solid rgba(255,255,255,.14)}blockquote{margin:18px 0 0;padding:18px;border-left:3px solid var(--champagne);background:#ffffff0f}blockquote cite{display:block;color:var(--champagne);margin-top:8px}.gallery-panel-grid img{height:250px;width:100%;object-fit:cover;border-radius:var(--radius);margin:18px 0}.product-chips{display:flex;flex-wrap:wrap;gap:8px}.couple-dashboard{width:min(1380px,calc(100% - 40px));margin:0 auto;padding:40px 0 100px}.couple-setup-panel{grid-template-columns:minmax(0,1fr) 420px;align-items:center;margin-bottom:18px;background:#fff;box-shadow:var(--shadow)}.couple-setup-panel h2{font-size:clamp(2rem,3vw,3.6rem);margin:10px 0}.couple-shop-panel{display:grid;gap:18px;margin-bottom:18px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.couple-shop-panel .panel-heading{margin-bottom:0}.couple-shop-panel .panel-heading h2{margin:10px 0;font-size:clamp(2rem,3vw,3.4rem)}.couple-shop-panel .panel-heading p{max-width:880px;color:var(--muted)}.provider-badge{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line);color:var(--ink-soft);font-size:.8rem;font-weight:800}.template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.template-card{display:grid;gap:10px;min-height:250px;padding:18px;text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:#f8fafb;color:var(--ink);cursor:pointer}.template-card:hover,.template-card.is-selected{border-color:var(--blue);background:var(--blue-soft)}.template-card span,.template-product-preview span,.order-draft-card>span{color:var(--blue);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.template-card h3,.template-product-preview h3,.order-draft-card h3{font-size:1.1rem;line-height:1.2}.template-card p,.template-card small,.template-product-preview p,.order-draft-card p{color:var(--muted)}.template-card strong{align-self:end;font-family:var(--serif);font-size:1.65rem;font-weight:500}.template-preview{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:16px}.template-product-preview,.order-draft-card{display:grid;gap:16px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-warm)}.template-product-preview{grid-template-columns:220px minmax(0,1fr);align-items:center;align-self:start}.template-product-preview img{width:100%;height:220px;object-fit:cover;border-radius:6px}.qr-instruction-copy{display:grid;gap:8px}.qr-instruction-copy span{padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink-soft);font-size:.88rem;font-weight:700}.checkout-form{display:grid;gap:12px}.checkout-form .form-grid{gap:10px}.checkout-form label{display:grid;gap:6px;color:var(--ink-soft);font-size:.78rem;font-weight:900}.checkout-form input{min-height:42px;font-size:.9rem}.checkout-form p{margin:0;color:var(--muted);font-size:.86rem}.handoff-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-progress-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.setup-progress-list article{display:flex;gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f8fbfc}.setup-progress-list svg{flex:0 0 auto;color:var(--success)}.setup-progress-list span{display:block;margin-top:4px;color:var(--muted);font-size:.88rem}.couple-grid article{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.couple-grid h2{font-size:1.55rem}.couple-grid p{margin-top:10px;color:var(--muted)}.dashboard-shell{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr);background:#f6f8f9}.dashboard-sidebar{position:sticky;top:0;height:100vh;display:grid;grid-template-rows:auto auto 1fr;gap:18px;padding:24px 18px;background:var(--ink);color:#fff}.dashboard-sidebar .brand{color:#fff}.dashboard-sidebar nav{display:grid;gap:4px;align-content:start;overflow:auto}.dashboard-sidebar nav button,.admin-shell aside button{border:0;background:transparent;color:#ffffffb8;min-height:40px;display:flex;align-items:center;gap:10px;padding:0 12px;border-radius:6px;cursor:pointer;text-align:left}.dashboard-sidebar nav button.active,.dashboard-sidebar nav button:hover,.admin-shell aside button.active,.admin-shell aside button:hover{background:#ffffff1a;color:#fff}.sidebar-toggle{min-height:34px;background:#ffffff14;color:#fff;padding:0 12px}.dashboard-main,.admin-shell main{padding:32px}.dashboard-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.dashboard-title h1{font-family:var(--serif);font-size:clamp(2rem,2.4vw,3rem)}.dashboard-title p{color:var(--muted);margin-top:6px}.dashboard-panel h2,.dashboard-preview-card h3,.admin-shell h1{font-family:var(--sans);font-size:1.15rem;font-weight:800;line-height:1.2}.dashboard-panel .section-intro h2{font-family:var(--serif);font-size:clamp(2rem,3vw,3rem);font-weight:500}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dashboard-panel{padding:24px}.dashboard-panel--full{grid-column:1 / -1}.data-table{display:grid;width:100%;overflow-x:auto}.data-row{display:grid;grid-template-columns:repeat(var(--cols),minmax(86px,1fr));border-bottom:1px solid var(--line);min-width:0}.data-row span{padding:13px 10px;color:var(--ink-soft);font-size:.88rem}.data-row--head span{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.commercial-row,.package-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.commercial-row article{padding:18px;background:#f8fafb;border-radius:var(--radius);border:1px solid #e8ecef}.commercial-row span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:5px}.wedding-admin-card,.gallery-admin-panel{display:grid;grid-template-columns:180px 1fr;overflow:hidden}.wedding-admin-card img,.gallery-admin-panel img{height:100%;min-height:210px;object-fit:cover}.wedding-admin-card div,.gallery-admin-panel div{padding:22px;display:grid;align-content:center;gap:12px}.dashboard-form{max-width:980px}.checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.invite-link-card,.subdomain-card{padding:26px;display:grid;gap:14px;align-content:center}.qr-panel{display:grid;gap:18px}.qr-preview{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center}.qr-preview--compact{grid-template-columns:120px 1fr}.qr-preview img{width:100%;border:1px solid var(--line);border-radius:6px}.qr-preview div{display:grid;gap:6px;min-width:0}.qr-preview span{color:var(--muted);word-break:break-word;font-size:.84rem}.prints-panel img{width:100%;min-height:360px;object-fit:cover;border-radius:var(--radius)}.branding-panel{align-items:start}.admin-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr;background:#f6f8f9}.admin-shell aside{background:#101820;color:#fff;padding:24px 18px;display:grid;gap:7px;align-content:start}.admin-shell aside strong{margin-bottom:18px}.admin-table{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.empty-state{padding:34px}@media(max-width:1120px){.desktop-nav,.header-actions .text-link{display:none}.mobile-menu{display:inline-flex}.hero,.section--split,.section--showcase,.section--dashboard-preview,.signup-layout,.tenant-signup-card,.prints-panel,.branding-panel,.invite-panel,.couple-setup-panel,.portal-preview,.reveal-stage,.gallery-operations,.gallery-panel-grid,.phone-flow--wide{grid-template-columns:1fr}.hero{min-height:auto}.hero-copy{padding:54px 0 0}.hero-media{min-height:520px}.feature-grid,.feature-grid--four,.pricing-grid,.blog-grid,.model-grid,.settings-grid,.couple-grid,.template-grid,.preview-grid,.metrics-grid,.wedding-status-strip,.gallery-tools,.commercial-row,.handoff-grid,.setup-progress-list,.package-row{grid-template-columns:repeat(2,1fr)}.dashboard-shell,.admin-shell{grid-template-columns:1fr}.dashboard-sidebar{position:relative;height:auto}.dashboard-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.template-preview,.template-product-preview{grid-template-columns:1fr}.preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.site-header,.tenant-header,.section,.standard-page,.article-page,.signup-page,.signup-success,.tenant-form-page,.guest-mobile-page,.couple-dashboard,.preview-page,.footer,.trust-strip,.final-cta,.venue-hero,.reveal-stage{width:min(100% - 24px,680px)}.site-header{gap:12px}.brand-text small,.header-actions .button{display:none}.hero{width:min(100% - 24px,680px);gap:24px}.hero-copy p{font-size:1rem}.hero-media{min-height:380px}.portal-card{position:relative;left:auto;bottom:auto;width:auto;margin:-90px 12px 12px}.trust-strip,.feature-grid,.feature-grid--four,.pricing-grid,.blog-grid,.model-grid,.settings-grid,.couple-grid,.template-grid,.preview-grid,.metrics-grid,.wedding-status-strip,.gallery-operations,.gallery-tools,.commercial-row,.package-row,.handoff-grid,.setup-progress-list,.package-selector,.form-grid,.checkbox-grid,.footer,.footer-grid,.next-steps,.wedding-actions-grid,.article-cta{grid-template-columns:1fr}.article-cta .button{justify-content:center}.preview-page{padding:58px 0 80px}.preview-hero{margin-bottom:54px}.preview-section{padding:54px 0}.preview-section-heading{align-items:flex-start;flex-direction:column}.section,.standard-page,.article-page{padding:70px 0}.final-cta{padding:42px 22px}.signup-form,.tenant-signup-card,.dashboard-main,.admin-shell main{padding:22px}.signup-media img,.image-card img{min-height:320px}.venue-hero{min-height:620px}.venue-hero-copy{left:24px;right:24px;width:auto}.wedding-hero{height:560px}.wedding-actions-card{width:min(100% - 24px,680px);padding:22px}.wedding-actions-grid a{border-right:0;border-bottom:1px solid var(--line)}.wedding-actions-grid a:last-child{border-bottom:0}.phone-screen{min-height:680px;border-width:7px}.guest-states{justify-content:center}.reveal-gallery{grid-template-columns:1fr;grid-auto-rows:220px}.reveal-gallery article:first-child{grid-row:auto}.dashboard-title,.dashboard-preview-header,.panel-heading{align-items:flex-start;flex-direction:column}.dashboard-sidebar nav{grid-template-columns:1fr}.wedding-admin-card,.gallery-admin-panel,.qr-preview{grid-template-columns:1fr}.data-row{grid-auto-columns:minmax(150px,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
