:root {
  --navy: #003f9f;
  --deep: #002b74;
  --ink: #001c54;
  --soft-blue: #eef6ff;
  --pale-blue: #f7fbff;
  --line: #bfd4f5;
  --white: #ffffff;
  --shadow: 0 16px 42px rgba(0, 43, 116, 0.1);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Arial, Helvetica, sans-serif;
  --lotus-outline: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 260'%3E%3Cg fill='none' stroke='%238bbcff' stroke-width='2' opacity='.72'%3E%3Cpath d='M150 210C117 165 118 117 150 55c32 62 33 110 0 155Z'/%3E%3Cpath d='M150 210C95 176 73 130 78 52c57 47 82 94 72 158Z'/%3E%3Cpath d='M150 210C88 198 45 161 20 88c72 22 115 59 130 122Z'/%3E%3Cpath d='M150 210C205 176 227 130 222 52c-57 47-82 94-72 158Z'/%3E%3Cpath d='M150 210C212 198 255 161 280 88c-72 22-115 59-130 122Z'/%3E%3Cpath d='M150 210C132 173 136 134 165 88c21 51 16 91-15 122Z'/%3E%3Cpath d='M150 210C168 173 164 134 135 88c-21 51-16 91 15 122Z'/%3E%3Cpath d='M150 210C116 202 84 211 45 240c50 6 85-4 105-30Z'/%3E%3Cpath d='M150 210C184 202 216 211 255 240c-50 6-85-4-105-30Z'/%3E%3C/g%3E%3C/svg%3E");
  --leaf-sprig: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 300'%3E%3Cg fill='none' stroke='%238bbcff' stroke-width='2' opacity='.75'%3E%3Cpath d='M66 286C55 217 54 144 76 18'/%3E%3Cpath d='M67 250C35 232 25 205 34 176c30 18 42 43 33 74Z'/%3E%3Cpath d='M62 205C91 187 103 160 96 130c-31 16-44 41-34 75Z'/%3E%3Cpath d='M64 158C33 143 20 116 27 84c31 15 45 42 37 74Z'/%3E%3Cpath d='M72 112C99 94 108 69 99 42c-27 15-39 40-27 70Z'/%3E%3Cpath d='M58 70C34 56 25 34 31 11c25 13 35 34 27 59Z'/%3E%3C/g%3E%3C/svg%3E");
  --icon-hands-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 31s-10-6-10-14c0-5 6-8 10-2 4-6 10-3 10 2 0 8-10 14-10 14Z'/%3E%3Cpath d='M12 36c8 2 14 6 20 14'/%3E%3Cpath d='M52 36c-8 2-14 6-20 14'/%3E%3Cpath d='M8 43c7 2 13 5 19 13'/%3E%3Cpath d='M56 43c-7 2-13 5-19 13'/%3E%3C/g%3E%3C/svg%3E");
  --icon-monitor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='12' y='13' width='40' height='28' rx='2'/%3E%3Cpath d='M32 41v10'/%3E%3Cpath d='M22 51h20'/%3E%3C/g%3E%3C/svg%3E");
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

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

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

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

button {
  font: inherit;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: 320px 1fr auto;
  align-items: center;
  gap: 28px;
  height: 92px;
  padding: 0 28px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 1px 0 rgba(0, 63, 159, 0.08);
  backdrop-filter: blur(14px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--deep);
  text-transform: uppercase;
}

.brand img {
  width: 84px;
  height: 66px;
  object-fit: contain;
  object-position: center;
  mix-blend-mode: multiply;
}

.brand strong {
  display: block;
  font-family: var(--serif);
  font-size: 32px;
  line-height: 0.92;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.brand small {
  display: block;
  margin-top: 7px;
  font-size: 13px;
  letter-spacing: 0.48em;
}

.site-nav {
  display: flex;
  justify-content: center;
  gap: clamp(18px, 2.2vw, 34px);
  color: var(--deep);
  font-size: 15px;
  font-weight: 700;
}

.site-nav a {
  position: relative;
  padding: 34px 0 30px;
  white-space: nowrap;
}

.site-nav a::after {
  position: absolute;
  right: 0;
  bottom: 22px;
  left: 0;
  height: 3px;
  background: var(--navy);
  content: "";
  transform: scaleX(0);
}

.site-nav a.active::after,
.site-nav a:hover::after {
  transform: scaleX(1);
}

.button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--navy);
  border-radius: 999px;
  padding: 12px 24px;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  cursor: pointer;
}

.site-header .header-button {
  border-radius: 999px;
}

.button.outline {
  color: var(--deep);
  border-color: var(--deep);
  background: rgba(255, 255, 255, 0.86);
}

.primary {
  color: white;
  background: linear-gradient(135deg, #004ebd, #00378f);
  box-shadow: 0 10px 22px rgba(0, 63, 159, 0.18);
}

.light {
  min-width: 310px;
  color: var(--navy);
  border-color: white;
  background: white;
}

.small-button {
  min-height: 42px;
  padding: 10px 22px;
  font-size: 14px;
}

.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  position: relative;
  z-index: 200;
  touch-action: manipulation;
  pointer-events: auto;
  background: white;
}

.menu-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  margin: 5px auto;
  background: var(--navy);
}

