/* Shared spacing keeps related content close and section boundaries balanced. */
.habit66-page {
  --lp-section-space:clamp(72px,7vw,104px);
  --lp-card-space:36px;
  --lp-column-gap:clamp(48px,6vw,88px);
  letter-spacing:.035em;
}
.habit66-page .wrap {
  --max-width:1440px;
}
.lp-hero {
  padding-top:44px;
  padding-bottom:72px;
}
.lp-topline {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.lp-topline>.eyebrow:last-child {
  color:var(--muted);
  font-size:11px;
}
.lp-hero h1 {
  font-size:clamp(38px,5.45vw,78px);
  font-weight:500;
  line-height:1.6;
  letter-spacing:.01em;
  margin-top:40px;
}
.lp-hero h1 .hero-line>span {
  display:inline-block;
}
.lp-hero-bottom {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  margin-top:44px;
}
.lp-hero-copy>p,.lp-copy {
  font-size:1rem;
  line-height:2.2;
  letter-spacing:.055em;
}
.lp-mobile-break {
  display:none;
}
.lp-brand {
  flex-shrink:0;
}
.lp-brand-name {
  display:block;
  font-size:16px;
  letter-spacing:.045em;
  margin-bottom:6px;
}
.lp-wordmark {
  display:block;
  font-size:clamp(38px,4vw,54px);
  font-weight:500;
  line-height:1.15;
  transform:scaleY(.9);
  transform-origin:left center;
}
.lp-facts {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:48px 0 0;
  padding:30px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.lp-facts>div {
  display:flex;
  gap:24px;
  align-items:baseline;
}
.lp-facts>div+div {
  border-left:1px solid var(--line);
  padding-left:32px;
}
.lp-facts dt {
  font-size:12px;
  color:var(--muted);
  flex-shrink:0;
}
.lp-facts dd {
  margin:0;
  font-size:14px;
  line-height:1.8;
  letter-spacing:.04em;
}
.lp-section {
  position:relative;
  padding-block:var(--lp-section-space);
}
.lp-section::before {
  content:"";
  position:absolute;
  top:0;
  left:var(--gutter);
  right:var(--gutter);
  border-top:1px solid var(--line);
}
.lp-split,.lp-section-intro,.lp-price-detail {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--lp-column-gap);
  margin-top:40px;
}
.lp-heading {
  font-size:clamp(27px,3.05vw,42px);
  font-weight:500;
  line-height:1.7;
  letter-spacing:.025em;
}
.lp-copy {
  max-width:590px;
  color:#444;
}
.lp-copy p+p {
  margin-top:24px;
}
.lp-copy h3 {
  font-size:20px;
  font-weight:500;
  color:var(--ink);
  margin-bottom:20px;
  letter-spacing:.03em;
}
.lp-section-intro>.lp-copy {
  align-self:end;
}
.lp-approach {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--lp-column-gap);
  margin-top:48px;
  padding-top:36px;
  border-top:1px solid var(--line);
}
.lp-approach .eyebrow {
  color:var(--muted);
  font-size:11px;
}
.lp-approach h3 {
  font-size:22px;
  font-weight:500;
  line-height:1.7;
  margin-top:16px;
  letter-spacing:.03em;
}
.lp-approach article>p:last-child {
  font-size:14px;
  line-height:2.1;
  letter-spacing:.05em;
  color:#444;
  margin-top:16px;
  max-width:540px;
}
.lp-research {
  margin-top:20px;
  font-size:12px;
  color:var(--muted);
  line-height:2;
  letter-spacing:.035em;
}
.lp-research summary {
  cursor:pointer;
  padding:4px 0;
  width:fit-content;
}
.lp-research summary:focus-visible {
  outline:2px solid var(--ink);
  outline-offset:4px;
}
.lp-research>div {
  max-width:860px;
  margin-top:8px;
}
.lp-research ul {
  padding-left:20px;
}
.lp-research li+li {
  margin-top:8px;
}
.lp-research a {
  text-decoration:underline;
  text-underline-offset:3px;
}
.lp-program-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 var(--lp-column-gap);
  margin-top:40px;
}
.lp-practice-card {
  border-top:1px solid var(--line);
  padding-top:var(--lp-card-space);
  padding-bottom:calc(var(--lp-card-space) - 8px);
}
/* The foundational routine introduces the four practice areas. */
.lp-practice-card:first-child {
  grid-column:1 / -1;
}
@media (min-width:761px) {
  .lp-practice-card:first-child .lp-practice-content {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:var(--lp-column-gap);
  }
  .lp-practice-card:first-child .lp-practice-body>p {
    margin-top:0;
  }
}
.lp-practice-heading {
  display:flex;
  align-items:center;
  gap:18px;
}
.lp-practice-icon {
  display:block;
  flex:0 0 64px;
  width:64px;
  height:64px;
  color:var(--ink);
}
.lp-practice-action {
  font-size:13px;
  line-height:1.6;
  letter-spacing:.055em;
  color:var(--muted);
  margin-top:8px;
}
.lp-practice-card h3 {
  font-size:clamp(20px,1.7vw,22px);
  font-weight:500;
  line-height:1.7;
  margin-top:0;
  text-wrap:balance;
  letter-spacing:.025em;
}
.lp-practice-body>p {
  max-width:540px;
  font-size:15px;
  line-height:2.1;
  letter-spacing:.05em;
  color:#444;
  margin-top:18px;
}
.lp-commitment {
  display:grid;
  grid-template-columns:1fr 1.6fr;
  gap:var(--lp-column-gap);
  border-top:1px solid var(--line);
  padding-top:var(--lp-card-space);
  margin-top:0;
}
.lp-commitment h3 {
  font-size:22px;
  font-weight:500;
  line-height:1.7;
  letter-spacing:.025em;
}
.lp-commitment p {
  font-size:14px;
  line-height:2.1;
  letter-spacing:.05em;
  color:#444;
}
.lp-note {
  font-size:12px;
  line-height:2;
  letter-spacing:.035em;
  color:var(--muted);
  margin-top:32px;
}
.lp-heading-description {
  margin-top:28px;
}
.lp-support-item .eyebrow {
  font-size:11px;
  color:var(--muted);
}
.lp-support-item h3 {
  font-weight:500;
  font-size:23px;
  line-height:1.65;
  margin-top:16px;
  letter-spacing:.025em;
}
.lp-support-item>p:last-child {
  font-size:1rem;
  line-height:2.2;
  letter-spacing:.055em;
  color:#444;
  margin-top:18px;
}
.lp-support-item+.lp-support-item {
  border-top:1px solid var(--line);
  margin-top:40px;
  padding-top:40px;
}
.lp-origin .lp-copy .text-link {
  margin-top:16px;
  color:var(--ink);
}
.lp-price-overview {
  display:grid;
  grid-template-columns:1fr 1fr;
  margin-top:44px;
  background:#f5f5f3;
  padding:44px 48px;
  gap:48px;
}
.lp-price-overview>div+div {
  border-left:1px solid #d0d0cd;
  padding-left:48px;
}
.lp-price-label {
  font-size:14px;
  line-height:1.8;
  letter-spacing:.04em;
}
.lp-price-number {
  display:flex;
  align-items:baseline;
  gap:12px;
  font-size:64px;
  line-height:1.3;
  letter-spacing:-.035em;
  margin-top:16px;
}
.lp-price-number>span {
  font-size:22px;
  letter-spacing:0;
}
.lp-price-number>small {
  font-size:14px;
  letter-spacing:0;
  margin-right:4px;
}
.lp-price-overview>div>p:last-child {
  font-size:13px;
  color:#555;
  margin-top:18px;
  line-height:2;
  letter-spacing:.035em;
}
.lp-price-detail {
  margin-top:44px;
}
.lp-price-table {
  width:100%;
  border-collapse:collapse;
  font-size:14px;
  line-height:1.8;
  letter-spacing:.025em;
  font-variant-numeric:tabular-nums;
}
.lp-price-table caption {
  text-align:left;
  font-size:12px;
  color:var(--muted);
  margin-bottom:12px;
}
.lp-price-table th,.lp-price-table td {
  padding:18px 0;
  border-bottom:1px solid var(--line);
  text-align:right;
  font-weight:400;
}
.lp-price-table th:first-child {
  text-align:left;
}
.lp-price-table thead th {
  padding-top:0;
  font-size:12px;
  color:var(--muted);
}
.lp-faq {
  border-bottom:1px solid var(--line);
}
.lp-faq:first-child {
  border-top:1px solid var(--line);
}
.lp-faq summary {
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:20px 1fr 16px;
  gap:16px;
  align-items:baseline;
  padding:28px 0;
  font-size:15px;
  line-height:1.8;
  letter-spacing:.04em;
}
.lp-faq summary::-webkit-details-marker {
  display:none;
}
.lp-faq summary:focus-visible {
  outline:2px solid var(--ink);
  outline-offset:5px;
}
.lp-question-number {
  color:var(--muted);
  font-size:11px;
}
.lp-faq-icon {
  position:relative;
  width:12px;
  height:12px;
  align-self:center;
}
.lp-faq-icon::before,.lp-faq-icon::after {
  content:"";
  position:absolute;
  top:5px;
  left:0;
  width:12px;
  height:1px;
  background:currentColor;
}
.lp-faq-icon::after {
  transform:rotate(90deg);
}
.lp-faq[open] .lp-faq-icon::after {
  transform:none;
}
.lp-faq>p {
  font-size:14px;
  line-height:2.1;
  letter-spacing:.05em;
  color:#444;
  padding:0 32px 30px 36px;
}
.lp-contact {
  padding-bottom:var(--lp-section-space);
}
.lp-contact-link {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
  background:var(--ink);
  color:#fff;
  padding:24px 28px;
  margin-top:36px;
  letter-spacing:.045em;
  transition:background .3s;
}
.lp-contact-link:hover {
  background:#333;
}
.lp-contact-status {
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:14px;
}
@media(max-width:1000px) {
  .habit66-page {
    --lp-column-gap:32px;
  }
  .lp-split,.lp-section-intro,.lp-price-detail,.lp-approach,.lp-commitment {
    gap:var(--lp-column-gap);
  }
  .lp-facts>div {
    display:block;
  }
  .lp-facts dd {
    margin-top:6px;
  }
  .lp-program-grid {
    column-gap:var(--lp-column-gap);
  }
}
@media(max-width:760px) {
  .habit66-page {
    --lp-section-space:56px;
    --lp-card-space:28px;
    --lp-column-gap:28px;
  }
  .lp-hero {
    padding-top:28px;
    padding-bottom:56px;
  }
  .lp-topline>.eyebrow:last-child {
    display:none;
  }
  .lp-topline>.eyebrow {
    font-size:10px;
  }
  .lp-hero h1 {
    font-size:clamp(29px,6.8vw,48px);
    margin-top:32px;
    line-height:1.7;
    letter-spacing:.015em;
  }
  .lp-hero-bottom {
    flex-direction:column;
    align-items:flex-start;
    gap:28px;
    margin-top:32px;
  }
  .lp-hero-copy>p {
    font-size:14px;
  }
  .lp-mobile-break {
    display:block;
  }
  .lp-brand-name {
    font-size:13px;
    margin-bottom:4px;
  }
  .lp-wordmark {
    font-size:38px;
  }
  .lp-facts {
    margin-top:36px;
    padding:24px 0;
    grid-template-columns:.7fr 1fr 1.3fr;
  }
  .lp-facts>div+div {
    padding-left:12px;
  }
  .lp-facts>div:not(:last-child) {
    padding-right:10px;
  }
  .lp-facts dt {
    font-size:10px;
  }
  .lp-facts dd {
    font-size:12px;
    line-height:1.8;
  }
  .lp-section {
    padding-block:var(--lp-section-space);
  }
  .lp-split,.lp-section-intro,.lp-price-detail,.lp-approach,.lp-commitment {
    grid-template-columns:minmax(0,1fr);
    gap:24px;
    margin-top:28px;
  }
  .lp-commitment {
    margin-top:0;
  }
  .lp-approach {
    padding-top:28px;
  }
  .lp-heading {
    font-size:clamp(26px,6.6vw,34px);
    line-height:1.75;
  }
  .lp-copy {
    font-size:15px;
    line-height:2.15;
  }
  .lp-heading-description {
    margin-top:22px;
  }
  .lp-program-grid {
    grid-template-columns:minmax(0,1fr);
    margin-top:32px;
    row-gap:0;
  }
  .lp-practice-card {
    padding-top:var(--lp-card-space);
  padding-bottom:calc(var(--lp-card-space) - 8px);
  }
  .lp-practice-heading {
    gap:14px;
  }
  .lp-practice-icon {
    flex-basis:48px;
    width:48px;
    height:48px;
  }
  .lp-practice-card h3 {
    font-size:19px;
    margin-top:0;
  }
  .lp-practice-action {
    font-size:12px;
  }
  .lp-practice-body>p {
    font-size:14px;
    margin-top:16px;
  }
  .lp-note {
    font-size:11px;
    margin-top:24px;
  }
  .lp-support-item h3 {
    font-size:22px;
  }
  .lp-support-item+.lp-support-item {
    margin-top:32px;
    padding-top:32px;
  }
  .lp-support-item>p:last-child {
    font-size:15px;
  }
  .lp-price-overview {
    margin-top:36px;
    padding:28px 22px;
    gap:20px;
  }
  .lp-price-overview>div+div {
    padding-left:20px;
  }
  .lp-price-label {
    font-size:12px;
  }
  .lp-price-number {
    font-size:48px;
    flex-wrap:wrap;
    gap:6px;
    margin-top:12px;
  }
  .lp-price-number>small {
    font-size:11px;
    width:100%;
    margin:0;
  }
  .lp-price-overview>div:first-child .lp-price-number::before {
    content:"";
    width:100%;
    height:14.3px;
  }
  .lp-price-number>span {
    font-size:16px;
  }
  .lp-price-overview>div>p:last-child {
    font-size:11px;
  }
  .lp-price-table {
    table-layout:fixed;
    font-size:13px;
  }
  .lp-price-table th,.lp-price-table td {
    text-align:left;
    padding:10px 0;
  }
  .lp-price-table th:first-child,.lp-price-table th:nth-child(2) {
    width:33.333%;
  }
  .lp-price-table th:nth-child(2),.lp-price-table td:nth-child(2) {
    text-align:center;
  }
  .lp-price-table th:last-child,.lp-price-table td:last-child {
    text-align:right;
  }
  .lp-price-table thead th {
    padding-top:0;
    padding-bottom:8px;
    font-size:11px;
  }
  .lp-price-table caption {
    font-size:11px;
    margin-bottom:10px;
  }
  .lp-price-table+.lp-note {
    margin-top:16px;
  }
  .lp-faq summary {
    grid-template-columns:18px 1fr 12px;
    gap:12px;
    font-size:14px;
    padding:24px 0;
  }
  .lp-faq>p {
    padding-left:30px;
    padding-right:12px;
  }
}
@media(max-width:370px) {
  .lp-wordmark {
    font-size:34px;
  }
  .lp-price-overview {
    padding:20px 14px;
    gap:14px;
  }
  .lp-price-overview>div+div {
    padding-left:14px;
  }
  .lp-price-number {
    font-size:40px;
  }
}

