@font-face {
  font-family: Asul;
  src: url('./fonts/Asul-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Hedvig Letters Serif';
  src: url('./fonts/HedvigLettersSerif-Variable.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'National Park';
  src: url('./fonts/NationalPark-Variable.woff2') format('woff2');
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}

:root {
  --paper: #f6efe4;
  --paper-light: #fff9ef;
  --paper-deep: #eee2d0;
  --ink: #182a22;
  --muted: #4c574b;
  --forest: #233f35;
  --forest-field: #1e382f;
  --forest-dark: #172e26;
  --olive: #909030;
  --blue: #306090;
  --purple: #603090;
  --line: #cfc4b0;
  --focus: var(--blue);
  --wordmark: Asul, Georgia, serif;
  --display: 'Hedvig Letters Serif', Georgia, serif;
  --body: 'National Park', Arial, sans-serif;
  --map-self: #e7baab;
  --map-relationships: #e2c48a;
  --map-surroundings: #b9c7a3;
  --map-routines: #bdd1e2;
  --gutter: clamp(22px, 5vw, 76px);
  --page-width: 1320px;
  --section-space: clamp(54px, 6.25vw, 94px);
  --panel-radius: clamp(18px, 1.8vw, 28px);
}

* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 400 17px/1.6 var(--body);
}
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 {
  font-family: var(--display);
  font-weight: 400;
  line-height: 1.12;
  text-wrap: balance;
}
h1 { font-size: clamp(43px, 4.8vw, 70px); letter-spacing: -.038em; margin-bottom: 23px; }
h2 { font-size: clamp(32px, 3.25vw, 48px); letter-spacing: -.027em; margin-bottom: 22px; }
h3 { font-size: clamp(24px, 2.1vw, 32px); letter-spacing: -.024em; margin-bottom: 13px; }
p { margin-bottom: 17px; }
p:last-child { margin-bottom: 0; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 5px; }
a:hover { text-decoration-thickness: 2px; }
button, input, textarea { font: inherit; }
button, a, input, textarea, summary { -webkit-tap-highlight-color: transparent; }
button, summary { cursor: pointer; }
button { color: inherit; }
img { display: block; max-width: 100%; }
ul { padding-left: 1.18em; }
li + li { margin-top: 7px; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 5px; }
[hidden] { display: none !important; }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: absolute;
  top: -100px;
  left: 20px;
  z-index: 100;
  padding: 12px 20px;
  background: var(--forest-dark);
  color: var(--paper-light);
}
.skip-link:focus { top: 12px; }
.container {
  width: calc(100% - var(--gutter) * 2);
  max-width: var(--page-width);
  margin-inline: auto;
}
.section { position: relative; padding-block: var(--section-space); }
.image-panel {
  --panel-fill: var(--paper-deep);
  --panel-fade: linear-gradient(90deg,
    color-mix(in srgb, var(--panel-fill) 94%, transparent),
    color-mix(in srgb, var(--panel-fill) 80%, transparent) 38%,
    color-mix(in srgb, var(--panel-fill) 28%, transparent) 62%,
    transparent 80%);
  border-radius: var(--panel-radius);
  background-color: var(--panel-fill);
  background-image: var(--panel-fade), var(--panel-image);
  background-position: center, var(--panel-position, center);
  background-size: cover;
  background-repeat: no-repeat;
}
.lead { max-width: 36ch; font-size: clamp(17px, 1.45vw, 22px); line-height: 1.55; }
.line-icon { display: block; width: 37px; height: 37px; flex: none; }
.actions { display: flex; gap: 13px 18px; flex-wrap: wrap; align-items: center; margin-top: 23px; }