.hero {
  display: grid;
  grid-template-columns: 43.2% 56.8%;
  min-height: 640px;
  overflow: hidden;
  background:
    radial-gradient(circle at 35% 84%, rgba(75, 143, 255, 0.12), transparent 260px),
    linear-gradient(90deg, #f4f9ff 0%, #ffffff 45%, #ffffff 100%);
}

.hero-copy {
  position: relative;
  z-index: 1;
  padding: 98px 44px 56px;
}

.hero-copy::after {
  position: absolute;
  right: -84px;
  bottom: 6px;
  width: 260px;
  height: 230px;
  background: var(--lotus-outline) center / contain no-repeat;
  content: "";
  opacity: 0.22;
}

.eyebrow {
  margin: 0 0 18px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.fine-print-brand {
  margin: -10px 0 24px;
  color: rgba(0, 43, 116, 0.72);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

h1,
h2,
h3 {
  margin: 0;
  color: var(--navy);
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.02em;
}

h1 {
  max-width: 515px;
  font-size: clamp(54px, 5.4vw, 74px);
  line-height: 1.02;
}

.brush-line {
  display: block;
  width: 134px;
  height: 10px;
  margin: 10px 0 24px;
  border-bottom: 4px solid var(--navy);
  border-radius: 50%;
  transform: rotate(-5deg);
}

.lead {
  max-width: 440px;
  margin: 0;
  color: var(--navy);
  font-size: 20px;
  line-height: 1.55;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
  align-items: center;
  margin-top: 36px;
}

.learn-link {
  color: var(--navy);
  font-size: 16px;
  font-weight: 700;
}

.location-note {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 42px 0 0;
  color: var(--navy);
  font-size: 15px;
  font-weight: 700;
}

.heart-icon {
  width: 26px;
  height: 26px;
  flex: 0 0 auto;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M14 24S4 18 4 10.8C4 7.2 6.2 5 9.4 5c2 0 3.7 1.1 4.6 2.8C14.9 6.1 16.6 5 18.6 5C21.8 5 24 7.2 24 10.8C24 18 14 24 14 24Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M14 24S4 18 4 10.8C4 7.2 6.2 5 9.4 5c2 0 3.7 1.1 4.6 2.8C14.9 6.1 16.6 5 18.6 5C21.8 5 24 7.2 24 10.8C24 18 14 24 14 24Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.hero-room {
  min-height: 640px;
}

.hero-room img {
  width: 100%;
  height: 100%;
  min-height: 640px;
  object-fit: cover;
  object-position: center;
}

.value-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  width: calc(100% - 46px);
  max-width: 1225px;
  margin: 24px auto 0;
  padding: 30px 36px;
  border-radius: 18px;
  background: linear-gradient(135deg, #f2f8ff, #ffffff);
  box-shadow: var(--shadow);
}

.value-strip article {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 20px;
  min-height: 102px;
  align-items: center;
  padding: 0 24px;
  border-right: 1px solid var(--line);
}

.value-strip article:last-child {
  border-right: 0;
}

.value-strip h2 {
  max-width: 185px;
  font-family: var(--sans);
  font-size: 17px;
  font-weight: 800;
  line-height: 1.45;
}

.value-strip p {
  max-width: 205px;
  margin: 8px 0 0;
  color: var(--navy);
  font-size: 16px;
}

.line-icon {
  position: relative;
  display: inline-grid;
  width: 54px;
  height: 54px;
  place-items: center;
  color: var(--navy);
}

.line-icon::before {
  width: 48px;
  height: 48px;
  background: currentColor;
  content: "";
  mask: var(--icon) center / contain no-repeat;
  -webkit-mask: var(--icon) center / contain no-repeat;
}

.people {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='32' cy='22' r='8'/%3E%3Cpath d='M18 52c2-10 8-16 14-16s12 6 14 16'/%3E%3Ccircle cx='17' cy='28' r='6'/%3E%3Cpath d='M6 52c1.5-8 6-13 13-14'/%3E%3Ccircle cx='47' cy='28' r='6'/%3E%3Cpath d='M58 52c-1.5-8-6-13-13-14'/%3E%3C/g%3E%3C/svg%3E");
}

.leaf {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M52 9C29 10 15 23 14 47c24 0 38-14 38-38Z'/%3E%3Cpath d='M14 47 48 13'/%3E%3Cpath d='M25 36h-9'/%3E%3Cpath d='M34 27h-9'/%3E%3Cpath d='M40 21v-9'/%3E%3C/g%3E%3C/svg%3E");
}

.shield {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 6 52 15v16c0 15-9 24-20 29C21 55 12 46 12 31V15l20-9Z'/%3E%3Crect x='23' y='29' width='18' height='16' rx='2'/%3E%3Cpath d='M27 29v-5a5 5 0 0 1 10 0v5'/%3E%3C/g%3E%3C/svg%3E");
}

.screen {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='12' y='13' width='40' height='28' rx='2'/%3E%3Cpath d='M32 41v10'/%3E%3Cpath d='M22 51h20'/%3E%3C/g%3E%3C/svg%3E");
}

.cloud,
.rain {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 39h28a10 10 0 0 0 0-20 15 15 0 0 0-28-3A11.5 11.5 0 0 0 19 39Z'/%3E%3Cpath d='M23 48v5'/%3E%3Cpath d='M33 48v5'/%3E%3Cpath d='M43 48v5'/%3E%3C/g%3E%3C/svg%3E");
}

.scribble {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M30 12c13-6 28 10 16 20 14 2 5 22-8 17-1 13-23 8-18-5-13 3-17-17-4-19-9-10 5-23 14-13Z'/%3E%3Cpath d='M22 22c8-5 20 0 19 10'/%3E%3Cpath d='M20 35c8 7 22 5 28-3'/%3E%3Cpath d='M29 47c-4-9 0-20 10-26'/%3E%3C/g%3E%3C/svg%3E");
}

.lock {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='18' y='28' width='28' height='24' rx='3'/%3E%3Cpath d='M23 28v-9a9 9 0 0 1 18 0v9'/%3E%3Cpath d='M32 38v5'/%3E%3C/g%3E%3C/svg%3E");
}

.sun {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Ccircle cx='32' cy='32' r='11'/%3E%3Cpath d='M32 5v10M32 49v10M5 32h10M49 32h10M13 13l7 7M44 44l7 7M51 13l-7 7M20 44l-7 7'/%3E%3C/g%3E%3C/svg%3E");
}

.question {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='32' cy='32' r='24'/%3E%3Cpath d='M25 25a7 7 0 1 1 11 6c-3 2-4 4-4 7'/%3E%3Cpath d='M32 48h.1'/%3E%3C/g%3E%3C/svg%3E");
}

.about-preview {
  position: relative;
  display: grid;
  grid-template-columns: minmax(330px, 0.72fr) minmax(420px, 1fr) 240px;
  gap: 30px;
  align-items: center;
  width: calc(100% - 46px);
  max-width: 1225px;
  margin: 30px auto 0;
  overflow: hidden;
}

.headshot-card {
  overflow: hidden;
  border-radius: 22px;
  box-shadow: var(--shadow);
}

.headshot-card img {
  width: 100%;
  aspect-ratio: 1.13 / 1;
  object-fit: cover;
  object-position: center 42%;
}

.about-copy {
  padding: 20px 0 12px;
}

.about-copy h2 {
  font-size: clamp(38px, 4vw, 50px);
  line-height: 1.08;
}

.about-copy p:not(.eyebrow) {
  max-width: 610px;
  margin: 20px 0 0;
  color: #171717;
  font-size: 15px;
  line-height: 1.85;
}

.about-copy .button {
  margin-top: 22px;
}

.outline-lotus {
  position: absolute;
  right: -34px;
  bottom: -12px;
  width: 360px;
  height: 315px;
  background: var(--lotus-outline) center / contain no-repeat;
  opacity: 0.42;
  pointer-events: none;
}

.check-in-preview {
  position: relative;
  width: calc(100% - 46px);
  max-width: 1225px;
  margin: 30px auto 0;
  overflow: hidden;
  border-radius: 18px;
  padding: 24px 124px 24px;
  background: linear-gradient(135deg, #eef7ff, #ffffff 48%, #eef7ff);
  text-align: center;
  box-shadow: var(--shadow);
}

.check-in-preview h2 {
  font-size: clamp(32px, 4.3vw, 45px);
  line-height: 1.05;
}

.check-subtitle {
  margin: 8px auto 22px;
  color: var(--navy);
  font-size: 15px;
}

.mood-row {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 22px;
  max-width: 940px;
  margin: 0 auto;
}

.mood-card {
  display: grid;
  min-height: 108px;
  place-items: center;
  gap: 4px;
  border: 1px solid transparent;
  border-radius: 13px;
  color: var(--navy);
  background: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  cursor: pointer;
}

.mood-card.active,
.mood-card:hover {
  border-color: var(--navy);
  background: rgba(255, 255, 255, 0.95);
}

.mood-card .line-icon {
  width: 48px;
  height: 48px;
}

.reflection-bar {
  display: grid;
  grid-template-columns: 130px 1fr 1fr;
  gap: 26px;
  align-items: center;
  max-width: 955px;
  margin: 20px auto 0;
  padding: 18px 22px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
  text-align: left;
}

.lotus-badge {
  display: grid;
  width: 112px;
  height: 112px;
  place-items: center;
  border-radius: 50%;
  background: white;
}

.lotus-badge img {
  width: 94px;
  mix-blend-mode: multiply;
}

.reflection-bar h3 {
  font-size: 28px;
  line-height: 1.08;
}

.reflection-bar p {
  margin: 8px 0 0;
  color: var(--navy);
  font-size: 14px;
  line-height: 1.55;
}

.try-this {
  min-height: 110px;
  padding-left: 30px;
  border-left: 1px solid var(--line);
}

.try-this p {
  margin: 0 0 6px;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.try-this strong {
  display: block;
  color: var(--navy);
  font-size: 14px;
  line-height: 1.5;
}

.save-button {
  min-height: 40px;
  margin-top: 10px;
  padding: 9px 20px;
  font-size: 14px;
}

.leaf-decoration {
  position: absolute;
  top: 42px;
  width: 105px;
  height: 260px;
  background: var(--leaf-sprig) center / contain no-repeat;
  opacity: 0.52;
  pointer-events: none;
}

.leaf-decoration.left {
  left: 22px;
  transform: rotate(-5deg);
}

.leaf-decoration.right {
  right: 22px;
  transform: scaleX(-1) rotate(-5deg);
}

.bottom-cta {
  display: grid;
  grid-template-columns: 70px 1fr 1px minmax(320px, 0.8fr);
  gap: 28px;
  align-items: center;
  width: calc(100% - 46px);
  max-width: 1225px;
  min-height: 95px;
  margin: 12px auto 28px;
  padding: 20px 52px;
  border-radius: 13px;
  color: white;
  background: linear-gradient(135deg, #0055c8, #00358e);
}

.quote-mark {
  font-family: var(--serif);
  font-size: 72px;
  line-height: 1;
}

.bottom-cta p {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.55;
}

.divider {
  width: 1px;
  height: 58px;
  background: rgba(255, 255, 255, 0.55);
}

.bottom-cta div:last-child {
  display: grid;
  justify-items: center;
  gap: 8px;
}

.bottom-cta small {
  font-size: 15px;
}

@media (max-width: 1120px) {
  .site-header {
    grid-template-columns: auto auto;
    height: auto;
    min-height: 86px;
  }

  .menu-toggle {
    display: inline-block;
    justify-self: end;
  }

  .site-nav,
  .header-button {
    display: none;
  }

  .site-nav.open {
    display: grid !important;
    grid-column: 1 / -1;
    justify-content: stretch;
    gap: 0;
    padding: 8px 0 18px;
  }

  .site-nav.open a {
    padding: 14px 0;
    border-top: 1px solid var(--line);
  }

  .hero,
  .about-preview,
  .reflection-bar,
  .bottom-cta {
    grid-template-columns: 1fr;
  }

  .hero-copy {
    padding: 70px 30px 44px;
  }

  .hero-room,
  .hero-room img {
    min-height: 440px;
  }

  .value-strip {
    grid-template-columns: repeat(2, 1fr);
  }

  .value-strip article:nth-child(2) {
    border-right: 0;
  }

  .value-strip article:nth-child(n + 3) {
    border-top: 1px solid var(--line);
  }

  .about-preview {
    max-width: 760px;
  }

  .outline-lotus {
    display: none;
  }

  .check-in-preview {
    padding-inline: 34px;
  }

  .mood-row {
    grid-template-columns: repeat(3, 1fr);
  }

  .try-this {
    padding-left: 0;
    border-left: 0;
  }

  .bottom-cta {
    text-align: center;
  }

  .divider {
    display: none;
  }
}

@media (max-width: 680px) {
  .site-header {
    padding: 10px 16px;
  }

  .brand img {
    width: 66px;
    height: 50px;
  }

  .brand strong {
    font-size: 24px;
  }

  .brand small {
    font-size: 10px;
    letter-spacing: 0.36em;
  }

  h1 {
    font-size: 48px;
  }

  .hero {
    grid-template-columns: 1fr;
  }

  .hero-copy {
    padding: 52px 22px 36px;
  }

  .hero-actions,
  .location-note {
    align-items: flex-start;
  }

  .hero-actions,
  .value-strip,
  .mood-row {
    grid-template-columns: 1fr;
  }

  .hero-actions {
    display: grid;
  }

  .button,
  .light {
    width: 100%;
    min-width: 0;
  }

  .value-strip,
  .about-preview,
  .check-in-preview,
  .bottom-cta {
    width: calc(100% - 28px);
  }

  .value-strip {
    padding: 8px 24px;
  }

  .value-strip article,
  .value-strip article:nth-child(n + 3) {
    grid-template-columns: 58px 1fr;
    padding: 22px 0;
    border-top: 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .value-strip article:last-child {
    border-bottom: 0;
  }

  .about-copy {
    padding-inline: 2px;
  }

  .check-in-preview {
    padding: 28px 18px;
  }

  .leaf-decoration {
    display: none;
  }

  .reflection-bar {
    padding: 18px;
    text-align: center;
  }

  .lotus-badge {
    margin-inline: auto;
  }

  .bottom-cta {
    padding: 26px 20px;
  }
}

/* About page */
.about-page {
  background:
    radial-gradient(circle at 100% 20%, rgba(125, 175, 255, 0.18), transparent 24rem),
    linear-gradient(180deg, #fbfdff 0%, #fffdf8 100%);
}

.about-page .button {
  border-radius: 7px;
}

.about-page .site-header {
  box-shadow: none;
}

.about-page main {
  width: min(1240px, calc(100% - 64px));
  margin: 0 auto;
}

.about-nav {
  gap: clamp(24px, 3vw, 42px);
}

.about-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(390px, 0.78fr) minmax(520px, 1.05fr);
  gap: 64px;
  align-items: center;
  padding: 34px 0 46px;
}

.about-hero-copy {
  position: relative;
  z-index: 1;
  padding-left: 48px;
}

.about-hero h1 {
  font-size: clamp(56px, 6vw, 74px);
  line-height: 0.94;
  letter-spacing: -0.03em;
}

.script-heading,
.script-note {
  margin: 2px 0 0;
  color: #336bd4;
  font-family: "Brush Script MT", "Segoe Script", cursive;
  font-size: clamp(42px, 5vw, 62px);
  line-height: 1;
}

.lotus-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 420px;
  margin: 24px 0 24px;
  color: #8bbcff;
}

.lotus-divider::before,
.lotus-divider::after {
  height: 1px;
  flex: 1;
  background: #9abdf2;
  content: "";
}

.lotus-divider span,
.story-lotus-mark,
.cta-lotus,
.small-watermark-lotus {
  display: inline-block;
  background: var(--lotus-outline) center / contain no-repeat;
}

.lotus-divider span {
  width: 34px;
  height: 28px;
}

.about-intro {
  max-width: 430px;
  margin: 0;
  color: #071a43;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.72;
}

.support-icons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 430px;
  margin-top: 34px;
}

.support-icons article {
  display: grid;
  justify-items: center;
  gap: 10px;
  text-align: center;
}

.support-icons p {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}

.about-icon {
  display: inline-grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 999px;
  color: var(--navy);
  background: #e8f1ff;
}

.about-icon::before {
  width: 34px;
  height: 34px;
  background: currentColor;
  content: "";
  mask: var(--icon) center / contain no-repeat;
  -webkit-mask: var(--icon) center / contain no-repeat;
}

.person {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='32' cy='21' r='9'/%3E%3Cpath d='M17 53c2-12 8-18 15-18s13 6 15 18'/%3E%3C/g%3E%3C/svg%3E");
}

.map-pin {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 58S14 39 14 25a18 18 0 0 1 36 0c0 14-18 33-18 33Z'/%3E%3Ccircle cx='32' cy='25' r='6'/%3E%3C/g%3E%3C/svg%3E");
}

.hands-heart {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 31s-10-6-10-14c0-5 6-8 10-2 4-6 10-3 10 2 0 8-10 14-10 14Z'/%3E%3Cpath d='M12 36c8 2 14 6 20 14'/%3E%3Cpath d='M52 36c-8 2-14 6-20 14'/%3E%3Cpath d='M8 43c7 2 13 5 19 13'/%3E%3Cpath d='M56 43c-7 2-13 5-19 13'/%3E%3C/g%3E%3C/svg%3E");
}

.plant-pot {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 28h16l-2 24H26l-2-24Z'/%3E%3Cpath d='M20 28h24'/%3E%3Cpath d='M32 28V10'/%3E%3Cpath d='M32 18c-9-1-13-6-13-13 9 1 13 6 13 13Z'/%3E%3Cpath d='M32 22c9-1 13-6 13-13-9 1-13 6-13 13Z'/%3E%3C/g%3E%3C/svg%3E");
}

.credential-shield {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 7 51 15v15c0 15-8 24-19 29-11-5-19-14-19-29V15l19-8Z'/%3E%3Cpath d='m22 31 7 7 14-15'/%3E%3C/g%3E%3C/svg%3E");
}

.about-photo-wrap {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-radius: 16px;
}

.about-photo-wrap img {
  width: 100%;
  height: min(548px, 48vw);
  min-height: 460px;
  object-fit: cover;
  object-position: center 44%;
}

.about-hero-lotus {
  position: absolute;
  right: -145px;
  bottom: -18px;
  width: 330px;
  height: 390px;
  background: var(--lotus-outline) center / contain no-repeat;
  opacity: 0.52;
}

.story-card,
.fit-panel,
.detail-panel {
  border: 1px solid #d4e2f7;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 10px 35px rgba(0, 43, 116, 0.07);
}

.story-card {
  display: grid;
  grid-template-columns: 90px 1.1fr 1.1fr 1fr;
  gap: 28px;
  align-items: center;
  min-height: 255px;
  padding: 30px 36px;
}

.story-lotus-mark {
  width: 72px;
  height: 72px;
  border-radius: 999px;
  background-color: #e8f1ff;
}

.story-card p {
  margin: 12px 0 0;
  color: #071a43;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.8;
}

.story-card .eyebrow {
  margin-bottom: 10px;
}

.story-offer {
  display: grid;
  grid-template-columns: 58px 1fr;
  column-gap: 24px;
  align-items: center;
}

.story-offer .script-note {
  grid-column: 1 / -1;
  margin: 0 0 18px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-style: italic;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.35;
}

.story-heart {
  grid-row: 2;
}

.fit-section,
.about-details-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 16px;
}

.about-details-grid.single-detail {
  grid-template-columns: 1fr;
}

.fit-panel {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 20px;
  min-height: 215px;
  padding: 26px 34px;
}

.fit-panel h2,
.detail-panel h2 {
  color: var(--deep);
  font-size: 25px;
  font-weight: 700;
  line-height: 1.1;
}

.fit-panel ul {
  display: grid;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.fit-panel li {
  position: relative;
  padding-left: 28px;
  color: #071a43;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
}

.fit-panel li::before {
  position: absolute;
  top: 4px;
  left: 0;
  display: grid;
  width: 15px;
  height: 15px;
  place-items: center;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  content: "";
}

.good-fit {
  background: linear-gradient(135deg, rgba(245, 250, 255, 0.96), rgba(255, 255, 255, 0.86));
}

.good-fit li::after {
  position: absolute;
  top: 8px;
  left: 4px;
  width: 7px;
  height: 4px;
  border-left: 1.5px solid var(--navy);
  border-bottom: 1.5px solid var(--navy);
  content: "";
  transform: rotate(-45deg);
}

.not-fit {
  border-color: #efcaca;
  background: linear-gradient(135deg, rgba(255, 247, 247, 0.96), rgba(255, 255, 255, 0.88));
}

.not-fit h2,
.not-fit li {
  color: #b83434;
}

.not-fit li span,
.not-fit li {
  color: #071a43;
}

.not-fit li::before {
  border-color: #d83a3a;
}

.not-fit li::after {
  position: absolute;
  top: 11px;
  left: 4px;
  width: 7px;
  height: 1.5px;
  background: #d83a3a;
  box-shadow: 0 0 0 #d83a3a;
  content: "";
  transform: rotate(45deg);
}

.fit-symbol {
  position: relative;
  display: inline-grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 2px solid currentColor;
  border-radius: 50%;
  color: var(--navy);
}

.check-symbol::before {
  width: 21px;
  height: 11px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  content: "";
  transform: rotate(-45deg) translate(1px, -2px);
}

.x-symbol {
  color: #c53030;
}

.x-symbol::before,
.x-symbol::after {
  position: absolute;
  width: 24px;
  height: 2px;
  background: currentColor;
  content: "";
}

.x-symbol::before {
  transform: rotate(45deg);
}

.x-symbol::after {
  transform: rotate(-45deg);
}

.detail-panel {
  position: relative;
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 22px;
  min-height: 215px;
  overflow: hidden;
  padding: 28px 34px;
}

.detail-panel p {
  margin: 13px 0 0;
  color: #071a43;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.75;
}

.small-watermark-lotus {
  position: absolute;
  right: -12px;
  bottom: -18px;
  width: 130px;
  height: 130px;
  opacity: 0.48;
}

.license-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 15px 0 8px;
  padding-top: 13px;
  border-top: 1px solid #9fb9e6;
  color: #071a43;
  font-size: 15px;
  font-weight: 700;
}

.license-row span + span {
  margin-left: 22px;
  padding-left: 22px;
  border-left: 1px solid #9fb9e6;
}

.license-fine-print {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 14px;
  align-items: center;
  margin-top: 16px;
  padding: 14px 18px;
  border: 1px solid #d4e2f7;
  border-radius: 10px;
  color: #415177;
  background: rgba(247, 251, 255, 0.72);
}

.license-fine-print .about-icon {
  width: 38px;
  height: 38px;
  background: transparent;
}

.license-fine-print .about-icon::before {
  width: 28px;
  height: 28px;
}

.license-fine-print p {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
}

.about-bottom-cta {
  display: grid;
  grid-template-columns: 120px 1fr 310px;
  gap: 28px;
  align-items: center;
  min-height: 132px;
  margin: 18px 0 36px;
  padding: 24px 34px;
  border-radius: 14px;
  color: white;
  background: linear-gradient(135deg, #00317e, #001f61);
}

.cta-lotus {
  width: 95px;
  height: 95px;
  filter: brightness(0) invert(1);
  opacity: 0.7;
}

.about-bottom-cta h2 {
  color: white;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.05;
}

.about-bottom-cta p {
  margin: 10px 0 0;
  font-size: 17px;
  font-weight: 700;
}

.about-bottom-cta .button {
  min-width: 0;
  min-height: 62px;
  gap: 12px;
  padding: 13px 20px;
}

.waitlist-button {
  color: white;
  border-color: rgba(255, 255, 255, 0.72);
  background: transparent;
}

.calendar-mini,
.person-mini,
.user-mini {
  display: inline-block;
  width: 24px;
  height: 24px;
  background: currentColor;
  mask: var(--mini-icon) center / contain no-repeat;
  -webkit-mask: var(--mini-icon) center / contain no-repeat;
}

.calendar-mini {
  --mini-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='7' width='22' height='20' rx='2'/%3E%3Cpath d='M10 4v6M22 4v6M5 13h22M10 18h4M18 18h4M10 23h4'/%3E%3C/g%3E%3C/svg%3E");
}

.person-mini {
  --mini-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='16' cy='10' r='5'/%3E%3Cpath d='M6 28c1-8 5-12 10-12s9 4 10 12'/%3E%3C/g%3E%3C/svg%3E");
}

.user-mini {
  --mini-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='16' cy='10' r='5'/%3E%3Cpath d='M6 28c1-8 5-12 10-12s9 4 10 12'/%3E%3C/g%3E%3C/svg%3E");
}

@media (max-width: 1120px) {
  .about-page main {
    width: min(760px, calc(100% - 34px));
  }

  .about-hero,
  .story-card,
  .fit-section,
  .about-details-grid,
  .about-bottom-cta {
    grid-template-columns: 1fr;
  }

  .about-hero-copy {
    padding-left: 0;
  }

  .about-photo-wrap img {
    height: auto;
    min-height: 0;
  }

  .about-hero-lotus {
    display: none;
  }

  .story-offer {
    grid-template-columns: 58px 1fr;
  }
}

@media (max-width: 680px) {
  .about-page main {
    width: min(100% - 28px, 760px);
  }

  .about-hero {
    padding-top: 28px;
    gap: 28px;
  }

  .about-hero h1 {
    font-size: 48px;
  }

  .script-heading {
    font-size: 42px;
  }

  .lotus-divider {
    width: 100%;
  }

  .support-icons {
    grid-template-columns: 1fr;
  }

  .story-card,
  .fit-panel,
  .detail-panel,
  .about-bottom-cta {
    padding: 24px;
  }

  .story-offer,
  .fit-panel,
  .detail-panel {
    grid-template-columns: 1fr;
  }

  .license-row span + span {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
  }
}

/* Consultation page */
.consultation-page {
  background: linear-gradient(180deg, #f8fbff 0%, #fffdf8 48%, #f9fbff 100%);
}

.consultation-page .button {
  border-radius: 7px;
}

.consultation-page .site-header .header-button,
.about-page .site-header .header-button {
  border-radius: 999px;
}

.consultation-page main {
  width: min(1240px, calc(100% - 58px));
  margin: 0 auto;
}

.consult-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(420px, 0.9fr) minmax(360px, 0.64fr);
  gap: 52px;
  align-items: center;
  width: calc(100% + 58px);
  margin-left: -29px;
  overflow: hidden;
  padding: 42px max(29px, calc((100vw - 1240px) / 2 + 29px)) 48px;
  background:
    radial-gradient(circle at 95% 65%, rgba(99, 156, 255, 0.3), transparent 25rem),
    linear-gradient(135deg, #f2f8ff 0%, #ffffff 48%, #eaf4ff 100%);
}

.consult-hero-copy {
  position: relative;
  z-index: 1;
  padding-left: 54px;
}

.consult-hero h1 {
  max-width: 535px;
  font-size: clamp(54px, 5.7vw, 72px);
  line-height: 0.98;
}

.consult-hero-copy > p:not(.eyebrow) {
  max-width: 520px;
  margin: 22px 0 0;
  color: #071a43;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.65;
}

.consult-hero-actions {
  display: flex;
  gap: 18px;
  margin-top: 28px;
}

.consult-hero-actions .button {
  min-height: 66px;
  gap: 12px;
  padding: 14px 22px;
}

.outline-pill {
  color: var(--deep);
  border-color: var(--deep);
  background: rgba(255, 255, 255, 0.78);
}

.button-captions {
  display: grid;
  grid-template-columns: 280px 220px;
  gap: 18px;
  margin-top: 8px;
  color: var(--deep);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.consult-highlights {
  position: relative;
  z-index: 1;
  width: min(395px, 100%);
  padding: 25px 28px 26px;
  border: 1px solid #d4e2f7;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 18px 44px rgba(0, 43, 116, 0.13);
}

.consult-highlights ul {
  display: grid;
  gap: 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.consult-highlights li {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 16px;
  align-items: center;
  color: #071a43;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.45;
}

.consult-icon,
.info-icon,
.process-icon,
.clipboard-mini,
.shield-mini {
  display: inline-block;
  background: currentColor;
  mask: var(--icon) center / contain no-repeat;
  -webkit-mask: var(--icon) center / contain no-repeat;
}

.consult-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: var(--navy);
  border-radius: 50%;
  background: #e3efff;
  mask: none;
  -webkit-mask: none;
}

.consult-icon::before {
  display: block;
  width: 26px;
  height: 26px;
  background: currentColor;
  content: "";
  mask: var(--icon) center / contain no-repeat;
  -webkit-mask: var(--icon) center / contain no-repeat;
}

.clock-line,
.clock-soft {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='32' cy='32' r='23'/%3E%3Cpath d='M32 18v16l10 6'/%3E%3C/g%3E%3C/svg%3E");
}

.pin-line {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 58S14 39 14 25a18 18 0 0 1 36 0c0 14-18 33-18 33Z'/%3E%3Ccircle cx='32' cy='25' r='6'/%3E%3C/g%3E%3C/svg%3E");
}

.shield-line,
.shield-mini,
.shield-soft {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 7 51 15v15c0 15-8 24-19 29-11-5-19-14-19-29V15l19-8Z'/%3E%3Cpath d='m22 31 7 7 14-15'/%3E%3C/g%3E%3C/svg%3E");
}

.person-line {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='32' cy='21' r='9'/%3E%3Cpath d='M17 53c2-12 8-18 15-18s13 6 15 18'/%3E%3C/g%3E%3C/svg%3E");
}

.hands-line,
.hands-big,
.hands-soft {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 31s-10-6-10-14c0-5 6-8 10-2 4-6 10-3 10 2 0 8-10 14-10 14Z'/%3E%3Cpath d='M12 36c8 2 14 6 20 14'/%3E%3Cpath d='M52 36c-8 2-14 6-20 14'/%3E%3Cpath d='M8 43c7 2 13 5 19 13'/%3E%3Cpath d='M56 43c-7 2-13 5-19 13'/%3E%3C/g%3E%3C/svg%3E");
}

.clipboard-mini,
.clipboard-big {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-7a3 3 0 0 0-3 3v40a3 3 0 0 0 3 3h34a3 3 0 0 0 3-3V15a3 3 0 0 0-3-3h-7'/%3E%3Cpath d='M23 8h18v10H23z'/%3E%3Cpath d='m22 35 6 6 14-15'/%3E%3Cpath d='M22 49h20'/%3E%3C/g%3E%3C/svg%3E");
}

.envelope-big {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='10' y='16' width='44' height='32' rx='3'/%3E%3Cpath d='m12 19 20 17 20-17'/%3E%3C/g%3E%3C/svg%3E");
}

.calendar-big {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='11' y='14' width='42' height='39' rx='3'/%3E%3Cpath d='M21 8v11M43 8v11M11 25h42M21 34h6M34 34h6M21 43h6M34 43h6'/%3E%3C/g%3E%3C/svg%3E");
}

.dollar-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M32 10v44M43 20c-4-4-17-5-18 3-2 12 22 6 20 19-2 10-17 9-25 3'/%3E%3C/g%3E%3C/svg%3E");
}

.warning-soft {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 8 59 55H5L32 8Z'/%3E%3Cpath d='M32 24v14M32 47h.1'/%3E%3C/g%3E%3C/svg%3E");
}

.people-soft {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='32' cy='22' r='8'/%3E%3Cpath d='M18 52c2-10 8-16 14-16s12 6 14 16'/%3E%3Ccircle cx='17' cy='28' r='6'/%3E%3Cpath d='M6 52c1.5-8 6-13 13-14'/%3E%3Ccircle cx='47' cy='28' r='6'/%3E%3Cpath d='M58 52c-1.5-8-6-13-13-14'/%3E%3C/g%3E%3C/svg%3E");
}

.clipboard-mini,
.shield-mini {
  width: 24px;
  height: 24px;
}

.button-arrow {
  position: relative;
  display: inline-block;
  width: 22px;
  height: 14px;
  flex: 0 0 auto;
}

.button-arrow::before {
  position: absolute;
  top: 6px;
  left: 0;
  width: 18px;
  height: 2px;
  background: currentColor;
  content: "";
}

.button-arrow::after {
  position: absolute;
  top: 2px;
  right: 0;
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  content: "";
  transform: rotate(45deg);
}

.phone-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10 15 17c-2 2-2 6-1 9 5 14 16 25 30 30 3 1 7 1 9-1l7-7-11-10-7 6c-7-3-14-10-17-17l6-7L22 10Z'/%3E%3Cpath d='M42 12c6 2 10 6 12 12'/%3E%3Cpath d='M41 22c2 1 4 3 5 5'/%3E%3C/g%3E%3C/svg%3E");
  display: inline-block;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  color: #d93636;
  border-radius: 50%;
  background: #ffe3e3;
}

.phone-icon::before {
  display: block;
  width: 20px;
  height: 20px;
  margin: 7px;
  background: currentColor;
  content: "";
  mask: var(--icon) center / contain no-repeat;
  -webkit-mask: var(--icon) center / contain no-repeat;
}

.consult-lotus-bg {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 430px;
  height: 455px;
  background: url("assets/consultation-lotus.png") right bottom / contain no-repeat;
  opacity: 0.9;
}

.page-section-title {
  display: grid;
  justify-items: center;
  margin: 22px 0 10px;
}

.page-section-title h2 {
  color: var(--deep);
  font-size: 34px;
  font-weight: 700;
}

.mini-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 170px;
  margin-top: 6px;
}

.mini-divider::before,
.mini-divider::after {
  height: 1px;
  flex: 1;
  background: #9abdf2;
  content: "";
}

.mini-divider span {
  width: 28px;
  height: 22px;
  background: var(--lotus-outline) center / contain no-repeat;
}

.process-grid {
  display: grid;
  grid-template-columns: 1fr 26px 1fr 26px 1fr 26px 1fr;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
}

.process-card {
  position: relative;
  min-height: 252px;
  padding: 30px 24px 24px;
  border: 1px solid #d4e2f7;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.86);
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 43, 116, 0.06);
}

.step-number {
  position: absolute;
  top: 16px;
  left: 16px;
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  color: var(--deep);
  background: #dceaff;
  font-weight: 800;
}

.process-icon {
  width: 52px;
  height: 52px;
  margin-bottom: 18px;
  color: var(--navy);
}

.process-card h3 {
  color: var(--deep);
  font-size: 23px;
  font-weight: 700;
  line-height: 1.12;
}

.process-card p {
  margin: 18px 0 0;
  color: #071a43;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
}

.step-arrow {
  position: relative;
  display: block;
  width: 28px;
  height: 28px;
  font-size: 0;
}

.step-arrow::before {
  position: absolute;
  top: 50%;
  left: 2px;
  width: 22px;
  height: 2px;
  background: var(--navy);
  content: "";
  transform: translateY(-50%);
}

.step-arrow::after {
  position: absolute;
  top: 50%;
  right: 2px;
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--navy);
  border-right: 2px solid var(--navy);
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

.consult-info-grid {
  display: grid;
  grid-template-columns: 1fr 1.03fr 1.18fr;
  gap: 16px;
  margin-top: 24px;
}

.info-card {
  position: relative;
  min-height: 350px;
  padding: 32px 34px;
  border: 1px solid #d4e2f7;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.88);
  text-align: center;
}

.private-pay {
  background: linear-gradient(135deg, #f6f1ff, #ffffff);
}

.insurance-card {
  background: linear-gradient(135deg, #effbfb, #ffffff);
}

.wait-card {
  background: linear-gradient(135deg, #eef6ff, #ffffff);
}

.info-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 16px;
  color: var(--navy);
  border-radius: 50%;
  background-color: currentColor;
}

.info-card h2,
.support-card h2,
.waitlist-strip h2 {
  color: var(--deep);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1;
}

.price-lines,
.scale-lines,
.wait-time {
  color: var(--deep);
  font-family: var(--serif);
  font-size: 26px;
  font-weight: 700;
  line-height: 1.35;
}

.scale-lines {
  margin-top: 28px;
  font-size: 22px;
}

.info-card p,
.support-card p,
.waitlist-strip p {
  color: #071a43;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
}

.info-card small {
  color: #071a43;
  font-size: 13px;
  font-weight: 700;
}

.insurance-logos {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px 18px;
  align-items: center;
  margin: 22px 0;
  color: var(--navy);
  font-size: 17px;
  line-height: 1.05;
}

.insurance-logos strong:nth-child(n + 5) {
  grid-column: span 2;
}

.insurance-logos strong {
  min-height: 34px;
  align-content: center;
}

.oscar-logo {
  color: #0070c9;
}

.united-logo,
.anthem-logo {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 8px;
  align-items: center;
  justify-self: center;
  text-align: left;
}

.united-logo span,
.anthem-logo span {
  display: inline-block;
  width: 30px;
  height: 34px;
  background: var(--navy);
}

.united-logo span {
  clip-path: polygon(8% 0, 38% 0, 38% 78%, 52% 70%, 52% 0, 76% 0, 76% 58%, 92% 50%, 92% 0, 100% 0, 100% 66%, 52% 96%, 8% 68%);
}

.anthem-logo span {
  position: relative;
  background: #0070c9;
  clip-path: polygon(36% 0, 64% 0, 64% 36%, 100% 36%, 100% 64%, 64% 64%, 64% 100%, 36% 100%, 36% 64%, 0 64%, 0 36%, 36% 36%);
}

.anthem-logo span::after {
  position: absolute;
  inset: 8px;
  border: 1.5px solid white;
  border-radius: 50%;
  content: "";
}

.wait-time {
  margin: 24px 0 6px;
  font-size: 56px;
  line-height: 1;
}

.short-rule {
  display: block;
  width: 54px;
  height: 3px;
  margin: 18px auto;
  background: #0b66d8;
}

.support-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 16px;
  margin-top: 20px;
}

.support-card {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 22px;
  min-height: 250px;
  padding: 30px;
  border: 1px solid #d4e2f7;
  border-radius: 10px;
}

.sooner-card {
  background: linear-gradient(135deg, #f6f1ff, #ffffff);
}

.crisis-card {
  border-color: #efcaca;
  background: linear-gradient(135deg, #fff5f5, #ffffff);
}

.crisis-card h2,
.red-note {
  color: #c53030 !important;
}

.resource-buttons {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 18px;
}

.resource-buttons a {
  display: grid;
  min-height: 62px;
  place-items: center;
  border: 1px solid #d4e2f7;
  border-radius: 7px;
  color: var(--deep);
  background: white;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.phone-line {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  align-items: center;
}

.waitlist-strip {
  position: relative;
  display: grid;
  grid-template-columns: 72px 1fr 180px;
  gap: 22px;
  align-items: center;
  min-height: 112px;
  margin-top: 20px;
  overflow: hidden;
  padding: 22px 34px;
  border: 1px solid #bcd4f6;
  border-radius: 10px;
  background: linear-gradient(135deg, #eef6ff, #ffffff);
}

.waitlist-strip p {
  margin: 6px 0 0;
}

.strip-lotus {
  position: absolute;
  right: -20px;
  bottom: -30px;
  width: 150px;
  height: 150px;
  background: var(--lotus-outline) center / contain no-repeat;
  opacity: 0.45;
}

.consult-bottom-cta {
  display: grid;
  grid-template-columns: 120px 1fr 320px 260px;
  gap: 28px;
  align-items: center;
  min-height: 132px;
  margin: 18px 0 30px;
  padding: 24px 34px;
  border-radius: 10px;
  color: white;
  background: linear-gradient(135deg, #00317e, #001f61);
}

.consult-bottom-cta h2 {
  color: white;
  font-size: 34px;
  font-weight: 700;
}

.consult-bottom-cta p {
  margin: 4px 0 0;
  font-size: 18px;
  font-weight: 700;
}

.consult-bottom-cta .button {
  min-width: 0;
  min-height: 62px;
  gap: 12px;
  padding: 13px 20px;
}

@media (max-width: 1120px) {
  .consultation-page main {
    width: min(760px, calc(100% - 34px));
  }

  .consult-hero,
  .consult-info-grid,
  .support-grid,
  .waitlist-strip,
  .consult-bottom-cta {
    grid-template-columns: 1fr;
  }

  .consult-hero {
    width: calc(100% + 34px);
    margin-left: -17px;
    padding: 48px 34px;
  }

  .consult-hero-copy {
    padding-left: 0;
  }

  .consult-lotus-bg {
    opacity: 0.18;
  }

  .process-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .step-arrow {
    transform: rotate(90deg);
  }

  .waitlist-strip,
  .consult-bottom-cta {
    justify-items: stretch;
  }
}

@media (max-width: 680px) {
  .consultation-page main {
    width: min(100% - 28px, 760px);
  }

  .consult-hero h1 {
    font-size: 48px;
  }

  .consult-hero-actions,
  .button-captions,
  .resource-buttons,
  .insurance-logos {
    grid-template-columns: 1fr;
  }

  .consult-hero-actions {
    display: grid;
  }

  .button-captions {
    display: none;
  }

  .support-card {
    grid-template-columns: 1fr;
  }

  .consult-bottom-cta,
  .waitlist-strip,
  .info-card,
  .support-card {
    padding: 24px;
  }
}

/* Services page */
.services-page {
  background: linear-gradient(180deg, #fbfdff 0%, #ffffff 45%, #fffdf8 100%);
}

.services-page main {
  width: min(1160px, calc(100% - 58px));
  margin: 0 auto;
}

.services-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(420px, 0.8fr) minmax(520px, 1.05fr);
  gap: 42px;
  align-items: center;
  min-height: 520px;
  overflow: hidden;
  padding: 42px 0 34px;
}

.services-hero-copy {
  position: relative;
  z-index: 1;
  padding-left: 38px;
}

.services-hero h1 {
  max-width: 530px;
  margin-top: 26px;
  font-size: clamp(58px, 6vw, 76px);
  line-height: 1.02;
}

.services-hero p:not(.eyebrow) {
  max-width: 520px;
  margin: 30px 0 0;
  color: var(--deep);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.75;
}

.services-lotus-img {
  width: 100%;
  max-width: 610px;
  justify-self: end;
  mix-blend-mode: multiply;
}

.wide-lotus-divider {
  display: flex;
  align-items: center;
  gap: 18px;
  width: 410px;
  margin-top: 44px;
}

.wide-lotus-divider::before,
.wide-lotus-divider::after {
  height: 1px;
  flex: 1;
  background: #9abdf2;
  content: "";
}

.wide-lotus-divider span {
  width: 42px;
  height: 34px;
  background: var(--lotus-outline) center / contain no-repeat;
}

.expect-section {
  margin-top: 6px;
}

.expect-section .page-section-title {
  margin-top: 0;
}

.expect-section .page-section-title h2 {
  font-size: 35px;
}

.expect-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 22px;
}

.expect-card {
  min-height: 360px;
  padding: 28px 28px 30px;
  border: 1px solid #d4e2f7;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.9);
  text-align: center;
  box-shadow: 0 12px 32px rgba(0, 43, 116, 0.06);
}

.service-icon {
  display: grid;
  width: 86px;
  height: 86px;
  place-items: center;
  margin: 0 auto 22px;
  border-radius: 50%;
  color: var(--navy);
  background: #e8f1ff;
}

.service-icon::before {
  width: 46px;
  height: 46px;
  background: currentColor;
  content: "";
  mask: var(--icon) center / contain no-repeat;
  -webkit-mask: var(--icon) center / contain no-repeat;
}

.sprout-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 54V16'/%3E%3Cpath d='M31 31C19 30 12 22 12 10c13 1 20 9 19 21Z'/%3E%3Cpath d='M33 39c13-1 21-10 21-24-14 1-22 10-21 24Z'/%3E%3Cpath d='M18 54h28'/%3E%3C/g%3E%3C/svg%3E");
}

.self-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='30' cy='20' r='10'/%3E%3Cpath d='M14 54c2-13 8-20 16-20 5 0 9 2 12 7'/%3E%3Cpath d='M49 52s-10-6-10-13c0-4 5-7 10-1 5-6 10-3 10 1 0 7-10 13-10 13Z'/%3E%3C/g%3E%3C/svg%3E");
}

.horizon-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M10 45h44'/%3E%3Cpath d='M19 45a13 13 0 0 1 26 0'/%3E%3Cpath d='M32 9v8M15 17l6 6M49 17l-6 6M8 34h8M48 34h8'/%3E%3C/g%3E%3C/svg%3E");
}

.hands-heart-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 31s-10-6-10-14c0-5 6-8 10-2 4-6 10-3 10 2 0 8-10 14-10 14Z'/%3E%3Cpath d='M12 36c8 2 14 6 20 14'/%3E%3Cpath d='M52 36c-8 2-14 6-20 14'/%3E%3Cpath d='M8 43c7 2 13 5 19 13'/%3E%3Cpath d='M56 43c-7 2-13 5-19 13'/%3E%3C/g%3E%3C/svg%3E");
}

.brain-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M29 10c-9 0-14 6-14 13-6 2-9 7-9 13 0 9 7 16 16 16h7V10Z'/%3E%3Cpath d='M35 10c9 0 14 6 14 13 6 2 9 7 9 13 0 9-7 16-16 16h-7V10Z'/%3E%3Cpath d='M18 24c4 0 7 2 9 5M17 40c5 0 9-2 12-6M46 24c-4 0-7 2-9 5M47 40c-5 0-9-2-12-6'/%3E%3C/g%3E%3C/svg%3E");
}

.feather-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M54 10C30 12 16 26 13 52c25-4 39-18 41-42Z'/%3E%3Cpath d='M13 52 48 17'/%3E%3Cpath d='M24 41h-9M34 31h-9M43 22h-8'/%3E%3C/g%3E%3C/svg%3E");
}

.target-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='30' cy='34' r='22'/%3E%3Ccircle cx='30' cy='34' r='12'/%3E%3Ccircle cx='30' cy='34' r='3'/%3E%3Cpath d='M40 24 55 9M45 9h10v10'/%3E%3C/g%3E%3C/svg%3E");
}

.group-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='32' cy='22' r='8'/%3E%3Cpath d='M18 52c2-10 8-16 14-16s12 6 14 16'/%3E%3Ccircle cx='17' cy='28' r='6'/%3E%3Cpath d='M6 52c1.5-8 6-13 13-14'/%3E%3Ccircle cx='47' cy='28' r='6'/%3E%3Cpath d='M58 52c-1.5-8-6-13-13-14'/%3E%3C/g%3E%3C/svg%3E");
}

.expect-card h3 {
  color: var(--deep);
  font-size: 23px;
  font-weight: 700;
  line-height: 1.2;
}

.expect-card p {
  color: #071a43;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.8;
}

.card-rule {
  display: block;
  width: 45px;
  height: 1px;
  margin: 20px auto;
  background: #2f75df;
}

.approach-modality-grid {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  gap: 24px;
  margin-top: 34px;
}

.approach-panel,
.modalities-panel,
.ready-started {
  border: 1px solid #d4e2f7;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 12px 32px rgba(0, 43, 116, 0.06);
}

.approach-panel {
  padding: 34px 32px;
  background: linear-gradient(135deg, #eef6ff, #ffffff);
}

.service-bottom-cta {
  grid-template-columns: 120px 1fr 320px;
  min-height: 132px;
  margin: 34px 0 36px;
  padding: 24px 34px;
  border-radius: 10px;
  color: white;
  background: linear-gradient(135deg, #00317e, #001f61);
  box-shadow: none;
}

.service-bottom-cta h2,
.service-bottom-cta p {
  color: white;
}

.service-bottom-cta .ready-actions {
  justify-items: stretch;
}

.modalities-panel {
  padding: 34px 36px;
  background: linear-gradient(135deg, #ffffff, #f7fbff);
}

.approach-panel h2,
.modalities-panel h2,
.ready-started h2 {
  color: var(--deep);
  font-size: 27px;
  font-weight: 700;
}

.panel-rule {
  display: block;
  width: 42px;
  height: 2px;
  margin: 15px 0 22px;
  background: #2f75df;
}

.approach-panel p {
  color: #071a43;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.85;
}

.approach-panel ul {
  display: grid;
  gap: 13px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

.approach-panel li {
  position: relative;
  padding-left: 32px;
  color: #071a43;
  font-size: 14px;
  font-weight: 700;
}

.approach-panel li::before {
  position: absolute;
  top: 1px;
  left: 0;
  width: 17px;
  height: 17px;
  border: 1.8px solid var(--navy);
  border-radius: 50%;
  content: "";
}

.approach-panel li::after {
  position: absolute;
  top: 6px;
  left: 4px;
  width: 8px;
  height: 4px;
  border-left: 1.7px solid var(--navy);
  border-bottom: 1.7px solid var(--navy);
  content: "";
  transform: rotate(-45deg);
}

.modality-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 30px;
}

.modality-grid article {
  min-height: 250px;
  padding: 0 24px;
  border-right: 1px solid #bfd4f5;
  text-align: center;
}

.modality-grid article:last-child {
  border-right: 0;
}

.modality-grid .service-icon {
  width: 70px;
  height: 70px;
  margin-bottom: 20px;
  background: transparent;
}

.modality-grid .service-icon::before {
  width: 48px;
  height: 48px;
}

.modality-grid h3 {
  color: var(--deep);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.2;
}

.modality-grid p {
  color: #071a43;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.75;
}

.ready-started {
  position: relative;
  display: grid;
  grid-template-columns: 190px 1fr 300px;
  gap: 28px;
  align-items: center;
  min-height: 170px;
  margin-top: 34px;
  overflow: hidden;
  padding: 34px 48px;
  background: linear-gradient(135deg, #eef6ff, #ffffff);
}

.service-leaves {
  width: 130px;
  height: 150px;
  background: var(--leaf-sprig) center / contain no-repeat;
  opacity: 0.66;
}

.ready-started p,
.services-note {
  color: #071a43;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.8;
}

.ready-actions {
  display: grid;
  gap: 18px;
}

.ready-actions .learn-link {
  display: inline-flex;
  justify-content: center;
  gap: 6px;
}

.footer-divider {
  width: 200px;
  margin: 30px auto 8px;
}

.services-note {
  margin: 0 0 30px;
  text-align: center;
}

@media (max-width: 1120px) {
  .services-page main {
    width: min(760px, calc(100% - 34px));
  }

  .services-hero,
  .approach-modality-grid,
  .ready-started {
    grid-template-columns: 1fr;
  }

  .services-hero-copy {
    padding-left: 0;
  }

  .services-lotus-img {
    justify-self: center;
  }

  .expect-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .modality-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 0;
  }

  .modality-grid article:nth-child(2) {
    border-right: 0;
  }
}

@media (max-width: 680px) {
  .services-page main {
    width: min(100% - 28px, 760px);
  }

  .services-hero {
    min-height: 0;
    padding-top: 34px;
  }

  .services-hero h1 {
    font-size: 48px;
  }

  .wide-lotus-divider {
    width: 100%;
  }

  .expect-grid,
  .modality-grid {
    grid-template-columns: 1fr;
  }

  .modality-grid article,
  .modality-grid article:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid #bfd4f5;
    padding: 24px 0;
  }

  .modality-grid article:last-child {
    border-bottom: 0;
  }

  .approach-panel,
  .modalities-panel,
  .ready-started {
    padding: 24px;
  }
}

/* Resources page */
.resources-page {
  background: linear-gradient(180deg, #fbfdff 0%, #ffffff 48%, #fffdf8 100%);
}

.resources-page main {
  width: min(1160px, calc(100% - 58px));
  margin: 0 auto;
}

.resources-page .site-header {
  grid-template-columns: 300px 1fr auto;
}

.resources-page .about-nav {
  gap: clamp(22px, 3vw, 42px);
  font-size: 15px;
}

.resources-page .consult-bottom-cta {
  grid-template-columns: 120px 1fr 310px;
  margin-top: 12px;
}

.checkin-page .consult-bottom-cta {
  grid-template-columns: 120px 1fr 310px;
}

.resources-hero {
  position: relative;
  min-height: 386px;
  width: calc(100% + 58px);
  margin-left: -29px;
  overflow: hidden;
  padding: 52px max(29px, calc((100vw - 1160px) / 2 + 29px)) 86px;
  background:
    linear-gradient(90deg, rgba(247, 252, 255, 1) 0%, rgba(241, 248, 255, 0.94) 43%, rgba(225, 239, 255, 0.44) 100%),
    url("assets/resources-hero-lotus.png") right 0 top 10px / min(650px, 58vw) auto no-repeat,
    #edf6ff;
}

.resources-hero-copy {
  position: relative;
  z-index: 1;
  max-width: 450px;
  padding-left: 28px;
}

.resources-hero h1 {
  max-width: 510px;
  margin-top: 18px;
  font-size: clamp(48px, 5vw, 58px);
  font-weight: 700;
  line-height: 1.08;
}

.resources-hero p:not(.eyebrow) {
  max-width: 430px;
  margin: 24px 0 0;
  color: var(--deep);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.72;
}

.resources-hero .wide-lotus-divider {
  margin-top: 28px;
}

.resources-lotus-img {
  display: none;
}

.immediate-support {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr;
  gap: 0;
  align-items: center;
  min-height: 160px;
  margin-top: -34px;
  padding: 28px 22px;
  border: 1px solid #d4e2f7;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 14px 34px rgba(0, 43, 116, 0.09);
}

.immediate-support article {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 18px;
  align-items: center;
  padding: 0 22px;
  border-right: 1px solid #d4e2f7;
}

.immediate-support article:last-child {
  border-right: 0;
}

.immediate-support h2,
.immediate-support h3 {
  color: var(--deep);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1;
}

.immediate-support h3 {
  color: var(--deep);
  font-size: 22px;
}

.immediate-support p {
  margin: 12px 0 0;
  color: #071a43;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
}

.resource-icon {
  display: grid;
  width: 70px;
  height: 70px;
  place-items: center;
  border-radius: 50%;
  color: var(--navy);
  background: #e9f1ff;
}

.immediate-support article:first-child h2,
.immediate-support article:first-child .resource-icon,
.immediate-support article:last-child h3,
.immediate-support article:last-child .resource-icon {
  color: #d93636;
}

.immediate-support article:first-child .resource-icon,
.immediate-support article:last-child .resource-icon {
  background: #ffe8e8;
}

.resource-icon::before {
  width: 42px;
  height: 42px;
  background: currentColor;
  content: "";
  mask: var(--icon) center / contain no-repeat;
  -webkit-mask: var(--icon) center / contain no-repeat;
}

.hands-red {
  --icon: var(--icon-hands-heart);
}

.phone-red {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10 15 17c-2 2-2 6-1 9 5 14 16 25 30 30 3 1 7 1 9-1l7-7-11-10-7 6c-7-3-14-10-17-17l6-7L22 10Z'/%3E%3C/g%3E%3C/svg%3E");
}

.alert-red {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 8 59 55H5L32 8Z'/%3E%3Cpath d='M32 24v14M32 47h.1'/%3E%3C/g%3E%3C/svg%3E");
}

.resource-section {
  margin-top: 34px;
}

.tools-intro {
  max-width: 620px;
  margin: 14px auto 0;
  color: #071a43;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
}

.directory-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin-top: 22px;
}

.directory-card {
  min-height: 330px;
  padding: 28px 28px 30px;
  border: 1px solid #d4e2f7;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.92);
  text-align: center;
  box-shadow: 0 12px 32px rgba(0, 43, 116, 0.06);
}

.directory-card .service-icon {
  width: 74px;
  height: 74px;
  margin-bottom: 24px;
}

.directory-card h3 {
  color: var(--deep);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.12;
}

.directory-card h3::after {
  display: block;
  width: 40px;
  height: 1px;
  margin: 16px auto 0;
  background: #2f75df;
  content: "";
}

.directory-card p {
  min-height: 86px;
  margin: 22px 0 16px;
  color: #071a43;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.75;
}

.directory-card a,
.tool-card a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--navy);
  font-size: 14px;
  font-weight: 800;
}

.monitor-icon {
  --icon: var(--icon-monitor);
}

.wreath-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 49c-10-9-10-24 0-34M45 49c10-9 10-24 0-34'/%3E%3Cpath d='M20 18c-7 0-9-5-9-10 7 0 10 4 9 10ZM18 31c-7 0-10-5-10-10 8 0 11 5 10 10ZM22 44c-7 1-11-3-12-8 8-1 12 3 12 8ZM44 18c7 0 9-5 9-10-7 0-10 4-9 10ZM46 31c7 0 10-5 10-10-8 0-11 5-10 10ZM42 44c7 1 11-3 12-8-8-1-12 3-12 8Z'/%3E%3Ccircle cx='32' cy='32' r='5'/%3E%3C/g%3E%3C/svg%3E");
}

