/* style.css */
:root {
  --wine-950: #2a0713;
  --wine-900: #3b0f1f;
  --wine-800: #5a1729;
  --wine-700: #7a1f35;
  --gold-600: #c89b3c;
  --gold-400: #ddb756;
  --paper: #ffffff;
  --paper-2: #f2f6f3;
  --ink: #1f1a17;
  --muted: #665a55;
  --line: rgba(59, 15, 31, 0.14);
  --green: #386150;
  --blue: #263e63;
  --shadow: 0 18px 50px rgba(42, 7, 19, 0.14);
  --radius: 8px;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  line-height: 1.55;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

img {
  display: block;
  max-width: 100%;
}

.wrap {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.site-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(251, 246, 236, 0.9);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
}

.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 15px 0;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;
  color: var(--wine-900);
  letter-spacing: 0;
}

.brand-mark {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: var(--wine-900);
  color: var(--gold-400);
  display: grid;
  place-items: center;
  font-family: var(--serif);
  font-weight: 800;
  font-size: 17px;
}

.brand span:last-child {
  font-family: var(--serif);
  font-size: 25px;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 24px;
  color: var(--muted);
  font-size: 15px;
  font-weight: 700;
}

.nav-links a:hover {
  color: var(--wine-900);
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 11px 18px;
  border: 1px solid transparent;
  border-radius: 7px;
  font-weight: 850;
  font-size: 14px;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.btn:hover {
  transform: translateY(-1px);
}

.btn-primary {
  background: var(--wine-900);
  color: #fff;
  box-shadow: 0 10px 24px rgba(59, 15, 31, 0.22);
}

.btn-primary:hover {
  background: var(--wine-800);
}

.btn-gold {
  background: var(--gold-600);
  color: var(--wine-950);
  box-shadow: 0 10px 24px rgba(200, 155, 60, 0.24);
}

.btn-outline {
  border-color: rgba(59, 15, 31, .2);
  color: var(--wine-900);
  background: rgba(255,255,255,.45);
}

.btn-outline:hover {
  background: #fff;
}

.hero {
  position: relative;
  overflow: hidden;
  padding: 74px 0 54px;
  background:
    linear-gradient(180deg, rgba(251, 246, 236, .96), rgba(251, 246, 236, .86)),
    radial-gradient(circle at 18% 20%, rgba(221, 183, 86, .26), transparent 30%),
    linear-gradient(135deg, var(--paper), #f7efe1 48%, #efe0c9);
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr);
  align-items: center;
  gap: 52px;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--wine-800);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
}

.eyebrow::before {
  content: "";
  width: 34px;
  height: 1px;
  background: var(--gold-600);
}

h1,
h2,
h3 {
  color: var(--wine-900);
  letter-spacing: 0;
}

h1 {
  margin: 18px 0 0;
  font-family: var(--serif);
  font-size: 64px;
  line-height: .98;
  font-weight: 700;
}

.hero-copy p {
  margin: 22px 0 0;
  color: var(--muted);
  font-size: 18px;
  max-width: 590px;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.hero-proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 38px;
}

.proof-item {
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,255,255,.58);
}

.proof-item strong {
  display: block;
  color: var(--wine-900);
  font-size: 19px;
}

.proof-item span {
  color: var(--muted);
  font-size: 13px;
}

.hero-visual {
  position: relative;
}

.hero-image {
  width: 100%;
  border-radius: 8px;
  border: 1px solid rgba(59, 15, 31, .12);
  box-shadow: 0 28px 70px rgba(42, 7, 19, .26);
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.floating-panel {
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: min(300px, calc(100% - 36px));
  background: rgba(251, 246, 236, .94);
  border: 1px solid rgba(255,255,255,.6);
  border-radius: 8px;
  box-shadow: var(--shadow);
  padding: 16px;
}

.timer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.timer-row strong {
  font-family: var(--serif);
  color: var(--wine-900);
  font-size: 26px;
}

.timer-row span {
  font-size: 12px;
  color: var(--muted);
  font-weight: 800;
  text-transform: uppercase;
}

.mini-progress {
  height: 8px;
  margin-top: 12px;
  border-radius: 999px;
  background: #eadcc9;
  overflow: hidden;
}

.mini-progress span {
  display: block;
  width: 65%;
  height: 100%;
  background: linear-gradient(90deg, var(--gold-600), var(--wine-700));
}

.section {
  padding: 82px 0;
}

.section.alt {
  background: var(--wine-900);
  color: var(--paper);
}

.section-head {
  max-width: 720px;
  margin: 0 auto 36px;
  text-align: center;
}

.section-head h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: 42px;
  line-height: 1.08;
}

.section-head p {
  color: var(--muted);
  font-size: 17px;
  margin: 15px 0 0;
}

.section.alt .section-head h2 {
  color: var(--paper);
}

.section.alt .section-head p {
  color: #e8c9a0;
}

.feature-grid,
.ops-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.feature-card,
.ops-card,
.plan-card,
.dashboard-card,
.template-card,
.auth-card,
.edit-card,
.settings-card {
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: rgba(255,255,255,.56);
  box-shadow: 0 12px 34px rgba(42, 7, 19, 0.06);
}

.feature-card,
.ops-card {
  padding: 24px;
}

.feature-card h3,
.ops-card h3 {
  margin: 14px 0 8px;
  font-size: 20px;
}

.feature-card p,
.ops-card p {
  margin: 0;
  color: var(--muted);
}

.icon-box {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: var(--wine-900);
  color: var(--gold-400);
}

.template-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 24px;
}

.template-tab {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--wine-900);
  padding: 10px 16px;
  border-radius: 999px;
  font-weight: 850;
}

.template-tab.active {
  background: var(--wine-900);
  color: #fff;
}

.template-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.template-card {
  position: relative;
  min-height: 260px;
  overflow: hidden;
  padding: 20px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.template-card::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 4px;
  pointer-events: none;
}

