/* Shared application chrome only; invitation artwork keeps its own palette. */
body.brand-shell{--paper:#fffaf1;--bg:#fffaf1;--panel:#fffdf8;--panel-2:#f6eddf;--wash:#f6eddf;--line:#e8d9c9;--ink:#3d2427;--ink-2:#715957;--ink-3:#806a62;--ink-soft:#715957;--rose:#782e3e;--rose-ink:#fffaf1;--rani:#782e3e;--rani-d:#5e2130;--jamun:#782e3e;--brand:#782e3e;--gold:#b38a4e;--muted-bg:#f2e7db;--f-ui:'Figtree',system-ui,sans-serif;--f-body:'Figtree',system-ui,sans-serif;--f-head:'Fraunces',Georgia,serif;--shadow:0 6px 26px #5b29380a;background:var(--bg);color:var(--ink);font-family:var(--f-ui)}
.brand-shell .panel,.brand-shell .stat,.brand-shell .owned-card,.brand-shell .plan{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.brand-shell .top{background:#fffaf1f5;border-color:var(--line);color:var(--ink)}
.brand-shell .tabs button,.brand-shell .top .btn.ghost,.brand-shell .brand .sub{color:var(--ink-soft)}
.brand-shell .tabs button[aria-selected=true],.brand-shell .btn.primary,.brand-shell .btn-primary{background:var(--brand);color:#fffaf1;border-color:var(--brand)}
.brand-shell .btn:not(.primary):not(.btn-primary):not(.ghost){background:var(--panel);color:var(--ink);border-color:var(--line)}
.brand-shell .f input,.brand-shell .f select,.brand-shell .f textarea,.brand-shell .manual-review-form input{background:#fffdf8;color:var(--ink);border-color:var(--line);border-radius:10px}
.brand-shell input[type=checkbox]{accent-color:var(--brand)}
.brand-shell .panel h2,.brand-shell .panel h3,.brand-shell .brand .logo{font-family:var(--f-head)}
.brand-shell .panel-head p,.brand-shell .hint{color:var(--ink-soft)}
.brand-shell .brand .logo{color:var(--brand);font-weight:600;letter-spacing:-.055em}
.brand-shell .tabs button{border-radius:999px}.brand-shell .btn{border-radius:12px}
.brand-shell .plan{padding:28px}.brand-shell .plan p{margin:16px 0;line-height:1.7}.brand-shell .plan .btn{margin-top:14px}
.brand-shell .form>.wide{grid-column:1/-1}.brand-shell .payment-settings-preview{margin-top:12px}
.brand-shell .manual-review-form{margin-top:24px}.brand-shell .manual-review-form label{display:block;margin:12px 0}.brand-shell .manual-review-form .row{margin-top:18px}
.brand-shell.policy-shell{max-width:760px;margin:48px auto;padding:0 24px;line-height:1.8}.policy-shell h1,.policy-shell h2{font-family:var(--f-head)}.policy-shell a{color:var(--brand)}
/* Explicit dark mode retains warm colours rather than inherited violet tokens. */
.brand-shell .top a.brand{text-decoration:none}.purchase-locked{display:block;max-width:850px;margin:48px auto;padding:24px}.purchase-locked h1{margin:16px 0;font:500 clamp(30px,5vw,48px)/1.15 var(--f-head)}.purchase-locked>p{line-height:1.7;color:var(--ink-soft)}.locked-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0}.locked-options button{padding:22px 16px;text-align:left;font:500 15px var(--f-ui);color:var(--ink-soft);border:1px solid var(--line);border-radius:14px;background:var(--panel-2);cursor:not-allowed;opacity:1}.locked-options small{display:block;margin-top:8px;font-size:12px}.card-locked-options{padding:12px 0;color:var(--ink-soft);font-size:12px;line-height:1.8}.card-actions button:disabled{cursor:not-allowed;opacity:.7}@media(max-width:520px){.locked-options{grid-template-columns:1fr}.purchase-locked{margin:20px auto}}
:root[data-theme=dark] body.brand-shell{--bg:#211619;--panel:#2e1e24;--panel-2:#39272e;--line:#563b44;--ink:#fff4e7;--ink-soft:#d1b9b0;--brand:#e5a5af;--rose:#e5a5af;--rose-ink:#321722}
:root[data-theme=dark] .brand-shell .top{background:#211619f5}
:root[data-theme=dark] .brand-shell .f input,:root[data-theme=dark] .brand-shell .f select,:root[data-theme=dark] .brand-shell .f textarea{background:#39272e}

/* One application palette, including legacy shop rules with literal colours.
   Scope to chrome/components: never recolour invitation art, swatches or scenes. */
body.brand-shell {
  --chrome: #4b202d;
  --chrome-ink: #fffaf1;
  --dim: var(--ink-soft);
  --good: #316747; --good-bg: #e8f1e8;
  --warn: #805a1e; --warn-bg: #f8eedb;
  --bad: #a3343f; --bad-bg: #f8e3e4;
  color-scheme: light;
}
.brand-shell .top,
.brand-shell > header:not(.top) {
  background: var(--chrome) !important;
  color: var(--chrome-ink);
  border-bottom: 1px solid #ffffff18 !important;
  box-shadow: none;
}
.brand-shell .top .logo,
.brand-shell .top .brand .logo,
.brand-shell .account-logo { color: var(--chrome-ink) !important; }
.brand-shell .top .logo i { background: #dfb981; }
.brand-shell .top .nav a,
.brand-shell > header nav a,
.brand-shell .top .brand .sub,
.brand-shell .top .btn.ghost,
.brand-shell .top .tabs button { color: #f0dcd7; }
.brand-shell .top .nav a:hover,
.brand-shell .top .nav a.on,
.brand-shell .top .tabs button:hover { background: #ffffff12; color: #fffaf1; }
.brand-shell .top a.top-cta,
.brand-shell .top .tabs button[aria-selected=true] {
  background: #fffaf1 !important;
  color: #4b202d !important;
  border-color: #fffaf1 !important;
}
.brand-shell .top .tabs button[aria-selected=true] .n { background: #ead9d2; color: #4b202d; }
.brand-shell .menu-btn { color: #fffaf1; }
.brand-shell .menu-btn i,
.brand-shell .menu-btn i::before,
.brand-shell .menu-btn i::after { background: #fffaf1; }
.brand-shell .menu { background: var(--paper); color: var(--ink); }
.brand-shell .menu nav a { color: var(--ink); border-color: var(--line); }
.brand-shell .menu nav a:hover { color: var(--brand); }
.brand-shell .menu-occ a { background: var(--panel-2) !important; color: var(--brand) !important; border: 1px solid var(--line); }
.brand-shell .mobile-dock { background: var(--panel); border-color: var(--line); box-shadow: var(--shadow); }
.brand-shell .mobile-dock a { color: var(--ink-soft); }
.brand-shell .mobile-dock a[aria-current=page] { background: var(--panel-2); color: var(--brand); }

/* Collection, search and invitation detail. */
.brand-shell .designs,
.brand-shell .filters,
.brand-shell .find,
.brand-shell .tpl,
.brand-shell .band,
.brand-shell .faq-band { background: var(--paper); color: var(--ink); }
.brand-shell .designs-head { background: var(--paper); border-color: var(--line); }
.brand-shell .designs-head h1 em,
.brand-shell .tile-meta span,
.brand-shell .from b,
.brand-shell .price,
.brand-shell .wh-underlink { color: var(--brand); }
.brand-shell .collection-back,
.brand-shell .designs-head p,
.brand-shell .find label,
.brand-shell .count,
.brand-shell .tile-kind,
.brand-shell .tile-id,
.brand-shell .tpl-note,
.brand-shell .tpl-lead,
.brand-shell .tpl-id,
.brand-shell .crumbs,
.brand-shell .addon,
.brand-shell .band-head p,
.brand-shell .faq details p { color: var(--ink-soft); }
.brand-shell .eyebrow,
.brand-shell .collection-eyebrow,
.brand-shell .wh-eyebrow { color: #8b633a; }
.brand-shell .filters,
.brand-shell .faq details,
.brand-shell .tpl-block,
.brand-shell .plan + .plan { border-color: var(--line); }
.brand-shell .frow button { color: var(--ink-soft); border-color: var(--line); background: var(--panel); }
.brand-shell .frow button.on,
.brand-shell .frow button[aria-pressed=true] { background: var(--brand); color: var(--rose-ink); border-color: var(--brand); }
.brand-shell .tile { color: var(--ink); }
.brand-shell .tile-pic { border: 1px solid var(--line); border-radius: 14px; }
.brand-shell .tile-tag { background: #fffaf1f2 !important; color: #782e3e !important; border: 1px solid #e8d9c9; border-radius: 999px; }
.brand-shell .tile-pic::after { content: 'View invitation'; background: #fffaf1f2; color: #782e3e; border: 1px solid #e8d9c9; }
.brand-shell .tpl-stage { background: var(--panel-2) !important; color: var(--ink-soft); }
.brand-shell .tpl-demo-cover { border-color: var(--line); box-shadow: var(--shadow); }
.brand-shell .tpl-demo-play { background: var(--brand); color: var(--rose-ink); }
.brand-shell .incl li { background: var(--panel); border-color: var(--line); color: var(--ink-soft); }
.brand-shell .buy { background: var(--paper); border-color: var(--line); }
.brand-shell .btn-line,
.brand-shell .secondary { background: var(--panel); color: var(--brand); border-color: var(--line); }
.brand-shell .btn-line:hover,
.brand-shell .secondary:hover { background: var(--panel-2); border-color: var(--brand); }
.brand-shell .btn-primary,
.brand-shell .btn.primary { color: var(--rose-ink) !important; }
.brand-shell .plan.pop { background: var(--panel-2); border-color: var(--line); }
.brand-shell .pop-note { background: var(--brand); color: var(--rose-ink); }
.brand-shell .purchase-summary { color: var(--ink); }
.brand-shell .purchase-summary > div { min-width: 0; }
.brand-shell .purchase-summary label { color: var(--ink-soft); font-size: 14px; }
.brand-shell .purchase-summary small,
.brand-shell .purchase-summary p { color: var(--ink-soft); }
.brand-shell .purchase-summary small a { color: var(--brand); }
.brand-shell .purchase-preview > img { display: block; }
.brand-shell .purchase-preview-actions { display: grid; justify-items: start; gap: 16px; margin-top: 22px; }
.brand-shell .purchase-preview-actions .btn { min-height: 48px; padding: 12px 24px; white-space: normal; }
.brand-shell .purchase-preview-actions p { margin: 0; max-width: 44ch; font-size: 14px; line-height: 1.7; }
.brand-shell .purchase-address { padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel-2); }
.brand-shell .purchase-address label { color: var(--ink); font-weight: 600; }
.brand-shell .purchase-address label span { font-weight: 400; font-size: 12px; color: var(--ink-soft); }
.brand-shell .purchase-address-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 12px; }
.brand-shell .purchase-address-input { display: flex; align-items: center; flex: 1 1 240px; min-width: 0; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding-right: 12px; }
.brand-shell .purchase-summary .purchase-address-input input { width: 100%; min-width: 0; border: 0; background: transparent; }
.brand-shell .purchase-address-input > span { flex: none; color: var(--ink-soft); font-size: 14px; }
.brand-shell #purchaseSlugStatus { margin: 10px 0 0; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.brand-shell #purchaseSlugStatus[data-state=available] { color: var(--good); }
.brand-shell #purchaseSlugStatus[data-state=error] { color: var(--bad); }
.brand-shell #purchaseSubmit:disabled { opacity: .5; cursor: not-allowed; }
.brand-shell .purchase-preview-actions { justify-items: stretch; }
.brand-shell .purchase-preview-buttons { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; width: 100%; }
.brand-shell .tpl-stage .purchase-preview-buttons { margin-top: 22px; }
.brand-shell .purchase-preview-buttons .btn { padding: 12px 10px; font-size: 13px; line-height: 1.4; min-height: 48px; white-space: normal; text-align: center; }
.brand-shell .purchase-price { display: grid; gap: 7px; margin: 18px 0 26px; }
.brand-shell .purchase-price strong { font: 500 30px var(--f-head); color: var(--brand); }
.brand-shell .purchase-price span { font-size: 13px; }
.brand-shell .purchase-addons { margin: 4px 0; padding: 0; border: 0; min-width: 0; display: grid; gap: 14px; }
.brand-shell .purchase-addons legend { padding: 0 0 12px; font-size: 13px; color: var(--ink-soft); }
.brand-shell .purchase-summary .purchase-addon { display: flex; gap: 12px; align-items: start; cursor: pointer; }
.brand-shell .purchase-summary .purchase-addon input { width: 18px; height: 18px; min-height: 0; flex: none; margin: 3px 0 0; padding: 0; accent-color: var(--brand); }
.brand-shell .purchase-addon b { display: block; font-weight: 500; color: var(--ink); }
.brand-shell .purchase-addon small { display: block; margin-top: 3px; font-size: 12px; }
.brand-shell .purchase-total { display: flex; justify-content: space-between; align-items: center; padding: 18px 0 0; border-top: 1px solid var(--line); }
.brand-shell .purchase-total strong { font: 500 28px var(--f-head); color: var(--brand); }
.brand-shell .purchase-account-note { font-size: 12px; margin: 16px 0 10px; }
.brand-shell #purchaseMessage:empty { display: none; }
.brand-shell .purchase-edit-guide { margin-top: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); scroll-margin-top: 100px; }
.brand-shell .purchase-edit-guide:not([open]) { display: none; }
.brand-shell .purchase-edit-guide summary { padding: 18px; cursor: pointer; font: 500 15px var(--f-ui); color: var(--brand); }
.brand-shell .purchase-edit-guide summary span { display: block; font-size: 12px; margin: 6px 0 0 17px; color: var(--ink-soft); font-weight: 400; }
.brand-shell .purchase-edit-content { padding: 0 20px 20px; color: var(--ink-soft); }
.brand-shell .purchase-edit-content p,.brand-shell .purchase-edit-content li { font-size: 13px; line-height: 1.75; }
.brand-shell .purchase-edit-content article { padding: 20px 0; border-top: 1px solid var(--line); }
.brand-shell .purchase-edit-content h3 { color: var(--ink); font: 500 21px var(--f-head); margin: 0 0 12px; }
.brand-shell .purchase-edit-content label { display: grid; gap: 6px; font-size: 12px; margin-top: 12px; }
.brand-shell .purchase-edit-content input { width: 100%; min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel-2); color: var(--ink-soft); font: 13px var(--f-ui); }
.brand-shell .edit-guide-steps { padding-left: 20px; margin: 18px 0 24px; }
.brand-shell .edit-guide-steps li + li { margin-top: 12px; }
.brand-shell .edit-guide-pages { display: flex; flex-wrap: wrap; gap: 6px; }
.brand-shell .edit-guide-pages span { font-size: 11px; border: 1px solid var(--line); padding: 6px 10px; border-radius: 8px; }
.brand-shell .account-payment-status { margin-top: 28px; border-top: 1px solid var(--line); padding: 20px 0; }
.brand-shell .account-payment-status summary { cursor: pointer; color: var(--brand); font-size: 14px; }
.brand-shell [hidden] { display: none !important; }

/* Working screens use the same type, fields and surfaces as the shop. */
.brand-shell .find input,
.brand-shell .purchase-summary input,
.brand-shell .purchase-summary select,
.brand-shell .login input,
.brand-shell .f input,
.brand-shell .f select,
.brand-shell .f textarea,
.brand-shell .mk .fields input,
.brand-shell .mk .fields textarea,
.brand-shell .mk .fields select,
.brand-shell .manual-review-form input {
  background: var(--panel); color: var(--ink); border: 1px solid var(--line); border-radius: 12px; color-scheme: inherit;
}
.brand-shell :is(a,button,input,select,textarea,summary):focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.brand-shell .login .logo { font-family: var(--f-head); color: var(--brand); }
.brand-shell .mk-side { background: var(--panel-2) !important; }
.brand-shell .account-auth,
.brand-shell .login form,
.brand-shell dialog { background: var(--panel); color: var(--ink); border-color: var(--line); box-shadow: var(--shadow); }
.brand-shell .design-intent,
.brand-shell .empty-collection,
.brand-shell .review { background: var(--panel-2); color: var(--ink); border: 1px solid var(--line); border-radius: 14px; }
.brand-shell .owned-card p,
.brand-shell .page-intro p,
.brand-shell.policy-shell small { color: var(--ink-soft); }
.brand-shell .btn.danger { color: var(--bad); }
.brand-shell :is(.purchase-locked,.panel,.login,.owned-card-body,.account-auth) a:not(.btn):not(.action):not(.secondary):not(.google-login) { color: var(--brand); text-underline-offset: 3px; }
.brand-shell .foot { background: var(--chrome); color: #fffaf1; }
.brand-shell .foot-brand p,
.brand-shell .foot-col a,
.brand-shell .foot-base,
.brand-shell .foot-made { color: #e5c9c1; }
.brand-shell .foot-col b { color: #dfb981; }
.brand-shell .foot-base,
.brand-shell .foot-invite { border-color: #ffffff24; }
.brand-shell .hj-choose { background: linear-gradient(#371b26, #4b202d); }
.brand-shell .hj-sheet-in { background: #4b202d; }

/* Gate and catering are host tools, not customer invitation artwork. */
body.brand-ops { --ok: #316747; --warn: #805a1e; --bad: #a3343f; min-height: 100dvh; }
.brand-ops :is(h1,h2,.g-count b,.g-step output) { font-family: var(--f-head); }
.brand-ops :is(label,.g-brand,.g-k) { font-family: var(--f-ui); }
.brand-ops :is(input,select) { background: var(--panel); color: var(--ink); border-color: var(--line); color-scheme: light; }
.brand-ops .g-btn,
.brand-ops .g-fns button[aria-pressed=true] { background: var(--brand); color: var(--rose-ink); border-color: var(--brand); }
.brand-ops .g-err { color: var(--bad); }
.brand-ops .g-res.done h2,
.brand-ops .g-ok { color: var(--ok); }
.brand-ops .g-note,
.brand-ops .g-sync { color: var(--warn); }
.brand-ops .g-cam { background: #27171d; }
.brand-ops .g-camnote { color: #f0dcd7; }
.brand-ops .g-hits li + li { border-color: var(--line); }

:root[data-theme=dark] body.brand-shell {
  --paper:#211619; --bg:#211619; --panel:#2e1e24; --panel-2:#39272e; --wash:#39272e;
  --line:#634650; --ink:#fff4e7; --ink-soft:#d1b9b0; --ink-2:#d1b9b0; --ink-3:#c4a89f;
  --muted-bg:#39272e; --brand:#e5a5af; --rose:#e5a5af; --rose-ink:#321722;
  --good:#a4d4b1; --good-bg:#24392a; --warn:#eac482; --warn-bg:#3d3020; --bad:#f0a0a8; --bad-bg:#44252b;
  color-scheme:dark;
}
:root[data-theme=dark] .brand-shell .btn.primary { background:var(--brand); border-color:var(--brand); }
:root[data-theme=dark] .brand-shell .eyebrow,
:root[data-theme=dark] .brand-shell .wh-eyebrow { color:#d9b58c; }

/* Browse first: concise collection header, visible occasion selection. */
.brand-shell .designs { padding-top: 28px; }
.brand-shell .designs-head { padding: 0; margin: 0 0 22px; text-align: left; border: 0; }
.brand-shell .designs-head h1 { margin: 10px 0 0; font-size: clamp(30px, 4vw, 48px); line-height: 1.12; letter-spacing: -.025em; }
.brand-shell .designs .filters { position: static; padding: 0; margin: 0 0 16px; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
.brand-shell .designs .frow { flex-wrap: wrap; overflow: visible; gap: 8px; }
.brand-shell .designs .frow button { padding: 11px 16px; font-size: 13px; min-height: 44px; }
.brand-shell .designs .find { padding: 0; display: flex; align-items: center; gap: 12px; margin: 0; }
.brand-shell .designs .find label { margin: 0; font-size: 13px; white-space: nowrap; }
.brand-shell .designs .find input { max-width: 420px; min-width: 0; }
.brand-shell .designs .count { margin: 18px 0 12px; font-size: 13px; }
.brand-shell .occasion-select { display: none; }
.brand-shell .guide-safety { font-size: 12px; color: var(--ink-soft); }
.brand-shell .guide-overview { padding: 12px 0 18px; color: var(--brand); font-weight: 600; font-size: 13px; }
.brand-shell .guide-group { border: 0; border-top: 1px solid var(--line); border-radius: 0; padding: 0; background: transparent; }
.brand-shell .guide-group > summary { padding: 18px 0; font-size: 15px; font-weight: 600; cursor: pointer; }
.brand-shell .guide-group > div { padding: 0 0 20px; font-size: 14px; line-height: 1.65; }
.brand-shell .guide-list { padding-left: 18px; margin: 0; }
.brand-shell .guide-list li + li { margin-top: 12px; }
.brand-shell .guide-page-controls { list-style: none; padding: 0; margin: 0; }
.brand-shell .guide-page-controls li { padding: 12px 0; border-bottom: 1px solid var(--line); }
.brand-shell .guide-page-controls small { display: block; color: var(--ink-soft); font-size: 12px; margin-top: 4px; }
.brand-shell .guide-words { margin: 12px 0; padding: 12px; border: 1px solid var(--line); border-radius: 10px; }
.brand-shell .guide-words summary { cursor: pointer; font-weight: 500; font-size: 13px; }
.brand-shell .guide-words label { display: block; margin-top: 14px; font-size: 13px; }
.brand-shell .guide-words input { width: 100%; margin-top: 6px; }
.brand-shell .guide-module-list > div { border-bottom: 1px solid var(--line); padding: 14px 0; }
.brand-shell .guide-status { display: block; font-size: 12px; color: var(--brand); margin-top: 4px; }
.brand-shell .guide-module-list p { margin: 6px 0 0; }
@media(max-width: 640px) {
  .brand-shell .designs { padding-top: 22px; }
  .brand-shell .designs .frow { display: none; }
  .brand-shell .occasion-select { display: grid; gap: 8px; font-size: 13px; font-weight: 600; }
  .brand-shell .occasion-select select { width: 100%; min-height: 48px; padding: 12px; border: 1px solid var(--brand); border-radius: 12px; color: var(--brand); background: var(--panel); font: inherit; }
  .brand-shell .designs .find label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .brand-shell .designs .find input { max-width: none; width: 100%; }
}
/* A quiet custom-design route, shared by the journey and catalogue. */
.custom-card-link{display:inline-block;margin:12px 0;color:inherit;font-size:14px;text-decoration:underline;text-underline-offset:5px}
.custom-card-page{max-width:790px;margin:0 auto;padding:56px 24px 88px;color:#502936}
.custom-card-page h1{font-family:Fraunces,Georgia,serif;font-size:clamp(38px,7vw,72px);line-height:1.08;letter-spacing:-.04em;margin:20px 0}
.custom-card-page>p{max-width:580px;line-height:1.7}
.custom-card-steps{display:flex;flex-wrap:wrap;gap:20px 32px;margin:32px 0}
.custom-card-steps span{display:grid;gap:8px}.custom-card-steps b{font-size:12px;color:#98654e}
.custom-card-page .custom-card-note{font-size:13px;color:#765d60;margin-top:24px}
.custom-card-callout{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;margin:20px 0 24px;border:1px solid #c99e815c;border-radius:16px;background:linear-gradient(115deg,#522536,#743748);color:#fff4e5;text-align:left;overflow:hidden}
.custom-card-callout::after{content:'';position:absolute;right:20%;top:-85px;width:230px;height:230px;border:1px solid #e3b99530;border-radius:50%;pointer-events:none}
.custom-card-callout>div,.custom-card-cta{position:relative;z-index:1}
.custom-card-callout .custom-card-eyebrow{display:none}
.custom-card-callout h2{font:400 clamp(21px,2vw,26px)/1.2 Fraunces,Georgia,serif;letter-spacing:-.025em;color:#fff4e5;margin:0 0 5px}
.custom-card-callout p{font:400 12px/1.5 Figtree,system-ui,sans-serif;color:#ead3ce;margin:0;max-width:440px}
.custom-card-callout .custom-card-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;min-height:44px;padding:10px 16px;border:1px solid #d1aa8a80;border-radius:100px;color:#fff4e5;background:#ffffff09;text-decoration:none;font:500 12px Figtree,system-ui,sans-serif}
.custom-card-callout .custom-card-cta:hover{background:#ffffff16;border-color:#e5c39f}
@media(max-width:600px){.custom-card-callout{align-items:flex-start;flex-direction:column;gap:10px;padding:16px 18px}.custom-card-callout .custom-card-cta{padding:0;min-height:32px;border:0;background:none;justify-content:flex-start}.custom-card-callout h2{font-size:22px}}
.custom-enquiry-form{position:relative;display:grid;gap:20px;margin-top:30px;padding:28px;border:1px solid #e2cfc1;border-radius:22px;background:#fffaf3;box-shadow:0 16px 44px #54253807}
.custom-enquiry-form label{display:grid;gap:8px;font:500 14px/1.5 Figtree,system-ui,sans-serif;color:#532c38}
.custom-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.custom-enquiry-form input:not([type=checkbox]),.custom-enquiry-form textarea{box-sizing:border-box;width:100%;min-width:0;padding:13px 14px;border:1px solid #ddc9bc;border-radius:10px;background:#fffcf8;color:#492332;font:400 16px/1.5 Figtree,system-ui,sans-serif}
.custom-enquiry-form textarea{resize:vertical;min-height:126px}
.custom-enquiry-form input:focus,.custom-enquiry-form textarea:focus{outline:2px solid #9d5d6c;outline-offset:2px}
.custom-enquiry-form small{font-size:12px;color:#876e70}
.custom-enquiry-form .custom-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;font-weight:400;line-height:1.6}
.custom-consent input{width:18px;height:18px;flex:0 0 18px;margin:1px 0;accent-color:#743748}
.custom-consent a{color:inherit;text-underline-offset:3px}
.custom-enquiry-form .btn{justify-self:start;gap:24px}
.custom-form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.custom-form-status:empty{display:none}.custom-form-status{margin:0;font-size:14px;color:#853b4b}
.custom-enquiry-form .custom-card-note{margin:0;font-size:12px;line-height:1.6}
.custom-form-success h2{font:400 34px/1.2 Fraunces,Georgia,serif}.custom-form-success p{line-height:1.7}.custom-form-success .btn{margin-top:24px}
.custom-request-idea{white-space:pre-wrap;overflow-wrap:anywhere}.custom-request-contact{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
@media(max-width:600px){.custom-card-page{padding:30px 20px 60px}.custom-card-page h1{font-size:40px}.custom-enquiry-form{padding:20px;gap:18px;border-radius:18px}.custom-form-pair{grid-template-columns:1fr;gap:18px}}

/* One invitation, one inline workspace. No second page or nested scrolling. */
.owned-card.controls-open{grid-column:1/-1}
.owned-card.controls-open .owned-card-art{height:180px}
.card-controls[hidden]{display:none}
.card-controls{min-width:0;border-top:1px solid #dfc9c2;background:#fffaf5;padding:20px 12px 12px}
.card-controls-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 12px 18px}
.card-controls-heading h4{margin:0;font-size:21px;color:#632e40}
.card-controls-frame{display:block;width:100%;height:500px;border:0;background:#fffaf5}
.card-controls-extras{padding:18px 12px;border-top:1px solid #dfc9c2}
.controls-loading{padding:10px 12px;color:#765d60}
.controls-notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:2000;max-width:calc(100% - 32px);padding:12px 20px;border-radius:16px;background:#632e40;color:#fffaf5;box-shadow:0 4px 24px #30111e22}
body.embedded-desk{min-height:0;background:#fffaf5;overflow:hidden}
.embedded-desk #root{display:flow-root;min-height:0}
.embedded-desk .top{position:static;background:transparent;border:0;box-shadow:none}
.embedded-desk .top-row{display:none}
.embedded-desk .wrap{max-width:none;padding-inline:12px}
.embedded-desk main.wrap{padding-top:12px;padding-bottom:16px}
.embedded-desk .tabs{display:flex;flex-wrap:wrap;overflow:visible;gap:6px;padding-top:0}
.embedded-desk .tabs button{white-space:normal}
.embedded-desk .toast{position:fixed;bottom:12px}
.allot-card-form{margin-top:20px;padding-top:20px;border-top:1px solid var(--line);display:grid;gap:14px}
.allot-card-form label{display:grid;gap:6px}.allot-card-form input,.allot-card-form select{width:100%;min-width:0;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:inherit}
@media(max-width:600px){.card-controls{padding:16px 0 8px}.card-controls-heading{padding-inline:14px}.card-controls-heading h4{font-size:18px}.embedded-desk .panel{padding:16px}.embedded-desk .wrap{padding-inline:10px}}

/* Embedded controls have their own quiet navigation, not the Studio header's white active pill. */
.brand-shell.embedded-desk{background:#f8eee5}
.brand-shell.embedded-desk .top{background:#f8eee5!important;border-bottom:0!important;padding:0 10px}
.brand-shell.embedded-desk .top .wrap{padding:0}
.brand-shell.embedded-desk .top .tabs{padding:8px;margin:0;border:1px solid #ddc6bb;border-radius:16px;background:#efe0d8;gap:5px}
.brand-shell.embedded-desk .top .tabs button{color:#71434e;background:transparent;border:1px solid transparent;min-height:42px;padding:10px 15px;font-weight:500;transition:background .15s,color .15s;outline-offset:2px}
.brand-shell.embedded-desk .top .tabs button:hover{background:#e3cbc4;color:#542535}
.brand-shell.embedded-desk .top .tabs button[aria-selected=true]{background:#743748!important;color:#fff4e5!important;border-color:#743748!important;box-shadow:0 3px 8px #53233318}
.brand-shell.embedded-desk .top .tabs button[aria-selected=true] .n{background:#ffffff20;color:#fff4e5}
.brand-shell.embedded-desk .panel,.brand-shell.embedded-desk .stat{background:#fff8ef;border-color:#e4d1c4;box-shadow:none}
.card-controls,.card-controls-frame{background:#f8eee5}
.card-controls-heading h4{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:24px}
.brand-shell .card-controls-heading .secondary{background:transparent;border-color:#d8bdb0;color:#71434e}
.brand-shell .owned-card .action[aria-expanded=true]{background:#632d3e;color:#fff4e5;border-color:#632d3e;box-shadow:0 0 0 3px #dec0ad66}
@media(max-width:600px){.brand-shell.embedded-desk .top .tabs button{font-size:12px;padding:9px 12px}.card-controls-heading h4{font-size:22px}}

/* Compact application rhythm. The full-screen invitation scenes are untouched. */
.brand-shell .top .nav a:is(:hover,.on,:focus-visible){background:#ffffff18!important;color:#fffaf1!important}
.brand-shell .menu{background:var(--paper);color:var(--ink);overflow-y:auto;overscroll-behavior:contain}
.brand-shell .menu nav a{color:var(--ink);font-size:clamp(21px,4vw,28px);padding-block:12px;border-color:var(--line)}
.brand-shell .menu-occ a{background:var(--panel-2)!important;color:var(--brand)!important;border:1px solid var(--line);border-radius:12px;min-height:48px;padding:12px;align-items:center;font-size:13px}
.brand-shell .menu-occ a:hover{background:#ead8ce!important}
.brand-shell :is(.designs,.purchase-summary,.tpl){max-width:1160px;margin-inline:auto;width:100%;box-sizing:border-box}
.brand-shell .designs{padding:26px 24px 48px}
.brand-shell .designs-head{margin-bottom:18px}
.brand-shell .designs-head h1{font-size:clamp(28px,3.5vw,40px)}
.brand-shell .tile-pic{aspect-ratio:3/4}
.brand-shell .tile-meta{align-items:baseline;gap:8px}
.brand-shell .tile-meta>*{min-width:0;overflow-wrap:anywhere}
.brand-shell .tile-meta>span{white-space:nowrap;flex-shrink:0}
.brand-shell .band{padding:40px 24px;max-width:1160px;margin-inline:auto}
.brand-shell .band-head{margin-bottom:24px}
.brand-shell .band-head h2{font-size:clamp(28px,3.4vw,40px);line-height:1.15}
.brand-shell .band-head p{font-size:15px;line-height:1.6;max-width:60ch}
.brand-shell .plan{padding:22px;border-radius:16px}
.brand-shell .plan h3{font-size:25px}.brand-shell .plan p{font-size:14px;line-height:1.65;margin:12px 0}
.brand-shell .faq details{padding-block:0}.brand-shell .faq summary{padding:16px 0;font-size:16px}.brand-shell .faq details p{font-size:14px;line-height:1.7}
.brand-shell .hj-how{scroll-margin-top:90px}
.brand-shell .tpl{padding:28px 24px 40px;gap:32px;align-items:start;border:0}
.brand-shell .tpl-stage{position:static;min-height:0;height:auto;padding:22px;gap:12px;border-radius:18px}
.brand-shell .tpl-stage .tpl-demo-cover{width:min(100%,300px);max-width:300px;aspect-ratio:3/4;margin:0 auto;border-radius:14px;overflow:hidden}
.brand-shell .tpl-demo-cover img{width:100%;height:100%;object-fit:cover;display:block}
.brand-shell .tpl-stage .purchase-preview-buttons{margin-top:4px}
.brand-shell .tpl-info{padding:8px 0 0;min-width:0}
.brand-shell .tpl-info h1{font-size:clamp(30px,3.8vw,46px);line-height:1.12;margin:14px 0}
.brand-shell .tpl-lead{font-size:15px;line-height:1.65}
.brand-shell .buy{position:static;padding:18px 0;margin:20px 0 12px;gap:16px;flex-wrap:wrap}
.brand-shell .design-story{border-bottom:1px solid var(--line)}
.brand-shell .design-story summary{cursor:pointer;min-height:44px;padding:12px 0;color:var(--brand);font-size:14px}
.brand-shell .design-story p{margin:4px 0 16px}
.brand-shell .purchase-summary{margin-block:0;padding:28px 24px 48px;gap:32px;align-items:start}
.brand-shell .purchase-preview>img{width:min(100%,300px);max-height:400px;aspect-ratio:3/4;object-fit:cover;margin:0 auto;border-radius:14px}
.brand-shell .purchase-checkout h1{font-size:clamp(30px,3.8vw,44px);line-height:1.12;margin:10px 0}
.brand-shell .purchase-preview-actions{margin-top:14px;gap:10px}
.brand-shell .purchase-preview-actions p{font-size:12px;line-height:1.5}
.brand-shell .purchase-address{padding:16px}.brand-shell .purchase-address-row{margin:10px 0}
.brand-shell .purchase-price{margin:14px 0 18px}.brand-shell .purchase-account-note{line-height:1.5}
.brand-shell .purchase-edit-guide{width:100%;margin-top:12px}
.brand-shell .purchase-preview-buttons .btn{border-radius:12px}
.brand-shell .custom-card-page{padding:32px 24px 48px}
.brand-shell .custom-card-page h1{font-size:clamp(32px,4vw,46px);margin:14px 0}
.brand-shell .custom-enquiry-form{margin-top:22px;padding:24px;gap:16px;border-radius:16px;background:var(--panel);border-color:var(--line)}
.brand-shell .custom-enquiry-form :is(input:not([type=checkbox]),textarea){background:var(--paper);color:var(--ink);border-color:var(--line)}
.brand-shell .custom-card-callout{padding:14px 18px;gap:16px;margin:16px 0 20px;border-radius:14px}
.brand-shell .custom-card-callout h2{font-size:22px}
.brand-shell .custom-card-callout .custom-card-cta{min-height:44px}
.brand-shell .foot{padding-top:36px}.brand-shell .foot-in{gap:28px}.brand-shell .foot-base{margin-top:28px;padding-block:18px;flex-wrap:wrap}
.account-shell>header{padding:16px max(20px,calc((100vw - 1120px)/2));gap:16px}
.account-shell>main{max-width:1120px;margin:28px auto;padding:0 24px}
.account-shell .account-logo{font-size:32px}
.account-shell .page-intro{margin-bottom:20px}
.account-shell .page-intro h1{font-size:clamp(32px,4vw,44px);line-height:1.12;margin:10px 0}
.account-shell .page-intro p{margin:8px 0;font-size:14px;line-height:1.6}
.account-shell .account-auth>div:first-child{padding:28px}
.account-shell .account-auth h2{font-size:28px;margin:12px 0}.account-shell .account-auth p{font-size:14px;line-height:1.6}
.account-shell .account-art{min-height:300px}.account-shell .account-art>span{font-size:28px}
.account-shell .dashboard-toolbar{margin:16px 0;gap:14px}.account-shell .dashboard-toolbar .eyebrow{display:none}
.account-shell .dashboard-toolbar h2{font-size:23px;margin:0}
.account-shell .account-card-grid{gap:18px}.account-shell .owned-card-art{height:210px}
.account-shell .owned-card-body{padding:18px}.account-shell .owned-card h3{font-size:24px}
.account-shell .owned-card.controls-open .owned-card-art{height:120px}
.account-shell .empty-collection{padding:28px 20px;margin:0}.account-shell .empty-collection h3{font-size:26px}
.account-shell footer{margin-top:28px;gap:16px;padding-top:16px}
.brand-shell .wrap{max-width:1120px;min-width:0}.brand-shell .panel{padding:20px;border-radius:14px}
.brand-shell .panel-head{gap:14px;flex-wrap:wrap}.brand-shell .panel-head h2{font-size:24px}
.brand-shell .top .tabs{gap:6px}.brand-shell .top .tabs button{min-height:44px;padding:10px 14px}
.brand-shell .table-wrap{max-width:100%;overflow-x:auto}
.brand-shell .f :is(input,select,textarea){min-width:0;max-width:100%}
.brand-shell.policy-shell{margin:28px auto;font-size:16px;line-height:1.7;overflow-wrap:anywhere}
.policy-shell h1{font-size:clamp(30px,4vw,42px)}.policy-shell h2{font-size:24px;margin-top:28px}
.policy-shell #refunds{scroll-margin-top:24px}
@media(max-width:700px){
  .brand-shell .designs{padding:20px 20px 32px}.brand-shell .designs-head{margin-bottom:16px}
  .brand-shell .designs .custom-card-callout{flex-direction:row;align-items:center;gap:12px;padding:12px 14px}
  .brand-shell .designs .custom-card-callout h2{font-size:18px;margin:0}
  .brand-shell .designs .custom-card-callout p{display:none}
  .brand-shell .designs .custom-card-cta{font-size:12px;gap:6px;max-width:98px;flex-shrink:0;min-height:44px}
  .brand-shell :is(.tpl,.purchase-summary){grid-template-columns:minmax(0,1fr);padding:20px;gap:24px}
  .brand-shell .tpl-stage{padding:16px;gap:10px}
  .brand-shell .tpl-stage .tpl-demo-cover{width:165px;max-width:100%;aspect-ratio:3/4}
  .brand-shell .purchase-preview>img{width:150px;height:200px;max-width:100%}
  .brand-shell .purchase-preview-actions{margin-top:12px}.brand-shell .tpl-info{padding:0}
  .brand-shell .purchase-preview-buttons .btn{padding:10px 8px;min-height:48px;font-size:12px}
  .brand-shell .purchase-checkout h1{font-size:32px}.brand-shell .purchase-price strong{font-size:28px}
  .brand-shell .band{padding:28px 20px}.brand-shell .plan{padding:20px}
  .brand-shell .custom-card-page{padding:24px 20px 36px}.brand-shell .custom-card-page h1{font-size:34px}
  .brand-shell .custom-enquiry-form{padding:18px;gap:16px}
  .account-shell>main{margin:22px auto;padding:0 20px}
  .account-shell .account-auth>div:first-child{padding:22px}.account-shell .account-art{display:none}
  .account-shell .dashboard-toolbar{gap:12px}.account-shell .dashboard-toolbar>div:last-child{gap:8px}
  .account-shell .owned-card-art{height:200px}.account-shell .page-intro h1{font-size:34px}
  .account-shell .empty-collection h3{font-size:24px}.account-shell .empty-collection p{font-size:14px}
  .brand-shell .panel{padding:16px}.brand-shell .top .tabs button{font-size:13px;padding:10px 12px}
  .brand-shell .menu nav a{padding-block:10px}.brand-shell .menu-occ a{font-size:12px;padding:10px;min-height:48px}
}