.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  padding: 10px 24px;
  border: 1px solid #536955;
  border-radius: 999px;
  background-color: #506650;
  background-image: linear-gradient(to bottom, rgb(255 249 239 / .055), transparent 75%);
  color: var(--paper-light);
  font-size: 15px;
  font-weight: 440;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  transition: background-color .48s ease, border-color .48s ease, color .48s ease;
}
.button:hover {
  background-color: #405742;
  border-color: #405742;
  text-decoration: none;
}
.button-outline {
  border-color: #596756;
  background-color: transparent;
  background-image: none;
  color: var(--ink);
}
.button-outline:hover { background-color: #e6e3d1; border-color: #596756; }
.button-light, .button-peach {
  border-color: #e5c6a5;
  background-color: #e7ccb0;
  color: var(--ink);
}
.button-light:hover, .button-peach:hover { background-color: #f0d9bf; border-color: #e5c6a5; }
.button-outline-light {
  border-color: #ecdcc7;
  color: var(--paper-light);
  background-color: transparent;
  background-image: none;
}
.button-outline-light:hover { background-color: rgb(255 249 239 / .12); border-color: #ecdcc7; }
.button-small { min-height: 42px; padding: 9px 18px; font-size: 14px; }
.text-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 15px;
  font-weight: 530;
  text-decoration-color: #717640;
}
.section-heading {
  display: grid;
  grid-template-columns: 1fr minmax(260px, .7fr);
  align-items: end;
  gap: 16px 35px;
  margin-bottom: 32px;
}
.section-heading h2, .section-heading p { margin-bottom: 0; }
.section-heading p { max-width: 44ch; font-size: 16px; }
.forest-section {
  --focus: var(--paper-light);
  background: var(--forest-field);
  color: var(--paper-light);
}
.forest-section .text-link { text-decoration-color: #cfba9a; }

.site-header {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 82px;
  gap: 18px;
  padding: 14px var(--gutter);
  background: var(--paper-light);
}
.brand {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 10px;
  font: 400 29px/1.08 var(--wordmark);
  letter-spacing: -.02em;
  text-decoration: none;
}
.brand-mark {
  flex: none;
  width: 50px;
  aspect-ratio: 1057 / 1029;
  color: var(--forest);
  background-color: currentColor;
  mask: url('./brand-mark.svg') center / contain no-repeat;
}
.brand-description {
  display: block;
  margin-top: 4px;
  font: 400 12px/1.4 var(--body);
  letter-spacing: .012em;
}
.main-navigation { display: flex; align-items: center; gap: clamp(12px, 1.7vw, 26px); }
.main-navigation > a:not(.button) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 14px;
  white-space: nowrap;
  text-decoration: none;
}
.main-navigation > a:not(.button):hover, .main-navigation > a[aria-current]:not(.button) {
  text-decoration: underline;
  text-decoration-color: #717640;
  text-underline-offset: 7px;
}
.menu-toggle {
  display: none;
  min-height: 44px;
  padding: 8px 15px;
  border: 1px solid #596756;
  border-radius: 999px;
  background: transparent;
  font-size: 15px;
}

.closing-section { padding-block: clamp(48px, 5.4vw, 74px); background: var(--paper-deep); }
.closing-section.forest-section { background: var(--forest-field); }
.closing-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px 58px;
}
.closing-layout p { max-width: 56ch; }
.closing-layout .actions { margin-top: 0; }

.site-footer {
  --focus: var(--paper-light);
  padding: 40px var(--gutter) 29px;
  background: var(--forest-dark);
  color: var(--paper-light);
}
.footer-main {
  max-width: var(--page-width);
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 26px;
}
.site-footer .brand-mark { color: #e1d1b6; }
.footer-main nav { display: flex; flex-wrap: wrap; gap: 4px 28px; }
.footer-main nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; text-decoration: none; }
.footer-main nav a:hover { text-decoration: underline; }

@media (max-width: 1080px) {
  .brand { font-size: 24px; }
  .brand-mark { width: 44px; }
  .brand-description { font-size: 11px; }
  .main-navigation > a:not(.button) { font-size: 13px; }
}
@media (max-width: 890px) {
  .site-header { min-height: 73px; flex-wrap: wrap; gap: 10px; }
  .has-menu .menu-toggle { display: block; }
  .main-navigation { width: 100%; flex-wrap: wrap; gap: 4px 18px; }
  .main-navigation > a:not(.button) { font-size: 15px; }
  .has-menu .main-navigation { display: none; }
  .has-menu .main-navigation.is-open { display: flex; }
  .closing-layout { grid-template-columns: 1fr; }
  .footer-main { flex-direction: column; }
}
@media (max-width: 640px) {
  .site-header .brand-mark { width: 39px; }
  .brand { gap: 8px; }
  .brand-description { font-size: 10px; }
  .main-navigation.is-open { flex-direction: column; align-items: stretch; padding-top: 10px; }
  .main-navigation.is-open .button { align-self: start; }
  .section-heading { grid-template-columns: 1fr; margin-bottom: 25px; }
  .closing-layout h2 { margin-bottom: 14px; }
  .footer-main nav { display: grid; }
}
@media (max-width: 360px) {
  .site-header .brand { gap: 6px; font-size: 22px; }
  .site-header .brand-mark { width: 34px; }
  .site-header .brand-description { max-width: 146px; font-size: 9.5px; }
  .menu-toggle { padding-inline: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

.home-hero {
  --sun-x: .595;
  --sun-y: .544;
  --lens-drop: .28;
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: center;
  min-height: clamp(540px, 45.25vw, 760px);
  overflow: hidden;
  background: #ecdbc4;
}
.hero-picture, .hero-picture img, .hero-contours {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero-picture { z-index: -2; }
.hero-picture img { object-fit: cover; object-position: 50% 65%; }
.hero-motion {
  display: none;
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
  .hero-motion.is-ready { display: block; }
}
.hero-mist {
  position: absolute;
  inset: 0 auto auto 0;
  width: var(--photo-width);
  height: var(--photo-height);
  transform: translate(var(--photo-left), var(--photo-top));
}
.hero-mist > span {
  position: absolute;
  inset: 0;
  mask-image: var(--mist-mask);
}
.hero-mist > span::before {
  content: "";
  position: absolute;
  inset: 54% -5% 5%;
  opacity: var(--mist-opacity);
  background: url("hero-motion/mist-field.webp") center var(--mist-texture-y) / 100% 300% no-repeat;
  animation: hero-mist-drift 4.8s cubic-bezier(.25, .12, .43, 1) forwards;
}
.hero-mist > span:nth-child(1) {
  --mist-texture-y: 0%;
  --mist-mask: radial-gradient(ellipse 27% 4.6% at 50% 69%, black 4%, transparent 100%);
  --mist-opacity: .26;
  --mist-drift: clamp(4px, .56vw, 9px);
}
.hero-mist > span:nth-child(2) {
  --mist-texture-y: 50%;
  --mist-mask: radial-gradient(ellipse 36% 5.3% at 25% 74.8%, black 4%, transparent 100%);
  --mist-opacity: .33;
  --mist-drift: clamp(8px, 1.12vw, 18px);
}
.hero-mist > span:nth-child(3) {
  --mist-texture-y: 100%;
  --mist-mask: radial-gradient(ellipse 32% 5.7% at 17% 82%, black 4%, transparent 100%);
  --mist-opacity: .21;
  --mist-drift: clamp(16px, 2.24vw, 36px);
}
@keyframes hero-mist-drift {
  from { transform: translateX(0); }
  to { transform: translateX(var(--mist-drift)); }
}
.hero-flare {
  position: absolute;
  inset: 0 auto auto 0;
  opacity: 0;
  mix-blend-mode: screen;
  transform: translate(var(--sun-left), var(--sun-top));
}
.hero-flare > span {
  position: absolute;
  inset: 0 auto auto 0;
  width: var(--flare-diameter);
  aspect-ratio: 1;
  background: radial-gradient(circle closest-side,
    rgb(var(--flare-tint) / .08) 12%,
    rgb(var(--flare-tint) / .03) 50%,
    rgb(var(--flare-tint) / var(--flare-rim)) 73%,
    rgb(var(--flare-tint) / .07) 86%,
    transparent);
  transform: translate(
    calc(var(--flare-axis-x) * var(--flare-distance) * var(--flare-reach) - 50%),
    calc(var(--flare-axis-y) * var(--flare-distance) * var(--flare-reach) - 50%)
  ) scale(var(--flare-scale));
}
.hero-flare > span:nth-child(1) {
  --flare-distance: .23;
  --flare-diameter: clamp(20px, 2.65vw, 39px);
  --flare-tint: 255 216 154;
  --flare-rim: .34;
}
.hero-flare > span:nth-child(2) {
  --flare-distance: .46;
  --flare-diameter: clamp(32px, 4vw, 63px);
  --flare-tint: 249 228 183;
  --flare-rim: .25;
}
.hero-flare > span:nth-child(3) {
  --flare-distance: .76;
  --flare-diameter: clamp(49px, 6.8vw, 102px);
  --flare-tint: 192 210 186;
  --flare-rim: .22;
}
.hero-contours { z-index: -1; pointer-events: none; }
.hero-contours path {
  fill: none;
  stroke: #fff9eb;
  stroke-width: .9px;
  stroke-opacity: .65;
  vector-effect: non-scaling-stroke;
}
.hero-content { padding: 68px 0 clamp(92px, 8vw, 127px) clamp(0px, 2.6vw, 45px); }
.hero-content h1 {
  max-width: min(590px, 53vw);
  font-size: clamp(49px, 5.03vw, 81px);
  line-height: 1.03;
  margin-bottom: 16px;
}
.hero-subheading {
  max-width: 27ch;
  font: 400 clamp(23px, 2vw, 31px)/1.3 var(--display);
  letter-spacing: -.038em;
  margin-bottom: 13px;
}
.hero-description { max-width: 43ch; font-size: 16px; line-height: 1.55; }
.hero-content .button-outline { background-color: rgb(255 249 239 / .22); }
.hero-content .button-outline:hover { background-color: rgb(255 249 239 / .55); }
.hero-edge, .field-edge {
  position: absolute;
  inset: auto 0 -1px;
  width: 100%;
  height: clamp(45px, 6.2vw, 95px);
  fill: var(--paper);
  pointer-events: none;
}
.whole-life { z-index: 1; padding-block: clamp(23px, 3.4vw, 53px) 36px; }
.whole-life-layout {
  display: grid;
  grid-template-columns: minmax(0, .91fr) minmax(310px, 1.26fr) minmax(0, .61fr);
  align-items: center;
  gap: clamp(23px, 3.15vw, 47px);
}
.whole-life-copy h2 { font-size: clamp(30px, 2.63vw, 42px); text-wrap: initial; }
.whole-life-copy p { max-width: 36ch; }
.whole-life-focus { padding-left: clamp(17px, 2.4vw, 37px); border-left: 1px solid var(--line); }
.whole-life-focus h3 { font-size: clamp(22px, 1.9vw, 29px); }
.whole-life-focus ul { margin: 0; font-size: 16px; }
.whole-life-focus li::marker { color: #525d32; }

.life-map {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: 492px;
  aspect-ratio: 1.36;
  margin-inline: auto;
}
.map-area {
  position: absolute;
  display: grid;
  width: 52%;
  height: 44%;
  place-items: center;
  padding: 7px;
  border: 1px solid #fff9ee;
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--map-tone) 82%, transparent);
  text-align: center;
  text-decoration: none;
  transition: background-color .48s ease;
}
.map-area:hover { background-color: var(--map-tone); }
.map-area:focus-visible { z-index: 4; }
.map-label { display: grid; justify-items: center; gap: 1px; }
.map-label .line-icon { width: clamp(23px, 2.6vw, 35px); height: auto; }
.map-label strong {
  font: 400 clamp(14px, 1.55vw, 23px)/1.12 var(--display);
  letter-spacing: -.035em;
}
.map-label > span { font-size: clamp(10px, .92vw, 13px); line-height: 1.25; max-width: 15ch; }
.map-self .map-label > span { max-width: none; }
.map-self { --map-tone: var(--map-self); left: 24%; top: 0; align-items: start; padding-top: 3.4%; }
.map-relationships { --map-tone: var(--map-relationships); left: 0; top: 28%; justify-items: start; padding-left: 6%; }
.map-surroundings { --map-tone: var(--map-surroundings); right: 0; top: 28%; justify-items: end; padding-right: 6%; }
.map-routines { --map-tone: var(--map-routines); left: 24%; bottom: 0; align-items: end; padding-bottom: 3.6%; }
.map-center {
  position: absolute;
  z-index: 3;
  inset: 35% 36%;
  display: grid;
  place-items: center;
  border: 1px solid #eee2de;
  border-radius: 50%;
  background: #543e64;
  color: var(--paper-light);
  font: 400 clamp(22px, 2.2vw, 32px)/1 var(--display);
  pointer-events: none;
}

.coaching-landscape { position: relative; }
.ridge-transition {
  position: relative;
  height: clamp(142px, 22.7vw, 330px);
  margin-top: -34px;
  overflow: hidden;
}
.ridge-transition img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.ridge-transition::after {
  position: absolute;
  content: '';
  inset: 72% 0 -1px;
  background: linear-gradient(transparent, var(--forest-field) 96%);
}
.coaching-field {
  --focus: var(--paper-light);
  margin-top: -1px;
  padding-top: clamp(32px, 3.9vw, 57px);
  padding-bottom: clamp(70px, 6.4vw, 94px);
  background: var(--forest-field);
  color: var(--paper-light);
}
.coaching-field .section-heading { grid-template-columns: 1fr minmax(220px, .55fr); }
.field-edge { height: clamp(30px, 4vw, 57px); fill: var(--paper-light); }
.approach-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.6vw, 24px);
}
.approach-card {
  --focus: var(--blue);
  --panel-fill: #f6dfc8;
  --panel-position: center 80%;
  --panel-fade: linear-gradient(180deg,
    color-mix(in srgb, var(--panel-fill) 88%, transparent),
    color-mix(in srgb, var(--panel-fill) 78%, transparent) calc(100% - 52px),
    color-mix(in srgb, var(--panel-fill) 29%, transparent) calc(100% - 24px),
    transparent);
  display: flex;
  padding: clamp(17px, 1.9vw, 27px) clamp(17px, 2vw, 30px) clamp(32px, 3.2vw, 46px);
  color: var(--ink);
}
.scene-connection-sky { --panel-image: url('./generated/connection-sky.webp'); }
.scene-freedom-sky { --panel-image: url('./generated/freedom-sky.webp'); --panel-fill: #ded0e0; }
.scene-world-sky { --panel-image: url('./generated/world-sky.webp'); --panel-fill: #dce2c9; }
.approach-card-copy {
  display: flex;
  flex-direction: column;
  align-items: start;
}
.approach-card h3 {
  margin: 7px 0 8px;
  max-width: 21ch;
  text-wrap: initial;
}
.approach-card p { max-width: 36ch; font-size: 15px; line-height: 1.5; margin-bottom: 4px; text-wrap: pretty; }
.approach-card .text-link { margin-top: auto; }
.approach-card .line-icon { width: 32px; height: 32px; color: #384730; }

.service-pair-section { background: var(--paper-light); }
.service-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(17px, 2.2vw, 32px); }
.service-feature {
  --focus: var(--paper-light);
  display: flex;
  align-items: center;
  min-height: clamp(270px, 23vw, 350px);
  padding: clamp(25px, 3.3vw, 47px);
  color: var(--paper-light);
}
.service-energy {
  --panel-image: url('./generated/resonance-room.webp');
  --panel-fill: #2b261c;
  --panel-position: 75% center;
}
.service-coaching {
  --panel-image: url('./generated/garden-threshold.jpg');
  --panel-fill: #223328;
  --panel-position: center 56%;
  --panel-fade: linear-gradient(90deg,
    color-mix(in srgb, var(--panel-fill) 91%, transparent),
    color-mix(in srgb, var(--panel-fill) 76%, transparent) 53%,
    color-mix(in srgb, var(--panel-fill) 27%, transparent) 72%,
    transparent 86%);
}
.service-copy { max-width: min(34ch, 54%); }
.service-feature h2 { font-size: clamp(28px, 2.55vw, 39px); text-wrap: initial; margin-bottom: 13px; }
.service-feature p { font-size: 16px; margin-bottom: 6px; }
.service-feature .text-link { text-decoration-color: #d6bfa3; }

.ways-section { background: #efe4d3; }
.ways-layout {
  display: grid;
  grid-template-columns: minmax(200px, .77fr) minmax(0, 3fr);
  align-items: start;
  gap: clamp(22px, 3vw, 50px);
}
.ways-intro { padding-top: 8px; }
.ways-intro h2 { font-size: clamp(32px, 2.8vw, 42px); text-wrap: initial; }
.ways-intro p { max-width: 29ch; }
.package-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.55vw, 24px);
}
.package-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--panel-radius);
  background: #fff8eb;
  box-shadow: 0 12px 25px -20px rgb(64 48 25 / .4);
}
.package-reclaim { background: #fbefdf; }
.package-rebirth { background: #f1efdd; }
.package-card > img {
  width: 100%;
  aspect-ratio: 1.75;
  object-fit: cover;
  mask-image: linear-gradient(to bottom, #000 57%, rgb(0 0 0 / .78) 74%, rgb(0 0 0 / .30) 91%, transparent);
}
.package-copy {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: start;
  padding: 8px clamp(17px, 2vw, 29px) clamp(17px, 2vw, 29px);
}
.package-title { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.package-title h3 { margin: 0; }
.package-title .line-icon { width: 32px; height: 32px; color: #495b3a; }
.package-reclaim .line-icon { color: #68472e; }
.package-rebirth .line-icon { color: var(--purple); }
.package-mix { flex: 1; margin-bottom: 17px; font-size: 15px; line-height: 1.5; }
.package-price { margin: 0; font-size: 14px; line-height: 1.1; }
.package-price strong { font: 400 clamp(29px, 3vw, 42px)/1 var(--display); letter-spacing: -.045em; }
.package-saving { margin: 7px 0 18px; font-size: 14px; color: var(--muted); }
.package-copy .button { min-width: 113px; }
.page-home .closing-section { background: var(--paper-light); }

@media (max-width: 1040px) {
  .ways-layout { grid-template-columns: 1fr; }
  .ways-intro { max-width: 650px; }
  .ways-intro p { max-width: 43ch; }
  .whole-life-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }
  .whole-life-focus { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 26px; border: 0; padding-left: 0; }
  .whole-life-focus h3 { margin: 0; }
  .whole-life-focus ul { display: flex; flex-wrap: wrap; column-gap: 29px; }
  .whole-life-focus li { margin-top: 0; }
}
@media (max-width: 860px) {
  .service-pair { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .home-hero {
    --sun-x: .300;
    --sun-y: .770;
    --lens-drop: .47;
    min-height: max(610px, 109vw);
    align-items: start;
    background: #f2dfc5;
  }
  .hero-picture img { object-position: 50% 100%; }
  .hero-mist > span::before { inset-block: 77% 6%; }
  .hero-mist > span:nth-child(1) {
    --mist-mask: radial-gradient(ellipse 34% 2.1% at 46% 83.4%, black 4%, transparent 100%);
  }
  .hero-mist > span:nth-child(2) {
    --mist-mask: radial-gradient(ellipse 45% 2.6% at 16% 86.8%, black 4%, transparent 100%);
  }
  .hero-mist > span:nth-child(3) {
    --mist-mask: radial-gradient(ellipse 31% 2.1% at 19% 90.7%, black 4%, transparent 100%);
  }
  .hero-content { padding: clamp(35px, 8vw, 58px) 0 clamp(230px, 54vw, 345px); }
  .hero-content h1 { max-width: 12.8ch; font-size: clamp(42px, 7.6vw, 60px); }
  .hero-subheading { max-width: 26ch; font-size: clamp(21px, 4.7vw, 26px); }
  .hero-description { max-width: 38ch; }
  .hero-contours { height: 46%; top: auto; }
  .hero-contours path { stroke-opacity: .55; }
  .whole-life-layout { grid-template-columns: 1fr; gap: 26px; }
  .whole-life-copy p { max-width: 45ch; }
  .whole-life-focus { display: block; border-top: 1px solid var(--line); padding-top: 18px; }
  .whole-life-focus ul { margin-top: 10px; }
  .map-label strong { font-size: clamp(15px, 4.1vw, 21px); }
  .map-label > span { font-size: clamp(11px, 2.9vw, 13px); }
  .map-label .line-icon { width: clamp(22px, 6vw, 33px); }
  .ridge-transition { margin-top: -20px; }
  .coaching-field .section-heading { grid-template-columns: 1fr; }
  .approach-cards { grid-template-columns: 1fr; }
  .approach-card { padding-inline: clamp(20px, 5vw, 34px); }
  .package-grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: min(76vw, 310px);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-color: #71765a #dfd1bc;
    margin-inline: calc(-1 * var(--gutter));
    padding: 3px var(--gutter) 16px;
    scroll-padding-inline: var(--gutter);
  }
  .package-grid:focus-visible { outline-offset: -3px; }
  .package-card { scroll-snap-align: start; }
}
@media (max-width: 540px) {
  .hero-content .actions { gap: 10px; }
  .hero-content .button { font-size: 14px; padding-inline: 16px; }
  .service-feature {
    --panel-fade: linear-gradient(180deg,
      color-mix(in srgb, var(--panel-fill) 91%, transparent),
      color-mix(in srgb, var(--panel-fill) 80%, transparent) calc(100% - 112px),
      color-mix(in srgb, var(--panel-fill) 21%, transparent) calc(100% - 56px),
      transparent);
    padding: 26px 23px 126px;
  }
  .service-copy { max-width: 34ch; }
  .whole-life-focus ul { display: block; }
  .whole-life-focus li + li { margin-top: 5px; }
}
@media (max-width: 385px) {
  .map-area { padding-inline: 5px; }
  .map-relationships { padding-left: 5%; }
  .map-surroundings { padding-right: 5%; }
}
@media (max-width: 360px) {
  .map-center { inset: 36% 38%; font-size: 21px; }
  .map-relationships { padding-left: 3.7%; }
  .map-surroundings { padding-right: 3.7%; }
  .map-relationships strong, .map-surroundings strong { font-size: 14px; }
  .map-label > span { font-size: 10.5px; max-width: 13ch; }
}

.split-opening { padding-block: clamp(26px, 4.4vw, 68px); background: var(--paper-deep); }
.split-opening-inner {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(27px, 5vw, 78px);
}
.opening-copy { padding-block: 10px; }
.opening-copy h1 { max-width: 15ch; }
.opening-image {
  width: 100%;
  height: clamp(315px, 33vw, 480px);
  border-radius: var(--panel-radius);
  object-fit: cover;
}
.landscape-opening { padding-block: clamp(24px, 3.7vw, 56px); background: #eee5d4; }
.opening-panel {
  display: flex;
  align-items: center;
  min-height: clamp(340px, 31vw, 448px);
  padding: clamp(29px, 5.1vw, 73px);
}
.opening-panel .opening-copy { max-width: min(56%, 580px); }
.opening-panel, .life-area-panel {
  --panel-fade: linear-gradient(90deg,
    color-mix(in srgb, var(--panel-fill) 91%, transparent),
    color-mix(in srgb, var(--panel-fill) 75%, transparent) 54%,
    color-mix(in srgb, var(--panel-fill) 28%, transparent) 72%,
    transparent 85%);
}
.approach-opening .opening-panel {
  --panel-fill: #f3e5cf;
  --panel-image: url('./generated/valley-landscape.jpg');
  --panel-position: center 55%;
}
.coaching-opening .opening-panel {
  --panel-fill: #f2e4ca;
  --panel-image: url('./generated/meadow-path.jpg');
  --panel-position: 65% 52%;
}
.sessions-opening { background: #eee0ce; }
.sessions-opening .opening-image { height: clamp(270px, 25vw, 380px); }
.about-opening { background: #ede7d4; }
.about-opening .opening-image { object-position: 52% 53%; }
.short-opening .opening-image { height: clamp(235px, 21.5vw, 320px); }
.short-opening .opening-copy h1 { font-size: clamp(37px, 4.2vw, 63px); }
.questions-opening { background: #eae4d2; }
.policies-opening { background: #e5e7d9; }

.approach-overview-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(32px, 7vw, 104px);
}
.approach-overview-inner p { max-width: 47ch; }
.life-area-section { background: var(--paper-light); }
.life-area-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.life-area-panel {
  --panel-position: 74% center;
  display: flex;
  align-items: stretch;
  min-height: clamp(265px, 22vw, 320px);
  padding: clamp(23px, 2.75vw, 40px);
  scroll-margin-top: 22px;
}
.life-area-panel#self {
  --panel-fill: color-mix(in srgb, var(--map-self) 49%, var(--paper-light));
  --panel-image: url('./generated/area-self.webp');
}
.life-area-panel#relationships {
  --panel-fill: color-mix(in srgb, var(--map-relationships) 47%, var(--paper-light));
  --panel-image: url('./generated/area-relationships.webp');
}
.life-area-panel#surroundings {
  --panel-fill: color-mix(in srgb, var(--map-surroundings) 58%, var(--paper-light));
  --panel-image: url('./generated/area-surroundings.webp');
}
.life-area-panel#routines {
  --panel-fill: color-mix(in srgb, var(--map-routines) 58%, var(--paper-light));
  --panel-image: url('./generated/area-routines.webp');
}
.life-area-copy {
  display: flex;
  flex-direction: column;
  align-items: start;
  max-width: min(56%, 32ch);
}
.life-area-panel .line-icon { margin-bottom: 9px; color: #445b40; }
.life-area-panel p { flex: 1; margin-bottom: 5px; font-size: 16px; text-wrap: pretty; }

.approach-index { display: flex; flex-wrap: wrap; gap: 7px 13px; margin-bottom: 27px; }
.approach-index a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 8px 17px;
  border: 1px solid #827d67;
  border-radius: 999px;
  font-size: 15px;
  text-decoration: none;
  transition: background-color .48s ease;
}
.approach-index a:hover { background: var(--paper-deep); text-decoration: underline; }
.detail-panel {
  display: flex;
  align-items: center;
  min-height: clamp(275px, 25vw, 360px);
  padding: clamp(26px, 4.2vw, 59px);
  scroll-margin-top: 24px;
}
.detail-panel + .detail-panel { margin-top: 20px; }
.detail-copy { max-width: min(58%, 545px); }
.detail-copy h3 { font-size: clamp(29px, 3.1vw, 47px); text-wrap: initial; }
.detail-copy p { max-width: 48ch; }
.detail-copy .line-icon { margin-bottom: 11px; color: #425940; }
.connection-panel {
  --panel-fill: #f1dfc8;
  --panel-image: url('./generated/coaching-connection.webp');
  --panel-position: center 64%;
}
.freedom-panel {
  --panel-fill: #e4dbe7;
  --panel-image: url('./generated/coaching-freedom.webp');
  --panel-position: center 59%;
}
.freedom-panel .line-icon { color: var(--purple); }
.world-panel {
  --panel-fill: #e2e8d1;
  --panel-image: url('./generated/coaching-world.webp');
  --panel-position: center 68%;
}

.page-energy .site-header { --focus: var(--paper-light); background: #292820; color: var(--paper-light); }
.page-energy .site-header .brand-mark { color: #ddccb0; }
.page-energy .menu-toggle { border-color: #bcb39f; }
.energy-hero {
  --focus: var(--paper-light);
  position: relative;
  display: grid;
  align-items: center;
  min-height: clamp(470px, 44vw, 660px);
  isolation: isolate;
  overflow: hidden;
  background: #29251a;
  color: var(--paper-light);
}
.energy-hero > picture, .energy-hero-image, .energy-contours { position: absolute; inset: 0; width: 100%; height: 100%; }
.energy-hero > picture { z-index: -2; }
.energy-hero-image { object-fit: cover; object-position: center 54%; }
.energy-contours { z-index: -1; pointer-events: none; }
.energy-contours path {
  fill: none;
  stroke: #f0d8b8;
  stroke-width: .9px;
  stroke-opacity: .43;
  vector-effect: non-scaling-stroke;
}
.energy-hero-copy { padding: 58px 0 clamp(110px, 10vw, 154px) clamp(0px, 2.6vw, 45px); }
.energy-hero-copy h1 { max-width: 11ch; }
.energy-hero-copy .lead { max-width: min(39ch, 43vw); }
.energy-hero-copy .actions { max-width: 49vw; }
.energy-practices { padding-top: clamp(38px, 4vw, 63px); }
.practice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.practice-tile { overflow: hidden; border-radius: var(--panel-radius); background: #eee2cc; }
.breathwork-tile { background: #e4e7d9; }
.practice-tile img { width: 100%; height: clamp(160px, 20vw, 260px); object-fit: cover; }
.practice-tile > div { padding: clamp(22px, 3.1vw, 43px); }
.practice-tile .line-icon { margin-bottom: 10px; color: #4e5d39; }
.practice-tile p { max-width: 43ch; }
.modality-note { margin-top: 23px; color: var(--muted); }
.energy-options-section { background: #e9dec9; }

.editorial-feature {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .94fr);
  align-items: center;
  gap: clamp(24px, 5.7vw, 89px);
}
.editorial-feature > img {
  width: 100%;
  height: clamp(265px, 27vw, 392px);
  border-radius: var(--panel-radius);
  object-fit: cover;
}
.editorial-feature p { max-width: 51ch; }
.about-story { background: var(--paper-light); }

.session-single-section { padding-block: clamp(31px, 4vw, 57px); background: var(--paper-light); }
.single-session {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 13px clamp(19px, 4vw, 57px);
}
.single-session h2 { font-size: clamp(29px, 2.7vw, 40px); margin-bottom: 9px; }
.single-price { margin: 0; font-size: 14px; }
.single-price strong { font: 400 39px/1.08 var(--display); letter-spacing: -.038em; }
.single-price span { display: block; margin-top: 5px; }
.packages-section { background: #efe4d3; scroll-margin-top: 20px; }
.packages-section .package-card > img { aspect-ratio: 1.95; }

.contact-section { background: #eee4d2; }
.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, .91fr) minmax(0, 1.09fr);
  align-items: start;
  gap: clamp(25px, 5.6vw, 86px);
}
.contact-context h1 { max-width: 10ch; }
.contact-context > p { max-width: 40ch; }
.contact-image {
  width: 100%;
  height: clamp(180px, 21vw, 305px);
  object-fit: cover;
  border-radius: var(--panel-radius);
  margin-block: 26px 18px;
}
.contact-form-wrap { padding: clamp(22px, 4vw, 56px); border-radius: var(--panel-radius); background: var(--paper-light); }
.contact-form-wrap h2 { font-size: clamp(29px, 3vw, 42px); }
#form-purpose { font-size: 15px; color: var(--muted); margin-bottom: 25px; }
fieldset { margin: 0; border: 0; padding: 0; min-width: 0; }
.form-row { margin-bottom: 18px; }
label { display: block; font-size: 16px; font-weight: 700; margin-bottom: 6px; }
label span, .interest-options legend span { font-weight: 400; font-size: 14px; }
input, textarea, select {
  display: block;
  width: 100%;
  min-height: 48px;
  padding: 11px 14px;
  border: 1px solid #7b826e;
  border-radius: 12px;
  color: var(--ink);
  background: #fffdf7;
  font-size: 16px;
}
textarea { resize: vertical; }
input:user-invalid, textarea:user-invalid { border-color: #9c3434; }
.interest-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3px 12px;
  margin-bottom: 18px;
}
.interest-options legend { font-size: 16px; font-weight: 700; margin-bottom: 5px; }
.interest-options label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-size: 15px;
  font-weight: 400;
  margin: 0;
}
.interest-options input { flex: none; width: 19px; height: 19px; min-height: 19px; padding: 0; accent-color: var(--forest); }
.package-interest { padding: 9px 14px; border-radius: 12px; background: #e8ead8; font-size: 15px; }
.inquiry-preview { margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--line); }
.inquiry-preview pre { font: 400 16px/1.6 var(--body); white-space: pre-wrap; overflow-wrap: anywhere; }
.inquiry-preview p { font-size: 15px; }

.faq-layout, .policy-layout {
  display: grid;
  grid-template-columns: minmax(0, .64fr) minmax(0, 1.36fr);
  align-items: start;
  gap: clamp(24px, 6vw, 90px);
}
.faq-intro .text-link, .policy-nav .text-link { display: flex; width: fit-content; }
.faq-secondary { background: #ece5d5; }
.faq-list { display: grid; gap: 8px; }
details { background: var(--paper-light); border-radius: 14px; }
summary {
  position: relative;
  min-height: 53px;
  padding: 15px 45px 15px 18px;
  border-radius: 14px;
  font-size: 17px;
  font-weight: 700;
  list-style: none;
}
summary::-webkit-details-marker { display: none; }
summary::after { position: absolute; right: 17px; top: 10px; content: '+'; font-size: 24px; font-weight: 400; }
details[open] summary::after { content: '−'; }
details > div { padding: 0 25px 19px 18px; }
.policy-copy { display: grid; gap: 20px; }
.policy-copy article {
  padding: clamp(21px, 3.5vw, 44px);
  scroll-margin-top: 22px;
  border-radius: var(--panel-radius);
  background: var(--paper-light);
}
.policy-copy h2 { font-size: clamp(28px, 2.8vw, 40px); }
.policy-copy p { max-width: 59ch; }

@media (max-width: 980px) {
  .life-area-grid { grid-template-columns: 1fr; }
}
@media (max-width: 890px) {
  .interest-options { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .split-opening-inner, .approach-overview-inner,
  .editorial-feature, .contact-layout, .faq-layout, .policy-layout { grid-template-columns: 1fr; }
  .opening-copy { padding-block: 7px 0; }
  .opening-copy h1, .contact-context h1 { max-width: 17ch; }
  .split-opening .opening-image { height: clamp(205px, 57vw, 345px); }
  .short-opening .opening-image { height: clamp(165px, 43vw, 250px); }
  .approach-overview-inner { gap: 24px; }
  .opening-panel, .detail-panel, .life-area-panel {
    --scene-height: clamp(114px, 29vw, 170px);
    --panel-fade: linear-gradient(180deg,
      color-mix(in srgb, var(--panel-fill) 94%, transparent),
      color-mix(in srgb, var(--panel-fill) 82%, transparent) calc(100% - var(--scene-height)),
      color-mix(in srgb, var(--panel-fill) 28%, transparent) calc(100% - var(--scene-height) / 2),
      transparent);
    min-height: 0;
    padding: clamp(23px, 5.9vw, 39px);
    padding-bottom: calc(var(--scene-height) + 16px);
  }
  .opening-panel .opening-copy, .detail-copy, .life-area-copy { max-width: 100%; }
  .approach-opening .opening-panel, .coaching-opening .opening-panel,
  .connection-panel, .freedom-panel, .world-panel, .life-area-panel {
    --panel-position: 77% center;
  }
  .life-area-panel#relationships {
    --panel-position: 81% top;
    background-size: cover, auto 126%;
  }
  .energy-hero { min-height: max(515px, 92vw); align-items: start; }
  .energy-hero-image { object-position: center bottom; }
  .energy-hero-copy { padding: 47px 0 clamp(185px, 53vw, 285px); }
  .energy-hero-copy h1 { max-width: 12ch; }
  .energy-hero-copy .lead { max-width: 35ch; }
  .energy-hero-copy .actions { max-width: none; }
  .energy-contours { height: 42%; top: auto; }
  .editorial-feature > img { height: clamp(220px, 57vw, 340px); }
  .contact-layout { gap: 32px; }
  .interest-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .faq-layout { gap: 13px; }
  .faq-intro h2 { margin-bottom: 8px; }
  .faq-intro .text-link, .policy-nav .text-link { display: inline-flex; margin-right: 12px; }
}
@media (max-width: 540px) {
  .practice-grid { grid-template-columns: 1fr; }
  .single-session { grid-template-columns: 1fr; }
  .single-session .button { justify-self: start; margin-top: 5px; }
  .packages-section .package-card > img { aspect-ratio: 1.75; }
  .detail-copy .line-icon, .practice-tile .line-icon { width: 32px; height: 32px; }
}
@media (max-width: 410px) {
  .contact-form-wrap { padding-inline: 19px; }
  .interest-options { grid-template-columns: 1fr; }
  .energy-hero-copy .button { padding-inline: 15px; font-size: 14px; }
}
