:root {
  --ink: #131111;
  --muted: #66514d;
  --paper: #fffaf6;
  --soft: #f5e8ed;
  --panel: #fffafb;
  --line: #d9b3c0;
  --rose: #b97891;
  --rose-dark: #71384f;
  --black: #0d0d0d;
  --peach: #e9c6d2;
  --success: #2f6b4f;
  --warning: #8a5c21;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  font-family: Inter, Arial, sans-serif;
  background:
    linear-gradient(135deg, rgba(248, 232, 225, .96), rgba(255, 250, 246, .96)),
    radial-gradient(circle at 15% 6%, rgba(201, 137, 128, .24), transparent 32%);
  line-height: 1.55;
}

a { color: inherit; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 24px;
  background: rgba(255, 250, 246, .92);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.brand span {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--black);
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 900;
}

.brand-avatar { overflow:hidden; border:2px solid #e1a9ba; box-shadow:0 5px 16px rgba(56,23,34,.18); }
.brand-avatar img { width:100%; height:100%; object-fit:cover; object-position:center 25%; display:block; transform:scale(1.08); }

.brand strong {
  display:flex;
  flex-direction:column;
  font-family: Georgia, "Times New Roman", serif;
  line-height:.88;
  letter-spacing:-.025em;
}

.brand strong em {
  font-size:25px;
  font-weight:500;
  font-style:italic;
}

.brand strong small {
  margin-top:5px;
  padding-left:2px;
  color:#8e4d62;
  font:800 9px/1 Inter,Arial,sans-serif;
  letter-spacing:.32em;
  text-transform:uppercase;
}

nav {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

nav a, .ghost {
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  text-decoration: none;
  cursor: pointer;
}

.app-shell {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 36px 0 64px;
}

.hero, .panel, .card, .notice, .auth-card {
  background: rgba(255, 250, 246, .9);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 18px 38px rgba(69, 35, 30, .08);
}

.hero {
  overflow: hidden;
  margin-bottom: 22px;
}

.hero-banner {
  background: linear-gradient(135deg, #f7d8d0, var(--rose), #fbe4dd);
  border-bottom: 2px solid var(--rose-dark);
  padding: 26px 24px;
  text-align: center;
}

.eyebrow {
  margin: 0 0 6px;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 2px;
  font-weight: 900;
}

h1, h2, h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: 0;
  line-height: 1.06;
}

h1 { font-size: clamp(38px, 5vw, 68px); }
h2 { font-size: clamp(30px, 3.4vw, 46px); }
h3 { font-size: 26px; }

.hero-content {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 24px;
  padding: 30px;
  align-items: center;
}

.stat-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 18px;
}

.stat {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

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

.card {
  min-height: 100%;
  padding: 22px;
  display: flex;
  flex-direction: column;
}

.product-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border-radius: 8px;
  border: 1px solid var(--line);
  margin-bottom: 16px;
  box-shadow: 0 14px 24px rgba(69, 35, 30, .12);
}

.card.locked {
  opacity: .78;
  background: linear-gradient(180deg, #fffdf9, #f2e8e1);
}

.card p { color: var(--muted); }

.badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}

.badge {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--peach);
  border: 1px solid var(--line);
  font-size: 13px;
  font-weight: 900;
}