.hand-heart-icon {
  --icon: var(--icon-hands-heart);
}

.tools-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 22px;
}

.tool-card {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 20px;
  min-height: 205px;
  padding: 30px;
  border: 1px solid #d4e2f7;
  border-radius: 10px;
}

.green-tool {
  background: linear-gradient(135deg, #eef8f0, #ffffff);
}

.purple-tool {
  background: linear-gradient(135deg, #f4f0ff, #ffffff);
}

.blue-tool {
  background: linear-gradient(135deg, #eff7ff, #ffffff);
}

.tool-icon {
  display: inline-block;
  width: 62px;
  height: 78px;
  color: var(--deep);
  background: currentColor;
  mask: var(--icon) center / contain no-repeat;
  -webkit-mask: var(--icon) center / contain no-repeat;
}

.notebook-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 8h30v48H20z'/%3E%3Cpath d='M14 14h8M14 24h8M14 34h8M14 44h8'/%3E%3Cpath d='M31 20h12M31 30h12M31 40h8'/%3E%3C/g%3E%3C/svg%3E");
}

.lotus-tool-icon {
  width: 74px;
  height: 74px;
  background: var(--lotus-outline) center / contain no-repeat;
  mask: none;
  -webkit-mask: none;
}

.tool-card h3 {
  color: var(--deep);
  font-size: 21px;
  font-weight: 700;
}

.tool-card p {
  margin: 12px 0 18px;
  color: #071a43;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.75;
}

.expand-tools {
  display: grid;
  gap: 18px;
  width: min(940px, 100%);
  margin: 28px auto 0;
}

.expand-card {
  overflow: hidden;
  border: 1px solid #d4e2f7;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 12px 32px rgba(0, 43, 116, 0.06);
}

.expand-toggle {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 0;
  padding: 22px 28px;
  color: var(--deep);
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.expand-toggle:hover {
  background: rgba(238, 246, 255, 0.68);
}

.expand-toggle > span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  font-family: var(--serif);
  font-size: 26px;
  font-weight: 700;
  line-height: 1.1;
}

.expand-toggle .service-icon {
  width: 58px;
  height: 58px;
  margin: 0;
  flex: 0 0 auto;
}

.expand-toggle .service-icon::before {
  width: 34px;
  height: 34px;
}

.chevron {
  position: relative;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
}

.chevron::before {
  position: absolute;
  top: 7px;
  left: 5px;
  width: 12px;
  height: 12px;
  border-right: 2px solid var(--navy);
  border-bottom: 2px solid var(--navy);
  content: "";
  transform: rotate(45deg);
  transition: transform 180ms ease;
}

.expand-card.open .chevron::before {
  top: 10px;
  transform: rotate(225deg);
}

.expand-content {
  display: none;
  border-top: 1px solid #d4e2f7;
  padding: 26px 28px 30px;
}

.expand-card.open .expand-content {
  display: block;
}

.tool-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.tool-detail-grid article,
.app-grid a {
  border: 1px solid #dbe8fb;
  border-radius: 12px;
  background: #eef6ff;
  padding: 22px;
}

.tool-detail-grid h3,
.support-apps h3 {
  color: var(--deep);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.15;
}

.tool-detail-grid p,
.prompt-note,
.support-apps p,
.app-grid span {
  color: #071a43;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.75;
}

.tool-detail-grid a,
.app-grid em {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  color: var(--navy);
  font-style: normal;
  font-weight: 800;
}

.prompt-note {
  margin: 0 0 16px;
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.support-apps {
  margin-top: 22px;
  border: 1px solid #d4e2f7;
  border-radius: 14px;
  background: white;
  padding: 24px;
}

.support-apps p {
  margin: 8px 0 0;
  opacity: 0.82;
}

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

.app-grid a {
  display: grid;
  gap: 12px;
  color: #071a43;
  text-decoration: none;
}

.app-card-header {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 12px;
  align-items: center;
}

.app-logo {
  position: relative;
  display: inline-block;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  box-shadow: 0 8px 18px rgba(0, 43, 116, 0.12);
}

.mindshift-logo {
  background: linear-gradient(135deg, #68d7ff, #2c62dd);
  border: 2px solid #74d4ee;
}

.headspace-logo {
  border-radius: 50%;
  background: #f47f2c;
}

.sanvello-logo {
  border-radius: 50%;
  background: linear-gradient(135deg, #22d09a, #18bf88);
  border: 2px solid #8cebd1;
}

.app-grid strong {
  color: var(--deep);
  font-family: var(--serif);
  font-size: 21px;
}

.resource-soft-cta {
  position: relative;
  display: grid;
  grid-template-columns: 150px 1fr 420px;
  gap: 28px;
  align-items: center;
  min-height: 118px;
  margin-top: 26px;
  overflow: hidden;
  padding: 22px 36px;
  border: 1px solid #d4e2f7;
  border-radius: 10px;
  background: linear-gradient(135deg, #eef6ff, #ffffff);
}

.leaf-art {
  width: 110px;
  height: 110px;
  background: var(--leaf-sprig) center / contain no-repeat;
  opacity: 0.72;
}

.resource-soft-cta h2 {
  color: var(--deep);
  font-size: 26px;
  font-weight: 700;
}

.resource-soft-cta p {
  color: #071a43;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.8;
}

.resource-cta-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.resource-cta-actions .button {
  min-height: 58px;
  border-radius: 8px;
  padding: 12px 18px;
}

.resource-soft-cta .waitlist-button {
  color: var(--deep);
  border-color: var(--deep);
  background: rgba(255, 255, 255, 0.86);
}

.resource-footer-note {
  display: flex;
  justify-content: center;
  gap: 10px;
  align-items: center;
  margin: 18px 0 30px;
  color: var(--deep);
  font-size: 14px;
  font-weight: 700;
}

.resource-footer-note .heart-icon {
  width: 18px;
  height: 18px;
  color: #4b7bdc;
}

/* FAQ page */
.faq-page {
  background: linear-gradient(180deg, #fbfdff 0%, #ffffff 52%, #fffdf8 100%);
}

.faq-page main {
  width: min(1160px, calc(100% - 58px));
  margin: 0 auto;
  position: relative;
}

.faq-page .site-header {
  grid-template-columns: 300px 1fr auto;
}

.faq-page .about-nav {
  gap: clamp(22px, 3vw, 42px);
}

.faq-hero {
  position: relative;
  min-height: 0;
  width: calc(100% + 58px);
  margin-left: -29px;
  overflow: hidden;
  padding: 28px max(29px, calc((100vw - 1160px) / 2 + 29px)) 20px;
  background: linear-gradient(90deg, #fbfdff 0%, #f4f9ff 100%);
}

.faq-hero-copy {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
  max-width: 980px;
  margin: 0 auto;
}

.faq-hero h1 {
  max-width: none;
  font-size: clamp(38px, 5vw, 58px);
  font-weight: 700;
  line-height: 1.02;
}

.faq-list {
  display: grid;
  gap: 10px;
  width: min(980px, 100%);
  margin: 18px auto 0;
  position: relative;
  z-index: 2;
}

.faq-item {
  overflow: hidden;
  border: 1px solid #d4e2f7;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 12px 30px rgba(0, 43, 116, 0.05);
}

.faq-item.open {
  background: linear-gradient(135deg, #eef6ff, #ffffff);
}

.faq-toggle {
  display: grid;
  grid-template-columns: 34px 1fr 24px;
  gap: 22px;
  width: 100%;
  align-items: center;
  border: 0;
  padding: 16px 24px;
  color: var(--deep);
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.faq-toggle > span:nth-child(2) {
  font-family: var(--serif);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.2;
}

.faq-symbol {
  position: relative;
  width: 28px;
  height: 28px;
  border: 1.5px solid var(--navy);
  border-radius: 50%;
}

.faq-symbol::before,
.faq-symbol::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 1.5px;
  background: var(--navy);
  content: "";
  transform: translate(-50%, -50%);
}

.faq-symbol::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.faq-item.open .faq-symbol::after {
  opacity: 0;
}

.faq-answer {
  display: none;
  padding: 0 74px 20px;
}

.faq-item.open .faq-answer {
  display: block;
}

.faq-answer p {
  margin: 0;
  color: #071a43;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.8;
}

/* Blue Lotus Check-In page */
.checkin-page {
  background: linear-gradient(180deg, #fbfdff 0%, #ffffff 52%, #fffdf8 100%);
}

.checkin-page main {
  width: min(1160px, calc(100% - 58px));
  margin: 0 auto;
}

.checkin-page .site-header {
  grid-template-columns: 300px 1fr auto;
}

.checkin-page .about-nav {
  gap: clamp(18px, 2.2vw, 34px);
  font-size: 14px;
}

.checkin-hero {
  position: relative;
  min-height: 390px;
  width: calc(100% + 58px);
  margin-left: -29px;
  overflow: hidden;
  padding: 58px max(29px, calc((100vw - 1160px) / 2 + 29px)) 70px;
  background:
    linear-gradient(90deg, rgba(251, 253, 255, 0.98) 0%, rgba(244, 249, 255, 0.92) 43%, rgba(221, 238, 255, 0.2) 100%),
    url("assets/resources-hero-lotus.png") right 0 top 22px / min(660px, 60vw) auto no-repeat,
    #edf6ff;
}

.checkin-hero-copy {
  position: relative;
  z-index: 1;
  max-width: 455px;
  padding-left: 34px;
}

.checkin-hero h1 {
  font-size: clamp(50px, 5.7vw, 68px);
  font-weight: 700;
  line-height: 1.02;
}

.checkin-hero p:not(.eyebrow) {
  margin: 18px 0 0;
  color: var(--deep);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.75;
}

.mood-picker-panel {
  position: relative;
  z-index: 2;
  margin-top: -34px;
  padding: 28px 30px 24px;
  border: 1px solid #c8daf4;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96);
  text-align: center;
  box-shadow: 0 12px 34px rgba(0, 43, 116, 0.07);
}

.mood-picker-panel h2 {
  color: var(--deep);
  font-size: 28px;
  font-weight: 700;
}

.mood-picker-panel p {
  margin: 4px 0 20px;
  color: var(--deep);
  font-weight: 700;
}

.check-mood-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
}

.check-mood {
  display: grid;
  min-height: 130px;
  place-items: center;
  gap: 8px;
  border: 1px solid #c8daf4;
  border-radius: 12px;
  color: var(--deep);
  background: rgba(255, 255, 255, 0.92);
  cursor: pointer;
}

.check-mood.active,
.check-mood:hover {
  border-color: var(--navy);
  background: #eff5ff;
}

.check-mood .line-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #edf4ff;
}

.check-mood strong {
  font-family: var(--serif);
  font-size: 20px;
}

.hands-check {
  --icon: var(--icon-hands-heart);
}

.check-results-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 24px;
}

.check-card {
  min-height: 330px;
  padding: 32px;
  border: 1px solid #c8daf4;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 12px 30px rgba(0, 43, 116, 0.05);
}

.reflection-card {
  background: linear-gradient(135deg, #f1efff, #ffffff);
}

.try-card {
  background: linear-gradient(135deg, #f4fbf7, #ffffff);
}

.pause-card {
  background: linear-gradient(135deg, #f2f6ff, #ffffff);
}

.check-card h2 {
  display: flex;
  justify-content: center;
  gap: 12px;
  align-items: center;
  color: var(--deep);
  font-size: 27px;
  font-weight: 700;
}

.sparkle-mark,
.small-lotus-icon {
  display: inline-block;
  width: 34px;
  height: 34px;
  color: var(--navy);
}

.sparkle-mark {
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 6l4 12 12 4-12 4-4 12-4-12-12-4 12-4 4-12Z'/%3E%3Cpath d='M46 30l3 8 8 3-8 3-3 8-3-8-8-3 8-3 3-8Z'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 6l4 12 12 4-12 4-4 12-4-12-12-4 12-4 4-12Z'/%3E%3Cpath d='M46 30l3 8 8 3-8 3-3 8-3-8-8-3 8-3 3-8Z'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}

.small-lotus-icon,
.card-lotus {
  background: var(--lotus-outline) center / contain no-repeat;
}

.check-card h3 {
  margin-top: 46px;
  color: var(--deep);
  font-size: 30px;
  font-weight: 700;
}

.short-rule {
  display: block;
  width: 42px;
  height: 1px;
  margin: 10px auto 20px;
  background: var(--navy);
}

.check-card p {
  color: #071a43;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.8;
}

.card-lotus {
  display: block;
  width: 100px;
  height: 72px;
  margin: 28px auto 0;
  opacity: 0.72;
}

.try-card .line-icon {
  width: 34px;
  height: 34px;
}

.try-card > p {
  min-height: 160px;
  margin-top: 28px;
  white-space: pre-line;
}

.save-skill-action {
  min-width: 255px;
  gap: 10px;
  border-radius: 8px;
}

.grounding-controls {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  gap: 12px;
  align-items: center;
  margin: 34px 0 24px;
}

.grounding-controls p {
  display: grid;
  width: 170px;
  height: 170px;
  place-items: center;
  margin: 0 auto;
  border-radius: 50%;
  background: #dce7ff;
  color: var(--deep);
  font-family: var(--serif);
  font-size: 24px;
  line-height: 1.2;
}

.grounding-prev,
.grounding-next {
  width: 40px;
  height: 48px;
  border: 0;
  color: var(--deep);
  background: transparent;
  cursor: pointer;
}

.grounding-prev::before,
.grounding-next::before {
  display: block;
  width: 18px;
  height: 18px;
  margin: auto;
  border-top: 4px solid currentColor;
  border-left: 4px solid currentColor;
  content: "";
}

.grounding-prev::before {
  transform: rotate(-45deg);
}

.grounding-next::before {
  transform: rotate(135deg);
}

.new-grounding-action {
  min-width: 245px;
  border-radius: 8px;
}

.refresh-mini,
.trash-mini {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: currentColor;
  mask: var(--mini-icon) center / contain no-repeat;
  -webkit-mask: var(--mini-icon) center / contain no-repeat;
}

.refresh-mini {
  --mini-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M26 16a10 10 0 0 1-18 6'/%3E%3Cpath d='M6 22v6h6'/%3E%3Cpath d='M6 16a10 10 0 0 1 18-6'/%3E%3Cpath d='M26 10V4h-6'/%3E%3C/g%3E%3C/svg%3E");
}

.trash-mini {
  --mini-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h22M12 8V5h8v3M10 12v14h12V12M14 14v9M18 14v9'/%3E%3C/g%3E%3C/svg%3E");
}

.saved-skills-panel {
  display: grid;
  grid-template-columns: 1fr 390px;
  gap: 30px;
  align-items: stretch;
  margin-top: 18px;
  overflow: hidden;
  padding: 26px 32px;
  border: 1px solid #c8daf4;
  border-radius: 12px;
  background: linear-gradient(135deg, #ffffff, #f7fbff);
}

.saved-skills-copy h2 {
  display: flex;
  gap: 12px;
  align-items: center;
  color: var(--deep);
  font-size: 28px;
  font-weight: 700;
}

.saved-skills-copy p {
  margin: 4px 0 18px;
  color: #071a43;
  font-size: 16px;
  font-weight: 700;
}

.saved-skill-list {
  display: grid;
  gap: 12px;
  max-width: 560px;
}

.saved-skill-item {
  display: grid;
  grid-template-columns: 24px 1fr 28px;
  gap: 12px;
  align-items: center;
  min-height: 46px;
  padding: 9px 12px;
  border: 1px solid #d4e2f7;
  border-radius: 8px;
  color: var(--deep);
  background: white;
  font-size: 14px;
  font-weight: 700;
}

.saved-skill-item button {
  display: grid;
  border: 0;
  color: var(--navy);
  background: transparent;
  cursor: pointer;
}

.saved-skill-placeholder {
  color: var(--deep);
  font-weight: 700;
}

.clear-skills-action {
  min-height: 42px;
  margin-top: 18px;
  border-radius: 8px;
  gap: 8px;
}

.still-life {
  position: relative;
  min-height: 230px;
}

.arch {
  position: absolute;
  right: 116px;
  bottom: 0;
  width: 150px;
  height: 220px;
  border-radius: 82px 82px 0 0;
  background: linear-gradient(180deg, #d9e6ff, #f4f8ff);
  box-shadow: inset 0 0 0 9px rgba(190, 211, 247, 0.7);
}

.vase {
  position: absolute;
  right: 82px;
  bottom: 0;
  width: 80px;
  height: 98px;
  border-radius: 34px 34px 18px 18px;
  background: linear-gradient(135deg, #0f3d7e, #06285e);
}

.vase::before {
  position: absolute;
  top: -18px;
  left: 28px;
  width: 24px;
  height: 28px;
  border-radius: 12px 12px 4px 4px;
  background: #0f3d7e;
  content: "";
}

.stem {
  position: absolute;
  right: 122px;
  bottom: 86px;
  width: 80px;
  height: 150px;
  border-left: 3px solid #2d6f54;
  border-radius: 50%;
}

.stem-b {
  right: 46px;
  bottom: 72px;
  height: 126px;
  transform: rotate(38deg);
}

.stem::before,
.stem::after {
  position: absolute;
  width: 26px;
  height: 14px;
  border-radius: 26px 0;
  background: #4e8a68;
  content: "";
}

.stem::before {
  top: 42px;
  left: -23px;
  transform: rotate(36deg);
}

.stem::after {
  top: 74px;
  left: 5px;
  transform: rotate(-28deg);
}

.candle {
  position: absolute;
  right: 206px;
  bottom: 0;
  width: 42px;
  height: 42px;
  border-radius: 4px 4px 12px 12px;
  background: #eef3ff;
}

.candle::before {
  position: absolute;
  top: -20px;
  left: 15px;
  width: 12px;
  height: 18px;
  border-radius: 50% 50% 50% 0;
  background: #ffd978;
  content: "";
  transform: rotate(-45deg);
}

.small-lotus {
  position: absolute;
  right: 258px;
  bottom: 0;
  width: 62px;
  height: 46px;
  background: var(--lotus-outline) center / contain no-repeat;
  filter: brightness(0) invert(1) sepia(1) saturate(0.2);
}

.check-crisis-note {
  display: grid;
  grid-template-columns: 70px 1fr 210px 210px;
  gap: 24px;
  align-items: center;
  margin-top: 18px;
  padding: 24px 30px;
  border: 1px solid #d4e2f7;
  border-radius: 12px;
  background: linear-gradient(135deg, #fffdf8, #ffffff);
}

.shield-note {
  --icon: var(--icon-shield-note);
  color: var(--deep);
}

:root {
  --icon-shield-note: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 7 51 15v15c0 15-8 24-19 29-11-5-19-14-19-29V15l19-8Z'/%3E%3Cpath d='m22 31 7 7 14-15'/%3E%3C/g%3E%3C/svg%3E");
}

.check-crisis-note p {
  color: #071a43;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.65;
}

.check-crisis-note div {
  display: grid;
  justify-items: center;
  gap: 4px;
  border-left: 1px solid #c8daf4;
  color: var(--deep);
}

.check-crisis-note div strong {
  font-family: var(--serif);
  font-size: 28px;
}

.check-crisis-note div span {
  font-size: 13px;
  font-weight: 700;
}

@media (max-width: 1120px) {
  .resources-page main {
    width: min(760px, calc(100% - 34px));
  }

  .immediate-support,
  .resource-soft-cta {
    grid-template-columns: 1fr;
  }

  .resources-hero {
    width: calc(100% + 34px);
    min-height: 390px;
    margin-left: -17px;
    padding: 46px 24px 82px;
    background:
      linear-gradient(90deg, rgba(247, 252, 255, 0.99) 0%, rgba(239, 247, 255, 0.92) 55%, rgba(220, 236, 255, 0.35) 100%),
      url("assets/resources-hero-lotus.png") right -100px top 24px / 520px auto no-repeat,
      #edf6ff;
  }

  .resources-hero-copy {
    padding-left: 0;
  }

  .resources-lotus-img {
    justify-self: center;
  }

  .immediate-support article {
    border-right: 0;
    border-bottom: 1px solid #d4e2f7;
    padding: 22px;
  }

  .immediate-support article:last-child {
    border-bottom: 0;
  }

  .directory-grid,
  .tools-grid,
  .tool-detail-grid,
  .app-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .resource-soft-cta {
    justify-items: stretch;
  }

  .faq-page main {
    width: min(760px, calc(100% - 34px));
  }

  .faq-hero {
    width: calc(100% + 34px);
    min-height: 0;
    margin-left: -17px;
    padding: 30px 24px 26px;
    background: linear-gradient(90deg, #fbfdff 0%, #f4f9ff 100%);
  }

  .faq-hero-copy {
    gap: 12px;
  }

  .checkin-page main {
    width: min(760px, calc(100% - 34px));
  }

  .checkin-hero {
    width: calc(100% + 34px);
    min-height: 330px;
    margin-left: -17px;
    padding: 44px 24px 70px;
    background:
      linear-gradient(90deg, rgba(251, 253, 255, 0.98) 0%, rgba(244, 249, 255, 0.92) 56%, rgba(221, 238, 255, 0.35) 100%),
      url("assets/resources-hero-lotus.png") right -120px top 40px / 520px auto no-repeat,
      #edf6ff;
  }

  .checkin-hero-copy {
    padding-left: 0;
  }

  .check-mood-grid,
  .check-results-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .pause-card {
    grid-column: 1 / -1;
  }

  .saved-skills-panel,
  .check-crisis-note {
    grid-template-columns: 1fr;
  }

  .still-life {
    min-height: 230px;
  }

  .check-crisis-note div {
    border-left: 0;
    border-top: 1px solid #c8daf4;
    padding-top: 14px;
  }

}

@media (max-width: 680px) {
  .resources-page main {
    width: min(100% - 28px, 760px);
  }

  .resources-hero {
    width: calc(100% + 28px);
    min-height: 360px;
    margin-left: -14px;
    padding: 38px 18px 76px;
    background:
      linear-gradient(180deg, rgba(247, 252, 255, 0.97) 0%, rgba(239, 247, 255, 0.93) 68%, rgba(220, 236, 255, 0.44) 100%),
      url("assets/resources-hero-lotus.png") right -170px top 36px / 460px auto no-repeat,
      #edf6ff;
  }

  .resources-hero h1 {
    font-size: 48px;
  }

  .resources-hero h2 {
    font-size: 18px;
  }

  .resources-hero p:not(.eyebrow) {
    max-width: 310px;
    font-size: 15px;
  }

  .directory-grid,
  .tools-grid,
  .tool-detail-grid,
  .app-grid {
    grid-template-columns: 1fr;
  }

  .tool-card,
  .immediate-support article {
    grid-template-columns: 1fr;
  }

  .resource-soft-cta,
  .directory-card,
  .tool-card {
    padding: 24px;
  }

  .faq-page main {
    width: min(100% - 28px, 760px);
  }

  .faq-hero {
    width: calc(100% + 28px);
    min-height: 0;
    margin-left: -14px;
    padding: 26px 18px 24px;
    background: linear-gradient(180deg, #fbfdff 0%, #f4f9ff 100%);
  }

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

  .checkin-page main {
    width: min(100% - 28px, 760px);
  }

  .checkin-hero {
    width: calc(100% + 28px);
    min-height: 320px;
    margin-left: -14px;
    padding: 34px 18px 66px;
    background:
      linear-gradient(180deg, rgba(251, 253, 255, 0.98) 0%, rgba(244, 249, 255, 0.94) 68%, rgba(221, 238, 255, 0.45) 100%),
      url("assets/resources-hero-lotus.png") right -190px top 70px / 460px auto no-repeat,
      #edf6ff;
  }

  .checkin-hero h1 {
    font-size: 42px;
  }

  .checkin-hero p:not(.eyebrow) {
    max-width: 310px;
    font-size: 15px;
  }

  .check-mood-grid,
  .check-results-grid {
    grid-template-columns: 1fr;
  }

  .check-card,
  .mood-picker-panel,
  .saved-skills-panel,
  .check-crisis-note {
    padding: 22px;
  }

  .check-card {
    min-height: 0;
  }

  .try-card > p {
    min-height: 0;
  }

  .saved-skill-item {
    grid-template-columns: 22px 1fr 26px;
  }

  .still-life {
    display: none;
  }

  .faq-toggle {
    grid-template-columns: 30px 1fr 22px;
    gap: 14px;
    padding: 18px 18px;
  }

  .faq-toggle > span:nth-child(2) {
    font-size: 19px;
  }

  .faq-answer {
    padding: 0 22px 24px 62px;
  }

}

/* Mobile polish: keep the same site, but make the phone experience shorter and easier to tap. */
@media (max-width: 680px) {
  body.nav-open {
    overflow: hidden;
  }

  .site-header {
    position: sticky;
    z-index: 1000;
    grid-template-columns: minmax(0, 1fr) 56px;
    gap: 10px;
    min-height: 76px;
    padding: 8px 14px;
  }

  .brand {
    min-width: 0;
    gap: 8px;
  }

  .brand img {
    width: 58px;
    height: 48px;
  }

  .brand strong {
    font-size: clamp(22px, 7vw, 30px);
    line-height: 0.9;
  }

  .brand small {
    margin-top: 5px;
    font-size: clamp(8px, 2.4vw, 12px);
    letter-spacing: 0.32em;
  }

  .menu-toggle {
    display: grid;
    position: relative;
    z-index: 1002;
    width: 54px;
    height: 54px;
    place-content: center;
    gap: 6px;
    border-radius: 12px;
    background: white;
  }

  .menu-toggle span {
    display: block;
    width: 26px;
    height: 3px;
    border-radius: 999px;
    background: var(--navy);
  }

  .site-nav.open {
    display: grid !important;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 30;
    max-height: calc(100vh - 76px);
    overflow-y: auto;
    padding: 6px 18px 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 34px rgba(0, 43, 116, 0.16);
    pointer-events: auto;
  }

  .site-header.nav-open .site-nav {
    display: grid !important;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 1001;
    max-height: calc(100vh - 76px);
    overflow-y: auto;
    padding: 6px 18px 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 34px rgba(0, 43, 116, 0.16);
  }

  .site-nav.open a {
    padding: 13px 4px;
    font-size: 16px;
  }

  .hero-copy {
    padding: 38px 20px 26px;
  }

  .hero-room,
  .hero-room img,
  .services-lotus-img,
  .about-hero-lotus,
  .outline-lotus,
  .leaf-decoration,
  .checkin-hero .wide-lotus-divider,
  .check-in-preview .leaf-decoration {
    display: none;
  }

  .check-in-preview {
    padding: 22px 16px;
    border-radius: 16px;
  }

  .check-in-preview h2 {
    font-size: 36px;
  }

  .check-subtitle {
    font-size: 16px;
    line-height: 1.5;
  }

  .mood-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .mood-card {
    min-height: 76px;
    padding: 10px 6px;
  }

  .mood-card .line-icon {
    width: 34px;
    height: 34px;
  }

  .reflection-bar {
    gap: 12px;
    margin-top: 14px;
    padding: 16px;
  }

  .lotus-badge {
    width: 74px;
    height: 74px;
  }

  .lotus-badge img {
    width: 62px;
  }

  .reflection-bar h3 {
    font-size: 24px;
  }

  .save-button {
    min-height: 44px;
  }

  .bottom-cta {
    min-height: 0;
    gap: 12px;
    margin-bottom: 18px;
    padding: 18px;
  }

  .quote-mark {
    font-size: 44px;
  }

  .bottom-cta p {
    font-size: 18px;
    line-height: 1.35;
  }

  .bottom-cta small {
    font-size: 13px;
  }

  .about-intro {
    max-width: none;
    font-size: 18px;
    line-height: 1.55;
    text-align: left;
  }

  .support-icons {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    max-width: none;
    margin-top: 22px;
  }

  .support-icons article {
    gap: 8px;
  }

  .about-icon {
    width: 52px;
    height: 52px;
  }

  .support-icons p {
    font-size: 12px;
    line-height: 1.25;
  }

  .approach-panel,
  .modalities-panel,
  .ready-started {
    padding: 22px 18px;
  }

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

  .modality-grid article,
  .modality-grid article:nth-child(2),
  .modality-grid article:last-child {
    min-height: 0;
    padding: 14px 8px;
    border-right: 0;
    border-bottom: 0;
    border-radius: 12px;
    background: #f6faff;
  }

  .modality-grid .service-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 8px;
  }

  .modality-grid .service-icon::before {
    width: 34px;
    height: 34px;
  }

  .modality-grid h3 {
    font-size: 18px;
  }

  .modality-grid p {
    font-size: 12px;
    line-height: 1.45;
  }

  .checkin-hero {
    min-height: 0;
    padding: 24px 18px 26px;
    background:
      linear-gradient(180deg, rgba(251, 253, 255, 0.98) 0%, rgba(244, 249, 255, 0.95) 100%),
      #edf6ff;
  }

  .checkin-hero h1 {
    font-size: 42px;
  }

  .checkin-hero p:not(.eyebrow) {
    max-width: none;
    font-size: 16px;
    line-height: 1.55;
  }

  .mood-picker-panel {
    margin-top: 14px;
    padding: 18px 14px;
  }

  .mood-picker-panel h2 {
    font-size: 30px;
    line-height: 1.12;
  }

  .check-mood-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .check-mood {
    min-height: 86px;
    gap: 4px;
    padding: 10px 6px;
  }

  .check-mood .line-icon {
    width: 40px;
    height: 40px;
  }

  .check-mood strong {
    font-size: 17px;
  }

  .check-results-grid {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 14px;
  }

  .check-card {
    padding: 18px;
  }

  .check-card h2 {
    font-size: 22px;
  }

  .check-card h3 {
    margin-top: 18px;
    font-size: 27px;
  }

  .card-lotus {
    display: none;
  }

  .check-card p,
  .try-card > p {
    margin-top: 14px;
    font-size: 16px;
    line-height: 1.55;
  }

  .save-skill-action,
  .new-grounding-action {
    width: 100%;
    min-width: 0;
    min-height: 48px;
  }

  .grounding-controls {
    margin: 20px 0 16px;
  }

  .grounding-controls p {
    width: 132px;
    height: 132px;
    font-size: 20px;
  }

  .saved-skills-panel {
    margin-top: 12px;
  }

  .check-crisis-note,
  .checkin-page .consult-bottom-cta,
  .resource-footer-note {
    margin-top: 12px;
  }
}
