:root{--ink:#252a26;--muted:#73776f;--paper:#f7f5f0;--white:#fffefa;--sage:#dce5db;--sage-deep:#697968;--terracotta:#ad634d;--line:#e3e0d8;--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--shadow:0 24px 70px rgba(51,55,48,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.site-header{height:78px;padding:0 clamp(22px,6.5vw,100px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(35,40,36,.07)}.brand{display:flex;gap:9px;align-items:center;font-weight:700;font-size:20px;letter-spacing:-1px}.brand-mark{height:30px;width:30px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#f6f2e9;font-family:var(--serif);font-style:italic;font-size:19px}.brand-light{font-weight:400}.brand small{font-size:10px;color:var(--terracotta);letter-spacing:0;margin-left:1px}.main-nav{display:flex;gap:38px;margin-left:95px;color:#555a54;font-size:13px}.main-nav a:hover,.text-link:hover{color:var(--terracotta)}.header-login{border:0;background:transparent;color:var(--ink);font-size:13px;font-weight:600;padding:10px 0}.header-login span{color:var(--terracotta);padding-left:5px}.hero{min-height:560px;padding:74px clamp(22px,10vw,154px) 78px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:50px;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:1.7px;color:var(--terracotta);font-size:10px;font-weight:700;display:flex;align-items:center;gap:10px;margin:0 0 22px}.eyebrow-line{height:1px;width:27px;background:var(--terracotta)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-1.5px;line-height:1.13}h1{font-size:clamp(43px,5vw,68px);margin:0 0 22px}h1 em,h2 em{font-weight:500;color:var(--sage-deep)}.hero-text{font-size:15px;color:#696e67;max-width:465px;line-height:1.85;margin-bottom:27px}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid #bdb8ad;padding-bottom:9px;display:inline-flex;gap:20px;align-items:center}.text-link span{font-size:17px;color:var(--terracotta)}.hero-art{position:relative;min-height:390px;display:grid;place-items:center}.invite-card{width:min(310px,75vw);height:385px;background:#eeece3;position:relative;z-index:2;box-shadow:var(--shadow);padding:23px 23px 20px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(2deg);border:8px solid rgba(255,255,255,.58);outline:1px solid rgba(128,126,110,.22);outline-offset:-15px}.invite-card:before{content:"";position:absolute;inset:15px;background:radial-gradient(ellipse at 50% 42%,rgba(255,255,255,.55),transparent 63%);pointer-events:none}.invite-card-top,.invite-card-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;color:#737565;font-size:8px;letter-spacing:1.3px}.tiny-flower{font-size:18px;color:var(--terracotta)}.invite-card-center{position:relative;z-index:1;text-align:center;display:grid;justify-items:center;gap:12px;color:#535c4e}.invite-script{font-family:var(--serif);font-style:italic;font-size:35px;line-height:1.2}.invite-rule{width:34px;height:1px;background:#a96e56}.invite-date{font-size:11px;letter-spacing:3px}.invite-place{font-size:10px;letter-spacing:1px}.invite-card-bottom{letter-spacing:.1px;font-size:7px}.invite-card-stamp{border:1px solid #aaa893;border-radius:50%;height:25px;width:25px;display:grid;place-items:center;font-family:var(--serif);font-size:10px;letter-spacing:0}.art-orbit{position:absolute;border:1px solid #dfddd3;border-radius:50%;width:405px;height:405px}.orbit-two{width:480px;height:480px;border-color:#ebe8df}.floating-note{position:absolute;z-index:3;right:0;bottom:42px;background:rgba(255,254,250,.94);box-shadow:0 10px 35px rgba(40,45,40,.08);padding:14px 19px;display:flex;gap:10px;align-items:center;font-size:10px;color:#73776f;line-height:1.6}.floating-note strong{color:var(--ink);font-weight:600}.note-dot{height:8px;width:8px;border-radius:50%;background:#91a08b}.art-spark{position:absolute;color:var(--terracotta)}.spark-one{top:42px;right:12%;font-size:19px}.spark-two{bottom:60px;left:8%;font-size:17px;color:#9ca991}.event-section{padding:65px clamp(22px,10vw,154px) 80px;background:var(--white)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.section-heading .eyebrow,.how-intro .eyebrow{margin-bottom:12px}.section-heading h2,.how-intro h2{font-size:36px;margin-bottom:0}.section-side-note{font-size:12px;color:var(--muted);line-height:1.7;margin:0 2px 4px 0}.event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.event-option{min-height:118px;padding:17px 18px;border:1px solid var(--line);background:#fffefa;text-align:left;transition:.2s ease;position:relative;color:var(--ink)}.event-option:hover{border-color:#aab9a8;transform:translateY(-2px);box-shadow:0 9px 24px rgba(53,61,50,.06)}.event-option[aria-pressed="true"]{border-color:var(--sage-deep);background:#f5f7f2;box-shadow:inset 0 0 0 1px var(--sage-deep)}.event-symbol{display:block;font-family:var(--serif);font-size:19px;color:var(--terracotta);line-height:1;margin-bottom:14px}.event-option strong{display:block;font-size:13px;font-weight:600}.event-option small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.selection-bar{margin-top:17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;display:flex;justify-content:space-between;align-items:center;gap:14px;color:#73776f;font-size:12px}.selection-bar>div:first-child{display:flex;align-items:center;gap:9px}.selection-check{color:var(--sage-deep);font-size:15px}.selection-actions{display:flex;gap:9px}.button{border:1px solid transparent;padding:11px 16px;font-size:11px;font-weight:700;transition:.18s}.button:disabled{opacity:.4;cursor:not-allowed}.button-quiet{background:transparent;color:#53594f;border-color:var(--line)}.button-quiet:not(:disabled):hover{border-color:var(--sage-deep);color:var(--sage-deep)}.button-dark{background:var(--ink);color:white}.button-dark:not(:disabled):hover{background:#434c43}.button-dark span{color:#c8d3c4;margin-left:12px}.how-section{padding:80px clamp(22px,10vw,154px) 92px}.how-intro{text-align:center;margin-bottom:42px}.how-intro .eyebrow{justify-content:center}.how-intro h2{font-size:34px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.step-card{border-top:1px solid #d8d6cd;padding:20px 15px 0;position:relative}.step-number{position:absolute;right:12px;top:18px;color:#aaa99f;font-size:10px;letter-spacing:1px}.step-icon{font-family:var(--serif);font-size:24px;color:var(--terracotta);margin-bottom:17px}.step-card h3{font-size:14px;font-weight:600;margin-bottom:7px}.step-card p{font-size:12px;color:var(--muted);max-width:270px;margin:0;line-height:1.7}.site-footer{border-top:1px solid #e4e1d8;padding:22px clamp(22px,6.5vw,100px);display:flex;align-items:center;justify-content:space-between;color:#8a8b83;font-size:10px}.footer-brand{font-size:16px;color:var(--ink)}.footer-brand .brand-mark{height:24px;width:24px;font-size:15px}.modal-backdrop{position:fixed;inset:0;background:rgba(32,36,32,.48);z-index:20;display:grid;place-items:center;padding:20px;backdrop-filter:blur(5px)}.modal-backdrop[hidden]{display:none}.modal{background:var(--white);width:min(720px,100%);max-height:min(88vh,900px);overflow:auto;padding:38px;position:relative;box-shadow:0 30px 100px rgba(0,0,0,.2)}.modal-close{position:absolute;right:17px;top:12px;border:0;background:none;font-size:26px;color:#797b73}.modal-kicker{color:var(--terracotta);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;margin-bottom:9px}.modal h2{font-family:var(--serif);font-size:30px;line-height:1.2;margin:0 0 10px}.modal-lead{color:var(--muted);font-size:13px;line-height:1.7;margin-bottom:23px}.login-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.login-choice{padding:13px;border:1px solid var(--line);background:transparent;text-align:left;font-weight:600;font-size:12px}.login-choice:hover{border-color:var(--sage-deep)}.demo-note{background:#f1f3ee;padding:14px 16px;color:#62695e;font-size:11px;line-height:1.65}.demo-note button{border:0;background:none;color:#324635;text-decoration:underline;font-weight:700;padding:0}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.template-card{border:1px solid var(--line);padding:8px;background:white;text-align:left}.template-card.selected{border-color:var(--sage-deep);box-shadow:0 0 0 1px var(--sage-deep)}.template-art{height:118px;display:grid;place-items:center;margin-bottom:9px;color:#655e53;font-family:var(--serif);text-align:center;font-size:13px;line-height:1.4}.template-card:nth-child(1) .template-art{background:#edf0e8}.template-card:nth-child(2) .template-art{background:#efe4db}.template-card:nth-child(3) .template-art{background:#e9e7df}.template-name{font-size:11px;font-weight:600;display:block}.template-card small{font-size:9px;color:var(--muted)}.wizard-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.wizard-steps{display:flex;gap:7px}.wizard-dot{height:6px;width:28px;background:#e6e3dc}.wizard-dot.active{background:var(--sage-deep)}.wizard-back{border:0;background:none;color:var(--muted);font-size:11px}.wizard-panel{min-height:225px}.wizard-footer{border-top:1px solid var(--line);padding-top:16px;margin-top:15px;display:flex;justify-content:space-between;align-items:center}.wizard-footer p{font-size:10px;color:var(--muted);margin:0}.style-controls{display:grid;grid-template-columns:1fr 1fr;gap:15px}.control-label{display:block;font-size:10px;font-weight:700;color:#5a6057;margin-bottom:8px}.color-row{display:flex;gap:10px}.color-dot{height:30px;width:30px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #d8d5cb}.color-dot.active{box-shadow:0 0 0 2px var(--ink)}.select-control,.text-control{width:100%;padding:11px 12px;border:1px solid var(--line);background:white;color:var(--ink);font:inherit;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.preview-wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.preview-invite{background:#edf0e8;min-height:220px;padding:26px 18px;text-align:center;display:grid;align-content:center;justify-items:center;color:#52604f}.preview-invite .preview-name{font-family:var(--serif);font-size:27px;font-style:italic}.preview-invite span{font-size:10px;letter-spacing:1px}.preview-summary{font-size:12px;color:#676d64;line-height:1.8}.preview-summary strong{color:var(--ink)}.mobile-preview .preview-invite{max-width:210px;margin:auto;min-height:290px;border:7px solid white;box-shadow:var(--shadow)}.examples-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.example-tile{min-height:145px;display:grid;place-items:center;text-align:center;padding:12px;font-family:var(--serif);font-size:16px;color:#5c6254}.example-tile:nth-child(1){background:#e8ede5}.example-tile:nth-child(2){background:#efe2d8}.example-tile:nth-child(3){background:#ebe7dc}.example-tile small{display:block;font-family:var(--sans);font-size:9px;margin-top:5px;color:#777a71}.muted-small{font-size:10px;color:var(--muted)}
@media(max-width:900px){.hero{padding-top:55px;gap:20px}.event-grid{grid-template-columns:repeat(3,1fr)}.floating-note{right:-10px}.main-nav{margin-left:35px;gap:20px}}
@media(max-width:640px){.site-header{height:66px}.main-nav{display:none}.hero{grid-template-columns:1fr;padding:56px 23px 45px;gap:10px}.hero-art{min-height:340px}.invite-card{height:320px;width:245px}.art-orbit{width:320px;height:320px}.orbit-two{width:370px;height:370px}.floating-note{right:0;bottom:17px}.hero-text{font-size:14px}.event-section{padding:53px 20px 58px}.section-heading{align-items:start;display:block}.section-side-note{margin-top:12px}.section-heading h2{font-size:32px}.event-grid{grid-template-columns:repeat(2,1fr);gap:9px}.event-option{min-height:112px;padding:14px}.selection-bar{align-items:stretch;flex-direction:column}.selection-actions{width:100%}.selection-actions .button{flex:1;padding:11px 7px}.how-section{padding:58px 23px}.how-intro h2{font-size:28px}.steps-grid{grid-template-columns:1fr;gap:22px}.step-card{padding-top:16px}.site-footer{padding:18px 20px;gap:10px;flex-wrap:wrap}.site-footer>span:nth-child(2){display:none}.modal{padding:30px 20px 22px}.modal h2{font-size:26px}.template-grid,.examples-list{grid-template-columns:1fr 1fr}.template-art{height:104px}.preview-wrap{grid-template-columns:1fr}.preview-summary{order:-1}.form-grid,.style-controls{grid-template-columns:1fr}.login-options{grid-template-columns:1fr}.wizard-steps{gap:4px}.wizard-dot{width:21px}}

/* Mobile-first application shell; original styles remain available to prototype/index.html. */
h1[tabindex="-1"]:focus{outline:none}
.editor-footer{position:sticky;bottom:0;z-index:5;background:#f5f7f3f2;backdrop-filter:blur(6px)}
:root{--ink:#203830;--sage-deep:#426c5b;--terracotta:#9c5139;--muted:#59665e;--paper:#f5f7f3;--white:#fffefa;--sans:"Segoe UI",Arial,sans-serif;--serif:Georgia,"Times New Roman",serif}
body{font-size:15px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}.button{font-size:13px;min-height:42px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #9b642a;outline-offset:3px}[hidden]{display:none!important}.site-header{height:auto;min-height:76px;padding:14px max(20px,calc((100vw - 1250px)/2));gap:16px;flex-wrap:wrap;background:var(--white)}.site-header nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.site-header .button{font-size:12px;min-height:38px;padding:8px 11px}.account-name{font-size:12px;max-width:170px;overflow:hidden;text-overflow:ellipsis}.demo-banner{text-align:center;background:#e8efe7;padding:8px 18px;color:#365143;font-size:12px}.workspace{max-width:1250px;margin:auto;padding:38px 20px}.workspace h1,.platform-hero h1{font-family:var(--sans);font-size:clamp(30px,4.5vw,58px);font-weight:650;letter-spacing:-1.5px;line-height:1.12;max-width:850px;margin-bottom:22px}.workspace h2{font-family:var(--sans);font-size:24px;font-weight:600;letter-spacing:-.6px}.workspace h3{font-size:17px}.eyebrow{font-size:11px}.lead{font-size:17px;line-height:1.8;color:var(--muted);max-width:680px}.platform-hero{max-width:1250px;margin:auto;display:grid;gap:28px;padding:45px 20px}.occasion-cloud{min-height:350px;position:relative;background:radial-gradient(ellipse,#d8e8db,transparent 70%);display:flex;align-content:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:20px}.occasion-chip{background:var(--white);border:1px solid #d5dfd2;border-radius:12px;padding:13px 16px;box-shadow:0 8px 24px #20383008;display:flex;gap:8px;align-items:center;color:var(--ink)}.occasion-chip span{color:var(--terracotta)}.chip-0,.chip-3{transform:rotate(-3deg)}.chip-1,.chip-5{transform:rotate(3deg)}.cloud-center{width:100%;text-align:center;padding:20px;font-size:25px;font-weight:600}.cloud-center em{font-family:var(--serif);font-weight:400;color:var(--sage-deep)}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:25px 0}.category-card{position:relative;text-align:left;border:1px solid #dce3d8;border-radius:12px;padding:20px 16px;background:var(--white);display:grid;gap:10px;transition:transform .15s,border-color .15s;min-height:165px;color:var(--ink)}.category-card:hover{border-color:var(--sage-deep);transform:translateY(-2px)}.category-card>span:first-child{font-size:25px;color:var(--terracotta)}.category-card small{font-size:12px;color:var(--muted)}.category-arrow{position:absolute;right:16px;top:18px;color:var(--sage-deep)}.value-grid{display:grid;gap:22px;border-top:1px solid var(--line)}.value-grid p{color:var(--muted)}.demo-note{font-size:13px;line-height:1.7;background:#edf2e8;border-radius:9px;color:#43543d;padding:16px}.muted-small{font-size:12px}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;margin-top:28px}.editor-controls,.live-preview{min-width:0}.editor-heading{display:flex;gap:15px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:12px}.editor-steps{display:flex;gap:7px;list-style:none;padding:0;overflow:auto;font-size:12px}.editor-steps li{padding:10px 12px;border-bottom:2px solid #d5dfd2;white-space:nowrap;color:#5d695f}.editor-steps [aria-current]{border-color:var(--sage-deep);font-weight:700;color:var(--ink)}.editor-footer{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;padding:24px 0;margin-top:24px;border-top:1px solid var(--line)}.editor-footer>.button:first-child{margin-right:auto}.form-grid{display:grid;grid-template-columns:1fr;gap:14px}.field{display:grid;gap:7px;font-size:13px;color:var(--ink);margin-bottom:16px;min-width:0}input,select,textarea{min-width:0;width:100%;padding:12px;border:1px solid #bec9bc;border-radius:7px;background:#fff;color:var(--ink)}input[type=color]{height:48px;padding:4px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--sage-deep);flex-shrink:0}textarea{resize:vertical}form{max-width:900px}fieldset{border:1px solid #d6dfd1;border-radius:10px;padding:18px;margin:20px 0}legend{font-size:14px;font-weight:600}details{border-top:1px solid var(--line);margin:16px 0;padding:15px 0}summary{cursor:pointer;font-size:14px;font-weight:600;margin-bottom:15px}.toggle{display:flex;gap:9px;align-items:center;font-size:13px;padding:9px 0;cursor:pointer}.people-list>div{display:flex;gap:10px;align-items:end}.people-list .field{flex:1}.people-list .button{margin-bottom:16px}.live-preview{background:#eaece5;padding:12px;border:1px solid var(--line);border-radius:12px;align-self:start}.preview-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:12px}.preview-toolbar .button{font-size:11px;padding:6px 9px;min-height:34px}.preview-toolbar [aria-pressed=true]{background:var(--ink);color:white}.preview-viewport{width:100%;max-height:75vh;overflow:auto;overscroll-behavior:contain}.preview-stage{position:relative;margin:auto}#invite-preview{display:block;border:0;position:absolute;top:0;left:0;transform-origin:top left;background:white}.preview-only{grid-template-columns:1fr!important}.preview-only .live-preview{position:static}.catalog-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px}.design-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.design-card{min-width:0;text-align:left;border:1px solid #cbd6c6;border-radius:10px;padding:8px;background:white;display:grid;gap:8px;color:var(--ink)}.design-card.selected{border:2px solid var(--sage-deep);padding:7px;box-shadow:0 0 0 2px #426c5b22}.design-card strong{font-size:12px}.design-card small,.selection-label{font-size:10px;color:var(--muted)}.thumb{display:block;height:170px;overflow:hidden;position:relative;border-radius:5px;background:#edf1e7}.thumb iframe{width:600px;height:800px;border:0;transform:scale(.28);transform-origin:top left;pointer-events:none;position:absolute;top:0;left:0}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:16px 0}.panel{padding:20px;border:1px solid #d5dfd0;background:var(--white);border-radius:12px;min-width:0;overflow-wrap:anywhere}.records{display:grid;gap:15px;margin:20px 0}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:25px 0}.stats article{display:grid;gap:8px;padding:20px;background:#e6eee2;border-radius:12px}.stats strong{font-size:32px}.stats span{font-size:12px}.badge{display:inline-block;padding:4px 9px;font-size:11px;background:#e6eee2;border-radius:20px;margin-bottom:10px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}td,th{text-align:left;padding:12px;border-bottom:1px solid #d9e0d4;vertical-align:top}th{background:#eaf0e6}.checkout-layout{display:grid;gap:25px}dl{display:grid;grid-template-columns:1fr 1fr;gap:16px}dd{margin:0;text-align:right;font-size:13px}.admin-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:25px 0}.admin-tabs .selected{background:var(--ink);color:white}.admin-content{max-width:100%;min-width:0}.photo-list{display:flex;gap:12px;flex-wrap:wrap}.photo-list figure{width:150px;margin:10px 0}.photo-list img,.asset-choice img{width:100%;max-height:150px;object-fit:contain}.asset-choice{max-width:220px;padding:12px}.form-error,.error{color:#9e3026}[aria-invalid=true]{border-color:#a63629}.form-error p{font-size:13px;margin:10px 0}.global-status{position:sticky;top:0;z-index:10;margin:0;padding:14px 20px;background:#e3eedc;border-bottom:1px solid #b8c7ad;font-size:13px;overflow-wrap:anywhere}.global-status.error{background:#fff0eb;border-color:#dfb9ac}.consent{position:fixed;bottom:12px;left:12px;right:12px;max-width:660px;z-index:30;border:1px solid #bacbb3;border-radius:14px;box-shadow:0 12px 50px #20383022;background:#fffefa;padding:20px;font-size:13px}.consent p{font-size:12px;line-height:1.7}.consent .button{margin:4px}.site-footer{gap:14px;flex-wrap:wrap}.invoice-sample{border:2px dashed #b9975b;padding:24px;background:white}.invoice-sample h2{color:#963b29}@media(min-width:700px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-hero{grid-template-columns:1.1fr 1fr;align-items:center;padding:65px 25px}.category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.value-grid{grid-template-columns:repeat(3,1fr)}.stats{grid-template-columns:repeat(4,1fr)}.records{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-layout{grid-template-columns:1.2fr 1fr}.workspace{padding:45px 25px}.site-header nav{margin-left:auto}}@media(min-width:1050px){.editor-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.live-preview{position:sticky;top:15px}.design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.site-header .brand{font-size:18px}.site-header nav .button{padding:6px 8px;font-size:11px}.workspace{padding-inline:14px}.live-preview{padding:8px}.category-card{padding:15px 12px}.design-grid{gap:8px}.catalog-tools{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}@media print{.site-header,.demo-banner,.site-footer,#consent,#global-status,.workspace>.button,.workspace>.actions{display:none!important}.workspace{padding:0}.invoice-sample{border:2px dashed #999}body{background:white}}

/* Presentation only. No changes to routing, event schemas or invitation styles. */
:root {
  --ink: #25282b;
  --muted: #62666b;
  --paper: #faf9f6;
  --white: #fff;
  --line: #e5e4e0;
  --sage-deep: #615478;
  --terracotta: #725d90;
  --lilac: #e9e1f4;
  --lime: #daef94;
}
body { background: var(--paper); color: var(--ink); -webkit-font-smoothing: antialiased; }
.site-header { max-width: none; padding-block: 20px; border-bottom: 1px solid var(--line); background: var(--paper); }
.site-header .brand { letter-spacing: -1.1px; font-size: 24px; gap: 10px; }
.brand-mark { background: var(--lime); color: var(--ink); width: 34px; height: 34px; font-weight: 500; }
.brand small { color: #77638d; }
.site-header nav { gap: 7px; }
.site-header nav .button { border-color: transparent; background: transparent; font-size: 12px; color: #54585a; }
.site-header nav .button:hover { background: #efede8; color: var(--ink); }
.site-header nav a[href="#auth"] { background: var(--ink); color: #fff; padding-inline: 18px; border-radius: 7px; }
.site-header nav a[href="#auth"]:hover { background: #45404d; }
.account-name { color: var(--muted); }
.demo-banner { background: #efeee8; color: #68665b; font-size: 10px; letter-spacing: .15px; padding: 7px 18px; }
.button { font-weight: 600; transition: background .18s ease, border-color .18s ease, box-shadow .18s ease; border-radius: 8px; }
.button-dark { background: var(--ink); }
.button-dark:not(:disabled):hover { background: #45404d; }
.button-quiet { color: #4f5156; border-color: #deddd8; }
.button-quiet:not(:disabled):hover { border-color: #a9a0b5; color: #514466; background: #f4f0f8; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline-color: #7e659f; }
.workspace { padding-top: 48px; padding-bottom: 48px; }
.workspace h1 { font-weight: 650; letter-spacing: -1.8px; }
.workspace h2 { letter-spacing: -.8px; }
.eyebrow { color: #77658b; font-size: 10px; letter-spacing: 1.5px; }
.lead { color: var(--muted); }
.field { color: #45484d; font-size: 12px; font-weight: 500; }
input, select, textarea { border-color: #d9d8d4; border-radius: 8px; color: var(--ink); background-color: #fff; font-weight: 400; }
input:hover, select:hover, textarea:hover { border-color: #b7aebe; }
input[type="checkbox"] { accent-color: #6e5a89; }
fieldset { border-color: var(--line); background: #ffffff80; }
legend, summary { color: #45404d; }
.demo-note { background: #efedf3; color: #5a5264; border: 1px solid #e5e1ec; border-radius: 9px; }
.panel { background: #fff; border-color: var(--line); box-shadow: 0 3px 14px #25282b03; border-radius: 13px; }
.stats article { background: #eeebf3; border: 1px solid #e3dfea; }
.stats article:nth-child(2) { background: #ecf0df; border-color: #e3e7d6; }
.stats article:nth-child(3) { background: #f3ede5; border-color: #eae2d7; }
.stats article:nth-child(4) { background: #e9edf0; border-color: #dfe4e8; }
.stats strong { font-weight: 600; letter-spacing: -1px; }
.badge { background: #efedf4; color: #60516f; }
th { background: #f0eef3; color: #514b59; }
td, th { border-bottom-color: var(--line); }
.live-preview { background: #eeece7; border-color: #e0ddd6; padding: 14px; border-radius: 13px; }
.preview-toolbar [aria-pressed="true"] { background: var(--ink); color: #fff; }
.editor-steps li { border-color: #e2dfd9; color: #7a767d; }
.editor-steps [aria-current] { color: #57476a; border-color: #8c75aa; }
.editor-footer { background: #faf9f6f5; border-color: var(--line); }
.design-card { border-color: #dedbd5; border-radius: 10px; }
.design-card.selected { border-color: #7e659f; box-shadow: 0 0 0 2px #7e659f16; }
.selection-label { color: #6c5b7d; }
.thumb { background: #f0ede7; }
.admin-tabs .selected { background: var(--ink); color: #fff; }
.consent { border-color: #dcd5e4; border-radius: 13px; background: #fffefb; box-shadow: 0 10px 50px #29232e15; }
.global-status { background: #f0f3e6; border-color: #d5dbbf; color: #505c38; }
.global-status.error { background: #fff0eb; color: #9e3026; }
.site-footer { padding-block: 28px; background: #f1efe9; border-color: #e4e0d8; color: #6d6b66; font-size: 11px; }
.site-footer a { text-underline-offset: 5px; }
.site-footer a:hover { text-decoration: underline; }

/* Landing page */
.landing-page { overflow: clip; }
.landing-hero, .landing-section, .landing-highlights { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }
.landing-hero { display: grid; grid-template-columns: 1.12fr 1fr; gap: 45px; align-items: center; padding-block: 66px 64px; }
.landing-hero .hero-copy { min-width: 0; }
.landing-eyebrow { display: flex; align-items: center; gap: 9px; font-size: 12px; color: #62576e; margin: 0 0 26px; }
.status-spark { font-size: 19px; color: #746183; }
.landing-hero h1 { font: 650 clamp(38px, 4.2vw, 61px)/1.08 var(--sans); letter-spacing: -2.8px; margin: 0 0 25px; max-width: 660px; text-wrap: balance; }
.landing-hero .lead { font-size: 16px; line-height: 1.85; max-width: 485px; margin: 0 0 28px; }
.hero-actions { display: flex; align-items: center; gap: 23px; flex-wrap: wrap; }
.landing-primary { gap: 24px; font-size: 13px; padding: 17px 22px; min-height: 54px; border-radius: 8px; }
.landing-primary > span { font-size: 20px; color: inherit; line-height: 1; }
.hero-caption { font-size: 11px; line-height: 1.75; color: #79756f; }
.hero-assurance { display: flex; align-items: center; gap: 9px; color: #7a7772; font-size: 11px; margin: 22px 0 0; flex-wrap: wrap; }
.hero-assurance > span:first-child { color: #635e4d; font-weight: 700; }
.assurance-dot { color: #b8b2a8; }
.hero-gallery { position: relative; min-width: 0; height: 500px; border-radius: 26px; background: #edeae4; isolation: isolate; }
.gallery-grid { position: absolute; inset: 0; border-radius: inherit; background-image: linear-gradient(#d5d0c32e 1px, transparent 1px), linear-gradient(90deg, #d5d0c32e 1px, transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(#000, #0004); z-index: -1; }
.gallery-label { position: absolute; left: 25px; top: 22px; font-size: 10px; color: #847c6b; letter-spacing: .3px; }
.sample-party { position: absolute; left: 23px; top: 77px; width: 255px; height: 332px; padding: 18px 20px; border-radius: 3px; background: #d8c5ee; color: #3e2d52; box-shadow: 0 15px 25px #53415e19; transform: rotate(-9deg); }
.sample-topline { display: flex; justify-content: space-between; font-size: 7px; letter-spacing: 1.5px; }
.sample-topline > span:last-child { font-size: 19px; line-height: .7; }
.paper-flower { width: 90px; height: 90px; position: relative; margin: 22px auto 12px; }
.paper-flower > i { width: 50px; height: 50px; border-radius: 50%; position: absolute; background: #81619d; }
.paper-flower > i:nth-child(1) { top: 0; left: 0; }
.paper-flower > i:nth-child(2) { top: 0; right: 0; }
.paper-flower > i:nth-child(3) { bottom: 0; left: 0; }
.paper-flower > i:nth-child(4) { bottom: 0; right: 0; }
.paper-flower > b { position: absolute; inset: 20px; display: grid; place-items: center; font-size: 38px; font-weight: 400; color: #d9ee91; }
.sample-party-title { font-size: 29px; line-height: 1; font-weight: 600; letter-spacing: -1.6px; text-align: center; margin: 15px 0 10px; }
.sample-party-subtitle { text-align: center; font-size: 10px; line-height: 1.6; opacity: .8; }
.sample-party-date { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; align-items: center; border-top: 1px solid #64477a50; padding-top: 12px; margin-top: 18px; font-size: 7px; letter-spacing: 1px; }
.sample-party-date > strong { font-size: 21px; text-align: right; letter-spacing: -1px; }
.sample-party-date > span:last-child { grid-column: 1 / -1; text-align: center; font-size: 6px; margin-top: 3px; }
.sample-phone { position: absolute; top: 54px; right: 22px; width: 209px; height: 394px; border: 6px solid #353835; padding: 4px; border-radius: 30px; background: #fbfaf5; box-shadow: 0 24px 30px #3c40312e, inset 0 0 0 1px #9b9b8c; transform: rotate(8deg); }
.phone-speaker { position: absolute; height: 9px; width: 57px; background: #353835; border-radius: 0 0 8px 8px; top: 0; left: calc(50% - 28px); z-index: 2; }
.sample-phone-page { height: 100%; border-radius: 18px; padding: 19px 15px 14px; overflow: hidden; background: #eff1df; }
.sample-phone-brand { font-size: 6px; letter-spacing: .5px; display: flex; justify-content: space-between; border-bottom: 1px solid #52593940; padding-bottom: 9px; }
.sample-phone-brand > span { font-size: 13px; }
.sample-type { font-size: 6px; letter-spacing: .9px; display: block; margin-top: 17px; }
.sample-orbit { border: 1px solid #747f4260; width: 71px; height: 71px; border-radius: 50%; display: grid; place-items: center; margin: 10px 0 0 auto; position: relative; }
.sample-orbit::before { content: ''; position: absolute; inset: 12px -17px; border: 1px solid #747f4280; border-radius: 50%; transform: rotate(-35deg); }
.sample-orbit > span { color: #637a32; font-size: 40px; }
.sample-phone-title { font-size: 35px; font-weight: 650; line-height: 1; letter-spacing: -2px; margin: 12px 0 15px; }
.sample-phone-place { font-size: 8px; line-height: 1.8; color: #616453; }
.sample-rsvp { margin-top: 14px; background: #ffffffc9; border: 1px solid #d9dfc9; border-radius: 9px; padding: 9px; display: grid; gap: 7px; }
.sample-rsvp > span { font-size: 7px; }
.sample-rsvp > strong { font-weight: 500; background: #333e29; color: #fff; border-radius: 5px; font-size: 8px; padding: 5px 8px; display: flex; justify-content: space-between; }
.sample-rsvp i { font-style: normal; color: #d9ee91; }
.gallery-sticker { position: absolute; left: 3px; bottom: 26px; padding: 11px 19px 11px 42px; background: #d9ee91; border-radius: 7px; font-size: 10px; line-height: 1.6; transform: rotate(-4deg); box-shadow: 0 5px 12px #4f562911; }
.gallery-sticker > span { position: absolute; top: 13px; left: 13px; font-size: 22px; }
.gallery-sticker > strong { font-weight: 600; }
.gallery-footnote { position: absolute; right: 20px; bottom: 16px; font-size: 7px; max-width: 170px; text-align: right; color: #817b6f; }
.landing-highlights { display: flex; justify-content: space-between; align-items: center; gap: 25px; padding: 25px 0; border-block: 1px solid var(--line); color: #77736c; font-size: 11px; }
.landing-highlights > p { margin: 0; }
.landing-highlights > p > strong { color: #3b3b36; font-weight: 600; }
.landing-highlights > div { display: flex; gap: 28px; }
.landing-highlights > div > span { display: flex; gap: 9px; align-items: center; }
.landing-highlights b { font-size: 22px; font-weight: 550; color: #4c4455; letter-spacing: -.6px; }
.landing-section { padding-block: 76px; }
.landing-section-heading { display: flex; justify-content: space-between; gap: 40px; align-items: flex-end; margin-bottom: 32px; }
.landing-kicker { color: #83748e; font-size: 9px; font-weight: 600; line-height: 1.7; letter-spacing: 1.35px; margin: 0 0 17px; }
.landing-page h2 { font-family: var(--sans); font-size: clamp(29px, 3vw, 42px); font-weight: 600; letter-spacing: -1.7px; line-height: 1.15; margin: 0; }
.landing-page h2 span { color: #848077; }
.landing-section-heading > p { flex: 0 1 310px; font-size: 13px; line-height: 1.9; color: var(--muted); margin: 0 0 2px; }
.landing-page .category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin: 0; }
.landing-page .category-card { padding: 19px 20px 15px; min-height: 225px; border-radius: 13px; background: #f0eee8; border: 1px solid transparent; box-shadow: none; gap: 3px; grid-template-rows: 17px 1fr auto auto auto; transition: border-color .18s, transform .18s; }
.landing-page .category-card:hover { transform: translateY(-4px); border-color: #a798ba; }
.landing-page .category-card > .category-number { font-size: 10px; color: #857f75; }
.landing-page .category-art { font-family: Georgia, serif; font-size: 39px; line-height: 1.3; display: flex; align-items: center; color: #6b577e; padding-block: 5px 13px; }
.landing-page .category-card strong { font-size: 15px; font-weight: 600; margin-bottom: 4px; letter-spacing: -.3px; }
.landing-page .category-card small { font-size: 10px; line-height: 1.65; color: #756f65; }
.landing-page .category-bottom { display: flex; justify-content: space-between; gap: 5px; align-items: center; font-size: 9px; color: #847b6e; margin-top: 16px; padding-top: 10px; border-top: 1px solid #4b393515; }
.landing-page .category-arrow { position: static; display: grid; place-items: center; color: #51485c; font-size: 15px; width: 25px; height: 25px; border-radius: 50%; background: #ffffff80; }
.landing-page .occasion-wedding { background: #efeee5; }
.landing-page .occasion-wedding .category-art { color: #7c8462; }
.landing-page .occasion-baptism { background: #ece7f3; }
.landing-page .occasion-gender { background: #f3e8e4; }
.landing-page .occasion-gender .category-art { color: #a67b65; }
.landing-page .occasion-birthday { background: #e9edda; }
.landing-page .occasion-birthday .category-art { color: #6e8153; }
.landing-page .occasion-corporate { background: #e7ebee; }
.landing-page .occasion-corporate .category-art { color: #637888; }
.landing-page .occasion-graduation { background: #eee8db; }
.landing-page .occasion-graduation .category-art { color: #9a8559; }
.landing-page .occasion-other { background: #eeeae9; }
.catalog-footnote { color: #827b72; font-size: 11px; margin: 17px 0 0; }
.how-section-new { border-top: 1px solid var(--line); }
.landing-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.landing-steps > article { padding: 18px 0 0; border-top: 1px solid #d5d1c9; }
.step-index { display: flex; align-items: center; justify-content: space-between; color: #8b8377; font-size: 11px; }
.step-index > i { font-size: 17px; font-style: normal; color: #8f7fa1; }
.landing-steps h3 { font-size: 17px; font-weight: 600; margin: 22px 0 10px; letter-spacing: -.5px; }
.landing-steps p { font-size: 12px; line-height: 1.95; color: var(--muted); margin: 0; max-width: 320px; }
.step-visual { height: 145px; margin-top: 18px; background: #efede7; border-radius: 11px; display: flex; justify-content: center; align-items: center; position: relative; overflow: hidden; }
.visual-choose > span { width: 63px; height: 86px; border-radius: 3px; background: #e0d3ed; border: 4px solid #fff; display: grid; place-items: center; font-size: 32px; color: #795c92; box-shadow: 0 5px 10px #4b354810; }
.visual-choose > span:first-child { transform: rotate(-10deg) translateX(5px); background: #e0e4cc; color: #7a8756; }
.visual-choose > span:nth-child(2) { transform: translateY(-7px); z-index: 1; }
.visual-choose > span:nth-child(3) { transform: rotate(10deg) translateX(-5px); background: #eddbca; color: #997958; }
.visual-choose > b { position: absolute; bottom: 25px; right: calc(50% - 44px); z-index: 2; border-radius: 50%; background: var(--ink); color: #d9ee91; border: 3px solid #efede7; width: 25px; height: 25px; display: grid; place-items: center; font-size: 10px; }
.visual-style { flex-direction: column; gap: 14px; background: #eee8f2; }
.visual-style > strong { font-family: Georgia, serif; font-size: 23px; color: #6d557e; font-weight: 400; font-style: italic; }
.visual-style > div { display: flex; gap: 10px; }
.visual-style i, .composition-palette i { display: block; width: 22px; height: 22px; border-radius: 50%; background: #a893b9; border: 3px solid #fff; }
.visual-style i:nth-child(2), .composition-palette i:nth-of-type(2) { background: #ccd98d; }
.visual-style i:nth-child(3), .composition-palette i:nth-of-type(3) { background: #d7aa91; }
.visual-style i:nth-child(4), .composition-palette i:nth-of-type(4) { background: #696b77; }
.visual-preview { background: #e9ecdf; }
.visual-preview > div { width: 120px; height: 85px; border: 5px solid white; border-radius: 5px; background: #ded5ea; text-align: center; padding: 7px; box-shadow: 0 6px 13px #3a493710; }
.visual-preview span { color: #79618f; font-size: 20px; display: block; line-height: 1.4; }
.visual-preview i { display: block; height: 2px; width: 35px; background: #a38bad; margin: 5px auto; }
.visual-preview > div:nth-child(2) { width: 48px; height: 90px; margin-left: -13px; margin-top: 22px; border-width: 4px; background: #ded5ea; }
.visual-preview > div:nth-child(2) i { width: 20px; }
.visual-preview > b { display: grid; place-items: center; background: #fff; color: #637b3a; width: 26px; height: 26px; border-radius: 50%; font-size: 12px; position: absolute; right: calc(50% - 98px); top: 28px; }
.possibilities-section { padding-top: 35px; }
.feature-bento { display: grid; grid-template-columns: 1.1fr 1fr; gap: 18px; }
.feature-bento article { border-radius: 18px; padding: 33px; min-width: 0; }
.feature-bento h3 { font-size: 25px; line-height: 1.2; letter-spacing: -.9px; font-weight: 600; margin: 18px 0 13px; }
.feature-bento p { font-size: 12px; line-height: 1.95; color: #797269; max-width: 310px; margin: 0; }
.feature-icon { font-size: 25px; line-height: 1; color: #7d6b91; }
.bento-personal { background: #eee8f4; display: flex; flex-direction: column; grid-row: span 2; }
.bento-personal p { color: #7a6e83; }
.style-composition { position: relative; height: 300px; margin: 28px 0 0; }
.composition-paper { position: absolute; top: 0; left: 22px; width: 210px; height: 270px; background: #fff9ed; padding: 20px; transform: rotate(-6deg); box-shadow: 0 10px 18px #67567812; border: 1px solid #f4eadc; display: flex; flex-direction: column; justify-content: space-between; }
.composition-paper > span { font-size: 6px; letter-spacing: 1.2px; color: #a0957f; }
.composition-paper > strong { font-family: Georgia, serif; font-weight: 400; font-size: 33px; line-height: 1.13; letter-spacing: -1px; color: #776482; }
.composition-paper em { color: #969d70; }
.composition-palette { position: absolute; right: 5px; bottom: 58px; display: flex; gap: 7px; align-items: center; background: white; padding: 12px; border-radius: 10px; box-shadow: 0 5px 20px #62516d15; transform: rotate(5deg); }
.composition-palette > span { font-family: Georgia, serif; border-right: 1px solid #e8e2e9; padding-right: 10px; margin-right: 3px; color: #6c6073; font-size: 22px; }
.composition-palette i { width: 21px; height: 21px; border-width: 2px; box-shadow: 0 0 0 1px #efedf1; }
.composition-note { position: absolute; right: 10px; top: 35px; font-size: 13px; font-family: Georgia, serif; font-style: italic; color: #8b719f; transform: rotate(7deg); }
.bento-rsvp { background: #eeeFE6; }
.bento-rsvp .feature-icon { color: #75805c; }
.rsvp-illustration { margin-top: 24px; border: 1px solid #e1e3d7; background: #fffefa; border-radius: 12px; padding: 15px; box-shadow: 0 5px 12px #52583a05; }
.illustration-caption { font-size: 7px; letter-spacing: 1.1px; color: #969582; }
.rsvp-illustration > div { display: flex; gap: 11px; align-items: center; padding: 12px 0 8px; }
.rsvp-illustration > div + div { border-top: 1px solid #f0efe7; }
.rsvp-illustration i { display: grid; place-items: center; font-size: 10px; background: #eee6f1; color: #836592; border-radius: 50%; width: 30px; height: 30px; font-style: normal; flex-shrink: 0; }
.rsvp-illustration > div:nth-of-type(2) i { background: #e9eddf; color: #7f8d5a; }
.rsvp-illustration > div > span { display: grid; gap: 3px; font-size: 10px; color: #595950; }
.rsvp-illustration small { font-size: 8px; color: #939184; }
.rsvp-illustration b { font-size: 8px; font-weight: 500; background: #eef2e6; color: #798661; padding: 5px 7px; border-radius: 4px; margin-left: auto; }
.bento-details { grid-column: 1 / -1; display: flex; gap: 25px; align-items: center; background: #eeeae2; }
.bento-details h3 { margin-top: 0; font-size: 21px; }
.bento-details p { max-width: 540px; }
.detail-pills { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; margin-left: auto; max-width: 250px; }
.detail-pills > span { font-size: 10px; background: #fffefa; border: 1px solid #e5dfd2; padding: 8px 10px; border-radius: 6px; white-space: nowrap; color: #797061; }
.bento-draft { grid-column: 2; grid-row: 2; background: #f1ede6; }
.bento-draft .feature-icon { color: #a48b63; }
.bento-draft h3 { font-size: 22px; }
.local-save-label { display: flex; align-items: center; gap: 6px; margin-top: 17px; font-size: 9px; color: #8d8374; }
.local-save-label i { height: 5px; width: 5px; border-radius: 50%; background: #929d70; }
.device-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 50px; align-items: center; padding-block: 45px 95px; }
.device-story > p:not(.landing-kicker) { color: var(--muted); font-size: 13px; line-height: 1.95; margin: 22px 0; max-width: 350px; }
.device-labels { display: flex; gap: 7px; margin-bottom: 27px; }
.device-labels > span { font-size: 9px; background: #edeae4; padding: 6px 10px; border-radius: 4px; color: #81796c; }
.device-story .text-link { border-color: #c9c1b2; font-size: 12px; color: #655b6e; }
.device-composition { height: 350px; position: relative; background: #eeece6; border-radius: 22px; }
.desktop-sample { position: absolute; top: 45px; left: 27px; width: calc(100% - 67px); height: 245px; border: 5px solid #fffefa; border-radius: 8px; box-shadow: 0 12px 26px #54483d11; background: #ddd4e8; overflow: hidden; }
.browser-dots { display: flex; gap: 4px; align-items: center; height: 21px; background: #fffefa; padding: 0 5px; }
.browser-dots > i { width: 4px; height: 4px; background: #e0d7cb; border-radius: 50%; }
.browser-dots > span { font-size: 5px; margin-left: 20px; color: #aea69c; }
.device-invitation { display: grid; justify-items: center; align-content: center; height: calc(100% - 21px); gap: 13px; color: #6d537d; text-align: center; background-image: radial-gradient(#b5a2c02e 1px, transparent 1px); background-size: 15px 15px; }
.device-invitation > span { font-size: 6px; letter-spacing: .6px; }
.device-invitation > strong { font-family: Georgia, serif; font-size: 29px; font-weight: 400; line-height: 1.15; letter-spacing: -1px; }
.device-invitation > i { font-size: 24px; font-style: normal; line-height: 1; }
.mobile-sample { position: absolute; bottom: 23px; right: 17px; height: 215px; width: 108px; border: 5px solid #393a36; border-radius: 18px; padding: 3px; background: #f8f4ea; box-shadow: 0 10px 16px #3d3e3215; transform: rotate(5deg); }
.mobile-sample .device-invitation { height: 100%; gap: 14px; background-color: #e2d9eb; border-radius: 9px; }
.mobile-sample .device-invitation > strong { font-size: 18px; letter-spacing: -.7px; }
.mobile-sample .device-invitation > span { font-size: 4px; letter-spacing: .3px; }
.device-caption { position: absolute; bottom: 12px; left: 28px; font-size: 8px; color: #948d82; }
.faq-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 50px; border-top: 1px solid var(--line); }
.faq-section > div > p:last-child { font-size: 12px; color: var(--muted); margin-top: 22px; }
.landing-faq details { padding: 18px 0; margin: 0; border-color: #e1ddd5; }
.landing-faq details:last-child { border-bottom: 1px solid #e1ddd5; }
.landing-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; list-style: none; font-size: 13px; font-weight: 500; margin: 0; color: #59565b; }
.landing-faq summary::-webkit-details-marker { display: none; }
.landing-faq summary::after { content: '+'; font-size: 19px; line-height: 1; font-weight: 400; color: #94809f; }
.landing-faq details[open] summary::after { content: '−'; }
.landing-faq details > p { font-size: 12px; color: var(--muted); line-height: 1.95; margin: 15px 0 0; max-width: 450px; }
.landing-final { background: #2d2d32; color: #fffdf5; border-radius: 21px; text-align: center; padding: 65px 30px 45px; position: relative; overflow: hidden; }
.landing-final .landing-kicker { color: #c6b5d2; position: relative; }
.landing-final h2 { font-size: clamp(35px, 4.2vw, 57px); letter-spacing: -2px; font-weight: 550; position: relative; }
.landing-final > p:not(.landing-kicker) { color: #b9b6be; font-size: 12px; margin: 22px 0 25px; position: relative; }
.landing-final .landing-primary { background: var(--lime); color: #34382c; border: 1px solid #e0f1a7; position: relative; }
.landing-final .landing-primary:hover { background: #e6f5b6; }
.landing-final > small { display: block; font-size: 9px; color: #9f9aa7; margin-top: 18px; position: relative; }
.final-spark { position: absolute; left: -40px; bottom: -100px; color: #8d799b16; font-size: 400px; line-height: 1; transform: rotate(15deg); user-select: none; }
.landing-demo-note { display: flex; align-items: flex-start; gap: 13px; padding: 22px 3px 0; max-width: 820px; margin-inline: auto; }
.landing-demo-note > p { margin: 0; color: #8c857b; font-size: 10px; line-height: 1.8; }
.demo-pill { font-size: 8px; letter-spacing: .5px; color: #8b7b93; padding: 2px 5px; border: 1px solid #d9d0df; border-radius: 4px; margin-top: 2px; flex-shrink: 0; }

@media (min-width: 1400px) {
  .landing-hero { gap: 65px; padding-block: 80px 78px; }
  .hero-gallery { height: 530px; }
  .sample-party { left: 35px; width: 270px; height: 350px; top: 85px; }
  .sample-phone { right: 36px; top: 65px; }
}
@media (max-width: 1050px) {
  .landing-hero { gap: 25px; }
  .landing-hero h1 { letter-spacing: -1.9px; font-size: 44px; }
  .hero-gallery { height: 440px; }
  .sample-party { left: 12px; top: 75px; width: 208px; height: 295px; padding: 15px; }
  .paper-flower { width: 72px; height: 72px; margin-top: 18px; }
  .paper-flower > i { width: 40px; height: 40px; }
  .paper-flower > b { inset: 16px; font-size: 30px; }
  .sample-party-title { font-size: 25px; }
  .sample-party-subtitle { font-size: 9px; }
  .sample-party-date { margin-top: 13px; padding-top: 8px; }
  .sample-phone { width: 175px; height: 342px; right: 12px; top: 48px; }
  .sample-phone-page { padding: 16px 11px 10px; }
  .sample-orbit { width: 50px; height: 50px; margin-top: 9px; }
  .sample-orbit > span { font-size: 30px; }
  .sample-type { font-size: 5px; margin-top: 12px; }
  .sample-phone-title { font-size: 29px; }
  .sample-rsvp { margin-top: 10px; padding: 7px; }
  .gallery-sticker { bottom: 21px; left: 0; font-size: 9px; }
  .gallery-footnote { max-width: 125px; font-size: 6px; right: 12px; bottom: 12px; }
  .landing-highlights { align-items: flex-start; }
  .landing-highlights > div { gap: 17px; }
  .landing-highlights > div > span { max-width: 135px; font-size: 10px; }
  .landing-section-heading { gap: 25px; }
  .landing-section-heading > p { flex-basis: 250px; font-size: 12px; }
  .feature-bento article { padding: 27px; }
  .composition-paper { left: 0; }
  .composition-note { right: 0; font-size: 11px; }
  .composition-palette { right: -10px; }
  .device-section, .faq-section { gap: 30px; }
}
@media (max-width: 760px) {
  .site-header { padding: 16px 20px; }
  .site-header nav { gap: 2px; }
  .landing-hero, .landing-section, .landing-highlights { width: calc(100% - 40px); }
  .landing-hero { grid-template-columns: 1fr; padding-block: 43px 38px; gap: 34px; }
  .landing-hero h1 { max-width: 570px; font-size: clamp(37px, 7vw, 53px); letter-spacing: -1.9px; }
  .landing-eyebrow { font-size: 11px; margin-bottom: 22px; }
  .landing-hero .lead { font-size: 14px; max-width: 510px; }
  .hero-gallery { height: 405px; max-width: 540px; width: 100%; margin: 0 auto; }
  .sample-party { left: calc(50% - 150px); top: 63px; width: 220px; height: 290px; }
  .sample-phone { right: calc(50% - 175px); top: 40px; }
  .gallery-label { top: 18px; left: 20px; font-size: 9px; }
  .gallery-sticker { left: calc(50% - 170px); bottom: 13px; padding-block: 8px; }
  .gallery-footnote { right: 16px; bottom: 13px; max-width: 120px; }
  .landing-highlights { flex-direction: column; gap: 14px; padding-block: 20px; }
  .landing-highlights > div { width: 100%; justify-content: space-between; gap: 12px; }
  .landing-highlights > div > span { max-width: none; flex: 1; font-size: 9px; gap: 7px; line-height: 1.4; }
  .landing-highlights b { font-size: 23px; }
  .landing-section { padding-block: 48px; }
  .landing-section-heading { display: block; margin-bottom: 25px; }
  .landing-section-heading > p { max-width: 440px; font-size: 12px; margin-top: 19px; }
  .landing-page h2 { font-size: 32px; letter-spacing: -1.3px; }
  .landing-kicker { font-size: 8px; letter-spacing: 1px; margin-bottom: 14px; }
  .landing-page .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
  .landing-page .category-card { min-height: 195px; padding: 15px; }
  .landing-page .category-art { font-size: 32px; padding-block: 3px 9px; }
  .landing-page .category-card strong { font-size: 14px; }
  .landing-page .category-card small { font-size: 10px; }
  .landing-page .category-bottom { font-size: 8px; gap: 8px; }
  .catalog-footnote { font-size: 10px; line-height: 1.8; }
  .landing-steps { gap: 20px; grid-template-columns: 1fr; }
  .landing-steps > article { display: grid; grid-template-columns: 112px 1fr; gap: 0 19px; padding: 19px 0 0; }
  .landing-steps .step-index { grid-column: 1 / -1; margin-bottom: 12px; }
  .step-visual { grid-column: 1; grid-row: span 2; height: 125px; margin: 0; }
  .landing-steps h3 { font-size: 15px; margin: 2px 0 8px; }
  .landing-steps p { font-size: 11px; line-height: 1.8; }
  .visual-choose > span { width: 36px; height: 64px; border-width: 3px; font-size: 25px; }
  .visual-choose > b { bottom: 25px; right: 13px; width: 22px; height: 22px; border-width: 2px; }
  .visual-style { padding-inline: 9px; gap: 12px; text-align: center; }
  .visual-style > strong { font-size: 18px; line-height: 1.3; }
  .visual-style > div { gap: 4px; }
  .visual-style i { width: 17px; height: 17px; border-width: 2px; }
  .visual-preview > div { width: 72px; height: 63px; border-width: 3px; padding: 5px; }
  .visual-preview > div:nth-child(2) { width: 32px; height: 66px; border-width: 3px; margin-left: -13px; }
  .visual-preview span { font-size: 16px; }
  .visual-preview > div:nth-child(2) i { width: 12px; }
  .visual-preview i { width: 22px; height: 1px; }
  .visual-preview > b { width: 20px; height: 20px; top: 20px; right: 7px; font-size: 10px; }
  .feature-bento { grid-template-columns: 1fr; gap: 13px; }
  .feature-bento article { padding: 26px; grid-column: auto; grid-row: auto; }
  .feature-bento h3 { font-size: 24px; }
  .bento-personal { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  .style-composition { height: 270px; margin-top: 0; }
  .composition-paper { width: 170px; height: 230px; left: 0; top: 5px; padding: 17px; }
  .composition-paper > strong { font-size: 28px; }
  .composition-paper > span { font-size: 5px; }
  .composition-palette { bottom: 15px; right: 0; padding: 9px; gap: 5px; }
  .composition-palette i { width: 17px; height: 17px; }
  .composition-note { display: none; }
  .bento-details { flex-wrap: wrap; gap: 15px; }
  .bento-details > div:first-of-type { flex: 1; }
  .detail-pills { margin: 0; justify-content: flex-start; max-width: none; padding-left: 39px; }
  .device-section { grid-template-columns: 1fr; gap: 30px; }
  .device-story > p:not(.landing-kicker) { max-width: 450px; font-size: 12px; }
  .device-composition { height: 310px; max-width: 540px; width: 100%; margin-inline: auto; }
  .desktop-sample { height: 220px; top: 30px; left: 20px; width: calc(100% - 50px); }
  .mobile-sample { height: 195px; width: 99px; bottom: 25px; right: 16px; }
  .faq-section { grid-template-columns: 1fr; gap: 25px; }
  .faq-section > div > p:last-child { margin-bottom: 0; }
  .landing-faq summary { font-size: 12px; }
  .landing-final { padding: 43px 20px 32px; border-radius: 16px; }
  .landing-final h2 { font-size: 39px; letter-spacing: -1.6px; }
  .landing-final .landing-kicker { font-size: 7px; }
  .landing-final > p:not(.landing-kicker) { font-size: 11px; line-height: 1.8; }
  .final-spark { font-size: 290px; bottom: -70px; }
  .landing-demo-note { gap: 10px; padding-top: 18px; }
  .landing-demo-note > p { font-size: 9px; }
}
@media (max-width: 460px) {
  .site-header .brand { font-size: 22px; }
  .site-header nav .button { padding: 6px 8px; font-size: 11px; }
  .site-header nav a[href="#auth"] { padding-inline: 11px; }
  .landing-hero, .landing-section, .landing-highlights { width: calc(100% - 32px); }
  .hero-actions { gap: 15px; }
  .hero-caption { font-size: 9px; }
  .landing-primary { font-size: 12px; padding-inline: 17px; gap: 14px; }
  .landing-hero h1 { font-size: 39px; letter-spacing: -1.8px; }
  .landing-hero .lead { font-size: 13px; }
  .hero-assurance { font-size: 10px; gap: 7px; }
  .hero-gallery { height: 365px; border-radius: 18px; }
  .sample-party { left: 19px; top: 65px; width: 190px; height: 263px; padding: 14px; }
  .sample-party-title { font-size: 23px; margin-block: 10px 8px; }
  .sample-party-subtitle { font-size: 8px; margin-bottom: 10px; }
  .sample-party-date { margin-top: 8px; padding-top: 6px; }
  .sample-party-date > strong { font-size: 17px; }
  .paper-flower { width: 66px; height: 66px; margin-block: 16px 8px; }
  .paper-flower > i { width: 36px; height: 36px; }
  .sample-phone { width: 155px; height: 300px; right: 17px; top: 37px; border-width: 5px; border-radius: 24px; padding: 3px; }
  .sample-phone-page { padding: 15px 9px 10px; border-radius: 15px; }
  .sample-phone-brand { font-size: 5px; padding-bottom: 5px; }
  .sample-type { margin-top: 10px; font-size: 4.5px; letter-spacing: .7px; }
  .sample-orbit { width: 43px; height: 43px; }
  .sample-orbit > span { font-size: 26px; }
  .sample-phone-title { font-size: 25px; margin-block: 10px; }
  .sample-phone-place { font-size: 7px; margin-bottom: 10px; }
  .sample-rsvp { padding: 6px; gap: 4px; margin-top: 9px; }
  .sample-rsvp > span { font-size: 6px; }
  .sample-rsvp > strong { padding: 4px 6px; font-size: 7px; }
  .gallery-sticker { left: 2px; bottom: 5px; padding: 8px 14px 8px 36px; }
  .gallery-sticker > span { left: 10px; top: 11px; font-size: 19px; }
  .gallery-footnote { font-size: 5.5px; right: 10px; bottom: 9px; max-width: 112px; }
  .landing-page h2 { font-size: 30px; }
  .landing-page .category-card { padding: 14px; min-height: 190px; }
  .landing-page .category-card strong { font-size: 13px; }
  .landing-page .category-card small { font-size: 9px; }
  .landing-page .category-bottom { font-size: 7px; }
  .landing-page .category-arrow { width: 22px; height: 22px; flex-shrink: 0; }
  .bento-personal { display: block; }
  .style-composition { height: 275px; margin-top: 25px; }
  .composition-paper { left: 20px; width: 195px; height: 250px; }
  .composition-paper > strong { font-size: 31px; }
  .composition-palette { bottom: 24px; right: -3px; }
  .composition-note { display: block; font-size: 10px; top: 10px; right: 4px; }
  .feature-bento h3 { font-size: 23px; }
  .device-composition { height: 285px; }
  .desktop-sample { height: 205px; left: 14px; top: 27px; width: calc(100% - 40px); }
  .mobile-sample { height: 180px; width: 91px; right: 8px; bottom: 20px; }
  .device-invitation > strong { font-size: 25px; }
  .mobile-sample .device-invitation > strong { font-size: 16px; }
  .landing-final h2 { font-size: 35px; }
}
@media (max-width: 350px) {
  .landing-hero h1 { font-size: 35px; }
  .hero-caption { display: none; }
  .sample-party { width: 170px; left: 8px; }
  .sample-phone { right: 10px; width: 144px; }
  .landing-steps > article { grid-template-columns: 90px 1fr; gap: 0 13px; }
  .landing-page .category-card { padding-inline: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .button, .landing-page .category-card { transition: none; }
  .landing-page .category-card:hover { transform: none; }
}
@media print {
  body { background: #fff; }
  .panel { box-shadow: none; }
}

/* Presentation experiment using the supplied original FullLogo2.png.
 * The PNG is unchanged; two CSS viewports form a compact horizontal lockup. */
:root {
  --ink: #201a17;
  --muted: #746a62;
  --paper: #fcf9f5;
  --white: #fffdfa;
  --line: #e8dfd5;
  --sage-deep: #926241;
  --terracotta: #b26c55;
  --lilac: #f4ddd1;
  --lime: #f2c990;
  --champagne: #f6d99f;
  --coral: #ed9982;
}
.site-header { background: #000; border-color: #29201a; padding-block: 15px; min-height: 82px; }
.brand-logo { display: inline-flex; align-items: center; gap: 11px; flex-shrink: 0; text-decoration: none; line-height: 1; }
.brand-symbol, .brand-wordmark { display: block; position: relative; overflow: hidden; flex-shrink: 0; }
.brand-symbol { width: 44px; height: 48px; }
.brand-symbol img { position: absolute; width: 164px; height: 131.2px; max-width: none; left: -61px; top: -31px; }
.brand-wordmark { width: 166px; height: 28px; }
.brand-wordmark img { position: absolute; width: 238px; height: 190.4px; max-width: none; left: -35.5px; top: -119px; }
.site-header nav .button { color: #e8d7c5; }
.site-header nav .button:hover { color: #fff3dd; background: #211912; }
.site-header nav a[href="#auth"] { background: linear-gradient(110deg, #f6d99f, #efb594); border: 1px solid #f7dcb4; color: #2d2118; }
.site-header nav a[href="#auth"]:hover { background: #f7dcb4; color: #19120e; }
.site-header .account-name { color: #c4ad99; }
.demo-banner { background: #f0e6da; color: #786855; }
.site-footer { background: #000; border-color: #30231c; color: #b9a38f; gap: 22px; }
.site-footer .footer-logo { margin-right: auto; }
.site-footer a:not(.brand-logo):hover { color: #f5d4a5; }
.site-footer > span { max-width: 260px; }
.button-quiet { border-color: #ded1c3; color: #6b5545; }
.button-quiet:not(:disabled):hover { background: #f5e9de; border-color: #bb9672; color: #784d35; }
.button-dark:not(:disabled):hover { background: #5d3e2c; }
.site-header nav .button-quiet { border-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline-color: #b17d45; }
.site-header a:focus-visible, .site-header button:focus-visible { outline-color: #f6d99f; }
.eyebrow, .landing-kicker { color: #9a7151; }
.field, legend, summary { color: #574334; }
input, select, textarea { border-color: #dfd3c6; }
input:hover, select:hover, textarea:hover { border-color: #bd9c7e; }
input[type="checkbox"] { accent-color: #a16b43; }
.demo-note { background: #f5eee5; border-color: #e7d9c6; color: #72593f; }
.panel { border-color: #e9dfd2; }
.stats article { background: #f2e5d8; border-color: #e6d3be; }
.stats article:nth-child(2) { background: #f5ecdb; border-color: #ebdfc6; }
.stats article:nth-child(3) { background: #f7e6df; border-color: #ead6cb; }
.stats article:nth-child(4) { background: #eee7df; border-color: #dfd3c7; }
.badge { background: #f3e4d3; color: #895d36; }
th { background: #f4ece0; color: #6c523c; }
.editor-steps [aria-current] { color: #8e5e3c; border-color: #bd8d5e; }
.editor-footer { background: #fcf9f5f5; }
.design-card.selected { border-color: #aa7a4f; box-shadow: 0 0 0 2px #aa7a4f18; }
.selection-label { color: #906b47; }
.consent { border-color: #dec7ac; background: #fffcf7; box-shadow: 0 10px 50px #34211018; }
.global-status { background: #f1ecdc; border-color: #d6c7a4; color: #70603e; }
.global-status.error { background: #fff0eb; color: #9e3026; }
.landing-eyebrow, .status-spark { color: #a1714e; }
.landing-page h2 span { color: #938170; }
.hero-assurance { color: #8c7866; }
.hero-gallery { background: #eae0d4; border: 1px solid #e3d3bf; }
.gallery-grid { background-image: linear-gradient(#a87e4f12 1px, transparent 1px), linear-gradient(90deg, #a87e4f12 1px, transparent 1px); }
.gallery-label, .gallery-footnote { color: #92785d; }
.sample-party { background: linear-gradient(155deg, #f6d7ad, #e9b59f); color: #794d3c; box-shadow: 0 15px 25px #6f41211c; }
.paper-flower > i { background: #b07857; }
.paper-flower > b { color: #f9dfad; }
.sample-party-date { border-color: #895b3f50; }
.sample-phone { border-color: #17130f; background: #080706; box-shadow: 0 24px 30px #3c291a38; }
.phone-speaker { background: #17130f; }
.sample-phone-page { background: #10100f; color: #f5dfbd; }
.sample-phone-brand { color: #d9b785; border-color: #b9894e55; }
.sample-type { color: #d6ad7d; }
.sample-orbit { border-color: #c2935f70; }
.sample-orbit::before { border-color: #e8bb7f90; }
.sample-orbit > span { color: #f4cf8f; }
.sample-phone-title { font-size: 30px; letter-spacing: -1.5px; }
.sample-phone-place { color: #b69a7d; }
.sample-rsvp { background: #211a15; border-color: #4b3728; }
.sample-rsvp > span { color: #d1b99c; }
.sample-rsvp > strong { background: linear-gradient(100deg, #edcb8c, #e9b599); color: #3d291a; }
.sample-rsvp i { color: #63482e; }
.gallery-sticker { background: #efc899; color: #694631; }
.hero-audiences { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 25px; }
.hero-audiences button { background: transparent; border: 0; border-bottom: 1px solid #d5b89d; border-radius: 0; padding: 0 0 7px; color: #936749; font-size: 11px; }
.hero-audiences button:hover { color: #4c2b15; border-color: #a66d3d; }
.hero-audiences button span { margin-left: 10px; }
.landing-highlights { border-color: #dfd1c2; }
.landing-highlights b { color: #8d623c; }
.landing-page .occasion-corporate { background: #221b16; color: #f0dbc0; border-color: #6b4f34; }
.landing-page .occasion-corporate .category-art { color: #e9bf84; }
.landing-page .occasion-corporate .category-number, .landing-page .occasion-corporate small, .landing-page .occasion-corporate .category-bottom { color: #c9a988; }
.landing-page .occasion-corporate .category-bottom { border-color: #caa37140; }
.landing-page .occasion-corporate .category-arrow { background: #e9bc7f; color: #352518; }
.landing-page .occasion-corporate:hover { border-color: #d8ad74; }
.landing-page .occasion-wedding { background: #f1e3d2; }
.landing-page .occasion-wedding .category-art { color: #b38c5d; }
.landing-page .occasion-baptism { background: #f4e8df; }
.landing-page .occasion-baptism .category-art { color: #b07c68; }
.landing-page .occasion-gender { background: #f1e5d9; }
.landing-page .occasion-birthday { background: #f3dccc; }
.landing-page .occasion-birthday .category-art { color: #b66f4d; }
.landing-page .occasion-graduation { background: #f0e9df; }
.landing-page .occasion-other { background: #ece4da; }
.landing-page .category-card:hover { border-color: #b68e68; }
.landing-page .category-arrow { color: #8b603e; }
.step-index > i, .feature-icon { color: #ad7d4f; }
.visual-choose > span { background: #eec9b5; color: #a86f4e; }
.visual-choose > span:first-child { background: #ebd3aa; color: #a98751; }
.visual-choose > span:nth-child(3) { background: #f5ddc8; color: #b68867; }
.visual-choose > b { background: #4a3121; color: #f6d99f; }
.visual-style { background: #f3e4d8; }
.visual-style > strong { color: #a77350; }
.visual-style i, .composition-palette i { background: #c99473; }
.visual-style i:nth-child(2), .composition-palette i:nth-of-type(2) { background: #eacb8f; }
.visual-style i:nth-child(3), .composition-palette i:nth-of-type(3) { background: #e49c86; }
.visual-style i:nth-child(4), .composition-palette i:nth-of-type(4) { background: #49403a; }
.visual-preview { background: #efe5d6; }
.visual-preview > div, .visual-preview > div:nth-child(2) { background: #ead2b7; }
.visual-preview span { color: #aa754d; }
.visual-preview i { background: #bf9b78; }
.visual-preview > b { color: #b0814b; }
.bento-personal { background: #f1e1d4; }
.bento-personal p { color: #8b7058; }
.composition-paper > strong { color: #b07a57; }
.composition-paper em { color: #b69b65; }
.composition-note, .composition-palette > span { color: #9d7353; }
.bento-rsvp { background: #eee7dc; }
.bento-rsvp .feature-icon { color: #ae8a53; }
.rsvp-illustration { border-color: #e7d7c3; }
.rsvp-illustration i { background: #f4dece; color: #a77751; }
.rsvp-illustration > div:nth-of-type(2) i { background: #efdfbe; color: #ab8a4e; }
.rsvp-illustration b { background: #f2e8d6; color: #9b7949; }
.bento-draft { background: #f4eae0; }
.local-save-label i { background: #b89b62; }
.device-invitation { color: #a2754b; background-color: #efdfc8; background-image: radial-gradient(#b1855430 1px, transparent 1px); }
.mobile-sample .device-invitation { background-color: #efdfc8; }
.desktop-sample { background: #efdfc8; }
.landing-faq summary { color: #6c5140; }
.landing-faq summary::after { color: #ab7c54; }
.landing-final { background: #100e0c; border: 1px solid #846342; }
.landing-final .landing-kicker { color: #ddbe8d; }
.landing-final > p:not(.landing-kicker) { color: #b9a48f; }
.landing-final .landing-primary { background: linear-gradient(110deg, #f5d393, #eba58b); border-color: #f1c6a1; color: #3c2516; }
.landing-final .landing-primary:hover { background: #f8d8a4; }
.final-spark { color: #d6ad7520; }
.landing-final > small { color: #aa8f73; }
.demo-pill { color: #a87a50; border-color: #dac1a3; }

/* Business spotlight uses existing corporate create action, not a new feature. */
.corporate-spotlight { padding-block: 50px 20px; }
.corporate-panel { display: grid; grid-template-columns: 1.15fr 1fr; gap: 35px; background: #0e0d0b; border: 1px solid #76573a; border-radius: 20px; color: #f4e4cd; padding: 48px; }
.corporate-story { align-self: center; min-width: 0; }
.corporate-story .landing-kicker { color: #d6ae77; letter-spacing: 2px; }
.corporate-story h2 { font-size: clamp(29px, 2.6vw, 37px); line-height: 1.18; letter-spacing: -1.2px; }
.corporate-story h2 span { color: #d6b488; }
.corporate-story > p:not(.landing-kicker):not(.business-demo) { font-size: 13px; line-height: 1.95; color: #bca995; margin: 24px 0; max-width: 440px; }
.business-benefits { list-style: none; padding: 0; margin: 25px 0 29px; }
.business-benefits li { display: flex; gap: 12px; align-items: baseline; padding: 10px 0; font-size: 11px; color: #d5bea4; border-top: 1px solid #6c4f342f; line-height: 1.7; }
.business-benefits li > span { color: #a58154; font-size: 9px; flex-shrink: 0; }
.business-cta { background: linear-gradient(105deg, #f4d49b, #eab498); border: 1px solid #efcc9f; color: #3d2718; padding: 15px 18px; gap: 23px; }
.business-cta:hover { background: #f6d7a9; }
.business-cta > span { font-size: 20px; }
.business-demo { color: #947a60; font-size: 9px; line-height: 1.7; margin: 14px 0 0; }
.business-art { position: relative; height: 480px; min-width: 0; }
.business-art-label { display: block; font-size: 7px; letter-spacing: 1.3px; color: #9e7c56; text-align: center; }
.conference-card { position: absolute; top: 30px; left: calc(50% - 134px); width: 268px; height: 386px; padding: 24px; border: 1px solid #ab8158; background: linear-gradient(155deg, #24201a, #14110e); transform: rotate(6deg); box-shadow: 0 15px 30px #0008; }
.conference-top { display: flex; justify-content: space-between; align-items: start; font-size: 7px; letter-spacing: 1.3px; color: #ddb988; line-height: 1.5; }
.conference-top > span:last-child { font-size: 20px; }
.conference-diamonds { position: absolute; width: 80px; height: 80px; top: 50px; right: 30px; }
.conference-diamonds > i { display: block; position: absolute; inset: 6px; border: 1px solid #e2b780; transform: rotate(45deg); }
.conference-diamonds > i:nth-child(2) { inset: 11px 6px 1px; border-color: #c78d6c; }
.conference-diamonds > span { position: absolute; inset: 0; display: grid; place-items: center; font-family: Georgia, serif; font-size: 33px; color: #f2ce99; }
.conference-type { font-size: 6px; letter-spacing: .8px; color: #bc9a70; margin: 83px 0 14px; }
.conference-title { display: block; font: 400 37px/1.06 Georgia, serif; letter-spacing: -.9px; color: #f2dfc0; }
.conference-title em { color: #e6ad8b; }
.conference-meta { display: flex; justify-content: space-between; margin-top: 24px; padding-top: 12px; border-top: 1px solid #9b754944; color: #be9e77; font-size: 6px; letter-spacing: .6px; line-height: 1.8; }
.conference-rsvp { position: absolute; left: 0; bottom: 26px; width: 266px; border: 1px solid #c49d73; border-radius: 9px; background: #f5e6d1; padding: 15px 17px; transform: rotate(-4deg); box-shadow: 0 8px 20px #0005; display: grid; gap: 9px; }
.conference-rsvp > span:first-child { font-size: 6px; color: #a18057; letter-spacing: 1.5px; }
.conference-rsvp > strong { font-size: 11px; font-weight: 500; color: #5e422a; }
.conference-response { display: flex; justify-content: space-between; padding: 7px 10px; background: #29211b; border-radius: 4px; font-size: 8px; color: #f0d8b4; }
.conference-response i { font-style: normal; color: #e2b679; }
.business-art-footnote { position: absolute; bottom: 0; right: 0; font-size: 6px; color: #8b7055; }

.wedding-spotlight { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; align-items: center; padding-block: 15px 60px; }
.wedding-art { height: 420px; position: relative; background: linear-gradient(130deg, #f0e5d8, #f4ddd0); border: 1px solid #ead6be; border-radius: 18px; }
.wedding-art-label { position: absolute; top: 22px; left: 23px; font-size: 7px; letter-spacing: 1px; color: #aa8769; }
.wedding-paper { position: absolute; left: calc(50% - 118px); top: 58px; width: 235px; height: 302px; background: #fffcf3; border: 1px solid #e6d0b2; outline: 1px solid #cfab7b80; outline-offset: -10px; padding: 23px; text-align: center; transform: rotate(-7deg); box-shadow: 0 15px 25px #a5774d15; }
.wedding-monogram { font: 27px Georgia, serif; letter-spacing: 2px; color: #bd996a; margin: 4px 0 22px; }
.wedding-monogram > span { font-size: 18px; font-style: italic; color: #c9ac8d; }
.wedding-paper > span { font-size: 6px; letter-spacing: 1.2px; color: #b09c80; }
.wedding-paper > strong { display: block; font: 400 29px/1.2 Georgia, serif; color: #9c7151; letter-spacing: -.8px; margin: 19px 0 16px; }
.wedding-paper em { color: #ba9370; }
.wedding-paper > p { font: italic 13px Georgia, serif; color: #b28c69; margin: 0 0 14px; }
.wedding-paper-rule { width: 30px; height: 1px; background: #cfb48e; margin: 0 auto 12px; }
.wedding-note { position: absolute; right: 18px; bottom: 45px; font: italic 14px/1.5 Georgia, serif; color: #af7c61; transform: rotate(6deg); }
.wedding-art-footnote { position: absolute; bottom: 15px; left: 22px; font-size: 6px; color: #aa8c72; }
.wedding-story h2 { font-size: clamp(29px, 3vw, 40px); }
.wedding-story h2 > span { color: #c1886a; }
.wedding-story > p:not(.landing-kicker) { font-size: 13px; line-height: 1.95; color: #8a7562; max-width: 425px; margin: 20px 0; }
.wedding-tags { display: flex; gap: 6px; flex-wrap: wrap; margin: 23px 0; }
.wedding-tags > span { font-size: 9px; background: #f0e1d2; color: #a27b55; padding: 6px 9px; border-radius: 4px; }
.wedding-story > .button { gap: 16px; padding: 14px 17px; font-size: 12px; }

@media (max-width: 1050px) {
  .sample-phone-title { font-size: 25px; }
  .corporate-panel { padding: 33px; gap: 20px; }
  .corporate-story h2 { font-size: 29px; }
  .corporate-story > p:not(.landing-kicker):not(.business-demo) { font-size: 12px; }
  .business-art { height: 455px; }
  .conference-card { width: 240px; left: calc(50% - 115px); }
  .conference-rsvp { width: 235px; left: -10px; }
  .wedding-spotlight { gap: 35px; }
  .wedding-paper { width: 215px; left: calc(50% - 107px); }
}
@media (max-width: 760px) {
  .site-header { padding: 14px 20px; }
  .site-header .brand-logo { gap: 8px; }
  .site-header .brand-symbol { width: 37px; height: 41px; }
  .site-header .brand-symbol img { width: 140px; height: 112px; left: -52px; top: -27px; }
  .site-header .brand-wordmark { width: 139px; height: 25px; }
  .site-header .brand-wordmark img { width: 200px; height: 160px; left: -30px; top: -100px; }
  .site-header nav .button { font-size: 11px; }
  .hero-audiences { gap: 15px; margin-top: 21px; }
  .hero-audiences button { font-size: 10px; }
  .corporate-spotlight { padding-block: 35px 10px; }
  .corporate-panel { grid-template-columns: 1fr; padding: 30px; gap: 30px; border-radius: 16px; }
  .corporate-story h2 { font-size: 32px; max-width: 480px; }
  .corporate-story > p:not(.landing-kicker):not(.business-demo) { max-width: 470px; }
  .business-benefits { margin-block: 22px 25px; }
  .business-art { height: 455px; width: min(390px, 100%); margin-inline: auto; }
  .conference-card { width: 260px; left: calc(50% - 112px); top: 24px; }
  .conference-rsvp { width: 260px; left: 8px; bottom: 20px; }
  .business-art-footnote { bottom: -2px; }
  .wedding-spotlight { grid-template-columns: 1fr; gap: 30px; padding-block: 10px 45px; }
  .wedding-art { height: 370px; }
  .wedding-paper { top: 42px; width: 225px; left: calc(50% - 112px); height: 290px; padding-block: 20px; }
  .wedding-note { bottom: 24px; right: 18px; font-size: 12px; }
  .wedding-art-label { top: 16px; }
  .wedding-art-footnote { bottom: 10px; font-size: 6px; }
  .wedding-story h2 { font-size: 33px; }
  .wedding-story > p:not(.landing-kicker) { max-width: 500px; font-size: 12px; }
}
@media (max-width: 460px) {
  .site-header nav .button { padding: 6px 8px; }
  .sample-phone-title { font-size: 20px; letter-spacing: -1px; }
  .sample-type { font-size: 4px; letter-spacing: .3px; }
  .gallery-label { font-size: 7px; max-width: 255px; }
  .corporate-panel { padding: 26px 22px; }
  .corporate-story h2 { font-size: 28px; }
  .corporate-story .landing-kicker { font-size: 8px; }
  .business-benefits li { font-size: 10px; }
  .business-cta { font-size: 11px; gap: 15px; padding-inline: 15px; }
  .business-art { height: 430px; }
  .conference-card { width: 226px; height: 366px; left: calc(50% - 112px); padding: 21px; }
  .conference-title { font-size: 33px; }
  .conference-diamonds { width: 72px; height: 72px; right: 23px; }
  .conference-type { font-size: 5px; margin-top: 77px; }
  .conference-rsvp { width: 235px; left: -5px; padding: 13px 15px; bottom: 18px; }
  .conference-rsvp > strong { font-size: 10px; }
  .business-art-footnote { font-size: 5px; }
  .wedding-art { height: 355px; }
  .wedding-paper { top: 40px; width: 210px; height: 282px; left: calc(50% - 105px); }
  .wedding-paper > strong { font-size: 27px; }
  .wedding-monogram { margin-bottom: 18px; }
  .wedding-note { font-size: 10px; right: 12px; bottom: 27px; }
  .wedding-story h2 { font-size: 30px; }
  .wedding-story > .button { font-size: 11px; padding-inline: 15px; }
  .site-footer .footer-logo { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-audiences button { transition: none; }
}
@media print {
  body { color: #201a17; background: #fff; }
}

/* Invitation collection and editor presentation; guest styles live in experience.js. */
.art-collection{padding:22px 0 30px;border-top:1px solid #d9cdbb;scroll-margin-top:20px}.art-collection>header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}.art-collection>header h3{font:400 27px/1.2 Georgia,serif;margin:8px 0 0}.art-collection>header div>span{font-size:8px;letter-spacing:1.5px;color:#8e6743}.collection-count{font-size:10px;padding:7px 11px;border:1px solid #d8cab6;border-radius:30px;white-space:nowrap}.art-collection .design-card.selected{background:#fffcf5}.art-collection .design-card strong{font-size:13px}.art-collections{margin-top:28px}#catalog-empty{padding:25px;background:#f2e9da;border-radius:10px;line-height:1.8}
.art-collection{padding:22px 0 30px;border-top:1px solid #d9cdbb;scroll-margin-top:20px}.art-collection>header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}.art-collection>header h3{font:400 27px/1.2 Georgia,serif;margin:8px 0 0}.art-collection>header div>span{font-size:8px;letter-spacing:1.5px;color:#8e6743}.collection-count{font-size:10px;padding:7px 11px;border:1px solid #d8cab6;border-radius:30px;white-space:nowrap}.art-collection .design-card.selected{background:#fffcf5}.art-collection .design-card strong{font-size:13px}.art-collections{margin-top:28px}#catalog-empty{padding:25px;background:#f2e9da;border-radius:10px;line-height:1.8}
.atelier-heading{padding:26px;border:1px solid #dfd5c8;border-radius:14px;background:linear-gradient(135deg,#fffdf9,#efe5d7);margin-bottom:24px}
.atelier-heading>span{font-size:9px;letter-spacing:2.5px;color:#8e6743}.atelier-heading h3{font-family:Georgia,serif;font-size:29px;font-weight:400;line-height:1.25;margin:13px 0}.atelier-heading p,.atelier-video p{font-size:12px;line-height:1.8;color:#6d6258}.atelier-video,.atelier-basics{padding:22px;border:1px solid #ddd3c5;border-radius:12px;background:#fffdf9}.atelier-video>label:not(.field){font-size:12px;display:flex;align-items:center;gap:9px;margin:15px 0}.atelier-basics>summary,.atelier-video>summary{font-weight:600}.field input[type=range]{padding:0;accent-color:#9d7350;height:32px}
.design-grid{gap:18px}.design-card{padding:9px 9px 14px;border-color:#e0d7cc;border-radius:12px;box-shadow:0 5px 20px #44321c06;transition:transform .2s,box-shadow .2s}.design-card:hover{transform:translateY(-3px);box-shadow:0 15px 30px #44321c15}.design-card.selected{border-color:#a87b4f;box-shadow:0 0 0 3px #bb946329;padding:8px 8px 13px}.design-card strong{font-size:12px;line-height:1.5;padding:0 3px}.design-card small,.selection-label{padding:0 3px}.design-card.selected .selection-label{color:#80582e;font-weight:700}.thumb{height:240px;border-radius:6px;background:#f3eee6}.thumb iframe{width:800px;height:1060px;transform:scale(.25)}.live-preview{border-color:#d8cfc1;background:linear-gradient(145deg,#f0e9de,#e2d9cc);box-shadow:0 18px 50px #46351c0c}.preview-toolbar{padding:5px 2px 14px}.preview-viewport{border-radius:6px;background:#e5ddd2}.editor-controls>h2{font-size:23px}.catalog-tools{margin-bottom:8px}
@media(max-width:600px){.thumb{height:225px}.design-grid{gap:10px}.atelier-heading{padding:22px}.atelier-video,.atelier-basics{padding:16px}.design-card strong{font-size:10px}.live-preview{padding:9px}}
@media(prefers-reduced-motion:reduce){.design-card{transition:none}.design-card:hover{transform:none}}

/* Presentation only; colours inherit the existing InviteMe palette. */
.ui-switch{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;cursor:pointer;width:100%}.ui-switch .switch-label{line-height:1.5}.switch-control{position:relative;display:inline-flex;align-items:center;gap:8px;flex:none}.switch-control input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;z-index:1}.switch-track{display:block;width:44px;height:25px;border-radius:30px;border:1px solid var(--line);background:#e5ddd2;transition:background .18s}.switch-track:before{content:"";display:block;width:19px;height:19px;margin:2px;border-radius:50%;background:var(--white);box-shadow:0 1px 4px #211c1626;transition:transform .18s}.switch-control input:checked+.switch-track{background:var(--ink);border-color:var(--ink)}.switch-control input:checked+.switch-track:before{transform:translateX(19px)}.switch-control input:focus-visible+.switch-track{outline:3px solid var(--terracotta);outline-offset:3px}.switch-state{font-size:10px;min-width:25px;font-weight:700;letter-spacing:.5px}.switch-control input:disabled~*{opacity:.5}.sections-intro{display:flex;align-items:start;gap:18px;justify-content:space-between;margin-bottom:20px}.sections-intro p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.section-count{border:1px solid var(--line);border-radius:30px;padding:8px 12px;white-space:nowrap;font-size:11px;flex:none}.section-cards{display:grid;gap:14px}.section-card{border:1px solid var(--line);border-radius:14px;background:var(--white);overflow:hidden;min-width:0;transition:box-shadow .18s,border-color .18s}.section-card[data-enabled=true]{border-color:var(--terracotta);box-shadow:0 5px 24px #211c1607}.section-card-heading{display:flex;gap:22px;justify-content:space-between;padding:22px;align-items:center}.section-card-heading>div{min-width:0}.section-card-heading>div:last-child{min-width:156px}.section-number{font-size:10px;color:var(--terracotta);letter-spacing:1px}.section-card-heading h3{margin:5px 0;font-size:18px}.section-card-heading p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}.section-card-heading .toggle{font-size:11px;margin:0;padding:0}.section-visibility{font-size:10px;color:var(--muted);display:block;margin-top:5px}.section-card>.section-editor{border-top:1px solid var(--line);margin:0;padding:0}.section-editor>summary{font-size:12px;padding:16px 22px;margin:0}.section-editor[open]>summary{border-bottom:1px solid var(--line)}.section-content{padding:20px 22px}.section-content>.field{margin-top:0}.section-style{margin:18px 0 0;padding-top:15px}.section-style>summary{line-height:1.6;font-size:12px}.field-help{font-size:12px;line-height:1.8;color:var(--muted)}.section-library{margin-top:20px}.editor-footer{align-items:center;gap:12px;padding:15px 0;box-shadow:0 -12px 30px #211c1604}.editor-price{position:relative;display:grid;grid-template-columns:auto auto;align-items:center;column-gap:12px;margin-left:auto;font-size:11px}.editor-price>strong{font-size:23px;letter-spacing:-.8px}.editor-price>span{color:var(--muted)}.editor-price>details{grid-column:1/-1;justify-self:end;margin:0;border:0;padding:0;font-size:10px}.editor-price summary{margin:0;font-size:10px}.price-popover{position:absolute;bottom:calc(100% + 14px);right:0;padding:20px;background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 45px #211c1620;width:min(330px,85vw);font-size:12px;z-index:8}.price-popover p{display:flex;gap:12px;justify-content:space-between;margin:0 0 12px}.price-popover b{white-space:nowrap}.price-total{border-top:1px solid var(--line);padding-top:12px}.price-popover small{color:var(--muted);line-height:1.6}.editor-controls .field{scroll-margin-top:30px}.workspace{padding-bottom:35px}.workspace form .button{min-height:44px}.editor-steps{scrollbar-width:thin}.guest-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.guest-media-item{border:1px solid var(--line);border-radius:10px;padding:12px;min-width:0}.guest-media-item img,.guest-media-item video{width:100%;max-height:180px;object-fit:contain;border-radius:6px}.guest-media-item p{font-size:11px;overflow-wrap:anywhere}.guest-media-item .actions{margin-bottom:0}.guest-media-item a{font-size:12px;text-decoration:underline}.upload-feedback{white-space:pre-line;line-height:1.7;font-size:12px}
@media(max-width:1050px){.editor-footer{flex-wrap:wrap}.editor-price{margin-left:0}.section-card-heading{gap:14px}}@media(max-width:600px){.sections-intro{flex-direction:column;gap:12px}.section-card-heading{padding:18px;align-items:start;flex-direction:column;gap:14px}.section-card-heading>div:last-child{width:100%}.section-card-heading .toggle{max-width:none;font-size:12px}.section-visibility{margin-top:7px}.section-content{padding:18px}.section-editor>summary{padding:15px 18px}.editor-footer{display:grid;grid-template-columns:1fr 1fr;gap:9px}.editor-footer>.button:first-child{margin:0}.editor-price{grid-column:1/-1;grid-row:1;width:100%;padding:6px 0 12px;border-bottom:1px solid var(--line);grid-template-columns:1fr auto}.editor-price>details{justify-self:start}.editor-price>strong{font-size:24px}.editor-footer>.button:last-child{grid-column:1/-1}.editor-footer .button{min-height:44px;padding:9px 12px}.price-popover{left:0;right:auto}.workspace{padding-inline:16px}.catalog-tools{gap:10px}.editor-steps li{padding:10px}.ui-switch{font-size:12px}}
@media(prefers-reduced-motion:reduce){.switch-track,.switch-track:before,.section-card{transition:none}}
/* Keep price next to Save while leaving enough room for the primary action. */
@media(max-width:600px){.editor-footer{grid-template-columns:auto 1fr auto;padding-block:10px}.editor-price{grid-column:1/3;grid-row:1;padding:0 6px 0 0;border:0;column-gap:8px}.editor-price>strong{font-size:21px}.editor-price>span{font-size:10px}.editor-price>details{grid-column:1/-1}.editor-footer>.button:first-child{grid-column:1;grid-row:2}.editor-footer>[data-action=save]{grid-column:3;grid-row:1}.editor-footer>.button:last-child{grid-column:2/4;grid-row:2}}

/* Full-screen guest shell. App/editor chrome remains unchanged on every other route. */
body.guest-page{margin:0;overflow:hidden;background:var(--paper)}
.guest-page #app{width:100%;height:100vh;height:100dvh;max-width:none;margin:0;padding:0}
.guest-page-shell,.guest-canvas{position:relative;width:100%;height:100%}
.guest-canvas iframe{display:block;width:100%;height:100vh;height:100dvh;border:0;margin:0;max-width:none;background:var(--paper);transform:none}
.guest-home-logo{position:fixed;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));z-index:100;display:flex;align-items:center;width:112px;height:44px;border:1px solid #c6a57144;border-radius:30px;padding-left:9px;background:#0f0c09eb;box-shadow:0 3px 16px #0002;backdrop-filter:blur(8px);text-decoration:none;overflow:hidden}
.guest-home-logo:hover{background:#000}.guest-home-logo:focus-visible{outline:3px solid #c6a571;outline-offset:3px}
.guest-logo-lockup{display:flex;align-items:center;gap:11px;flex:none;width:221px;height:48px;transform:scale(.43);transform-origin:left center;pointer-events:none}
.guest-logo-lockup .brand-symbol{width:44px;height:48px}.guest-logo-lockup .brand-symbol img{width:164px;height:131.2px;left:-61px;top:-31px}.guest-logo-lockup .brand-wordmark{width:166px;height:28px}.guest-logo-lockup .brand-wordmark img{width:238px;height:190.4px;left:-35.5px;top:-119px}
.guest-sr-only{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.guest-page #global-status:not(.error){display:none}.guest-page #global-status.error{position:fixed;top:65px;left:12px;right:12px;z-index:110;width:auto;max-width:650px;margin:0 auto;box-shadow:0 6px 25px #0001}
.guest-page .workspace{height:100%;overflow:auto;max-width:760px;padding:90px 24px 35px}.guest-page .workspace .eyebrow{display:none}
@media(prefers-reduced-motion:reduce){.guest-home-logo{transition:none}}

/* Invitation reports, sharing and RSVP use the existing InviteMe palette. */
.invitation-quick-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.invitation-quick-stats article{display:grid;gap:5px}.invitation-quick-stats strong{font-size:24px}.invitation-quick-stats span{font-size:11px;color:var(--muted)}
.recent-responses{border-top:1px solid var(--line);padding-top:15px}.recent-responses h4{margin:0 0 10px;font-size:12px}.recent-responses p{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;margin:7px 0;font-size:12px}.recent-responses span{color:var(--muted)}
.report-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.report-heading h2,.report-heading h3{margin:0}.report-heading .actions{margin:0}.report-heading .eyebrow{margin:0 0 8px}.invitation-report,.invitation-sharing,.invitation-responses{margin:35px 0 50px;min-width:0}.report-metrics article{background:var(--white);border:1px solid var(--line)}.report-metrics strong{font-variant-numeric:tabular-nums}.report-breakdown{font-size:13px}.personal-progress{display:grid;gap:10px;max-width:620px;font-size:13px;margin:24px 0}progress{width:100%;height:9px;accent-color:var(--terracotta)}
.report-chart{padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--white)}.daily-bars{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:clamp(3px,1vw,14px);height:150px;margin-top:20px}.daily-bar{display:flex;flex-direction:column;justify-content:end;min-width:0;gap:8px}.daily-bar>div{display:flex;align-items:end;justify-content:center;gap:3px;height:120px;border-bottom:1px solid var(--line)}.daily-bar i,.daily-bar b{display:block;width:35%;background:var(--terracotta);border-radius:3px 3px 0 0;min-height:0}.daily-bar b{background:var(--ink)}.daily-bar span{font-size:10px;text-align:center}.chart-key{display:inline-block;width:9px;height:9px;border-radius:2px;margin:0 12px 0 4px}.chart-key-visits{background:var(--terracotta)}.chart-key-responses{background:var(--ink)}.report-chart caption{text-align:left;padding:10px;font-size:12px}
.share-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px;align-items:center;margin:20px 0}.share-code{width:170px;max-width:100%;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.share-code svg{display:block;width:100%;height:auto}.share-actions{min-width:0}.share-actions>.field{margin:10px 0}.share-url{font-size:12px;background:var(--paper)}.personal-invitations{display:grid;gap:18px}.personal-invitations h4{font-size:18px;margin:0}.invitation-sharing>.panel{margin-top:22px}
.response-filters{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin:24px 0 0}.response-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.response-card p{white-space:pre-line;font-size:13px}.response-card dl{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.response-card dl>div{min-width:0}.response-card dt{font-size:11px;color:var(--muted)}.response-card dd{text-align:left;font-size:13px;margin:5px 0 0}.response-card h3{font-size:18px}.response-state-declined{background:#f4e9e4}.response-state-waiting,.response-state-offered{background:#f4ecda}#response-count{font-size:12px;color:var(--muted)}
.guest-privacy{position:fixed;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:101;font:12px/1.6 var(--sans);max-width:calc(100% - 24px)}.guest-privacy>.button{display:block;margin-left:auto;min-height:32px;padding:7px 12px;font-size:10px;background:var(--paper);box-shadow:0 2px 12px #0001}.guest-privacy .panel{position:absolute;right:0;bottom:45px;width:min(370px,calc(100vw - 24px));background:var(--paper);box-shadow:0 8px 45px #0002;padding:20px;color:var(--ink);max-height:65dvh;overflow:auto}.guest-privacy p{font-size:12px;margin:10px 0}.guest-privacy .button{font-size:11px}.guest-privacy .actions{gap:8px}
@media(max-width:700px){.share-card{grid-template-columns:1fr;gap:15px}.share-code{width:180px;margin:auto}.response-list{grid-template-columns:1fr}.response-filters{grid-template-columns:1fr;gap:0}.report-chart{padding:15px}.report-metrics strong{font-size:28px}.report-heading .actions{margin-top:10px}.response-card dl{gap:14px}}
@media print{body:has(.qr-print-sheet) .site-header,body:has(.qr-print-sheet) .site-footer,body:has(.qr-print-sheet) #app,body:has(.qr-print-sheet) #consent,body:has(.qr-print-sheet) #global-status{display:none!important}.qr-print-sheet{text-align:center;padding:35px;color:#000;background:#fff}.qr-print-sheet svg{width:85mm;height:85mm;max-width:100%}.qr-print-sheet p{font-size:12px;overflow-wrap:anywhere}.guest-privacy{display:none!important}}

.account-workspace{max-width:900px}.account-workspace h1{font-size:clamp(30px,4vw,48px)}.account-card{max-width:600px;margin:28px auto;padding:clamp(22px,4vw,40px)}.account-tabs{display:flex;gap:10px;margin-bottom:25px}.account-card form{display:grid;gap:6px}.account-card .field{margin-bottom:14px}.account-card .toggle{flex-wrap:wrap}.account-card [role=status]:not(:empty){border-top:1px solid var(--line);padding-top:16px;font-size:13px;white-space:pre-line}.social-signin{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.social-signin>span{width:100%;font-size:12px;color:var(--muted)}.social-signin .button{flex:1}.social-signin .button:disabled{opacity:.55;cursor:not-allowed}
.admin-workspace{max-width:1450px}.admin-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:32px;margin-top:30px}.admin-sidebar{display:flex;flex-direction:column;align-self:start;position:sticky;top:15px;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--white)}.admin-sidebar a{text-decoration:none;padding:12px 14px;font-size:12px;border-radius:7px}.admin-sidebar [aria-current]{color:var(--paper);background:var(--ink)}.admin-content>.panel,.admin-filter-list>.panel{margin-bottom:18px}.admin-content .stats{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-content .stats article{min-width:0;padding:18px}.admin-content .stats strong{font-size:clamp(22px,2.5vw,32px);overflow-wrap:anywhere}.admin-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:25px}.admin-shortcuts a{text-decoration:none}.admin-shortcuts strong{font-size:17px}.admin-shortcuts p{font-size:13px;color:var(--muted)}.admin-shortcuts span{font-size:12px;color:var(--terracotta)}.admin-filter-list details{border:0;padding:0;margin:0}.admin-filter-list summary{line-height:1.9}.admin-filter-list .badge{margin:0 4px}.admin-assets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.admin-assets img{width:100%;height:160px;object-fit:cover;border-radius:8px;margin-bottom:15px}.admin-assets .field{font-size:11px}.cms-preview p{white-space:pre-wrap;overflow-wrap:anywhere}.cms-preview img{width:100%;height:220px;object-fit:cover;border-radius:8px}.legal-content{max-width:850px;white-space:pre-wrap;line-height:1.9}.cms-home-image{display:block;width:100%;height:100%;min-height:300px;max-height:700px;object-fit:cover;border-radius:12px}.hero-gallery:has(>.cms-home-image){display:block;overflow:hidden}.business-art:has(>.cms-home-image){display:block;overflow:hidden}
@media(max-width:1050px){.admin-content .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-layout{grid-template-columns:180px minmax(0,1fr);gap:20px}.admin-assets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.admin-layout{grid-template-columns:minmax(0,1fr);gap:20px}.admin-sidebar{position:static;display:flex;flex-direction:row;overflow-x:auto;gap:5px;max-width:100%}.admin-sidebar a{white-space:nowrap}.admin-shortcuts{grid-template-columns:minmax(0,1fr)}.account-tabs .button{flex:1}}
@media(max-width:420px){.admin-assets{grid-template-columns:minmax(0,1fr)}.admin-content .stats{gap:8px}.admin-content .stats article{padding:14px}}
.hero-gallery:has(>.cms-home-image)>:not(.cms-home-image),.business-art:has(>.cms-home-image)>:not(.cms-home-image){display:none}

.social-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:20px 0}
.social-button{display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid #d8cbb9;border-radius:10px;background:transparent;color:inherit;font:inherit;text-decoration:none;transition:background .2s,transform .2s}
.social-button:not(:disabled):hover{background:#ebdfcc;transform:translateY(-2px)}
.social-button:disabled{cursor:default;opacity:.72}.social-button small{font-size:10px}
.site-footer .social-links{flex-basis:100%;margin:12px 0 0}.site-footer .social-button{border-color:#715c42;color:#edc39b}
.catalog-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin:26px 0}.catalog-links a{text-underline-offset:4px;color:inherit;padding:6px 0}
.public-category{max-width:1120px;margin:auto}.public-category .lead{max-width:780px}.public-category h2{margin-top:36px}.public-category .category-details{display:grid;grid-template-columns:1fr 1fr;gap:24px}.public-category .category-details article{padding:24px;border:1px solid #dfd2c1;border-radius:16px}.public-category p{line-height:1.8}.public-category nav{margin-bottom:24px}.public-category .category-price{font-size:24px;margin:24px 0}
.skip-link{position:fixed;left:16px;top:-100px;z-index:10000;background:#211b16;color:#fff;padding:12px 16px;border-radius:8px}.skip-link:focus{top:12px}
.site-header:empty{min-height:94px;background:#000}
@media(max-width:640px){.public-category .category-details{grid-template-columns:1fr}.social-links{gap:8px}.social-button{padding:10px;font-size:12px}.site-header:empty{min-height:150px}}
@media(prefers-reduced-motion:reduce){.social-button{transition:none}}
/* Improve small-text legibility within the existing warm palette. */
.landing-eyebrow,.hero-caption,.hero-assurance,.landing-highlights>p,.landing-highlights>div>span,.landing-section-heading .landing-kicker,.faq-section>div>.landing-kicker,.device-story>.landing-kicker,.catalog-footnote,.step-index,.composition-note,.illustration-caption,.local-save-label,.device-caption{color:#71543c}
.landing-page .category-card:not(.occasion-corporate) .category-number,.landing-page .category-card:not(.occasion-corporate) small,.landing-page .category-card:not(.occasion-corporate) .category-bottom{color:#66564a}
.business-art-footnote{color:#c6aa8c}.wedding-monogram,.composition-paper>strong,.composition-paper em,.visual-style>strong{color:#795536}
.bento-personal p{color:#6b5545}.rsvp-illustration b{color:#71543c}
.conference-rsvp>span,.wedding-paper>span,.wedding-paper>p,.wedding-paper>strong>em,.wedding-story>.landing-kicker,.wedding-story>p,.wedding-tags>span,.composition-paper>span,.composition-palette>span,.bento-rsvp>p,.bento-details p,.bento-draft>p,.rsvp-illustration small,.device-labels>span,.browser-dots>span{color:#71543c}
.landing-page #wedding-heading>span{color:#9a6446}
.corporate-panel .conference-rsvp>span:not(.conference-response){color:#71543c}.corporate-panel .conference-rsvp>.conference-response{color:#f2d6ae}
.landing-page .wedding-story>p:not(.landing-kicker){color:#71543c}