.template-card[data-style="royal"] { background: linear-gradient(145deg, #3b0f1f, #7a1f35); }
.template-card[data-style="gold"] { background: linear-gradient(145deg, #ddb756, #7a1f35); color: #2a0713; }
.template-card[data-style="bloom"] { background: linear-gradient(145deg, #a64e68, #f3d4c5); color: #2a0713; }
.template-card[data-style="midnight"] { background: linear-gradient(145deg, #111827, #263e63); }
.template-card[data-style="sage"] { background: linear-gradient(145deg, #24483c, #86a681); }
.template-card[data-style="minimal"] { background: linear-gradient(145deg, #f6ead4, #ffffff); color: #2a0713; }

.template-category {
  position: relative;
  align-self: flex-start;
  padding: 6px 10px;
  background: rgba(255,255,255,.2);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 850;
}

.template-card h3 {
  position: relative;
  margin: auto 0 4px;
  color: inherit;
  font-family: var(--serif);
  font-size: 30px;
}

.template-card p {
  position: relative;
  margin: 0;
  font-size: 14px;
}

.process {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  counter-reset: step;
}

.process-card {
  padding: 24px;
  border-radius: var(--radius);
  background: #fff;
  border: 1px solid var(--line);
  counter-increment: step;
}

.process-card::before {
  content: counter(step, decimal-leading-zero);
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--gold-600);
  color: var(--wine-950);
  font-weight: 900;
}

.process-card h3 {
  margin: 18px 0 8px;
}

.process-card p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}

.plans {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  max-width: 900px;
  margin: 0 auto;
}

.plan-card {
  padding: 30px;
  background: #fff;
}

.plan-card.featured {
  border-color: rgba(200, 155, 60, .8);
  box-shadow: 0 24px 55px rgba(59, 15, 31, .13);
}

.plan-kicker {
  color: var(--wine-700);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.price {
  margin: 10px 0 2px;
  font-family: var(--serif);
  font-size: 44px;
  font-weight: 800;
  color: var(--wine-900);
}

.price span {
  font-family: var(--sans);
  font-size: 15px;
  color: var(--muted);
}

.check-list {
  display: grid;
  gap: 11px;
  margin: 22px 0 26px;
  padding: 0;
}

.check-list li {
  list-style: none;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--muted);
}

.check-list li::before {
  content: "";
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  margin-top: 3px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: inset 0 0 0 5px #fff;
  border: 1px solid rgba(56,97,80,.4);
}

.ops-card {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.15);
  color: var(--paper);
}

.ops-card h3 {
  color: var(--paper);
}

.ops-card p {
  color: #e8c9a0;
}

.cta-band {
  background: linear-gradient(135deg, var(--wine-900), var(--wine-700));
  color: #fff;
  padding: 50px 0;
}

.cta-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}

.cta-inner h2 {
  margin: 0;
  color: #fff;
  font-family: var(--serif);
  font-size: 42px;
}

.cta-inner p {
  margin: 8px 0 0;
  color: #e8c9a0;
}

.site-footer {
  background: var(--wine-950);
  color: #fff;
  padding: 38px 0;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr .8fr;
  gap: 28px;
}

.footer-grid h3,
.footer-grid h4 {
  margin: 0 0 12px;
  color: #fff;
}

.footer-grid p,
.footer-grid a {
  color: #d6c4b0;
}

.footer-links {
  display: grid;
  gap: 8px;
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
  align-items: flex-start;
  justify-content: center;
  overflow: auto;
  padding: 32px 20px;
  background: rgba(31, 26, 23, .62);
}

.modal.open {
  display: flex;
}

.modal-panel {
  width: min(860px, 100%);
  background: var(--paper);
  border-radius: 10px;
  box-shadow: 0 30px 90px rgba(0,0,0,.36);
  overflow: hidden;
}

.modal-head {
  padding: 26px 28px;
  background: #fff;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.modal-head h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: 34px;
}

.modal-head p {
  margin: 6px 0 0;
  color: var(--muted);
}

.icon-button {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--wine-900);
  display: grid;
  place-items: center;
  font-weight: 900;
}

.register-form {
  padding: 26px 28px 30px;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.field {
  display: grid;
  gap: 7px;
}

.field.full {
  grid-column: 1 / -1;
}

.field label {
  color: var(--wine-900);
  font-size: 13px;
  font-weight: 850;
}

.field input,
.field select,
.field textarea {
  width: 100%;
  border: 1px solid rgba(59,15,31,.18);
  background: #fff;
  border-radius: 7px;
  min-height: 44px;
  padding: 11px 12px;
  color: var(--ink);
}

.field textarea {
  min-height: 84px;
  resize: vertical;
}

.template-choice-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.template-choice {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  min-height: 74px;
  padding: 10px;
  text-align: left;
}

.template-choice.active {
  outline: 3px solid rgba(200, 155, 60, .34);
  border-color: var(--gold-600);
}

.template-choice strong {
  display: block;
  color: var(--wine-900);
}

.template-choice span {
  color: var(--muted);
  font-size: 13px;
}

.form-status {
  display: none;
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid var(--line);
}

.form-status.show {
  display: block;
}

.form-status.success {
  border-color: rgba(56,97,80,.35);
  background: #eff8f1;
}

.form-status.error {
  border-color: rgba(160,24,34,.25);
  background: #fff2f2;
}

.app-shell {
  min-height: 100vh;
  background: #f8f1e5;
}

.app-topbar {
  background: var(--wine-900);
  color: #fff;
  padding: 14px 0;
}

.app-topbar .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.app-topbar a {
  color: #fff;
  font-weight: 800;
}

.app-main {
  padding: 34px 0 60px;
}

.page-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}

.page-title h1 {
  margin: 0;
  font-size: 32px;
}

.page-title p {
  margin: 6px 0 0;
  color: var(--muted);
}

.flash {
  margin-bottom: 16px;
  padding: 12px 14px;
  border-radius: 8px;
  font-weight: 800;
}

.flash.success {
  background: #e8f6ec;
  color: #1f6a37;
}

.flash.error {
  background: #fff0f0;
  color: #a01822;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.dashboard-card {
  padding: 18px;
  background: #fff;
}

.dashboard-card strong {
  display: block;
  color: var(--wine-900);
  font-size: 28px;
}

.dashboard-card span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.table-card,
.form-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 12px 34px rgba(42, 7, 19, 0.06);
}

.table-scroll {
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
  min-width: 840px;
}

td input,
td select {
  width: 100%;
  min-width: 130px;
  border: 1px solid rgba(59,15,31,.18);
  border-radius: 7px;
  background: #fff;
  padding: 9px 10px;
}

th,
td {
  padding: 13px 14px;
  border-bottom: 1px solid rgba(59,15,31,.1);
  text-align: left;
  vertical-align: top;
}

th {
  background: #fbf6ec;
  color: var(--wine-900);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0;
}

td {
  color: var(--muted);
  font-size: 14px;
}

.badge {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  background: #f1e5cb;
  color: var(--wine-900);
}

.badge.green {
  background: #e5f3ea;
  color: #1f6a37;
}

.badge.red {
  background: #fff0f0;
  color: #a01822;
}

.badge.blue {
  background: #e8eef8;
  color: var(--blue);
}

.row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.small-btn {
  min-height: 32px;
  padding: 7px 10px;
  border: 1px solid rgba(59,15,31,.16);
  border-radius: 7px;
  background: #fff;
  color: var(--wine-900);
  font-size: 12px;
  font-weight: 900;
}

.client-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
}

.edit-card {
  background: #fff;
  padding: 22px;
}

.edit-card h2 {
  margin: 0 0 16px;
  font-family: var(--serif);
  font-size: 30px;
}

.invite-preview-link {
  color: var(--wine-900);
  font-weight: 900;
  text-decoration: underline;
}

.settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.settings-card {
  background: #fff;
  padding: 22px;
}

.settings-card h2 {
  margin: 0 0 16px;
  font-family: var(--serif);
}

.auth-wrap {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px;
  background: linear-gradient(135deg, var(--wine-950), var(--wine-700));
}

.auth-card {
  width: min(460px, 100%);
  background: var(--paper);
  padding: 30px;
}

.auth-card h1 {
  margin: 0 0 8px;
  font-size: 42px;
}

.auth-card p {
  margin: 0 0 22px;
  color: var(--muted);
}

.invite-page {
  min-height: 100vh;
  background: var(--paper);
}

.invite-hero {
  min-height: 68vh;
  display: grid;
  place-items: center;
  padding: 50px 20px;
  text-align: center;
  color: #fff;
  background:
    linear-gradient(rgba(42,7,19,.62), rgba(42,7,19,.72)),
    var(--invite-cover, linear-gradient(145deg, #3b0f1f, #7a1f35));
  background-size: cover;
  background-position: center;
}

.invite-card {
  width: min(780px, 100%);
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 8px;
  padding: 32px;
  background: rgba(59,15,31,.42);
  backdrop-filter: blur(7px);
}

.invite-card h1 {
  color: #fff;
  font-family: var(--serif);
  font-size: 64px;
  line-height: .96;
  margin: 12px 0;
}

.invite-kicker {
  text-transform: uppercase;
  letter-spacing: 0;
  color: #e8c9a0;
  font-weight: 900;
}

.invite-meta {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.invite-meta span {
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  padding: 9px 14px;
  background: rgba(255,255,255,.1);
}

.invite-sections {
  width: min(1000px, calc(100% - 40px));
  margin: 0 auto;
  padding: 60px 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.invite-info {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 24px;
  box-shadow: var(--shadow);
}

.invite-info h2 {
  margin: 0 0 10px;
  font-family: var(--serif);
}

.invite-info p {
  margin: 0;
  color: var(--muted);
}

.expired-wrap {
  min-height: 100vh;
  display: grid;
  place-items: center;
  text-align: center;
  background: var(--paper);
  padding: 28px;
}

.expired-card {
  width: min(620px, 100%);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  padding: 34px;
}

.expired-card h1 {
  margin: 0 0 10px;
  font-size: 44px;
}

@media (max-width: 980px) {
  .hero-grid,
  .feature-grid,
  .ops-grid,
  .template-grid,
  .process,
  .plans,
  .settings-grid,
  .footer-grid,
  .invite-sections {
    grid-template-columns: 1fr 1fr;
  }

  .hero-grid {
    gap: 32px;
  }

  .dashboard-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .nav-links {
    display: none;
  }

  .nav-actions .btn-outline {
    display: none;
  }

  .hero {
    padding-top: 48px;
  }

  .hero-grid,
  .hero-proof,
  .feature-grid,
  .ops-grid,
  .template-grid,
  .process,
  .plans,
  .settings-grid,
  .footer-grid,
  .invite-sections,
  .form-grid,
  .template-choice-list,
  .dashboard-grid {
    grid-template-columns: 1fr;
  }

  .floating-panel {
    position: static;
    width: 100%;
    margin-top: 14px;
  }

  .cta-inner,
  .page-title {
    align-items: flex-start;
    flex-direction: column;
  }

  .modal-head {
    padding: 22px;
  }

  .register-form {
    padding: 22px;
  }

  .brand span:last-child {
    font-size: 20px;
  }
}

/* Public pages stay spacious; account surfaces prioritise compact, readable data. */
[hidden] { display: none !important; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #247557; outline-offset: 3px; }
h1, h2, h3, p, .btn, .invite-preview-link { overflow-wrap: anywhere; }
.site-nav { background: #fff; }
.hero { background: #3b0f1f url('../img/hero-wide.png') center/cover no-repeat; min-height: min(610px, calc(100svh - 150px)); padding: 48px 0 38px; }
.mobile-showcase { display: none; }
.hero-grid { display: block; }
.hero-copy { width: 49%; max-width: 580px; }
.hero h1 { color: #fff; font-size: 64px; line-height: 1.08; margin: 22px 0; }
.hero .eyebrow, .hero-copy p { color: #fff; }
.hero-copy p { font-size: 18px; max-width: 470px; }
.hero .btn-primary { background: #fff; color: #3b0f1f; box-shadow: none; }
.hero-proof { gap: 22px; }
.proof-item { background: transparent; border: 0; padding: 0; }
.hero-proof strong, .hero-proof span { color: #fff; }
.section { padding: 60px 0; }
.section-head h2 { font-size: 38px; }
.process-card, .ops-card { border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.section.alt { background: #edf5ef; color: #214c3c; }
.section.alt .section-head h2, .ops-card h3 { color: #214c3c; }
.section.alt .section-head p, .ops-card p { color: #41594e; }
.template-price { font-size: 13px; font-weight: 700; }
.app-shell { background: #f6f7f8; }
.app-topbar { background: #fff; color: #28302c; border-bottom: 1px solid #e1e5e2; }
.app-topbar a { color: #28302c; font-size: 14px; }
.app-topbar .wrap, .nav-actions { flex-wrap: wrap; }
.dashboard-card strong { font-size: 24px; overflow-wrap: anywhere; }
.settings-card, .table-card { border-radius: 0; box-shadow: none; }
.settings-card p, .settings-card span { overflow-wrap: anywhere; }
.narrow { max-width: 640px; }
.filter-row { display: flex; gap: 10px; padding: 18px; flex-wrap: wrap; }
.filter-row input, .filter-row select { padding: 10px; border: 1px solid #c6cfca; border-radius: 6px; min-width: 0; max-width: 100%; }
.filter-row input { flex: 1 1 220px; }
.upgrade-row { margin: 12px 0 24px; }
.form-note { font-size: 13px; color: #536057; }
.cookie-banner { position: fixed; bottom: 16px; left: 16px; right: 16px; z-index: 70; background: #fff; padding: 16px 20px; border: 1px solid #b8c6bc; box-shadow: 0 4px 24px #0002; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.cookie-banner p { margin: 0; flex: 1 1 260px; }
.demo-clock { background: #214c3c; color: #fff; padding: 12px 20px; text-align: center; font-weight: 700; }
.invite-page[data-style='sage'] { --wine-900: #245743; --wine-800: #183e31; }
.invite-page[data-style='bloom'] { --wine-900: #963554; --wine-800: #682d42; }
.invite-page[data-style='midnight'] { --wine-900: #242c39; --wine-800: #121720; }
.invite-page[data-style='gold'] { --wine-900: #735119; --wine-800: #4f3912; }
.invite-page[data-style='minimal'] { --wine-900: #344d43; --wine-800: #25382f; }
.invite-hero { background: var(--wine-900); min-height: auto; padding: 0; display: block; }
.invitation-photo { width: 100%; max-height: 440px; object-fit: contain; background: #f2f4f3; }
.invite-card { width: min(1000px, calc(100% - 40px)); padding: 38px 0; margin: auto; border: 0; border-radius: 0; background: transparent; backdrop-filter: none; }
.invite-card h1 { font-size: 52px; line-height: 1.1; }
.invite-meta span { border: 0; background: transparent; border-radius: 0; }
.invite-info { border: 0; background: transparent; box-shadow: none; padding: 16px 0; }
.invite-sections { width: min(1100px, calc(100% - 40px)); gap: 36px; }
.rsvp-form { display: grid; gap: 12px; }
.rsvp-form label { display: grid; gap: 5px; font-size: 14px; font-weight: 600; }
.rsvp-form input, .rsvp-form select, .rsvp-form textarea { width: 100%; min-width: 0; padding: 10px; border: 1px solid #c6cfca; border-radius: 6px; background: white; }
.invite-share { display: flex; justify-content: center; gap: 24px; flex-wrap: wrap; align-items: center; padding: 30px 20px; border-top: 1px solid #e1e5e2; }
@media (max-width: 980px) {
  .hero { min-height: 520px; background-position: 53% center; }
  .hero h1 { font-size: 48px; }
  .hero-proof { display: flex; flex-wrap: wrap; }
  .hero-copy p { font-size: 16px; }
  .hero-actions { gap: 8px; }
  .hero-actions .btn { font-size: 12px; padding: 10px 12px; }
}
@media (max-width: 760px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .wrap { width: calc(100% - 32px); }
  .nav-inner { flex-wrap: wrap; gap: 10px; padding: 10px 0; }
  .site-nav .brand span:last-child { font-size: 18px; }
  .brand-mark { width: 34px; height: 34px; flex-shrink: 0; }
  .nav-actions .btn-outline { display: inline-flex; }
  .site-nav .nav-actions { gap: 6px; }
  .site-nav .btn { font-size: 12px; padding: 8px 10px; }
  .site-nav .nav-actions .btn-primary { display: none; }
  .hero { padding: 26px 0 0; min-height: 0; background-size: auto 100%; background-position: left center; }
  .mobile-showcase { display: block; width: 100%; height: 155px; object-fit: cover; object-position: center 53%; margin-top: 22px; }
  .hero-copy { width: calc(100vw - 32px); max-width: calc(100vw - 32px); min-width: 0; }
  .hero-copy p, .section-head, .section-head p { max-width: calc(100vw - 32px); }
  .eyebrow { display: block; max-width: 100%; white-space: normal; line-height: 1.4; }
  .eyebrow::before { display: none; }
  .hero h1 { font-size: 38px; margin: 16px 0; }
  .hero-copy p { font-size: 16px; }
  .hero-proof { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 25px; }
  .proof-item { min-width: 0; padding: 13px 14px; }
  .hero-proof strong { font-size: 20px; }
  .hero-proof span { font-size: 11px; overflow-wrap: anywhere; }
  .section { padding: 38px 0; }
  .section-head h2, .cta-inner h2 { font-size: 30px; }
  .app-topbar .wrap { gap: 12px; }
  .app-topbar .nav-actions { gap: 12px; }
  .page-title h1, .auth-card h1 { font-size: 30px; }
  .invite-card h1 { font-size: 36px; }
  .invite-sections { gap: 16px; padding: 24px 0; }
  .dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-card:last-child { grid-column: 1 / -1; }
  .edit-card { padding: 16px; }
  .modal-head { padding: 16px; }
  .register-form { padding: 16px; }
  .template-choice-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }

/* v4 public gallery and Smart Bill-inspired polish */
.process-card,
.ops-card,
.proof-item {
  border: 1px solid rgba(14, 78, 63, .14);
  border-radius: 8px;
  box-shadow: 0 16px 40px rgba(2, 34, 28, .08);
}

.process-card {
  background: #fff;
}

.ops-card {
  background: #fff;
  color: #0f3f33;
  padding: 24px;
}

.ops-card h3 {
  color: #0f3f33;
}

.ops-card p {
  color: #486157;
}

.proof-item {
  background: rgba(255,255,255,.12);
  padding: 16px;
  backdrop-filter: blur(6px);
}

.section.alt {
  background: #eef8f3;
}

.template-groups {
  display: grid;
  gap: 34px;
}

.template-group {
  display: grid;
  gap: 16px;
}

.template-group-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 20px;
  border-bottom: 1px solid rgba(13, 92, 69, .16);
  padding-bottom: 12px;
}

.template-group-head h2,
.template-group-head h3 {
  margin: 0;
  color: #092d4d;
  font-family: var(--sans);
  font-size: 26px;
  font-weight: 850;
}

.template-group-head p {
  margin: 0;
  color: #557064;
  font-size: 14px;
  font-weight: 700;
}

.website-template-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(20, 48, 42, .13);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(17, 45, 38, .09);
  display: flex;
  flex-direction: column;
}

.website-template-card:hover {
  transform: translateY(-2px);
  transition: transform .2s ease;
}

.template-browser {
  padding: 12px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--template-color) 18%, #ffffff), #f9fbfa);
  border-bottom: 1px solid rgba(20, 48, 42, .1);
}

.browser-dots {
  display: flex;
  gap: 5px;
  margin-bottom: 10px;
}

.browser-dots span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--template-color) 55%, #ffffff);
}

.template-page-preview {
  min-height: 184px;
  border-radius: 7px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(15, 57, 49, .1);
}

.preview-hero {
  min-height: 116px;
  padding: 18px;
  display: grid;
  align-content: center;
  gap: 8px;
  background:
    linear-gradient(135deg, rgba(0,0,0,.18), rgba(255,255,255,.08)),
    var(--template-color);
  color: var(--template-ink);
}

.preview-hero span {
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.preview-hero strong {
  font-family: var(--serif);
  font-size: 25px;
  line-height: 1.05;
}

.preview-sections {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding: 14px;
}

.preview-sections span {
  height: 42px;
  border-radius: 6px;
  background: color-mix(in srgb, var(--template-color) 12%, #ffffff);
}

.website-template-card[data-style="lotus"] .preview-hero { background: radial-gradient(circle at 12% 10%, #ffd9e7 0 13%, transparent 14%), linear-gradient(135deg, #8f2f55, #d17a93); }
.website-template-card[data-style="saffron"] .preview-hero { background: linear-gradient(135deg, #f4c14e, #9d421c); color: #2c1207; }
.website-template-card[data-style="chapel"] .preview-hero { background: linear-gradient(135deg, #f7faf7, #437a68); color: #113629; }
.website-template-card[data-style="noor"] .preview-hero { background: linear-gradient(135deg, #0f4f42, #d4b15d); color: #fff; }
.website-template-card[data-style="candy"] .preview-hero { background: linear-gradient(135deg, #f86f9a, #ffd166); color: #311224; }
.website-template-card[data-style="sky"] .preview-hero { background: linear-gradient(135deg, #3b82c4, #b7e4ff); color: #08233d; }
.website-template-card[data-style="haldi"] .preview-hero { background: linear-gradient(135deg, #ffd34d, #1b8a67); color: #2f2600; }

.template-card-body {
  display: grid;
  gap: 16px;
  padding: 18px;
  flex: 1;
}

.template-card-body h3 {
  margin: 8px 0 6px;
  color: #092d4d;
  font-family: var(--sans);
  font-size: 21px;
  font-weight: 850;
}

.template-card-body p {
  margin: 0;
  color: #526a60;
  font-size: 14px;
}

.template-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border-top: 1px solid rgba(20, 48, 42, .1);
  padding-top: 14px;
}

.template-card-footer strong {
  color: #06795d;
  font-size: 15px;
  white-space: nowrap;
}

.website-template-card .template-category {
  background: #e8f7f1;
  color: #08755b;
  border-radius: 5px;
  padding: 5px 8px;
}

.show-more-row {
  display: flex;
  justify-content: center;
  margin-top: 26px;
}

.templates-hero {
  padding: 64px 0 50px;
  background: #eaf4ff;
  border-bottom: 1px solid #d7e5f2;
}

.templates-hero h1 {
  margin: 16px 0 0;
  max-width: 880px;
  color: #05183f;
  font-family: var(--sans);
  font-size: 46px;
  line-height: 1.1;
  font-weight: 900;
}

.templates-hero p {
  max-width: 760px;
  margin: 18px 0 0;
  color: #426173;
  font-size: 18px;
}

.full-gallery .template-group {
  margin-bottom: 18px;
}

.subgroup-title {
  margin: 8px 0 0;
  color: #0b6f58;
  font: 800 16px/1.3 var(--sans);
}

@media (max-width: 760px) {
  .hide-mobile-template {
    display: none;
  }

  .template-group-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .template-group-head h2,
  .template-group-head h3 {
    font-size: 23px;
  }

  .template-card-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .template-card-footer .btn {
    width: 100%;
  }

  .templates-hero {
    padding: 44px 0 34px;
  }

  .templates-hero h1 {
    font-size: 34px;
  }
}

/* v5 template preview flow and final public polish */
.brand-logo-mark {
  width: 58px;
  height: 36px;
  flex: 0 0 58px;
  border-radius: 8px;
  object-fit: contain;
  background: #17254f;
}

.site-nav .brand span:last-child {
  color: #2a0713;
}

.hero {
  isolation: isolate;
  background-color: #17254f;
  background-image:
    linear-gradient(90deg, rgba(13, 20, 47, .88) 0%, rgba(46, 13, 30, .72) 34%, rgba(46, 13, 30, .12) 64%),
    url('../img/hero-wide.png');
  background-position: center;
  background-size: cover;
  min-height: min(680px, calc(100svh - 96px));
  display: grid;
  align-items: center;
}

.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 120px;
  z-index: -1;
  background: linear-gradient(0deg, rgba(255,255,255,.88), rgba(255,255,255,0));
}

.hero-copy {
  width: min(580px, 100%);
  padding: 28px 0;
}

.hero h1 {
  text-shadow: 0 3px 22px rgba(0,0,0,.25);
}

.hero-copy p {
  color: rgba(255,255,255,.93);
  text-shadow: 0 2px 12px rgba(0,0,0,.22);
}

.hero .eyebrow {
  color: #fff;
}

.hero .eyebrow::before {
  background: #ddb756;
}

.proof-item {
  min-height: 98px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 8px;
  background: rgba(15, 24, 52, .56);
  backdrop-filter: blur(12px);
  box-shadow: 0 16px 42px rgba(0,0,0,.14);
}

.hero-proof strong,
.hero-proof span {
  color: #fff;
  text-shadow: 0 2px 10px rgba(0,0,0,.22);
}

.process-card {
  border: 1px solid rgba(14,78,63,.16);
  background: #fff;
  box-shadow: 0 18px 45px rgba(13, 43, 82, .06);
}

.template-deck {
  display: grid;
  gap: 22px;
}

.template-tabs {
  justify-content: center;
  margin-bottom: 2px;
}

.template-tab {
  min-height: 42px;
}

.template-tab[aria-selected="true"],
.template-tab.active {
  border-color: #2a0713;
}

.gallery-note {
  margin: -4px auto 4px;
  max-width: 760px;
  color: #557064;
  text-align: center;
  font-size: 14px;
}

.website-template-card {
  transform-style: preserve-3d;
  perspective: 1200px;
}

.website-template-card:hover {
  transform: translateY(-4px) rotateX(1deg);
}

.template-browser {
  transform: translateZ(0);
}

.template-page-preview {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35), 0 18px 32px rgba(13, 43, 82, .08);
}

.preview-hero {
  position: relative;
  overflow: hidden;
}

.preview-hero::after {
  content: "";
  position: absolute;
  inset: auto 18px 18px auto;
  width: 72px;
  height: 44px;
  border: 1px solid currentColor;
  opacity: .25;
  transform: rotate(-8deg);
}

.website-template-card[data-style="temple"] .preview-hero { background: linear-gradient(135deg, #4e0d22, #c89b3c); color:#fff; }
.website-template-card[data-style="royal"] .preview-hero { background: linear-gradient(135deg, #3b0f1f, #8d3652); color:#fff; }
.website-template-card[data-style="rose"] .preview-hero { background: linear-gradient(135deg, #fff8f3, #d9b9b2); color:#3b0f1f; }
.website-template-card[data-style="artdeco"] .preview-hero { background: linear-gradient(135deg, #22180b, #c89b3c); color:#fff7df; }
.website-template-card[data-style="evergreen"] .preview-hero { background: linear-gradient(135deg, #1f4d3f, #dceadf); color:#10251e; }
.website-template-card[data-style="newhome"] .preview-hero { background: linear-gradient(135deg, #e9f8ef, #386150); color:#0b3127; }
.website-template-card[data-style="griha"] .preview-hero { background: linear-gradient(135deg, #fff2c0, #bf8b24); color:#3a2200; }
.website-template-card[data-style="threshold"] .preview-hero { background: linear-gradient(135deg, #f7f1e7, #93806b); color:#2f2418; }
.website-template-card[data-style="nalagu-rose"] .preview-hero { background: linear-gradient(135deg, #b24b6e, #ffd8a8); color:#310917; }
.website-template-card[data-style="blessings"] .preview-hero { background: linear-gradient(135deg, #8f3f63, #f3cf99); color:#fff; }

.template-card-footer {
  gap: 12px;
}

.template-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.template-actions .btn {
  min-height: 38px;
  padding: 9px 13px;
  font-size: 12px;
}

.site-footer {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, #17254f 0%, #2a0713 58%, #3b0f1f 100%);
  padding: 58px 0 42px;
}

.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
}

.footer-grid {
  position: relative;
  z-index: 1;
}

.enhanced-footer {
  grid-template-columns: minmax(0, 1.4fr) minmax(160px, .55fr) minmax(180px, .65fr);
  align-items: start;
}

.footer-logo {
  width: 168px;
  height: 84px;
  object-fit: cover;
  object-position: center top;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.18);
  margin-bottom: 18px;
}

.footer-brand-block p {
  max-width: 470px;
  font-size: 17px;
}

.footer-brand-block span {
  display: block;
  max-width: 520px;
  color: #d9e4ff;
  font-size: 13px;
}

.footer-links a {
  padding: 4px 0;
}

.footer-links a:hover {
  color: #fff;
}

.templates-hero {
  background:
    linear-gradient(135deg, rgba(23,37,79,.92), rgba(59,15,31,.82)),
    url('../img/hero-wide.png') center/cover no-repeat;
  color: #fff;
}

.templates-hero h1,
.templates-hero p,
.templates-hero .eyebrow {
  color: #fff;
}

.template-preview-body {
  background: #f7f3ee;
}

.preview-nav {
  background: rgba(255,255,255,.94);
}

.template-preview-site {
  --accent: var(--template-color);
  color: #18221e;
}

.preview-live-hero {
  position: relative;
  overflow: hidden;
  min-height: calc(100svh - 72px);
  display: grid;
  align-items: center;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--accent) 78%, #050b1d), color-mix(in srgb, var(--accent) 24%, #fff4e7));
  color: #fff;
}

.preview-live-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 48px 48px;
  transform: perspective(900px) rotateX(64deg) translateY(18%);
  transform-origin: bottom;
  opacity: .42;
}

.preview-live-orbit {
  position: absolute;
  right: 6%;
  top: 12%;
  width: min(360px, 48vw);
  aspect-ratio: 1.45;
  border: 1px solid rgba(255,255,255,.22);
  transform: rotate(-8deg) skewX(-8deg);
  background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
}

.preview-live-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 410px);
  align-items: center;
  gap: 48px;
  padding: 64px 0;
}

.preview-live-copy span,
.preview-kicker {
  display: inline-block;
  color: #ffe2a1;
  font-weight: 900;
  text-transform: uppercase;
  font-size: 12px;
}

.preview-live-copy h1 {
  margin: 16px 0;
  max-width: 690px;
  color: #fff;
  font-family: var(--serif);
  font-size: 76px;
  line-height: 1;
}

.preview-live-copy p {
  max-width: 560px;
  color: rgba(255,255,255,.9);
  font-size: 19px;
}

.preview-live-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 28px;
}

.preview-phone-stage {
  perspective: 1200px;
}

.preview-phone {
  min-height: 560px;
  border: 12px solid #111827;
  border-radius: 34px;
  padding: 54px 24px 26px;
  background:
    linear-gradient(160deg, rgba(255,255,255,.95), rgba(255,246,226,.9)),
    radial-gradient(circle at 50% 0, color-mix(in srgb, var(--accent) 16%, transparent), transparent 36%);
  color: color-mix(in srgb, var(--accent) 72%, #130714);
  box-shadow: 0 42px 70px rgba(0,0,0,.32);
  transform: rotateY(-10deg) rotateX(5deg);
  display: grid;
  align-content: start;
  gap: 18px;
}

.phone-notch {
  position: absolute;
  top: 16px;
  left: 50%;
  width: 96px;
  height: 22px;
  border-radius: 99px;
  background: #111827;
  transform: translateX(-50%);
}

.preview-phone span {
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--accent) 55%, #1f2937);
}

.preview-phone strong {
  font-family: var(--serif);
  font-size: 42px;
  line-height: 1.05;
}

.preview-phone small {
  color: #6d5c51;
  font-weight: 800;
}

.phone-mini-card {
  margin-top: 20px;
  padding: 18px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 8px;
  background: rgba(255,255,255,.7);
  box-shadow: 0 20px 38px rgba(0,0,0,.1);
}

.preview-live-section {
  padding: 72px 0;
  background: #fff;
}

.preview-live-section:nth-of-type(even) {
  background: #f5f0ea;
}

.preview-live-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.preview-live-cards article,
.preview-rsvp-card,
.preview-timeline article {
  border: 1px solid rgba(24,34,30,.12);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 22px 44px rgba(13, 43, 82, .07);
}

.preview-live-cards article {
  padding: 24px;
}

.preview-live-cards span,
.preview-timeline span {
  color: color-mix(in srgb, var(--accent) 70%, #2a0713);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.preview-live-cards strong {
  display: block;
  margin: 10px 0 6px;
  font-size: 24px;
  line-height: 1.2;
}

.preview-live-cards p {
  margin: 0;
  color: #64736d;
}

.preview-story-grid,
.preview-rsvp {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr);
  gap: 44px;
  align-items: center;
}

.preview-story-grid h2,
.preview-rsvp h2,
.compact-head h2 {
  margin: 10px 0;
  font-family: var(--serif);
  font-size: 44px;
  color: #2a0713;
}

.preview-story-grid p,
.preview-rsvp p {
  color: #5e6e66;
  font-size: 18px;
}

.preview-3d-stack {
  display: grid;
  gap: 14px;
  perspective: 900px;
}

.preview-3d-stack span {
  padding: 24px;
  border-radius: 8px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 78%, #fff), color-mix(in srgb, var(--accent) 22%, #fff));
  color: #fff;
  font-weight: 900;
  box-shadow: 0 24px 46px rgba(0,0,0,.14);
  transform: rotateY(-8deg);
}

.preview-3d-stack span:nth-child(2) {
  transform: translateX(22px) rotateY(7deg);
}

.preview-3d-stack span:nth-child(3) {
  transform: translateX(44px) rotateY(-4deg);
}

.preview-timeline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.preview-timeline article {
  padding: 24px;
  min-height: 130px;
}

.preview-timeline strong {
  display: block;
  margin-top: 14px;
  font-size: 24px;
}

.preview-rsvp-card {
  display: grid;
  gap: 12px;
  padding: 22px;
}

.preview-rsvp-card input {
  width: 100%;
  border: 1px solid rgba(24,34,30,.15);
  border-radius: 8px;
  padding: 13px 14px;
  color: #4a5b53;
}

[data-style="lotus"] .preview-live-hero { background: linear-gradient(135deg, #8f2f55, #f5b3c8); }
[data-style="saffron"] .preview-live-hero { background: linear-gradient(135deg, #9d421c, #f4c14e); }
[data-style="chapel"] .preview-live-hero { background: linear-gradient(135deg, #1f5c4f, #f7faf7); }
[data-style="rose"] .preview-live-hero { background: linear-gradient(135deg, #7b3f4d, #ffe7dd); }
[data-style="noor"] .preview-live-hero { background: linear-gradient(135deg, #0f4f42, #d4b15d); }
[data-style="bloom"] .preview-live-hero { background: linear-gradient(135deg, #963554, #f6c8b8); }
[data-style="midnight"] .preview-live-hero { background: linear-gradient(135deg, #111827, #263e63); }
[data-style="candy"] .preview-live-hero { background: linear-gradient(135deg, #e9427c, #ffd166); }
[data-style="sky"] .preview-live-hero { background: linear-gradient(135deg, #1b65a6, #b7e4ff); }
[data-style="artdeco"] .preview-live-hero { background: linear-gradient(135deg, #201303, #c89b3c); }
[data-style="evergreen"] .preview-live-hero { background: linear-gradient(135deg, #1f4d3f, #9fc5a6); }
[data-style="newhome"] .preview-live-hero { background: linear-gradient(135deg, #245743, #d6f2df); }
[data-style="griha"] .preview-live-hero { background: linear-gradient(135deg, #7a4f0b, #ffc857); }
[data-style="threshold"] .preview-live-hero { background: linear-gradient(135deg, #615040, #f7f1e7); }
[data-style="nalagu-rose"] .preview-live-hero { background: linear-gradient(135deg, #9e2f58, #ffd8a8); }
[data-style="haldi"] .preview-live-hero { background: linear-gradient(135deg, #cc9615, #1b8a67); }
[data-style="blessings"] .preview-live-hero { background: linear-gradient(135deg, #7c3156, #d7a15e); }

@supports (animation-timeline: view()) {
  .preview-live-cards article,
  .preview-story-grid > *,
  .preview-timeline article,
  .preview-rsvp > * {
    animation: preview-rise both;
    animation-timeline: view();
    animation-range: entry 10% cover 30%;
  }
}

@keyframes preview-rise {
  from { opacity: .2; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 980px) {
  .hero {
    background-image:
      linear-gradient(90deg, rgba(13, 20, 47, .88) 0%, rgba(46, 13, 30, .72) 46%, rgba(46, 13, 30, .08) 100%),
      url('../img/hero-wide.png');
  }
  .enhanced-footer,
  .preview-live-grid,
  .preview-story-grid,
  .preview-rsvp {
    grid-template-columns: 1fr 1fr;
  }
  .preview-live-copy h1 {
    font-size: 54px;
  }
  .preview-phone {
    min-height: 500px;
  }
}

@media (max-width: 760px) {
  .brand-logo-mark {
    width: 48px;
    height: 32px;
    flex-basis: 48px;
  }
  .hero {
    background-image:
      linear-gradient(180deg, rgba(13, 20, 47, .9) 0%, rgba(46, 13, 30, .72) 56%, rgba(46, 13, 30, .12) 100%),
      url('../img/hero-wide.png');
    background-size: cover;
    background-position: center;
    padding: 26px 0 0;
  }
  .mobile-showcase {
    display: none;
  }
  .proof-item {
    min-height: 0;
  }
  .template-tabs {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 8px;
  }
  .template-tab {
    flex: 0 0 auto;
  }
  .template-actions,
  .template-card-footer {
    width: 100%;
  }
  .template-actions .btn {
    flex: 1 1 0;
    justify-content: center;
  }
  .enhanced-footer,
  .preview-live-grid,
  .preview-live-cards,
  .preview-story-grid,
  .preview-timeline,
  .preview-rsvp {
    grid-template-columns: 1fr;
  }
  .footer-logo {
    width: 140px;
    height: 72px;
  }
  .preview-live-hero {
    min-height: auto;
  }
  .preview-live-grid {
    gap: 28px;
    padding: 42px 0;
  }
  .preview-live-copy h1 {
    font-size: 42px;
  }
  .preview-live-copy p,
  .preview-story-grid p,
  .preview-rsvp p {
    font-size: 16px;
  }
  .preview-phone {
    min-height: 430px;
    transform: none;
  }
  .preview-3d-stack span,
  .preview-3d-stack span:nth-child(2),
  .preview-3d-stack span:nth-child(3) {
    transform: none;
  }
  .preview-live-section {
    padding: 46px 0;
  }
  .preview-story-grid h2,
  .preview-rsvp h2,
  .compact-head h2 {
    font-size: 32px;
  }
}

/* premium.css */
@font-face{font-family:Inter;src:url('../fonts/inter-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-semibold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-bold.woff2') format('woff2');font-weight:700 900;font-display:swap}
@font-face{font-family:Cormorant;src:url('../fonts/cormorant.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:GreatVibes;src:url('../fonts/great-vibes.woff2') format('woff2');font-display:swap}
:root{--sans:Inter,system-ui,sans-serif;--serif:Cormorant,Georgia,serif;--ink:#1d302d;--muted:#63746e;--line:#dce5e1;--wine-900:#156452;--wine-800:#11503f;--wine-700:#156452;--wine-950:#112f29;--green:#156452}
*{letter-spacing:0} [hidden]{display:none!important}body{font-family:var(--sans)}a,button,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #419bca;outline-offset:4px} .lucide,[data-lucide]{width:18px;height:18px;flex-shrink:0;vertical-align:middle}button,a,input,select,textarea{max-width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:12px 20px;border-radius:6px;font-size:13px;font-weight:600;line-height:1.35;white-space:normal;text-align:center;box-shadow:none;border:1px solid transparent;transition:background .18s,border-color .18s;transform:none}.btn:hover{transform:none}.btn-primary,.app-shell .btn-primary{background:#156452;color:#fff;border-color:#156452;box-shadow:none}.btn-primary:hover,.app-shell .btn-primary:hover{background:#104f41;border-color:#104f41}.btn-outline,.app-shell .btn-outline{background:#fff;border-color:#cbd8d2;color:#213e36}.btn-outline:hover{background:#f1f6f3}.btn-gold{background:#f7ece8;color:#614137;border-color:#ecd7cd}.btn:disabled{opacity:.55;cursor:not-allowed}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:40px;min-width:40px;border-radius:6px}.button-row{display:flex;flex-wrap:wrap;gap:12px}.wrap{width:min(1240px,calc(100% - 64px))}.identity{display:flex;align-items:center;gap:12px;min-width:0}.identity img,.brand .brand-logo-mark,.sidebar-brand .brand-logo-mark{object-fit:contain;width:80px;height:36px;min-width:80px;flex:0 0 80px;border-radius:3px;background:#1b264c;padding:5px}.identity span{font-size:16px;font-weight:700;line-height:1.2;max-width:180px}.marketing-nav{position:sticky;top:0;z-index:45;background:#ffffffed;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.marketing-nav>.wrap{min-height:84px;display:flex;gap:20px;align-items:center;justify-content:space-between}.marketing-links{display:flex;gap:26px;align-items:center;font-size:13px;font-weight:600}.nav-actions{display:flex;gap:8px;flex-shrink:0}.marketing h1,.marketing h2,.marketing h3{color:var(--ink);margin:0;line-height:1.08}.marketing h1{font-size:64px;font-family:var(--serif);font-weight:500}.marketing h2{font-family:var(--serif);font-size:46px;font-weight:500}.marketing p{color:var(--muted);line-height:1.75}.overline{display:block;font-size:11px;font-weight:700;text-transform:uppercase;line-height:1.6;color:#277260;margin-bottom:18px}.marketing-hero{position:relative;min-height:610px;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:#f6f6f3}.marketing-banner{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 58%}.marketing-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(253,253,249,.97) 0%,rgba(253,253,249,.94) 26%,rgba(253,253,249,.66) 43%,transparent 64%)}.marketing-hero-copy{padding:66px 0;max-width:505px}.marketing-hero-copy h1{font-size:72px}.marketing-hero-copy p{font-size:16px;color:#394c43;max-width:450px;margin:24px 0 32px}.marketing-hero-copy .overline{max-width:420px}.hero-highlights{background:white;border-bottom:1px solid var(--line)}.hero-highlights>.wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:26px 0}.hero-highlights>.wrap>div{display:flex;align-items:center;justify-content:center;gap:16px}.hero-highlights .lucide{width:26px;height:26px;color:#478571}.hero-highlights strong,.hero-highlights span{display:block;font-size:13px}.hero-highlights span{font-size:11px;color:var(--muted);margin-top:4px}.marketing-section{padding:86px 0;scroll-margin-top:84px}.section-heading{max-width:670px;margin:0 auto 42px;text-align:center}.section-heading p{font-size:14px;margin:18px 0 0}.signature-design{border:1px solid var(--line);border-radius:8px;overflow:hidden;display:grid;grid-template-columns:1.05fr 1fr;background:white;max-width:1050px;margin:auto}.signature-visual{display:block;position:relative;min-height:400px;overflow:hidden;isolation:isolate}.signature-visual>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform 1s}.signature-visual:hover>img{transform:scale(1.04)}.signature-visual:after{content:"";position:absolute;inset:0;z-index:0;background:#08292140}.signature-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:GreatVibes,cursive;color:white;font-size:66px;line-height:1;z-index:1;text-shadow:0 2px 16px #203a25}.signature-label em{font-family:var(--serif);font-size:35px;margin:10px 0}.signature-label small{font-family:var(--sans);font-size:10px;font-style:normal;text-transform:uppercase;margin-top:26px}.signature-description{padding:42px 36px;align-self:center}.signature-description h3,.signature-description h2{font-size:38px;font-family:var(--serif);font-weight:500}.signature-description>p{font-size:14px;margin:20px 0}.design-details{display:flex;flex-wrap:wrap;gap:14px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:26px 0}.design-details span{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.design-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.design-bottom>div{flex:1 1 100%;margin-bottom:6px}.design-bottom strong{display:block;font-size:22px;color:var(--ink)}.design-bottom small{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.play-circle{position:absolute;bottom:22px;right:22px;width:44px;height:44px;border:1px solid #fff8;color:white;border-radius:50%;display:grid;place-items:center;z-index:2;background:#fff2}.process-band{background:#f2f6f4}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.process-grid article{background:#fff;border:1px solid #dce7e0;border-radius:8px;padding:25px}.step-number{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e4f0eb;font-size:12px;color:#286957;margin-bottom:26px}.process-grid article:nth-child(2) .step-number{background:#f8eae6;color:#935c46}.process-grid article:nth-child(3) .step-number{background:#edf0fc;color:#59689d}.process-grid article:nth-child(4) .step-number{background:#fbf2d9;color:#856829}.process-grid h3{font-family:var(--sans);font-size:14px;font-weight:600;line-height:1.5}.process-grid p{font-size:12px;margin:12px 0 0}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;max-width:870px;margin:auto;gap:24px}.pricing-option{border:1px solid var(--line);border-radius:8px;padding:34px}.pricing-option.highlighted{border:1px solid #417c68;box-shadow:0 6px 30px #234f3810}.pricing-option h3{font-family:var(--sans);font-size:36px}.pricing-option>p{font-size:12px}.pricing-option ul{padding:0;list-style:none;display:grid;gap:16px;min-height:158px;margin:28px 0;font-size:13px;color:#41584e}.pricing-option li{display:flex;gap:12px;align-items:flex-start}.pricing-option li .lucide{width:15px;color:#22836a}.pricing-option .btn{width:100%}.faq-band{background:#f8f7fa}.faq-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.faq-layout h2{font-size:40px}.faq-list details{border-bottom:1px solid #dce0e6;padding:20px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;font-weight:600}.faq-list p{font-size:13px}.marketing-footer{background:#143e35;color:#edf5f0;padding:58px 0 0}.footer-columns{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer-columns>div{min-width:0}.footer-columns .identity{color:white}.footer-columns p{color:#b3cec3;max-width:320px;font-size:14px}.footer-columns h3{color:#fff;font-family:var(--sans);font-size:13px;margin:0 0 20px}.footer-columns>div>a:not(.identity){display:block;font-size:12px;margin:12px 0;color:#c5dbd2;overflow-wrap:anywhere}.footer-bottom{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #4e6f6255;margin-top:45px;padding:22px 0;font-size:10px;color:#adc6bc}
/* Shared account controls keep public registration and authenticated editing consistent. */
.app-shell{--ink:#253e36;--muted:#687b73;--line:#dfe7e2;--sidebar-width:242px;background:#f3f6f5;color:var(--ink);font-size:13px}.app-shell h1{font-size:28px;font-weight:600}.app-shell h2{font-size:18px}.app-shell .workspace-header{height:72px;min-height:72px}.sidebar{padding:24px 14px 16px}.sidebar-brand{gap:10px}.sidebar-brand .sidebar-brand-text{font-size:17px;white-space:normal}.sidebar-brand .sidebar-brand-text small{font-size:9px;line-height:1.5}.side-link{font-size:12px;min-height:44px;font-weight:600}.side-link.active{background:#e4f1eb;color:#146451;border-left:3px solid #319270}.side-link.active .lucide{color:#146451}.side-link .lucide{color:#7a8c83}.app-shell .metric{border:1px solid #dce5df;border-radius:8px;box-shadow:none;border-top:1px solid #dce5df;padding:22px;background:white}.metric strong{font-size:30px;font-weight:600}.metric-label{font-size:11px;text-transform:none;color:#687e72}.app-shell .app-main{padding:34px 32px}.app-shell .app-main>.wrap{max-width:1320px;width:100%}.app-shell .page-title{margin-bottom:28px}.app-shell .page-title p{color:#788b80;font-size:12px}.page-kicker{color:#688474;font-size:10px;margin-bottom:6px}.workspace-footer{color:#789080}.metric-grid{gap:16px}.client-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.data-section{background:white;border:1px solid var(--line);border-radius:8px;box-shadow:none}.section-title{padding:20px 22px}.table-scroll th{background:#f9fbfa;color:#789086;font-size:10px;text-transform:none}.table-scroll td{padding-top:20px;padding-bottom:20px}.filter-row{padding:18px 22px}.app-shell .editor-form{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:visible;box-shadow:none}.form-section{padding:28px}.section-tabs{padding:0 24px;gap:20px;border-bottom:1px solid var(--line);overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.section-tabs [role=tab]{padding:20px 0;white-space:nowrap;font-size:12px;border-radius:0;min-height:56px;background:transparent;border:0;border-bottom:2px solid transparent;color:#738478}.section-tabs [aria-selected=true]{color:#146451;border-bottom-color:#146451;background:transparent}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field{min-width:0;display:flex;flex-direction:column;gap:7px;margin-bottom:0}.field.full,.form-grid>.full{grid-column:1/-1}.field label{font-size:12px;color:#3d5449;font-weight:600;margin:0}.field input,.field select,.field textarea,.app-shell .field input,.app-shell .field select,.app-shell .field textarea{border:1px solid #cfdbd4;border-radius:5px;background:#fff;min-height:44px;padding:11px 12px;font-size:13px;color:#233f31;box-shadow:none;width:100%}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #45a58b;outline-offset:1px}.field input[readonly]{background:#f4f7f5;color:#68786e}.field-hint{font-size:10px;color:#778b80;line-height:1.5}.form-section-title{margin-bottom:24px}.save-bar{background:#fff;border-top:1px solid var(--line);padding:16px 26px;border-radius:0 0 8px 8px;position:sticky;bottom:0;z-index:15;gap:16px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 -4px 18px #23472d04}.save-bar [data-save-state]{font-size:11px;color:#7a8c81}.save-bar [data-dirty=true]{color:#a57721}.image-input{display:flex;gap:8px;align-items:center}.image-input>input{min-width:0}.upload-button{position:relative;overflow:hidden;flex-shrink:0;cursor:pointer}.upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;padding:0}.schedule-editor{display:grid;gap:0;margin:12px 0 24px}.schedule-edit-row{display:grid;grid-template-columns:24px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}.schedule-edit-row>span{font-size:11px;color:#829387;padding-top:30px}.health-list{list-style:none;padding:0}.health-list li{padding:18px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.invitation-editor{border-radius:8px;border:1px solid var(--line);background:#fff;margin-bottom:28px}.invitation-summary{padding:22px 26px}.invitation-summary h2{font-size:18px}.invitation-body{padding:0}.invitation-toolbar{padding:20px 26px;flex-wrap:wrap;gap:16px}.invitation-body .inline-notice{margin:0 26px 20px;padding:14px;font-size:12px}.invitation-body>.editor-form{border:0;border-top:1px solid var(--line);border-radius:0}.app-shell .switch-row{padding:17px 0;border-bottom:1px solid #edf1ee;gap:18px;display:flex;justify-content:space-between;align-items:center}.switch-row input{accent-color:#18785f;width:18px;height:18px;flex-shrink:0}.text-link{color:#156452;font-size:12px}.auth-shell{background:#f4f7f5}.auth-wrap{min-height:100svh;padding:30px 20px}.auth-card{border-radius:8px;box-shadow:0 16px 60px #163d2812;border:1px solid var(--line);background:white}.auth-card .brand>span{font-family:var(--sans);font-size:17px}.password-field{display:flex;position:relative;align-items:center}.password-field>input{padding-right:50px!important}.password-field>.icon-button{position:absolute;right:3px;top:3px;background:transparent;border:0}.registration-main{max-width:1304px;margin:auto}.registration-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}.registration-form{min-width:0;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:visible}.registration-steps{margin:0;list-style:none;padding:22px 26px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.registration-steps li{display:flex;gap:8px;align-items:center;font-size:10px;color:#7a8c80;min-width:0}.registration-steps li span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#eff3f0;flex-shrink:0}.registration-steps [aria-current=step]{color:#146451;font-weight:600}.registration-steps [aria-current=step] span{background:#146451;color:white}.registration-form .field:not(.form-grid .field){margin-bottom:20px}.registration-form .form-section+.form-section{border-top:1px solid var(--line)}.registration-summary{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white;position:sticky;top:96px}.registration-summary>img{width:100%;height:220px;object-fit:cover}.registration-summary>div{padding:24px}.registration-summary h2{font-size:20px;margin:8px 0 12px}.registration-summary p{font-size:12px;color:var(--muted)}.registration-summary hr{border:0;border-top:1px solid var(--line);margin:22px 0}.summary-detail{display:flex;gap:10px;align-items:center;font-size:11px;color:#75867d;margin:15px 0}.plan-selector{display:grid;gap:12px}.plan-selector label{display:flex;gap:12px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:6px;cursor:pointer}.plan-selector label:has(:checked){border-color:#2f8a70;background:#f1f8f4}.plan-selector input{accent-color:#156452;flex-shrink:0}.plan-selector span{flex:1;min-width:0}.plan-selector strong,.plan-selector small{display:block;font-size:12px}.plan-selector small{font-size:10px;color:#799082;margin-top:5px}.plan-selector b{font-size:12px}.registration-status{padding:24px;margin:0 26px 24px;background:#edf7f1;border-radius:6px;font-size:13px}.registration-status.error{background:#fff0ef;color:#9a3535}.registration-status a{display:inline-flex;margin:12px 8px 0 0}.registration-form .save-bar [data-step-label]{margin-right:auto;font-size:11px;color:#6e8477}.invitation-toolbar .row-actions{flex-wrap:wrap}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.library-fields{padding:20px}.header-account{pointer-events:none}.mobile-only{display:none}
@media(min-width:1600px){.marketing-hero{min-height:660px}}
@media(max-width:1100px){.marketing-links{gap:18px}.identity span{max-width:120px;font-size:14px}.marketing-hero-copy{max-width:440px}.marketing-hero-copy h1{font-size:62px}.marketing-hero:after{background:linear-gradient(90deg,#fffffff0 0%,#ffffffe6 32%,#ffffff40 67%,transparent)}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.signature-description{padding:30px}.app-shell .metric-grid:not(.client-metrics){grid-template-columns:repeat(3,minmax(0,1fr))}.registration-layout{grid-template-columns:minmax(0,1fr) 260px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.marketing-nav>.wrap{min-height:70px;gap:10px}.marketing-links,.nav-create{display:none}.identity{gap:8px}.identity img{width:60px;min-width:60px;height:29px;padding:4px}.identity span{max-width:105px;font-size:12px}.nav-actions .btn{min-height:38px;padding:9px 13px;font-size:11px}.marketing-hero{min-height:655px;align-items:flex-start}.marketing-banner{object-position:65% bottom;height:58%;top:auto;bottom:0}.marketing-hero:after{background:linear-gradient(180deg,#fff 0%,#fff 43%,#ffffffec 49%,#ffffff50 67%,transparent 80%)}.marketing-hero-copy{padding:44px 0 300px;max-width:none}.marketing-hero-copy h1{font-size:54px}.marketing-hero-copy p{font-size:13px;max-width:380px;margin:18px 0 24px}.marketing-hero-copy .overline{font-size:10px;margin-bottom:16px}.button-row{gap:8px}.button-row .btn{font-size:11px;padding:12px 14px;min-height:42px}.hero-highlights>.wrap{gap:10px;padding:22px 0}.hero-highlights>.wrap>div{flex-direction:column;align-items:flex-start;gap:10px;justify-content:flex-start}.hero-highlights strong{font-size:11px}.hero-highlights span{font-size:9px;line-height:1.6}.hero-highlights .lucide{width:20px;height:20px}.marketing-section{padding:56px 0}.marketing h2{font-size:36px}.section-heading{margin-bottom:28px}.section-heading p{font-size:12px}.signature-design{grid-template-columns:1fr}.signature-visual{min-height:400px}.signature-description{padding:28px 22px}.signature-description h3{font-size:32px}.signature-description>p{font-size:12px}.design-details{gap:12px}.design-bottom .btn{font-size:12px}.process-grid{gap:12px}.process-grid article{padding:20px 16px}.process-grid h3{font-size:13px}.process-grid p{font-size:11px}.step-number{margin-bottom:20px}.pricing-grid{grid-template-columns:1fr;gap:16px}.pricing-option{padding:26px}.pricing-option ul{min-height:0}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-layout h2{font-size:34px}.faq-list summary{font-size:12px}.footer-columns{grid-template-columns:1fr 1fr;gap:32px}.footer-columns>div:first-child{grid-column:1/-1}.footer-columns .identity span{max-width:none;font-size:14px}.marketing-footer{padding-top:42px}.footer-bottom{flex-direction:column;font-size:9px;gap:8px}.app-shell .app-main{padding:24px 16px}.app-shell h1{font-size:25px}.app-shell .page-title{gap:15px;align-items:flex-start;flex-wrap:wrap}.page-title .btn{font-size:11px;padding:9px 12px}.app-shell .workspace-header{padding:0 16px;gap:12px;height:62px;min-height:62px}.app-shell .metric-grid:not(.client-metrics){grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .client-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.app-shell .metric{padding:15px 12px}.metric strong{font-size:24px}.metric-label{font-size:9px;display:flex;gap:4px}.metric-icon{display:none}.form-grid{grid-template-columns:1fr;gap:18px}.form-section{padding:24px 18px}.section-tabs{padding:0 18px;gap:22px}.section-tabs [role=tab]{font-size:11px}.save-bar{padding:14px 18px;gap:8px}.save-bar .btn{font-size:11px;min-height:42px}.save-bar [data-save-state]{font-size:10px}.invitation-summary{padding:18px 16px;gap:10px}.invitation-summary h2{font-size:16px}.invitation-summary .event-symbol{display:none}.invitation-toolbar{padding:16px}.invitation-toolbar .btn{font-size:10px;padding:8px 10px;min-height:38px}.invitation-body .inline-notice{margin:0 16px 16px;font-size:10px}.registration-layout{grid-template-columns:1fr}.registration-summary{position:static;order:-1;display:flex;align-items:center}.registration-summary>img{width:100px;align-self:stretch;height:auto;min-height:140px}.registration-summary>div{padding:18px}.registration-summary p,.registration-summary hr,.summary-detail{display:none}.registration-summary h2{font-size:18px}.registration-steps{padding:18px 16px;gap:8px}.registration-steps li{font-size:9px;gap:5px}.registration-steps li span{width:22px;height:22px}.registration-status{margin:0 16px 16px;padding:18px}.health-list li{font-size:11px;align-items:flex-start}.library-grid{grid-template-columns:1fr}.app-shell .header-account>span:not(.avatar){display:none}.auth-card{padding:28px 22px}.schedule-edit-row{grid-template-columns:18px 1fr;gap:10px}.image-input .btn{padding:10px;font-size:11px}.field input,.field select,.field textarea,.app-shell .field input,.app-shell .field select,.app-shell .field textarea{font-size:16px}.registration-form .save-bar [data-step-label]{font-size:10px}.plan-selector label{padding:14px 12px;gap:8px}.plan-selector strong{font-size:11px}}
.app-shell .form-section{display:block;padding:28px}.app-shell .form-section-title{margin-bottom:22px}.app-shell .form-section>.field{margin-bottom:24px}.app-shell .workspace-body,.app-shell .app-main{background:#f3f6f5}.app-shell h1,.app-shell h2,.app-shell h3{color:#253e36}.app-shell .section-tabs [aria-selected=true]{color:#146451;border-bottom-color:#146451}.app-shell .form-section>.form-grid{width:100%}.app-shell .editor-form{max-width:none}.app-shell .registration-form .form-section{padding-bottom:30px}.registration-form{scroll-margin-top:104px}.registration-form .save-bar{position:static}.app-shell .sidebar{height:100svh}.app-shell .workspace-header{border-bottom-color:#dfe7e2}.app-shell .metric-label{color:#687e72}.app-shell .metric strong{color:#253e36}
.template-management{display:grid;grid-template-columns:320px minmax(0,1fr);gap:28px;align-items:start}.template-management-preview{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.template-management-preview>img{aspect-ratio:4/5;object-fit:cover;width:100%}.template-management-preview>div{padding:24px}.template-management-preview h2{margin:8px 0 20px}.archive-list{margin-top:32px;border-top:1px solid var(--line);padding-top:22px;color:var(--muted);font-size:12px}.archive-list summary{cursor:pointer}.archive-list ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.archive-list li{display:flex;align-items:center;gap:8px;padding:8px 0}.content-editor .field{margin-bottom:0}
@media(max-width:1000px){.template-management{grid-template-columns:1fr}.template-management-preview{display:flex;align-items:center}.template-management-preview>img{width:150px;aspect-ratio:1;}.archive-list ul{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.app-shell .form-section{padding:24px 18px}.client-metrics .metric-label{min-height:26px;justify-content:center}.app-shell .client-metrics .metric{padding:16px 12px}.registration-form{scroll-margin-top:84px}}
@media(max-width:500px){.archive-list ul{grid-template-columns:1fr}.template-management-preview>img{width:110px}.template-management-preview>div{padding:16px}.template-management-preview h2{font-size:17px}.template-management-preview .btn{font-size:11px}}
.wording-options{margin-top:28px;border-top:1px solid var(--line);padding-top:20px}.wording-options>summary{cursor:pointer;font-weight:600;margin-bottom:24px}
@media(min-width:981px){.app-shell.sidebar-collapsed{--sidebar-width:76px}.sidebar-collapsed .sidebar-brand{margin-inline:0;justify-content:center}.sidebar-collapsed .sidebar-brand .brand-logo-mark{width:44px;min-width:44px;height:25px;flex-basis:44px;padding:3px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* catalog.css */
/* Shared reading scale, following the supplied Inter-based reference. */
.catalog-grid.wedding-catalog{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.wedding-catalog .template-cover{aspect-ratio:9/16}.wedding-catalog .template-cover::after{display:none}.wedding-catalog .template-play{width:42px;height:42px;background:#10161999}.wedding-catalog .template-card-body{padding:18px 14px}.wedding-catalog .template-card h3{font-size:18px;min-height:51px}.wedding-catalog .template-card-actions{grid-template-columns:1fr}.wedding-catalog .template-price{margin:10px 0 18px}.wedding-catalog .template-category{font-size:12px}
@media(max-width:1100px){.catalog-grid.wedding-catalog{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.catalog-grid.wedding-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wedding-catalog .template-card-body{padding:16px 12px}.marketing .wedding-catalog .template-card h3{font-size:18px;min-height:50px}.marketing .wedding-catalog .template-card-actions .btn{font-size:13px}.wedding-catalog .template-card .template-price{font-size:15px}}
@media(max-width:380px){.catalog-grid.wedding-catalog{grid-template-columns:1fr}.wedding-catalog .template-card-actions{grid-template-columns:1fr 1fr}.marketing .wedding-catalog .template-card h3{min-height:0}}
.marketing,.app-shell{font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.6}
.marketing h1,.marketing h2,.marketing h3{font-family:Inter,system-ui,sans-serif;font-weight:800;line-height:1.15}
.marketing h1,.marketing-hero-copy h1{font-size:64px}.marketing h2{font-size:44px}.marketing h3{font-size:22px}
.marketing .section-heading{max-width:880px}.marketing .section-heading p{font-size:18px;line-height:1.7}
.marketing .marketing-hero-copy{max-width:570px}.marketing-hero-copy p{font-size:19px;line-height:1.75;max-width:530px}
.marketing .overline{font-size:13px}.marketing-links{font-size:15px;gap:24px}
.marketing .btn,.app-shell .btn{font-size:15px;min-height:46px;padding:12px 18px;line-height:1.4}
.marketing .identity span,.app-shell .identity span{font-size:21px;max-width:none;line-height:1.25}
.marketing .identity img,.app-shell .identity img,.app-shell .brand .brand-logo-mark{width:56px;height:56px;min-width:56px;flex-basis:56px;padding:0;object-fit:cover;object-position:center;border-radius:50%;background:transparent}
.marketing-nav>.wrap{min-height:72px}.marketing .hero-highlights strong{font-size:16px}.marketing .hero-highlights span{font-size:14px}
.marketing .marketing-nav .identity img,.app-shell .marketing-nav .identity img{width:40px;height:40px;min-width:40px;flex-basis:40px}
@media(max-width:760px){.marketing .marketing-nav .identity img,.app-shell .marketing-nav .identity img{width:36px;height:36px;min-width:36px;flex-basis:36px}}
.marketing .process-grid h3{font-size:19px;line-height:1.35}.marketing .process-grid p{font-size:15px;line-height:1.7}.step-number{font-size:15px}
.marketing .pricing-option h3{font-size:34px}.marketing .pricing-option>p,.marketing .pricing-option ul{font-size:16px}.marketing .pricing-option ul{line-height:1.65;min-height:180px}
.marketing .faq-layout h2{font-size:38px}.marketing .faq-list summary{font-size:17px}.marketing .faq-list p{font-size:16px}
.marketing .footer-columns p{font-size:16px}.marketing .footer-columns h3{font-size:17px}.marketing .footer-columns>div>a:not(.identity){font-size:15px}.marketing .footer-bottom{font-size:13px}
.app-shell{--sidebar-width:270px;font-size:15px}.app-shell h1{font-size:32px;font-weight:800}.app-shell h2{font-size:22px;font-weight:700}.app-shell h3{font-size:18px}
.app-shell .page-kicker{font-size:13px}.app-shell .page-title p{font-size:16px}.app-shell .side-link{font-size:15px;line-height:1.45;min-height:48px}.app-shell .nav-section-label{font-size:12px}
.app-shell .sidebar-brand .brand-logo-mark{width:48px;min-width:48px;height:48px;flex-basis:48px}.app-shell .sidebar-brand-text{font-size:20px}.app-shell .sidebar-brand-text small{font-size:12px}.app-shell .sidebar-profile strong{font-size:14px}.app-shell .sidebar-profile small{font-size:12px}
.app-shell .workspace-header{font-size:14px}.app-shell .workspace-footer{font-size:13px}.app-shell .metric-label{font-size:14px;line-height:1.4}.app-shell .metric strong{font-size:34px}.app-shell .metric small{font-size:13px}
.app-shell .field label{font-size:15px}.app-shell .field input,.app-shell .field select,.app-shell .field textarea{font-size:16px;line-height:1.5;min-height:46px}
.app-shell .field-hint,.app-shell .optional{font-size:13px}.app-shell .form-section-title h3{font-size:20px}.app-shell .section-tabs [role=tab]{font-size:15px;line-height:1.4}
.app-shell .save-bar [data-save-state],.app-shell .registration-form .save-bar [data-step-label]{font-size:13px}.app-shell .text-link{font-size:15px}
.app-shell .table-scroll th{font-size:13px}.app-shell .table-scroll td{font-size:15px}.app-shell .table-scroll td small,.app-shell .table-scroll td .muted{font-size:13px}.app-shell .badge{font-size:12px;padding:5px 9px;line-height:1.4}
.app-shell .filter-row input,.app-shell .filter-row select{font-size:15px;min-height:44px}.app-shell .pagination,.app-shell .section-title p{font-size:14px}
.app-shell .invitation-summary h2{font-size:22px}.app-shell .event-heading>span{font-size:14px}.app-shell .invitation-toolbar .btn{font-size:14px;min-height:44px}.app-shell .invitation-body .inline-notice{font-size:14px}.app-shell .health-list li{font-size:15px}
.app-shell .registration-steps li{font-size:14px;line-height:1.4}.app-shell .registration-steps li span{width:28px;height:28px;flex:0 0 28px}.app-shell .registration-summary h2{font-size:22px}.app-shell .registration-summary p{font-size:15px}.app-shell .summary-detail{font-size:14px}
.app-shell .plan-selector strong{font-size:16px}.app-shell .plan-selector small{font-size:13px;line-height:1.55}.app-shell .plan-selector b{font-size:16px}.app-shell .plan-selector label{grid-template-columns:20px minmax(0,1fr) auto;min-width:0}
.app-shell .auth-card .brand>span{font-size:21px}.app-shell .auth-card p{font-size:15px}.app-shell .row-actions .btn{font-size:14px}.app-shell .archive-list{font-size:14px}
/* All switch geometry is explicit so generic input rules cannot stretch the track. */
.app-shell .switch-row{font-size:15px;min-height:58px;gap:20px;cursor:pointer;line-height:1.5}
.app-shell .switch-row>strong{font-weight:600;min-width:0;overflow-wrap:anywhere}
.app-shell .switch-row>input[type=checkbox]{appearance:none;-webkit-appearance:none;display:block;box-sizing:border-box;position:relative;flex:0 0 46px;width:46px;min-width:46px;max-width:46px;height:28px;min-height:28px;max-height:28px;padding:0;margin:0;border:0;border-radius:999px;background:#c2cdc8;box-shadow:inset 0 0 0 1px #99aaa480;align-self:center;cursor:pointer;transition:background-color .18s}
.app-shell .switch-row>input[type=checkbox]::after{content:"";position:absolute;inset:3px auto auto 3px;display:block;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #203c3130;transform:translateX(0);transition:transform .18s}
.app-shell .switch-row>input[type=checkbox]:checked{background:#147d60;box-shadow:none}.app-shell .switch-row>input[type=checkbox]:checked::after{transform:translateX(18px)}
.app-shell .switch-row>input[type=checkbox]:focus-visible{outline:3px solid #2678bd;outline-offset:4px}.app-shell .switch-row>input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}
.app-shell .header-start strong,.app-shell .header-account{font-size:15px}.app-shell .breadcrumb-parent,.app-shell .breadcrumb-divider{font-size:14px}.app-shell .sidebar .brand .sidebar-brand-text{font-size:20px;white-space:normal}.app-shell .cell-primary{font-size:15px}.app-shell .cell-secondary{font-size:13px;color:#687e73}.app-shell .responsive-table td{font-size:15px}.app-shell .responsive-table td[data-label]::before{font-size:12px}.app-shell .result-count{font-size:13px}.app-shell .count-label{font-size:12px}.app-shell .empty-state p{font-size:15px}
.catalog-tabs,.catalog-subtabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 30px;padding:0}
.catalog-tabs>a,.catalog-subtabs>a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 20px;border:1px solid #cfdcd5;border-radius:6px;font-size:15px;font-weight:600;background:#fff;color:#345547}
.catalog-tabs>a>span,.catalog-subtabs>a>span{font-size:12px;font-weight:600;min-width:22px;text-align:center;opacity:.8}
.catalog-tabs>a[aria-current],.catalog-subtabs>a[aria-current]{background:#156452;color:#fff;border-color:#156452}.catalog-subtabs{margin-top:-10px}.catalog-subtabs>a{min-height:40px;padding:8px 16px;font-size:14px}
.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 20px}
.catalog-grid .template-card::before{display:none}.catalog-grid .template-card-body{gap:0}.catalog-grid .template-category{padding:0;border-radius:0;background:none}
.template-card{display:flex;flex-direction:column;background:#fff;border:1px solid #d8e3dc;border-radius:8px;overflow:hidden;min-width:0;padding:0;text-align:left;box-shadow:none}.template-card:hover{transform:none}
.template-cover{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#56705c;isolation:isolate}.template-cover>img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.template-cover:hover>img{transform:scale(1.04)}.template-cover::after{content:"";position:absolute;inset:0;background:#173d3655;z-index:0}
.template-cover-copy{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;color:#fff;font-family:GreatVibes,cursive;font-size:43px;line-height:1.1;text-shadow:0 2px 8px #173d3680}.template-cover-copy em{font-family:Cormorant,serif;font-size:27px;line-height:1}.template-cover-copy small{font-family:Inter,sans-serif;font-size:10px;margin-top:12px}
.template-play{position:absolute;right:14px;bottom:14px;z-index:2;display:grid;place-items:center;width:32px;height:32px;border:1px solid #ffffffaa;border-radius:50%;color:white;background:#fff2}
.template-card-body{padding:20px;display:flex;flex:1;flex-direction:column;align-items:stretch}.template-category{font-size:12px;font-weight:600;color:#41795e;margin-bottom:10px}.marketing .template-card h3{font-size:19px;line-height:1.4;margin:0;min-height:54px}.template-card .template-price{font-size:16px;font-weight:700;color:#294d3f;margin:12px 0 20px}.template-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}.marketing .template-card-actions .btn{padding:11px 8px;font-size:14px;gap:6px}.template-card-actions .lucide{width:16px;height:16px}.catalog-more{text-align:center;margin-top:34px}.mobile-more-only{display:none}.catalog-empty{text-align:center}
.admin-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.admin-template{border:1px solid #d6e0d9;border-radius:8px;background:#fff;overflow:hidden;min-width:0}.admin-template>summary{list-style:none;display:flex;align-items:center;gap:18px;padding:18px;cursor:pointer}.admin-template>summary::-webkit-details-marker{display:none}.admin-template>summary>img{width:76px;height:88px;object-fit:cover;border-radius:4px;flex-shrink:0}.admin-template>summary>span{display:flex;flex-direction:column;min-width:0;flex:1;gap:5px}.admin-template>summary small{font-size:13px;color:#597668}.admin-template>summary strong{font-size:19px;line-height:1.35}.admin-template>summary span>span{font-size:14px;color:#647f71}.admin-template[open]>summary>.lucide{transform:rotate(180deg)}.app-shell .admin-template .editor-form{border:0;border-top:1px solid var(--line);border-radius:0}.admin-template .save-bar{position:static}.app-shell .catalog-tabs,.app-shell .catalog-subtabs{justify-content:flex-start}
@media(min-width:981px){.app-shell.sidebar-collapsed{--sidebar-width:88px}.app-shell.sidebar-collapsed .sidebar-brand .brand-logo-mark{width:44px;height:44px;min-width:44px;flex-basis:44px;padding:0}}
@media(max-width:1100px){.marketing-nav>.wrap{gap:16px}.marketing .identity span{font-size:18px;max-width:130px}.marketing-links{gap:15px;font-size:14px}.marketing .nav-actions .btn{padding-inline:14px;font-size:14px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-catalog{grid-template-columns:1fr}}
@media(max-width:760px){.marketing .identity img,.app-shell .identity img{width:48px;min-width:48px;flex-basis:48px;height:48px}.marketing .identity span,.app-shell .identity span{font-size:17px;max-width:135px}.marketing-nav>.wrap{min-height:64px;gap:10px}.marketing .nav-actions .btn,.app-shell .nav-actions .btn{font-size:14px;padding:10px 14px;min-height:44px}.marketing h1,.marketing-hero-copy h1{font-size:40px}.marketing h2{font-size:32px}.marketing .overline{font-size:12px}.marketing .marketing-hero-copy{max-width:none;padding:36px 0 230px}.marketing .marketing-hero-copy p{font-size:17px}.marketing .marketing-hero-copy .btn{font-size:14px;padding:12px 14px}.marketing .section-heading p{font-size:16px}.marketing .hero-highlights strong{font-size:14px}.marketing .hero-highlights span{font-size:13px}.marketing .process-grid{grid-template-columns:1fr}.marketing .process-grid article{padding:25px}.marketing .process-grid h3{font-size:19px}.marketing .process-grid p{font-size:16px}.marketing .pricing-option ul{min-height:0}.marketing .pricing-option h3{font-size:30px}.marketing .faq-layout h2{font-size:32px}.marketing .footer-columns{gap:26px}.marketing .footer-columns .identity span{font-size:18px}.catalog-grid{grid-template-columns:1fr;gap:24px}.catalog-home>.template-card:nth-child(n+6){display:none}.template-cover{aspect-ratio:4/3}.template-cover-copy{font-size:56px}.template-cover-copy em{font-size:30px}.template-cover-copy small{font-size:12px}.marketing .template-card h3{min-height:0;font-size:21px}.marketing .template-card-actions .btn{font-size:15px}.template-category{font-size:14px}.template-card .template-price{font-size:18px}.catalog-tabs{gap:8px;margin-bottom:24px}.catalog-tabs>a{flex:1 0 calc(50% - 8px);padding:10px 14px;font-size:15px}.catalog-subtabs{gap:8px}.catalog-subtabs>a{flex:1 0 calc(50% - 8px);padding:8px 12px}.mobile-more-only{display:block}.app-shell h1{font-size:28px}.app-shell .page-title p{font-size:15px}.app-shell .btn,.app-shell .page-title .btn,.app-shell .save-bar .btn,.app-shell .invitation-toolbar .btn{font-size:14px;min-height:44px;padding:11px 14px}.app-shell .form-section{padding:24px 18px}.app-shell .client-metrics{grid-template-columns:1fr}.app-shell .client-metrics .metric{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px}.app-shell .client-metrics .metric-label{font-size:15px;min-height:0;margin:0}.app-shell .client-metrics .metric strong{font-size:30px}.app-shell .metric-label{font-size:13px}.app-shell .metric strong{font-size:30px}.app-shell .invitation-summary h2{font-size:21px}.app-shell .section-tabs [role=tab]{font-size:14px}.app-shell .save-bar{flex-wrap:wrap;gap:12px}.app-shell .registration-steps{padding:20px 16px;gap:10px;align-items:flex-start}.app-shell .registration-steps li{font-size:12px;flex:1;flex-direction:column;align-items:flex-start}.app-shell .registration-summary h2{font-size:20px}.app-shell .registration-summary>img{width:94px}.app-shell .plan-selector label{grid-template-columns:20px minmax(0,1fr);gap:10px}.app-shell .plan-selector b{grid-column:2}.app-shell .field-hint{font-size:13px}.app-shell .health-list li{font-size:14px}.app-shell .sidebar-brand-text{font-size:19px}.app-shell .sidebar-brand-text small{font-size:12px}.app-shell .admin-template>summary strong{font-size:18px}.app-shell .admin-template>summary{padding:16px;gap:12px}.app-shell .admin-template>summary>img{width:64px;height:76px}}
@media(max-width:360px){.marketing .identity img,.app-shell .identity img{width:44px;height:44px;min-width:44px;flex-basis:44px}.marketing .identity span,.app-shell .identity span{font-size:16px;max-width:102px}.marketing .nav-actions .btn,.app-shell .nav-actions .btn{padding:10px;font-size:13px}.marketing h1,.marketing-hero-copy h1{font-size:36px}.marketing .footer-columns{grid-template-columns:1fr}.marketing .footer-columns>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.template-cover>img,.app-shell .switch-row>input[type=checkbox],.app-shell .switch-row>input[type=checkbox]::after{transition:none}}

/* studio.css */
:root{--space-section:80px;--space-grid:24px}
.marketing-section{padding-block:var(--space-section)}.marketing .section-heading{margin-bottom:40px}.marketing .process-grid,.marketing .pricing-grid{gap:var(--space-grid)}
.marketing .process-grid article{padding:28px}.marketing .pricing-option{padding:32px;display:flex;flex-direction:column}.marketing .pricing-option .btn{margin-top:auto}.marketing .pricing-option ul{flex:1;min-height:0}
.marketing .footer-columns{gap:48px}.marketing .template-card-footer{gap:16px}.marketing .template-card-body{padding:20px}
.app-shell .app-main{padding:32px}.app-shell .page-title{margin-bottom:32px;gap:24px}.app-shell .metric-grid{gap:24px;margin-bottom:32px}.app-shell .form-section{padding:28px}.app-shell .form-grid{gap:24px}.app-shell .form-section-title{margin-bottom:24px}
.app-shell .section-tabs{gap:28px;padding-inline:28px;overflow-x:auto;scrollbar-width:thin}.app-shell .section-tabs [role=tab]{flex:0 0 auto;white-space:nowrap;padding-block:20px}
.app-shell .save-bar{padding:20px 28px;gap:16px;flex-wrap:wrap}.app-shell .save-bar [data-save-state]{margin-right:auto}.app-shell .field{min-width:0}.app-shell .field input,.app-shell .field select,.app-shell .field textarea{width:100%}
.app-shell .field input[type=file]{width:auto}.app-shell .switch-row{gap:24px;min-height:48px}.app-shell .switch-row input{flex-shrink:0}.app-shell .header-account{pointer-events:auto}
.template-switcher{display:flex;align-items:flex-end;gap:16px;margin-bottom:28px}.template-switcher>.field{flex:1}.template-switcher>.btn{flex-shrink:0}
.section-editor-row{padding:28px 0;border-bottom:1px solid var(--line)}.section-editor-row:first-child{padding-top:0}.section-editor-row>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.section-editor-row>header .row-actions{gap:8px;display:flex}.section-editor-row .icon-button:disabled{opacity:.35;cursor:default}
[data-section-add]{margin-top:24px}[data-section-count]{display:block;margin-top:12px}.empty-sections{padding:20px 0;margin:0;color:var(--muted)}[data-audio-preview]{display:block;width:100%;height:42px;margin-top:16px}
.app-shell .image-input{align-items:stretch;gap:12px}.app-shell .image-input>input{min-width:0}.app-shell .image-input>.upload-button{flex-shrink:0}.app-shell .field-hint{display:block;margin-top:8px;line-height:1.6}
.app-shell .invitation-toolbar{padding:24px 28px;gap:16px}.app-shell .invitation-toolbar .row-actions{gap:12px}.app-shell .wording-options{margin-top:32px;padding-top:24px}.app-shell .wording-options>summary{margin-bottom:24px}
@media(max-width:980px){.app-shell .app-main{padding:28px 24px}.app-shell .metric-grid{gap:18px}.marketing .footer-columns{gap:32px}}
@media(max-width:760px){:root{--space-section:56px;--space-grid:18px}.marketing .section-heading{margin-bottom:32px}.marketing .process-grid article,.marketing .pricing-option{padding:24px}.app-shell .app-main{padding:24px 16px}.app-shell .page-title,.app-shell .metric-grid{margin-bottom:24px}.app-shell .metric-grid{gap:12px}.app-shell .form-section{padding:24px 20px}.app-shell .form-grid{gap:20px}.app-shell .section-tabs{gap:24px;padding-inline:20px}.app-shell .save-bar{padding:16px 20px}.template-switcher{align-items:stretch;flex-direction:column;gap:12px;margin-bottom:24px}.template-switcher>.btn{align-self:flex-start}.app-shell .invitation-toolbar{padding:20px}.app-shell .image-input{flex-wrap:wrap}.app-shell .image-input>input{flex:1 1 100%}.section-editor-row{padding-block:24px}.app-shell .save-bar .btn{min-height:44px}.app-shell .client-metrics .metric{min-width:0}.app-shell .metric-label{overflow-wrap:anywhere}}
@media(max-width:380px){.marketing .process-grid{grid-template-columns:1fr}.section-editor-row>header{flex-wrap:wrap}.app-shell .save-bar [data-save-state]{flex-basis:100%}}

/* refinement.css */
@font-face{font-family:NotoTamil;src:url('../fonts/NotoSansTamil.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
[lang=ta],html[lang=ta] body,html[lang=ta] button,html[lang=ta] input,html[lang=ta] textarea,html[lang=ta] select{font-family:NotoTamil,Inter,system-ui,sans-serif;letter-spacing:0;line-height:1.8}
html[lang=ta] h1,html[lang=ta] h2,html[lang=ta] h3,html[lang=ta] .overline,html[lang=ta] .wedding-eyebrow,html[lang=ta] .cinema-open strong,html[lang=ta] .cinema-open-area>p,html[lang=ta] .cinema-intro-heading>p,html[lang=ta] .cinema-intro-heading>span{font-family:NotoTamil,Inter,system-ui,sans-serif;line-height:1.6;letter-spacing:0}
html[lang=ta] .wedding p,html[lang=ta] .wedding span,html[lang=ta] .wedding label,html[lang=ta] .wedding a{font-family:NotoTamil,Inter,system-ui,sans-serif;letter-spacing:0}
.language-switch{display:inline-flex;align-items:stretch;flex-shrink:0;border:1px solid #b9cbc4;background:#fff;border-radius:6px;padding:3px;gap:3px;font-size:13px;line-height:1.5}
.language-switch a{padding:6px 9px;color:#29483d;text-decoration:none;display:flex;align-items:center;border-radius:3px;min-height:32px}
.language-switch a[aria-current=true]{background:#146455;color:#fff}
.language-switch a:focus-visible{outline:2px solid #1c7cbb;outline-offset:2px}
.invitation-language{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:90}
.wedding .language-switch{opacity:.95}.wedding .language-switch a{font-size:12px}
.cinematic .music-control,.wedding .music-control{position:fixed;top:auto;bottom:max(18px,env(safe-area-inset-bottom));right:max(18px,env(safe-area-inset-right));z-index:100;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #ccd4c5;box-shadow:0 2px 12px #24392d20}
.wedding .music-control[hidden]{display:none}.music-control svg{width:22px;height:22px}
.cinematic .cinema-intro-heading{top:78px}
.website-status-strip{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:24px;padding:24px 0;margin-bottom:24px;border-top:1px solid #d5e1dc;border-bottom:1px solid #d5e1dc;align-items:start}
.website-status-strip>div,.website-status-strip>a{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;text-decoration:none;color:inherit}
.website-status-strip span:first-child{color:#667d73;font-size:14px}.website-status-strip strong{font-size:20px;overflow-wrap:anywhere}
.workspace .website-editor{border:0;background:transparent;border-radius:0;box-shadow:none}.website-editor .form-section{padding:28px 0}.website-editor .section-tabs{padding-inline:0;gap:4px}.website-editor .section-tabs button{padding:14px 16px;font-size:15px;flex-shrink:0}
.website-editor .save-bar{padding-inline:0}.workspace .page-title{gap:20px;align-items:flex-start}.workspace .page-title p{margin-top:8px}
.sidebar-brand{gap:12px!important}.sidebar-brand .brand-logo-mark{width:40px!important;height:40px!important;flex:0 0 40px}.sidebar-brand-text{font-size:20px!important}.sidebar-brand-text small{font-size:13px!important;line-height:1.4}
.sidebar .side-link{gap:12px;min-height:48px;padding:12px 14px;line-height:1.5}.sidebar .side-link svg{flex-shrink:0}.header-account{min-width:0;max-width:45%;gap:10px}.header-account>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.payment-summary{padding:28px 0;border-top:1px solid #d5e1dc}.payment-summary h2{font-size:24px}.payment-summary dl{margin:24px 0}.payment-summary dl>div{display:flex;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid #d5e1dc}.payment-summary dd{margin:0;text-align:right;overflow-wrap:anywhere}.payment-summary p{margin:24px 0;line-height:1.7}.payment-summary .btn{white-space:normal}
.profile-edit{margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid #d5e1dc}.auth-card .auth-register-link{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:7px;row-gap:6px;margin:24px 0 0!important;line-height:1.8}.auth-register-link a{display:inline}
.content-editor .form-grid{align-items:start}.content-editor textarea[lang=ta],.tamil-editor textarea{font-size:16px;line-height:1.8;min-height:92px}.form-grid input[lang=ta]{font-size:16px;line-height:1.8}.content-editor label{line-height:1.7}.schedule-edit-row .form-grid{min-width:0}
html[lang=ta] .marketing-hero h1{font-size:52px;line-height:1.5}html[lang=ta] .marketing-hero-copy>p{font-size:18px;line-height:1.9}html[lang=ta] .marketing h2{font-size:32px;line-height:1.6}html[lang=ta] .marketing h3{font-size:22px;line-height:1.65}
html[lang=ta] .marketing .btn{font-family:NotoTamil,Inter,sans-serif;line-height:1.7;font-size:14px;white-space:normal}html[lang=ta] .marketing-links{font-size:13px}html[lang=ta] .marketing .overline{font-size:13px}
html[lang=ta] .cinematic .wedding-hero h1{font-size:52px;line-height:1.65}html[lang=ta] .cinematic h2{font-size:32px;line-height:1.7}html[lang=ta] .cinematic h3{font-size:23px;line-height:1.7}html[lang=ta] .cinematic .wedding-date{font-size:21px}html[lang=ta] .cinematic .wedding-hero .wedding-eyebrow{font-family:NotoTamil,sans-serif;line-height:1.8}
html[lang=ta] .cinematic .wedding-button{font-family:NotoTamil,sans-serif;line-height:1.8;font-size:14px;white-space:normal}html[lang=ta] .cinematic .cinema-intro-heading>p{font-size:28px}html[lang=ta] .cinematic .cinema-open-area>p{font-size:21px}html[lang=ta] .cinematic .countdown-values span{font-size:11px}
@media(max-width:1150px){.marketing-nav .marketing-links{display:none}.marketing-nav .wrap{gap:12px}.marketing-nav .nav-actions{gap:8px}}
@media(max-width:760px){
  .cinematic .video-intro{height:100vh;height:100dvh;inset:0}
  .cinematic .video-intro>video,.cinematic .cinema-backdrop video{object-fit:cover}
  .cinematic .wedding-hero{height:100vh;height:100dvh;min-height:0}
  .website-status-strip{grid-template-columns:1fr 1fr;gap:20px}.website-status-strip>div:nth-child(2){grid-column:1/-1;grid-row:2}.website-status-strip strong{font-size:18px}
  .website-editor .form-section{padding:24px 0}.website-editor .section-tabs button{padding:12px;font-size:14px}.header-account .avatar{display:none}.workspace-header .header-start{gap:8px}.workspace .page-title h1{font-size:28px}
  .marketing-nav .identity span{display:none}.marketing-nav .nav-create{display:none}.marketing-nav .wrap{padding-block:9px;gap:8px}.marketing-nav .nav-actions{gap:7px}.marketing-nav .btn{padding:9px 12px;font-size:13px;min-height:40px}.marketing-nav .language-switch{font-size:12px}.marketing-nav .language-switch a{padding:4px 7px;min-height:30px}
  html[lang=ta] .marketing-hero h1{font-size:32px}html[lang=ta] .marketing-hero-copy>p{font-size:16px}html[lang=ta] .marketing h2{font-size:26px}html[lang=ta] .marketing h3{font-size:20px}
  html[lang=ta] .cinematic .wedding-hero h1{font-size:34px;line-height:1.65}html[lang=ta] .cinematic h2,html[lang=ta] .cinematic .wedding-footer h2{font-size:27px;line-height:1.7}html[lang=ta] .cinematic .wedding-hero .wedding-eyebrow{margin-bottom:18px;font-size:11px}html[lang=ta] .cinematic .wedding-rule{margin:18px auto}html[lang=ta] .cinematic .wedding-date{font-size:18px}html[lang=ta] .cinematic .countdown-values{gap:12px}
}
@media(max-height:540px) and (orientation:landscape){.cinematic .cinema-intro-heading{top:70px}.cinematic .cinema-intro-heading>p{font-size:26px}html[lang=ta] .cinematic .wedding-hero h1{font-size:25px;line-height:1.5}html[lang=ta] .cinematic .wedding-hero-copy{padding:65px 30px 48px}html[lang=ta] .cinematic .wedding-hero .wedding-eyebrow{margin-bottom:6px}.cinematic .invitation-language{top:8px}}

/* update-v13.css */
.workspace .sidebar-navigation{padding-top:16px}
.workspace .workspace-header{flex:0 0 auto}
.workspace .sidebar-person{display:flex;align-items:center;gap:12px;padding:12px 10px;margin-bottom:10px;border:1px solid #d7e3ef;border-radius:7px;color:#263f60;font-size:14px;font-weight:650;overflow-wrap:anywhere}
.workspace .sidebar-person .avatar{flex:0 0 36px;width:36px;height:36px}
.workspace .header-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;min-width:0}
.workspace .header-actions .header-account{max-width:240px;flex-shrink:0}
.workspace .header-website{white-space:nowrap;min-height:40px;padding:8px 14px}
.workspace .edit-deadline{display:flex;align-items:center;gap:7px;color:#18745f;background:#e5f7f0;border:1px solid #bbe5d8;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:650;white-space:nowrap}
.workspace .edit-deadline svg{width:17px;height:17px}
.workspace .edit-deadline.is-locked{color:#a14642;background:#fff2ee;border-color:#efcebf}
.workspace .website-status-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;border:0;background:transparent;gap:20px;align-items:stretch}
.workspace .website-status-strip>div,.workspace .website-status-strip>a{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;padding:24px;background:#fff;border:1px solid #d5e3f2;border-top:3px solid #0ab492;border-radius:8px;min-width:0;min-height:128px}
.workspace .website-status-strip>div:nth-child(2){border-top-color:#6284f5;grid-column:auto;grid-row:auto}
.workspace .website-status-strip>a{border-top-color:#dfb13e}
.workspace .website-status-strip strong{font-size:20px;line-height:1.4;color:#172a45;overflow-wrap:anywhere}
.workspace .website-status-strip span:first-child{font-size:14px;font-weight:600;color:#617b98}
.workspace .editing-locked{background:#fff;border:1px solid #d5e3f2;border-radius:8px;padding:32px;max-width:950px}
.workspace .editing-locked>svg{width:30px;height:30px;color:#b37d2d}.workspace .editing-locked h2{font-size:24px;margin:16px 0 10px}.workspace .editing-locked p{max-width:680px;margin-bottom:24px;line-height:1.8}
.workspace .settings-surface{background:#fff;border:1px solid #d5e3f2;border-radius:8px;overflow:hidden}
.workspace .settings-surface>.editor-form{border:0;border-radius:0}
.workspace .settings-surface .form-section{display:block}.workspace .settings-surface h2{font-size:21px;margin:0 0 24px}.workspace .settings-surface .form-section+.form-section{border-top:1px solid #e0e9f3}
.workspace .settings-tabs a{display:block;text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}
.workspace .account-email{margin-bottom:24px;color:#6881a0}
.workspace .extension-form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-top:24px}.workspace .extension-form .field{max-width:250px}
.workspace .filter-row{align-items:flex-end;flex-wrap:wrap}.workspace .date-filter{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#587493;min-width:145px}.workspace .date-filter input{height:46px;width:100%;border:1px solid #cbdbea;border-radius:6px;padding:9px;background:#fff}
.workspace .editor-search{position:relative;padding:20px 24px;border-bottom:1px solid #dbe5ef}.workspace .editor-search .search-field{max-width:600px}
.workspace .editor-search-results{position:absolute;left:24px;right:24px;top:calc(100% - 14px);z-index:25;max-height:320px;overflow:auto;background:#fff;box-shadow:0 12px 32px #28466b24;border:1px solid #cbdbea;border-radius:6px;padding:8px}
.workspace .editor-search-results button{display:block;width:100%;text-align:left;background:#fff;border:0;border-radius:4px;padding:12px;color:#264765;font:inherit;font-size:14px;line-height:1.6}
.workspace .editor-search-results button:hover,.workspace .editor-search-results button:focus{background:#eaf8f3}
.workspace .content-field-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:24px 0;border-bottom:1px solid #e5edf4}.workspace .content-field-group:first-child{padding-top:0}.workspace .content-field-group:last-child{border-bottom:0;padding-bottom:0}
.workspace .content-field-group .field.full{grid-column:auto}.workspace .content-field-group [data-image-field]{grid-column:1/-1!important}
.marketing .hero-highlights{background:#fff;border:0;padding:24px 0}.marketing .hero-highlights>.wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.marketing .hero-highlights>.wrap>div{display:flex;align-items:center;gap:16px;background:#f3faf7;border:1px solid #cce2d9;border-radius:8px;padding:24px;min-width:0}
.marketing .hero-highlights>.wrap>div:nth-child(2){background:#f3f6fd;border-color:#d3def0}.marketing .hero-highlights>.wrap>div:nth-child(3){background:#fff9ed;border-color:#eee0bf}
.marketing .hero-highlights strong{font-size:19px;line-height:1.4}.marketing .hero-highlights span{font-size:15px;line-height:1.6}.marketing .hero-highlights svg{flex:0 0 24px}
.marketing .template-card-actions{display:grid;grid-template-columns:1fr;gap:10px;align-items:stretch;margin-top:auto}
.marketing .template-card-actions .btn{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;justify-content:center;align-items:center;gap:8px;min-height:48px;height:auto;text-align:center;line-height:1.5;padding:12px;white-space:normal}
.marketing .template-card-actions .btn span{min-width:0;overflow-wrap:anywhere}.marketing .template-card-actions svg{width:18px;height:18px;flex:none;margin:0}
.expired-card{font-family:Arial,sans-serif}.expired-card h1{font:600 30px/1.4 Arial,sans-serif}.expired-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:28px!important}
@media(min-width:981px){.workspace.sidebar-collapsed .sidebar-person{justify-content:center;padding:10px 0;border:0}.workspace.sidebar-collapsed .sidebar-person>span:last-child{display:none}}
@media(max-width:1100px){.workspace .header-start .breadcrumb-parent,.workspace .header-start .breadcrumb-divider{display:none}.workspace .header-actions{gap:10px}}
@media(max-width:980px){.workspace .sidebar-navigation{padding-top:62px}.marketing .hero-highlights>.wrap>div{padding:20px;align-items:flex-start}}
@media(max-width:760px){.workspace .workspace-header{height:auto;min-height:72px;flex-wrap:wrap;padding-block:12px}.workspace .header-start{flex:1 1 120px;min-width:0}.workspace .header-actions{flex-wrap:wrap;gap:8px;max-width:100%}.workspace .header-website{font-size:12px;gap:6px;padding:8px 10px}.workspace .header-account{max-width:none}.workspace .edit-deadline{font-size:12px;padding:8px}.workspace .website-status-strip{gap:12px;grid-template-columns:1fr}.workspace .website-status-strip>div,.workspace .website-status-strip>a{min-height:100px;padding:20px;gap:10px}.workspace .date-filter{flex:1;min-width:120px}.workspace .filter-row .search-field{flex-basis:100%}.workspace .content-field-group{grid-template-columns:1fr;padding-block:20px}.workspace .editor-search{padding:18px 20px}.workspace .editing-locked{padding:24px}.marketing .hero-highlights>.wrap{grid-template-columns:1fr;gap:12px}.marketing .hero-highlights>.wrap>div{padding:20px;align-items:center}.marketing .hero-highlights strong{font-size:18px}.marketing .template-card-actions .btn{grid-template-columns:auto minmax(0,max-content);grid-auto-columns:initial;font-size:14px;min-height:48px}.marketing .template-card-actions .btn-primary{grid-template-columns:minmax(0,1fr) 18px}.marketing .template-card-actions .btn-primary span{text-align:center}.marketing .template-card-body{padding:16px}.workspace .extension-form .btn{width:100%}}
@media(max-width:380px){.marketing .wedding-catalog{grid-template-columns:1fr}.workspace .header-actions{width:100%;justify-content:space-between}.workspace .header-website{font-size:13px}}
@media(max-width:520px){.marketing .wedding-catalog{grid-template-columns:1fr}.marketing .template-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.marketing .template-card-actions .btn{height:100%;min-height:52px}.marketing .template-card-actions .btn-primary{grid-template-columns:minmax(0,1fr) 18px}}

/* update-v14.css */
.workspace .filter-row .date-filter{flex:0 1 160px;min-width:140px;margin:0}
.workspace .filter-row .date-filter input{flex:0 0 auto;box-sizing:border-box;height:46px;min-height:46px;max-height:46px;line-height:24px}
.workspace .filter-row>.search-field,.workspace .filter-row>select,.workspace .filter-row>.btn,.workspace .filter-row>.icon-button{height:46px;min-height:46px;box-sizing:border-box}
.workspace .filter-row>.search-field{flex:1 1 240px;max-width:480px;margin:0}
.workspace .filter-row>.search-field input{height:100%;min-height:0}
.workspace .client-phone{white-space:nowrap;font-variant-numeric:tabular-nums}
@media(min-width:761px){.workspace .registrations-table{min-width:1050px}.workspace .registrations-table th:nth-child(1){width:19%}.workspace .registrations-table th:nth-child(2){width:14%}.workspace .registrations-table th:nth-child(3){width:19%}.workspace .registrations-table th:nth-child(4){width:13%}.workspace .registrations-table th:nth-child(5){width:15%}.workspace .registrations-table th:nth-child(6){width:20%}.workspace .registrations-table th,.workspace .registrations-table td{padding:18px 16px}.workspace .registrations-table .compact-actions{gap:5px}}
.workspace .template-select-row{display:flex;align-items:stretch;gap:12px;min-width:0}
.workspace .template-select-row select{flex:1;min-width:0;width:0}
.workspace .template-select-row .btn{flex:none}
.workspace .price-readout{display:flex;align-items:center;min-height:52px;border:1px solid #cbdbea;border-radius:6px;padding:12px 16px;background:#f5faf8;color:#146353;font-size:18px;font-weight:650;line-height:1.4}
.workspace .brand-placement{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px 24px;padding:24px 0;border-bottom:1px solid #e0e9f3;min-width:0}
.workspace .brand-placement:last-child{border-bottom:0}
.workspace .brand-placement .field{grid-column:2}
.workspace .brand-placement>.field-hint{grid-column:2;margin:0}
.workspace .brand-placement-preview{width:88px;height:88px;object-fit:contain;border:1px solid #d5e3f2;border-radius:6px;background:#f6f8fc;align-self:center}
.marketing .pricing-option{display:flex;flex-direction:column;gap:0}
.marketing .pricing-option>p{min-height:60px;margin-bottom:24px}
.marketing .pricing-option ul{display:flex;flex-direction:column;justify-content:flex-start;gap:20px;min-height:0;flex:1;margin:0 0 32px;padding:0}
.marketing .pricing-option li{display:flex;align-items:flex-start;gap:12px;margin:0;line-height:1.6}
.marketing .pricing-option li svg{flex:0 0 18px;margin-top:4px}
.marketing .pricing-option>.btn{margin-top:auto}
@media(max-width:760px){.workspace .filter-row>.search-field{flex-basis:100%;max-width:none}.workspace .filter-row .date-filter{flex:1 1 120px;min-width:0}.workspace .brand-placement{grid-template-columns:1fr;padding:20px 0}.workspace .brand-placement .field,.workspace .brand-placement>.field-hint{grid-column:1}.workspace .brand-placement-preview{width:64px;height:64px}.workspace .template-select-row{flex-wrap:wrap}.workspace .template-select-row select{flex-basis:100%;width:100%}.workspace .offline-client-form .save-bar{align-items:flex-start;flex-direction:column;gap:12px}.workspace .offline-client-form .save-bar .row-actions{width:100%;justify-content:flex-end}.marketing .pricing-option>p{min-height:0}.marketing .pricing-option ul{gap:16px;margin-bottom:28px}}

/* update-v15.css */
html:has(body.marketing),body.marketing{overflow-x:clip}
.marketing .hero-highlights>.wrap{grid-template-columns:repeat(3,minmax(0,1fr))}
.marketing .wedding-catalog{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px;margin-inline:auto}
.marketing .template-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.marketing .template-card-actions .btn{display:flex;justify-content:center;min-width:0}
.language-switch[aria-busy=true]{opacity:.7}
.language-status{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:10000;background:#fff;color:#233d37;padding:12px 18px;border:1px solid #b9cfc8;border-radius:6px;box-shadow:0 4px 20px #0002;max-width:calc(100% - 32px);font:14px/1.6 Arial,sans-serif}
.language-status:empty{display:none}
.workspace .seo-group-title{border-top:1px solid #dde6ef;padding-top:24px;margin:8px 0 0}
.workspace .seo-group-title:first-child{border-top:0;padding-top:0}
@media(max-width:760px){
 .marketing .hero-highlights>.wrap{gap:8px}
 .marketing .hero-highlights>.wrap>div{padding:14px 8px;flex-direction:column;align-items:center;text-align:center;gap:10px}
 .marketing .hero-highlights strong{font-size:15px;line-height:1.5;overflow-wrap:anywhere}
 .marketing .hero-highlights span{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
 .marketing .hero-highlights svg{width:20px;height:20px;flex-basis:20px}
 .marketing .wedding-catalog{gap:12px}
 .marketing .template-card-body{padding:12px 10px}
 .marketing .template-card h3{font-size:17px;line-height:1.5;min-height:52px;overflow-wrap:anywhere}
 .marketing .template-card .template-price{font-size:14px;margin:12px 0 16px;overflow-wrap:anywhere}
 .marketing .template-category{font-size:12px}
 .marketing .template-card-actions{grid-template-columns:1fr;gap:8px}
 .marketing .template-card-actions .btn{display:grid;grid-template-columns:minmax(0,1fr) 16px;min-height:54px;height:auto;padding:10px 8px;gap:5px;font-size:13px;line-height:1.5}
 .marketing .template-card-actions .btn-outline{grid-template-columns:16px minmax(0,1fr)}
 .marketing .template-card-actions svg{width:16px;height:16px}
 .marketing .template-card-actions .btn span{overflow-wrap:anywhere}
}

/* update-v16.css */
:root{--action-footer-height:calc(78px + env(safe-area-inset-bottom))}
.marketing{padding-bottom:var(--action-footer-height)}
.marketing .wedding-catalog{grid-template-columns:repeat(5,minmax(0,1fr));max-width:none;gap:18px}
.marketing .template-card-actions{grid-template-columns:1fr;gap:8px}
.marketing .template-card-actions .btn{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;height:auto;padding:11px 8px;font-size:14px;line-height:1.5}
.marketing .template-card-actions .btn span{flex:0 1 auto;text-align:center;overflow-wrap:anywhere}
.marketing .template-card-actions svg{flex:0 0 16px;width:16px;height:16px;margin:0}
.marketing .template-card h3{min-height:54px;font-size:18px;line-height:1.5;overflow-wrap:anywhere}
.marketing-nav .identity{gap:8px;min-width:0}
.marketing-nav .identity span{display:block;font:600 14px/1.5 Inter,NotoTamil,sans-serif;overflow-wrap:anywhere}
.marketing .marketing-nav .identity img{width:32px;height:32px;min-width:32px;flex:0 0 32px}
.marketing .marketing-nav .identity span,.marketing .marketing-nav .marketing-links,.marketing .marketing-nav .nav-actions .btn,.marketing .marketing-nav .language-switch{font-size:var(--header-font-size,14px)}
.fixed-footer{position:fixed;inset:auto 0 0;z-index:95;background:#fff;color:#203a35;border-top:1px solid #d6e3df;box-shadow:0 -3px 18px #183d3010;padding:10px max(18px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));font:400 14px/1.5 Inter,NotoTamil,sans-serif}
.fixed-footer-inner{max-width:1240px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px}
.fixed-footer-copy{min-width:0;display:flex;flex-direction:column;gap:2px;max-width:65%}
.fixed-footer-copy>span{font-size:12px;color:#657a72;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fixed-footer-copy>strong{font-size:16px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
.fixed-footer-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 20px;background:#156452;color:#fff;border-radius:5px;font-weight:600;text-align:center;max-width:54%;flex-shrink:0;text-decoration:none}
.fixed-footer-action>span{overflow-wrap:anywhere}
.fixed-footer-action svg{width:18px;height:18px;flex-shrink:0}
.fixed-footer-action:hover{background:#104f42}
.contact-whatsapp{position:fixed;z-index:96;right:max(18px,env(safe-area-inset-right));bottom:calc(var(--action-footer-height) + 16px);width:52px;height:52px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;background:#149e4e;box-shadow:0 3px 14px #153d3540}
.contact-whatsapp img{width:30px;height:30px;filter:invert(1)}
.wedding:not(.opened) .invitation-fixed-footer{display:none}
.wedding.opened{padding-bottom:var(--action-footer-height)}
.wedding .fixed-footer{background:var(--cinema-paper,#fff);color:var(--cinema-ink,#203a35)}
.wedding .fixed-footer-action{background:var(--cinema-accent,#156452)}
.cinematic .wedding-footer{padding:32px 24px}
.cinematic .wedding-footer h2{font-size:36px;margin:12px 0}
.cinematic .wedding-footer>.made-by{margin-top:22px}
.cinematic .wedding-footer>.wedding-button{margin:20px auto}
.wedding.opened .music-control{bottom:calc(var(--action-footer-height) + 14px)}
.wedding .music-message,.language-status{bottom:calc(var(--action-footer-height) + 72px)}
.wedding .rsvp-section{scroll-margin-bottom:calc(var(--action-footer-height) + 24px)}
.video-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:28px}
.video-choice{min-width:0;display:grid;grid-template-rows:auto auto 220px;gap:12px;border:1px solid #d5e2ef;border-radius:6px;padding:18px;background:#fff}
.video-choice label{font-weight:600}
.video-choice select{width:100%;min-width:0;min-height:46px;padding:11px 13px;border:1px solid #cbdbea;border-radius:6px;background:#fff;color:#203b57;font:400 16px/1.5 Inter,NotoTamil,sans-serif}
.video-choice select:focus{outline:none;border-color:#11ac8e;box-shadow:0 0 0 3px #03aa8412}
.video-choice video{display:block;width:100%;height:220px;object-fit:contain;background:#f0f3f2;border-radius:4px}
.workspace .video-choice .field-hint{margin:0}
@media(min-width:768px) and (max-width:1023px){.marketing .wedding-catalog{grid-template-columns:repeat(3,minmax(0,1fr))}.marketing-nav .marketing-links{display:none}.marketing-nav .wrap{gap:16px}.marketing-nav .nav-actions{gap:8px}}
@media(max-width:767px){
 .marketing .wedding-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .marketing .template-card-actions .btn{font-size:13px;min-height:50px;gap:6px}
 .marketing .template-card h3{font-size:17px}
 .marketing-nav .wrap{display:flex;gap:8px;padding-block:10px;min-height:58px}
 .marketing-nav .identity{flex:1;gap:6px}
 .marketing-nav{--header-font-size:12px}
 .marketing .marketing-nav .identity img{width:28px;height:28px;min-width:28px;flex-basis:28px}
 .marketing-nav .nav-actions{gap:6px;flex-shrink:0}
 .marketing .marketing-nav .nav-actions .btn{padding:8px 10px;min-height:36px}
 .marketing-nav .language-switch a{padding:6px 7px}
 .fixed-footer{padding-inline:14px}
 .fixed-footer-inner{gap:10px}
 .fixed-footer-copy>strong{font-size:14px}
 .fixed-footer-action{font-size:13px;padding:10px 12px;gap:6px}
 .fixed-footer-copy{max-width:46%}
 .cinematic .wedding-footer{padding:28px 20px}
 .cinematic .wedding-footer h2{font-size:30px}
 .video-choice-grid{gap:16px}
}
@media(max-width:580px){.video-choice-grid{grid-template-columns:1fr}.video-choice{padding:14px}}
@media(max-width:359px){.marketing-nav .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.marketing-nav .nav-actions{display:contents}.marketing-nav .identity{grid-column:1;grid-row:1}.marketing-nav .nav-actions>.btn-outline{grid-column:2;grid-row:1}.marketing-nav .language-switch{grid-column:1/-1;grid-row:2;justify-self:end}.fixed-footer-action{padding-inline:8px}.fixed-footer-copy>strong{font-size:13px}}

/* update-v17.css */
.cinematic .wedding-hero-copy{width:calc(100% - 48px);max-width:900px;padding-inline:0;margin-inline:auto;justify-self:center;text-align:center}
.cinematic .wedding-hero-copy>h1,.cinematic .wedding-hero-copy>p,.cinematic .wedding-hero-copy>.wedding-eyebrow{max-width:100%;margin-inline:auto;text-align:center;overflow-wrap:anywhere}
.cinematic .wedding-hero h1 span,.cinematic .wedding-hero h1 em{text-align:center}
.cinematic .wedding-section-heading,.cinematic .wedding-story,.cinematic .guest-notes,.cinematic .venue-information,.cinematic .dress-note,.cinematic .gift-note,.cinematic .custom-section-content,.cinematic .wedding-footer{text-align:center}
.cinematic .wedding-timeline article{grid-template-columns:minmax(0,1fr);justify-items:center;gap:12px;text-align:center}
.cinematic .wedding-timeline article>div{width:100%;min-width:0}
.cinematic .wedding-actions{justify-content:center}
.cinematic .guest-notes article{width:100%;min-width:0}
.cinematic .venue-information{padding-inline:32px;min-width:0}
.contact-whatsapp{width:72px;height:72px;border:0;border-radius:0;background:transparent;box-shadow:none;bottom:calc(var(--action-footer-height) + 10px)}
.contact-whatsapp img{width:72px;height:72px;filter:none;object-fit:contain}
@media(max-width:760px){.cinematic .venue-information{padding-inline:24px}}
@media(max-width:360px){.cinematic .wedding-hero-copy{width:calc(100% - 40px)}.cinematic .venue-information{padding-inline:20px}}

/* update-v18.css */
.cinema-backdrop>div{background:rgba(14,24,20,.44)}
.cinematic .wedding-hero-copy{text-shadow:0 2px 12px rgba(0,0,0,.65)}
.contact-whatsapp,.contact-whatsapp img{width:62px;height:62px}
.video-choice{grid-template-rows:auto auto 220px auto auto;align-content:start}
.video-choice>.upload-button{justify-self:start;min-height:44px}
.video-choice>.field-hint{font-size:13px;line-height:1.6}
.cinema-skip{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:8px;border:1px solid #fff8;border-radius:4px;background:#19251dd9;color:#fff;padding:10px 14px;min-height:44px;font:500 13px/1.5 Inter,NotoTamil,sans-serif}
.cinema-skip svg{width:16px;height:16px;flex-shrink:0}
.cinema-intro-tools{right:auto;max-width:calc(100% - 220px);bottom:78px}
@media(max-width:767px){
 .marketing .marketing-nav .identity{align-items:center;gap:8px}
 .marketing .marketing-nav .identity img{width:36px;height:36px;min-width:36px;flex-basis:36px}
 .marketing .marketing-nav .identity span{font-size:15px;line-height:1.25;max-width:140px;align-self:center}
 .marketing-nav .wrap{column-gap:10px}
}
@media(max-width:430px){
 .marketing-nav .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
 .marketing-nav .nav-actions{display:contents}
 .marketing-nav .identity{grid-column:1;grid-row:1}
 .marketing-nav .nav-actions>.btn-outline{grid-column:2;grid-row:1}
 .marketing-nav .language-switch{grid-column:1/-1;grid-row:2;justify-self:end}
 .marketing .marketing-nav .identity span{max-width:none}
}