.lp-source-link {
  display:inline-block;
  margin-top:12px;
  font-size:12px;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* One-time scroll entrances preserve the quiet editorial rhythm. */
@media (prefers-reduced-motion:no-preference) {
  .habit66-page .lp-reveal.will-reveal {
    transition:opacity .8s var(--ease),transform 1s var(--ease);
    transition-delay:var(--reveal-delay,0ms);
  }
  .habit66-page .lp-reveal.will-reveal:not(.revealed) {
    transform:translateY(34px);
  }
  .habit66-page .lp-reveal.will-reveal:is(.section-label,.lp-topline):not(.revealed) {
    transform:translateY(12px);
  }
  .habit66-page .lp-hero h1.lp-reveal.will-reveal:not(.revealed) {
    transform:translateY(28px);
  }
  .lp-motion .lp-section::before {
    transform:scaleX(0);
    transform-origin:left;
    transition:transform 1.1s var(--ease);
  }
  .lp-motion .lp-section.lp-entered::before {
    transform:scaleX(1);
  }
  .lp-practice-card.revealed .lp-practice-icon {
    animation:lp-icon-enter .95s var(--ease) var(--reveal-delay,0ms) both;
  }
  .lp-faq[open]>p {
    animation:lp-answer-enter .35s var(--ease) both;
  }
  .lp-practice-heading {
    transition:transform .35s var(--ease);
  }
  @media (hover:hover) and (pointer:fine) {
    .lp-practice-card:hover .lp-practice-heading {
      transform:translateY(-3px);
    }
  }
}
@keyframes lp-icon-enter {
  from { opacity:.25; transform:translateY(5px) scale(.96); }
  to { opacity:1; transform:none; }
}
@keyframes lp-answer-enter {
  from { opacity:0; transform:translateY(-4px); }
  to { opacity:1; transform:none; }
}
@media print {
  .habit66-page .will-reveal {
    opacity:1!important;
    transform:none!important;
  }
  .lp-motion .lp-section::before {
    transform:none!important;
  }
}

.lp-practice-sources {
  display:grid;
  gap:6px;
  margin-top:14px;
}
.lp-practice-sources .lp-source-link {
  width:fit-content;
  max-width:100%;
  margin-top:0;
  overflow-wrap:anywhere;
  line-height:1.8;
}

.lp-practice-references {
  margin-top:8px;
  color:var(--muted);
  font-size:12px;
  line-height:1.9;
}
.lp-practice-references summary {
  width:fit-content;
  padding:4px 0;
  cursor:pointer;
}
.lp-practice-references summary:focus-visible {
  outline:2px solid var(--ink);
  outline-offset:4px;
}
.lp-practice-references .lp-practice-sources {
  margin-top:8px;
}
