@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root {
  font-family: 'DM Sans', sans-serif;
  color: #37433d;
  background: #f9f8f3;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  --ink: #35463d;
  --muted: #707a72;
  --sage: #dce7db;
  --dark: #465e4f;
  --cream: #f9f8f3;
  --line: #e4e7de;
  --serif: 'DM Serif Display', Georgia, serif;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 98px;
}
body {
  margin: 0;
  min-width: 320px;
}
button,
a {
  font: inherit;
}
button {
  cursor: pointer;
}
a {
  color: inherit;
  text-decoration: none;
}
button:focus-visible,
a:focus-visible {
  outline: 3px solid #8eab95;
  outline-offset: 4px;
}
p,
h1,
h2,
h3 {
  margin-top: 0;
}
p {
  line-height: 1.75;
}
.page-width {
  width: min(1180px, calc(100% - 72px));
  margin-inline: auto;
}
.skip-link {
  position: absolute;
  left: 15px;
  top: -80px;
  background: white;
  padding: 12px 20px;
  z-index: 20;
}
.skip-link:focus {
  top: 10px;
}
.notice-bar {
  padding: 10px 15px;
  background: #e8eee3;
  color: #546455;
  text-align: center;
  letter-spacing: 0.035em;
  font-size: 11px;
  font-weight: 600;
}
.small-sun {
  margin-right: 9px;
  font-size: 14px;
}
.site-header {
  position: sticky;
  top: 0;
  background: rgba(249, 248, 243, 0.95);
  backdrop-filter: blur(18px);
  z-index: 10;
  border-bottom: 1px solid rgba(210, 217, 206, 0.65);
}
.nav-shell {
  min-height: 82px;
  max-width: 1320px;
  margin: auto;
  padding: 0 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -1.5px;
  white-space: nowrap;
}
.brand em {
  font-family: var(--serif);
  font-weight: 400;
  color: #79977e;
}
.brand-mark {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 30px;
}
.brand-mark span {
  position: absolute;
  width: 11px;
  height: 16px;
  border-radius: 11px 11px 2px 11px;
  background: #a6bca6;
  left: 9px;
  top: 1px;
  transform-origin: 50% 14px;
}
.brand-mark span:nth-child(2) {
  transform: rotate(90deg);
}
.brand-mark span:nth-child(3) {
  transform: rotate(180deg);
}
.brand-mark span:nth-child(4) {
  transform: rotate(270deg);
}
.nav-links {
  display: flex;
  gap: 36px;
  align-items: center;
  color: #526056;
  font-size: 12px;
  font-weight: 600;
}
.nav-links a:not(.nav-pill):hover,
.text-link:hover,
.detail-link:hover,
.crisis-link:hover {
  color: #829a7c;
}
.nav-pill {
  padding: 13px 18px;
  border: 1px solid #ced8cb;
  border-radius: 999px;
}
.nav-pill span {
  padding-left: 14px;
}
.hero {
  background: #f9f8f3;
  overflow: hidden;
}
.hero-inner {
  display: grid;
  grid-template-columns: 1fr 0.92fr;
  align-items: center;
  gap: 7%;
  padding-top: 70px;
  padding-bottom: 45px;
  min-height: 610px;
}
.hero-copy {
  padding-bottom: 12px;
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 10px;
  letter-spacing: 0.19em;
  font-weight: 700;
  color: #80937c;
}
.eyebrow-line {
  height: 1px;
  width: 28px;
  background: #a4b49e;
}
.eyebrow-green {
  color: #8b9b81;
}
.hero h1,
h2 {
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.045em;
  color: var(--ink);
}
.hero h1 {
  font-size: clamp(47px, 5vw, 77px);
  line-height: 1.105;
  margin: 24px 0;
}
.hero h1 em,
h2 em {
  font-weight: 400;
  color: #96a993;
}
.hero-lede {
  max-width: 470px;
  color: #6e7b71;
  font-size: 15px;
  line-height: 1.92;
  margin-bottom: 29px;
}
.hero-actions {
  display: flex;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
}
.button {
  min-height: 50px;
  padding: 15px 23px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  border-radius: 6px;
  border: 1px solid transparent;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.015em;
  transition:
    transform 0.2s,
    background 0.2s;
}
.button:hover {
  transform: translateY(-2px);
}
.button-primary {
  background: #4e6957;
  color: white;
}
.button-primary:hover {
  background: #3b5948;
}
.button span {
  font-size: 17px;
  font-weight: 400;
}
.text-link {
  font-size: 12px;
  font-weight: 700;
  color: #5d715f;
  border-bottom: 1px solid #a3b1a1;
  padding-bottom: 5px;
}
.text-link span {
  margin-left: 9px;
}
.hero-note {
  display: flex;
  align-items: center;
  gap: 11px;
  color: #849085;
  font-size: 11px;
  margin-top: 45px;
  line-height: 1.65;
}
.note-icon {
  font-size: 23px;
  color: #c5b588;
}
.hero-art {
  height: 502px;
  position: relative;
  overflow: hidden;
  background: linear-gradient(150deg, #e6ede4 0%, #e9e9dd 62%, #e5e2d5 100%);
  border-radius: 49% 49% 6px 6px;
  isolation: isolate;
}
.art-grain {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(#7c8b7330 0.6px, transparent 0.8px);
  background-size: 7px 7px;
  opacity: 0.28;
  z-index: 5;
  pointer-events: none;
}
.art-sun {
  position: absolute;
  width: 225px;
  height: 225px;
  border-radius: 50%;
  background: linear-gradient(130deg, #f9e9bb, #f2d9a1);
  top: 92px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 95px #f6e8c9;
}
.art-cloud {
  position: absolute;
  border-radius: 50%;
  filter: blur(15px);
  background: #fff9e5;
  opacity: 0.45;
}
.cloud-one {
  width: 175px;
  height: 45px;
  top: 153px;
  left: 35px;
}
.cloud-two {
  width: 150px;
  height: 40px;
  top: 220px;
  right: 15px;
}
.art-hill {
  position: absolute;
  left: -25%;
  width: 150%;
  height: 340px;
  border-radius: 50% 50% 0 0;
}
.hill-back {
  background: #b7c9b5;
  top: 290px;
  transform: rotate(-13deg);
}
.hill-front {
  background: #869e89;
  top: 345px;
  transform: rotate(12deg);
}
.art-caption {
  position: absolute;
  z-index: 7;
  left: 42px;
  bottom: 42px;
  background: #fbfaf5f0;
  border: 1px solid #ffffffb8;
  padding: 18px 25px;
  display: flex;
  gap: 17px;
  align-items: center;
  border-radius: 4px;
  color: #607261;
  font-family: var(--serif);
  font-size: 25px;
  line-height: 1.05;
  box-shadow: 0 12px 45px #34473413;
}
.caption-star {
  font-family: 'DM Sans';
  color: #b9c4a9;
  font-size: 37px;
}
.art-side-note {
  position: absolute;
  right: 13px;
  top: 48%;
  z-index: 5;
  color: #56715b;
  font-size: 10px;
  letter-spacing: 0.2em;
  writing-mode: vertical-rl;
}
.hero-bottom {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #e4e7de;
  padding: 18px 0 24px;
  color: #95a195;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.18em;
}
.scroll-note span {
  font-size: 16px;
  padding-left: 12px;
}
.section {
  padding: 105px 0;
}
.intro-section {
  background: #fffefa;
}
.section-heading {
  margin-bottom: 42px;
}
.two-col {
  display: grid;
  grid-template-columns: 1.1fr 0.75fr;
  align-items: end;
  gap: 60px;
}
.section h2,
.about-section h2 {
  font-size: clamp(39px, 4.3vw, 60px);
  line-height: 1.17;
  margin: 18px 0 0;
}
.section-heading p {
  max-width: 370px;
  color: #788179;
  font-size: 14px;
  margin-bottom: 6px;
}
.topic-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.topic-card {
  position: relative;
  text-align: left;
  min-height: 183px;
  border: 1px solid #e5e8e0;
  background: #f9f9f5;
  border-radius: 9px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transition:
    background 0.2s,
    transform 0.2s,
    border-color 0.2s;
}
.topic-card:hover,
.topic-card.is-active {
  background: #f0f5ed;
  border-color: #b9cbb7;
  transform: translateY(-2px);
}
.topic-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  font-size: 27px;
  margin-bottom: 17px;
  color: #677866;
}
.icon-peach {
  background: #f5e6d8;
}
.icon-lilac {
  background: #e9e2f0;
}
.icon-yellow {
  background: #f4edcd;
}
.icon-blue {
  background: #e0ebef;
}
.icon-sage {
  background: #e1ecdf;
}
.icon-rose {
  background: #f2e2e4;
}
.topic-name {
  font-family: var(--serif);
  font-size: 24px;
  line-height: 1.15;
  color: #4a594c;
}
.topic-desc {
  font-size: 11px;
  margin-top: 9px;
  color: #828c82;
}
.topic-arrow {
  position: absolute;
  right: 22px;
  top: 22px;
  color: #8da38e;
  font-size: 17px;
}
.topic-detail {
  margin-top: 19px;
  border-radius: 9px;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 60px;
  padding: 43px 50px;
  background: #eaf0e6;
  min-height: 250px;
}
.mini-label {
  font-size: 10px;
  letter-spacing: 0.16em;
  font-weight: 700;
  color: #8b9d88;
}
.topic-detail h3 {
  font-family: var(--serif);
  font-size: 31px;
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 12px 0;
  color: #4c634e;
  font-weight: 400;
}
.topic-detail p {
  font-size: 13px;
  line-height: 1.8;
  color: #68796b;
  margin-bottom: 14px;
}
.detail-right {
  padding-left: 34px;
  border-left: 1px solid #cedbc9;
}
.detail-right p {
  font-family: var(--serif);
  font-size: 23px;
  line-height: 1.35;
  color: #516752;
  margin: 19px 0;
}
.detail-foot {
  font-size: 10px;
  color: #8b9989;
}
.detail-link {
  font-size: 11px;
  font-weight: 700;
  border-bottom: 1px solid #9faf98;
  padding-bottom: 5px;
  color: #516752;
}
.detail-link span {
  padding-left: 8px;
}
.quote-band {
  background: #edf0e7;
  padding: 34px 0;
}
.quote-band .page-width {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
}
.quote-band p {
  font-family: var(--serif);
  font-size: 26px;
  color: #637662;
  margin: 0;
}
.quote-band span:last-child {
  color: #8a9987;
  font-size: 9px;
  letter-spacing: 0.17em;
  font-weight: 700;
}
.asterisk {
  color: #a6bba2;
  font-size: 29px;
}
.pause-section {
  background: #f7f6ef;
}
.pause-grid {
  display: grid;
  grid-template-columns: 1fr 0.92fr;
  gap: 12%;
  align-items: center;
}
.pause-copy h2 {
  max-width: 490px;
}
.pause-copy > p {
  max-width: 450px;
  margin: 24px 0 34px;
  color: #788179;
  font-size: 14px;
}
.pause-points {
  display: grid;
  gap: 20px;
}
.pause-points > div {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #69766a;
  font-size: 12px;
}
.point-dot {
  display: grid;
  place-items: center;
  flex: none;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  border: 1px solid #c8d4c3;
  color: #7c997c;
}
.breath-card {
  min-height: 480px;
  padding: 30px 35px;
  background: #e9eee5;
  border: 1px solid #e1e7dc;
  border-radius: 11px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.breath-top {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.breath-decoration {
  font-size: 28px;
  color: #a2b79e;
}
.breath-orbit {
  width: 222px;
  height: 222px;
  border: 1px solid #cbd9c5;
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: 16px 0 12px;
}
.breath-circle {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: linear-gradient(145deg, #fefcf1, #d7e4d4);
  display: grid;
  place-items: center;
  box-shadow:
    0 0 0 16px #dce7d8a5,
    inset 0 0 30px #d1e2ce;
  transition: transform 4s ease-in-out;
}
.breath-circle.is-inhaling {
  transform: scale(1.19);
}
.breath-circle.is-exhaling {
  transform: scale(0.87);
  transition-duration: 6s;
}
.breath-inner {
  font-family: var(--serif);
  font-size: 21px;
  color: #607761;
  max-width: 135px;
  line-height: 1.2;
}
.breath-help {
  font-size: 11px;
  color: #718271;
  margin-bottom: 16px;
}
.breath-button {
  min-width: 228px;
  min-height: 44px;
  padding: 10px 19px;
}
.breath-alternative {
  margin: 17px 0 0;
  color: #89988a;
  font-size: 10px;
  line-height: 1.55;
  max-width: 245px;
}
.reset-section {
  background: #fffefa;
  border-top: 1px solid #f0f0e8;
}
.reset-layout {
  display: grid;
  grid-template-columns: 0.72fr 1.2fr;
  gap: 12%;
  align-items: start;
}
.reset-layout > div > p {
  max-width: 300px;
  color: #7a857b;
  font-size: 14px;
  margin: 23px 0 0;
}
.reset-tool {
  padding: 31px 34px;
  background: #f6f6f0;
  border: 1px solid #eaece4;
  border-radius: 10px;
}
.choice-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0 24px;
}
.choice-chip {
  background: #fffefa;
  border: 1px solid #dce3d7;
  border-radius: 100px;
  padding: 11px 16px;
  color: #677969;
  font-size: 11px;
}
.choice-chip:hover,
.choice-chip.is-selected {
  background: #dce8d9;
  border-color: #a9c09f;
  color: #3f6045;
}
.reset-response {
  border-top: 1px solid #dce3d9;
  padding: 27px 0 9px;
  display: flex;
  gap: 20px;
}
.reset-flower {
  font-size: 28px;
  color: #adc5a5;
}
.reset-response h3 {
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 400;
  color: #526851;
  margin: 8px 0;
}
.reset-response p {
  color: #728074;
  font-size: 13px;
  margin: 0;
  line-height: 1.75;
}
.privacy-note {
  font-size: 10px !important;
  color: #98a297 !important;
  margin: 20px 0 0 !important;
}
.support-section {
  background: #f7f7f0;
}
.support-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.support-card {
  background: #fffefa;
  border: 1px solid #e9ebdf;
  padding: 29px 28px 27px;
  min-height: 293px;
  display: flex;
  flex-direction: column;
  border-radius: 8px;
}
.support-number {
  font-size: 10px;
  color: #b0b7aa;
  letter-spacing: 0.17em;
}
.support-icon {
  color: #a6b7a1;
  font-size: 30px;
  margin: 15px 0 10px;
}
.support-card h3 {
  font-family: var(--serif);
  font-size: 26px;
  color: #526652;
  font-weight: 400;
  margin: 0 0 12px;
}
.support-card p {
  font-size: 12px;
  color: #7a847b;
  line-height: 1.8;
  margin-bottom: 19px;
}
.support-card a,
.support-bottom {
  font-size: 11px;
  color: #55765c;
  font-weight: 700;
  margin-top: auto;
  align-self: flex-start;
}
.support-card a {
  border-bottom: 1px solid #b9ccb8;
  padding-bottom: 5px;
}
.support-card a span {
  padding-left: 6px;
}
.support-bottom {
  color: #8ca08c;
  font-weight: 500;
}
.crisis-box {
  margin-top: 20px;
  background: #dde8db;
  border-radius: 9px;
  padding: 36px 43px;
  display: flex;
  justify-content: space-between;
  gap: 35px;
  align-items: center;
}
.crisis-copy {
  max-width: 680px;
}
.crisis-copy h3 {
  font-family: var(--serif);
  color: #475e4b;
  font-weight: 400;
  font-size: 30px;
  margin: 12px 0;
}
.crisis-copy p {
  font-size: 12px;
  color: #647665;
  margin: 0;
}
.crisis-actions {
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}
.button-dark {
  background: #4c6452;
  color: white;
}
.crisis-link {
  font-size: 11px;
  color: #526b56;
  font-weight: 700;
  border-bottom: 1px solid #a7bda6;
  padding-bottom: 5px;
}
.about-section {
  background: #e8ede3;
  text-align: center;
  padding: 94px 0;
}
.about-inner {
  max-width: 700px;
}
.about-flower {
  display: block;
  font-size: 35px;
  color: #9fb49d;
  margin-bottom: 19px;
}
.about-section h2 {
  margin: 17px 0 20px;
}
.about-section p {
  color: #708172;
  max-width: 565px;
  margin: 0 auto 32px;
  font-size: 14px;
}
.about-disclaimer {
  display: block;
  border-top: 1px solid #ced9cb;
  padding-top: 21px;
  font-size: 10px;
  line-height: 1.6;
  color: #889787;
}
.site-footer {
  background: #f9f8f3;
}
.footer-main {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  padding: 48px 0;
}
.footer-main p {
  font-size: 12px;
  color: #839084;
  margin: 12px 0;
}
.footer-links {
  display: flex;
  align-items: center;
  gap: 32px;
  font-size: 11px;
  color: #718173;
}
.footer-links a:hover {
  color: #4a6a4c;
}
.footer-bottom {
  border-top: 1px solid #e3e7dc;
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  gap: 15px;
  color: #a0a99c;
  font-size: 10px;
}
@media (max-width: 980px) {
  .nav-shell {
    padding: 0 26px;
  }
  .nav-links {
    gap: 15px;
  }
  .page-width {
    width: min(1180px, calc(100% - 48px));
  }
  .hero-inner {
    gap: 5%;
  }
  .hero h1 {
    font-size: clamp(43px, 5.6vw, 63px);
  }
  .hero-art {
    height: 465px;
  }
  .topic-detail {
    gap: 30px;
  }
  .pause-grid {
    gap: 7%;
  }
  .reset-layout {
    gap: 7%;
  }
  .footer-links {
    gap: 17px;
  }
}
@media (max-width: 720px) {
  html {
    scroll-padding-top: 115px;
  }
  .notice-bar {
    font-size: 9px;
  }
  .site-header {
    position: relative;
  }
  .nav-shell {
    padding: 17px 22px 12px;
    flex-direction: column;
    align-items: stretch;
    gap: 17px;
  }
  .brand {
    font-size: 24px;
  }
  .nav-links {
    gap: 21px;
    overflow-x: auto;
    white-space: nowrap;
    padding-bottom: 6px;
    scrollbar-width: thin;
    font-size: 11px;
  }
  .nav-pill {
    padding: 6px 10px;
  }
  .nav-pill span {
    padding-left: 5px;
  }
  .page-width {
    width: calc(100% - 38px);
  }
  .hero-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 34px;
    padding-top: 54px;
    padding-bottom: 35px;
    min-height: auto;
  }
  .hero h1 {
    font-size: clamp(44px, 10vw, 60px);
    margin: 19px 0;
  }
  .hero-lede {
    font-size: 14px;
  }
  .hero-actions {
    gap: 23px;
  }
  .hero-note {
    margin-top: 27px;
  }
  .hero-art {
    height: 365px;
    max-width: 520px;
    width: 100%;
    align-self: center;
  }
  .art-hill {
    top: 250px;
  }
  .hill-front {
    top: 305px;
  }
  .art-sun {
    top: 57px;
    width: 190px;
    height: 190px;
  }
  .art-caption {
    left: 25px;
    bottom: 25px;
  }
  .hero-bottom {
    padding: 18px 0;
    font-size: 8px;
  }
  .section {
    padding: 70px 0;
  }
  .two-col,
  .pause-grid,
  .reset-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .section-heading {
    margin-bottom: 30px;
  }
  .section h2,
  .about-section h2 {
    font-size: clamp(39px, 8vw, 52px);
  }
  .section-heading p {
    max-width: none;
  }
  .topic-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .topic-card {
    padding: 18px;
    min-height: 165px;
  }
  .topic-name {
    font-size: 21px;
  }
  .topic-desc {
    font-size: 10px;
  }
  .topic-detail {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 29px 25px;
  }
  .detail-right {
    border-left: 0;
    border-top: 1px solid #cbdac8;
    padding: 21px 0 0;
  }
  .detail-right p {
    font-size: 22px;
    margin: 13px 0;
  }
  .quote-band .page-width {
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    gap: 5px;
  }
  .quote-band p {
    font-size: 23px;
    width: calc(100% - 40px);
  }
  .quote-band span:last-child {
    width: 100%;
    margin-top: 9px;
  }
  .pause-grid {
    gap: 35px;
  }
  .pause-copy > p {
    margin: 20px 0 24px;
  }
  .breath-card {
    min-height: 465px;
  }
  .reset-layout {
    gap: 24px;
  }
  .reset-tool {
    padding: 27px 23px;
  }
  .support-grid {
    grid-template-columns: 1fr;
  }
  .support-card {
    min-height: 235px;
  }
  .crisis-box {
    padding: 31px 24px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 22px;
  }
  .crisis-actions {
    align-items: flex-start;
  }
  .about-section {
    padding: 75px 0;
  }
  .footer-main {
    padding: 42px 0;
    flex-direction: column;
  }
  .footer-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 17px;
  }
  .footer-bottom {
    flex-direction: column;
  }
}
@media (max-width: 410px) {
  .topic-grid {
    grid-template-columns: 1fr;
  }
  .topic-card {
    min-height: 118px;
    padding: 17px 20px;
    display: grid;
    grid-template-columns: 43px 1fr;
    column-gap: 15px;
    align-content: center;
  }
  .topic-icon {
    grid-row: span 2;
    margin: 0;
    width: 40px;
    height: 40px;
  }
  .topic-name {
    align-self: end;
  }
  .topic-desc {
    margin-top: 4px;
  }
  .topic-arrow {
    top: 15px;
    right: 13px;
  }
  .art-caption {
    font-size: 21px;
  }
}


.available-library{margin-bottom:85px}
.library-section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #dfe7dc}
.library-section-heading h3{font-family:var(--serif);font-size:clamp(31px,3vw,42px);font-weight:400;color:#4d634f;letter-spacing:-.03em;margin:10px 0 0}
.library-section-heading h3 em{color:#90a98e}
.library-section-heading p{font-size:12px;color:#778678;max-width:345px;margin:0}
.published-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}
.published-book{display:grid;grid-template-columns:157px minmax(0,1fr);gap:24px;padding:22px;border:1px solid #e2e9de;background:#f6f8f2;border-radius:10px;min-height:291px}
.published-cover{position:relative;min-height:242px;padding:18px 14px;overflow:hidden;border-radius:4px;box-shadow:5px 9px 17px #4359441e;display:flex;flex-direction:column;justify-content:space-between}
.published-cover:after{content:'';position:absolute;inset:9px;border:1px solid #ffffff99;pointer-events:none;z-index:1}
.published-cover .real-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.published-cover .real-cover[hidden]{display:none!important}
.pub-sage{background:#d8e6d5;color:#466549}.pub-peach{background:#efe0d7;color:#7a6259}.pub-blue{background:#e1ebee;color:#567680}.pub-lilac{background:#e4dfeb;color:#685b7b}.pub-apricot{background:#eee5d1;color:#776342}
.pub-imprint{font-size:8px;letter-spacing:.13em;font-weight:700;line-height:1.4}.published-cover strong{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.07}.pub-decoration{font-size:31px;align-self:flex-end;opacity:.7}
.published-copy{display:flex;flex-direction:column;align-items:flex-start;padding:9px 0}
.published-copy h4{font-family:var(--serif);font-size:26px;line-height:1.23;color:#526b55;font-weight:400;margin:12px 0}
.published-copy p{font-size:12px;color:#778679;margin:0 0 18px}
.purchase-link{margin-top:auto;padding:10px 17px;min-height:43px;gap:12px}
.published-wide{grid-column:span 2;grid-template-columns:157px minmax(0,1fr);min-height:278px}
.published-wide .published-copy h4{max-width:640px}
.covers-disclaimer{font-size:10px;color:#89968a;margin:16px 0 0}
.library-upcoming{border-top:1px solid #dde5d9;padding-top:39px;margin-bottom:32px}
@media(max-width:900px){.published-grid{grid-template-columns:1fr}.published-wide{grid-column:auto}}
@media(max-width:520px){.library-section-heading{display:block}.library-section-heading p{margin-top:13px}.published-book,.published-wide{grid-template-columns:100px minmax(0,1fr);gap:16px;padding:14px;min-height:235px}.published-cover{min-height:208px;padding:15px 10px}.published-cover strong{font-size:22px}.pub-imprint{font-size:7px}.published-copy h4{font-size:21px;margin:8px 0}.published-copy p{font-size:11px;line-height:1.55;margin-bottom:12px}.published-copy .workbook-tag{font-size:8px}.purchase-link{font-size:10px;padding:8px 10px;gap:6px;min-height:38px}.purchase-link span{font-size:13px}.available-library{margin-bottom:60px}}

/* Dedicated workbooks and owner/author pages */
[hidden]{display:none!important}
.subpage{background:#fffefa}
.subpage-hero{background:#f0f3eb;overflow:hidden}
.subpage-hero-grid{min-height:460px;display:grid;grid-template-columns:1fr .82fr;gap:8%;align-items:center;padding-top:55px;padding-bottom:55px}
.subpage-hero h1{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;color:var(--ink);font-size:clamp(48px,5.2vw,73px);line-height:1.09;margin:23px 0}
.subpage-hero h1 em{color:#95aa93;font-weight:400}
.subpage-hero p{max-width:530px;color:#6e7e70;font-size:15px;line-height:1.9;margin:0 0 30px}
.subpage-kicker{color:#9caa9a;font-size:9px;letter-spacing:.17em;font-weight:700}
.workbook-hero-art{height:360px;border-radius:180px 180px 8px 8px;position:relative;background:radial-gradient(circle at 60% 35%,#f8ebc9 0 75px,transparent 76px),linear-gradient(155deg,#e6ece0,#d7e3d5);overflow:hidden}
.folio{position:absolute;display:block;width:162px;height:234px;border-radius:5px;box-shadow:4px 9px 26px #51665125;border:1px solid #ffffffa8;top:94px}
.folio-one{left:18%;transform:rotate(-16deg);background:#eee4da}
.folio-two{right:17%;transform:rotate(13deg);background:#d9d7e5}
.folio-three{left:50%;transform:translateX(-50%);background:#f8f7ed;display:flex;align-items:center;justify-content:center;flex-direction:column;font-family:var(--serif);font-size:24px;line-height:1.15;color:#6b806a;text-align:center}
.folio-flower{font-size:48px;color:#b3c7a9;margin-bottom:16px;font-family:'DM Sans',sans-serif}
.library-section{background:#fffefa}
.library-intro{max-width:650px;margin-bottom:42px}
.library-intro p{font-size:14px;color:#788779;margin:19px 0 0}
.workbook-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.workbook-card{display:grid;grid-template-columns:.73fr 1fr;gap:24px;align-items:stretch;padding:22px;background:#f8f8f3;border:1px solid #e9eae0;border-radius:10px}
.workbook-cover{min-height:265px;border-radius:4px;padding:16px;display:flex;flex-direction:column;box-shadow:5px 9px 19px #405b4019;position:relative;overflow:hidden}
.workbook-cover-photo{min-width:0;display:flex;justify-content:center;align-items:flex-start}
.workbook-real-cover{display:block;width:100%;max-width:210px;height:auto;object-fit:contain;background:#151217;border-radius:4px;box-shadow:5px 9px 19px #405b401e}
.workbook-cover:after{content:'';position:absolute;border:1px solid #ffffff87;inset:8px;pointer-events:none}
.cover-sage{background:#d8e5d7;color:#49664f}.cover-peach{background:#f1e3d7;color:#866c5c}.cover-lilac{background:#e7e2ed;color:#75647f}.cover-blue{background:#deeaf0;color:#5a7685}
.cover-small{font-size:7px;letter-spacing:.15em;font-weight:700;line-height:1.4}
.workbook-cover strong{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.15;margin-top:36px}
.cover-flower{font-size:36px;margin:auto 0;text-align:center;opacity:.55}.cover-bottom{font-size:8px;letter-spacing:.03em;text-align:center}
.workbook-info{display:flex;flex-direction:column;align-items:flex-start;padding:8px 0}
.workbook-tag{font-size:9px;letter-spacing:.14em;font-weight:700;color:#8da089}
.workbook-info h3{font-family:var(--serif);font-size:27px;line-height:1.18;font-weight:400;color:#4e6450;margin:12px 0}
.workbook-info p{font-size:12px;color:#778479;line-height:1.8;margin:0 0 24px}
.availability{display:inline-block;margin-top:auto;padding:8px 11px;border-radius:99px;background:#e9eee5;color:#607863;font-size:10px;font-weight:600;line-height:1.45}
.library-note{display:flex;align-items:flex-start;gap:19px;border-top:1px solid #e4e9df;margin-top:40px;padding:28px 6px 0}
.library-note>span{font-size:27px;color:#9bb49b}
.library-note h3{font-family:var(--serif);font-weight:400;color:#536a55;font-size:24px;margin:0 0 8px}
.library-note p{font-size:12px;color:#7e8b7d;max-width:730px;margin:0}
.library-note a{border-bottom:1px solid #a1b49e;color:#526d53;font-weight:700}
.about-page-hero{background:#f3f3ec}
.about-page-hero .button{margin-top:2px}
.about-page-art{min-height:362px;position:relative;border-radius:49% 49% 8px 8px;overflow:hidden;background:linear-gradient(160deg,#e4eadd,#dbdfd6 55%,#c9d9c9)}
.about-art-sun{width:186px;height:186px;border-radius:50%;background:#f2ddb0;position:absolute;top:55px;left:50%;transform:translateX(-50%);filter:blur(.5px)}
.about-art-leaf{position:absolute;width:220px;height:270px;border-radius:8% 100% 8% 100%;background:#a9bea4;bottom:-75px;left:12%;transform:rotate(-29deg)}
.leaf-two{left:auto;right:4%;background:#90ad92;transform:rotate(22deg)}
.about-art-note{position:absolute;bottom:29px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;padding:17px 24px;display:flex;align-items:center;gap:15px;border-radius:6px;background:#fdfbf1ed;box-shadow:0 15px 28px #405b401d;font-family:var(--serif);font-size:24px;line-height:1.15;color:#677e66}
.about-art-note>span:first-child{font-family:'DM Sans',sans-serif;font-size:29px;color:#adbea6}
.about-story-section{background:#fffefa}
.story-grid{display:grid;grid-template-columns:.83fr 1fr;gap:13%}
.story-side h2{margin:24px 0}
.story-line{font-size:55px;color:#c1d2bb;margin-top:32px}
.story-copy{color:#6a7b6d;font-size:15px}
.story-copy p{margin-bottom:19px}
.story-quote{margin-top:29px;padding:20px 25px;background:#edf2e9;border-left:3px solid #aac0a3;font-family:var(--serif);font-size:26px;line-height:1.3;color:#5b765f}
.about-values{padding:60px 0 75px;background:#ecf0e7}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:24px}
.values-grid article{border-top:1px solid #cddbc9;padding-top:20px}
.values-grid article>span{font-size:10px;letter-spacing:.12em;color:#91a68b}
.values-grid h3{font-family:var(--serif);font-weight:400;font-size:26px;color:#536b55;margin:18px 0 10px}
.values-grid p{font-size:12px;color:#7b8b7c;margin:0}
.about-next{background:#fffefa;text-align:center}
.about-next-inner{max-width:800px}
.about-next h2{margin:22px 0}
.about-next p{color:#768678;font-size:14px}
.about-next-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:28px;margin:25px 0}
.story-disclaimer{font-size:11px!important;max-width:600px;margin:32px auto 0;line-height:1.7}
@media(max-width:980px){.subpage-hero-grid{gap:5%}.workbook-card{grid-template-columns:.65fr 1fr;gap:16px;padding:16px}.workbook-cover{min-height:240px}.workbook-cover strong{font-size:21px}.workbook-info h3{font-size:24px}.story-grid{gap:7%}}
@media(max-width:720px){.subpage-hero-grid{grid-template-columns:1fr;gap:36px;min-height:0;padding-top:55px;padding-bottom:45px}.subpage-hero h1{font-size:clamp(45px,10vw,61px)}.workbook-hero-art,.about-page-art{width:100%;max-width:490px;height:320px;min-height:320px;justify-self:center}.library-intro{margin-bottom:30px}.workbook-grid{grid-template-columns:1fr;gap:14px}.workbook-card{grid-template-columns:.69fr 1fr}.workbook-cover{min-height:235px}.story-grid{grid-template-columns:1fr;gap:12px}.story-side h2{margin-bottom:8px}.story-line{margin:0 0 20px}.story-copy{font-size:14px}.values-grid{grid-template-columns:1fr;gap:21px}.values-grid article{padding-top:16px}.about-next-actions{flex-direction:column;gap:18px}}
@media(max-width:410px){.workbook-card{grid-template-columns:1fr;gap:21px}.workbook-cover{width:195px;max-width:100%;min-height:255px;justify-self:center}.workbook-info{padding:0 5px 4px}.about-art-note{font-size:20px}}


/* Community circle */
.community-hero{background:#eaf0e7;overflow:hidden}
.community-hero-inner{display:grid;grid-template-columns:1.1fr .5fr;align-items:center;gap:8%;min-height:335px;padding-top:50px;padding-bottom:50px}
.community-hero h1{font-family:var(--serif);font-size:clamp(43px,4.7vw,66px);font-weight:400;letter-spacing:-.04em;line-height:1.08;color:#455c4a;margin:17px 0 19px}
.community-hero h1 em{color:#92aa91}.community-hero p{color:#6d806f;font-size:14px;max-width:590px}
.community-hero-shape{width:230px;height:230px;justify-self:center;background:radial-gradient(circle,#f8f1d7 0 37%,#d9e6d6 38% 70%,#c4d7c1 71%);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#607f61;font-family:var(--serif);font-size:23px;line-height:1.08;text-align:center}
.community-hero-shape span{font-family:'DM Sans',sans-serif;font-size:29px;color:#a4bca4}
.community-section{background:#faf9f4}
.community-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(245px,.7fr);align-items:start;gap:24px}
.community-alert{display:flex;align-items:flex-start;gap:15px;padding:18px 20px;border:1px solid #d1e2cf;border-radius:8px;background:#e9f0e6;color:#577159;margin-bottom:18px}
.community-alert>span{font-size:25px}.community-alert strong{font-size:13px}.community-alert p{font-size:12px;color:#637665;margin:5px 0 0}
.community-alert a,.community-help a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.community-card{background:#fffefa;border:1px solid #e7ebe1;border-radius:11px;overflow:hidden}
.community-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:29px 30px 16px}
.community-top h2{font-size:39px;margin:8px 0 0}.community-status{flex:none;font-size:10px;color:#77947a;background:#edf3eb;padding:9px 12px;border-radius:50px}
.community-rooms{display:flex;gap:9px;padding:7px 30px 0}
.room-choice{border:1px solid #d5e1d0;color:#68816d;background:#f9faf5;padding:10px 17px;border-radius:100px;font-size:12px;font-weight:700}
.room-choice.is-active,.room-choice:hover{background:#dce8d9;color:#426347;border-color:#afc7a8}
.room-intro{font-size:12px;color:#89988c;margin:15px 30px 18px}
.messages-list{min-height:242px;max-height:480px;overflow-y:auto;padding:18px 30px;background:#f6f8f2;border-top:1px solid #e7ede4;border-bottom:1px solid #e7ede4;display:flex;flex-direction:column;gap:10px}
.community-empty{font-family:var(--serif);font-size:20px;color:#829684;margin:auto;text-align:center;padding:36px 10px}
.message-bubble{max-width:96%;background:#fffefa;border:1px solid #e4ebe1;border-radius:9px;padding:15px 18px}
.message-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:#92a093;font-size:10px}
.message-name{font-weight:700;color:#607b62;font-size:12px}
.message-body{white-space:pre-wrap;overflow-wrap:anywhere;color:#556b59;font-size:13px;line-height:1.75;margin:9px 0}
.message-report{background:transparent;color:#87978a;border:0;padding:4px 0;font-size:10px;text-decoration:underline;text-underline-offset:3px}
.message-report:hover{color:#a05151}
.community-compose{padding:26px 30px 30px}
.community-compose h3{font-family:var(--serif);font-size:26px;font-weight:400;color:#546d55;margin:0 0 6px}
.community-compose>p{font-size:12px;color:#7a8d7d;margin-bottom:22px}
.community-compose form{display:flex;flex-direction:column;align-items:stretch}
.community-compose label:not(.community-checkbox){font-size:11px;font-weight:700;color:#607961;margin-bottom:8px}
.community-compose label span{font-weight:400;color:#8fa18f}
.community-compose input:not([type=checkbox]),.community-compose textarea{width:100%;border:1px solid #d4e1d3;background:white;color:#465b4a;border-radius:6px;padding:12px 13px;font-size:13px;margin-bottom:16px;resize:vertical}
.community-compose input:focus-visible,.community-compose textarea:focus-visible{outline:3px solid #9fbea3;outline-offset:2px}
.community-compose-foot{display:flex;justify-content:space-between;gap:12px;color:#829184;font-size:10px;margin-bottom:9px}
.community-checkbox{display:flex;align-items:start;gap:8px;max-width:360px;cursor:pointer;line-height:1.6}
.community-checkbox input{accent-color:#57765b;margin-top:2px}
.community-feedback{font-size:12px;color:#5b795e;min-height:18px;margin:6px 0 11px}
.community-feedback.is-error{color:#9b5959}.community-compose .button{align-self:flex-start}
.community-side{display:flex;flex-direction:column;gap:17px}
.community-rules,.community-help{padding:26px 23px;border-radius:9px;background:#e9f0e5;border:1px solid #dfe9dc}
.community-rules h3,.community-help h3{font-family:var(--serif);font-weight:400;font-size:27px;line-height:1.18;color:#526e55;margin:13px 0}
.community-rules p,.community-help p,.community-rules li{font-size:12px;color:#6c806e;line-height:1.75}
.community-rules ul{padding-left:19px;display:grid;gap:10px}
.community-rules-note{border-top:1px solid #d3dfd1;padding-top:16px;margin-top:20px;font-weight:600}
.community-help{background:#f3eee4;border-color:#e7e2d4}.community-help>span{color:#c4b68e;font-size:30px}
@media(max-width:900px){.community-layout{grid-template-columns:1fr}.community-side{display:grid;grid-template-columns:1fr 1fr}.community-hero-inner{grid-template-columns:1fr .45fr}}
@media(max-width:650px){.community-hero-inner{grid-template-columns:1fr;min-height:0}.community-hero-shape{width:180px;height:180px;font-size:19px}.community-side{grid-template-columns:1fr}.community-top{padding:23px 18px 13px}.community-top h2{font-size:33px}.community-rooms{padding:8px 18px 0}.room-intro{margin:13px 18px}.messages-list{padding:17px 16px}.community-compose{padding:22px 17px}.community-compose-foot{flex-direction:column-reverse}.community-status{font-size:9px}}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
