@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--paper:#faf7ee;--ink:#1c2521;--gold:#99762f;--muted:#69716b;--line:#dfdfd2;--white:#fffef9;--danger:#a33131}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:11px 19px;background:transparent;color:var(--ink);font-weight:600;transition:background .15s}button:hover{background:#e9e5d8}button:disabled{opacity:.55;cursor:wait}button.primary,.primary{background:var(--ink);color:#fffdf4;border-color:var(--ink)}button.primary:hover{background:#34483c}button.danger{color:var(--danger);border-color:#d6b9b5}a{color:inherit}button.link{border:0;padding:6px 10px}button.icon{font-size:26px;line-height:1;padding:8px 12px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bd9c54;outline-offset:3px}.header{max-width:1240px;margin:auto;min-height:102px;display:flex;align-items:center;justify-content:space-between;padding:18px 40px;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-size:11px;letter-spacing:2px;line-height:1.6}.brand img{width:56px;height:56px;border-radius:50%}.brand strong{font-size:13px}nav{display:flex;align-items:center;justify-content:flex-end;gap:8px}.user-menu{position:relative}.user-menu summary{cursor:pointer;list-style:none;padding:12px;border:1px solid var(--line);border-radius:8px}.menu-items{position:absolute;right:0;top:52px;width:230px;padding:8px;background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 35px #16271b20;z-index:10}.menu-items button{display:block;text-align:right;width:100%;border:0}.hero{max-width:1240px;padding:82px 40px 96px;margin:auto;display:grid;grid-template-columns:1.25fr 1fr;gap:50px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:700;color:var(--gold);margin:0 0 18px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.15;font-weight:500}h1{font-size:clamp(40px,5vw,65px);letter-spacing:-1.7px;margin:0 0 28px}h2{font-size:36px;margin:0 0 24px}h3{font-size:24px;margin:18px 0 12px}em{color:var(--gold);font-weight:500}.lead{font-size:17px;color:#5e675f;margin:0 0 28px}.micro{font-size:11px;color:var(--muted);margin-top:16px}.actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px}.hero-copy .actions{justify-content:flex-end}.hero-art{position:relative;padding:32px;text-align:center}.hero-art img{position:relative;z-index:1;width:100%;max-width:380px;border-radius:50%;box-shadow:0 16px 50px #6d59211a}.orbit{position:absolute;inset:8px 8px 28px;border:1px solid #c7b37f;border-radius:50%;transform:rotate(-20deg)}.art-label{position:relative;display:block;font-size:8px;letter-spacing:2.4px;margin-top:32px;color:var(--gold)}.section{max-width:1240px;margin:auto;padding:64px 40px}.process{border-top:1px solid var(--line)}.section-heading{text-align:center;margin-bottom:40px}.grid{display:grid;gap:20px}.three{grid-template-columns:repeat(3,1fr)}.card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:28px}.card p{font-size:14px;color:var(--muted);margin-bottom:0}.number{font:italic 28px Georgia;color:var(--gold)}.occasion{text-align:center;border-radius:18px;background:#eaeadd;max-width:1160px;margin:40px auto}.occasion .actions{justify-content:flex-end;max-width:820px;margin:28px auto 0}.chips{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:30px}.chips span,.badge{display:inline-block;padding:5px 12px;border:1px solid #d5d7c9;border-radius:20px;font-size:12px;background:#f8f7ef}.faq{max-width:900px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-weight:600}.faq details p{font-size:14px;color:var(--muted)}footer{padding:36px 40px;border-top:1px solid var(--line);text-align:center;font-size:13px}footer>a{font:22px Georgia;text-decoration:none}footer p{color:var(--muted)}footer .actions{justify-content:center}dialog{width:min(720px,calc(100% - 30px));max-height:90dvh;border:1px solid var(--line);border-radius:18px;padding:30px;color:var(--ink);background:var(--white);box-shadow:0 20px 120px #0004}dialog::backdrop{background:#15221dc4;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.dialog-head h2{font-size:30px}.dialog-head .eyebrow{margin-bottom:8px}.close{flex:none}.field{display:block;margin:18px 0}.field>span{display:block;font-size:13px;font-weight:600;margin-bottom:7px}input:not([type=checkbox]),textarea,select{width:100%;border:1px solid #cccec2;background:#fffefa;border-radius:8px;padding:12px 14px;color:var(--ink)}textarea{min-height:125px;resize:vertical}.story-input{min-height:220px}small,.help{font-size:12px;color:var(--muted)}.check{display:flex;align-items:flex-start;gap:10px;margin:20px 0;font-size:13px}.check input{width:18px;height:18px;flex:none;margin-top:3px}.form-error{color:var(--danger);font-size:13px;margin:12px 0}.notice{padding:15px 18px;background:#eeefe5;border:1px solid var(--line);border-radius:9px;font-size:13px;margin:18px 0}.steps{display:flex;gap:5px;margin:0 0 24px}.steps span{height:4px;background:#e5e5da;flex:1;border-radius:3px}.steps span.active{background:var(--gold)}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.workspace{max-width:1160px;padding:50px 35px 80px;margin:auto;min-height:65vh}.workspace-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.workspace-head h1{font-size:42px;margin-bottom:10px}.workspace-head p{margin:0;color:var(--muted)}.workspace-head .actions{margin:0}.orders{display:grid;gap:16px}.order-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;background:var(--white);border:1px solid var(--line);border-radius:12px}.order-card h3{font-size:22px;margin:8px 0}.order-card p{margin:0;font-size:12px;color:var(--muted)}.order-card .actions{margin:0}.empty{text-align:center;padding:55px 24px;border:1px dashed #c9cbbb;border-radius:14px}.empty p{color:var(--muted)}.lyrics{white-space:pre-wrap;padding:22px;border:1px solid var(--line);background:var(--paper);border-radius:10px;font-family:Georgia,serif;line-height:1.9}.story-text{white-space:pre-wrap;overflow-wrap:anywhere}audio{width:100%;margin:16px 0}.timeline{padding-left:20px;font-size:13px}.timeline li{margin-bottom:12px}.timeline small{display:block}.tabs{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-bottom:24px}.tabs button.active{background:var(--ink);color:white}.message{padding:14px;border-radius:8px;background:var(--paper);margin-bottom:12px}.message small{display:block;margin-top:6px}.loading{text-align:center;padding:70px;color:var(--muted)}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);background:var(--ink);color:white;padding:12px 22px;border-radius:10px;box-shadow:0 5px 30px #0003;z-index:100;display:none;font-size:14px}#toast.show{display:block}.toolbar{display:flex;gap:12px;justify-content:flex-end;margin-bottom:20px}.toolbar input{max-width:320px}.admin-summary{margin-bottom:24px}.admin-summary .card h3{font-size:35px;margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}.divider{border:0;border-top:1px solid var(--line);margin:26px 0}.download{display:inline-block;text-decoration:none;border-radius:8px;padding:12px 18px;background:var(--ink);color:white}.plain-list{padding-left:20px;font-size:14px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.subtle{color:var(--muted);font-size:13px}
@media(max-width:760px){.header{padding:15px 20px;min-height:84px}.brand{font-size:9px;letter-spacing:1px;gap:8px}.brand strong{font-size:10px}.brand img{width:43px;height:43px}nav button{font-size:12px;padding:9px 11px}.hero{grid-template-columns:1fr;padding:45px 24px;gap:20px}.hero-art{max-width:330px;margin:auto;grid-row:2}.hero h1{font-size:46px}.lead{font-size:15px}.hero-art img{max-width:250px}.section{padding:45px 24px}.three{grid-template-columns:1fr}.occasion{margin:15px;border-radius:14px;padding:35px 22px}.occasion h2,h2{font-size:30px}.card{padding:24px}.two,.admin-grid{grid-template-columns:1fr;gap:0}dialog{padding:22px;width:calc(100% - 20px);max-height:94dvh;border-radius:12px}.dialog-head h2{font-size:26px}.workspace{padding:32px 20px 60px}.workspace-head{align-items:flex-start;flex-direction:column}.workspace-head h1{font-size:35px}.workspace-head .actions{align-self:flex-end}.order-card{align-items:flex-start;flex-direction:column;gap:12px}.order-card .actions{align-self:flex-end}.actions button{font-size:13px}.toolbar{flex-wrap:wrap}.toolbar input{max-width:none}.tabs{gap:5px}.tabs button{padding:8px 10px;font-size:12px}footer{padding:30px 20px}.brand span{max-width:95px}.hero .micro{font-size:10px}}
/* The decorative orbit must remain inside the narrow-screen layout. */
.orbit{transform:none}
.comms-cards{margin-bottom:34px}.comms-cards .card{display:flex;flex-direction:column;min-width:0}.comms-cards .card p{overflow-wrap:anywhere}.comms-cards .actions{margin-top:auto;padding-top:24px}.comms-cards .badge{align-self:flex-start}.comms-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:30px 0 20px}.comms-heading h2{margin-bottom:8px}.comms-heading p{margin:0}.comms-heading .actions{margin:0}.comms-filters select{width:auto;max-width:220px}.comms-row{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:20px 24px;text-align:left;background:var(--white);min-width:0}.comms-row>span{min-width:0;overflow-wrap:anywhere}.comms-row small{display:block;font-weight:400;margin-top:7px}.comms-meta{text-align:right;flex-shrink:0}.comms-detail{margin-bottom:20px}.wa-qr-wrap{text-align:center;margin:20px 0}.wa-qr-wrap img{width:280px;max-width:100%;height:auto;background:#fff;padding:10px;border:1px solid var(--line);border-radius:12px}#wa-state{overflow-wrap:anywhere}#comms-message-form textarea{min-height:190px}@media(max-width:760px){.comms-heading{align-items:stretch;flex-direction:column}.comms-filters{display:grid;grid-template-columns:1fr 1fr}.comms-filters input{grid-column:1/-1}.comms-filters select{width:100%;max-width:none;min-width:0}.comms-row{padding:16px;align-items:flex-start;flex-direction:column;gap:8px}.comms-meta{align-self:flex-end}.comms-cards{gap:14px}}
