@font-face {
  font-family: Manrope;
  src: url('/bloom-v2/assets/manrope.ttf') format('truetype');
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

html:has(body.bw-inner), body.bw-inner {
  background: #f9d6e4;
  color: #442239;
  font-family: Manrope, Arial, sans-serif;
  font-synthesis: none;
}

body.bw-inner {
  --bw-ink: #30133d;
  --bw-ink-soft: #442239;
  --bw-body: #513a4d;
  --bw-muted: #725b70;
  --bw-line: #e0c6d2;
  --bw-line-strong: #d3b5c8;
  --bw-bg: #faf2f7;
  --bw-bg-warm: #fff8fb;
  --bw-paper: #fffaf7ed;
  --bw-mauve: #9560df;
  --bw-mauve-deep: #8750cb;
  --bw-mauve-ink: #683795;
  --bw-blush: #edbfd5;
  --bw-blush-soft: #f4dce8;
  --bw-blush-bg: #fff2f8;
  --font-h: Manrope, Arial, sans-serif;
  --font-b: Manrope, Arial, sans-serif;
  padding-top: 80px;
}

/* Page-local tokens previously hid the shared palette and the sky. */
body.bw-inner > :is(section, article, main, div) {
  --bw-ink: #30133d;
  --bw-body: #513a4d;
  --bw-muted: #725b70;
  --bw-mauve-deep: #8750cb;
  --bw-line: #e0c6d2;
  --bw-paper: #fffaf7ed;
  --font-h: Manrope, Arial, sans-serif;
  --font-b: Manrope, Arial, sans-serif;
}

body.bw-inner > :is(section, article, main),
body.bw-inner > :is(.bw-post, .bw-pb, .bw-legal, .bw-legal-wrap, .bw-sia2, .bw-ats, .bw-vault, .bw-pbt, .page) {
  position: relative;
  z-index: 1;
  background: transparent !important;
}

body.bw-inner > .top-bar { position: relative; z-index: 1; }

body.bw-inner h1,
body.bw-inner h2,
body.bw-inner h3 {
  font-family: Manrope, Arial, sans-serif !important;
  font-weight: 650;
  letter-spacing: -.045em;
  text-wrap: balance;
}

body.bw-inner h1 {
  font-size: clamp(40px, 5.3vw, 70px);
  line-height: 1.08;
  letter-spacing: -.065em;
}

body.bw-inner :is(h1, h2, h3) em {
  font-style: normal !important;
  color: inherit !important;
}

body.bw-inner :is(.bw-anim, [class*="-reveal"]) {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

body.bw-inner :is(a, button, summary, input, select, textarea):focus-visible {
  outline: 3px solid #8750cb;
  outline-offset: 5px;
}

body.bw-inner .bw-nav {
  background: #f9eaf0f5;
  border-bottom: 1px solid #44223925;
  color: #442239;
}

body.bw-inner .bw-nav-shell {
  max-width: none;
  height: 80px;
  padding: 0 3.5vw;
  gap: 20px;
}

body.bw-inner :is(.bw-nav-brand, .bw-footer-brand) {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font: 700 23px/1 Manrope, Arial, sans-serif;
  letter-spacing: -.065em;
  color: #442239;
  min-height: 44px;
}

.bw-inner .bwi-brand-flower {
  width: 17px;
  height: 17px;
  color: #8750cb;
  flex-shrink: 0;
}

body.bw-inner .bw-nav-links { gap: 0; }
body.bw-inner .bw-nav-links a {
  font-size: 14px;
  font-weight: 600;
  padding: 12px 10px;
  min-height: 44px;
}

body.bw-inner .bw-nav a.bw-nav-cta {
  background: transparent !important;
  border: 1px solid #442239;
  color: #442239 !important;
  -webkit-text-fill-color: #442239 !important;
  border-radius: 30px;
  padding: 12px 18px;
  font-size: 14px;
  font-weight: 650;
  box-shadow: none;
}

body.bw-inner .bw-nav a.bw-nav-cta:hover {
  background: #442239 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.bw-inner .bw-nav a.bw-nav-cta span {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

body.bw-inner .bw-nav-mobile {
  top: 80px;
  max-height: calc(100dvh - 80px);
  overflow-y: auto;
  background: #fff8fb;
  z-index: 99;
}

body.bw-inner .bw-nav-cta-arr { display: none; }
body.bw-inner .bw-nav-hamburger {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid #d3b5c8;
}

/* Keep the reading surfaces quiet; let the sky show between them. */
body.bw-inner .bw-post-checklist {
  margin: 0 0 28px;
  padding-left: 24px;
  color: var(--bw-body);
}

body.bw-inner .bw-post-checklist li {
  margin: 0 0 10px;
  padding-left: 4px;
  font-size: 18px;
  line-height: 1.65;
}

body.bw-inner .bw-post-checklist li::marker {
  color: var(--bw-mauve-deep);
  font-weight: 650;
}

@media (max-width: 720px) {
  body.bw-inner .bw-post-checklist li { font-size: 17px; }
}

body.bw-inner :is(.bw-about-intro-photo, .bw-about-card, .bw-about-person, .bw-tools-card, .bw-projects-card, .bw-blog-card) {
  border-color: #d3b5c8;
  box-shadow: none;
}

body.bw-inner .bw-about-photo-frame {
  border: 1px solid #d3b5c8;
  border-radius: 8px 48px 8px 8px;
  box-shadow: none;
  overflow: hidden;
}
body.bw-inner .bw-about-photo-frame:hover { box-shadow: none; }
body.bw-inner :is(.bw-about-section, .bw-offers-section, .bw-tools-section, .bw-projects-section, .bw-case-section) {
  border-color: #44223925;
}

.bloom-motion-toggle {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 110;
  border: 1px solid #d3b5c8;
  border-radius: 24px;
  padding: 10px 15px;
  background: #fff8fb;
  color: #513a4d;
  font: 600 12px/1.4 Manrope, Arial, sans-serif;
  min-height: 44px;
  cursor: pointer;
}

@media (max-width: 1180px) {
  body.bw-inner .bw-nav-links { display: none; }
  body.bw-inner .bw-nav-hamburger { display: inline-flex; }
  body.bw-inner .bw-nav a.bw-nav-cta { display: none !important; }
}

@media (max-width: 700px) {
  body.bw-inner { padding-top: 68px; }
  body.bw-inner .bw-nav-shell { height: 68px; padding: 0 22px; }
  body.bw-inner .bw-nav-mobile { top: 68px; max-height: calc(100dvh - 68px); }
  body.bw-inner h1 { font-size: clamp(36px, 9.6vw, 52px); }
  .bloom-motion-toggle { right: 12px; bottom: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  body.bw-inner .bw-footer-signoff-bloom-flower { animation: none !important; }
}

@media print {
  body.bw-inner { background: white; padding-top: 0; }
  bloom-atmosphere, .bloom-motion-toggle, .bw-nav, .bw-nav-mobile { display: none !important; }
}