.badge.locked { background: #eee0da; }
.badge.unlocked { background: #dceee4; color: var(--success); }
.badge.pending { background: #f4e4c8; color: var(--warning); }

button, .button {
  display: inline-block;
  width: fit-content;
  margin-top: auto;
  padding: 12px 16px;
  border-radius: 6px;
  border: 0;
  background: var(--black);
  color: #fff;
  text-decoration: none;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

button.secondary, .button.secondary {
  background: transparent;
  border: 1px solid var(--rose-dark);
  color: var(--rose-dark);
}

button.rose, .button.rose { background: var(--rose-dark); }
button.success { background: var(--success); }
button.danger { background: #8b3838; }

.button-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.auth-card {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 28px;
  padding: 30px;
  align-items: start;
}

.auth-intro {
  position: sticky;
  top: 100px;
  padding: 18px 4px;
}

.simple-steps {
  display: grid;
  gap: 16px;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: access-step;
}

.simple-steps li {
  display: grid;
  grid-template-columns: 38px 1fr;
  column-gap: 12px;
  counter-increment: access-step;
}

.simple-steps li::before {
  content: counter(access-step);
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #fff;
  background: var(--rose-dark);
  font-weight: 900;
}

.simple-steps span {
  color: var(--muted);
  font-size: 14px;
}

.auth-actions {
  display: grid;
  gap: 16px;
}

.onboarding-panel h2 { font-size: clamp(28px, 3vw, 38px); }
.signin-panel { box-shadow: none; }
.signin-panel h3 { font-size: 23px; }
.signin-panel button { margin-top: 10px; }
.auth-text-link { width: fit-content; margin: -2px 0 2px; padding: 0; border: 0; background: transparent; color: var(--rose-dark); text-decoration: underline; font-size: 13px; font-weight: 700; box-shadow: none; }
.auth-text-link:hover { background: transparent; color: #2d1118; transform: none; }
.password-recovery-request[hidden] { display: none; }
.password-recovery-request { margin-top: 12px; padding-top: 4px; }
.password-recovery-request > p { margin: 8px 0 14px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.recovery-divider { display: flex; align-items: center; gap: 12px; margin: 8px 0; color: var(--rose-dark); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.recovery-divider::before, .recovery-divider::after { content: ""; height: 1px; flex: 1; background: var(--line); }
.password-reset-shell { min-height: 70vh; display: grid; place-items: center; padding: 36px 18px; }
.password-reset-card { width: min(560px, 100%); padding: clamp(28px, 5vw, 54px); border: 1px solid var(--line); border-radius: 28px; background: linear-gradient(145deg, #fffaf8, #f8e4e7); box-shadow: 0 28px 70px rgba(78, 31, 43, .13); }
.password-reset-card h1 { margin: 10px 0 12px; font-size: clamp(36px, 6vw, 58px); line-height: .95; }
.password-reset-card > p { color: var(--muted); line-height: 1.65; }
.password-reset-card form { display: grid; gap: 14px; margin-top: 24px; }
.optional { color: var(--muted); font-weight: 400; }
.full-button { width: 100%; text-align: center; }
button:disabled { cursor: wait; opacity: .65; }

.panel, .notice {
  padding: 24px;
}

label {
  display: block;
  margin: 14px 0;
  font-weight: 900;
}

input, select, textarea {
  width: 100%;
  margin-top: 7px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fffdf9;
  color: var(--ink);
  font: inherit;
}

textarea {
  min-height: 120px;
  resize: vertical;
}

.choice-group {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
}

.choice-card {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 12px;
  align-items: start;
  margin: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.choice-card input {
  width: 18px;
  margin-top: 5px;
}

.choice-card strong,
.choice-card small,
.choice-card em {
  display: block;
}

.choice-card small {
  margin: 4px 0;
  color: var(--muted);
  font-weight: 500;
}

.choice-card em {
  font-style: normal;
  color: var(--rose-dark);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.form-note {
  color: var(--muted);
  min-height: 24px;
}

.table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

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

th, td {
  padding: 12px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

th {
  background: var(--soft);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.empty-state {
  padding: 28px;
  text-align: center;
  color: var(--muted);
}

.product-files {
  margin-top: 18px;
}

.file-list {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.file-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.file-item p {
  margin: 4px 0 0;
  color: var(--muted);
}

.file-item button {
  margin-top: 0;
  flex: 0 0 auto;
}

.product-hub, .product-section {
  background: rgba(255, 250, 246, .9);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 18px 38px rgba(69, 35, 30, .08);
}

.product-hub {
  overflow: hidden;
  margin-bottom: 22px;
}

.product-banner {
  background: linear-gradient(135deg, #f7d8d0, var(--rose), #fbe4dd);
  border-bottom: 2px solid var(--rose-dark);
  padding: 26px 24px 34px;
  text-align: center;
}

.product-banner h1 {
  font-size: clamp(42px, 6vw, 82px);
  max-width: 1040px;
  margin: 0 auto;
}

.product-hero-content {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 28px;
  padding: 32px;
  align-items: center;
}

.intro {
  font-size: 18px;
  max-width: 720px;
}

.product-scene {
  min-height: 340px;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(13, 13, 13, .92), rgba(74, 42, 38, .88)),
    radial-gradient(circle at 80% 10%, rgba(242, 201, 191, .38), transparent 32%);
  padding: 28px;
  color: #fff;
  overflow: hidden;
}

.planner-stack {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  align-items: end;
  height: 100%;
}

.planner-sheet {
  min-height: 230px;
  border-radius: 8px;
  background: var(--panel);
  color: var(--ink);
  border: 1px solid var(--line);
  padding: 18px;
  box-shadow: 0 18px 24px rgba(0, 0, 0, .28);
  transform: rotate(-3deg);
}

.planner-sheet:nth-child(2) {
  min-height: 270px;
  transform: rotate(0deg);
  z-index: 2;
}

.planner-sheet:nth-child(3) { transform: rotate(3deg); }

.planner-sheet strong {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.05;
  margin-bottom: 12px;
}

.product-section {
  padding: 28px;
  margin-top: 22px;
}

.section-intro {
  max-width: 620px;
  color: var(--muted);
}

.card.featured {
  border-color: var(--rose-dark);
  background: linear-gradient(180deg, #fffdf9, #fff4ee);
}

.format-note {
  padding: 14px 16px;
  margin-top: 18px;
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  font-weight: 700;
}

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

.step {
  padding: 18px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.step strong {
  display: block;
  margin-bottom: 6px;
}

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

.license-card {
  padding: 18px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.license-card h3 {
  margin-bottom: 10px;
}

/* THE A.I.A discovery funnel */
.aia-library-bridge,
.aia-product-bridge,
.aia-final-cta {
  display: grid;
  grid-template-columns: minmax(260px, .78fr) 1.22fr;
  overflow: hidden;
  margin-top: 24px;
  border: 1px solid #3c2422;
  border-radius: 10px;
  background: #17100f;
  color: #fff8f4;
  box-shadow: 0 24px 50px rgba(40, 20, 17, .18);
}

.resource-toast {
  position: fixed;
  z-index: 9999;
  right: 22px;
  bottom: 22px;
  width: min(430px, calc(100vw - 32px));
  padding: 15px 18px;
  border: 1px solid var(--line);
  border-left: 5px solid var(--rose-dark);
  border-radius: 8px;
  background: #fffdf9;
  color: var(--ink);
  box-shadow: 0 18px 44px rgba(45, 25, 22, .2);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  opacity: 0;
  pointer-events: none;
  transform: translateY(16px);
  transition: opacity .2s ease, transform .2s ease;
}

.resource-toast.visible { opacity: 1; transform: translateY(0); }
.resource-toast.success { border-left-color: #3f8b64; }
.resource-toast.error { border-left-color: #b34343; background: #fff6f4; }

.aia-library-image,
.aia-product-bridge > img,
.aia-final-image {
  min-height: 390px;
  overflow: hidden;
}

.aia-library-image img,
.aia-product-bridge > img,
.aia-final-image img,
.aia-hero-visual img,
.aia-editorial-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aia-library-copy,
.aia-product-bridge > div,
.aia-final-cta > div:last-child {
  align-self: center;
  padding: clamp(28px, 5vw, 62px);
}

.aia-library-bridge .eyebrow,
.aia-product-bridge .eyebrow,
.aia-page .eyebrow,
.aia-final-cta .eyebrow {
  color: #e8b4a0;
}

.aia-library-bridge h2,
.aia-product-bridge h2,
.aia-final-cta h2 {
  color: #fff8f4;
  font-size: clamp(34px, 5vw, 62px);
  line-height: 1.02;
}

.aia-library-bridge p,
.aia-product-bridge p,
.aia-final-cta p {
  color: rgba(255, 248, 244, .76);
  max-width: 680px;
}

.button.aia-button {
  border-color: #e8b4a0;
  background: linear-gradient(135deg, #e8b4a0, #c98b78);
  color: #211312;
  box-shadow: 0 12px 26px rgba(201, 139, 120, .22);
}

.button.aia-button:hover { background: linear-gradient(135deg, #f4d2c6, #e8b4a0); }

.button.aia-outline {
  border: 1px solid rgba(255, 248, 244, .28);
  background: transparent;
  color: #fff8f4;
}

.aia-product-bridge {
  grid-template-columns: 1.15fr minmax(250px, .85fr);
  margin-top: 22px;
  background: linear-gradient(135deg, #211312, #4a2926);
}

.aia-page {
  margin: -8px 0 30px;
  overflow: hidden;
  border-radius: 10px;
  background: #120d0c;
  color: #fff8f4;
  box-shadow: 0 28px 70px rgba(40, 20, 17, .22);
}

.aia-hero {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  min-height: 720px;
  background:
    radial-gradient(circle at 12% 12%, rgba(232, 180, 160, .13), transparent 28%),
    #120d0c;
}

.aia-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(34px, 6vw, 84px);
}

.aia-back {
  align-self: flex-start;
  margin-bottom: 48px;
  color: rgba(255, 248, 244, .68);
  font-size: 13px;
  text-decoration: none;
}

.aia-hero h1 {
  max-width: 760px;
  margin: 4px 0 24px;
  color: #fff8f4;
  font-size: clamp(48px, 7vw, 92px);
  line-height: .94;
}

.aia-hero h1 em,
.aia-manifesto h2 em {
  color: #e8b4a0;
  font-weight: 400;
}

.aia-lead {
  max-width: 650px;
  color: rgba(255, 248, 244, .75);
  font-size: 18px;
  line-height: 1.75;
}

.aia-language-note {
  max-width: 640px;
  margin: 18px 0 0;
  color: rgba(255, 248, 244, .55) !important;
  font-size: 12px;
  line-height: 1.6;
}

.aia-hero-visual {
  position: relative;
  min-height: 720px;
}

.aia-hero-visual::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(18, 13, 12, .72));
  content: "";
}

.aia-hero-visual span {
  position: absolute;
  z-index: 2;
  right: 28px;
  bottom: 28px;
  left: 28px;
  color: rgba(255, 248, 244, .78);
  font-size: 10px;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.aia-manifesto {
  padding: clamp(60px, 9vw, 120px) clamp(28px, 8vw, 110px);
  border-top: 1px solid rgba(232, 180, 160, .12);
  border-bottom: 1px solid rgba(232, 180, 160, .12);
  text-align: center;
}

.aia-manifesto h2 {
  max-width: 1050px;
  margin: 12px auto 26px;
  color: #fff8f4;
  font-size: clamp(38px, 6vw, 72px);
  line-height: 1.02;
}

.aia-manifesto > p:last-child {
  max-width: 820px;
  margin: 0 auto;
  color: rgba(255, 248, 244, .7);
  font-size: 17px;
  line-height: 1.8;
}

.aia-possibilities {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  min-height: 820px;
  background: #f8eee8;
  color: #2a1917;
}

.aia-editorial-image { min-height: 820px; }

.aia-possibilities-copy {
  align-self: center;
  padding: clamp(36px, 7vw, 90px);
}

.aia-possibilities-copy h2 {
  max-width: 760px;
  margin-bottom: 36px;
  color: #2a1917;
  font-size: clamp(40px, 6vw, 70px);
  line-height: 1;
}

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

.aia-point-grid article {
  padding: 24px;
  border: 1px solid rgba(74, 41, 38, .16);
  background: rgba(255, 255, 255, .52);
}

.aia-point-grid strong {
  color: #b66f59;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  font-style: italic;
  font-weight: 400;
}

.aia-point-grid h3 { margin: 10px 0 7px; font-size: 20px; }
.aia-point-grid p { margin: 0; color: #765b55; font-size: 14px; line-height: 1.65; }

.aia-proof-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: rgba(232, 180, 160, .18);
}

.aia-proof-strip div {
  padding: 38px 20px;
  background: #1b1211;
  text-align: center;
}

.aia-proof-strip strong {
  display: block;
  color: #e8b4a0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 48px;
  font-weight: 400;
}

.aia-proof-strip span {
  color: rgba(255, 248, 244, .65);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.aia-final-cta {
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

@media (max-width: 860px) {
  .topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .hero-content, .auth-card, .grid, .stat-strip, .product-hero-content, .steps, .license-grid {
    grid-template-columns: 1fr;
  }

  .hero-content, .auth-card {
    padding: 22px;
  }

  .product-hero-content, .product-section {
    padding: 22px;
  }

  .planner-stack {
    grid-template-columns: 1fr;
  }

  .planner-sheet,
  .planner-sheet:nth-child(2),
  .planner-sheet:nth-child(3) {
    min-height: auto;
    transform: none;
  }

  .aia-library-bridge,
  .aia-product-bridge,
  .aia-final-cta,
  .aia-hero,
  .aia-possibilities {
    grid-template-columns: 1fr;
  }

  .aia-library-image,
  .aia-product-bridge > img,
  .aia-final-image,
  .aia-hero-visual,
  .aia-editorial-image {
    min-height: 480px;
  }

  .aia-product-bridge > img { order: -1; }
  .aia-hero-visual { order: -1; }
  .aia-hero-copy { padding: 38px 24px 54px; }
  .aia-back { margin-bottom: 28px; }
  .aia-point-grid,
  .aia-proof-strip { grid-template-columns: 1fr; }
  .aia-page { margin-inline: -6px; }
}

/* Customer portal v2 ------------------------------------------------------ */
[hidden] { display: none !important; }

body.has-session {
  background:
    radial-gradient(circle at 84% 4%, rgba(213, 155, 178, .34), transparent 30%),
    radial-gradient(circle at 12% 82%, rgba(238, 205, 218, .42), transparent 34%),
    linear-gradient(135deg, #faf2f5 0%, #fffafb 48%, #f6e8ee 100%);
}

body.has-session .topbar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 20;
  width: 258px;
  height: 100vh;
  padding: 28px 22px 22px;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 34px;
  color: #fff8f4;
  border: 0;
  border-right: 1px solid rgba(237, 195, 181, .25);
  background:
    radial-gradient(circle at 25% 8%, rgba(188, 111, 143, .38), transparent 32%),
    linear-gradient(165deg, #4a2031 0%, #29101b 60%, #170910 100%);
  box-shadow: 16px 0 48px rgba(62, 22, 41, .14);
  backdrop-filter: none;
}

body.has-session .brand { color: #fff8f4; }
body.has-session .brand span {
  width: 48px;
  height: 48px;
  color: #2b1518;
  background: linear-gradient(145deg, #f2d4df, #c98aa3);
  box-shadow: 0 10px 26px rgba(185, 120, 145, .26);
}
body.has-session .brand strong em { font-size:20px; }
body.has-session .brand strong small { color:#e8b8c4; font-size:8px; }

.portal-nav { display: none; }
body.has-session .portal-nav { display: grid; gap: 5px; width: 100%; }
.portal-nav a {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  align-items: center;
  gap: 9px;
  min-height: 46px;
  padding: 9px 10px;
  border-radius: 10px;
  color: rgba(255, 248, 244, .64);
  text-decoration: none;
  transition: .18s ease;
}
.portal-nav a:hover, .portal-nav a.active { color: #fff; background: rgba(255, 255, 255, .09); }
.portal-nav .storefront-link { margin-bottom:8px; border:1px solid rgba(233,197,185,.35); color:#ffe8df; background:rgba(233,164,179,.11); }
.portal-nav .storefront-link:hover { border-color:#e5a9b9; background:rgba(233,164,179,.2); }
.portal-nav a.active { box-shadow: inset 3px 0 #d9a0b6; }
.portal-nav b { color: #d9a0b6; font-size: 10px; letter-spacing: .08em; }
.portal-nav span { font-size: 14px; font-weight: 700; }
.portal-nav em {
  padding: 3px 6px;
  border: 1px solid rgba(238, 194, 181, .24);
  border-radius: 999px;
  color: #e9c5b9;
  font-size: 8px;
  font-style: normal;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.sidebar-account {
  display: grid;
  gap: 10px;
  width: 100%;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .1);
}
.sidebar-profile { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; }
.profile-initial {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border: 1px solid rgba(244, 205, 193, .4);
  border-radius: 50%;
  color: #2b1518;
  background: #e9c4d2;
  font-family: Georgia, serif;
  font-weight: 900;
}
.sidebar-profile small { display: block; color: rgba(255,255,255,.48); font-size: 10px; }
.sidebar-profile strong { display: block; max-width: 130px; overflow: hidden; text-overflow: ellipsis; font-size: 14px; }
.sidebar-account .ghost { width: 100%; margin: 0; padding: 8px 0; color: rgba(255,255,255,.55); text-align: left; font-size: 12px; }

body.has-session .app-shell {
  width: auto;
  max-width: 1440px;
  margin: 0 0 0 258px;
  padding: clamp(28px, 5vw, 70px);
}

.portal-welcome {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  min-height: 480px;
  padding: clamp(34px, 6vw, 76px);
  border-radius: 24px;
  color: #fff8f4;
  background:
    radial-gradient(circle at 82% 18%, rgba(238, 188, 207, .40), transparent 31%),
    linear-gradient(135deg, #6a3049 0%, #98566f 48%, #c08099 100%);
  box-shadow: 0 28px 70px rgba(92, 39, 62, .24);
  overflow: hidden;
}
.welcome-copy { position: relative; z-index: 1; }
.welcome-copy .eyebrow { color: #f2cfdd; }
.welcome-copy h1 { font-size: clamp(48px, 7vw, 88px); font-weight: 500; }
.welcome-copy h1 em { color: #ffe2ed; font-weight: 400; }
.welcome-copy > p:not(.eyebrow) { max-width: 650px; color: rgba(255,255,255,.67); font-size: 17px; }
.welcome-actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 28px; }
.portal-primary { color: #3b1828; background: linear-gradient(135deg, #f5d7e2, #d696ae); }
.portal-secondary { color: #fff; border: 1px solid rgba(255,255,255,.24); background: rgba(255,255,255,.1); }
.welcome-actions .text-link { color: #f4d3df; }
.text-link { color: var(--rose-dark); font-weight: 800; text-decoration: none; }

.welcome-summary {
  position: relative;
  display: grid;
  justify-items: center;
  padding: 28px 20px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 22px;
  background: rgba(255,255,255,.07);
  text-align: center;
  backdrop-filter: blur(12px);
}
.summary-monogram { display: grid; place-items: center; width: 74px; height: 74px; border-radius: 50%; color: #4a2031; background: #f0ccda; font: 700 36px Georgia,serif; }
.welcome-summary p { margin: 14px 0 4px; color: rgba(255,255,255,.52); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.welcome-summary > strong { font: 500 62px Georgia,serif; }
.welcome-summary > span:not(.summary-monogram) { color: rgba(255,255,255,.62); font-size: 13px; }
.summary-divider { width: 48px; height: 1px; margin: 20px 0 14px; background: rgba(255,255,255,.22); }
.welcome-summary small { color: #f2cbda; }

.portal-section { margin-top: 58px; }
.section-title-row { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.section-title-row h2 { font-size: clamp(34px, 4vw, 52px); font-weight: 500; }
.dashboard-products { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.product-card { overflow: hidden; padding: 0; }
.product-card.locked { opacity: 1; }
.product-cover { position: relative; min-height: 210px; overflow: hidden; background: linear-gradient(145deg,#efd4df,#b87490); }
.product-cover .product-image { width: 100%; height: 100%; min-height: 210px; margin: 0; border: 0; border-radius: 0; object-fit: cover; box-shadow: none; }
.placeholder-cover { display: grid; place-items: center; background: linear-gradient(135deg,#57273c,#a9627e); }
.placeholder-cover > span { color: rgba(255,255,255,.7); font: 500 64px Georgia,serif; }
.cover-badge { position: absolute; top: 14px; left: 14px; }
.product-card-body { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.product-card-body .card-kicker { margin: 0 0 8px; color: var(--rose-dark); font-size: 10px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.product-card-body h3 { font-size: 25px; }
.product-card-body .button, .product-card-body .pending-note { margin-top: auto; }
.pending-note { color: var(--warning); font-size: 13px; font-weight: 800; }

.quick-space-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 58px; }
.space-card { position: relative; min-height: 340px; padding: 30px; border: 1px solid var(--line); border-radius: 20px; text-decoration: none; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.space-card:hover { transform: translateY(-4px); box-shadow: 0 24px 48px rgba(69,35,30,.12); }
.space-card h2 { max-width: 270px; margin: 60px 0 14px; font-size: 34px; }
.space-card p:not(.eyebrow) { color: inherit; opacity: .68; }
.space-card > strong { display: block; margin-top: 24px; font-size: 13px; }
.space-number { position: absolute; top: 24px; right: 26px; font: 500 38px Georgia,serif; opacity: .26; }
.space-card.dark { color: #fff8fb; border-color: #4b2235; background: linear-gradient(145deg,#71384f,#3b1828); }
.space-card.dark .eyebrow { color: #edbfd1; }
.space-card.blush { color: #4a2031; background: linear-gradient(145deg,#f3d5e0,#dba4b9); }
.space-card.paper { color: #351b1e; background: rgba(255,253,249,.88); }

.dashboard-aia-teaser { display: grid; grid-template-columns: .72fr 1.28fr; margin-top: 58px; border-radius: 22px; color: #fff; background: #160b0d; overflow: hidden; }
.dashboard-aia-teaser img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; }
.dashboard-aia-teaser > div { align-self: center; padding: clamp(32px,6vw,72px); }
.dashboard-aia-teaser h2 { max-width: 620px; font-size: clamp(38px,5vw,64px); }
.dashboard-aia-teaser p:not(.eyebrow) { max-width: 590px; color: rgba(255,255,255,.62); }

.editorial-page-head { padding: 42px 0 54px; }
.editorial-page-head h1, .community-preview h1 { font-size: clamp(52px,8vw,92px); font-weight: 500; }
.editorial-page-head h1 em, .community-preview h1 em { color: var(--rose-dark); font-weight: 400; }
.editorial-page-head > p:last-child { max-width: 680px; color: var(--muted); font-size: 17px; }
.shop-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.shop-card { position: relative; padding: 22px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,253,249,.9); overflow: hidden; }
.shop-card h2 { font-size: 34px; }
.shop-label { position: absolute; z-index: 2; top: 34px; right: 34px; padding: 6px 10px; border-radius: 999px; color: #fff; background: #2e171a; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.shop-art { display: grid; place-items: center; height: 300px; margin-bottom: 24px; border-radius: 14px; }
.shop-art-one { color: rgba(255,255,255,.7); background: linear-gradient(145deg,#d59a8c,#79444b); font: 500 90px Georgia,serif; }
.shop-art-two { grid-template-columns: repeat(3,60px); gap: 12px; background: linear-gradient(145deg,#f4ded6,#dca89c); }
.shop-art-two i { display:block; height: 150px; border: 1px solid rgba(80,35,40,.24); border-radius: 6px; background:#fff8f4; transform:rotate(-5deg); box-shadow:0 16px 30px rgba(70,30,34,.12); }
.shop-art-two i:nth-child(2){transform:translateY(-16px)} .shop-art-two i:nth-child(3){transform:rotate(5deg)}
.aia-shop-card { grid-column: 1 / -1; display: grid; grid-template-columns: .75fr 1.25fr; padding: 0; color: #fff; border-color:#271317; background:#160b0d; }
.aia-shop-card img { width:100%; height:100%; min-height:450px; object-fit:cover; }
.aia-shop-card > div { align-self:center; padding:clamp(30px,6vw,70px); }
.aia-shop-card p:not(.eyebrow){color:rgba(255,255,255,.62)}
.shop-note { display:flex; align-items:center; gap:20px; margin-top:24px; padding:28px; border:1px solid var(--line); border-radius:18px; background:rgba(255,253,249,.8); }
.shop-note > span { display:grid; place-items:center; width:54px; height:54px; flex:0 0 54px; border-radius:50%; color:#fff; background:var(--rose-dark); }
.shop-note h2 { font-size:26px; } .shop-note p { margin:6px 0 0; color:var(--muted); }

.community-preview { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(30px,7vw,100px); align-items:center; min-height:calc(100vh - 140px); }
.community-preview > div:last-child > p:not(.eyebrow){max-width:680px;color:var(--muted);font-size:17px}
.community-orbit { position:relative; display:grid; place-items:center; width:min(420px,90vw); aspect-ratio:1; margin:auto; border:1px solid rgba(142,86,84,.2); border-radius:50%; }
.community-orbit::before { content:""; position:absolute; inset:17%; border:1px dashed rgba(142,86,84,.28); border-radius:50%; }
.community-orbit > span { display:grid; place-items:center; width:120px; height:120px; z-index:1; border-radius:50%; color:#fff; background:linear-gradient(145deg,#c98c82,#6b373e); font:500 58px Georgia,serif; box-shadow:0 20px 50px rgba(107,55,62,.2); }
.community-orbit i { position:absolute; width:54px; height:54px; border-radius:50%; background:#efd4cb; box-shadow:0 10px 25px rgba(80,35,40,.14); }
.community-orbit i:nth-of-type(1){top:4%;left:46%}.community-orbit i:nth-of-type(2){right:4%;bottom:24%;background:#d9a59a}.community-orbit i:nth-of-type(3){left:8%;bottom:18%;background:#3b2024}
.coming-pill { display:inline-flex; margin:16px 0 26px; padding:9px 14px; border:1px solid var(--line); border-radius:999px; color:var(--rose-dark); background:#fff8f4; font-size:12px; font-weight:900; }

.profile-page { display:grid; grid-template-columns:.72fr 1.28fr; gap:24px; align-items:stretch; min-height:calc(100vh - 140px); }
.profile-identity-card, .profile-settings { padding:clamp(30px,5vw,60px); border:1px solid var(--line); border-radius:22px; background:rgba(255,253,249,.88); box-shadow:0 18px 38px rgba(69,35,30,.07); }
.profile-identity-card { display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; border-color:#2d171a; background:linear-gradient(145deg,#351c20,#170b0e); text-align:center; }
.profile-avatar-large { display:grid; place-items:center; width:140px; height:140px; margin-bottom:26px; border:1px solid rgba(255,255,255,.22); border-radius:50%; color:#2a1417; background:linear-gradient(145deg,#f0cec3,#c88b81); font:500 72px Georgia,serif; }
.profile-identity-card .eyebrow { color:#d8a294; }.profile-identity-card h1{font-size:clamp(48px,6vw,76px);font-weight:500}.profile-identity-card>p:not(.eyebrow){color:rgba(255,255,255,.56)}
.profile-member-since { margin-top:34px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); }.profile-member-since small,.profile-member-since strong{display:block}.profile-member-since small{color:rgba(255,255,255,.42);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.profile-member-since strong{margin-top:5px;font-size:13px}
.profile-settings h2{font-size:clamp(38px,5vw,58px);font-weight:500}.profile-settings>p:not(.eyebrow){max-width:580px;color:var(--muted)}
.profile-settings form { max-width:620px; margin-top:30px; }.profile-settings input:disabled{color:var(--muted);background:#f3ebe6}
.profile-access-summary { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:34px; padding-top:26px; border-top:1px solid var(--line); }.profile-access-summary>div{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fffaf6}.profile-access-summary strong,.profile-access-summary span{display:block}.profile-access-summary strong{font:500 36px Georgia,serif;color:var(--rose-dark)}.profile-access-summary span{color:var(--muted);font-size:12px}

@media (max-width: 1040px) {
  .dashboard-products, .quick-space-grid { grid-template-columns: 1fr 1fr; }
  .quick-space-grid .space-card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  body.has-session .topbar {
    position: sticky;
    inset: 0;
    width: 100%;
    height: auto;
    padding: 12px 16px;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    overflow-x: auto;
  }
  body.has-session .brand strong, .sidebar-account, .portal-nav b, .portal-nav em { display:none; }
  body.has-session .brand span { width:38px;height:38px;flex:0 0 38px; }
  body.has-session .portal-nav { display:flex; width:auto; flex-wrap:nowrap; }
  .portal-nav a { display:flex; min-height:38px; padding:8px 10px; white-space:nowrap; }
  .portal-nav a.active { box-shadow:inset 0 -2px #d89a8b; }
  .portal-nav span { font-size:12px; }
  body.has-session .app-shell { margin:0; padding:22px 16px 48px; }
  .portal-welcome, .dashboard-aia-teaser, .aia-shop-card, .community-preview, .profile-page { grid-template-columns:1fr; }
  .portal-welcome { min-height:0; padding:36px 24px; }.welcome-summary{display:none}
  .dashboard-products, .quick-space-grid, .shop-grid { grid-template-columns:1fr; }
  .quick-space-grid .space-card:last-child, .aia-shop-card { grid-column:auto; }
  .dashboard-aia-teaser img, .aia-shop-card img { min-height:320px;max-height:460px; }
  .community-preview { padding:30px 0; }.community-orbit{width:min(300px,82vw)}
  .section-title-row { align-items:flex-start; flex-direction:column; }
}

/* Interactive Etsy-inspired shop ----------------------------------------- */
.store-hero {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: clamp(28px, 6vw, 80px);
  align-items: end;
  min-height: 530px;
  padding: clamp(36px, 7vw, 86px);
  border-radius: 26px;
  color: #fffaf6;
  background:
    radial-gradient(circle at 76% 24%, rgba(222, 147, 134, .34), transparent 28%),
    radial-gradient(circle at 12% 90%, rgba(133, 63, 72, .28), transparent 30%),
    linear-gradient(135deg, #35191e, #150a0d 72%);
  box-shadow: 0 30px 70px rgba(45, 16, 21, .2);
  overflow: hidden;
}
.store-hero h1 { max-width: 820px; font-size: clamp(54px, 8vw, 104px); font-weight: 500; }
.store-hero h1 em { color: #e9b6a8; font-weight: 400; }
.store-hero > div > p:not(.eyebrow) { max-width: 720px; color: rgba(255,255,255,.66); font-size: 17px; }
.store-hero .eyebrow { color: #dfa799; }
.store-proof { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.store-proof span { padding: 10px 13px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: rgba(255,255,255,.58); background: rgba(255,255,255,.06); font-size: 11px; }
.store-proof strong { color: #f2c9bd; }
.store-hero-card { position: relative; display: grid; gap: 7px; min-height: 190px; padding: 28px; border: 1px solid rgba(255,255,255,.18); border-radius: 20px; color: #2b1518; background: linear-gradient(145deg,#f3d5cb,#c98b81); text-decoration: none; transition: transform .2s ease; }
.store-hero-card:hover { transform: translateY(-5px) rotate(-1deg); }
.store-hero-card span { align-self: end; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; opacity: .64; }
.store-hero-card strong { max-width: 220px; font: 500 30px/1.05 Georgia,serif; }
.store-hero-card em { position: absolute; top: 22px; right: 24px; font-size: 24px; font-style: normal; }

.store-controls { position: sticky; top: 18px; z-index: 8; display: grid; grid-template-columns: 1fr minmax(220px, 300px); gap: 16px; align-items: center; margin: 34px 0 22px; padding: 14px; border: 1px solid rgba(223,184,174,.8); border-radius: 18px; background: rgba(255,250,246,.9); box-shadow: 0 14px 34px rgba(69,35,30,.08); backdrop-filter: blur(16px); }
.store-filter-row { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 2px; }
.store-filter { flex: 0 0 auto; margin: 0; padding: 10px 13px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: transparent; font-size: 11px; }
.store-filter:hover, .store-filter.active { color: #fff; border-color: #3a1e22; background: #3a1e22; }
.store-filter.faceless-filter:not(.active) { color: #702e47; border-color: #d99bad; background: linear-gradient(135deg, #fff3f5, #f3d4dc); font-weight: 800; }
.store-search { position: relative; margin: 0; }
.store-search span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.store-search input { margin: 0; padding: 11px 14px 11px 38px; border-radius: 999px; background: #fff; }
.store-search::before { content: "\2315"; position: absolute; z-index: 1; left: 15px; top: 8px; color: var(--rose-dark); font-size: 20px; transform: rotate(-20deg); }
.store-results-line { display: flex; gap: 6px; align-items: center; margin: 0 2px 16px; color: var(--muted); font-size: 12px; }
.store-results-line strong { color: var(--ink); font-size: 15px; }.store-results-line span { opacity: .7; }

.store-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.store-product { min-width: 0; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,253,249,.92); box-shadow: 0 12px 30px rgba(69,35,30,.07); overflow: hidden; transition: transform .22s ease, box-shadow .22s ease; }
.store-product:hover { transform: translateY(-6px); box-shadow: 0 24px 48px rgba(69,35,30,.15); }
.store-product-visual { position: relative; aspect-ratio: 1 / .92; overflow: hidden; background: #ead6cf; }
.store-product-visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.store-product:hover .store-product-visual img { transform: scale(1.04); }
.store-product-badge { position: absolute; top: 14px; left: 14px; padding: 7px 10px; border-radius: 999px; color: #fff; background: rgba(37,17,20,.86); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(8px); }
.store-favorite { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 38px; height: 38px; margin: 0; padding: 0; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; color: #8c3f4e; background: rgba(255,255,255,.86); font-size: 22px; line-height: 1; box-shadow: 0 8px 20px rgba(40,15,20,.12); }
.store-favorite[aria-pressed="true"] { color: #fff; background: #9f5060; }
.store-quick-view { position: absolute; right: 14px; bottom: 14px; left: 14px; padding: 12px 15px; border-radius: 10px; color: #fff; background: rgba(35,16,19,.91); text-align: center; text-decoration: none; font-size: 12px; font-weight: 900; opacity: 0; transform: translateY(8px); transition: .2s ease; }
.store-product:hover .store-quick-view, .store-quick-view:focus-visible { opacity: 1; transform: translateY(0); }
.store-product-copy { display: flex; flex-direction: column; min-height: 278px; padding: 23px; }
.store-category { margin: 0 0 8px !important; color: var(--rose-dark) !important; font-size: 9px !important; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.store-product-copy h2 { font-size: 27px; font-weight: 500; }
.store-product-copy > p:not(.store-category) { color: var(--muted); font-size: 13px; }
.store-card-link { align-self:flex-start; margin-top:auto; padding-top:20px; color:#6f3548; font-size:12px; font-weight:900; text-decoration:none; }
.store-card-link:hover { text-decoration:underline; }
.store-empty { padding: 70px 20px; border: 1px dashed var(--line); border-radius: 20px; text-align: center; }.store-empty > span { color: var(--rose-dark); font-size: 34px; }.store-empty h2 { margin-top: 10px; }
.store-footer-cta { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: end; margin-top: 56px; padding: clamp(34px,6vw,70px); border-radius: 24px; color: #fff; background: linear-gradient(135deg,#3a1e22,#160a0d); }.store-footer-cta h2 { font-size: clamp(40px,6vw,72px); font-weight: 500; }.store-footer-cta p:not(.eyebrow) { max-width: 670px; color: rgba(255,255,255,.62); }

@media (max-width: 1120px) { .store-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.store-controls { grid-template-columns:1fr; } }
@media (max-width: 820px) { .store-hero { grid-template-columns:1fr; min-height:0; padding:38px 24px; }.store-hero-card { min-height:150px; }.store-controls { position:static; }.store-grid { grid-template-columns:1fr; }.store-product-visual { aspect-ratio:1/.86; }.store-quick-view { opacity:1; transform:none; }.store-footer-cta { grid-template-columns:1fr; } }

/* Premium public storefront */
.public-nav { margin-left: auto; gap: 8px; }
.public-nav a { padding: 10px 15px; border-radius: 999px; font-size: 14px; font-weight: 750; }
.public-nav a:hover { background: #f0dfe4; }
.public-nav .public-login { border: 1px solid #5c2638; background: #35131f; color: #fff; }
body.has-session .public-nav { display: none; }
body.public-site .topbar { padding-inline: clamp(18px,4vw,64px); border-color: rgba(91,43,57,.18); }
body.public-site .app-shell { width: min(1440px,100%); padding: 0; }
body.public-site { background: #fbf5f1; }

.bd-brand-banner { position:relative; overflow:hidden; background:#2b1518; }
.bd-brand-banner img { display:block; width:100%; height:auto; }
.bd-brand-banner > a { position:absolute; right:4.2%; bottom:7.2%; display:flex; align-items:center; gap:10px; padding:13px 18px; border:1px solid rgba(255,255,255,.72); border-radius:999px; color:#281315; background:rgba(255,246,241,.92); box-shadow:0 12px 32px rgba(48,17,22,.2); font-size:12px; font-weight:900; text-decoration:none; text-transform:uppercase; letter-spacing:.06em; backdrop-filter:blur(8px); transition:transform .2s ease,background .2s ease; }
.bd-brand-banner > a:hover { transform:translateY(-3px); background:#fff; }

.bd-home-hero { min-height: 720px; display:grid; grid-template-columns:1.04fr .96fr; align-items:center; gap:clamp(32px,6vw,90px); padding:clamp(72px,9vw,132px) clamp(24px,7vw,110px); overflow:hidden; background:radial-gradient(circle at 86% 12%,rgba(229,173,186,.42),transparent 30%),linear-gradient(135deg,#fffaf6 0%,#f6e8e5 55%,#e9c8cf 100%); }
.bd-home-copy { max-width:720px; position:relative; z-index:1; }
.bd-home-copy .eyebrow { color:#8e4d62; }
.bd-home-copy h1 { margin:18px 0 26px; font-size:clamp(52px,6.5vw,92px); font-weight:500; letter-spacing:-.045em; }
.bd-home-copy h1 em,.bd-intro h2 em,.bd-library-copy h2 em,.bd-final-cta h2 em { color:#a45770; font-weight:400; }
.bd-home-lead { max-width:660px; font-size:clamp(18px,2vw,23px); color:#5e454d; }
.bd-home-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:32px; }
.bd-primary { padding:16px 24px; border-radius:999px; background:#431827; }
.bd-arrow-link { text-decoration:none; font-weight:800; color:#5d293b; }
.bd-arrow-link span { display:inline-grid; place-items:center; width:32px; height:32px; margin-left:6px; border:1px solid currentColor; border-radius:50%; }
.bd-trust-row { display:flex; flex-wrap:wrap; gap:18px 30px; margin-top:48px; padding-top:22px; border-top:1px solid rgba(83,39,52,.2); color:#71545e; font-size:13px; text-transform:uppercase; letter-spacing:.08em; }
.bd-trust-row strong { color:#381722; font-size:17px; }
.bd-hero-collage { position:relative; min-height:570px; }
.bd-hero-collage figure { position:absolute; margin:0; overflow:hidden; border:8px solid #fff9f5; box-shadow:0 30px 65px rgba(72,28,42,.24); }
.bd-hero-collage img { width:100%; height:100%; object-fit:cover; display:block; }
.bd-cover-main { inset:42px 13% 18px 9%; transform:rotate(-3deg); border-radius:160px 160px 16px 16px; }
.bd-cover-main figcaption { position:absolute; left:18px; right:18px; bottom:18px; padding:12px 14px; border-radius:10px; color:#fff; background:rgba(45,13,24,.86); text-align:center; font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
.bd-cover-small { width:38%; height:34%; border-radius:18px; }
.bd-cover-small.top { right:0; top:0; transform:rotate(7deg); }
.bd-cover-small.bottom { right:2%; bottom:0; transform:rotate(4deg); }
.bd-seal { position:absolute; z-index:3; left:0; bottom:5%; display:grid; place-items:center; width:118px; aspect-ratio:1; border-radius:50%; color:#fff; background:#8b4860; border:1px solid #fff; outline:6px solid rgba(255,255,255,.45); font:italic 22px/1.05 Georgia,serif; text-align:center; transform:rotate(-10deg); }
.bd-marquee { display:flex; justify-content:center; gap:clamp(14px,3vw,42px); flex-wrap:wrap; padding:18px 24px; color:#f9e9e6; background:#2c111a; font-size:12px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.bd-marquee i { color:#d798ac; }
.bd-intro { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; padding:110px clamp(24px,7vw,110px); background:#fffaf7; }
.bd-intro h2 { max-width:760px; font-size:clamp(46px,5.3vw,78px); font-weight:500; }
.bd-intro > div:last-child { align-self:end; max-width:560px; color:#664e56; font-size:17px; }
.bd-category-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; padding:0 clamp(24px,7vw,110px) 110px; background:#fffaf7; }
.bd-category-card { min-height:390px; padding:30px; border-radius:28px; display:flex; flex-direction:column; text-decoration:none; transition:transform .25s ease; }
.bd-category-card:hover { transform:translateY(-8px); }
.bd-category-card > span { width:38px; height:38px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; font-size:12px; }
.bd-category-card p { margin-top:auto; text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:900; }
.bd-category-card h3 { font-size:clamp(32px,3vw,48px); }
.bd-category-card small { margin-top:18px; }
.bd-category-card.rose { background:#d8a2b2; color:#34131f; }
.bd-category-card.cream { background:#f0dfd1; color:#3e2523; }
.bd-category-card.wine { background:#4a1c2b; color:#fff5f2; }
.bd-featured { padding:105px clamp(24px,7vw,110px); background:#f3e7e4; }
.bd-section-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:42px; }
.bd-section-heading a { color:#6f3548; font-weight:800; }
.bd-featured-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.bd-featured-grid article { min-width:0; }
.bd-featured-grid img { width:100%; aspect-ratio:1/.78; object-fit:cover; border-radius:24px; background:#ead9d2; }
.bd-featured-grid article p { margin:18px 0 5px; color:#9a536b; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.bd-featured-grid h3 { margin-bottom:15px; font-size:clamp(25px,2.5vw,36px); }
.bd-featured-grid a { font-weight:800; color:#6b3044; }
.bd-library-story { display:grid; grid-template-columns:.9fr 1.1fr; min-height:650px; background:#2a1119; color:#fff8f3; }
.bd-library-visual { display:flex; flex-direction:column; justify-content:space-between; padding:60px; background:radial-gradient(circle at 30% 25%,rgba(255,230,228,.45),transparent 28%),linear-gradient(145deg,#c9889c,#784359); }
.bd-library-visual span { display:grid; place-items:center; width:110px; aspect-ratio:1; border:1px solid #fff; border-radius:50%; font:48px Georgia,serif; }
.bd-library-visual p { margin:0; font:italic clamp(32px,4vw,58px)/1.05 Georgia,serif; }
.bd-library-copy { align-self:center; max-width:760px; padding:70px clamp(36px,7vw,110px); }
.bd-library-copy h2 { margin:15px 0 24px; font-size:clamp(46px,5vw,74px); font-weight:500; }
.bd-library-copy > p:not(.eyebrow) { color:rgba(255,255,255,.68); font-size:18px; }
.bd-library-copy .bd-primary { background:#e5b5c3; color:#2a1119; }
.bd-library-copy .bd-arrow-link { color:#f2ccd6; }
.bd-freebie { display:grid; grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr); min-height:720px; background:#f4ded7; }
.bd-freebie-visual { min-height:620px; overflow:hidden; background:#1b0f10; }
.bd-freebie-visual img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }
.bd-freebie-copy { align-self:center; max-width:760px; padding:80px clamp(34px,7vw,110px); }
.bd-freebie-copy h2 { margin:15px 0 24px; font-size:clamp(45px,5vw,74px); font-weight:500; }
.bd-freebie-copy h2 em { color:#a45770; font-weight:400; }
.bd-freebie-copy > p:not(.eyebrow) { max-width:650px; color:#60454d; font-size:18px; }
.bd-freebie-copy ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 26px; margin:28px 0 34px; padding:0; list-style:none; }
.bd-freebie-copy li { position:relative; padding-left:22px; color:#45232d; font-weight:800; }
.bd-freebie-copy li::before { content:'✦'; position:absolute; left:0; color:#a45770; }
.bd-values { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:#d8bdc4; }
.bd-values article { min-height:270px; padding:42px 30px; background:#fffaf7; }
.bd-values strong { font-size:30px; color:#a4546e; }
.bd-values h3 { margin:34px 0 12px; font-size:26px; }
.bd-values p { color:#6b535a; }
.bd-final-cta { padding:110px 24px; text-align:center; color:#fff; background:radial-gradient(circle at 50% 0,rgba(220,151,173,.38),transparent 35%),#35131f; }
.bd-final-cta h2 { margin:15px auto 34px; font-size:clamp(48px,6vw,88px); font-weight:500; }
.bd-final-cta h2 em { color:#e1a9ba; }
.bd-light { padding:16px 26px; border-radius:999px; background:#fff6f2; color:#35131f; }

@media (max-width: 900px) {
  .bd-home-hero,.bd-intro,.bd-library-story,.bd-freebie { grid-template-columns:1fr; }
  .bd-home-hero { padding-top:62px; }
  .bd-hero-collage { min-height:500px; }
  .bd-category-grid,.bd-featured-grid { grid-template-columns:1fr; }
  .bd-category-card { min-height:300px; }
  .bd-featured-grid { gap:42px; }
  .bd-values { grid-template-columns:repeat(2,1fr); }
  .bd-freebie-visual { min-height:780px; max-height:920px; }
}
@media (max-width: 640px) {
  body.public-site .topbar { align-items:center; padding:11px 14px; }
  body.public-site .brand strong em { font-size:18px; }
  body.public-site .brand strong small { font-size:7px; letter-spacing:.25em; }
  body.public-site .brand span { width:38px; height:38px; }
  .public-nav { gap:2px; }
  .public-nav a { padding:8px 9px; font-size:11px; }
  .public-nav a:first-child { display:none; }
  .bd-home-hero { min-height:0; padding:54px 20px 70px; }
  .bd-brand-banner img { min-height:210px; object-fit:cover; object-position:center; }
  .bd-brand-banner > a { position:static; justify-content:center; margin:0; border-radius:0; padding:15px 12px; color:#fff5f1; background:#5a2636; }
  .bd-home-copy h1 { font-size:clamp(48px,14vw,66px); }
  .bd-home-lead { font-size:17px; }
  .bd-home-actions { align-items:flex-start; flex-direction:column; }
  .bd-trust-row { gap:12px 18px; }
  .bd-hero-collage { min-height:380px; margin-top:18px; }
  .bd-cover-main { inset:28px 9% 8px 4%; }
  .bd-cover-small { width:40%; height:31%; }
  .bd-seal { width:82px; font-size:16px; }
  .bd-marquee { justify-content:flex-start; flex-wrap:nowrap; overflow:hidden; }
  .bd-intro,.bd-featured { padding:76px 20px; gap:32px; }
  .bd-category-grid { padding:0 20px 76px; }
  .bd-intro h2,.bd-library-copy h2 { font-size:44px; }
  .bd-section-heading { align-items:flex-start; flex-direction:column; }
  .bd-library-visual { min-height:430px; padding:34px 24px; }
  .bd-library-copy { padding:64px 22px; }
  .bd-freebie-visual { min-height:0; max-height:none; }
  .bd-freebie-visual img { height:auto; }
  .bd-freebie-copy { padding:64px 22px; }
  .bd-freebie-copy h2 { font-size:43px; }
  .bd-freebie-copy ul { grid-template-columns:1fr; }
  .bd-values { grid-template-columns:1fr; }
  .bd-values article { min-height:230px; }
  .bd-final-cta { padding:80px 20px; }
}
