:root{--blue:#8c6a2e;--deep:#6d501f;--navy:#1c1710;--gold:#e4c27a;--muted:#7a7164;--line:#e6ddd0;--page:#f6efe4;--sans:"Manrope", Arial, sans-serif;--serif:"Cormorant Garamond", Georgia, serif}*{box-sizing:border-box}body{background:var(--page);color:var(--navy);font:16px/1.65 var(--sans);margin:0}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button{color:inherit;background:0 0;border:0}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.16}h1{letter-spacing:-.045em;font-size:clamp(2rem,4vw,3.7rem);font-weight:500;font-family:var(--serif)}h2{letter-spacing:-.035em;font-size:clamp(1.8rem,3vw,2.7rem);font-weight:500}h3{font-size:1.12rem}p{color:var(--muted)}small,.small{font-size:.875rem}small{display:block}img{max-width:100%;display:block}:focus-visible{outline-offset:4px;outline:3px solid #d19428}.button{background:var(--blue);color:#fff;text-align:center;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:12px;padding:14px 24px;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:var(--deep);text-decoration:none;transform:translateY(-1px)}.button.secondary{color:var(--navy);border-color:var(--line);background:#fff}.button.gold{background:var(--gold);color:#2a1c0a}.button.hero-cta{color:#2a1c0a;background:linear-gradient(#f6e2b3 0%,#d7a44a 100%);border-radius:999px;padding:17px 28px;font-weight:600;box-shadow:0 14px 36px #c4923a4d}.button.hero-cta:hover{background:linear-gradient(#f8e7c0 0%,#c9953d 100%)}.button.large{padding:19px 29px;font-size:1rem}.text-button{color:var(--blue);text-align:left;padding:12px 0}.site-header{border-bottom:1px solid var(--line);background:#fffaf2;justify-content:space-between;align-items:center;gap:30px;height:88px;padding:0 5%;display:flex}.site-header.is-landing{z-index:20;color:#fff8ec;background:linear-gradient(#120e0a88,#0000);border:0;position:absolute;top:0;left:0;right:0}.brand{font-size:1.7rem;font-weight:500;font-family:var(--serif);letter-spacing:-.03em;white-space:nowrap;align-items:center;gap:10px;display:flex}.brand-mark{color:#d4af5a;place-items:center;width:34px;height:34px;display:grid}.brand-mark svg{fill:currentColor;width:28px;height:28px}.site-header nav,.header-actions{align-items:center;gap:30px;font-size:.92rem;display:flex}.site-header.is-landing nav a{color:#fff8ec}.account-link{border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;padding:8px 16px;display:flex}.site-header.is-landing .account-link{color:#fff8ec;border-color:#ffffff8a}.language{letter-spacing:.04em;font-size:.8rem}.language .is-on{color:var(--gold)}.site-header.is-landing .language{color:#fff8ec}.landing-hero{isolation:isolate;color:#fff8ec;background:#1a140c;grid-template-columns:1.05fr .95fr;align-items:center;gap:4%;min-height:100svh;padding:120px 7% 80px;display:grid;position:relative;overflow:hidden}.landing-hero-photo,.landing-hero-shade{width:100%;height:100%;position:absolute;inset:0}.landing-hero-photo{object-fit:cover;object-position:62% 42%;z-index:0}.landing-hero-shade{z-index:1;background:linear-gradient(90deg,#120e0ad4 0%,#1a140c66 38%,#120e0a14 62%,#0000 78%),linear-gradient(#120e0a55 0%,#0000 32%,#120e0a40 100%)}.hero-copy{z-index:2;max-width:620px;position:relative}.eyebrow{letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px;font-size:.75rem;font-weight:600;display:block}.hero-copy h1{letter-spacing:-.04em;color:#fff8ec;overflow-wrap:break-word;margin:0 0 32px;font-size:clamp(3.1rem,5.4vw,5.3rem);font-weight:400;line-height:1.08}.hero-copy h1 span{display:block}.hero-secondary{color:#fff8ec;text-underline-offset:6px;margin:18px 0 0 8px;font-size:.95rem;display:inline-block}.hero-art{z-index:2;justify-content:center;align-items:flex-end;min-height:560px;display:flex;position:relative}.phone-mockup{background:#1a1612;border:2px solid #d8c7a0;border-radius:38px;width:268px;height:548px;padding:8px;position:relative;box-shadow:0 28px 70px #0006}.phone-notch{z-index:3;background:#111;border-radius:15px;width:78px;height:16px;position:absolute;top:16px;left:calc(50% - 39px)}.phone-screen{background:#111;border-radius:30px;height:100%;overflow:hidden}.phone-screen .invitation{height:100%}.section{max-width:1600px;margin:auto;padding:70px 6%}.section-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px;display:flex}.section-heading h2,.section-heading h1{margin:0}.section-heading .eyebrow{color:#8c6a2e;margin-bottom:13px;font-size:.66rem}.section-heading>a{white-space:nowrap;align-items:center;gap:10px;font-size:.9rem;display:flex}.occasion-section{padding-top:36px;padding-bottom:20px}.occasion-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.occasion-photo{aspect-ratio:16/10;background:#e8ddd0;border-radius:18px;display:block;position:relative;overflow:hidden}.occasion-photo img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.occasion-photo:hover{text-decoration:none}.occasion-photo:hover img{transform:scale(1.04)}.occasion-photo>span{color:#fff8ec;text-shadow:0 1px 10px #0008;justify-content:space-between;align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:14px;left:16px;right:16px}.occasion-photo b{font-family:var(--serif);font-size:1.55rem;font-weight:500}.occasion-go{color:#1c1710;background:#fff8ec;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid}.catalog{padding-top:25px}.template-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:27px;display:grid}.template-art{aspect-ratio:3/4.1;background:#efe6d8;border:1px solid #e6ddd0;border-radius:16px;transition:transform .2s;display:block;overflow:hidden}.template-art .invitation{min-width:0;height:100%}.template-art:hover{text-decoration:none;transform:translateY(-5px)}.template-meta{justify-content:space-between;align-items:center;gap:10px;padding:21px 1px;display:flex}.template-meta h3{margin:0 0 7px}.template-meta p{margin:0;font-size:.8rem}.filters{gap:18px;margin:25px 0 40px;display:flex}.filters label{flex:1}.filters select{background:#fff}.site-footer{border-top:1px solid var(--line);background:#fffaf2;flex-wrap:wrap;align-items:center;gap:24px;padding:42px 6%;display:flex}.site-footer>span{color:var(--muted);font-size:.84rem}.site-footer>div{color:var(--muted);flex-wrap:wrap;gap:20px;margin-left:auto;font-size:.75rem;display:flex}label{margin:0 0 19px;font-size:.9rem;font-weight:500;display:block}input,textarea,select{width:100%;color:var(--navy);background:#fff;border:1px solid #d8dce7;border-radius:7px;min-height:47px;margin-top:7px;padding:12px 13px;font-size:1rem;display:block}textarea{resize:vertical}input[type=checkbox],input[type=radio]{width:18px;min-height:18px;accent-color:var(--blue);flex:none;margin:0}.check-label{align-items:flex-start;gap:10px;font-size:.84rem;line-height:1.7;display:flex}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:24px;padding:30px}.narrow{max-width:760px;margin:50px auto}.narrow.section{padding:40px 24px}.panel h2{margin-bottom:20px}.notice{color:#695025;background:#fff5db;border-radius:8px;padding:18px;font-size:.9rem}.error{color:#9e2820;overflow-wrap:anywhere;background:#fff0ef;border-radius:8px;padding:15px 20px}.action-row,.toolbar{flex-wrap:wrap;align-items:center;gap:15px;display:flex}.toolbar{justify-content:space-between;margin-bottom:25px}.detail-layout{grid-template-columns:1fr 1fr;align-items:start;gap:10%;display:grid}.detail-layout>div:first-child{padding-top:60px;position:sticky;top:50px}.detail-preview{border:1px solid var(--line);border-radius:20px;max-width:430px;overflow:hidden;box-shadow:0 15px 50px #1829450c}.centered{margin:auto}.wide-preview{max-width:1100px;margin:auto}.public-invitation{max-width:960px;margin:auto}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.status{color:var(--blue);background:#eef3ff;border-radius:20px;margin-bottom:20px;padding:5px 12px;font-size:.75rem;display:inline-block}.empty-state{text-align:center;padding:80px}.stats-row{flex-wrap:wrap;gap:20px;margin:25px 0;display:flex}.stats-row>div{border:1px solid var(--line);min-width:145px;color:var(--muted);background:#fff;border-radius:9px;flex:1;padding:22px}.stats-row strong{color:var(--navy);font-size:2.2rem;line-height:1.5;display:block}.inline-form{align-items:flex-end;gap:20px;margin:30px 0;display:flex}.inline-form label{flex:1;margin:0}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}th{color:var(--muted);white-space:nowrap;background:#f4f6fb;font-weight:500}td,th{border-bottom:1px solid var(--line);padding:17px 19px}td small{color:var(--muted);overflow-wrap:anywhere;max-width:400px;font-size:.75rem}td button{color:var(--blue);text-align:left}.field-pair{grid-template-columns:1fr 1fr;gap:15px;display:grid}.process-step{border-bottom:1px solid var(--line);gap:25px;padding:28px 0;display:flex}.process-step span{color:var(--blue);font-size:1.4rem}.process-step h2{font-size:1.5rem;line-height:1.5}.editor-shell{max-width:1800px;margin:auto}.editor-toolbar{border-bottom:1px solid var(--line);z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffed;align-items:center;gap:20px;padding:20px 4%;display:flex;position:sticky;top:0}.save-status{color:#258453;gap:7px;margin-right:auto;font-size:.8rem;display:flex}.save-status.pending{color:var(--muted)}.editor-grid{grid-template-columns:210px minmax(290px,1fr) minmax(320px,440px);min-height:850px;display:grid}.editor-steps{border-right:1px solid var(--line);background:#fff;padding:35px 22px}.editor-steps .eyebrow{color:var(--muted);font-size:.65rem}.editor-steps>button{text-align:left;border-radius:8px;align-items:center;gap:14px;width:100%;margin:5px 0;padding:15px 12px;font-size:.88rem;display:flex}.editor-steps button span{color:var(--muted);font-size:.7rem}.editor-steps .active{color:var(--blue);background:#edf2ff}.editor-steps>a{color:var(--blue);margin:35px 10px;font-size:.8rem;display:block}.editor-form{align-self:start;width:100%;max-width:720px;margin:auto;padding:35px 38px 60px}.editor-form h1{margin-bottom:32px;font-size:2.1rem}.editor-form>.eyebrow{color:var(--muted);margin-bottom:12px}.editor-preview{background:#eff1f7;padding:30px 25px}.preview-size{color:var(--muted);justify-content:space-between;margin-bottom:15px;font-size:.75rem;display:flex}.preview-device{scrollbar-width:thin;border:6px solid #fff;border-radius:26px;height:740px;position:sticky;top:120px;overflow:auto;box-shadow:0 10px 30px #15244716}.editor-bottom{border-top:1px solid var(--line);justify-content:space-between;margin-top:35px;padding-top:25px;display:flex}.palette-row{gap:12px;margin-bottom:25px;display:flex}.palette-row button{border:2px solid #0000;border-radius:25px;padding:5px;display:flex}.palette-row button.selected{border-color:var(--blue)}.palette-row span{border:1px solid #0002;border-radius:50%;width:23px;height:23px;margin-left:-3px}.upload-control{border:1px dashed #bec8dc;border-radius:9px;margin-bottom:20px;padding:20px}.upload-control h3{margin-bottom:15px}.upload-label{color:var(--blue);margin-bottom:0;font-size:.8rem}.upload-label input{min-height:35px;padding:8px;font-size:.75rem}.media-thumbs{flex-wrap:wrap;gap:10px;margin:15px 0;display:flex}.media-thumbs>div{width:85px;position:relative}.media-thumbs img{aspect-ratio:1;object-fit:cover;border-radius:8px}.media-thumbs button{background:#fff;border-radius:5px;position:absolute;bottom:0;right:0}.program-row{align-items:center;gap:10px;display:flex}.program-row label:first-child{max-width:120px}.program-row label{flex:1}.block-list>div{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;gap:6px;margin-bottom:10px;padding:13px;display:flex}.block-list span{flex:1}.block-list button{padding:7px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d163e88;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:100%;max-width:550px;max-height:90vh;padding:35px;position:relative;overflow:auto}.modal-close{font-size:30px;position:absolute;top:8px;right:14px}.legal-links{color:var(--blue);flex-wrap:wrap;gap:12px;margin-bottom:20px;font-size:.75rem;display:flex}.admin-shell{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.admin-nav{background:var(--navy);color:#fff;flex-direction:column;gap:7px;padding:30px 22px;display:flex}.admin-nav .brand{margin-bottom:40px}.admin-nav .eyebrow{color:#a2b1d3;font-size:.7rem}.admin-nav button{text-align:left;border-radius:6px;padding:14px;font-size:.88rem}.admin-nav .active{background:#284775}.admin-nav small{color:#b6c4e1;margin-top:auto;padding-top:45px;font-size:.72rem}.admin-main{min-width:0;padding:45px}.admin-main h1{font-size:2.2rem}.settings-form{max-width:650px}.factory-create{max-width:920px;margin-bottom:28px}.factory-create-grid{grid-template-columns:1fr 1fr;gap:16px 18px;margin:8px 0 4px;display:grid}.factory-create-grid label{flex-direction:column;min-width:0;margin:0;display:flex}.factory-create-id{grid-column:1/-1}.factory-create-blurb{color:#5b6478;margin:8px 0 16px;font-size:.92rem}.order-detail{max-width:760px;margin-top:30px}.code-input{font-family:monospace;font-size:.85rem}.choice-row{gap:8px;display:flex}.choice-row label{border:1px solid #b4b5b5;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 6px;font-size:.8rem;display:flex}.choice-row .selected{background:#ffffff30;border-color:currentColor}@media (min-width:1600px){.landing-hero{padding-left:calc(50vw - 690px);padding-right:calc(50vw - 690px)}}@media (max-width:1100px){.site-header nav{gap:18px}.site-header{gap:18px;padding:0 4%}.header-actions{gap:16px}.account-link{font-size:.8rem}.hero-copy h1{font-size:3.4rem}.landing-hero{gap:2%;min-height:100svh;padding-left:5%;padding-right:5%}.hero-art{min-height:500px}.occasion-photos{gap:12px}.template-grid{gap:18px}.editor-grid{grid-template-columns:160px minmax(280px,1fr) 330px}.editor-steps{padding:25px 12px}.editor-form{padding:30px 23px}.editor-preview{padding:25px 14px}.admin-main{padding:30px}}@media (max-width:820px){.site-header{height:78px}.site-header nav{display:none}.brand{font-size:1.35rem}.hero-copy h1{font-size:3rem}.landing-hero{min-height:auto;padding-top:100px}.hero-art{min-height:460px}.section{padding:45px 5%}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.template-art{border-radius:14px}.editor-grid{grid-template-columns:1fr 340px}.editor-steps{border-bottom:1px solid var(--line);grid-column:1/-1;gap:6px;padding:10px 15px;display:flex;overflow:auto}.editor-steps .eyebrow,.editor-steps>a{display:none}.editor-steps>button{white-space:nowrap;width:auto;padding:10px}.editor-toolbar{gap:10px;padding:15px}.editor-toolbar>.button{padding:10px;font-size:.75rem}.admin-shell{grid-template-columns:180px minmax(0,1fr)}.admin-nav{padding:22px 12px}.admin-main{padding:25px 18px}.site-footer>div{margin-left:0}.detail-layout{gap:5%}}@media (max-width:600px){.site-header{height:72px;padding:0 20px}.brand-mark{width:28px;height:32px;font-size:1.6rem}.account-link{padding:7px 12px;font-size:.78rem}.header-actions{gap:10px}.landing-hero{flex-direction:column;justify-content:flex-end;gap:28px;min-height:100svh;padding:96px 20px 36px;display:flex}.hero-copy h1{margin:0 0 22px;font-size:clamp(2.5rem,11vw,3.4rem)}.hero-copy .button.hero-cta{width:100%}.hero-secondary{text-align:center;margin:14px 0 0;display:block}.hero-art{min-height:0;margin:8px auto 0}.phone-mockup{width:210px;height:430px}.occasion-photos{grid-template-columns:1fr}.occasion-photo{aspect-ratio:16/9}.section{padding:42px 20px}.section-heading{align-items:flex-start;gap:12px;margin-bottom:25px}.section-heading h2{font-size:1.9rem}.section-heading .eyebrow{letter-spacing:.1em;font-size:.56rem}.section-heading>a{margin-top:10px;font-size:.72rem}.catalog{padding-top:8px}.template-grid{gap:14px}.template-art{border-radius:12px}.template-meta{gap:2px;padding:15px 0}.template-meta h3{font-size:.92rem}.template-meta p{font-size:.7rem}.template-meta svg{width:17px}.filters{flex-wrap:wrap;gap:10px;margin:15px 0 25px}.filters label{flex-basis:40%;margin-bottom:0;font-size:.75rem}.filters select{padding:10px;font-size:.85rem}.catalog .section-heading{flex-wrap:wrap}.site-footer{gap:16px;padding:32px 20px}.site-footer>span{flex-basis:100%}.site-footer>div{gap:13px}.detail-layout{display:block}.detail-layout>div:first-child{padding:0 0 30px;position:static}.detail-preview{margin:auto}.event-grid{grid-template-columns:1fr}.panel{padding:22px}.narrow{margin:25px auto}.inline-form{flex-direction:column;align-items:stretch}.empty-state{padding:50px 10px}.editor-grid{display:block}.editor-toolbar{flex-wrap:wrap;position:static}.editor-toolbar>.button{flex:1}.editor-toolbar>a{font-size:.8rem}.save-status{flex:1;justify-content:flex-end}.editor-form{padding:25px 20px}.editor-preview{padding:20px;display:none}.editor-preview.show-mobile{display:block}.editor-form.mobile-hidden{display:none}.preview-device{max-width:390px;height:75vh;margin:auto;position:static}.editor-bottom{background:var(--page);margin-top:20px;padding:15px 0;position:sticky;bottom:0}.modal{padding:28px 22px}.field-pair{gap:10px}.admin-shell{display:block}.admin-nav{flex-flow:wrap;align-items:center;padding:15px}.admin-nav .brand{flex-basis:100%;margin:0}.admin-nav .eyebrow,.admin-nav small{display:none}.admin-nav button{padding:9px;font-size:.75rem}.admin-main{padding:25px 15px}.admin-main .section-heading h1{font-size:1.8rem}.stats-row{gap:10px}.stats-row>div{min-width:120px;padding:15px;font-size:.8rem}.stats-row strong{font-size:1.7rem}.action-row{gap:10px}.button{padding:12px 17px}.choice-row{flex-wrap:wrap}.choice-row label{flex-basis:100%}.process-step h2{font-size:1.2rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
